{"version":3,"sources":["node_modules/@angular/material/fesm2022/sidenav.mjs","src/app/modules/layout/components/app-notifications/app-notifications.component.ts","src/app/modules/layout/components/app-notifications/app-notifications.component.html","src/app/modules/layout/components/scroll-top-btn/scroll-top-btn.component.ts","src/app/modules/layout/components/scroll-top-btn/scroll-top-btn.component.html","src/app/shared/pipes/safe.pipe.ts","src/app/modules/layout/components/chat-alert/chat-alert.component.ts","src/app/modules/layout/components/chat-alert/chat-alert.component.html","src/app/services/mail/mail.service.ts","src/app/modules/layout/components/opinion-form/opinion-form.component.ts","src/app/modules/layout/components/opinion-form/opinion-form.component.html","src/app/modules/layout/components/chat-popup/chat-popup.component.ts","src/app/modules/layout/components/chat-popup/chat-popup.component.html","src/app/modules/layout/components/menu/fixed-mobile-menu/fixed-mobile-menu.component.ts","src/app/modules/layout/components/menu/fixed-mobile-menu/fixed-mobile-menu.component.html","src/app/models/const/footer-menu.ts","node_modules/@angular/cdk/fesm2022/tree.mjs","node_modules/@angular/material/fesm2022/tree.mjs","node_modules/@angular/material/fesm2022/list.mjs","src/app/modules/layout/components/menu/mobile-menu/mobile-menu.component.ts","src/app/modules/layout/components/menu/mobile-menu/mobile-menu.component.html","src/app/modules/layout/components/menu/menu.component.ts","src/app/modules/layout/components/menu/menu.component.html","node_modules/@angular/material/fesm2022/toolbar.mjs","src/app/modules/layout/components/header-news/header-news.component.ts","src/app/modules/layout/components/header-news/header-news.component.html","src/app/modules/layout/components/header/header.component.ts","src/app/modules/layout/components/header/header.component.html","src/app/modules/layout/components/sidebar/sidebar.component.ts","src/app/modules/layout/components/sidebar/sidebar.component.html","src/app/modules/layout/components/footer/footer.component.ts","src/app/modules/layout/components/footer/footer.component.html","src/app/modules/layout/components/global-loader/global-loader.component.ts","src/app/modules/layout/components/global-loader/global-loader.component.html","src/app/modules/layout/components/layout/layout.component.ts","src/app/modules/layout/components/layout/layout.component.html","src/app/modules/error-page/components/not-authenticated-page/not-authenticated-page.component.ts","src/app/modules/error-page/components/not-authenticated-page/not-authenticated-page.component.html","src/app/modules/error-page/components/auth-expired-page/auth-expired-page.component.ts","src/app/modules/error-page/components/auth-expired-page/auth-expired-page.component.html","src/app/modules/error-page/components/page-not-found/page-not-found.component.ts","src/app/modules/error-page/components/page-not-found/page-not-found.component.html","src/app/modules/error-page/components/access-denied-page/access-denied-page.component.ts","src/app/modules/error-page/components/access-denied-page/access-denied-page.component.html","src/app/shared/guards/user-functions.guard.ts","src/app/modules/error-page/components/initial-auth-page/initial-auth-page.component.ts","src/app/modules/error-page/components/initial-auth-page/initial-auth-page.component.html","src/app/shared/guards/initial-auth.guard.ts","src/app/modules/layout/layout-routing.module.ts","src/app/modules/layout/layout.module.ts"],"sourcesContent":["import * as i1 from '@angular/cdk/scrolling';\nimport { CdkScrollable, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, EventEmitter, Optional, Input, Output, ViewChild, QueryList, ANIMATION_MODULE_TYPE, ContentChildren, ContentChild, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport * as i2 from '@angular/cdk/a11y';\nimport * as i4 from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport * as i3 from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport { Subject, fromEvent, merge } from 'rxjs';\nimport { filter, map, mapTo, takeUntil, distinctUntilChanged, take, startWith, debounceTime } from 'rxjs/operators';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\n\n/**\n * Animations used by the Material drawers.\n * @docs-private\n */\nconst _c0 = [\"*\"];\nconst _c1 = [\"content\"];\nfunction MatDrawerContainer_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function MatDrawerContainer_Conditional_0_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r3);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2._onBackdropClicked());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"mat-drawer-shown\", ctx_r0._isShowingBackdrop());\n }\n}\nfunction MatDrawerContainer_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-drawer-content\");\n i0.ɵɵprojection(1, 2);\n i0.ɵɵelementEnd();\n }\n}\nconst _c2 = [[[\"mat-drawer\"]], [[\"mat-drawer-content\"]], \"*\"];\nconst _c3 = [\"mat-drawer\", \"mat-drawer-content\", \"*\"];\nfunction MatSidenavContainer_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function MatSidenavContainer_Conditional_0_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r3);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2._onBackdropClicked());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"mat-drawer-shown\", ctx_r0._isShowingBackdrop());\n }\n}\nfunction MatSidenavContainer_Conditional_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-sidenav-content\");\n i0.ɵɵprojection(1, 2);\n i0.ɵɵelementEnd();\n }\n}\nconst _c4 = [[[\"mat-sidenav\"]], [[\"mat-sidenav-content\"]], \"*\"];\nconst _c5 = [\"mat-sidenav\", \"mat-sidenav-content\", \"*\"];\nconst _c6 = \".mat-drawer-container{position:relative;z-index:1;color:var(--mat-sidenav-content-text-color);background-color:var(--mat-sidenav-content-background-color);box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible;background-color:var(--mat-sidenav-scrim-color)}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);position:relative;z-index:4;color:var(--mat-sidenav-container-text-color);background-color:var(--mat-sidenav-container-background-color);border-top-right-radius:var(--mat-sidenav-container-shape);border-bottom-right-radius:var(--mat-sidenav-container-shape);display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0);border-top-left-radius:var(--mat-sidenav-container-shape);border-bottom-left-radius:var(--mat-sidenav-container-shape);border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .mat-drawer{border-top-left-radius:var(--mat-sidenav-container-shape);border-bottom-left-radius:var(--mat-sidenav-container-shape);border-top-right-radius:0;border-bottom-right-radius:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{border-top-right-radius:var(--mat-sidenav-container-shape);border-bottom-right-radius:var(--mat-sidenav-container-shape);border-top-left-radius:0;border-bottom-left-radius:0;left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*=\\\"visibility: hidden\\\"]{display:none}.mat-drawer-side{box-shadow:none;border-right-color:var(--mat-sidenav-container-divider-color);border-right-width:1px;border-right-style:solid}.mat-drawer-side.mat-drawer-end{border-left-color:var(--mat-sidenav-container-divider-color);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side{border-left-color:var(--mat-sidenav-container-divider-color);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-right-color:var(--mat-sidenav-container-divider-color);border-right-width:1px;border-right-style:solid;border-left:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\";\nconst matDrawerAnimations = {\n /** Animation that slides a drawer in and out. */\n transformDrawer: /*#__PURE__*/trigger('transform', [\n /*#__PURE__*/\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. Having a transform can cause elements with ripples or an animated\n // transform to shift around in Chrome with an RTL layout (see #10023).\n // 2. 3d transforms causes text to appear blurry on IE and Edge.\n state('open, open-instant', /*#__PURE__*/style({\n 'transform': 'none',\n 'visibility': 'visible'\n })), /*#__PURE__*/state('void', /*#__PURE__*/style({\n // Avoids the shadow showing up when closed in SSR.\n 'box-shadow': 'none',\n 'visibility': 'hidden'\n })), /*#__PURE__*/transition('void => open-instant', /*#__PURE__*/animate('0ms')), /*#__PURE__*/transition('void <=> open, open-instant => void', /*#__PURE__*/animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)'))])\n};\n\n/**\n * Throws an exception when two MatDrawer are matching the same position.\n * @docs-private\n */\nfunction throwMatDuplicatedDrawerError(position) {\n throw Error(`A drawer was already declared for 'position=\"${position}\"'`);\n}\n/** Configures whether drawers should use auto sizing by default. */\nconst MAT_DRAWER_DEFAULT_AUTOSIZE = /*#__PURE__*/new InjectionToken('MAT_DRAWER_DEFAULT_AUTOSIZE', {\n providedIn: 'root',\n factory: MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY\n});\n/**\n * Used to provide a drawer container to a drawer while avoiding circular references.\n * @docs-private\n */\nconst MAT_DRAWER_CONTAINER = /*#__PURE__*/new InjectionToken('MAT_DRAWER_CONTAINER');\n/** @docs-private */\nfunction MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY() {\n return false;\n}\nlet MatDrawerContent = /*#__PURE__*/(() => {\n class MatDrawerContent extends CdkScrollable {\n constructor(_changeDetectorRef, _container, elementRef, scrollDispatcher, ngZone) {\n super(elementRef, scrollDispatcher, ngZone);\n this._changeDetectorRef = _changeDetectorRef;\n this._container = _container;\n }\n ngAfterContentInit() {\n this._container._contentMarginChanges.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n static {\n this.ɵfac = function MatDrawerContent_Factory(t) {\n return new (t || MatDrawerContent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(forwardRef(() => MatDrawerContainer)), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.ScrollDispatcher), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatDrawerContent,\n selectors: [[\"mat-drawer-content\"]],\n hostAttrs: [1, \"mat-drawer-content\"],\n hostVars: 4,\n hostBindings: function MatDrawerContent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵstyleProp(\"margin-left\", ctx._container._contentMargins.left, \"px\")(\"margin-right\", ctx._container._contentMargins.right, \"px\");\n }\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkScrollable,\n useExisting: MatDrawerContent\n }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function MatDrawerContent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return MatDrawerContent;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * This component corresponds to a drawer that can be opened on the drawer container.\n */\nlet MatDrawer = /*#__PURE__*/(() => {\n class MatDrawer {\n /** The side that the drawer is attached to. */\n get position() {\n return this._position;\n }\n set position(value) {\n // Make sure we have a valid value.\n value = value === 'end' ? 'end' : 'start';\n if (value !== this._position) {\n // Static inputs in Ivy are set before the element is in the DOM.\n if (this._isAttached) {\n this._updatePositionInParent(value);\n }\n this._position = value;\n this.onPositionChanged.emit();\n }\n }\n /** Mode of the drawer; one of 'over', 'push' or 'side'. */\n get mode() {\n return this._mode;\n }\n set mode(value) {\n this._mode = value;\n this._updateFocusTrapState();\n this._modeChanged.next();\n }\n /** Whether the drawer can be closed with the escape key or by clicking on the backdrop. */\n get disableClose() {\n return this._disableClose;\n }\n set disableClose(value) {\n this._disableClose = coerceBooleanProperty(value);\n }\n /**\n * Whether the drawer should focus the first focusable element automatically when opened.\n * Defaults to false in when `mode` is set to `side`, otherwise defaults to `true`. If explicitly\n * enabled, focus will be moved into the sidenav in `side` mode as well.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or AutoFocusTarget\n * instead.\n */\n get autoFocus() {\n const value = this._autoFocus;\n // Note that usually we don't allow autoFocus to be set to `first-tabbable` in `side` mode,\n // because we don't know how the sidenav is being used, but in some cases it still makes\n // sense to do it. The consumer can explicitly set `autoFocus`.\n if (value == null) {\n if (this.mode === 'side') {\n return 'dialog';\n } else {\n return 'first-tabbable';\n }\n }\n return value;\n }\n set autoFocus(value) {\n if (value === 'true' || value === 'false' || value == null) {\n value = coerceBooleanProperty(value);\n }\n this._autoFocus = value;\n }\n /**\n * Whether the drawer is opened. We overload this because we trigger an event when it\n * starts or end.\n */\n get opened() {\n return this._opened;\n }\n set opened(value) {\n this.toggle(coerceBooleanProperty(value));\n }\n constructor(_elementRef, _focusTrapFactory, _focusMonitor, _platform, _ngZone, _interactivityChecker, _doc, _container) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n this._focusMonitor = _focusMonitor;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._interactivityChecker = _interactivityChecker;\n this._doc = _doc;\n this._container = _container;\n this._focusTrap = null;\n this._elementFocusedBeforeDrawerWasOpened = null;\n /** Whether the drawer is initialized. Used for disabling the initial animation. */\n this._enableAnimations = false;\n this._position = 'start';\n this._mode = 'over';\n this._disableClose = false;\n this._opened = false;\n /** Emits whenever the drawer has started animating. */\n this._animationStarted = new Subject();\n /** Emits whenever the drawer is done animating. */\n this._animationEnd = new Subject();\n /** Current state of the sidenav animation. */\n this._animationState = 'void';\n /** Event emitted when the drawer open state is changed. */\n this.openedChange =\n // Note this has to be async in order to avoid some issues with two-bindings (see #8872).\n new EventEmitter( /* isAsync */true);\n /** Event emitted when the drawer has been opened. */\n this._openedStream = this.openedChange.pipe(filter(o => o), map(() => {}));\n /** Event emitted when the drawer has started opening. */\n this.openedStart = this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState.indexOf('open') === 0), mapTo(undefined));\n /** Event emitted when the drawer has been closed. */\n this._closedStream = this.openedChange.pipe(filter(o => !o), map(() => {}));\n /** Event emitted when the drawer has started closing. */\n this.closedStart = this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState === 'void'), mapTo(undefined));\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Event emitted when the drawer's position changes. */\n // tslint:disable-next-line:no-output-on-prefix\n this.onPositionChanged = new EventEmitter();\n /**\n * An observable that emits when the drawer mode changes. This is used by the drawer container to\n * to know when to when the mode changes so it can adapt the margins on the content.\n */\n this._modeChanged = new Subject();\n this.openedChange.subscribe(opened => {\n if (opened) {\n if (this._doc) {\n this._elementFocusedBeforeDrawerWasOpened = this._doc.activeElement;\n }\n this._takeFocus();\n } else if (this._isFocusWithinDrawer()) {\n this._restoreFocus(this._openedVia || 'program');\n }\n });\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed\n * and we don't have close disabled.\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent(this._elementRef.nativeElement, 'keydown').pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }), takeUntil(this._destroyed)).subscribe(event => this._ngZone.run(() => {\n this.close();\n event.stopPropagation();\n event.preventDefault();\n }));\n });\n // We need a Subject with distinctUntilChanged, because the `done` event\n // fires twice on some browsers. See https://github.com/angular/angular/issues/24084\n this._animationEnd.pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState;\n })).subscribe(event => {\n const {\n fromState,\n toState\n } = event;\n if (toState.indexOf('open') === 0 && fromState === 'void' || toState === 'void' && fromState.indexOf('open') === 0) {\n this.openedChange.emit(this._opened);\n }\n });\n }\n /**\n * Focuses the provided element. If the element is not focusable, it will add a tabIndex\n * attribute to forcefully focus it. The attribute is removed after focus is moved.\n * @param element The element to focus.\n */\n _forceFocus(element, options) {\n if (!this._interactivityChecker.isFocusable(element)) {\n element.tabIndex = -1;\n // The tabindex attribute should be removed to avoid navigating to that element again\n this._ngZone.runOutsideAngular(() => {\n const callback = () => {\n element.removeEventListener('blur', callback);\n element.removeEventListener('mousedown', callback);\n element.removeAttribute('tabindex');\n };\n element.addEventListener('blur', callback);\n element.addEventListener('mousedown', callback);\n });\n }\n element.focus(options);\n }\n /**\n * Focuses the first element that matches the given selector within the focus trap.\n * @param selector The CSS selector for the element to set focus to.\n */\n _focusByCssSelector(selector, options) {\n let elementToFocus = this._elementRef.nativeElement.querySelector(selector);\n if (elementToFocus) {\n this._forceFocus(elementToFocus, options);\n }\n }\n /**\n * Moves focus into the drawer. Note that this works even if\n * the focus trap is disabled in `side` mode.\n */\n _takeFocus() {\n if (!this._focusTrap) {\n return;\n }\n const element = this._elementRef.nativeElement;\n // When autoFocus is not on the sidenav, if the element cannot be focused or does\n // not exist, focus the sidenav itself so the keyboard navigation still works.\n // We need to check that `focus` is a function due to Universal.\n switch (this.autoFocus) {\n case false:\n case 'dialog':\n return;\n case true:\n case 'first-tabbable':\n this._focusTrap.focusInitialElementWhenReady().then(hasMovedFocus => {\n if (!hasMovedFocus && typeof this._elementRef.nativeElement.focus === 'function') {\n element.focus();\n }\n });\n break;\n case 'first-heading':\n this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n break;\n default:\n this._focusByCssSelector(this.autoFocus);\n break;\n }\n }\n /**\n * Restores focus to the element that was originally focused when the drawer opened.\n * If no element was focused at that time, the focus will be restored to the drawer.\n */\n _restoreFocus(focusOrigin) {\n if (this.autoFocus === 'dialog') {\n return;\n }\n if (this._elementFocusedBeforeDrawerWasOpened) {\n this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened, focusOrigin);\n } else {\n this._elementRef.nativeElement.blur();\n }\n this._elementFocusedBeforeDrawerWasOpened = null;\n }\n /** Whether focus is currently within the drawer. */\n _isFocusWithinDrawer() {\n const activeEl = this._doc.activeElement;\n return !!activeEl && this._elementRef.nativeElement.contains(activeEl);\n }\n ngAfterViewInit() {\n this._isAttached = true;\n // Only update the DOM position when the sidenav is positioned at\n // the end since we project the sidenav before the content by default.\n if (this._position === 'end') {\n this._updatePositionInParent('end');\n }\n // Needs to happen after the position is updated\n // so the focus trap anchors are in the right place.\n if (this._platform.isBrowser) {\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n this._updateFocusTrapState();\n }\n }\n ngAfterContentChecked() {\n // Enable the animations after the lifecycle hooks have run, in order to avoid animating\n // drawers that are open by default. When we're on the server, we shouldn't enable the\n // animations, because we don't want the drawer to animate the first time the user sees\n // the page.\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n ngOnDestroy() {\n this._focusTrap?.destroy();\n this._anchor?.remove();\n this._anchor = null;\n this._animationStarted.complete();\n this._animationEnd.complete();\n this._modeChanged.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Open the drawer.\n * @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.\n * Used for focus management after the sidenav is closed.\n */\n open(openedVia) {\n return this.toggle(true, openedVia);\n }\n /** Close the drawer. */\n close() {\n return this.toggle(false);\n }\n /** Closes the drawer with context that the backdrop was clicked. */\n _closeViaBackdropClick() {\n // If the drawer is closed upon a backdrop click, we always want to restore focus. We\n // don't need to check whether focus is currently in the drawer, as clicking on the\n // backdrop causes blurs the active element.\n return this._setOpen( /* isOpen */false, /* restoreFocus */true, 'mouse');\n }\n /**\n * Toggle this drawer.\n * @param isOpen Whether the drawer should be open.\n * @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.\n * Used for focus management after the sidenav is closed.\n */\n toggle(isOpen = !this.opened, openedVia) {\n // If the focus is currently inside the drawer content and we are closing the drawer,\n // restore the focus to the initially focused element (when the drawer opened).\n if (isOpen && openedVia) {\n this._openedVia = openedVia;\n }\n const result = this._setOpen(isOpen, /* restoreFocus */!isOpen && this._isFocusWithinDrawer(), this._openedVia || 'program');\n if (!isOpen) {\n this._openedVia = null;\n }\n return result;\n }\n /**\n * Toggles the opened state of the drawer.\n * @param isOpen Whether the drawer should open or close.\n * @param restoreFocus Whether focus should be restored on close.\n * @param focusOrigin Origin to use when restoring focus.\n */\n _setOpen(isOpen, restoreFocus, focusOrigin) {\n this._opened = isOpen;\n if (isOpen) {\n this._animationState = this._enableAnimations ? 'open' : 'open-instant';\n } else {\n this._animationState = 'void';\n if (restoreFocus) {\n this._restoreFocus(focusOrigin);\n }\n }\n this._updateFocusTrapState();\n return new Promise(resolve => {\n this.openedChange.pipe(take(1)).subscribe(open => resolve(open ? 'open' : 'close'));\n });\n }\n _getWidth() {\n return this._elementRef.nativeElement ? this._elementRef.nativeElement.offsetWidth || 0 : 0;\n }\n /** Updates the enabled state of the focus trap. */\n _updateFocusTrapState() {\n if (this._focusTrap) {\n // Trap focus only if the backdrop is enabled. Otherwise, allow end user to interact with the\n // sidenav content.\n this._focusTrap.enabled = !!this._container?.hasBackdrop;\n }\n }\n /**\n * Updates the position of the drawer in the DOM. We need to move the element around ourselves\n * when it's in the `end` position so that it comes after the content and the visual order\n * matches the tab order. We also need to be able to move it back to `start` if the sidenav\n * started off as `end` and was changed to `start`.\n */\n _updatePositionInParent(newPosition) {\n // Don't move the DOM node around on the server, because it can throw off hydration.\n if (!this._platform.isBrowser) {\n return;\n }\n const element = this._elementRef.nativeElement;\n const parent = element.parentNode;\n if (newPosition === 'end') {\n if (!this._anchor) {\n this._anchor = this._doc.createComment('mat-drawer-anchor');\n parent.insertBefore(this._anchor, element);\n }\n parent.appendChild(element);\n } else if (this._anchor) {\n this._anchor.parentNode.insertBefore(element, this._anchor);\n }\n }\n static {\n this.ɵfac = function MatDrawer_Factory(t) {\n return new (t || MatDrawer)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.FocusTrapFactory), i0.ɵɵdirectiveInject(i2.FocusMonitor), i0.ɵɵdirectiveInject(i3.Platform), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i2.InteractivityChecker), i0.ɵɵdirectiveInject(DOCUMENT, 8), i0.ɵɵdirectiveInject(MAT_DRAWER_CONTAINER, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatDrawer,\n selectors: [[\"mat-drawer\"]],\n viewQuery: function MatDrawer_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c1, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._content = _t.first);\n }\n },\n hostAttrs: [\"tabIndex\", \"-1\", 1, \"mat-drawer\"],\n hostVars: 12,\n hostBindings: function MatDrawer_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵsyntheticHostListener(\"@transform.start\", function MatDrawer_animation_transform_start_HostBindingHandler($event) {\n return ctx._animationStarted.next($event);\n })(\"@transform.done\", function MatDrawer_animation_transform_done_HostBindingHandler($event) {\n return ctx._animationEnd.next($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"align\", null);\n i0.ɵɵsyntheticHostProperty(\"@transform\", ctx._animationState);\n i0.ɵɵclassProp(\"mat-drawer-end\", ctx.position === \"end\")(\"mat-drawer-over\", ctx.mode === \"over\")(\"mat-drawer-push\", ctx.mode === \"push\")(\"mat-drawer-side\", ctx.mode === \"side\")(\"mat-drawer-opened\", ctx.opened);\n }\n },\n inputs: {\n position: \"position\",\n mode: \"mode\",\n disableClose: \"disableClose\",\n autoFocus: \"autoFocus\",\n opened: \"opened\"\n },\n outputs: {\n openedChange: \"openedChange\",\n _openedStream: \"opened\",\n openedStart: \"openedStart\",\n _closedStream: \"closed\",\n closedStart: \"closedStart\",\n onPositionChanged: \"positionChanged\"\n },\n exportAs: [\"matDrawer\"],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c0,\n decls: 3,\n vars: 0,\n consts: [[\"cdkScrollable\", \"\", 1, \"mat-drawer-inner-container\"], [\"content\", \"\"]],\n template: function MatDrawer_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0, 1);\n i0.ɵɵprojection(2);\n i0.ɵɵelementEnd();\n }\n },\n dependencies: [CdkScrollable],\n encapsulation: 2,\n data: {\n animation: [matDrawerAnimations.transformDrawer]\n },\n changeDetection: 0\n });\n }\n }\n return MatDrawer;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * `` component.\n *\n * This is the parent component to one or two ``s that validates the state internally\n * and coordinates the backdrop and content styling.\n */\nlet MatDrawerContainer = /*#__PURE__*/(() => {\n class MatDrawerContainer {\n /** The drawer child with the `start` position. */\n get start() {\n return this._start;\n }\n /** The drawer child with the `end` position. */\n get end() {\n return this._end;\n }\n /**\n * Whether to automatically resize the container whenever\n * the size of any of its drawers changes.\n *\n * **Use at your own risk!** Enabling this option can cause layout thrashing by measuring\n * the drawers on every change detection cycle. Can be configured globally via the\n * `MAT_DRAWER_DEFAULT_AUTOSIZE` token.\n */\n get autosize() {\n return this._autosize;\n }\n set autosize(value) {\n this._autosize = coerceBooleanProperty(value);\n }\n /**\n * Whether the drawer container should have a backdrop while one of the sidenavs is open.\n * If explicitly set to `true`, the backdrop will be enabled for drawers in the `side`\n * mode as well.\n */\n get hasBackdrop() {\n return this._drawerHasBackdrop(this._start) || this._drawerHasBackdrop(this._end);\n }\n set hasBackdrop(value) {\n this._backdropOverride = value == null ? null : coerceBooleanProperty(value);\n }\n /** Reference to the CdkScrollable instance that wraps the scrollable content. */\n get scrollable() {\n return this._userContent || this._content;\n }\n constructor(_dir, _element, _ngZone, _changeDetectorRef, viewportRuler, defaultAutosize = false, _animationMode) {\n this._dir = _dir;\n this._element = _element;\n this._ngZone = _ngZone;\n this._changeDetectorRef = _changeDetectorRef;\n this._animationMode = _animationMode;\n /** Drawers that belong to this container. */\n this._drawers = new QueryList();\n /** Event emitted when the drawer backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Emits on every ngDoCheck. Used for debouncing reflows. */\n this._doCheckSubject = new Subject();\n /**\n * Margins to be applied to the content. These are used to push / shrink the drawer content when a\n * drawer is open. We use margin rather than transform even for push mode because transform breaks\n * fixed position elements inside of the transformed element.\n */\n this._contentMargins = {\n left: null,\n right: null\n };\n this._contentMarginChanges = new Subject();\n // If a `Dir` directive exists up the tree, listen direction changes\n // and update the left/right properties to point to the proper start/end.\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._validateDrawers();\n this.updateContentMargins();\n });\n }\n // Since the minimum width of the sidenav depends on the viewport width,\n // we need to recompute the margins if the viewport changes.\n viewportRuler.change().pipe(takeUntil(this._destroyed)).subscribe(() => this.updateContentMargins());\n this._autosize = defaultAutosize;\n }\n ngAfterContentInit() {\n this._allDrawers.changes.pipe(startWith(this._allDrawers), takeUntil(this._destroyed)).subscribe(drawer => {\n this._drawers.reset(drawer.filter(item => !item._container || item._container === this));\n this._drawers.notifyOnChanges();\n });\n this._drawers.changes.pipe(startWith(null)).subscribe(() => {\n this._validateDrawers();\n this._drawers.forEach(drawer => {\n this._watchDrawerToggle(drawer);\n this._watchDrawerPosition(drawer);\n this._watchDrawerMode(drawer);\n });\n if (!this._drawers.length || this._isDrawerOpen(this._start) || this._isDrawerOpen(this._end)) {\n this.updateContentMargins();\n }\n this._changeDetectorRef.markForCheck();\n });\n // Avoid hitting the NgZone through the debounce timeout.\n this._ngZone.runOutsideAngular(() => {\n this._doCheckSubject.pipe(debounceTime(10),\n // Arbitrary debounce time, less than a frame at 60fps\n takeUntil(this._destroyed)).subscribe(() => this.updateContentMargins());\n });\n }\n ngOnDestroy() {\n this._contentMarginChanges.complete();\n this._doCheckSubject.complete();\n this._drawers.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Calls `open` of both start and end drawers */\n open() {\n this._drawers.forEach(drawer => drawer.open());\n }\n /** Calls `close` of both start and end drawers */\n close() {\n this._drawers.forEach(drawer => drawer.close());\n }\n /**\n * Recalculates and updates the inline styles for the content. Note that this should be used\n * sparingly, because it causes a reflow.\n */\n updateContentMargins() {\n // 1. For drawers in `over` mode, they don't affect the content.\n // 2. For drawers in `side` mode they should shrink the content. We do this by adding to the\n // left margin (for left drawer) or right margin (for right the drawer).\n // 3. For drawers in `push` mode the should shift the content without resizing it. We do this by\n // adding to the left or right margin and simultaneously subtracting the same amount of\n // margin from the other side.\n let left = 0;\n let right = 0;\n if (this._left && this._left.opened) {\n if (this._left.mode == 'side') {\n left += this._left._getWidth();\n } else if (this._left.mode == 'push') {\n const width = this._left._getWidth();\n left += width;\n right -= width;\n }\n }\n if (this._right && this._right.opened) {\n if (this._right.mode == 'side') {\n right += this._right._getWidth();\n } else if (this._right.mode == 'push') {\n const width = this._right._getWidth();\n right += width;\n left -= width;\n }\n }\n // If either `right` or `left` is zero, don't set a style to the element. This\n // allows users to specify a custom size via CSS class in SSR scenarios where the\n // measured widths will always be zero. Note that we reset to `null` here, rather\n // than below, in order to ensure that the types in the `if` below are consistent.\n left = left || null;\n right = right || null;\n if (left !== this._contentMargins.left || right !== this._contentMargins.right) {\n this._contentMargins = {\n left,\n right\n };\n // Pull back into the NgZone since in some cases we could be outside. We need to be careful\n // to do it only when something changed, otherwise we can end up hitting the zone too often.\n this._ngZone.run(() => this._contentMarginChanges.next(this._contentMargins));\n }\n }\n ngDoCheck() {\n // If users opted into autosizing, do a check every change detection cycle.\n if (this._autosize && this._isPushed()) {\n // Run outside the NgZone, otherwise the debouncer will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => this._doCheckSubject.next());\n }\n }\n /**\n * Subscribes to drawer events in order to set a class on the main container element when the\n * drawer is open and the backdrop is visible. This ensures any overflow on the container element\n * is properly hidden.\n */\n _watchDrawerToggle(drawer) {\n drawer._animationStarted.pipe(filter(event => event.fromState !== event.toState), takeUntil(this._drawers.changes)).subscribe(event => {\n // Set the transition class on the container so that the animations occur. This should not\n // be set initially because animations should only be triggered via a change in state.\n if (event.toState !== 'open-instant' && this._animationMode !== 'NoopAnimations') {\n this._element.nativeElement.classList.add('mat-drawer-transition');\n }\n this.updateContentMargins();\n this._changeDetectorRef.markForCheck();\n });\n if (drawer.mode !== 'side') {\n drawer.openedChange.pipe(takeUntil(this._drawers.changes)).subscribe(() => this._setContainerClass(drawer.opened));\n }\n }\n /**\n * Subscribes to drawer onPositionChanged event in order to\n * re-validate drawers when the position changes.\n */\n _watchDrawerPosition(drawer) {\n if (!drawer) {\n return;\n }\n // NOTE: We need to wait for the microtask queue to be empty before validating,\n // since both drawers may be swapping positions at the same time.\n drawer.onPositionChanged.pipe(takeUntil(this._drawers.changes)).subscribe(() => {\n this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n this._validateDrawers();\n });\n });\n }\n /** Subscribes to changes in drawer mode so we can run change detection. */\n _watchDrawerMode(drawer) {\n if (drawer) {\n drawer._modeChanged.pipe(takeUntil(merge(this._drawers.changes, this._destroyed))).subscribe(() => {\n this.updateContentMargins();\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n /** Toggles the 'mat-drawer-opened' class on the main 'mat-drawer-container' element. */\n _setContainerClass(isAdd) {\n const classList = this._element.nativeElement.classList;\n const className = 'mat-drawer-container-has-open';\n if (isAdd) {\n classList.add(className);\n } else {\n classList.remove(className);\n }\n }\n /** Validate the state of the drawer children components. */\n _validateDrawers() {\n this._start = this._end = null;\n // Ensure that we have at most one start and one end drawer.\n this._drawers.forEach(drawer => {\n if (drawer.position == 'end') {\n if (this._end != null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDuplicatedDrawerError('end');\n }\n this._end = drawer;\n } else {\n if (this._start != null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDuplicatedDrawerError('start');\n }\n this._start = drawer;\n }\n });\n this._right = this._left = null;\n // Detect if we're LTR or RTL.\n if (this._dir && this._dir.value === 'rtl') {\n this._left = this._end;\n this._right = this._start;\n } else {\n this._left = this._start;\n this._right = this._end;\n }\n }\n /** Whether the container is being pushed to the side by one of the drawers. */\n _isPushed() {\n return this._isDrawerOpen(this._start) && this._start.mode != 'over' || this._isDrawerOpen(this._end) && this._end.mode != 'over';\n }\n _onBackdropClicked() {\n this.backdropClick.emit();\n this._closeModalDrawersViaBackdrop();\n }\n _closeModalDrawersViaBackdrop() {\n // Close all open drawers where closing is not disabled and the mode is not `side`.\n [this._start, this._end].filter(drawer => drawer && !drawer.disableClose && this._drawerHasBackdrop(drawer)).forEach(drawer => drawer._closeViaBackdropClick());\n }\n _isShowingBackdrop() {\n return this._isDrawerOpen(this._start) && this._drawerHasBackdrop(this._start) || this._isDrawerOpen(this._end) && this._drawerHasBackdrop(this._end);\n }\n _isDrawerOpen(drawer) {\n return drawer != null && drawer.opened;\n }\n // Whether argument drawer should have a backdrop when it opens\n _drawerHasBackdrop(drawer) {\n if (this._backdropOverride == null) {\n return !!drawer && drawer.mode !== 'side';\n }\n return this._backdropOverride;\n }\n static {\n this.ɵfac = function MatDrawerContainer_Factory(t) {\n return new (t || MatDrawerContainer)(i0.ɵɵdirectiveInject(i4.Directionality, 8), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.ViewportRuler), i0.ɵɵdirectiveInject(MAT_DRAWER_DEFAULT_AUTOSIZE), i0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatDrawerContainer,\n selectors: [[\"mat-drawer-container\"]],\n contentQueries: function MatDrawerContainer_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatDrawerContent, 5);\n i0.ɵɵcontentQuery(dirIndex, MatDrawer, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._content = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allDrawers = _t);\n }\n },\n viewQuery: function MatDrawerContainer_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(MatDrawerContent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._userContent = _t.first);\n }\n },\n hostAttrs: [1, \"mat-drawer-container\"],\n hostVars: 2,\n hostBindings: function MatDrawerContainer_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-drawer-container-explicit-backdrop\", ctx._backdropOverride);\n }\n },\n inputs: {\n autosize: \"autosize\",\n hasBackdrop: \"hasBackdrop\"\n },\n outputs: {\n backdropClick: \"backdropClick\"\n },\n exportAs: [\"matDrawerContainer\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatDrawerContainer\n }]), i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c3,\n decls: 4,\n vars: 2,\n consts: [[\"class\", \"mat-drawer-backdrop\", 3, \"mat-drawer-shown\"], [1, \"mat-drawer-backdrop\", 3, \"click\"]],\n template: function MatDrawerContainer_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c2);\n i0.ɵɵtemplate(0, MatDrawerContainer_Conditional_0_Template, 1, 2, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵprojection(2, 1);\n i0.ɵɵtemplate(3, MatDrawerContainer_Conditional_3_Template, 2, 0, \"mat-drawer-content\");\n }\n if (rf & 2) {\n i0.ɵɵconditional(0, ctx.hasBackdrop ? 0 : -1);\n i0.ɵɵadvance(3);\n i0.ɵɵconditional(3, !ctx._content ? 3 : -1);\n }\n },\n dependencies: [MatDrawerContent],\n styles: [\".mat-drawer-container{position:relative;z-index:1;color:var(--mat-sidenav-content-text-color);background-color:var(--mat-sidenav-content-background-color);box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible;background-color:var(--mat-sidenav-scrim-color)}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);position:relative;z-index:4;color:var(--mat-sidenav-container-text-color);background-color:var(--mat-sidenav-container-background-color);border-top-right-radius:var(--mat-sidenav-container-shape);border-bottom-right-radius:var(--mat-sidenav-container-shape);display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0);border-top-left-radius:var(--mat-sidenav-container-shape);border-bottom-left-radius:var(--mat-sidenav-container-shape);border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .mat-drawer{border-top-left-radius:var(--mat-sidenav-container-shape);border-bottom-left-radius:var(--mat-sidenav-container-shape);border-top-right-radius:0;border-bottom-right-radius:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{border-top-right-radius:var(--mat-sidenav-container-shape);border-bottom-right-radius:var(--mat-sidenav-container-shape);border-top-left-radius:0;border-bottom-left-radius:0;left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*=\\\"visibility: hidden\\\"]{display:none}.mat-drawer-side{box-shadow:none;border-right-color:var(--mat-sidenav-container-divider-color);border-right-width:1px;border-right-style:solid}.mat-drawer-side.mat-drawer-end{border-left-color:var(--mat-sidenav-container-divider-color);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side{border-left-color:var(--mat-sidenav-container-divider-color);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-right-color:var(--mat-sidenav-container-divider-color);border-right-width:1px;border-right-style:solid;border-left:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return MatDrawerContainer;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatSidenavContent = /*#__PURE__*/(() => {\n class MatSidenavContent extends MatDrawerContent {\n constructor(changeDetectorRef, container, elementRef, scrollDispatcher, ngZone) {\n super(changeDetectorRef, container, elementRef, scrollDispatcher, ngZone);\n }\n static {\n this.ɵfac = function MatSidenavContent_Factory(t) {\n return new (t || MatSidenavContent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(forwardRef(() => MatSidenavContainer)), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.ScrollDispatcher), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatSidenavContent,\n selectors: [[\"mat-sidenav-content\"]],\n hostAttrs: [1, \"mat-drawer-content\", \"mat-sidenav-content\"],\n hostVars: 4,\n hostBindings: function MatSidenavContent_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵstyleProp(\"margin-left\", ctx._container._contentMargins.left, \"px\")(\"margin-right\", ctx._container._contentMargins.right, \"px\");\n }\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkScrollable,\n useExisting: MatSidenavContent\n }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c0,\n decls: 1,\n vars: 0,\n template: function MatSidenavContent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵprojection(0);\n }\n },\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return MatSidenavContent;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatSidenav = /*#__PURE__*/(() => {\n class MatSidenav extends MatDrawer {\n constructor() {\n super(...arguments);\n this._fixedInViewport = false;\n this._fixedTopGap = 0;\n this._fixedBottomGap = 0;\n }\n /** Whether the sidenav is fixed in the viewport. */\n get fixedInViewport() {\n return this._fixedInViewport;\n }\n set fixedInViewport(value) {\n this._fixedInViewport = coerceBooleanProperty(value);\n }\n /**\n * The gap between the top of the sidenav and the top of the viewport when the sidenav is in fixed\n * mode.\n */\n get fixedTopGap() {\n return this._fixedTopGap;\n }\n set fixedTopGap(value) {\n this._fixedTopGap = coerceNumberProperty(value);\n }\n /**\n * The gap between the bottom of the sidenav and the bottom of the viewport when the sidenav is in\n * fixed mode.\n */\n get fixedBottomGap() {\n return this._fixedBottomGap;\n }\n set fixedBottomGap(value) {\n this._fixedBottomGap = coerceNumberProperty(value);\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatSidenav_BaseFactory;\n return function MatSidenav_Factory(t) {\n return (ɵMatSidenav_BaseFactory || (ɵMatSidenav_BaseFactory = i0.ɵɵgetInheritedFactory(MatSidenav)))(t || MatSidenav);\n };\n })();\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatSidenav,\n selectors: [[\"mat-sidenav\"]],\n hostAttrs: [\"tabIndex\", \"-1\", 1, \"mat-drawer\", \"mat-sidenav\"],\n hostVars: 17,\n hostBindings: function MatSidenav_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"align\", null);\n i0.ɵɵstyleProp(\"top\", ctx.fixedInViewport ? ctx.fixedTopGap : null, \"px\")(\"bottom\", ctx.fixedInViewport ? ctx.fixedBottomGap : null, \"px\");\n i0.ɵɵclassProp(\"mat-drawer-end\", ctx.position === \"end\")(\"mat-drawer-over\", ctx.mode === \"over\")(\"mat-drawer-push\", ctx.mode === \"push\")(\"mat-drawer-side\", ctx.mode === \"side\")(\"mat-drawer-opened\", ctx.opened)(\"mat-sidenav-fixed\", ctx.fixedInViewport);\n }\n },\n inputs: {\n fixedInViewport: \"fixedInViewport\",\n fixedTopGap: \"fixedTopGap\",\n fixedBottomGap: \"fixedBottomGap\"\n },\n exportAs: [\"matSidenav\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c0,\n decls: 3,\n vars: 0,\n consts: [[\"cdkScrollable\", \"\", 1, \"mat-drawer-inner-container\"], [\"content\", \"\"]],\n template: function MatSidenav_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 0, 1);\n i0.ɵɵprojection(2);\n i0.ɵɵelementEnd();\n }\n },\n dependencies: [CdkScrollable],\n encapsulation: 2,\n data: {\n animation: [matDrawerAnimations.transformDrawer]\n },\n changeDetection: 0\n });\n }\n }\n return MatSidenav;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatSidenavContainer = /*#__PURE__*/(() => {\n class MatSidenavContainer extends MatDrawerContainer {\n constructor() {\n super(...arguments);\n this._allDrawers = undefined;\n // We need an initializer here to avoid a TS error.\n this._content = undefined;\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatSidenavContainer_BaseFactory;\n return function MatSidenavContainer_Factory(t) {\n return (ɵMatSidenavContainer_BaseFactory || (ɵMatSidenavContainer_BaseFactory = i0.ɵɵgetInheritedFactory(MatSidenavContainer)))(t || MatSidenavContainer);\n };\n })();\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatSidenavContainer,\n selectors: [[\"mat-sidenav-container\"]],\n contentQueries: function MatSidenavContainer_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatSidenavContent, 5);\n i0.ɵɵcontentQuery(dirIndex, MatSidenav, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._content = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._allDrawers = _t);\n }\n },\n hostAttrs: [1, \"mat-drawer-container\", \"mat-sidenav-container\"],\n hostVars: 2,\n hostBindings: function MatSidenavContainer_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-drawer-container-explicit-backdrop\", ctx._backdropOverride);\n }\n },\n exportAs: [\"matSidenavContainer\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatSidenavContainer\n }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c5,\n decls: 4,\n vars: 2,\n consts: [[\"class\", \"mat-drawer-backdrop\", 3, \"mat-drawer-shown\"], [1, \"mat-drawer-backdrop\", 3, \"click\"]],\n template: function MatSidenavContainer_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c4);\n i0.ɵɵtemplate(0, MatSidenavContainer_Conditional_0_Template, 1, 2, \"div\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵprojection(2, 1);\n i0.ɵɵtemplate(3, MatSidenavContainer_Conditional_3_Template, 2, 0, \"mat-sidenav-content\");\n }\n if (rf & 2) {\n i0.ɵɵconditional(0, ctx.hasBackdrop ? 0 : -1);\n i0.ɵɵadvance(3);\n i0.ɵɵconditional(3, !ctx._content ? 3 : -1);\n }\n },\n dependencies: [MatSidenavContent],\n styles: [_c6],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return MatSidenavContainer;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatSidenavModule = /*#__PURE__*/(() => {\n class MatSidenavModule {\n static {\n this.ɵfac = function MatSidenavModule_Factory(t) {\n return new (t || MatSidenavModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatSidenavModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [MatCommonModule, CdkScrollableModule, CdkScrollableModule, MatCommonModule]\n });\n }\n }\n return MatSidenavModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_DRAWER_DEFAULT_AUTOSIZE, MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY, MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent, MatSidenavModule, matDrawerAnimations, throwMatDuplicatedDrawerError };\n","import {ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, ViewEncapsulation} from '@angular/core';\nimport {UserFacade} from \"../../../../core/store/facade/user.facade\";\nimport {AsyncPipe, NgForOf, NgIf} from \"@angular/common\";\nimport {MatButton} from \"@angular/material/button\";\nimport {\n BehaviorSubject,\n combineLatest,\n filter, Observable,\n Subscription,\n} from \"rxjs\";\nimport {MatIcon, MatIconRegistry} from \"@angular/material/icon\";\nimport {NotificationModel} from \"../../../../models/interfaces/notification-model\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BELL_ICON} from \"../../../../models/const/icons\";\nimport {Router} from \"@angular/router\";\nimport {AUTH_PAGE} from \"../../../../models/const/urls\";\nimport {map} from \"rxjs/operators\";\nimport {NAVIGATION_EVENT_END_ID} from \"../../../../models/const/variables\";\n\n@Component({\n selector: 'my-gwo-app-notifications',\n standalone: true,\n imports: [\n NgIf,\n AsyncPipe,\n MatButton,\n NgForOf,\n MatIcon\n ],\n templateUrl: './app-notifications.component.html',\n styleUrl: './app-notifications.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AppNotificationsComponent implements OnDestroy {\n @Input() mainContent?: ElementRef;\n\n protected readonly Array = Array;\n\n readonly notificationsBS: BehaviorSubject = new BehaviorSubject([]);\n\n readonly notifications$ = this.notificationsBS.asObservable();\n\n readonly isAuthPage$: Observable = this.route.events.pipe(\n filter(data => data.type === NAVIGATION_EVENT_END_ID),\n map(_ => this.route.url.includes(AUTH_PAGE)),\n );\n\n readonly notificationSubscription: Subscription =\n combineLatest([\n this.userFacade.notifications$,\n this.isAuthPage$,\n ]).pipe(\n map(([notifications, isAuthPage]) => isAuthPage\n ? notifications.filter((notify) => notify.isAlarmMessage)\n : notifications.filter((notify) => !notify.isAlarmMessage)\n ),\n ).subscribe((notifications) => {\n const currentCount = this.notificationsBS.getValue().length;\n this.notificationsBS.next(notifications);\n\n /** @fixme\n * this is hotfix scroll top only when notifications is adding\n * should be moved to effects\n * */\n if (currentCount < notifications.length) {\n this.mainContent?.nativeElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n });\n\n constructor(\n private readonly userFacade: UserFacade,\n private readonly iconRegistry: MatIconRegistry,\n private readonly sanitizer: DomSanitizer,\n private readonly route: Router,\n ) {\n this.iconRegistry.addSvgIconLiteral('bell-icon', this.sanitizer.bypassSecurityTrustHtml(BELL_ICON));\n }\n\n closeCurrentMessage(notification: NotificationModel): void {\n this.userFacade.removeNotification(notification);\n }\n\n ngOnDestroy(): void {\n this.notificationSubscription.unsubscribe();\n }\n}\n","
\n \n
\n \n
\n \n
\n
\n {{ message.title }}\n
\n
\n
\n
\n\n \n
\n
\n
\n
\n
\n \n
\n
\n\n \n
\n \n
\n

Przypominamy, że wkrótce odbędą się następujące spotkania, w których planujesz wziąć udział:

\n \n
    \n
  • \n

    {{ message.title }} {{ message.message }}

    \n
  • \n
\n
\n\n \n
\n
\n
\n

Zapraszamy!

\n
\n
\n \n
\n
\n
\n
\n
\n\n\n
\n
\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatButton} from \"@angular/material/button\";\n\n@Component({\n selector: 'my-gwo-scroll-top-btn',\n standalone: true,\n imports: [\n MatIcon,\n MatButton\n ],\n templateUrl: './scroll-top-btn.component.html',\n styleUrl: './scroll-top-btn.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ScrollTopBtnComponent {\n @Input() mainContent?: ElementRef;\n\n\n onScrollToTop(): void {\n this.mainContent?.nativeElement.scrollTo({ top: 0, behavior: 'smooth' });\n }\n}\n","\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n DomSanitizer,\n SafeHtml,\n SafeResourceUrl,\n SafeScript,\n SafeStyle,\n SafeUrl,\n} from '@angular/platform-browser';\n\nexport type SafePipeType =\n | 'html'\n | 'style'\n | 'script'\n | 'url'\n | 'resourceUrl';\n\n@Pipe({\n standalone: true,\n name: 'safe',\n})\nexport class SafePipe implements PipeTransform {\n constructor(protected sanitizer: DomSanitizer) {}\n\n public transform(\n value: string,\n type: SafePipeType,\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this.sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this.sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this.sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this.sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this.sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n throw new Error(\n `SafePipe unable to bypass security for invalid type: ${type}`,\n );\n }\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {MatButton} from \"@angular/material/button\";\n\n@Component({\n selector: 'my-gwo-chat-alert',\n standalone: true,\n imports: [\n MatButton\n ],\n templateUrl: './chat-alert.component.html',\n styleUrl: './chat-alert.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChatAlertComponent {\n @Output() onChatClose = new EventEmitter();\n\n @Output() onAlertClose = new EventEmitter();\n\n constructor() {\n }\n}\n","
\n

Czy na pewno chcesz zakończyć czat?

\n

Jeśli wybierzesz Tak, okienko czatu zostanie zamknięte.

\n\n
\n \n \n
\n
\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {MAILING_URL} from \"../../models/const/api\";\nimport {Observable} from \"rxjs\";\nimport {NotificationModel} from \"../../models/interfaces/notification-model\";\nimport {ErrorModel} from \"../../models/interfaces/error-model\";\nimport {MailModel} from \"../../models/interfaces/mail-model\";\nimport {ErrorFacade} from \"../../core/store/facade/error.facade\";\nimport {catchError} from \"rxjs/operators\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MailService {\n\n constructor(\n private readonly httpClient: HttpClient,\n private readonly errorFacade: ErrorFacade,\n ) {\n }\n\n sendMail(mailContent: MailModel): Observable {\n return this.httpClient.post(MAILING_URL, mailContent).pipe(\n catchError((error: ErrorModel) => {\n this.errorFacade.onShowError(error);\n throw error;\n }),\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, OnDestroy, OnInit, Output} from '@angular/core';\nimport {MatRadioButton, MatRadioGroup} from \"@angular/material/radio\";\nimport {FormBuilder, FormControl, FormGroup, ReactiveFormsModule} from \"@angular/forms\";\nimport {MatButton} from \"@angular/material/button\";\nimport {MatIcon, MatIconRegistry} from \"@angular/material/icon\";\nimport {MatInput} from \"@angular/material/input\";\nimport {STAR_FULL, STAR_O} from \"../../../../models/const/icons\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BehaviorSubject, filter, Subscription} from \"rxjs\";\nimport {AsyncPipe} from \"@angular/common\";\nimport {FORM_GROUP_VALIDATION} from \"../../../../models/const/validators\";\nimport {map} from \"rxjs/operators\";\nimport {MailService} from \"../../../../services/mail/mail.service\";\nimport {FORM_BLANK_VALUE, GWO_INFO_EMAIL} from \"../../../../models/const/strings\";\nimport {UserFacade} from \"../../../../core/store/facade/user.facade\";\nimport {UserModel} from \"../../../../models/interfaces/user-model\";\nimport {MailModel} from \"../../../../models/interfaces/mail-model\";\nimport {NotificationModel} from \"../../../../models/interfaces/notification-model\";\n\n@Component({\n selector: 'my-gwo-opinion-form',\n standalone: true,\n imports: [\n MatRadioButton,\n MatRadioGroup,\n MatButton,\n ReactiveFormsModule,\n MatIcon,\n MatInput,\n AsyncPipe,\n ],\n providers: [\n MailService,\n ],\n templateUrl: './opinion-form.component.html',\n styleUrl: './opinion-form.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OpinionFormComponent implements OnInit, OnDestroy {\n @Output() onFormClose = new EventEmitter();\n\n @Output() onReset = new EventEmitter();\n\n protected readonly FORM_GROUP_VALIDATION = FORM_GROUP_VALIDATION;\n\n readonly opinionForm: FormGroup = this.formBuilder.group({\n rating: new FormControl(null),\n selectedOpinion: new FormControl(null),\n message: new FormControl(''),\n });\n\n readonly ratingArrBS: BehaviorSubject = new BehaviorSubject(new Array(5).fill(false));\n\n readonly ratingArr$ = this.ratingArrBS.asObservable();\n\n readonly subscription = new Subscription();\n\n readonly messageCounter$ = this.opinionForm.get('message')?.valueChanges\n .pipe(\n map((value: string) => value.length),\n );\n\n readonly isTouched$ = this.opinionForm.valueChanges.pipe(\n filter(Boolean),\n map((data) => !!data.rating\n || data.selectedOpinion !== null\n || !!data.message),\n );\n\n readonly userBS: BehaviorSubject = new BehaviorSubject(null);\n\n readonly sendMessageBS: BehaviorSubject = new BehaviorSubject('');\n\n readonly sendMessage$ = this.sendMessageBS.asObservable();\n\n constructor(\n private readonly formBuilder: FormBuilder,\n private readonly iconRegistry: MatIconRegistry,\n private readonly sanitizer: DomSanitizer,\n private readonly mailService: MailService,\n private readonly userFacade: UserFacade,\n ) {\n this.iconRegistry.addSvgIconLiteral('star-o', this.sanitizer.bypassSecurityTrustHtml(STAR_O));\n this.iconRegistry.addSvgIconLiteral('star', this.sanitizer.bypassSecurityTrustHtml(STAR_FULL));\n\n this.subscription.add(this.userFacade.user$.pipe(filter(Boolean)).subscribe((user) => {\n this.userBS.next(user);\n }));\n }\n\n ngOnInit(): void {\n this.subscription.add(this.opinionForm.get('rating')?.valueChanges.subscribe((rating: number | null) => {\n const selectedRating = this.ratingArrBS.getValue()\n .map((_, index) => index + 1 <= Number(rating));\n this.ratingArrBS.next(selectedRating);\n }));\n }\n\n onSubmit(): void {\n const rating = this.opinionForm.get('rating')?.value || FORM_BLANK_VALUE;\n const opinion = this.opinionForm.get('selectedOpinion')?.value || FORM_BLANK_VALUE;\n const message = this.opinionForm.get('message')?.value;\n\n if (rating === FORM_BLANK_VALUE && opinion === FORM_BLANK_VALUE && !message) return;\n\n const userName = this.userBS.getValue()?.name;\n\n const mailContent: MailModel = {\n title: `[ChatBot Anna] Nowa opinia ${rating} – ${userName}`,\n content: `

Jak oceniasz rozmowę ze mną?
Ocena: ${rating}

\n

Czy moja odpowiedź była dla Ciebie pomocna?
${opinion}

\n ${message ? `

Masz jakieś sugestie? Koniecznie się nimi podziel!
\n Dziękuję, że korzystasz z serwisu GWO i pomagasz go rozwijać.
\n Wiadomość:
${message}

` : ''}`,\n email: GWO_INFO_EMAIL,\n }\n\n this.subscription.add(this.mailService.sendMail(mailContent)\n .pipe(\n filter(Boolean),\n map((data: NotificationModel) => data.message as string),\n ).subscribe((message) => this.sendMessageBS.next(message)));\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","@if (sendMessage$ | async; as sendMessage) {\n
\n
\n

Dziękujemy!

\n

{{ sendMessage }}

\n
\n
\n
\n \n \n
\n
\n
\n} @else {\n
\n
\n

Dziękuję za rozmowę.

\n

Twoja opinia jest dla mnie ważna!
Pomóż mi udoskonalić się.

\n
\n
\n
\n
\n

Jak oceniasz rozmowę ze mną?

\n
\n \n @for (isSelected of ratingArr$ | async; track $index) {\n \n \n \n \n }\n \n
\n
\n
\n

Czy moja odpowiedź była dla Ciebie pomocna?

\n
\n \n Tak\n Nie\n \n
\n
\n
\n Masz jakieś sugestie? Koniecznie się nimi podziel!
\n Dziękuję, że korzystasz z serwisu GWO i pomagasz go rozwijać.
\n
\n \n \n
{{ (messageCounter$ | async) || 0 }}/1000
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n}\n","import {Component, ElementRef, ViewChild} from '@angular/core';\nimport {MatIcon} from \"@angular/material/icon\";\nimport {MatFabButton, MatIconButton} from \"@angular/material/button\";\nimport {environment} from \"../../../../../environments/environment\";\nimport {SafePipe} from \"../../../../shared/pipes/safe.pipe\";\nimport {Artifacts} from \"lighthouse\";\nimport {ChatAlertComponent} from \"../chat-alert/chat-alert.component\";\nimport {OpinionFormComponent} from \"../opinion-form/opinion-form.component\";\nimport IFrameElement = Artifacts.IFrameElement;\nimport {GWO_PERSONAL_RULES_URL} from \"../../../../models/const/strings\";\n\n@Component({\n selector: 'my-gwo-chat-popup',\n standalone: true,\n imports: [\n MatIcon,\n MatIconButton,\n MatFabButton,\n SafePipe,\n ChatAlertComponent,\n OpinionFormComponent\n ],\n templateUrl: './chat-popup.component.html',\n styleUrl: './chat-popup.component.scss',\n})\nexport class ChatPopupComponent {\n @ViewChild('iframe', {static: false}) iframe?: ElementRef;\n\n protected readonly GWO_PERSONAL_RULES_URL = GWO_PERSONAL_RULES_URL;\n\n readonly chatSettings = environment.aiChatSettings;\n\n src = `${this.chatSettings.chatLink}/?kb_id=${this.chatSettings.chatId}&token=${this.chatSettings.chatToken}&modeltype=${this.chatSettings.chatModelType}&mode=${this.chatSettings.chatMode}&logo=${this.chatSettings.chatLogo}`;\n\n isClose = true;\n\n isCollapsed = false;\n\n isReviewFormActive = false;\n\n isCloseTriggered = false;\n\n constructor() {\n }\n\n onPopUpOpen(): void {\n if (this.isCollapsed) {\n return this.onRollUp();\n }\n this.isClose = false;\n }\n\n onCloseTriggered(): void {\n this.isCloseTriggered = true;\n\n if (this.isReviewFormActive) return this.onPopUpClose();\n }\n\n onPopUpClose(): void {\n this.isClose = true;\n this.isCloseTriggered = false;\n this.isReviewFormActive = false;\n }\n\n onConversationEnd(): void {\n const currentIframe: IFrameElement = this.iframe?.nativeElement;\n currentIframe.src = '';\n this.isCloseTriggered = false;\n this.isReviewFormActive = true;\n }\n\n onConversationContinue(): void {\n this.isCloseTriggered = false;\n }\n\n onRollDown(): void {\n this.isCollapsed = true;\n }\n\n onRollUp(): void {\n this.isCollapsed = false;\n }\n\n onRefresh(): void {\n this.isCloseTriggered = false;\n this.isReviewFormActive = false;\n const currentIframe: IFrameElement = this.iframe?.nativeElement;\n currentIframe.src = '';\n currentIframe.src = this.src;\n }\n}\n","\n@if (!isClose) {\n
\n
\n
ChatBot Anna
\n
\n \n
\n
\n \n
\n
\n \n
\n\n
\n * ChatBot może popełniać błędy. Sprawdź osobiście ważne informacje.\n
\n
\n @if (isCloseTriggered) {\n \n }\n @if (isReviewFormActive) {\n \n }\n \n @if (!isReviewFormActive) {\n
\n Zobacz jak przetwarzamy Twoje dane osobowe\n
\n }\n
\n}\n","import {Component} from '@angular/core';\nimport {MatIcon, MatIconRegistry} from \"@angular/material/icon\";\nimport {\n EVENTS_URL,\n LEARNING_MATERIALS_URL,\n MY_ACCESS_URL,\n PORTAL_URL,\n PROFILE_URL, STUDENT_ZONE_URL\n} from \"../../../../../models/const/urls\";\nimport {MenuButtonPlaceEnum, MenuButtonsEnum, UserFunctionsEnum} from \"../../../../../models/enums/enums\";\nimport {Observable} from \"rxjs\";\nimport {MenuService} from \"../../../../../services/global-menu/menu.service\";\nimport {Router} from \"@angular/router\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {AuthRedirectService} from \"../../../../../services/auth-redirect.service\";\nimport {UserFacade} from \"../../../../../core/store/facade/user.facade\";\nimport {AsyncPipe, NgClass, NgForOf, NgIf} from \"@angular/common\";\nimport {MatButton} from \"@angular/material/button\";\nimport {ArrayIncludesPipe} from \"../../../../../shared/pipes/array-includes.pipe\";\nimport {EVENTS_WITH_DATE_ICON} from \"../../../../../models/const/icons\";\nimport {map} from \"rxjs/operators\";\n\ninterface MenuRoutesInterface {\n icon: string,\n menuItem: MenuButtonsEnum;\n route: string;\n place: MenuButtonPlaceEnum;\n}\n\n@Component({\n selector: 'my-gwo-fixed-mobile-menu',\n standalone: true,\n imports: [\n MatIcon,\n AsyncPipe,\n NgClass,\n NgForOf,\n MatButton,\n NgIf,\n ArrayIncludesPipe,\n ],\n templateUrl: './fixed-mobile-menu.component.html',\n styleUrl: './fixed-mobile-menu.component.scss'\n})\nexport class FixedMobileMenuComponent {\n readonly currentPage$: Observable = this.menuService.getCurrentPage();\n\n private readonly eventRoleAccess = [UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.OTHER];\n\n private readonly menuItems: {[key: string]: MenuRoutesInterface} = {\n LM: {\n icon: 'lm-icon',\n menuItem: MenuButtonsEnum.LEARNING_MATERIALS_SHORT,\n route: LEARNING_MATERIALS_URL,\n place: MenuButtonPlaceEnum.TOP,\n },\n ACCESS: {\n icon: 'access-icon',\n menuItem: MenuButtonsEnum.ACCESSES,\n route: MY_ACCESS_URL,\n place: MenuButtonPlaceEnum.TOP,\n },\n STUDENT_ZONE: {\n icon: 'lm-icon',\n menuItem: MenuButtonsEnum.STUDENT_ZONE,\n route: STUDENT_ZONE_URL,\n place: MenuButtonPlaceEnum.TOP,\n },\n EVENT: {\n icon: 'events-with-date-icon',\n menuItem: MenuButtonsEnum.EVENTS,\n route: EVENTS_URL,\n place: MenuButtonPlaceEnum.BOTTOM,\n },\n PROFILE: {\n icon: 'profile-icon',\n menuItem: MenuButtonsEnum.PROFILE,\n route: PROFILE_URL,\n place: MenuButtonPlaceEnum.BOTTOM,\n }\n }\n\n readonly menuHighlightItems$: Observable = this.userFacade.user$?.pipe(\n map((user) => {\n const isEventsEnable = !!user?.userFunctions.filter(el => this.eventRoleAccess.includes(el)).length;\n\n const btn1 = user?.hasLearningMaterials ? this.menuItems['LM'] : this.menuItems['PROFILE'];\n const btn2 = this.menuItems['ACCESS'];\n const btn3 = isEventsEnable ? this.menuItems['EVENT'] : this.menuItems['STUDENT_ZONE'];\n\n return [btn1, btn2, btn3] as MenuRoutesInterface[];\n })\n );\n\n constructor(\n private readonly authRedirectService: AuthRedirectService,\n private readonly userFacade: UserFacade,\n private readonly menuService: MenuService,\n private readonly router: Router,\n readonly iconRegistry: MatIconRegistry,\n readonly sanitizer: DomSanitizer\n ) {\n iconRegistry.addSvgIconLiteral('events-with-date-icon', sanitizer.bypassSecurityTrustHtml(EVENTS_WITH_DATE_ICON));\n }\n\n onChangePage(route: string): void {\n if (route === PORTAL_URL || route === STUDENT_ZONE_URL) {\n this.authRedirectService.openExternalPage(route);\n return;\n }\n\n this.router.navigate([route]);\n this.userFacade.setLoading(false);\n }\n}\n","\n
\n
\n \n
\n
\n
\n","import {environment} from \"../../../environments/environment\";\n\nexport const FOOTER_MENU_LINKS = [\n {\n name: 'Polecane strony',\n children: [\n {\n name: 'Szkolenia Akademii GWO',\n url: environment.featureLinks.akademia,\n },\n {\n name: 'Blog GWO',\n url: environment.featureLinks.blogGwo,\n },\n {\n name: 'Labirynty wiedzy',\n url: environment.featureLinks.labyrinth,\n },\n {\n name: 'Programy komputerowe GWO',\n url: environment.featureLinks.eGwo,\n }\n ]\n },\n {\n name: 'O nas',\n children: [\n {\n name: 'Historia GWO',\n url: environment.aboutLinks.history,\n },\n {\n name: 'Kodeks Dobrych Praktyk',\n url: environment.aboutLinks.kodex,\n },\n {\n name: 'Pod patronatem',\n url: environment.aboutLinks.patrons,\n },\n {\n name: 'Napisali o nas',\n url: environment.aboutLinks.writeAbout,\n },\n {\n name: 'Projekty UE',\n url: environment.aboutLinks.projectsEU,\n },\n {\n name: 'Regulaminy',\n url: environment.aboutLinks.regulations,\n }\n ]\n },\n {\n name: 'Współpraca z GWO',\n children: [\n {\n name: 'Zostań autorem',\n url: environment.cooperation.beAuthor,\n },\n {\n name: 'Praca',\n url: environment.cooperation.work,\n },\n {\n name: 'Dla księgarni i hurtowni',\n url: environment.cooperation.hurt,\n },\n ]\n },\n {\n name: 'Facebook',\n children: [\n {\n name: 'Gdańskie Wydawnictwo Oświatowe',\n url: environment.socials.fbGwo,\n },\n {\n name: 'Matlandia',\n url: environment.socials.fbMatlandia,\n }\n ]\n },\n {\n name: 'Kontakt',\n children: [\n {\n name: 'Skontaktuj się z nami',\n url: environment.contacts.getContact,\n },\n {\n name: 'Przedstawiciele regionalni',\n url: environment.contacts.promotions,\n },\n {\n name: 'Pomoc',\n url: environment.contacts.help,\n }\n ]\n }\n];\n","import { SelectionModel, isDataSource } from '@angular/cdk/collections';\nimport { isObservable, Subject, BehaviorSubject, of } from 'rxjs';\nimport { take, filter, takeUntil } from 'rxjs/operators';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Inject, Optional, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, ViewChild, ContentChildren, numberAttribute, booleanAttribute, NgModule } from '@angular/core';\nimport * as i2 from '@angular/cdk/bidi';\n\n/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */\nclass BaseTreeControl {\n constructor() {\n /** A selection model with multi-selection to track expansion status. */\n this.expansionModel = new SelectionModel(true);\n }\n /** Toggles one single data node's expanded/collapsed state. */\n toggle(dataNode) {\n this.expansionModel.toggle(this._trackByValue(dataNode));\n }\n /** Expands one single data node. */\n expand(dataNode) {\n this.expansionModel.select(this._trackByValue(dataNode));\n }\n /** Collapses one single data node. */\n collapse(dataNode) {\n this.expansionModel.deselect(this._trackByValue(dataNode));\n }\n /** Whether a given data node is expanded or not. Returns true if the data node is expanded. */\n isExpanded(dataNode) {\n return this.expansionModel.isSelected(this._trackByValue(dataNode));\n }\n /** Toggles a subtree rooted at `node` recursively. */\n toggleDescendants(dataNode) {\n this.expansionModel.isSelected(this._trackByValue(dataNode)) ? this.collapseDescendants(dataNode) : this.expandDescendants(dataNode);\n }\n /** Collapse all dataNodes in the tree. */\n collapseAll() {\n this.expansionModel.clear();\n }\n /** Expands a subtree rooted at given data node recursively. */\n expandDescendants(dataNode) {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.select(...toBeProcessed.map(value => this._trackByValue(value)));\n }\n /** Collapses a subtree rooted at given data node recursively. */\n collapseDescendants(dataNode) {\n let toBeProcessed = [dataNode];\n toBeProcessed.push(...this.getDescendants(dataNode));\n this.expansionModel.deselect(...toBeProcessed.map(value => this._trackByValue(value)));\n }\n _trackByValue(value) {\n return this.trackBy ? this.trackBy(value) : value;\n }\n}\n\n/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */\nclass FlatTreeControl extends BaseTreeControl {\n /** Construct with flat tree data node functions getLevel and isExpandable. */\n constructor(getLevel, isExpandable, options) {\n super();\n this.getLevel = getLevel;\n this.isExpandable = isExpandable;\n this.options = options;\n if (this.options) {\n this.trackBy = this.options.trackBy;\n }\n }\n /**\n * Gets a list of the data node's subtree of descendent data nodes.\n *\n * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes\n * with correct levels.\n */\n getDescendants(dataNode) {\n const startIndex = this.dataNodes.indexOf(dataNode);\n const results = [];\n // Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.\n // The level of descendants of a tree node must be greater than the level of the given\n // tree node.\n // If we reach a node whose level is equal to the level of the tree node, we hit a sibling.\n // If we reach a node whose level is greater than the level of the tree node, we hit a\n // sibling of an ancestor.\n for (let i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {\n results.push(this.dataNodes[i]);\n }\n return results;\n }\n /**\n * Expands all data nodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened\n * data nodes of the tree.\n */\n expandAll() {\n this.expansionModel.select(...this.dataNodes.map(node => this._trackByValue(node)));\n }\n}\n\n/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */\nclass NestedTreeControl extends BaseTreeControl {\n /** Construct with nested tree function getChildren. */\n constructor(getChildren, options) {\n super();\n this.getChildren = getChildren;\n this.options = options;\n if (this.options) {\n this.trackBy = this.options.trackBy;\n }\n }\n /**\n * Expands all dataNodes in the tree.\n *\n * To make this working, the `dataNodes` variable of the TreeControl must be set to all root level\n * data nodes of the tree.\n */\n expandAll() {\n this.expansionModel.clear();\n const allNodes = this.dataNodes.reduce((accumulator, dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode], []);\n this.expansionModel.select(...allNodes.map(node => this._trackByValue(node)));\n }\n /** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */\n getDescendants(dataNode) {\n const descendants = [];\n this._getDescendants(descendants, dataNode);\n // Remove the node itself\n return descendants.splice(1);\n }\n /** A helper function to get descendants recursively. */\n _getDescendants(descendants, dataNode) {\n descendants.push(dataNode);\n const childrenNodes = this.getChildren(dataNode);\n if (Array.isArray(childrenNodes)) {\n childrenNodes.forEach(child => this._getDescendants(descendants, child));\n } else if (isObservable(childrenNodes)) {\n // TypeScript as of version 3.5 doesn't seem to treat `Boolean` like a function that\n // returns a `boolean` specifically in the context of `filter`, so we manually clarify that.\n childrenNodes.pipe(take(1), filter(Boolean)).subscribe(children => {\n for (const child of children) {\n this._getDescendants(descendants, child);\n }\n });\n }\n }\n}\n\n/**\n * Injection token used to provide a `CdkTreeNode` to its outlet.\n * Used primarily to avoid circular imports.\n * @docs-private\n */\nconst CDK_TREE_NODE_OUTLET_NODE = /*#__PURE__*/new InjectionToken('CDK_TREE_NODE_OUTLET_NODE');\n/**\n * Outlet for nested CdkNode. Put `[cdkTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\nlet CdkTreeNodeOutlet = /*#__PURE__*/(() => {\n class CdkTreeNodeOutlet {\n constructor(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n static {\n this.ɵfac = function CdkTreeNodeOutlet_Factory(t) {\n return new (t || CdkTreeNodeOutlet)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(CDK_TREE_NODE_OUTLET_NODE, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkTreeNodeOutlet,\n selectors: [[\"\", \"cdkTreeNodeOutlet\", \"\"]],\n standalone: true\n });\n }\n }\n return CdkTreeNodeOutlet;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Context provided to the tree node component. */\nclass CdkTreeNodeOutletContext {\n constructor(data) {\n this.$implicit = data;\n }\n}\n/**\n * Data node definition for the CdkTree.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\nlet CdkTreeNodeDef = /*#__PURE__*/(() => {\n class CdkTreeNodeDef {\n /** @docs-private */\n constructor(template) {\n this.template = template;\n }\n static {\n this.ɵfac = function CdkTreeNodeDef_Factory(t) {\n return new (t || CdkTreeNodeDef)(i0.ɵɵdirectiveInject(i0.TemplateRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkTreeNodeDef,\n selectors: [[\"\", \"cdkTreeNodeDef\", \"\"]],\n inputs: {\n when: [i0.ɵɵInputFlags.None, \"cdkTreeNodeDefWhen\", \"when\"]\n },\n standalone: true\n });\n }\n }\n return CdkTreeNodeDef;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Returns an error to be thrown when there is no usable data.\n * @docs-private\n */\nfunction getTreeNoValidDataSourceError() {\n return Error(`A valid data source must be provided.`);\n}\n/**\n * Returns an error to be thrown when there are multiple nodes that are missing a when function.\n * @docs-private\n */\nfunction getTreeMultipleDefaultNodeDefsError() {\n return Error(`There can only be one default row without a when predicate function.`);\n}\n/**\n * Returns an error to be thrown when there are no matching node defs for a particular set of data.\n * @docs-private\n */\nfunction getTreeMissingMatchingNodeDefError() {\n return Error(`Could not find a matching node definition for the provided node data.`);\n}\n/**\n * Returns an error to be thrown when there are tree control.\n * @docs-private\n */\nfunction getTreeControlMissingError() {\n return Error(`Could not find a tree control for the tree.`);\n}\n/**\n * Returns an error to be thrown when tree control did not implement functions for flat/nested node.\n * @docs-private\n */\nfunction getTreeControlFunctionsMissingError() {\n return Error(`Could not find functions for nested/flat tree in tree control.`);\n}\n\n/**\n * CDK tree component that connects with a data source to retrieve data of type `T` and renders\n * dataNodes with hierarchy. Updates the dataNodes when new data is provided by the data source.\n */\nlet CdkTree = /*#__PURE__*/(() => {\n class CdkTree {\n /**\n * Provides a stream containing the latest data array to render. Influenced by the tree's\n * stream of view window (what dataNodes are currently on screen).\n * Data source can be an observable of data array, or a data array to render.\n */\n get dataSource() {\n return this._dataSource;\n }\n set dataSource(dataSource) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\n constructor(_differs, _changeDetectorRef) {\n this._differs = _differs;\n this._changeDetectorRef = _changeDetectorRef;\n /** Subject that emits when the component has been destroyed. */\n this._onDestroy = new Subject();\n /** Level of nodes */\n this._levels = new Map();\n // TODO(tinayuangao): Setup a listener for scrolling, emit the calculated view to viewChange.\n // Remove the MAX_VALUE in viewChange\n /**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\n this.viewChange = new BehaviorSubject({\n start: 0,\n end: Number.MAX_VALUE\n });\n }\n ngOnInit() {\n this._dataDiffer = this._differs.find([]).create(this.trackBy);\n if (!this.treeControl && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlMissingError();\n }\n }\n ngOnDestroy() {\n this._nodeOutlet.viewContainer.clear();\n this.viewChange.complete();\n this._onDestroy.next();\n this._onDestroy.complete();\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n }\n ngAfterContentChecked() {\n const defaultNodeDefs = this._nodeDefs.filter(def => !def.when);\n if (defaultNodeDefs.length > 1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeMultipleDefaultNodeDefsError();\n }\n this._defaultNodeDef = defaultNodeDefs[0];\n if (this.dataSource && this._nodeDefs && !this._dataSubscription) {\n this._observeRenderChanges();\n }\n }\n // TODO(tinayuangao): Work on keyboard traversal and actions, make sure it's working for RTL\n // and nested trees.\n /**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the node outlet. Otherwise start listening for new data.\n */\n _switchDataSource(dataSource) {\n if (this._dataSource && typeof this._dataSource.disconnect === 'function') {\n this.dataSource.disconnect(this);\n }\n if (this._dataSubscription) {\n this._dataSubscription.unsubscribe();\n this._dataSubscription = null;\n }\n // Remove the all dataNodes if there is now no data source\n if (!dataSource) {\n this._nodeOutlet.viewContainer.clear();\n }\n this._dataSource = dataSource;\n if (this._nodeDefs) {\n this._observeRenderChanges();\n }\n }\n /** Set up a subscription for the data provided by the data source. */\n _observeRenderChanges() {\n let dataStream;\n if (isDataSource(this._dataSource)) {\n dataStream = this._dataSource.connect(this);\n } else if (isObservable(this._dataSource)) {\n dataStream = this._dataSource;\n } else if (Array.isArray(this._dataSource)) {\n dataStream = of(this._dataSource);\n }\n if (dataStream) {\n this._dataSubscription = dataStream.pipe(takeUntil(this._onDestroy)).subscribe(data => this.renderNodeChanges(data));\n } else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getTreeNoValidDataSourceError();\n }\n }\n /** Check for changes made in the data and render each change (node added/removed/moved). */\n renderNodeChanges(data, dataDiffer = this._dataDiffer, viewContainer = this._nodeOutlet.viewContainer, parentData) {\n const changes = dataDiffer.diff(data);\n if (!changes) {\n return;\n }\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n this.insertNode(data[currentIndex], currentIndex, viewContainer, parentData);\n } else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex);\n this._levels.delete(item.item);\n } else {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n }\n });\n this._changeDetectorRef.detectChanges();\n }\n /**\n * Finds the matching node definition that should be used for this node data. If there is only\n * one node definition, it is returned. Otherwise, find the node definition that has a when\n * predicate that returns true with the data. If none return true, return the default node\n * definition.\n */\n _getNodeDef(data, i) {\n if (this._nodeDefs.length === 1) {\n return this._nodeDefs.first;\n }\n const nodeDef = this._nodeDefs.find(def => def.when && def.when(i, data)) || this._defaultNodeDef;\n if (!nodeDef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeMissingMatchingNodeDefError();\n }\n return nodeDef;\n }\n /**\n * Create the embedded view for the data node template and place it in the correct index location\n * within the data node view container.\n */\n insertNode(nodeData, index, viewContainer, parentData) {\n const node = this._getNodeDef(nodeData, index);\n // Node context that will be provided to created embedded view\n const context = new CdkTreeNodeOutletContext(nodeData);\n // If the tree is flat tree, then use the `getLevel` function in flat tree control\n // Otherwise, use the level of parent node.\n if (this.treeControl.getLevel) {\n context.level = this.treeControl.getLevel(nodeData);\n } else if (typeof parentData !== 'undefined' && this._levels.has(parentData)) {\n context.level = this._levels.get(parentData) + 1;\n } else {\n context.level = 0;\n }\n this._levels.set(nodeData, context.level);\n // Use default tree nodeOutlet, or nested node's nodeOutlet\n const container = viewContainer ? viewContainer : this._nodeOutlet.viewContainer;\n container.createEmbeddedView(node.template, context, index);\n // Set the data to just created `CdkTreeNode`.\n // The `CdkTreeNode` created from `createEmbeddedView` will be saved in static variable\n // `mostRecentTreeNode`. We get it from static variable and pass the node data to it.\n if (CdkTreeNode.mostRecentTreeNode) {\n CdkTreeNode.mostRecentTreeNode.data = nodeData;\n }\n }\n static {\n this.ɵfac = function CdkTree_Factory(t) {\n return new (t || CdkTree)(i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: CdkTree,\n selectors: [[\"cdk-tree\"]],\n contentQueries: function CdkTree_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, CdkTreeNodeDef, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._nodeDefs = _t);\n }\n },\n viewQuery: function CdkTree_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(CdkTreeNodeOutlet, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._nodeOutlet = _t.first);\n }\n },\n hostAttrs: [\"role\", \"tree\", 1, \"cdk-tree\"],\n inputs: {\n dataSource: \"dataSource\",\n treeControl: \"treeControl\",\n trackBy: \"trackBy\"\n },\n exportAs: [\"cdkTree\"],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n decls: 1,\n vars: 0,\n consts: [[\"cdkTreeNodeOutlet\", \"\"]],\n template: function CdkTree_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 0);\n }\n },\n dependencies: [CdkTreeNodeOutlet],\n encapsulation: 2\n });\n }\n }\n return CdkTree;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Tree node for CdkTree. It contains the data in the tree node.\n */\nlet CdkTreeNode = /*#__PURE__*/(() => {\n class CdkTreeNode {\n /**\n * The role of the tree node.\n * @deprecated The correct role is 'treeitem', 'group' should not be used. This input will be\n * removed in a future version.\n * @breaking-change 12.0.0 Remove this input\n */\n get role() {\n return 'treeitem';\n }\n set role(_role) {\n // TODO: move to host after View Engine deprecation\n this._elementRef.nativeElement.setAttribute('role', _role);\n }\n /**\n * The most recently created `CdkTreeNode`. We save it in static variable so we can retrieve it\n * in `CdkTree` and set the data to it.\n */\n static {\n this.mostRecentTreeNode = null;\n }\n /** The tree node's data. */\n get data() {\n return this._data;\n }\n set data(value) {\n if (value !== this._data) {\n this._data = value;\n this._setRoleFromData();\n this._dataChanges.next();\n }\n }\n get isExpanded() {\n return this._tree.treeControl.isExpanded(this._data);\n }\n get level() {\n // If the treeControl has a getLevel method, use it to get the level. Otherwise read the\n // aria-level off the parent node and use it as the level for this node (note aria-level is\n // 1-indexed, while this property is 0-indexed, so we don't need to increment).\n return this._tree.treeControl.getLevel ? this._tree.treeControl.getLevel(this._data) : this._parentNodeAriaLevel;\n }\n constructor(_elementRef, _tree) {\n this._elementRef = _elementRef;\n this._tree = _tree;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new Subject();\n /** Emits when the node's data has changed. */\n this._dataChanges = new Subject();\n CdkTreeNode.mostRecentTreeNode = this;\n this.role = 'treeitem';\n }\n ngOnInit() {\n this._parentNodeAriaLevel = getParentNodeAriaLevel(this._elementRef.nativeElement);\n this._elementRef.nativeElement.setAttribute('aria-level', `${this.level + 1}`);\n }\n ngOnDestroy() {\n // If this is the last tree node being destroyed,\n // clear out the reference to avoid leaking memory.\n if (CdkTreeNode.mostRecentTreeNode === this) {\n CdkTreeNode.mostRecentTreeNode = null;\n }\n this._dataChanges.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Focuses the menu item. Implements for FocusableOption. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n // TODO: role should eventually just be set in the component host\n _setRoleFromData() {\n if (!this._tree.treeControl.isExpandable && !this._tree.treeControl.getChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlFunctionsMissingError();\n }\n this.role = 'treeitem';\n }\n static {\n this.ɵfac = function CdkTreeNode_Factory(t) {\n return new (t || CdkTreeNode)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(CdkTree));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkTreeNode,\n selectors: [[\"cdk-tree-node\"]],\n hostAttrs: [1, \"cdk-tree-node\"],\n hostVars: 1,\n hostBindings: function CdkTreeNode_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-expanded\", ctx.isExpanded);\n }\n },\n inputs: {\n role: \"role\"\n },\n exportAs: [\"cdkTreeNode\"],\n standalone: true\n });\n }\n }\n return CdkTreeNode;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction getParentNodeAriaLevel(nodeElement) {\n let parent = nodeElement.parentElement;\n while (parent && !isNodeElement(parent)) {\n parent = parent.parentElement;\n }\n if (!parent) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw Error('Incorrect tree structure containing detached node.');\n } else {\n return -1;\n }\n } else if (parent.classList.contains('cdk-nested-tree-node')) {\n return numberAttribute(parent.getAttribute('aria-level'));\n } else {\n // The ancestor element is the cdk-tree itself\n return 0;\n }\n}\nfunction isNodeElement(element) {\n const classList = element.classList;\n return !!(classList?.contains('cdk-nested-tree-node') || classList?.contains('cdk-tree'));\n}\n\n/**\n * Nested node is a child of ``. It works with nested tree.\n * By using `cdk-nested-tree-node` component in tree node template, children of the parent node will\n * be added in the `cdkTreeNodeOutlet` in tree node template.\n * The children of node will be automatically added to `cdkTreeNodeOutlet`.\n */\nlet CdkNestedTreeNode = /*#__PURE__*/(() => {\n class CdkNestedTreeNode extends CdkTreeNode {\n constructor(elementRef, tree, _differs) {\n super(elementRef, tree);\n this._differs = _differs;\n }\n ngAfterContentInit() {\n this._dataDiffer = this._differs.find([]).create(this._tree.trackBy);\n if (!this._tree.treeControl.getChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getTreeControlFunctionsMissingError();\n }\n const childrenNodes = this._tree.treeControl.getChildren(this.data);\n if (Array.isArray(childrenNodes)) {\n this.updateChildrenNodes(childrenNodes);\n } else if (isObservable(childrenNodes)) {\n childrenNodes.pipe(takeUntil(this._destroyed)).subscribe(result => this.updateChildrenNodes(result));\n }\n this.nodeOutlet.changes.pipe(takeUntil(this._destroyed)).subscribe(() => this.updateChildrenNodes());\n }\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n ngOnInit() {\n super.ngOnInit();\n }\n ngOnDestroy() {\n this._clear();\n super.ngOnDestroy();\n }\n /** Add children dataNodes to the NodeOutlet */\n updateChildrenNodes(children) {\n const outlet = this._getNodeOutlet();\n if (children) {\n this._children = children;\n }\n if (outlet && this._children) {\n const viewContainer = outlet.viewContainer;\n this._tree.renderNodeChanges(this._children, this._dataDiffer, viewContainer, this._data);\n } else {\n // Reset the data differ if there's no children nodes displayed\n this._dataDiffer.diff([]);\n }\n }\n /** Clear the children dataNodes. */\n _clear() {\n const outlet = this._getNodeOutlet();\n if (outlet) {\n outlet.viewContainer.clear();\n this._dataDiffer.diff([]);\n }\n }\n /** Gets the outlet for the current node. */\n _getNodeOutlet() {\n const outlets = this.nodeOutlet;\n // Note that since we use `descendants: true` on the query, we have to ensure\n // that we don't pick up the outlet of a child node by accident.\n return outlets && outlets.find(outlet => !outlet._node || outlet._node === this);\n }\n static {\n this.ɵfac = function CdkNestedTreeNode_Factory(t) {\n return new (t || CdkNestedTreeNode)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(CdkTree), i0.ɵɵdirectiveInject(i0.IterableDiffers));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkNestedTreeNode,\n selectors: [[\"cdk-nested-tree-node\"]],\n contentQueries: function CdkNestedTreeNode_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, CdkTreeNodeOutlet, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nodeOutlet = _t);\n }\n },\n hostAttrs: [1, \"cdk-nested-tree-node\"],\n exportAs: [\"cdkNestedTreeNode\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTreeNode,\n useExisting: CdkNestedTreeNode\n }, {\n provide: CDK_TREE_NODE_OUTLET_NODE,\n useExisting: CdkNestedTreeNode\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return CdkNestedTreeNode;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * Indent for the children tree dataNodes.\n * This directive will add left-padding to the node to show hierarchy.\n */\nlet CdkTreeNodePadding = /*#__PURE__*/(() => {\n class CdkTreeNodePadding {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get level() {\n return this._level;\n }\n set level(value) {\n this._setLevelInput(value);\n }\n /**\n * The indent for each level. Can be a number or a CSS string.\n * Default number 40px from material design menu sub-menu spec.\n */\n get indent() {\n return this._indent;\n }\n set indent(indent) {\n this._setIndentInput(indent);\n }\n constructor(_treeNode, _tree, _element, _dir) {\n this._treeNode = _treeNode;\n this._tree = _tree;\n this._element = _element;\n this._dir = _dir;\n /** Subject that emits when the component has been destroyed. */\n this._destroyed = new Subject();\n /** CSS units used for the indentation value. */\n this.indentUnits = 'px';\n this._indent = 40;\n this._setPadding();\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => this._setPadding(true));\n }\n // In Ivy the indentation binding might be set before the tree node's data has been added,\n // which means that we'll miss the first render. We have to subscribe to changes in the\n // data to ensure that everything is up to date.\n _treeNode._dataChanges.subscribe(() => this._setPadding());\n }\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** The padding indent value for the tree node. Returns a string with px numbers if not null. */\n _paddingIndent() {\n const nodeLevel = this._treeNode.data && this._tree.treeControl.getLevel ? this._tree.treeControl.getLevel(this._treeNode.data) : null;\n const level = this._level == null ? nodeLevel : this._level;\n return typeof level === 'number' ? `${level * this._indent}${this.indentUnits}` : null;\n }\n _setPadding(forceChange = false) {\n const padding = this._paddingIndent();\n if (padding !== this._currentPadding || forceChange) {\n const element = this._element.nativeElement;\n const paddingProp = this._dir && this._dir.value === 'rtl' ? 'paddingRight' : 'paddingLeft';\n const resetProp = paddingProp === 'paddingLeft' ? 'paddingRight' : 'paddingLeft';\n element.style[paddingProp] = padding || '';\n element.style[resetProp] = '';\n this._currentPadding = padding;\n }\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setLevelInput(value) {\n // Set to null as the fallback value so that _setPadding can fall back to the node level if the\n // consumer set the directive as `cdkTreeNodePadding=\"\"`. We still want to take this value if\n // they set 0 explicitly.\n this._level = isNaN(value) ? null : value;\n this._setPadding();\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n _setIndentInput(indent) {\n let value = indent;\n let units = 'px';\n if (typeof indent === 'string') {\n const parts = indent.split(cssUnitPattern);\n value = parts[0];\n units = parts[1] || units;\n }\n this.indentUnits = units;\n this._indent = numberAttribute(value);\n this._setPadding();\n }\n static {\n this.ɵfac = function CdkTreeNodePadding_Factory(t) {\n return new (t || CdkTreeNodePadding)(i0.ɵɵdirectiveInject(CdkTreeNode), i0.ɵɵdirectiveInject(CdkTree), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.Directionality, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkTreeNodePadding,\n selectors: [[\"\", \"cdkTreeNodePadding\", \"\"]],\n inputs: {\n level: [i0.ɵɵInputFlags.HasDecoratorInputTransform, \"cdkTreeNodePadding\", \"level\", numberAttribute],\n indent: [i0.ɵɵInputFlags.None, \"cdkTreeNodePaddingIndent\", \"indent\"]\n },\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature]\n });\n }\n }\n return CdkTreeNodePadding;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Node toggle to expand/collapse the node.\n */\nlet CdkTreeNodeToggle = /*#__PURE__*/(() => {\n class CdkTreeNodeToggle {\n constructor(_tree, _treeNode) {\n this._tree = _tree;\n this._treeNode = _treeNode;\n /** Whether expand/collapse the node recursively. */\n this.recursive = false;\n }\n _toggle(event) {\n this.recursive ? this._tree.treeControl.toggleDescendants(this._treeNode.data) : this._tree.treeControl.toggle(this._treeNode.data);\n event.stopPropagation();\n }\n static {\n this.ɵfac = function CdkTreeNodeToggle_Factory(t) {\n return new (t || CdkTreeNodeToggle)(i0.ɵɵdirectiveInject(CdkTree), i0.ɵɵdirectiveInject(CdkTreeNode));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkTreeNodeToggle,\n selectors: [[\"\", \"cdkTreeNodeToggle\", \"\"]],\n hostBindings: function CdkTreeNodeToggle_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function CdkTreeNodeToggle_click_HostBindingHandler($event) {\n return ctx._toggle($event);\n });\n }\n },\n inputs: {\n recursive: [i0.ɵɵInputFlags.HasDecoratorInputTransform, \"cdkTreeNodeToggleRecursive\", \"recursive\", booleanAttribute]\n },\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature]\n });\n }\n }\n return CdkTreeNodeToggle;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst EXPORTED_DECLARATIONS = [CdkNestedTreeNode, CdkTreeNodeDef, CdkTreeNodePadding, CdkTreeNodeToggle, CdkTree, CdkTreeNode, CdkTreeNodeOutlet];\nlet CdkTreeModule = /*#__PURE__*/(() => {\n class CdkTreeModule {\n static {\n this.ɵfac = function CdkTreeModule_Factory(t) {\n return new (t || CdkTreeModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: CdkTreeModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return CdkTreeModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BaseTreeControl, CDK_TREE_NODE_OUTLET_NODE, CdkNestedTreeNode, CdkTree, CdkTreeModule, CdkTreeNode, CdkTreeNodeDef, CdkTreeNodeOutlet, CdkTreeNodeOutletContext, CdkTreeNodePadding, CdkTreeNodeToggle, FlatTreeControl, NestedTreeControl, getTreeControlFunctionsMissingError, getTreeControlMissingError, getTreeMissingMatchingNodeDefError, getTreeMultipleDefaultNodeDefsError, getTreeNoValidDataSourceError };\n","import * as i1 from '@angular/cdk/tree';\nimport { CdkTreeNode, CdkTreeNodeDef, CdkNestedTreeNode, CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodePadding, CdkTreeNodeOutlet, CdkTree, CdkTreeNodeToggle, CdkTreeModule } from '@angular/cdk/tree';\nimport * as i0 from '@angular/core';\nimport { booleanAttribute, numberAttribute, Directive, Attribute, Input, Inject, Optional, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport { DataSource } from '@angular/cdk/collections';\nimport { BehaviorSubject, merge } from 'rxjs';\nimport { take, map } from 'rxjs/operators';\n\n/**\n * Wrapper for the CdkTree node with Material design styles.\n */\nlet MatTreeNode = /*#__PURE__*/(() => {\n class MatTreeNode extends CdkTreeNode {\n constructor(elementRef, tree, tabIndex) {\n super(elementRef, tree);\n /** Whether the node is disabled. */\n this.disabled = false;\n this.tabIndex = Number(tabIndex) || 0;\n }\n // This is a workaround for https://github.com/angular/angular/issues/23091\n // In aot mode, the lifecycle hooks from parent class are not called.\n ngOnInit() {\n super.ngOnInit();\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n static {\n this.ɵfac = function MatTreeNode_Factory(t) {\n return new (t || MatTreeNode)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.CdkTree), i0.ɵɵinjectAttribute('tabindex'));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatTreeNode,\n selectors: [[\"mat-tree-node\"]],\n hostAttrs: [1, \"mat-tree-node\"],\n inputs: {\n disabled: [i0.ɵɵInputFlags.HasDecoratorInputTransform, \"disabled\", \"disabled\", booleanAttribute],\n tabIndex: [i0.ɵɵInputFlags.HasDecoratorInputTransform, \"tabIndex\", \"tabIndex\", value => value == null ? 0 : numberAttribute(value)]\n },\n exportAs: [\"matTreeNode\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTreeNode,\n useExisting: MatTreeNode\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatTreeNode;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Wrapper for the CdkTree node definition with Material design styles.\n * Captures the node's template and a when predicate that describes when this node should be used.\n */\nlet MatTreeNodeDef = /*#__PURE__*/(() => {\n class MatTreeNodeDef extends CdkTreeNodeDef {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatTreeNodeDef_BaseFactory;\n return function MatTreeNodeDef_Factory(t) {\n return (ɵMatTreeNodeDef_BaseFactory || (ɵMatTreeNodeDef_BaseFactory = i0.ɵɵgetInheritedFactory(MatTreeNodeDef)))(t || MatTreeNodeDef);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatTreeNodeDef,\n selectors: [[\"\", \"matTreeNodeDef\", \"\"]],\n inputs: {\n when: [i0.ɵɵInputFlags.None, \"matTreeNodeDefWhen\", \"when\"],\n data: [i0.ɵɵInputFlags.None, \"matTreeNode\", \"data\"]\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTreeNodeDef,\n useExisting: MatTreeNodeDef\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatTreeNodeDef;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Wrapper for the CdkTree nested node with Material design styles.\n */\nlet MatNestedTreeNode = /*#__PURE__*/(() => {\n class MatNestedTreeNode extends CdkNestedTreeNode {\n /** Tabindex for the node. */\n get tabIndex() {\n return this.disabled ? -1 : this._tabIndex;\n }\n set tabIndex(value) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? value : 0;\n }\n constructor(elementRef, tree, differs, tabIndex) {\n super(elementRef, tree, differs);\n /** Whether the node is disabled. */\n this.disabled = false;\n this.tabIndex = Number(tabIndex) || 0;\n }\n // This is a workaround for https://github.com/angular/angular/issues/19145\n // In aot mode, the lifecycle hooks from parent class are not called.\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\n ngOnInit() {\n super.ngOnInit();\n }\n ngAfterContentInit() {\n super.ngAfterContentInit();\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n static {\n this.ɵfac = function MatNestedTreeNode_Factory(t) {\n return new (t || MatNestedTreeNode)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.CdkTree), i0.ɵɵdirectiveInject(i0.IterableDiffers), i0.ɵɵinjectAttribute('tabindex'));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatNestedTreeNode,\n selectors: [[\"mat-nested-tree-node\"]],\n hostAttrs: [1, \"mat-nested-tree-node\"],\n inputs: {\n node: [i0.ɵɵInputFlags.None, \"matNestedTreeNode\", \"node\"],\n disabled: [i0.ɵɵInputFlags.HasDecoratorInputTransform, \"disabled\", \"disabled\", booleanAttribute],\n tabIndex: \"tabIndex\"\n },\n exportAs: [\"matNestedTreeNode\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkNestedTreeNode,\n useExisting: MatNestedTreeNode\n }, {\n provide: CdkTreeNode,\n useExisting: MatNestedTreeNode\n }, {\n provide: CDK_TREE_NODE_OUTLET_NODE,\n useExisting: MatNestedTreeNode\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatNestedTreeNode;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Wrapper for the CdkTree padding with Material design styles.\n */\nlet MatTreeNodePadding = /*#__PURE__*/(() => {\n class MatTreeNodePadding extends CdkTreeNodePadding {\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\n get level() {\n return this._level;\n }\n set level(value) {\n this._setLevelInput(value);\n }\n /** The indent for each level. Default number 40px from material design menu sub-menu spec. */\n get indent() {\n return this._indent;\n }\n set indent(indent) {\n this._setIndentInput(indent);\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatTreeNodePadding_BaseFactory;\n return function MatTreeNodePadding_Factory(t) {\n return (ɵMatTreeNodePadding_BaseFactory || (ɵMatTreeNodePadding_BaseFactory = i0.ɵɵgetInheritedFactory(MatTreeNodePadding)))(t || MatTreeNodePadding);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatTreeNodePadding,\n selectors: [[\"\", \"matTreeNodePadding\", \"\"]],\n inputs: {\n level: [i0.ɵɵInputFlags.HasDecoratorInputTransform, \"matTreeNodePadding\", \"level\", numberAttribute],\n indent: [i0.ɵɵInputFlags.None, \"matTreeNodePaddingIndent\", \"indent\"]\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTreeNodePadding,\n useExisting: MatTreeNodePadding\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatTreeNodePadding;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Outlet for nested CdkNode. Put `[matTreeNodeOutlet]` on a tag to place children dataNodes\n * inside the outlet.\n */\nlet MatTreeNodeOutlet = /*#__PURE__*/(() => {\n class MatTreeNodeOutlet {\n constructor(viewContainer, _node) {\n this.viewContainer = viewContainer;\n this._node = _node;\n }\n static {\n this.ɵfac = function MatTreeNodeOutlet_Factory(t) {\n return new (t || MatTreeNodeOutlet)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(CDK_TREE_NODE_OUTLET_NODE, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatTreeNodeOutlet,\n selectors: [[\"\", \"matTreeNodeOutlet\", \"\"]],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTreeNodeOutlet,\n useExisting: MatTreeNodeOutlet\n }])]\n });\n }\n }\n return MatTreeNodeOutlet;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Wrapper for the CdkTable with Material design styles.\n */\nlet MatTree = /*#__PURE__*/(() => {\n class MatTree extends CdkTree {\n constructor() {\n super(...arguments);\n // Outlets within the tree's template where the dataNodes will be inserted.\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\n this._nodeOutlet = undefined;\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatTree_BaseFactory;\n return function MatTree_Factory(t) {\n return (ɵMatTree_BaseFactory || (ɵMatTree_BaseFactory = i0.ɵɵgetInheritedFactory(MatTree)))(t || MatTree);\n };\n })();\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatTree,\n selectors: [[\"mat-tree\"]],\n viewQuery: function MatTree_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(MatTreeNodeOutlet, 7);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._nodeOutlet = _t.first);\n }\n },\n hostAttrs: [\"role\", \"tree\", 1, \"mat-tree\"],\n exportAs: [\"matTree\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTree,\n useExisting: MatTree\n }]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature],\n decls: 1,\n vars: 0,\n consts: [[\"matTreeNodeOutlet\", \"\"]],\n template: function MatTree_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0, 0);\n }\n },\n dependencies: [MatTreeNodeOutlet],\n styles: [\".mat-tree{display:block;background-color:var(--mat-tree-container-background-color)}.mat-tree-node,.mat-nested-tree-node{color:var(--mat-tree-node-text-color);font-family:var(--mat-tree-node-text-font);font-size:var(--mat-tree-node-text-size);font-weight:var(--mat-tree-node-text-weight)}.mat-tree-node{display:flex;align-items:center;flex:1;word-wrap:break-word;min-height:var(--mat-tree-node-min-height)}.mat-nested-tree-node{border-bottom-width:0}\"],\n encapsulation: 2\n });\n }\n }\n return MatTree;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Wrapper for the CdkTree's toggle with Material design styles.\n */\nlet MatTreeNodeToggle = /*#__PURE__*/(() => {\n class MatTreeNodeToggle extends CdkTreeNodeToggle {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatTreeNodeToggle_BaseFactory;\n return function MatTreeNodeToggle_Factory(t) {\n return (ɵMatTreeNodeToggle_BaseFactory || (ɵMatTreeNodeToggle_BaseFactory = i0.ɵɵgetInheritedFactory(MatTreeNodeToggle)))(t || MatTreeNodeToggle);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatTreeNodeToggle,\n selectors: [[\"\", \"matTreeNodeToggle\", \"\"]],\n inputs: {\n recursive: [i0.ɵɵInputFlags.None, \"matTreeNodeToggleRecursive\", \"recursive\"]\n },\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CdkTreeNodeToggle,\n useExisting: MatTreeNodeToggle\n }]), i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatTreeNodeToggle;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nconst MAT_TREE_DIRECTIVES = [MatNestedTreeNode, MatTreeNodeDef, MatTreeNodePadding, MatTreeNodeToggle, MatTree, MatTreeNode, MatTreeNodeOutlet];\nlet MatTreeModule = /*#__PURE__*/(() => {\n class MatTreeModule {\n static {\n this.ɵfac = function MatTreeModule_Factory(t) {\n return new (t || MatTreeModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatTreeModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CdkTreeModule, MatCommonModule, MatCommonModule]\n });\n }\n }\n return MatTreeModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Tree flattener to convert a normal type of node to node with children & level information.\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\n *\n * For example, the input data of type `T` is nested, and contains its children data:\n * SomeNode: {\n * key: 'Fruits',\n * children: [\n * NodeOne: {\n * key: 'Apple',\n * },\n * NodeTwo: {\n * key: 'Pear',\n * }\n * ]\n * }\n * After flattener flatten the tree, the structure will become\n * SomeNode: {\n * key: 'Fruits',\n * expandable: true,\n * level: 1\n * },\n * NodeOne: {\n * key: 'Apple',\n * expandable: false,\n * level: 2\n * },\n * NodeTwo: {\n * key: 'Pear',\n * expandable: false,\n * level: 2\n * }\n * and the output flattened type is `F` with additional information.\n */\nclass MatTreeFlattener {\n constructor(transformFunction, getLevel, isExpandable, getChildren) {\n this.transformFunction = transformFunction;\n this.getLevel = getLevel;\n this.isExpandable = isExpandable;\n this.getChildren = getChildren;\n }\n _flattenNode(node, level, resultNodes, parentMap) {\n const flatNode = this.transformFunction(node, level);\n resultNodes.push(flatNode);\n if (this.isExpandable(flatNode)) {\n const childrenNodes = this.getChildren(node);\n if (childrenNodes) {\n if (Array.isArray(childrenNodes)) {\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\n } else {\n childrenNodes.pipe(take(1)).subscribe(children => {\n this._flattenChildren(children, level, resultNodes, parentMap);\n });\n }\n }\n }\n return resultNodes;\n }\n _flattenChildren(children, level, resultNodes, parentMap) {\n children.forEach((child, index) => {\n let childParentMap = parentMap.slice();\n childParentMap.push(index != children.length - 1);\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\n });\n }\n /**\n * Flatten a list of node type T to flattened version of node F.\n * Please note that type T may be nested, and the length of `structuredData` may be different\n * from that of returned list `F[]`.\n */\n flattenNodes(structuredData) {\n let resultNodes = [];\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\n return resultNodes;\n }\n /**\n * Expand flattened node with current expansion status.\n * The returned list may have different length.\n */\n expandFlattenedNodes(nodes, treeControl) {\n let results = [];\n let currentExpand = [];\n currentExpand[0] = true;\n nodes.forEach(node => {\n let expand = true;\n for (let i = 0; i <= this.getLevel(node); i++) {\n expand = expand && currentExpand[i];\n }\n if (expand) {\n results.push(node);\n }\n if (this.isExpandable(node)) {\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\n }\n });\n return results;\n }\n}\n/**\n * Data source for flat tree.\n * The data source need to handle expansion/collapsion of the tree node and change the data feed\n * to `MatTree`.\n * The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted\n * to type `F` for `MatTree` to consume.\n */\nclass MatTreeFlatDataSource extends DataSource {\n get data() {\n return this._data.value;\n }\n set data(value) {\n this._data.next(value);\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\n this._treeControl.dataNodes = this._flattenedData.value;\n }\n constructor(_treeControl, _treeFlattener, initialData) {\n super();\n this._treeControl = _treeControl;\n this._treeFlattener = _treeFlattener;\n this._flattenedData = new BehaviorSubject([]);\n this._expandedData = new BehaviorSubject([]);\n this._data = new BehaviorSubject([]);\n if (initialData) {\n // Assign the data through the constructor to ensure that all of the logic is executed.\n this.data = initialData;\n }\n }\n connect(collectionViewer) {\n return merge(collectionViewer.viewChange, this._treeControl.expansionModel.changed, this._flattenedData).pipe(map(() => {\n this._expandedData.next(this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl));\n return this._expandedData.value;\n }));\n }\n disconnect() {\n // no op\n }\n}\n\n/**\n * Data source for nested tree.\n *\n * The data source for nested tree doesn't have to consider node flattener, or the way to expand\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\n */\nclass MatTreeNestedDataSource extends DataSource {\n constructor() {\n super(...arguments);\n this._data = new BehaviorSubject([]);\n }\n /**\n * Data for the nested tree\n */\n get data() {\n return this._data.value;\n }\n set data(value) {\n this._data.next(value);\n }\n connect(collectionViewer) {\n return merge(...[collectionViewer.viewChange, this._data]).pipe(map(() => this.data));\n }\n disconnect() {\n // no op\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatNestedTreeNode, MatTree, MatTreeFlatDataSource, MatTreeFlattener, MatTreeModule, MatTreeNestedDataSource, MatTreeNode, MatTreeNodeDef, MatTreeNodeOutlet, MatTreeNodePadding, MatTreeNodeToggle };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Optional, Inject, inject, Input, ANIMATION_MODULE_TYPE, ContentChildren, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, EventEmitter, Output, forwardRef, NgModule } from '@angular/core';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { RippleRenderer, MAT_RIPPLE_GLOBAL_OPTIONS, MatCommonModule, MatRippleModule, MatPseudoCheckboxModule } from '@angular/material/core';\nimport { Subscription, merge, Subject } from 'rxjs';\nimport { CdkObserveContent, ObserversModule } from '@angular/cdk/observers';\nimport { NgTemplateOutlet, CommonModule } from '@angular/common';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { ENTER, SPACE, A, hasModifierKey } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\n\n/**\n * Injection token that can be used to reference instances of an `ListOption`. It serves\n * as alternative token to an actual implementation which could result in undesired\n * retention of the class or circular references breaking runtime execution.\n * @docs-private\n */\nconst _c0 = [\"*\"];\nconst _c1 = \"@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-list-divider::after{content:\\\"\\\";display:block;border-bottom-width:1px;border-bottom-style:solid}}.mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item__wrapper{display:block}.mdc-list-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer}.mdc-list-item:focus{outline:none}.mdc-list-item.mdc-list-item--with-one-line{height:48px}.mdc-list-item.mdc-list-item--with-two-lines{height:64px}.mdc-list-item.mdc-list-item--with-three-lines{height:88px}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--disabled,.mdc-list-item.mdc-list-item--non-interactive{cursor:auto}.mdc-list-item:not(.mdc-list-item--selected):focus::before,.mdc-list-item.mdc-ripple-upgraded--background-focused::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item:not(.mdc-list-item--selected):focus::before,.mdc-list-item.mdc-ripple-upgraded--background-focused::before{border-color:CanvasText}}.mdc-list-item.mdc-list-item--selected::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:3px double rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item.mdc-list-item--selected::before{border-color:CanvasText}}.mdc-list-item.mdc-list-item--selected:focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:3px solid rgba(0,0,0,0);border-radius:inherit;content:\\\"\\\";pointer-events:none}@media screen and (forced-colors: active){.mdc-list-item.mdc-list-item--selected:focus::before{border-color:CanvasText}}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__content[for]{pointer-events:none}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;line-height:normal}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item__overline-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:24px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-three-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-three-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start,.mdc-list-item--with-leading-avatar .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-avatar .mdc-list-item__start{border-radius:50%}.mdc-list-item--with-leading-icon.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start,.mdc-list-item--with-leading-icon .mdc-list-item__start[dir=rtl]{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-thumbnail.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-thumbnail.mdc-list-item,.mdc-list-item--with-leading-thumbnail.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-thumbnail .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-thumbnail .mdc-list-item__start,.mdc-list-item--with-leading-thumbnail .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-thumbnail.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-image.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-image.mdc-list-item,.mdc-list-item--with-leading-image.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-image .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-image .mdc-list-item__start,.mdc-list-item--with-leading-image .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-image.mdc-list-item--with-one-line{height:72px}.mdc-list-item--with-leading-image.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-video.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-video.mdc-list-item,.mdc-list-item--with-leading-video.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-video .mdc-list-item__start{margin-left:0;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-video .mdc-list-item__start,.mdc-list-item--with-leading-video .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-video.mdc-list-item--with-one-line{height:72px}.mdc-list-item--with-leading-video.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-checkbox.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start[dir=rtl]{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-radio.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-radio.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-radio .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-radio .mdc-list-item__start[dir=rtl]{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-leading-switch.mdc-list-item{padding-left:0;padding-right:auto}[dir=rtl] .mdc-list-item--with-leading-switch.mdc-list-item,.mdc-list-item--with-leading-switch.mdc-list-item[dir=rtl]{padding-left:auto;padding-right:0}.mdc-list-item--with-leading-switch .mdc-list-item__start{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-leading-switch .mdc-list-item__start,.mdc-list-item--with-leading-switch .mdc-list-item__start[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines .mdc-list-item__overline-text::after{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:-20px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-leading-switch.mdc-list-item--with-one-line{height:56px}.mdc-list-item--with-leading-switch.mdc-list-item--with-two-lines{height:72px}.mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item,.mdc-list-item--with-trailing-icon.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-icon .mdc-list-item__end,.mdc-list-item--with-trailing-icon .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item,.mdc-list-item--with-trailing-meta.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-trailing-meta .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family);font-size:var(--mdc-typography-caption-font-size);line-height:var(--mdc-typography-caption-line-height);font-weight:var(--mdc-typography-caption-font-weight);letter-spacing:var(--mdc-typography-caption-letter-spacing);text-decoration:var(--mdc-typography-caption-text-decoration);text-transform:var(--mdc-typography-caption-text-transform)}.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end[dir=rtl]{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-radio.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-radio .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-radio .mdc-list-item__end[dir=rtl]{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-switch.mdc-list-item{padding-left:auto;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-switch.mdc-list-item,.mdc-list-item--with-trailing-switch.mdc-list-item[dir=rtl]{padding-left:0;padding-right:auto}.mdc-list-item--with-trailing-switch .mdc-list-item__end{margin-left:16px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-switch .mdc-list-item__end,.mdc-list-item--with-trailing-switch .mdc-list-item__end[dir=rtl]{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-switch.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item--with-overline.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-overline.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:0}.mdc-list-item--with-overline.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-overline.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:20px;content:\\\"\\\";vertical-align:0}.mdc-list-item{padding-left:16px;padding-right:16px}[dir=rtl] .mdc-list-item,.mdc-list-item[dir=rtl]{padding-left:16px;padding-right:16px}.mdc-list-group .mdc-deprecated-list{padding:0}.mdc-list-group__subheader{margin:calc((3rem - 1.5rem)/2) 16px}.mdc-list-divider{padding:0;background-clip:content-box}.mdc-list-divider.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset{padding-left:16px;padding-right:auto}[dir=rtl] .mdc-list-divider.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset,[dir=rtl] .mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset,.mdc-list-divider.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-text.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-icon.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-image.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-switch.mdc-list-divider--with-leading-inset[dir=rtl],.mdc-list-divider--with-leading-radio.mdc-list-divider--with-leading-inset[dir=rtl]{padding-left:auto;padding-right:16px}.mdc-list-divider.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset,.mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset{padding-left:auto;padding-right:16px}[dir=rtl] .mdc-list-divider.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset,[dir=rtl] .mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset,.mdc-list-divider.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-text.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-icon.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-image.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-thumbnail.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-avatar.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-checkbox.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-switch.mdc-list-divider--with-trailing-inset[dir=rtl],.mdc-list-divider--with-leading-radio.mdc-list-divider--with-trailing-inset[dir=rtl]{padding-left:16px;padding-right:auto}.mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset{padding-left:0px;padding-right:auto}[dir=rtl] .mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset,.mdc-list-divider--with-leading-video.mdc-list-divider--with-leading-inset[dir=rtl]{padding-left:auto;padding-right:0px}[dir=rtl] .mdc-list-divider,.mdc-list-divider[dir=rtl]{padding:0}.mdc-list-item{background-color:var(--mdc-list-list-item-container-color)}.mdc-list-item.mdc-list-item--selected{background-color:var(--mdc-list-list-item-selected-container-color)}.mdc-list-item--with-one-line{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-one-line.mdc-list-item--with-leading-avatar,.mdc-list-item--with-one-line.mdc-list-item--with-leading-icon,.mdc-list-item--with-one-line.mdc-list-item--with-leading-thumbnail,.mdc-list-item--with-one-line.mdc-list-item--with-leading-checkbox,.mdc-list-item--with-one-line.mdc-list-item--with-leading-radio,.mdc-list-item--with-one-line.mdc-list-item--with-leading-switch{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-one-line.mdc-list-item--with-leading-image,.mdc-list-item--with-one-line.mdc-list-item--with-leading-video{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-two-lines{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-two-lines.mdc-list-item--with-leading-avatar,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-icon,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-thumbnail,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-checkbox,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-radio,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-switch,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-image,.mdc-list-item--with-two-lines.mdc-list-item--with-leading-video{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item--with-three-lines{border-radius:var(--mdc-list-list-item-container-shape)}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mdc-list-list-item-one-line-container-height)}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mdc-list-list-item-two-line-container-height)}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mdc-list-list-item-three-line-container-height)}.mdc-list-item__primary-text{color:var(--mdc-list-list-item-label-text-color)}.mdc-list-item__primary-text{font-family:var(--mdc-list-list-item-label-text-font);line-height:var(--mdc-list-list-item-label-text-line-height);font-size:var(--mdc-list-list-item-label-text-size);font-weight:var(--mdc-list-list-item-label-text-weight);letter-spacing:var(--mdc-list-list-item-label-text-tracking)}.mdc-list-item__secondary-text{color:var(--mdc-list-list-item-supporting-text-color)}.mdc-list-item__secondary-text{font-family:var(--mdc-list-list-item-supporting-text-font);line-height:var(--mdc-list-list-item-supporting-text-line-height);font-size:var(--mdc-list-list-item-supporting-text-size);font-weight:var(--mdc-list-list-item-supporting-text-weight);letter-spacing:var(--mdc-list-list-item-supporting-text-tracking)}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-leading-icon-color)}.mdc-list-item--with-leading-icon .mdc-list-item__start{width:var(--mdc-list-list-item-leading-icon-size);height:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start>i{font-size:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon{font-size:var(--mdc-list-list-item-leading-icon-size);width:var(--mdc-list-list-item-leading-icon-size);height:var(--mdc-list-list-item-leading-icon-size)}.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon,.mdc-list-item--with-leading-icon .mdc-list-item__start .mdc-list-item__icon>.materialdesignWizIconSvgsSvgIcon{display:block}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mdc-list-list-item-leading-avatar-size);height:var(--mdc-list-list-item-leading-avatar-size)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-supporting-text-color)}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mdc-list-list-item-trailing-supporting-text-font);line-height:var(--mdc-list-list-item-trailing-supporting-text-line-height);font-size:var(--mdc-list-list-item-trailing-supporting-text-size);font-weight:var(--mdc-list-list-item-trailing-supporting-text-weight);letter-spacing:var(--mdc-list-list-item-trailing-supporting-text-tracking)}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-trailing-icon-color)}.mdc-list-item--with-trailing-icon .mdc-list-item__end{width:var(--mdc-list-list-item-trailing-icon-size);height:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end>i{font-size:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon{font-size:var(--mdc-list-list-item-trailing-icon-size);width:var(--mdc-list-list-item-trailing-icon-size);height:var(--mdc-list-list-item-trailing-icon-size)}.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon,.mdc-list-item--with-trailing-icon .mdc-list-item__end .mdc-list-item__icon>.materialdesignWizIconSvgsSvgIcon{display:block}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-selected-trailing-icon-color)}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text,.mdc-list-item--disabled .mdc-list-item__overline-text{opacity:var(--mdc-list-list-item-disabled-label-text-opacity)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mdc-list-list-item-disabled-leading-icon-color)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{opacity:var(--mdc-list-list-item-disabled-leading-icon-opacity)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mdc-list-list-item-disabled-trailing-icon-color)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{opacity:var(--mdc-list-list-item-disabled-trailing-icon-opacity)}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mdc-list-list-item-hover-label-text-color)}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mdc-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mdc-list-list-item-hover-trailing-icon-color)}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mdc-list-list-item-focus-label-text-color)}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mdc-list-list-item-disabled-label-text-color)}.mdc-list-item:hover::before{background-color:var(--mdc-list-list-item-hover-state-layer-color);opacity:var(--mdc-list-list-item-hover-state-layer-opacity)}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mdc-list-list-item-disabled-state-layer-color);opacity:var(--mdc-list-list-item-disabled-state-layer-opacity)}.mdc-list-item:focus::before{background-color:var(--mdc-list-list-item-focus-state-layer-color);opacity:var(--mdc-list-list-item-focus-state-layer-opacity)}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mdc-list-list-item-disabled-label-text-opacity)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mdc-list-list-item-leading-avatar-shape);background-color:var(--mdc-list-list-item-leading-avatar-color)}.cdk-high-contrast-active a.mdc-list-item--activated::after{content:\\\"\\\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}.cdk-high-contrast-active a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:\\\"\\\";opacity:0;pointer-events:none}.mat-mdc-list-item>.mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-mdc-focus-indicator::before{content:\\\"\\\"}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:left}[dir=rtl] mat-action-list button{text-align:right}mat-action-list button::-moz-focus-inner{border:0}\";\nconst _c2 = [\"unscopedContent\"];\nconst _c3 = [\"text\"];\nconst _c4 = [[[\"\", \"matListItemAvatar\", \"\"], [\"\", \"matListItemIcon\", \"\"]], [[\"\", \"matListItemTitle\", \"\"]], [[\"\", \"matListItemLine\", \"\"]], \"*\", [[\"\", \"matListItemMeta\", \"\"]], [[\"mat-divider\"]]];\nconst _c5 = [\"[matListItemAvatar],[matListItemIcon]\", \"[matListItemTitle]\", \"[matListItemLine]\", \"*\", \"[matListItemMeta]\", \"mat-divider\"];\nfunction MatListOption_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojection(0, 4);\n }\n}\nfunction MatListOption_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 10);\n i0.ɵɵelement(1, \"input\", 11);\n i0.ɵɵelementStart(2, \"div\", 12);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(3, \"svg\", 13);\n i0.ɵɵelement(4, \"path\", 14);\n i0.ɵɵelementEnd();\n i0.ɵɵnamespaceHTML();\n i0.ɵɵelement(5, \"div\", 15);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"mdc-checkbox--disabled\", ctx_r2.disabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"checked\", ctx_r2.selected)(\"disabled\", ctx_r2.disabled);\n }\n}\nfunction MatListOption_ng_template_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 16);\n i0.ɵɵelement(1, \"input\", 17);\n i0.ɵɵelementStart(2, \"div\", 18);\n i0.ɵɵelement(3, \"div\", 19)(4, \"div\", 20);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r4 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"mdc-radio--disabled\", ctx_r4.disabled);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"checked\", ctx_r4.selected)(\"disabled\", ctx_r4.disabled);\n }\n}\nfunction MatListOption_Conditional_6_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 21);\n i0.ɵɵtemplate(1, MatListOption_Conditional_6_ng_template_1_Template, 0, 0, \"ng-template\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const _r3 = i0.ɵɵreference(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r3);\n }\n}\nfunction MatListOption_Conditional_7_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 22);\n i0.ɵɵtemplate(1, MatListOption_Conditional_7_ng_template_1_Template, 0, 0, \"ng-template\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const _r5 = i0.ɵɵreference(5);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r5);\n }\n}\nfunction MatListOption_Conditional_8_ng_template_0_Template(rf, ctx) {}\nfunction MatListOption_Conditional_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, MatListOption_Conditional_8_ng_template_0_Template, 0, 0, \"ng-template\", 4);\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const _r1 = i0.ɵɵreference(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r1);\n }\n}\nfunction MatListOption_Conditional_15_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_15_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 23);\n i0.ɵɵtemplate(1, MatListOption_Conditional_15_ng_template_1_Template, 0, 0, \"ng-template\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const _r3 = i0.ɵɵreference(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r3);\n }\n}\nfunction MatListOption_Conditional_16_ng_template_1_Template(rf, ctx) {}\nfunction MatListOption_Conditional_16_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 23);\n i0.ɵɵtemplate(1, MatListOption_Conditional_16_ng_template_1_Template, 0, 0, \"ng-template\", 4);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const _r5 = i0.ɵɵreference(5);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r5);\n }\n}\nfunction MatListOption_Conditional_17_ng_template_0_Template(rf, ctx) {}\nfunction MatListOption_Conditional_17_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, MatListOption_Conditional_17_ng_template_0_Template, 0, 0, \"ng-template\", 4);\n }\n if (rf & 2) {\n i0.ɵɵnextContext();\n const _r1 = i0.ɵɵreference(1);\n i0.ɵɵproperty(\"ngTemplateOutlet\", _r1);\n }\n}\nconst _c6 = [[[\"\", \"matListItemTitle\", \"\"]], [[\"\", \"matListItemLine\", \"\"]], \"*\", [[\"mat-divider\"]], [[\"\", \"matListItemAvatar\", \"\"], [\"\", \"matListItemIcon\", \"\"]]];\nconst _c7 = [\"[matListItemTitle]\", \"[matListItemLine]\", \"*\", \"mat-divider\", \"[matListItemAvatar],[matListItemIcon]\"];\nconst LIST_OPTION = /*#__PURE__*/new InjectionToken('ListOption');\n\n/**\n * Directive capturing the title of a list item. A list item usually consists of a\n * title and optional secondary or tertiary lines.\n *\n * Text content for the title never wraps. There can only be a single title per list item.\n */\nlet MatListItemTitle = /*#__PURE__*/(() => {\n class MatListItemTitle {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n static {\n this.ɵfac = function MatListItemTitle_Factory(t) {\n return new (t || MatListItemTitle)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatListItemTitle,\n selectors: [[\"\", \"matListItemTitle\", \"\"]],\n hostAttrs: [1, \"mat-mdc-list-item-title\", \"mdc-list-item__primary-text\"],\n standalone: true\n });\n }\n }\n return MatListItemTitle;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive capturing a line in a list item. A list item usually consists of a\n * title and optional secondary or tertiary lines.\n *\n * Text content inside a line never wraps. There can be at maximum two lines per list item.\n */\nlet MatListItemLine = /*#__PURE__*/(() => {\n class MatListItemLine {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n static {\n this.ɵfac = function MatListItemLine_Factory(t) {\n return new (t || MatListItemLine)(i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatListItemLine,\n selectors: [[\"\", \"matListItemLine\", \"\"]],\n hostAttrs: [1, \"mat-mdc-list-item-line\", \"mdc-list-item__secondary-text\"],\n standalone: true\n });\n }\n }\n return MatListItemLine;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive matching an optional meta section for list items.\n *\n * List items can reserve space at the end of an item to display a control,\n * button or additional text content.\n */\nlet MatListItemMeta = /*#__PURE__*/(() => {\n class MatListItemMeta {\n static {\n this.ɵfac = function MatListItemMeta_Factory(t) {\n return new (t || MatListItemMeta)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatListItemMeta,\n selectors: [[\"\", \"matListItemMeta\", \"\"]],\n hostAttrs: [1, \"mat-mdc-list-item-meta\", \"mdc-list-item__end\"],\n standalone: true\n });\n }\n }\n return MatListItemMeta;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * @docs-private\n *\n * MDC uses the very intuitively named classes `.mdc-list-item__start` and `.mat-list-item__end` to\n * position content such as icons or checkboxes/radios that comes either before or after the text\n * content respectively. This directive detects the placement of the checkbox/radio and applies the\n * correct MDC class to position the icon/avatar on the opposite side.\n */\nlet _MatListItemGraphicBase = /*#__PURE__*/(() => {\n class _MatListItemGraphicBase {\n constructor(_listOption) {\n this._listOption = _listOption;\n }\n _isAlignedAtStart() {\n // By default, in all list items the graphic is aligned at start. In list options,\n // the graphic is only aligned at start if the checkbox/radio is at the end.\n return !this._listOption || this._listOption?._getTogglePosition() === 'after';\n }\n static {\n this.ɵfac = function _MatListItemGraphicBase_Factory(t) {\n return new (t || _MatListItemGraphicBase)(i0.ɵɵdirectiveInject(LIST_OPTION, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: _MatListItemGraphicBase,\n hostVars: 4,\n hostBindings: function _MatListItemGraphicBase_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mdc-list-item__start\", ctx._isAlignedAtStart())(\"mdc-list-item__end\", !ctx._isAlignedAtStart());\n }\n },\n standalone: true\n });\n }\n }\n return _MatListItemGraphicBase;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive matching an optional avatar within a list item.\n *\n * List items can reserve space at the beginning of an item to display an avatar.\n */\nlet MatListItemAvatar = /*#__PURE__*/(() => {\n class MatListItemAvatar extends _MatListItemGraphicBase {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatListItemAvatar_BaseFactory;\n return function MatListItemAvatar_Factory(t) {\n return (ɵMatListItemAvatar_BaseFactory || (ɵMatListItemAvatar_BaseFactory = i0.ɵɵgetInheritedFactory(MatListItemAvatar)))(t || MatListItemAvatar);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatListItemAvatar,\n selectors: [[\"\", \"matListItemAvatar\", \"\"]],\n hostAttrs: [1, \"mat-mdc-list-item-avatar\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatListItemAvatar;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Directive matching an optional icon within a list item.\n *\n * List items can reserve space at the beginning of an item to display an icon.\n */\nlet MatListItemIcon = /*#__PURE__*/(() => {\n class MatListItemIcon extends _MatListItemGraphicBase {\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatListItemIcon_BaseFactory;\n return function MatListItemIcon_Factory(t) {\n return (ɵMatListItemIcon_BaseFactory || (ɵMatListItemIcon_BaseFactory = i0.ɵɵgetInheritedFactory(MatListItemIcon)))(t || MatListItemIcon);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatListItemIcon,\n selectors: [[\"\", \"matListItemIcon\", \"\"]],\n hostAttrs: [1, \"mat-mdc-list-item-icon\"],\n standalone: true,\n features: [i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatListItemIcon;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Injection token that can be used to provide the default options for the list module. */\nconst MAT_LIST_CONFIG = /*#__PURE__*/new InjectionToken('MAT_LIST_CONFIG');\n\n/** @docs-private */\nlet MatListBase = /*#__PURE__*/(() => {\n class MatListBase {\n constructor() {\n this._isNonInteractive = true;\n this._disableRipple = false;\n this._disabled = false;\n this._defaultOptions = inject(MAT_LIST_CONFIG, {\n optional: true\n });\n }\n /** Whether ripples for all list items is disabled. */\n get disableRipple() {\n return this._disableRipple;\n }\n set disableRipple(value) {\n this._disableRipple = coerceBooleanProperty(value);\n }\n /**\n * Whether the entire list is disabled. When disabled, the list itself and each of its list items\n * are disabled.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n static {\n this.ɵfac = function MatListBase_Factory(t) {\n return new (t || MatListBase)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatListBase,\n hostVars: 1,\n hostBindings: function MatListBase_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-disabled\", ctx.disabled);\n }\n },\n inputs: {\n disableRipple: \"disableRipple\",\n disabled: \"disabled\"\n },\n standalone: true\n });\n }\n }\n return MatListBase;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** @docs-private */\nlet MatListItemBase = /*#__PURE__*/(() => {\n class MatListItemBase {\n /**\n * The number of lines this list item should reserve space for. If not specified,\n * lines are inferred based on the projected content.\n *\n * Explicitly specifying the number of lines is useful if you want to acquire additional\n * space and enable the wrapping of text. The unscoped text content of a list item will\n * always be able to take up the remaining space of the item, unless it represents the title.\n *\n * A maximum of three lines is supported as per the Material Design specification.\n */\n set lines(lines) {\n this._explicitLines = coerceNumberProperty(lines, null);\n this._updateItemLines(false);\n }\n /** Whether ripples for list items are disabled. */\n get disableRipple() {\n return this.disabled || this._disableRipple || this._noopAnimations || !!this._listBase?.disableRipple;\n }\n set disableRipple(value) {\n this._disableRipple = coerceBooleanProperty(value);\n }\n /** Whether the list-item is disabled. */\n get disabled() {\n return this._disabled || !!this._listBase?.disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n /**\n * Implemented as part of `RippleTarget`.\n * @docs-private\n */\n get rippleDisabled() {\n return this.disableRipple || !!this.rippleConfig.disabled;\n }\n constructor(_elementRef, _ngZone, _listBase, _platform, globalRippleOptions, animationMode) {\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n this._listBase = _listBase;\n this._platform = _platform;\n this._explicitLines = null;\n this._disableRipple = false;\n this._disabled = false;\n this._subscriptions = new Subscription();\n this._rippleRenderer = null;\n /** Whether the list item has unscoped text content. */\n this._hasUnscopedTextContent = false;\n this.rippleConfig = globalRippleOptions || {};\n this._hostElement = this._elementRef.nativeElement;\n this._isButtonElement = this._hostElement.nodeName.toLowerCase() === 'button';\n this._noopAnimations = animationMode === 'NoopAnimations';\n if (_listBase && !_listBase._isNonInteractive) {\n this._initInteractiveListItem();\n }\n // If no type attribute is specified for a host `\n \n
\n \n \n
\n \n \n {{node.menuNode.name}}\n \n \n {{node.menuNode.name}}\n \n {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}\n \n \n \n
\n
\n
\n
\n

{{ (user$ | async)?.name }}

\n \n
\n
\n\n
\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output} from '@angular/core';\nimport { MenuButtonPlaceEnum, MenuButtonsEnum, UserFunctionsEnum } from '../../../../models/enums/enums';\nimport {BehaviorSubject, filter, fromEvent, map, Observable} from \"rxjs\";\nimport { MenuService } from \"../../../../services/global-menu/menu.service\";\nimport { Router } from \"@angular/router\";\nimport {\n EVENTS_URL,\n LEARNING_MATERIALS_URL,\n LS_URL,\n MY_ACCESS_URL,\n ORDERS_URL,\n PORTAL_URL,\n PROFILE_URL,\n STUDENT_ZONE_URL\n} from \"../../../../models/const/urls\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport {\n ACCESS_ICON,\n EVENTS_ICON,\n LEARNING_MATERIALS_ICON,\n LS_ICON,\n ORDERS_ICON, PORTAL_ICON,\n PROFILE_ICON\n} from \"../../../../models/const/icons\";\nimport { UserFacade } from \"../../../../core/store/facade/user.facade\";\nimport { UserModel } from '../../../../models/interfaces/user-model';\nimport { prepareUserFunctionsArray } from '../../../../../utils/consts/const-methods';\nimport { AuthRedirectService } from '../../../../services/auth-redirect.service';\nimport {GLOBAL_MESSAGES} from \"../../../../models/const/strings\";\nimport {MOBILE_WIDTH, TABLET_WIDTH} from \"../../../../models/const/variables\";\nimport packageJson from '../../../../../../package.json';\n\nexport interface MenuRoutesInterface {\n icon: string,\n menuItem: MenuButtonsEnum;\n route: string;\n place: MenuButtonPlaceEnum;\n availableUserFunctions?: UserFunctionsEnum[];\n}\n\n@Component({\n selector: 'my-gwo-menu',\n templateUrl: './menu.component.html',\n styleUrl: './menu.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MenuComponent implements OnDestroy {\n @Input() isMobileMenuOpen: boolean = false;\n\n @Output() menuClosed = new EventEmitter();\n\n protected readonly window = window;\n\n protected readonly MOBILE_WIDTH = MOBILE_WIDTH;\n\n protected readonly TABLET_WIDTH = TABLET_WIDTH;\n\n protected readonly GLOBAL_MESSAGES = GLOBAL_MESSAGES;\n\n readonly currentPage$: Observable = this.menuService.getCurrentPage();\n\n readonly MenuButtonsEnum = MenuButtonsEnum;\n\n readonly MenuButtonPlaceEnum = MenuButtonPlaceEnum;\n\n readonly version: string = packageJson.version;\n\n readonly currentUserFunction$: Observable = this.userFacade.user$?.pipe(\n filter(Boolean),\n map((user: UserModel) => {\n return prepareUserFunctionsArray(user);\n })\n );\n\n readonly menuHighlightItems: MenuRoutesInterface[] = [\n {\n icon: 'access-icon',\n menuItem: MenuButtonsEnum.ACCESSES,\n route: MY_ACCESS_URL,\n place: MenuButtonPlaceEnum.TOP,\n availableUserFunctions: [UserFunctionsEnum.STUDENT, UserFunctionsEnum.QUASI, UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.PARENT, UserFunctionsEnum.OTHER],\n },\n {\n icon: 'lm-icon',\n menuItem: MenuButtonsEnum.LEARNING_MATERIALS,\n route: LEARNING_MATERIALS_URL,\n place: MenuButtonPlaceEnum.TOP,\n availableUserFunctions: [UserFunctionsEnum.LEARNING_MATERIALS],\n },\n {\n icon: 'lm-icon',\n menuItem: MenuButtonsEnum.STUDENT_ZONE,\n route: STUDENT_ZONE_URL,\n place: MenuButtonPlaceEnum.TOP,\n availableUserFunctions: [UserFunctionsEnum.STUDENT, UserFunctionsEnum.PARENT, UserFunctionsEnum.QUASI],\n },\n {\n icon: 'ls-icon',\n menuItem: MenuButtonsEnum.LS,\n route: LS_URL,\n place: MenuButtonPlaceEnum.TOP,\n availableUserFunctions: [UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.TEACHER, UserFunctionsEnum.OTHER],\n },\n {\n icon: 'events-icon',\n menuItem: MenuButtonsEnum.EVENTS,\n route: EVENTS_URL,\n place: MenuButtonPlaceEnum.BOTTOM,\n availableUserFunctions: [UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.OTHER],\n },\n {\n icon: 'orders-icon',\n menuItem: MenuButtonsEnum.ORDERS,\n route: ORDERS_URL,\n place: MenuButtonPlaceEnum.BOTTOM,\n availableUserFunctions: [UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.PARENT, UserFunctionsEnum.OTHER],\n },\n {\n icon: 'profile-icon',\n menuItem: MenuButtonsEnum.PROFILE,\n route: PROFILE_URL,\n place: MenuButtonPlaceEnum.BOTTOM,\n availableUserFunctions: [UserFunctionsEnum.STUDENT, UserFunctionsEnum.QUASI, UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.PARENT, UserFunctionsEnum.OTHER],\n },\n {\n icon: 'portal-icon',\n menuItem: MenuButtonsEnum.PORTAL,\n route: PORTAL_URL,\n place: MenuButtonPlaceEnum.BOTTOM,\n availableUserFunctions: [UserFunctionsEnum.STUDENT, UserFunctionsEnum.QUASI, UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.PARENT, UserFunctionsEnum.OTHER],\n },\n ];\n\n readonly user$ = this.userFacade.user$;\n\n isTooltipOpen = false;\n\n readonly isMenuHiddenBS: BehaviorSubject = new BehaviorSubject(false);\n\n readonly isMenuHidden$ = this.isMenuHiddenBS.asObservable();\n\n readonly resizeObservable$: Observable = fromEvent(window, 'resize');\n\n readonly resizeSubscription$ = this.resizeObservable$.subscribe(() => {\n this.isMenuHiddenBS.next(window.innerWidth < TABLET_WIDTH);\n });\n\n constructor(\n private readonly authRedirectService: AuthRedirectService,\n private readonly userFacade: UserFacade,\n private readonly menuService: MenuService,\n private readonly router: Router,\n readonly iconRegistry: MatIconRegistry,\n readonly sanitizer: DomSanitizer\n ) {\n iconRegistry.addSvgIconLiteral('access-icon', sanitizer.bypassSecurityTrustHtml(ACCESS_ICON));\n iconRegistry.addSvgIconLiteral('lm-icon', sanitizer.bypassSecurityTrustHtml(LEARNING_MATERIALS_ICON));\n iconRegistry.addSvgIconLiteral('ls-icon', sanitizer.bypassSecurityTrustHtml(LS_ICON));\n iconRegistry.addSvgIconLiteral('events-icon', sanitizer.bypassSecurityTrustHtml(EVENTS_ICON));\n iconRegistry.addSvgIconLiteral('orders-icon', sanitizer.bypassSecurityTrustHtml(ORDERS_ICON));\n iconRegistry.addSvgIconLiteral('profile-icon', sanitizer.bypassSecurityTrustHtml(PROFILE_ICON));\n iconRegistry.addSvgIconLiteral('portal-icon', sanitizer.bypassSecurityTrustHtml(PORTAL_ICON));\n this.isMenuHiddenBS.next(window.innerWidth < TABLET_WIDTH);\n }\n\n onChangePage(page: MenuButtonsEnum = MenuButtonsEnum.ACCESSES): void {\n const matchingMenuItem = this.menuHighlightItems.find((item) => item.menuItem === page);\n if (!matchingMenuItem) {\n return;\n }\n if (page === MenuButtonsEnum.STUDENT_ZONE || page === MenuButtonsEnum.PORTAL) {\n this.authRedirectService.openExternalPage(matchingMenuItem.route);\n return;\n }\n this.router.navigate([matchingMenuItem.route]);\n this.userFacade.setLoading(false);\n }\n\n onChangeMenuSize(): void {\n const currentMenuState = window.innerWidth < TABLET_WIDTH ? false : this.isMenuHiddenBS.getValue();\n this.isMenuHiddenBS.next(!currentMenuState);\n }\n\n onShowClubUpdateTooltip(menuItem: MenuButtonsEnum): void {\n if (menuItem !== MenuButtonsEnum.PROFILE) return;\n this.isTooltipOpen = menuItem === MenuButtonsEnum.PROFILE;\n }\n\n onRemoveClubUpdateTooltip(): void {\n this.isTooltipOpen = false;\n }\n\n onMobileMenuClosed(): void {\n this.menuClosed.emit();\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription$.unsubscribe()\n }\n\n protected readonly MY_ACCESS_URL = MY_ACCESS_URL;\n}\n","\n
\n
\n {{ (isMenuHidden$ | async) ? '' : 'Moje GWO' }}\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n {{ GLOBAL_MESSAGES.UPDATE_MEMBERSHIP }}\n
\n
\n
\n
\n
\n \n wersja: {{ version }}\n \n
\n
\n \n
\n\n@defer {\n \n \n \n}\n","import * as i0 from '@angular/core';\nimport { Directive, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, ContentChildren, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport * as i1 from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nconst _c0 = [\"*\", [[\"mat-toolbar-row\"]]];\nconst _c1 = [\"*\", \"mat-toolbar-row\"];\nlet MatToolbarRow = /*#__PURE__*/(() => {\n class MatToolbarRow {\n static {\n this.ɵfac = function MatToolbarRow_Factory(t) {\n return new (t || MatToolbarRow)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatToolbarRow,\n selectors: [[\"mat-toolbar-row\"]],\n hostAttrs: [1, \"mat-toolbar-row\"],\n exportAs: [\"matToolbarRow\"],\n standalone: true\n });\n }\n }\n return MatToolbarRow;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatToolbar = /*#__PURE__*/(() => {\n class MatToolbar {\n constructor(_elementRef, _platform, document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n // TODO: make the document a required param when doing breaking changes.\n this._document = document;\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n this._checkToolbarMixedModes();\n this._toolbarRows.changes.subscribe(() => this._checkToolbarMixedModes());\n }\n }\n /**\n * Throws an exception when developers are attempting to combine the different toolbar row modes.\n */\n _checkToolbarMixedModes() {\n if (this._toolbarRows.length && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n // Check if there are any other DOM nodes that can display content but aren't inside of\n // a element.\n const isCombinedUsage = Array.from(this._elementRef.nativeElement.childNodes).filter(node => !(node.classList && node.classList.contains('mat-toolbar-row'))).filter(node => node.nodeType !== (this._document ? this._document.COMMENT_NODE : 8)).some(node => !!(node.textContent && node.textContent.trim()));\n if (isCombinedUsage) {\n throwToolbarMixedModesError();\n }\n }\n }\n static {\n this.ɵfac = function MatToolbar_Factory(t) {\n return new (t || MatToolbar)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.Platform), i0.ɵɵdirectiveInject(DOCUMENT));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatToolbar,\n selectors: [[\"mat-toolbar\"]],\n contentQueries: function MatToolbar_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatToolbarRow, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._toolbarRows = _t);\n }\n },\n hostAttrs: [1, \"mat-toolbar\"],\n hostVars: 6,\n hostBindings: function MatToolbar_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.color ? \"mat-\" + ctx.color : \"\");\n i0.ɵɵclassProp(\"mat-toolbar-multiple-rows\", ctx._toolbarRows.length > 0)(\"mat-toolbar-single-row\", ctx._toolbarRows.length === 0);\n }\n },\n inputs: {\n color: \"color\"\n },\n exportAs: [\"matToolbar\"],\n standalone: true,\n features: [i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c1,\n decls: 2,\n vars: 0,\n template: function MatToolbar_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c0);\n i0.ɵɵprojection(0);\n i0.ɵɵprojection(1, 1);\n }\n },\n styles: [\".mat-toolbar{background:var(--mat-toolbar-container-background-color);color:var(--mat-toolbar-container-text-color)}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font);font-size:var(--mat-toolbar-title-text-size);line-height:var(--mat-toolbar-title-text-line-height);font-weight:var(--mat-toolbar-title-text-weight);letter-spacing:var(--mat-toolbar-title-text-tracking);margin:0}.cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mdc-text-button-label-text-color:var(--mat-toolbar-container-text-color);--mdc-outlined-button-label-text-color:var(--mat-toolbar-container-text-color)}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-height)}@media(max-width: 599px){.mat-toolbar-row,.mat-toolbar-single-row{height:var(--mat-toolbar-mobile-height)}}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%;min-height:var(--mat-toolbar-standard-height)}@media(max-width: 599px){.mat-toolbar-multiple-rows{min-height:var(--mat-toolbar-mobile-height)}}\"],\n encapsulation: 2,\n changeDetection: 0\n });\n }\n }\n return MatToolbar;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Throws an exception when attempting to combine the different toolbar row modes.\n * @docs-private\n */\nfunction throwToolbarMixedModesError() {\n throw Error('MatToolbar: Attempting to combine different toolbar modes. ' + 'Either specify multiple `` elements explicitly or just place content ' + 'inside of a `` for a single row.');\n}\nlet MatToolbarModule = /*#__PURE__*/(() => {\n class MatToolbarModule {\n static {\n this.ɵfac = function MatToolbarModule_Factory(t) {\n return new (t || MatToolbarModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatToolbarModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [MatCommonModule, MatCommonModule]\n });\n }\n }\n return MatToolbarModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MatToolbar, MatToolbarModule, MatToolbarRow, throwToolbarMixedModesError };\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {MatButton} from \"@angular/material/button\";\nimport {MatIcon} from \"@angular/material/icon\";\nimport {Router} from \"@angular/router\";\nimport {AsyncPipe, NgIf} from \"@angular/common\";\nimport {NEWS_URL} from \"../../../../models/const/urls\";\nimport { filter, map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { MenuService } from '../../../../services/global-menu/menu.service';\nimport { UserFacade } from '../../../../core/store/facade/user.facade';\n\n@Component({\n selector: 'my-gwo-header-news',\n standalone: true,\n imports: [\n MatButton,\n MatIcon,\n NgIf,\n AsyncPipe,\n ],\n templateUrl: './header-news.component.html',\n styleUrl: './header-news.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderNewsComponent {\n readonly hasUserNewMessage$: Observable = this.userFacade.newsList$.pipe(filter(Boolean),map((news) => news!.some((newsItem) => newsItem.isNewSinceLastVisit === true )));\n\n constructor(\n private readonly router: Router,\n private readonly userFacade: UserFacade,\n private readonly menuService: MenuService,\n ) { }\n\n goToNewsPage() {\n this.router.navigate([NEWS_URL]);\n this.menuService.currentPageValue = null;\n }\n}\n","\n @if (hasUserNewMessage$ | async) {\n notifications_none\n }\n mail_outline\n\n","import {ChangeDetectionStrategy, Component, EventEmitter, Output} from '@angular/core';\nimport {UserFacade} from \"../../../../core/store/facade/user.facade\";\nimport {HAMBURGER_ICON} from \"../../../../models/const/icons\";\nimport {MatIconRegistry} from \"@angular/material/icon\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {filter} from \"rxjs\";\nimport {Router} from \"@angular/router\";\nimport {MY_ACCESS_URL} from \"../../../../models/const/urls\";\n\n@Component({\n selector: 'my-gwo-header',\n templateUrl: './header.component.html',\n styleUrl: './header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderComponent {\n @Output() isMobileMenuOpenChange = new EventEmitter();\n\n readonly user$ = this.userFacade.user$.pipe(filter(Boolean));\n\n isMobileMenuOpen = false;\n\n constructor(\n readonly iconRegistry: MatIconRegistry,\n readonly sanitizer: DomSanitizer,\n private readonly userFacade: UserFacade,\n private readonly router: Router,\n ) {\n iconRegistry.addSvgIconLiteral('menu-icon', sanitizer.bypassSecurityTrustHtml(HAMBURGER_ICON));\n }\n\n signOut(): void {\n this.userFacade.setLoggedOut();\n }\n\n onMobileMenuOpen(): void {\n this.isMobileMenuOpen = !this.isMobileMenuOpen;\n this.isMobileMenuOpenChange.emit(this.isMobileMenuOpen);\n }\n\n goToHomePage(): void {\n this.router.navigate([MY_ACCESS_URL]);\n }\n}\n","\n
\n
\n {{ (user$ | async)?.name }}\n
\n @defer {\n \n }\n \n
\n
\n \n
\n Moje GWO\n
\n
\n @defer {\n \n }\n
\n
\n
\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy } from '@angular/core';\r\nimport { UserFacade } from '../../../../core/store/facade/user.facade';\r\nimport {BehaviorSubject, filter, fromEvent, map, Observable, of, tap} from 'rxjs';\r\nimport { NUMBER_OF_MESSAGE_TILES_PREVIEWED } from '../../../../../utils/consts/const-numbers';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { EVENTS_URL, NEWS_URL } from '../../../../models/const/urls';\r\nimport { EventsService } from '../../../../services/events/events.service';\r\nimport { CalendarEventModel } from '../../../../models/interfaces/events-model';\r\nimport { UserFunctionsEnum } from '../../../../models/enums/enums';\r\nimport { UserModel } from '../../../../models/interfaces/user-model';\r\nimport { prepareUserFunctionsArray } from '../../../../../utils/consts/const-methods';\r\nimport {TABLET_WIDTH} from \"../../../../models/const/variables\";\r\nimport { EventsFacade } from '../../../events/store/facade/events.facade';\r\n\r\n@Component({\r\n selector: 'my-gwo-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrl: './sidebar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SidebarComponent implements OnDestroy {\r\n isSidebarOpened: boolean = true;\r\n\r\n isSidebarBtnShow: boolean = true;\r\n\r\n private readonly canShowCalendarBS = new BehaviorSubject(false);\r\n\r\n readonly canShowCalendar$ = this.canShowCalendarBS.asObservable();\r\n\r\n readonly user$ = this.userFacade.user$;\r\n\r\n readonly latestNewsToPreview$ = this.userFacade.newsList$?.pipe(filter(Boolean), map((messages) => messages.slice(0, NUMBER_OF_MESSAGE_TILES_PREVIEWED)));\r\n\r\n\r\n readonly sidebarCalendarEventsList$ = this.userFacade.sidebarCalendarEventsList$?.pipe(\r\n filter(Boolean),\r\n tap(() => {\r\n this.eventsService.isSidebarCalendarLoading = false}),\r\n );\r\n\r\n readonly currentUserFunction$: Observable = this.userFacade.user$?.pipe(\r\n filter(Boolean),\r\n map((user: UserModel) => {\r\n return prepareUserFunctionsArray(user);\r\n })\r\n );\r\n\r\n readonly routerSubscription = this.router.events?.pipe(\r\n filter(event => event instanceof NavigationStart)\r\n ).subscribe((event: any) => {\r\n const navStartEvent = event as NavigationStart;\r\n this.hadleCalendarOnRouteChange(navStartEvent.url);\r\n this.handleSideMenuOnRouteChange(navStartEvent.url);\r\n });\r\n\r\n readonly resizeObservable$: Observable = fromEvent(window, 'resize');\r\n\r\n readonly resizeSubscription$ = this.resizeObservable$.subscribe(() => {\r\n if (window.innerWidth < TABLET_WIDTH) {\r\n this.isSidebarOpened = false;\r\n this.isSidebarBtnShow = false;\r\n this.cdr.markForCheck();\r\n }\r\n });\r\n\r\n isWasOnNewsPage = false;\r\n\r\n constructor(\r\n private readonly userFacade: UserFacade,\r\n private readonly eventsFacade: EventsFacade,\r\n private readonly eventsService: EventsService,\r\n private readonly router: Router,\r\n private readonly cdr: ChangeDetectorRef,\r\n ) {\r\n this.handleCalendarOnInitialPageLoad();\r\n this.handleSideMenuOnInitialPageLoad();\r\n\r\n if (window.innerWidth < TABLET_WIDTH) {\r\n this.isSidebarOpened = false;\r\n this.isSidebarBtnShow = false;\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n private handleCalendarOnInitialPageLoad(): void {\r\n this.canShowCalendarBS.next(this.router.url.includes(EVENTS_URL) ? false : true)\r\n }\r\n\r\n private hadleCalendarOnRouteChange(newRoute: string): void {\r\n this.canShowCalendarBS.next(newRoute.includes(EVENTS_URL) ? false : true)\r\n }\r\n\r\n private handleSideMenuOnRouteChange(newRoute: string): void {\r\n if(newRoute.includes(NEWS_URL)) {\r\n this.isWasOnNewsPage = this.isSidebarOpened;\r\n this.isSidebarOpened = false;\r\n } else if (this.isWasOnNewsPage) {\r\n this.isSidebarOpened = true;\r\n this.isWasOnNewsPage = false;\r\n }\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private handleSideMenuOnInitialPageLoad(): void {\r\n this.router.url.includes(NEWS_URL) ? this.isSidebarOpened = false : this.isSidebarOpened = true ;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n loadSidebarCalendarEventsDataChunk(dates: CalendarEventModel): void {\r\n this.eventsService.isSidebarCalendarLoading = true;\r\n this.userFacade.loadSidebarCalendarEventsDataChunk(dates.dateFrom, dates.dateTo!);\r\n }\r\n\r\n toggleSidebar(): void {\r\n this.isSidebarOpened = !this.isSidebarOpened;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.routerSubscription.unsubscribe();\r\n this.resizeSubscription$.unsubscribe();\r\n }\r\n}\r\n","\n\n @if(user$ | async) {\n \n @if(canShowCalendar$ | async){\n \n }\n }\n \n\n","import {ChangeDetectionStrategy, Component, ElementRef, Input} from '@angular/core';\nimport {FOOTER_MENU_LINKS} from \"../../../../models/const/footer-menu\";\nimport {GWO_FULL_NAME} from \"../../../../models/const/strings\";\nimport {environment} from \"../../../../../environments/environment\";\n\n@Component({\n selector: 'my-gwo-footer',\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FooterComponent {\n @Input() mainContent?: ElementRef;\n\n readonly RODO_URL = environment.rodoGwoUrl;\n\n readonly FOOTER_MENU_LINKS = FOOTER_MENU_LINKS;\n\n readonly copyright: string = 'Copyright © by ' + GWO_FULL_NAME + ' - ' + new Date().getFullYear();\n\n public isFooterOpened: boolean = false;\n\n public isAnimated: boolean = false;\n\n toggleFooter(): void {\n this.isFooterOpened = !this.isFooterOpened;\n\n if (this.isFooterOpened) {\n this.isAnimated = true;\n setTimeout(() => this.mainContent?.nativeElement.scrollTo({ top: 10000, behavior: 'smooth' }), 10);\n } else {\n setTimeout(() => this.isAnimated = false, 350);\n }\n }\n}\n","
\n @if (isFooterOpened) {\n \n }\n
\n @for (links of FOOTER_MENU_LINKS; track links) {\n
\n
{{ links.name }}
\n \n @for (link of links.children; track link) {\n {{ link.name }}\n }\n \n
\n }\n
\n \n
\n {{ copyright }}\n RODO\n \n
\n
\n","import { Component } from '@angular/core';\nimport {AsyncPipe, NgIf} from \"@angular/common\";\nimport {MatProgressBar} from \"@angular/material/progress-bar\";\nimport {UserFacade} from \"../../../../core/store/facade/user.facade\";\n\n@Component({\n selector: 'my-gwo-global-loader',\n standalone: true,\n imports: [\n AsyncPipe,\n MatProgressBar,\n NgIf\n ],\n templateUrl: './global-loader.component.html',\n styleUrl: './global-loader.component.scss'\n})\nexport class GlobalLoaderComponent {\n readonly loading$ = this.userFacade.isLoading$;\n\n constructor(\n private readonly userFacade: UserFacade,\n ) {\n }\n}\n","\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewChild\n} from '@angular/core';\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {INFO_ICON} from \"../../../../models/const/icons\";\nimport {MatIconRegistry} from \"@angular/material/icon\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\nimport {BehaviorSubject, filter, tap} from 'rxjs';\nimport {UserFacade} from \"../../../../core/store/facade/user.facade\";\nimport {environment} from \"../../../../../environments/environment\";\nimport {TEACHER_SUBJECT_IDS} from \"../../../../models/const/variables\";\nimport {map} from \"rxjs/operators\";\n\n@Component({\n selector: 'my-gwo-layout',\n templateUrl: './layout.component.html',\n styleUrl: './layout.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LayoutComponent implements AfterViewInit {\n @ViewChild('mainContent', { static: true }) mainContent?: ElementRef;\n\n readonly isScrollTopBtnShowBS: BehaviorSubject = new BehaviorSubject(false);\n\n readonly isScrollTopBtnShow$ = this.isScrollTopBtnShowBS.asObservable();\n\n readonly isChatAvailable$ = this.userFacade.user$.pipe(\n filter((user) => !!user?.teacherSubjectedLevels && environment.aiChatSettings.isActive),\n map((user) => user?.teacherSubjectedLevels?.includes(TEACHER_SUBJECT_IDS.HISTORY))\n );\n\n mainContentRef?: ElementRef;\n\n constructor(\n private readonly iconRegistry: MatIconRegistry,\n private readonly sanitizer: DomSanitizer,\n private readonly userFacade: UserFacade,\n private readonly router: Router\n ) {\n this.iconRegistry.addSvgIconLiteral('info-icon', this.sanitizer.bypassSecurityTrustHtml(INFO_ICON));\n }\n\n ngAfterViewInit(): void {\n this.mainContentRef = this.mainContent;\n this.scrollScreenTopAfterPageNavigation();\n }\n\n setScrollTopBtnView(element: HTMLElement): void {\n const scrollPos = element.scrollTop;\n const contentHeight = element.offsetHeight * 0.75;\n\n this.isScrollTopBtnShowBS.next(scrollPos > contentHeight);\n }\n\n private scrollScreenTopAfterPageNavigation(): void {\n this.router.events.pipe(\n filter(event => (event instanceof NavigationEnd)),\n tap(()=> this.mainContent?.nativeElement.scrollTo({top: 0}))\n ).subscribe();\n }\n}\n","\n\n\n\n\n @defer {\n \n }\n
\n \n \n \n
\n \n \n
\n
\n@if (isChatAvailable$ | async) {\n \n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {Router} from \"@angular/router\";\nimport {environment} from \"../../../../../environments/environment\";\nimport {CookieService} from \"ngx-cookie-service\";\nimport {AuthRedirectService} from \"../../../../services/auth-redirect.service\";\n\n@Component({\n selector: 'app-not-authenticated-page',\n templateUrl: './not-authenticated-page.component.html',\n styleUrl: './not-authenticated-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NotAuthenticatedPageComponent {\n constructor(\n protected readonly router: Router,\n private readonly cookieService: CookieService,\n private readonly authRedirectService: AuthRedirectService,\n ) {\n if(environment.production) {\n this.goToLogin();\n }\n }\n\n goToLogin(): void {\n this.authRedirectService.redirectToLogin();\n }\n}\n","
\n

Brak autoryzacji

\n

Zostaniesz przekierowany na stronę logowania.

\n\n \n Przejdź do strony logowania\n \n
\n","import {ChangeDetectionStrategy, Component, OnDestroy} from '@angular/core';\nimport {Router} from \"@angular/router\";\nimport {AuthRedirectService} from \"../../../../services/auth-redirect.service\";\n\n@Component({\n selector: 'app-auth-expired-page',\n templateUrl: './auth-expired-page.component.html',\n styleUrl: './auth-expired-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AuthExpiredPageComponent implements OnDestroy {\n private readonly onClickRedirectionFn = () => this.goToLogin();\n\n constructor(\n protected readonly router: Router,\n private readonly authRedirectService: AuthRedirectService,\n ) {\n document.addEventListener('click', this.onClickRedirectionFn);\n setTimeout(() => this.goToLogin(), 5000);\n }\n\n goToLogin(): void {\n this.authRedirectService.redirectToLogin();\n }\n\n ngOnDestroy(): void {\n document.removeEventListener('click', this.onClickRedirectionFn);\n }\n}\n","
\n

Sesja wygasła

\n

Zostaniesz przekierowany na stronę logowania.

\n
\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {Router} from \"@angular/router\";\nimport {MY_ACCESS_URL} from \"../../../../models/const/urls\";\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrl: './page-not-found.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PageNotFoundComponent {\n constructor(\n private readonly router: Router,\n ) {\n }\n\n onGoToHomePage(): void {\n this.router.navigate([MY_ACCESS_URL]);\n }\n}\n","
\n

Ta strona nie istnieje!

\n\n

Wróć na stronę główną naszego serwisu i spróbuj jeszcze raz.

\n

Jeśli błąd nadal będzie występował, skontaktuj się z nami.

\n
\n
\n \n Przejdź do strony głównej\n \n
\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {Router} from \"@angular/router\";\nimport {MY_ACCESS_URL} from \"../../../../models/const/urls\";\n\n@Component({\n selector: 'app-access-denied-page',\n templateUrl: './access-denied-page.component.html',\n styleUrl: './access-denied-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AccessDeniedPageComponent {\n constructor(\n private readonly router: Router,\n ) {\n }\n\n onGoToHomePage(): void {\n this.router.navigate([MY_ACCESS_URL]);\n }\n}\n","
\n

Brak wystarczających uprawnień

\n\n

Niestety nie masz uprawnień do wyświetlania tej strony.

\n
\n
\n \n Przejdź do strony głównej\n \n
\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport {\n Observable, catchError, filter, map, of,\n tap,\n} from 'rxjs';\nimport { UserFacade } from '../../core/store/facade/user.facade';\nimport { AVALIABLE_FOR_USER_FUNCTION_PARAMETER } from '../../models/const/strings';\nimport { prepareUserFunctionsArray } from '../../../utils/consts/const-methods';\nimport { UserFunctionsEnum } from '../../models/enums/enums';\nimport { MY_ACCESS_URL } from '../../models/const/urls';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PermissionGuard {\n constructor(\n private readonly userFacade: UserFacade,\n private readonly router: Router\n ) { }\n\n canActivate(route: ActivatedRouteSnapshot): Observable {\n return this.userFacade.user$.pipe(\n filter(Boolean),\n map((user) => prepareUserFunctionsArray(user)),\n map((userFunctions) => this.hasPermission(userFunctions, route)),\n tap((hasPermission) => {\n if (!hasPermission) {\n this.router.navigate([MY_ACCESS_URL]);\n }\n }),\n catchError(() => of(false))\n );\n }\n\n private hasPermission(userFunctions: UserFunctionsEnum[], route: ActivatedRouteSnapshot): boolean {\n const requiredFunctions = route.data[AVALIABLE_FOR_USER_FUNCTION_PARAMETER] as UserFunctionsEnum[];\n return requiredFunctions.some((func) => userFunctions.includes(func));\n }\n\n}\n","import {Component} from '@angular/core';\nimport {MatButton} from \"@angular/material/button\";\nimport {AuthService} from \"../../../../services/auth/auth.service\";\nimport {UserFacade} from \"../../../../core/store/facade/user.facade\";\nimport {AsyncPipe, NgIf} from \"@angular/common\";\nimport {BehaviorSubject, filter, tap} from \"rxjs\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {MY_ACCESS_URL} from \"../../../../models/const/urls\";\nimport {GLOBAL_MESSAGES} from \"../../../../models/const/strings\";\nimport {API_REQUEST_DELAY, BACK_URL_KEY_NAME} from \"../../../../models/const/variables\";\n\n@Component({\n selector: 'my-gwo-error-auth-page',\n standalone: true,\n imports: [\n MatButton,\n AsyncPipe,\n NgIf\n ],\n templateUrl: './initial-auth-page.component.html',\n styleUrl: './initial-auth-page.component.scss'\n})\nexport class InitialAuthPageComponent {\n protected readonly GLOBAL_MESSAGES = GLOBAL_MESSAGES;\n\n readonly isLoading$ = this.userFacade.isLoading$;\n\n readonly redirectUrl = this.getRedirectUrl();\n\n initialQuery: string[] = [];\n\n snap!: string | null;\n\n readonly user$ = this.userFacade.user$?.pipe(\n filter(Boolean),\n tap(() => {\n const queryParams = this.extractQueryParam().reduce(\n (acc, { paramKey, paramValue }) => (paramKey ? { ...acc, [paramKey]: paramValue } : acc),\n {}\n );\n this.router.navigate([this.redirectUrl], { queryParams });\n })\n );\n\n readonly isDisabledBS: BehaviorSubject = new BehaviorSubject(false);\n\n readonly isDisabled$ = this.isDisabledBS.asObservable();\n\n private timer?: NodeJS.Timeout;\n\n constructor(\n private readonly authService: AuthService,\n private readonly userFacade: UserFacade,\n private readonly router: Router,\n private readonly aRoute: ActivatedRoute,\n ) {}\n\n private getRedirectUrl(): string {\n let snap = this.aRoute.snapshot.queryParamMap.get(BACK_URL_KEY_NAME);\n this.snap = snap\n if (snap?.includes('?')) {\n return snap?.split('?')[0];\n }\n\n if (snap?.includes('#')) {\n return snap?.split('#')[0];\n }\n\n return snap || MY_ACCESS_URL;\n }\n\n private extractQueryParam(): { paramKey: string | null, paramValue: string | null }[] {\n if (!this.snap) {\n return [{ paramKey: null, paramValue: null }];\n }\n\n // Split the query string into key-value pairs\n const params = this.snap.split('?')[1]; // Get the part after '?'\n\n // If there's no query string, return an array with null values\n if (!params) {\n return [{ paramKey: null, paramValue: null }];\n }\n\n // Split into individual key-value pairs\n const keyValuePairs = params.split('&');\n\n // Map each key-value pair into an object and return an array\n return keyValuePairs.map(pair => {\n const [key, value] = pair.split('=');\n return { paramKey: key, paramValue: decodeURIComponent(value) }; // Decode value and return\n });\n }\n\n\n private debounceSendBtn(): NodeJS.Timeout {\n clearTimeout(this.timer);\n return this.timer = setTimeout(() => this.isDisabledBS.next(false), API_REQUEST_DELAY);\n }\n\n onGetUserData(): void {\n if (!this.isDisabledBS.getValue()) {\n this.isDisabledBS.next(true);\n this.debounceSendBtn();\n }\n\n this.authService.init();\n }\n}\n","
\n \n

{{ GLOBAL_MESSAGES.LOADING }}

\n
\n\n \n \n

Wystąpił błąd połączenia.

\n

Nie udało się pobrać danych użytkownika.

\n\n \n Spróbuj ponownie\n \n
\n\n
\n\n
\n","import {ActivatedRouteSnapshot, Router, RouterStateSnapshot} from '@angular/router';\nimport {Injectable} from \"@angular/core\";\nimport {AUTH_PAGE} from \"../../models/const/urls\";\nimport {BACK_URL_KEY_NAME} from \"../../models/const/variables\";\nimport {UserFacade} from \"../../core/store/facade/user.facade\";\nimport {first, Observable} from \"rxjs\";\nimport {map} from \"rxjs/operators\";\nimport {MenuService} from \"../../services/global-menu/menu.service\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InitialAuthGuard {\n private initialUrl: string = '';\n\n private readonly user$ = this.userFacade.user$;\n\n constructor(\n private readonly userFacade: UserFacade,\n private readonly router: Router,\n private readonly menuService: MenuService,\n ) {\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n const currentUrl = state.url.substring(1, state.url.length);\n this.menuService.currentPageValue = currentUrl;\n\n return this.user$.pipe(first(),map((user) => {\n if (!user) {\n this.initialUrl = currentUrl;\n this.router.navigate([AUTH_PAGE], {\n queryParams: { [BACK_URL_KEY_NAME]: this.initialUrl }\n });\n\n return false;\n }\n\n return true;\n }));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {LayoutComponent} from './components/layout/layout.component';\nimport {\n AUTH_PAGE,\n CLUBS_URL,\n ERROR,\n EVENTS_URL,\n LEARNING_MATERIALS_URL,\n LS_URL,\n MY_ACCESS_URL,\n NEWS_URL,\n ORDERS_URL,\n PROFILE_URL\n} from \"../../models/const/urls\";\nimport {\n NotAuthenticatedPageComponent\n} from \"../error-page/components/not-authenticated-page/not-authenticated-page.component\";\nimport {AuthExpiredPageComponent} from \"../error-page/components/auth-expired-page/auth-expired-page.component\";\nimport {PageNotFoundComponent} from \"../error-page/components/page-not-found/page-not-found.component\";\nimport {AccessDeniedPageComponent} from \"../error-page/components/access-denied-page/access-denied-page.component\";\nimport {PermissionGuard} from '../../shared/guards/user-functions.guard';\nimport {AVALIABLE_FOR_USER_FUNCTION_PARAMETER} from '../../models/const/strings';\nimport {UserFunctionsEnum} from '../../models/enums/enums';\nimport {InitialAuthPageComponent} from \"../error-page/components/initial-auth-page/initial-auth-page.component\";\nimport {InitialAuthGuard} from \"../../shared/guards/initial-auth.guard\";\n\nconst errorRoutes: Routes = [\n {\n path: ERROR.NOT_AUTHENTICATED,\n component: NotAuthenticatedPageComponent,\n },\n {\n path: ERROR.AUTH_EXPIRED,\n component: AuthExpiredPageComponent,\n },\n {\n path: ERROR.PAGE_NOT_FOUND,\n component: PageNotFoundComponent,\n canActivate: [InitialAuthGuard],\n },\n {\n path: ERROR.ACCESS_DENIED,\n component: AccessDeniedPageComponent,\n canActivate: [InitialAuthGuard],\n },\n];\n\nconst routes: Routes = [\n {\n path: '',\n component: LayoutComponent,\n children: [\n { path: '', redirectTo: MY_ACCESS_URL, pathMatch: 'full' },\n {\n path: AUTH_PAGE,\n component: InitialAuthPageComponent,\n },\n {\n path: MY_ACCESS_URL,\n loadChildren: () => import('../products/products.module').then((m) => m.ProductsModule),\n title: 'Moje dostępy',\n canActivate: [InitialAuthGuard],\n },\n {\n path: LEARNING_MATERIALS_URL,\n canActivate: [InitialAuthGuard, PermissionGuard],\n data: {[AVALIABLE_FOR_USER_FUNCTION_PARAMETER]: [UserFunctionsEnum.LEARNING_MATERIALS]},\n loadChildren: () => import('../learning-materials/learning-materials.module').then((m) => m.LearningMaterialsModule),\n title: 'Materiały dydaktyczne',\n },\n {\n path: LS_URL,\n canActivate: [InitialAuthGuard, PermissionGuard],\n data: {[AVALIABLE_FOR_USER_FUNCTION_PARAMETER]: [UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.TEACHER, UserFunctionsEnum.OTHER]},\n loadChildren: () => import('../ls/ls.module').then((m) => m.LsModule),\n title: 'Lepsza szkoła',\n },\n {\n path: EVENTS_URL,\n canActivate: [InitialAuthGuard, PermissionGuard],\n data: {[AVALIABLE_FOR_USER_FUNCTION_PARAMETER]: [UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.OTHER]},\n loadChildren: () => import('../events/events.module').then((m) => m.EventsModule),\n title: 'Wydarzenia',\n },\n {\n path: NEWS_URL,\n canActivate: [InitialAuthGuard],\n data: {[AVALIABLE_FOR_USER_FUNCTION_PARAMETER]: [UserFunctionsEnum.STUDENT, UserFunctionsEnum.QUASI, UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.PARENT, UserFunctionsEnum.OTHER]},\n loadChildren: () => import('../news/news.module').then((m) => m.NewsModule),\n title: 'Wiadomości',\n },\n {\n path: ORDERS_URL,\n canActivate: [InitialAuthGuard, PermissionGuard],\n data: {[AVALIABLE_FOR_USER_FUNCTION_PARAMETER]: [UserFunctionsEnum.TEACHER, UserFunctionsEnum.TEACHER_VERIFIED, UserFunctionsEnum.DIRECTOR, UserFunctionsEnum.PARENT, UserFunctionsEnum.OTHER]},\n loadChildren: () => import('../orders/orders.module').then((m) => m.OrdersModule),\n title: 'Zakupy',\n },\n {\n path: PROFILE_URL,\n canActivate: [InitialAuthGuard],\n loadChildren: () => import('../profile/profile.module').then((m) => m.ProfileModule),\n title: 'Mój profil',\n },\n {\n path: CLUBS_URL,\n canActivate: [InitialAuthGuard],\n loadChildren: () => import('../clubs/clubs.module').then((m) => m.ClubsModule),\n title: 'Członkostwo w klubie',\n },\n ...errorRoutes,\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class LayoutRoutingModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule, NgOptimizedImage} from '@angular/common';\nimport {LayoutComponent} from \"./components/layout/layout.component\";\nimport {SidebarComponent} from \"./components/sidebar/sidebar.component\";\nimport {MenuComponent} from \"./components/menu/menu.component\";\nimport {HeaderComponent} from \"./components/header/header.component\";\nimport {MatDrawerContainer, MatSidenavModule} from \"@angular/material/sidenav\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatList, MatListItem, MatNavList, MatSelectionList} from \"@angular/material/list\";\nimport {MatToolbar} from \"@angular/material/toolbar\";\nimport {MatIcon, MatIconModule} from \"@angular/material/icon\";\nimport {HeaderNewsComponent} from \"./components/header-news/header-news.component\";\nimport {MatLabel} from \"@angular/material/form-field\";\nimport {RouterOutlet} from \"@angular/router\";\nimport {LayoutRoutingModule} from \"./layout-routing.module\";\nimport {FooterComponent} from \"./components/footer/footer.component\";\nimport {MatDivider} from \"@angular/material/divider\";\nimport {PageNotFoundComponent} from \"../error-page/components/page-not-found/page-not-found.component\";\nimport {AccessDeniedPageComponent} from \"../error-page/components/access-denied-page/access-denied-page.component\";\nimport {\n NotAuthenticatedPageComponent\n} from \"../error-page/components/not-authenticated-page/not-authenticated-page.component\";\nimport {AuthExpiredPageComponent} from \"../error-page/components/auth-expired-page/auth-expired-page.component\";\nimport {Store} from \"@ngrx/store\";\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { NewsCarouselComponent } from '../../shared/widgets/news-carousel/news-carousel.component';\nimport { CalendarWidgetComponent } from '../../shared/widgets/calendar-widget/calendar-widget.component';\nimport {AppNotificationsComponent} from \"./components/app-notifications/app-notifications.component\";\nimport { ArrayIncludesPipe } from '../../shared/pipes/array-includes.pipe';\nimport {GlobalLoaderComponent} from \"./components/global-loader/global-loader.component\";\nimport {MobileMenuComponent} from \"./components/menu/mobile-menu/mobile-menu.component\";\nimport {MatTree, MatTreeNode, MatTreeNodeDef, MatTreeNodePadding, MatTreeNodeToggle} from \"@angular/material/tree\";\nimport {ScrollTopBtnComponent} from \"./components/scroll-top-btn/scroll-top-btn.component\";\nimport {FixedMobileMenuComponent} from \"./components/menu/fixed-mobile-menu/fixed-mobile-menu.component\";\nimport {ChatPopupComponent} from \"./components/chat-popup/chat-popup.component\";\n\n@NgModule({\n declarations: [\n LayoutComponent,\n MenuComponent,\n MobileMenuComponent,\n HeaderComponent,\n SidebarComponent,\n FooterComponent,\n PageNotFoundComponent,\n AccessDeniedPageComponent,\n NotAuthenticatedPageComponent,\n AuthExpiredPageComponent,\n ],\n imports: [\n ArrayIncludesPipe,\n CommonModule,\n CalendarWidgetComponent,\n MatIconModule,\n MatDrawerContainer,\n MatDatepickerModule,\n MatSidenavModule,\n MatButtonModule,\n MatNavList,\n MatToolbar,\n MatIcon,\n MatListItem,\n MatSelectionList,\n HeaderNewsComponent,\n NgOptimizedImage,\n MatLabel,\n RouterOutlet,\n LayoutRoutingModule,\n MatList,\n MatDivider,\n NewsCarouselComponent,\n AppNotificationsComponent,\n GlobalLoaderComponent,\n MatTree,\n MatTreeNode,\n MatTreeNodePadding,\n MatTreeNodeToggle,\n MatTreeNodeDef,\n ScrollTopBtnComponent,\n FixedMobileMenuComponent,\n ChatPopupComponent,\n ],\n exports: [\n ],\n providers: [Store, MatDatepickerModule]\n})\nexport class LayoutModule {\n}\n"],"mappings":"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","names":["_c0","_c1","MatDrawerContainer_Conditional_0_Template","rf","ctx","_r3","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","ctx_r2","ɵɵnextContext","ɵɵresetView","ɵɵelementEnd","ctx_r0","ɵɵclassProp","MatDrawerContainer_Conditional_3_Template","ɵɵprojection","_c2","_c3","matDrawerAnimations","trigger","state","style","transition","animate","MAT_DRAWER_DEFAULT_AUTOSIZE","InjectionToken","MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY","MAT_DRAWER_CONTAINER","MatDrawerContent","_MatDrawerContent","CdkScrollable","_changeDetectorRef","_container","elementRef","scrollDispatcher","ngZone","t","ɵɵdirectiveInject","ChangeDetectorRef","forwardRef","MatDrawerContainer","ElementRef","ScrollDispatcher","NgZone","ɵɵdefineComponent","rf","ctx","ɵɵstyleProp","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","_c0","ɵɵprojectionDef","ɵɵprojection","MatDrawer","_MatDrawer","value","coerceBooleanProperty","_elementRef","_focusTrapFactory","_focusMonitor","_platform","_ngZone","_interactivityChecker","_doc","Subject","EventEmitter","filter","o","map","e","mapTo","opened","fromEvent","event","hasModifierKey","takeUntil","distinctUntilChanged","x","y","fromState","toState","element","options","callback","selector","elementToFocus","hasMovedFocus","focusOrigin","activeEl","_a","_b","openedVia","isOpen","result","restoreFocus","resolve","take","open","newPosition","parent","FocusTrapFactory","FocusMonitor","Platform","InteractivityChecker","DOCUMENT","ɵɵviewQuery","_c1","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵsyntheticHostListener","$event","ɵɵattribute","ɵɵsyntheticHostProperty","ɵɵclassProp","ɵɵelementStart","ɵɵelementEnd","matDrawerAnimations","_MatDrawerContainer","_dir","_element","viewportRuler","defaultAutosize","_animationMode","QueryList","startWith","drawer","item","debounceTime","left","right","width","merge","isAdd","classList","className","Directionality","ViewportRuler","ANIMATION_MODULE_TYPE","dirIndex","ɵɵcontentQuery","_c3","_c2","ɵɵtemplate","MatDrawerContainer_Conditional_0_Template","MatDrawerContainer_Conditional_3_Template","ɵɵconditional","ɵɵadvance","MatSidenav","_MatSidenav","MatDrawer","value","coerceBooleanProperty","coerceNumberProperty","ɵMatSidenav_BaseFactory","t","ɵɵgetInheritedFactory","ɵɵdefineComponent","rf","ctx","ɵɵattribute","ɵɵstyleProp","ɵɵclassProp","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","_c0","ɵɵprojectionDef","ɵɵelementStart","ɵɵprojection","ɵɵelementEnd","CdkScrollable","matDrawerAnimations","MatSidenavModule","_MatSidenavModule","t","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","CdkScrollableModule","ɵɵelement","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate","message_r14","title","ɵɵproperty","message","ɵɵsanitizeHtml","ɵɵelementContainerStart","ɵɵtemplate","AppNotificationsComponent_div_0_ng_container_1_div_1_ng_container_3_div_1_Template","ɵɵelementContainerEnd","notification_r4","ɵɵlistener","ɵɵrestoreView","_r19","ɵɵnextContext","$implicit","ctx_r17","ɵɵresetView","closeCurrentMessage","AppNotificationsComponent_div_0_ng_container_1_div_1_mat_icon_1_Template","AppNotificationsComponent_div_0_ng_container_1_div_1_ng_container_3_Template","AppNotificationsComponent_div_0_ng_container_1_div_1_ng_template_4_Template","ɵɵtemplateRefExtractor","AppNotificationsComponent_div_0_ng_container_1_div_1_div_6_Template","ɵɵclassMapInterpolate1","isSuccess","isWithIcon","ctx_r5","Array","isArray","_r11","isClosable","message_r27","ɵɵtextInterpolate1","AppNotificationsComponent_div_0_ng_container_1_ng_template_2_ng_container_5_li_2_Template","_r32","ctx_r30","AppNotificationsComponent_div_0_ng_container_1_ng_template_2_mat_icon_1_Template","AppNotificationsComponent_div_0_ng_container_1_ng_template_2_ng_container_5_Template","AppNotificationsComponent_div_0_ng_container_1_ng_template_2_ng_template_6_Template","AppNotificationsComponent_div_0_ng_container_1_ng_template_2_div_10_Template","ctx_r6","_r24","AppNotificationsComponent_div_0_ng_container_1_div_1_Template","AppNotificationsComponent_div_0_ng_container_1_ng_template_2_Template","isEventNotify","_r7","AppNotificationsComponent_div_0_ng_container_1_Template","ɵɵpipeBind1","ctx_r0","notifications$","AppNotificationsComponent","constructor","userFacade","iconRegistry","sanitizer","route","notificationsBS","BehaviorSubject","asObservable","isAuthPage$","events","pipe","filter","data","type","NAVIGATION_EVENT_END_ID","map","_","url","includes","AUTH_PAGE","notificationSubscription","combineLatest","notifications","isAuthPage","notify","isAlarmMessage","subscribe","_a","currentCount","getValue","length","next","mainContent","nativeElement","scrollTo","top","behavior","addSvgIconLiteral","bypassSecurityTrustHtml","BELL_ICON","notification","removeNotification","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","UserFacade","MatIconRegistry","DomSanitizer","Router","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","AppNotificationsComponent_div_0_Template","AppNotificationsComponent_ng_template_2_Template","tmp_0_0","_r2","NgIf","AsyncPipe","NgForOf","MatIcon","styles","encapsulation","changeDetection","_AppNotificationsComponent","ScrollTopBtnComponent","onScrollToTop","_a","mainContent","nativeElement","scrollTo","top","behavior","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵlistener","ɵɵtext","ɵɵelementEnd","MatIcon","MatButton","styles","changeDetection","_ScrollTopBtnComponent","SafePipe","constructor","sanitizer","transform","value","type","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","Error","ɵɵdirectiveInject","DomSanitizer","pure","standalone","_SafePipe","ChatAlertComponent","constructor","onChatClose","EventEmitter","onAlertClose","selectors","outputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","emit","MatButton","styles","changeDetection","_ChatAlertComponent","MailService","constructor","httpClient","errorFacade","sendMail","mailContent","post","MAILING_URL","pipe","catchError","error","onShowError","ɵɵinject","HttpClient","ErrorFacade","factory","ɵfac","providedIn","_MailService","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵrestoreView","_r4","ctx_r3","ɵɵnextContext","ɵɵresetView","onReset","emit","ctx_r5","onFormClose","ɵɵadvance","ɵɵtextInterpolate","ctx","ɵɵelement","ɵɵproperty","$index_r8","isSelected_r7","_r13","ctx_r12","onSubmit","ɵɵrepeaterCreate","OpinionFormComponent_Conditional_2_For_16_Template","ɵɵrepeaterTrackByIndex","ctx_r14","ctx_r1","opinionForm","ɵɵrepeater","ɵɵpipeBind1","ratingArr$","ɵɵtextInterpolate1","messageCounter$","isTouched$","OpinionFormComponent","constructor","formBuilder","iconRegistry","sanitizer","mailService","userFacade","_a","EventEmitter","FORM_GROUP_VALIDATION","group","rating","FormControl","selectedOpinion","message","ratingArrBS","BehaviorSubject","Array","fill","asObservable","subscription","Subscription","get","valueChanges","pipe","map","value","length","filter","Boolean","data","userBS","sendMessageBS","sendMessage$","addSvgIconLiteral","bypassSecurityTrustHtml","STAR_O","STAR_FULL","add","user$","subscribe","user","next","ngOnInit","selectedRating","getValue","_","index","Number","_b","_c","_d","FORM_BLANK_VALUE","opinion","userName","name","mailContent","title","content","email","GWO_INFO_EMAIL","sendMail","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","FormBuilder","MatIconRegistry","DomSanitizer","MailService","UserFacade","selectors","outputs","standalone","features","ɵɵProvidersFeature","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ɵɵtemplate","OpinionFormComponent_Conditional_0_Template","OpinionFormComponent_Conditional_2_Template","ɵɵconditional","OpinionFormComponent_contFlowTmp","MatRadioButton","MatRadioGroup","MatButton","ReactiveFormsModule","ɵNgNoValidate","DefaultValueAccessor","NgControlStatus","NgControlStatusGroup","MaxLengthValidator","FormGroupDirective","FormControlName","MatIcon","MatInput","AsyncPipe","styles","changeDetection","_OpinionFormComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r6","ctx_r5","ɵɵnextContext","ɵɵresetView","onConversationContinue","ctx_r7","onConversationEnd","ɵɵelementEnd","_r9","ctx_r8","onPopUpClose","ctx_r10","onRefresh","ɵɵtext","ɵɵadvance","ɵɵproperty","ctx_r4","GWO_PERSONAL_RULES_URL","ɵɵsanitizeUrl","_r12","ctx_r11","ctx_r13","onRollDown","ctx_r14","onCloseTriggered","ɵɵtemplate","ChatPopupComponent_Conditional_2_Conditional_18_Template","ChatPopupComponent_Conditional_2_Conditional_19_Template","ɵɵelement","ChatPopupComponent_Conditional_2_Conditional_23_Template","ɵɵclassMapInterpolate1","ctx_r0","isCollapsed","ɵɵconditional","isCloseTriggered","isReviewFormActive","ɵɵpipeBind2","src","ɵɵsanitizeResourceUrl","ChatPopupComponent","constructor","chatSettings","environment","aiChatSettings","chatLink","chatId","chatToken","chatModelType","chatMode","chatLogo","isClose","onPopUpOpen","onRollUp","_a","currentIframe","iframe","nativeElement","selectors","viewQuery","rf","ctx","ChatPopupComponent_Conditional_2_Template","MatIcon","MatIconButton","MatFabButton","SafePipe","ChatAlertComponent","OpinionFormComponent","styles","_ChatPopupComponent","ɵɵelementStart","ɵɵlistener","menuBtn_r1","ɵɵrestoreView","_r3","$implicit","ctx_r2","ɵɵnextContext","ɵɵresetView","onChangePage","route","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ɵɵpureFunction1","_c0","ɵɵpipeBind1","ctx_r0","currentPage$","icon","ɵɵtextInterpolate1","menuItem","FixedMobileMenuComponent","constructor","authRedirectService","userFacade","menuService","router","iconRegistry","sanitizer","_a","getCurrentPage","eventRoleAccess","UserFunctionsEnum","TEACHER","TEACHER_VERIFIED","DIRECTOR","OTHER","menuItems","LM","MenuButtonsEnum","LEARNING_MATERIALS_SHORT","LEARNING_MATERIALS_URL","place","MenuButtonPlaceEnum","TOP","ACCESS","ACCESSES","MY_ACCESS_URL","STUDENT_ZONE","STUDENT_ZONE_URL","EVENT","EVENTS","EVENTS_URL","BOTTOM","PROFILE","PROFILE_URL","menuHighlightItems$","user$","pipe","map","user","isEventsEnable","userFunctions","filter","el","includes","length","btn1","hasLearningMaterials","btn2","btn3","addSvgIconLiteral","bypassSecurityTrustHtml","EVENTS_WITH_DATE_ICON","PORTAL_URL","openExternalPage","navigate","setLoading","ɵɵdirectiveInject","AuthRedirectService","UserFacade","MenuService","Router","MatIconRegistry","DomSanitizer","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementContainerStart","ɵɵtemplate","FixedMobileMenuComponent_div_2_Template","ɵɵelementContainerEnd","MatIcon","AsyncPipe","NgClass","NgForOf","MatButton","styles","_FixedMobileMenuComponent","FOOTER_MENU_LINKS","name","children","url","environment","featureLinks","akademia","blogGwo","labyrinth","eGwo","aboutLinks","history","kodex","patrons","writeAbout","projectsEU","regulations","cooperation","beAuthor","work","hurt","socials","fbGwo","fbMatlandia","contacts","getContact","promotions","help","BaseTreeControl","SelectionModel","dataNode","toBeProcessed","value","FlatTreeControl","getLevel","isExpandable","options","startIndex","results","node","CDK_TREE_NODE_OUTLET_NODE","InjectionToken","CdkTreeNodeOutlet","_CdkTreeNodeOutlet","viewContainer","_node","t","ɵɵdirectiveInject","ViewContainerRef","ɵɵdefineDirective","CdkTreeNodeOutletContext","data","CdkTreeNodeDef","_CdkTreeNodeDef","template","TemplateRef","InputFlags","CdkTree","_CdkTree","dataSource","_differs","_changeDetectorRef","Subject","BehaviorSubject","defaultNodeDefs","def","dataStream","isDataSource","isObservable","of","takeUntil","data","dataDiffer","viewContainer","parentData","changes","item","adjustedPreviousIndex","currentIndex","view","nodeDef","nodeData","index","node","context","CdkTreeNodeOutletContext","CdkTreeNode","t","ɵɵdirectiveInject","IterableDiffers","ChangeDetectorRef","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","CdkTreeNodeDef","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","CdkTreeNodeOutlet","ɵɵStandaloneFeature","ɵɵelementContainer","_CdkTreeNode","_role","value","_elementRef","_tree","getParentNodeAriaLevel","ElementRef","ɵɵdefineDirective","ɵɵattribute","nodeElement","parent","isNodeElement","numberAttribute","element","classList","cssUnitPattern","CdkTreeNodePadding","_CdkTreeNodePadding","value","indent","_treeNode","_tree","_element","_dir","Subject","takeUntil","nodeLevel","level","forceChange","padding","element","paddingProp","resetProp","units","parts","numberAttribute","t","ɵɵdirectiveInject","CdkTreeNode","CdkTree","ElementRef","Directionality","ɵɵdefineDirective","InputFlags","ɵɵInputTransformsFeature","CdkTreeNodeToggle","_CdkTreeNodeToggle","event","rf","ctx","ɵɵlistener","$event","booleanAttribute","MatTreeNode","_MatTreeNode","CdkTreeNode","elementRef","tree","tabIndex","t","ɵɵdirectiveInject","ElementRef","CdkTree","ɵɵinjectAttribute","ɵɵdefineDirective","InputFlags","booleanAttribute","value","numberAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","MatTreeNodeDef","_MatTreeNodeDef","CdkTreeNodeDef","ɵMatTreeNodeDef_BaseFactory","ɵɵgetInheritedFactory","MatTreeNodePadding","_MatTreeNodePadding","CdkTreeNodePadding","value","indent","ɵMatTreeNodePadding_BaseFactory","t","ɵɵgetInheritedFactory","ɵɵdefineDirective","InputFlags","numberAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","MatTreeNodeOutlet","_MatTreeNodeOutlet","viewContainer","_node","ɵɵdirectiveInject","ViewContainerRef","CDK_TREE_NODE_OUTLET_NODE","CdkTreeNodeOutlet","MatTree","_MatTree","CdkTree","ɵMatTree_BaseFactory","ɵɵdefineComponent","rf","ctx","ɵɵviewQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵStandaloneFeature","ɵɵelementContainer","MatTreeNodeToggle","_MatTreeNodeToggle","CdkTreeNodeToggle","ɵMatTreeNodeToggle_BaseFactory","MatTreeFlattener","transformFunction","getLevel","isExpandable","getChildren","node","level","resultNodes","parentMap","flatNode","childrenNodes","take","children","child","index","childParentMap","structuredData","nodes","treeControl","results","currentExpand","expand","i","MatTreeFlatDataSource","DataSource","value","_treeControl","_treeFlattener","initialData","BehaviorSubject","collectionViewer","merge","map","_c0","_c1","_c2","_c3","_c4","_c5","MatListOption_ng_template_0_Template","rf","ctx","ɵɵprojection","MatListOption_ng_template_2_Template","ɵɵelementStart","ɵɵelement","ɵɵnamespaceSVG","ɵɵelementEnd","ɵɵnamespaceHTML","ctx_r2","ɵɵnextContext","ɵɵclassProp","ɵɵadvance","ɵɵproperty","MatListOption_ng_template_4_Template","ctx_r4","MatListOption_Conditional_6_ng_template_1_Template","MatListOption_Conditional_6_Template","ɵɵtemplate","_r3","ɵɵreference","MatListOption_Conditional_7_ng_template_1_Template","MatListOption_Conditional_7_Template","_r5","MatListOption_Conditional_8_ng_template_0_Template","MatListOption_Conditional_8_Template","_r1","MatListOption_Conditional_15_ng_template_1_Template","MatListOption_Conditional_15_Template","MatListOption_Conditional_16_ng_template_1_Template","MatListOption_Conditional_16_Template","MatListOption_Conditional_17_ng_template_0_Template","MatListOption_Conditional_17_Template","_c6","_c7","LIST_OPTION","InjectionToken","MatListItemTitle","_MatListItemTitle","_elementRef","t","ɵɵdirectiveInject","ElementRef","ɵɵdefineDirective","MatListItemLine","_MatListItemLine","MatListItemMeta","_MatListItemMeta","_MatListItemGraphicBase","__MatListItemGraphicBase","_listOption","_a","MatListItemAvatar","_MatListItemAvatar","ɵMatListItemAvatar_BaseFactory","ɵɵgetInheritedFactory","ɵɵInheritDefinitionFeature","MatListItemIcon","_MatListItemIcon","ɵMatListItemIcon_BaseFactory","MAT_LIST_CONFIG","MatListBase","_MatListBase","inject","value","coerceBooleanProperty","ɵɵattribute","MatListItemBase","_MatListItemBase","lines","coerceNumberProperty","_ngZone","_listBase","_platform","globalRippleOptions","animationMode","Subscription","RippleRenderer","merge","recheckUnscopedContent","numberOfLines","unscopedContentEl","treatAsTitle","numOfLines","node","NgZone","Platform","MAT_RIPPLE_GLOBAL_OPTIONS","ANIMATION_MODULE_TYPE","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","MatList","_MatList","MatListBase","ɵMatList_BaseFactory","t","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","_c0","rf","ctx","ɵɵprojectionDef","ɵɵprojection","_c1","MatListItem","_MatListItem","MatListItemBase","activated","coerceBooleanProperty","element","ngZone","listBase","platform","globalRippleOptions","animationMode","ɵɵdirectiveInject","ElementRef","NgZone","Platform","MAT_RIPPLE_GLOBAL_OPTIONS","ANIMATION_MODULE_TYPE","dirIndex","ɵɵcontentQuery","MatListItemLine","MatListItemTitle","MatListItemMeta","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","_c2","_c3","ɵɵattribute","ɵɵclassProp","_c5","_c4","ɵɵelementStart","ɵɵlistener","ɵɵelementEnd","ɵɵelement","CdkObserveContent","SELECTION_LIST","InjectionToken","MatListOption","_MatListOption","value","newValue","isSelected","elementRef","_selectionList","_changeDetectorRef","EventEmitter","list","wasSelected","_a","_b","_c","labelEl","position","type","selected","ChangeDetectorRef","LIST_OPTION","_c7","_c6","ɵɵtemplate","MatListOption_ng_template_0_Template","ɵɵtemplateRefExtractor","MatListOption_ng_template_2_Template","MatListOption_ng_template_4_Template","MatListOption_Conditional_6_Template","MatListOption_Conditional_7_Template","MatListOption_Conditional_8_Template","MatListOption_Conditional_15_Template","MatListOption_Conditional_16_Template","MatListOption_Conditional_17_Template","ɵɵadvance","ɵɵconditional","NgTemplateOutlet","MatNavList","_MatNavList","MatListBase","ɵMatNavList_BaseFactory","t","ɵɵgetInheritedFactory","ɵɵdefineComponent","ɵɵProvidersFeature","ɵɵInheritDefinitionFeature","ɵɵStandaloneFeature","_c0","rf","ctx","ɵɵprojectionDef","ɵɵprojection","_c1","MAT_SELECTION_LIST_VALUE_ACCESSOR","NG_VALUE_ACCESSOR","forwardRef","MatSelectionList","MatSelectionListChange","source","options","_MatSelectionList","value","newValue","coerceBooleanProperty","SelectionModel","_element","_ngZone","_a","_b","Subject","_","EventEmitter","a1","a2","event","activeIndex","item","changes","disabledChanges","disableRippleChanges","hideSingleSelectionIndicatorChanges","values","isDisabled","fn","takeUntil","option","correspondingOption","isSelected","skipDisabled","changedOptions","activeItem","hasModifierKey","shouldSelect","FocusKeyManager","activeItemIndex","index","itemIndex","activeElement","_getFocusedElementPierceShadowDom","ɵɵdirectiveInject","ElementRef","NgZone","dirIndex","ɵɵcontentQuery","MatListOption","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵlistener","$event","ɵɵattribute","SELECTION_LIST","ɵɵNgOnChangesFeature","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r10","menuBtn_r6","ɵɵnextContext","$implicit","ctx_r8","ɵɵresetView","onChangePage","menuItem","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵelementContainerStart","ɵɵtemplate","MobileMenuComponent_div_5_ng_container_2_div_1_Template","ɵɵelementContainerEnd","ɵɵproperty","place","ctx_r2","MenuButtonPlaceEnum","TOP","ɵɵpipeBind2","availableUserFunctions","userFunctions_r1","_r17","menuBtn_r13","ctx_r15","MobileMenuComponent_div_5_ng_container_4_div_1_Template","ctx_r3","BOTTOM","ɵɵpropertyInterpolate","node_r20","menuNode","url","ɵɵsanitizeUrl","ɵɵtextInterpolate","name","ɵɵattribute","node_r21","ctx_r5","treeControl","isExpanded","MobileMenuComponent_div_5_ng_container_2_Template","MobileMenuComponent_div_5_ng_container_4_Template","MobileMenuComponent_div_5_mat_tree_node_7_Template","MobileMenuComponent_div_5_mat_tree_node_8_Template","ctx_r0","menuItems","trackByMenuItem","dataSource","hasChild","MobileMenuComponent","constructor","authRedirectService","userFacade","router","cd","_a","isOpened","currentUserFunction","menuClosed","EventEmitter","user$","pipe","filter","Boolean","_transformer","node","level","expandable","children","length","FlatTreeControl","treeFlattener","MatTreeFlattener","MatTreeFlatDataSource","_","data","FOOTER_MENU_LINKS","ngOnChanges","changes","markForCheck","onMenuClose","emit","page","matchingMenuItem","find","item","MenuButtonsEnum","STUDENT_ZONE","PORTAL","openExternalPage","route","navigate","setLoading","index","signOut","setLoggedOut","ɵɵdirectiveInject","AuthRedirectService","UserFacade","Router","ChangeDetectorRef","selectors","inputs","outputs","features","ɵɵNgOnChangesFeature","decls","vars","consts","template","rf","ctx","MobileMenuComponent_div_5_Template","ɵɵpureFunction1","_c0","tmp_2_0","ɵɵpipeBind1","_MobileMenuComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r10","menuBtn_r6","ɵɵnextContext","$implicit","ctx_r8","ɵɵresetView","onChangePage","menuItem","ɵɵelement","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ɵɵpureFunction2","_c0","ɵɵpipeBind1","ctx_r7","currentPage$","route","MenuButtonsEnum","LEARNING_MATERIALS","ɵɵadvance","icon","ɵɵtextInterpolate1","isMenuHidden$","ɵɵtemplate","MenuComponent_div_7_div_2_button_1_Template","place","ctx_r4","MenuButtonPlaceEnum","TOP","ɵɵpipeBind2","availableUserFunctions","userFunctions_r3","_r18","menuBtn_r13","ctx_r16","onShowClubUpdateTooltip","ctx_r19","onRemoveClubUpdateTooltip","ctx_r20","ɵɵpureFunction3","_c1","tmp_0_0","ctx_r14","includes","user$","isNeedClubUpdate","PROFILE","ctx_r15","GLOBAL_MESSAGES","UPDATE_MEMBERSHIP","MenuComponent_div_7_div_4_button_1_Template","MenuComponent_div_7_div_4_div_3_Template","ctx_r5","BOTTOM","PORTAL","isTooltipOpen","tmp_1_0","MenuComponent_div_7_div_2_Template","MenuComponent_div_7_div_4_Template","ctx_r0","menuHighlightItems","_r27","ctx_r26","onChangeMenuSize","MenuComponent_button_12_mat_icon_2_Template","MenuComponent_button_12_mat_icon_4_Template","ɵɵclassMapInterpolate1","ctx_r1","_r30","ctx_r29","onMobileMenuClosed","ctx_r28","isMobileMenuOpen","currentUserFunction$","MenuComponent_Defer_13_my_gwo_mobile_menu_0_Template","ctx_r2","window","innerWidth","MOBILE_WIDTH","MenuComponent","constructor","authRedirectService","userFacade","menuService","router","iconRegistry","sanitizer","_a","menuClosed","EventEmitter","TABLET_WIDTH","getCurrentPage","version","packageJson","pipe","filter","Boolean","map","user","prepareUserFunctionsArray","ACCESSES","MY_ACCESS_URL","UserFunctionsEnum","STUDENT","QUASI","TEACHER","TEACHER_VERIFIED","DIRECTOR","PARENT","OTHER","LEARNING_MATERIALS_URL","STUDENT_ZONE","STUDENT_ZONE_URL","LS","LS_URL","EVENTS","EVENTS_URL","ORDERS","ORDERS_URL","PROFILE_URL","PORTAL_URL","isMenuHiddenBS","BehaviorSubject","asObservable","resizeObservable$","fromEvent","resizeSubscription$","subscribe","next","addSvgIconLiteral","bypassSecurityTrustHtml","ACCESS_ICON","LEARNING_MATERIALS_ICON","LS_ICON","EVENTS_ICON","ORDERS_ICON","PROFILE_ICON","PORTAL_ICON","page","matchingMenuItem","find","item","openExternalPage","navigate","setLoading","currentMenuState","getValue","emit","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","AuthRedirectService","UserFacade","MenuService","Router","MatIconRegistry","DomSanitizer","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","MenuComponent_div_7_Template","MenuComponent_button_12_Template","MenuComponent_Defer_13_Template","ɵɵdefer","MenuComponent_Defer_14_DepsFn","ɵɵtextInterpolate","_MenuComponent","_c0","_c1","MatToolbarRow","_MatToolbarRow","t","ɵɵdefineDirective","MatToolbar","_MatToolbar","_elementRef","_platform","document","ɵɵdirectiveInject","ElementRef","Platform","DOCUMENT","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵclassMap","ɵɵclassProp","ɵɵStandaloneFeature","ɵɵprojectionDef","ɵɵprojection","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","HeaderNewsComponent","constructor","router","userFacade","menuService","hasUserNewMessage$","newsList$","pipe","filter","Boolean","map","news","some","newsItem","isNewSinceLastVisit","goToNewsPage","navigate","NEWS_URL","currentPageValue","ɵɵdirectiveInject","Router","UserFacade","MenuService","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵlistener","ɵɵtemplate","HeaderNewsComponent_Conditional_1_Template","ɵɵadvance","ɵɵconditional","ɵɵpipeBind1","MatIcon","AsyncPipe","styles","changeDetection","_HeaderNewsComponent","ɵɵelement","ɵɵtemplate","HeaderComponent_Defer_5_my_gwo_header_news_0_Template","ɵɵproperty","ɵɵpipeBind1","ctx_r0","user$","HeaderComponent_div_15_Defer_1_my_gwo_header_news_0_Template","ctx_r3","ɵɵelementStart","HeaderComponent_div_15_Defer_1_Template","ɵɵdefer","HeaderComponent_div_15_Defer_2_DepsFn","ɵɵelementEnd","HeaderComponent","constructor","iconRegistry","sanitizer","userFacade","router","isMobileMenuOpenChange","EventEmitter","pipe","filter","Boolean","isMobileMenuOpen","addSvgIconLiteral","bypassSecurityTrustHtml","HAMBURGER_ICON","signOut","setLoggedOut","onMobileMenuOpen","emit","goToHomePage","navigate","MY_ACCESS_URL","ɵɵdirectiveInject","MatIconRegistry","DomSanitizer","UserFacade","Router","selectors","outputs","decls","vars","consts","template","rf","ctx","ɵɵtext","HeaderComponent_Defer_5_Template","HeaderComponent_Defer_6_DepsFn","ɵɵlistener","HeaderComponent_div_15_Template","ɵɵadvance","ɵɵtextInterpolate1","tmp_0_0","name","_HeaderComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r2","ɵɵnextContext","ɵɵresetView","toggleSidebar","ɵɵtext","ɵɵelementEnd","ɵɵproperty","ctx_r0","isSidebarOpened","$event","_r6","ctx_r5","loadSidebarCalendarEventsDataChunk","ɵɵpipeBind1","ctx_r4","sidebarCalendarEventsList$","currentUserFunction$","ɵɵelement","ɵɵtemplate","SidebarComponent_Conditional_2_Conditional_2_Template","ctx_r1","latestNewsToPreview$","ɵɵadvance","ɵɵconditional","canShowCalendar$","SidebarComponent","constructor","userFacade","eventsFacade","eventsService","router","cdr","_a","_b","_c","_d","isSidebarBtnShow","canShowCalendarBS","BehaviorSubject","asObservable","user$","newsList$","pipe","filter","Boolean","map","messages","slice","NUMBER_OF_MESSAGE_TILES_PREVIEWED","tap","isSidebarCalendarLoading","user","prepareUserFunctionsArray","routerSubscription","events","event","NavigationStart","subscribe","navStartEvent","hadleCalendarOnRouteChange","url","handleSideMenuOnRouteChange","resizeObservable$","fromEvent","window","resizeSubscription$","innerWidth","TABLET_WIDTH","markForCheck","isWasOnNewsPage","handleCalendarOnInitialPageLoad","handleSideMenuOnInitialPageLoad","next","includes","EVENTS_URL","newRoute","NEWS_URL","dates","dateFrom","dateTo","ngOnDestroy","unsubscribe","ɵɵdirectiveInject","UserFacade","EventsFacade","EventsService","Router","ChangeDetectorRef","selectors","decls","vars","consts","template","rf","ctx","SidebarComponent_button_0_Template","SidebarComponent_Conditional_2_Template","_SidebarComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r3","ctx_r2","ɵɵnextContext","ɵɵresetView","toggleFooter","ɵɵtext","ɵɵelementEnd","ɵɵpropertyInterpolate","link_r10","url","ɵɵsanitizeUrl","ɵɵadvance","ɵɵtextInterpolate","name","_r16","ctx_r15","ɵɵrepeaterCreate","FooterComponent_For_4_For_5_Template","ɵɵrepeaterTrackByIdentity","links_r4","ɵɵrepeater","children","FooterComponent","constructor","RODO_URL","environment","rodoGwoUrl","FOOTER_MENU_LINKS","copyright","GWO_FULL_NAME","Date","getFullYear","isFooterOpened","isAnimated","setTimeout","_a","mainContent","nativeElement","scrollTo","top","behavior","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵtemplate","FooterComponent_Conditional_1_Template","FooterComponent_For_4_Template","ɵɵelement","ɵɵproperty","ɵɵpureFunction2","_c0","ɵɵconditional","_FooterComponent","ɵɵelement","GlobalLoaderComponent","constructor","userFacade","loading$","isLoading$","ɵɵdirectiveInject","UserFacade","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","GlobalLoaderComponent_mat_progress_bar_0_Template","ɵɵproperty","ɵɵpipeBind1","AsyncPipe","MatProgressBar","NgIf","styles","_GlobalLoaderComponent","ɵɵelement","ɵɵproperty","ctx_r5","mainContentRef","LayoutComponent","constructor","iconRegistry","sanitizer","userFacade","router","isScrollTopBtnShowBS","BehaviorSubject","isScrollTopBtnShow$","asObservable","isChatAvailable$","user$","pipe","filter","user","teacherSubjectedLevels","environment","aiChatSettings","isActive","map","_a","includes","TEACHER_SUBJECT_IDS","HISTORY","addSvgIconLiteral","bypassSecurityTrustHtml","INFO_ICON","ngAfterViewInit","mainContent","scrollScreenTopAfterPageNavigation","setScrollTopBtnView","element","scrollPos","scrollTop","contentHeight","offsetHeight","next","events","event","NavigationEnd","tap","nativeElement","scrollTo","top","subscribe","ɵɵdirectiveInject","MatIconRegistry","DomSanitizer","UserFacade","Router","selectors","viewQuery","rf","ctx","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r7","_r1","ɵɵreference","ɵɵresetView","isMobileMenuOpen","ɵɵelementEnd","$event","_r0","ɵɵtemplate","LayoutComponent_Defer_6_Template","ɵɵdefer","LayoutComponent_Defer_7_DepsFn","_r3","LayoutComponent_my_gwo_scroll_top_btn_16_Template","LayoutComponent_Conditional_19_Template","ɵɵadvance","ɵɵpureFunction1","_c1","ɵɵpipeBind1","isMenuHidden$","_c2","_r4","isSidebarOpened","ɵɵconditional","_LayoutComponent","NotAuthenticatedPageComponent","constructor","router","cookieService","authRedirectService","environment","production","goToLogin","redirectToLogin","ɵɵdirectiveInject","Router","CookieService","AuthRedirectService","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","_NotAuthenticatedPageComponent","AuthExpiredPageComponent","constructor","router","authRedirectService","onClickRedirectionFn","goToLogin","document","addEventListener","setTimeout","redirectToLogin","ngOnDestroy","removeEventListener","ɵɵdirectiveInject","Router","AuthRedirectService","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","_AuthExpiredPageComponent","PageNotFoundComponent","constructor","router","onGoToHomePage","navigate","MY_ACCESS_URL","ɵɵdirectiveInject","Router","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵlistener","_PageNotFoundComponent","AccessDeniedPageComponent","constructor","router","onGoToHomePage","navigate","MY_ACCESS_URL","ɵɵdirectiveInject","Router","selectors","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵlistener","_AccessDeniedPageComponent","PermissionGuard","constructor","userFacade","router","canActivate","route","user$","pipe","filter","Boolean","map","user","prepareUserFunctionsArray","userFunctions","hasPermission","tap","navigate","MY_ACCESS_URL","catchError","of","data","AVALIABLE_FOR_USER_FUNCTION_PARAMETER","some","func","includes","ɵɵinject","UserFacade","Router","factory","ɵfac","providedIn","_PermissionGuard","ɵɵelementContainerStart","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelementContainerEnd","ɵɵadvance","ɵɵtextInterpolate","ctx_r0","GLOBAL_MESSAGES","LOADING","ɵɵlistener","ɵɵrestoreView","_r5","ctx_r4","ɵɵnextContext","ɵɵresetView","onGetUserData","ɵɵproperty","ɵɵpipeBind1","ctx_r3","isDisabled$","ɵɵtemplate","InitialAuthPageComponent_ng_template_3_ng_container_0_Template","ctx_r1","user$","InitialAuthPageComponent","constructor","authService","userFacade","router","aRoute","_a","isLoading$","redirectUrl","getRedirectUrl","initialQuery","pipe","filter","Boolean","tap","queryParams","extractQueryParam","reduce","acc","paramKey","paramValue","__spreadProps","__spreadValues","navigate","isDisabledBS","BehaviorSubject","asObservable","snap","snapshot","queryParamMap","get","BACK_URL_KEY_NAME","includes","split","MY_ACCESS_URL","params","map","pair","key","value","decodeURIComponent","debounceSendBtn","clearTimeout","timer","setTimeout","next","API_REQUEST_DELAY","getValue","init","ɵɵdirectiveInject","AuthService","UserFacade","Router","ActivatedRoute","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","InitialAuthPageComponent_ng_container_1_Template","InitialAuthPageComponent_ng_template_3_Template","ɵɵtemplateRefExtractor","_r2","MatButton","AsyncPipe","NgIf","styles","_InitialAuthPageComponent","InitialAuthGuard","constructor","userFacade","router","menuService","initialUrl","user$","canActivate","route","state","currentUrl","url","substring","length","currentPageValue","pipe","first","map","user","navigate","AUTH_PAGE","queryParams","BACK_URL_KEY_NAME","ɵɵinject","UserFacade","Router","MenuService","factory","ɵfac","providedIn","_InitialAuthGuard","errorRoutes","path","ERROR","NOT_AUTHENTICATED","component","NotAuthenticatedPageComponent","AUTH_EXPIRED","AuthExpiredPageComponent","PAGE_NOT_FOUND","PageNotFoundComponent","canActivate","InitialAuthGuard","ACCESS_DENIED","AccessDeniedPageComponent","routes","LayoutComponent","children","redirectTo","MY_ACCESS_URL","pathMatch","AUTH_PAGE","InitialAuthPageComponent","loadChildren","then","m","ProductsModule","title","LEARNING_MATERIALS_URL","PermissionGuard","data","AVALIABLE_FOR_USER_FUNCTION_PARAMETER","UserFunctionsEnum","LEARNING_MATERIALS","LearningMaterialsModule","LS_URL","TEACHER_VERIFIED","DIRECTOR","TEACHER","OTHER","LsModule","EVENTS_URL","EventsModule","NEWS_URL","STUDENT","QUASI","PARENT","NewsModule","ORDERS_URL","OrdersModule","PROFILE_URL","ProfileModule","CLUBS_URL","ClubsModule","LayoutRoutingModule","RouterModule","forChild","_LayoutRoutingModule","LayoutModule","Store","MatDatepickerModule","imports","CommonModule","CalendarWidgetComponent","MatIconModule","MatDrawerContainer","MatSidenavModule","MatButtonModule","MatNavList","MatToolbar","MatIcon","MatListItem","MatSelectionList","HeaderNewsComponent","LayoutRoutingModule","MatList","MatDivider","NewsCarouselComponent","AppNotificationsComponent","GlobalLoaderComponent","MatTree","ScrollTopBtnComponent","FixedMobileMenuComponent","ChatPopupComponent","_LayoutModule"],"x_google_ignoreList":[0,16,17,18,23]}