{"version":3,"sources":["node_modules/@angular/material/fesm2022/sidenav.mjs","libs/client-platform/@shell/ui/footer/src/lib/footer.component.ts","libs/client-platform/@shell/ui/footer/src/lib/footer.component.html","libs/client-platform/@shell/ui/footer/src/lib/footer.module.ts","node_modules/@angular/material/fesm2022/toolbar.mjs","libs/client-platform/@shared/features/rental-switcher/src/lib/rental-switcher.component.ts","libs/client-platform/@shared/features/rental-switcher/src/lib/rental-switcher.component.html","libs/client-platform/@shell/ui/header/src/lib/header-search-toolbar/header-search-toolbar.component.ts","libs/client-platform/@shell/ui/header/src/lib/header-search-toolbar/header-search-toolbar.component.html","libs/client-platform/@shell/ui/header/src/lib/header.component.ts","libs/client-platform/@shell/ui/header/src/lib/header.component.html","libs/client-platform/@shared/features/rental-switcher/src/lib/rental-switcher.module.ts","libs/client-platform/@shell/ui/header/src/lib/header.module.ts","libs/client-platform/@shell/ui/nav-bar/src/lib/nav-bar.component.ts","libs/client-platform/@shell/ui/nav-bar/src/lib/nav-bar.component.html","libs/client-platform/@shell/ui/nav-bar/src/lib/nav-bar.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, inject, Injector, ChangeDetectorRef, afterNextRender, Optional, Input, Output, ViewChild, QueryList, AfterRenderPhase, 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\"];\nconst _c2 = [[[\"mat-drawer\"]], [[\"mat-drawer-content\"]], \"*\"];\nconst _c3 = [\"mat-drawer\", \"mat-drawer-content\", \"*\"];\nfunction MatDrawerContainer_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function MatDrawerContainer_Conditional_0_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1._onBackdropClicked());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"mat-drawer-shown\", ctx_r1._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 _c4 = [[[\"mat-sidenav\"]], [[\"mat-sidenav-content\"]], \"*\"];\nconst _c5 = [\"mat-sidenav\", \"mat-sidenav-content\", \"*\"];\nfunction MatSidenavContainer_Conditional_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function MatSidenavContainer_Conditional_0_Template_div_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1._onBackdropClicked());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassProp(\"mat-drawer-shown\", ctx_r1._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 _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{position:relative;z-index:4;color:var(--mat-sidenav-container-text-color);box-shadow:var(--mat-sidenav-container-elevation-shadow);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);width:var(--mat-sidenav-container-width);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._injector = inject(Injector);\n this._changeDetectorRef = inject(ChangeDetectorRef);\n this.openedChange.pipe(takeUntil(this._destroyed)).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 afterNextRender(() => {\n const hasMovedFocus = this._focusTrap.focusInitialElement();\n if (!hasMovedFocus && typeof element.focus === 'function') {\n element.focus();\n }\n }, {\n injector: this._injector\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 // Needed to ensure that the closing sequence fires off correctly.\n this._changeDetectorRef.markForCheck();\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.ɵɵsyntheticHostProperty(\"@transform\", ctx._animationState);\n i0.ɵɵattribute(\"align\", null);\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: [[\"content\", \"\"], [\"cdkScrollable\", \"\", 1, \"mat-drawer-inner-container\"]],\n template: function MatDrawer_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 1, 0);\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 this._injector = inject(Injector);\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 afterNextRender(() => {\n this._validateDrawers();\n }, {\n injector: this._injector,\n phase: AfterRenderPhase.Read\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: [[1, \"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(ctx.hasBackdrop ? 0 : -1);\n i0.ɵɵadvance(3);\n i0.ɵɵconditional(!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{position:relative;z-index:4;color:var(--mat-sidenav-container-text-color);box-shadow:var(--mat-sidenav-container-elevation-shadow);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);width:var(--mat-sidenav-container-width);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: [[\"content\", \"\"], [\"cdkScrollable\", \"\", 1, \"mat-drawer-inner-container\"]],\n template: function MatSidenav_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\", 1, 0);\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: [[1, \"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(ctx.hasBackdrop ? 0 : -1);\n i0.ɵɵadvance(3);\n i0.ɵɵconditional(!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, inject, Input } from \"@angular/core\";\r\nimport { CookiesModalComponent, CookiesModalModes } from \"@e-tenant-hub/client-platform/shared/features/modals\";\r\nimport { ResponsiveModalContainerService } from \"@e-tenant-hub/shared/ui/responsive/modal-container\";\r\n\r\n@Component({\r\n\tselector: \"cp-footer\",\r\n\ttemplateUrl: \"./footer.component.html\",\r\n\tstyleUrl: \"./footer.component.scss\",\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FooterComponent {\r\n\t@Input() mode: \"over\" | \"side\" = \"over\";\r\n\tprivate readonly modalService = inject(ResponsiveModalContainerService);\r\n\r\n\topenCookiesModal(): void {\r\n\t\tconst config = {\r\n\t\t\twidth: \"66vw\",\r\n\t\t\tmaxWidth: \"500px\",\r\n\t\t};\r\n\r\n\t\tthis.modalService.openDialog(CookiesModalComponent, CookiesModalModes.settings, config);\r\n\t}\r\n}\r\n","\r\n\t\r\n\t\tMentions légales & CGU\r\n\t\tDonnées personnelles\r\n\t\tGérer les cookies\r\n\t\t
© 2024 EMH
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\r\n\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { EthIconComponent } from \"@e-tenant-hub/shared/ui/icon\";\r\nimport { FooterComponent } from \"./footer.component\";\r\n\r\n@NgModule({\r\n\timports: [CommonModule, EthIconComponent],\r\n\tdeclarations: [FooterComponent],\r\n\texports: [FooterComponent],\r\n})\r\nexport class FooterModule {}\r\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, EventEmitter, Input, OnInit, Output, inject } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { MatSelectChange } from \"@angular/material/select\";\r\nimport { SelectInputOption } from \"@e-tenant-hub/client-platform/shared/ui/responsive/inputs/select-input\";\r\nimport { AuthService } from \"@e-tenant-hub/shared/auth\";\r\nimport { CommunicationService, RentalUnitResponse, RentalsService } from \"@e-tenant-hub/shared/rentals\";\r\nimport { CacheKeys, CacheStorageService } from \"@e-tenant-hub/shared/utils\";\r\nimport { Observable, tap } from \"rxjs\";\r\n\r\n@Component({\r\n\tselector: \"cp-rental-switcher\",\r\n\ttemplateUrl: \"./rental-switcher.component.html\",\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class RentalSwitcherComponent implements OnInit {\r\n\t@Input() fill: \"solid\" | \"translucid\" = \"translucid\";\r\n\r\n\t@Output() readonly selectionChanged = new EventEmitter();\r\n\r\n\tprivate readonly cacheStorageService = inject(CacheStorageService);\r\n\tprivate readonly communicationService = inject(CommunicationService);\r\n\tprivate readonly formBuilder = inject(FormBuilder);\r\n\tprivate readonly rentalsService = inject(RentalsService);\r\n\tprivate readonly authService = inject(AuthService);\r\n\tprivate readonly user = this.authService.user;\r\n\r\n\tform!: FormGroup;\r\n\trentalUnitOptions!: SelectInputOption[];\r\n\r\n\tgetRentals$!: Observable;\r\n\r\n\tngOnInit(): void {\r\n\t\tif (this.user.isImpersonated) {\r\n\t\t\tthis.getRentals$ = this.rentalsService.getRentalsByIds(this.user?.rentalIds).pipe(\r\n\t\t\t\ttap(\r\n\t\t\t\t\t(rentals) =>\r\n\t\t\t\t\t\t(this.rentalUnitOptions = rentals.map(\r\n\t\t\t\t\t\t\t(unit) =>\r\n\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\tvalue: unit.rentalIdentifier,\r\n\t\t\t\t\t\t\t\t\tlabel: `${unit.name} - ${unit.rentalIdentifier}`,\r\n\t\t\t\t\t\t\t\t}) as SelectInputOption\r\n\t\t\t\t\t\t))\r\n\t\t\t\t),\r\n\t\t\t\ttap(() => this.createForm())\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.getRentals$ = this.rentalsService.getRentalsByUsername(this.user?.username).pipe(\r\n\t\t\ttap(\r\n\t\t\t\t(rentals) =>\r\n\t\t\t\t\t(this.rentalUnitOptions = rentals.map(\r\n\t\t\t\t\t\t(unit) =>\r\n\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\tvalue: unit.rentalIdentifier,\r\n\t\t\t\t\t\t\t\tlabel: `${unit.name} - ${unit.rentalIdentifier}`,\r\n\t\t\t\t\t\t\t}) as SelectInputOption\r\n\t\t\t\t\t))\r\n\t\t\t),\r\n\t\t\ttap(() => this.createForm())\r\n\t\t);\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tconst currentItem = this.rentalUnitOptions.find((i) => i.value === this.user.currentRentalId);\r\n\t\tthis.form = this.formBuilder.group({\r\n\t\t\tcontract: [currentItem ? currentItem : this.rentalUnitOptions[0]],\r\n\t\t});\r\n\t}\r\n\r\n\thandleValueChange($event: MatSelectChange) {\r\n\t\tconst newRentalUnitId = ($event.value as SelectInputOption).value as string;\r\n\t\tthis.user.currentRentalId = newRentalUnitId;\r\n\t\tthis.cacheStorageService.saveCache(CacheKeys.RENTAL_SWITCHER_SELECTION, this.user.currentRentalId);\r\n\t\tthis.communicationService.changeRentalUnitSelection();\r\n\t\tthis.selectionChanged.emit();\r\n\t}\r\n}\r\n","@if (getRentals$ | async; as getRentals) {\r\n\t@if (rentalUnitOptions.length > 1) {\r\n\t\t
\r\n\t\t\t\r\n\t\t\r\n\t}\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject } from \"@angular/core\";\r\nimport {\r\n\tSolicitationCreationModalComponent,\r\n\tSolicitationSearchFormModalComponent,\r\n} from \"@e-tenant-hub/client-platform/shared/features/modals\";\r\nimport { NotificationsService } from \"@e-tenant-hub/client-platform/shared/ui/responsive/notifications\";\r\nimport { SolicitationsFilterService, SolicitationsService } from \"@e-tenant-hub/shared/rentals\";\r\nimport { ResponsiveModalContainerService } from \"@e-tenant-hub/shared/ui/responsive/modal-container\";\r\nimport { ScreenSizeService } from \"@e-tenant-hub/shared/utils\";\r\nimport { Observable, map } from \"rxjs\";\r\n\r\n@Component({\r\n\tselector: \"cp-header-search-toolbar\",\r\n\ttemplateUrl: \"./header-search-toolbar.component.html\",\r\n\tstyleUrl: \"./header-search-toolbar.component.scss\",\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderSearchToolbarComponent {\r\n\treadonly solicitationsService = inject(SolicitationsService);\r\n\tprivate readonly modalContainerService = inject(ResponsiveModalContainerService);\r\n\tprivate readonly notificationsService = inject(NotificationsService);\r\n\tprivate readonly screenSizeService = inject(ScreenSizeService);\r\n\tprivate readonly solicitationsFilterService = inject(SolicitationsFilterService);\r\n\r\n\tget hasFilters$(): Observable {\r\n\t\treturn this.solicitationsFilterService.onFilterChanged$.pipe(map((v) => v.length > 0));\r\n\t}\r\n\r\n\tget isSmartphone$(): Observable {\r\n\t\treturn this.screenSizeService.observeSmallScreen();\r\n\t}\r\n\r\n\topenSolicitationsFiltersModal(): void {\r\n\t\tthis.modalContainerService.openDialog(SolicitationSearchFormModalComponent);\r\n\t}\r\n\r\n\topenSolicitationCreationModal(isNewSolicitationRequestDisabled: boolean) {\r\n\t\tif (isNewSolicitationRequestDisabled) {\r\n\t\t\tthis.notificationsService.showInformationMessage(\r\n\t\t\t\t\"Le nombre de création de demande par jour est limité à 5 et a été atteint.\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.modalContainerService.openDialog(SolicitationCreationModalComponent);\r\n\t}\r\n}\r\n","@if (isSmartphone$ | async) {\r\n\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n} @else {\r\n\t\r\n}\r\n@if (isSmartphone$ | async) {\r\n\t@if (solicitationsService.isNewSolicitationRequestDisabled$ | async) {\r\n\t\t\r\n\t} @else {\r\n\t\t\r\n\t}\r\n}\r\n","import {\r\n\tChangeDetectionStrategy,\r\n\tChangeDetectorRef,\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tinject,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Data, Router } from \"@angular/router\";\r\nimport { Subscription, filter, map, mergeMap } from \"rxjs\";\r\n\r\n@Component({\r\n\tselector: \"cp-header\",\r\n\ttemplateUrl: \"./header.component.html\",\r\n\tstyleUrl: \"./header.component.scss\",\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\n\t@Input() mode: \"page\" | \"navigation\" = \"page\";\r\n\t@Input() showMenuButton = false;\r\n\t@Input() showCloseButton = false;\r\n\t@Input() showRentalSwitcher = false;\r\n\r\n\t@Output() readonly menuToggle = new EventEmitter();\r\n\r\n\trouter = inject(Router);\r\n\tactivatedRoute = inject(ActivatedRoute);\r\n\tprivate changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n\ttitle = \"\";\r\n\tuseSearchToolbar = false;\r\n\tshowHeader = true;\r\n\r\n\tprivate routerEventsSubscription!: Subscription;\r\n\r\n\tngOnInit() {\r\n\t\tthis.subscribeToRouterEvents();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.routerEventsSubscription?.unsubscribe();\r\n\t}\r\n\r\n\ttoggleMenu(isOpen: boolean): void {\r\n\t\tthis.menuToggle.emit(isOpen);\r\n\t}\r\n\r\n\tprivate subscribeToRouterEvents(): void {\r\n\t\tthis.routerEventsSubscription = this.router.events\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(() => this.activatedRoute),\r\n\t\t\t\tmap((route) => {\r\n\t\t\t\t\twhile (route.firstChild) {\r\n\t\t\t\t\t\troute = route.firstChild;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn route;\r\n\t\t\t\t}),\r\n\t\t\t\tfilter((route) => route.outlet === \"primary\"),\r\n\t\t\t\tmergeMap((route) => route.data)\r\n\t\t\t)\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n\t\t\t.subscribe((data: Data) => {\r\n\t\t\t\tthis.title = data[\"title\"] || \"\";\r\n\t\t\t\tthis.useSearchToolbar = data[\"useSearch\"] !== undefined ? data[\"useSearch\"] : this.useSearchToolbar;\r\n\t\t\t\tthis.showHeader = data[\"showHeader\"] !== undefined ? data[\"showHeader\"] : this.showHeader;\r\n\t\t\t\tthis.changeDetectorRef.markForCheck();\r\n\t\t\t});\r\n\t}\r\n}\r\n","@if (showHeader) {\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t@if (showMenuButton) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\r\n\t\t\t\t@if (mode === \"navigation\") {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\"logo\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (mode === \"page\") {\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{{ title | uppercase }}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (showRentalSwitcher) {\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t\t\t@if (showCloseButton) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t@if (mode === \"page\" && useSearchToolbar) {\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t}\r\n\t\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { SelectInputModule } from \"@e-tenant-hub/client-platform/shared/ui/responsive/inputs/select-input\";\r\nimport { RentalsModule } from \"@e-tenant-hub/shared/rentals\";\r\nimport { RentalSwitcherComponent } from \"./rental-switcher.component\";\r\n\r\n@NgModule({\r\n\timports: [CommonModule, ReactiveFormsModule, RentalsModule, SelectInputModule],\r\n\tdeclarations: [RentalSwitcherComponent],\r\n\texports: [RentalSwitcherComponent],\r\n})\r\nexport class RentalSwitcherModule {}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\r\nimport { ClientPlatformFormsModule } from \"@e-tenant-hub/client-platform/shared/features/forms\";\r\nimport { RentalSwitcherModule } from \"@e-tenant-hub/client-platform/shared/features/rental-switcher\";\r\nimport { IconButtonModule } from \"@e-tenant-hub/client-platform/shared/ui/mobile/buttons/icon-button\";\r\nimport { RoundedButtonModule } from \"@e-tenant-hub/client-platform/shared/ui/responsive/buttons/rounded-button\";\r\nimport { CommonInputModule } from \"@e-tenant-hub/client-platform/shared/ui/responsive/inputs/common-input\";\r\nimport { DatePickerInputsModule } from \"@e-tenant-hub/client-platform/shared/ui/responsive/inputs/date-picker-inputs\";\r\nimport { SelectInputModule } from \"@e-tenant-hub/client-platform/shared/ui/responsive/inputs/select-input\";\r\nimport { EthIconComponent } from \"@e-tenant-hub/shared/ui/icon\";\r\nimport { HeaderSearchToolbarComponent } from \"./header-search-toolbar/header-search-toolbar.component\";\r\nimport { HeaderComponent } from \"./header.component\";\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tMatIconModule,\r\n\t\tIconButtonModule,\r\n\t\tMatToolbarModule,\r\n\t\tEthIconComponent,\r\n\t\tRoundedButtonModule,\r\n\t\tMatFormFieldModule,\r\n\t\tReactiveFormsModule,\r\n\t\tCommonInputModule,\r\n\t\tRentalSwitcherModule,\r\n\t\tSelectInputModule,\r\n\t\tDatePickerInputsModule,\r\n\t\tClientPlatformFormsModule,\r\n\t],\r\n\tdeclarations: [HeaderComponent, HeaderSearchToolbarComponent],\r\n\texports: [HeaderComponent],\r\n})\r\nexport class HeaderModule {}\r\n","import {\r\n\tChangeDetectionStrategy,\r\n\tComponent,\r\n\tElementRef,\r\n\tEventEmitter,\r\n\tHostListener,\r\n\tInput,\r\n\tOutput,\r\n\tViewChild,\r\n\tinject,\r\n} from \"@angular/core\";\r\n\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthService, Impersonation } from \"@e-tenant-hub/shared/auth\";\r\nimport { NavItem } from \"./nav-item/nav-item.type\";\r\n\r\n@Component({\r\n\tselector: \"cp-nav-bar\",\r\n\ttemplateUrl: \"./nav-bar.component.html\",\r\n\tstyleUrl: \"./nav-bar.component.scss\",\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NavBarComponent {\r\n\t@Input() navItems?: NavItem[];\r\n\t@Output() readonly navItemClicked = new EventEmitter();\r\n\r\n\tisMenuOpen = false;\r\n\r\n\tprivate readonly authService = inject(AuthService);\r\n\treadonly user = this.authService.user;\r\n\tprivate readonly router = inject(Router);\r\n\r\n\t@ViewChild(\"menuWrapper\") menuWrapper!: ElementRef;\r\n\t@ViewChild(\"submenu\") submenu!: ElementRef;\r\n\r\n\thandleNavItemClick() {\r\n\t\tthis.navItemClicked.emit();\r\n\t}\r\n\r\n\topenCloseMenu(event: MouseEvent): void {\r\n\t\tevent.stopPropagation();\r\n\t\tthis.isMenuOpen = !this.isMenuOpen;\r\n\t}\r\n\t@HostListener(\"document:click\", [\"$event\"])\r\n\tcloseSubmenuOnClickOutside(event: MouseEvent): void {\r\n\t\tif (\r\n\t\t\tthis.isMenuOpen &&\r\n\t\t\tthis.submenu &&\r\n\t\t\tthis.menuWrapper &&\r\n\t\t\t!this.menuWrapper.nativeElement.contains(event.target) &&\r\n\t\t\t!this.submenu.nativeElement.contains(event.target)\r\n\t\t) {\r\n\t\t\tthis.isMenuOpen = false;\r\n\t\t}\r\n\t}\r\n\r\n\tasync logout(): Promise {\r\n\t\tif (this.user?.isImpersonated) Impersonation.resetImpersonationInsideCache();\r\n\t\tawait this.authService.logout();\r\n\t}\r\n\r\n\tresetImpersonation(): void {\r\n\t\tImpersonation.resetImpersonationInsideCache();\r\n\t\tthis.router.navigateByUrl(\"/choose-account\");\r\n\t}\r\n}\r\n","
\r\n\t\"profil\r\n\t
\r\n\t\t
Bonjour
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t@if (user) {\r\n\t\t\t\t\r\n\t\t\t\t\t{{ user.givenName | uppercase }} {{ user.familyName | uppercase }}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
Aide
\r\n\t\t\t\r\n\t\t\t@if (user && user.hasAdminRole && user.isImpersonated) {\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tChanger d'utilisateur\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t\r\n\t\t
\r\n\t\t\r\n\t
\r\n\r\n\r\n\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { RentalSwitcherModule } from \"@e-tenant-hub/client-platform/shared/features/rental-switcher\";\r\nimport { HeaderModule } from \"@e-tenant-hub/client-platform/shell/ui/header\";\r\nimport { EthIconComponent } from \"@e-tenant-hub/shared/ui/icon\";\r\nimport { UtilsModule } from \"@e-tenant-hub/shared/utils\";\r\nimport { NavBarComponent } from \"./nav-bar.component\";\r\n\r\n@NgModule({\r\n\timports: [CommonModule, RentalSwitcherModule, RouterModule, EthIconComponent, HeaderModule, UtilsModule],\r\n\tdeclarations: [NavBarComponent],\r\n\texports: [NavBarComponent],\r\n})\r\nexport class NavBarModule {}\r\n"],"mappings":"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","names":["_c0","_c1","_c2","_c3","MatDrawerContainer_Conditional_0_Template","rf","ctx","_r1","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","ctx_r1","ɵɵnextContext","ɵɵresetView","ɵɵelementEnd","ɵɵclassProp","MatDrawerContainer_Conditional_3_Template","ɵɵprojection","_c4","_c5","MatSidenavContainer_Conditional_0_Template","MatSidenavContainer_Conditional_3_Template","_c6","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","ɵɵ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","inject","Injector","takeUntil","opened","fromEvent","event","hasModifierKey","distinctUntilChanged","x","y","fromState","toState","element","options","callback","selector","elementToFocus","afterNextRender","focusOrigin","activeEl","openedVia","isOpen","result","restoreFocus","resolve","take","open","newPosition","parent","FocusTrapFactory","FocusMonitor","Platform","InteractivityChecker","DOCUMENT","ɵɵviewQuery","_c1","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵsyntheticHostListener","$event","ɵɵsyntheticHostProperty","ɵɵattribute","ɵɵclassProp","ɵɵelementStart","ɵɵelementEnd","matDrawerAnimations","_MatDrawerContainer","_dir","_element","viewportRuler","defaultAutosize","_animationMode","QueryList","startWith","drawer","item","debounceTime","left","right","width","AfterRenderPhase","merge","isAdd","classList","className","Directionality","ViewportRuler","ANIMATION_MODULE_TYPE","dirIndex","ɵɵcontentQuery","_c3","_c2","ɵɵtemplate","MatDrawerContainer_Conditional_0_Template","MatDrawerContainer_Conditional_3_Template","ɵɵconditional","ɵɵadvance","MatSidenavContent","_MatSidenavContent","changeDetectorRef","container","MatSidenavContainer","MatSidenav","_MatSidenav","coerceNumberProperty","ɵMatSidenav_BaseFactory","t","ɵɵgetInheritedFactory","_MatSidenavContainer","ɵMatSidenavContainer_BaseFactory","_c5","_c4","MatSidenavContainer_Conditional_0_Template","MatSidenavContainer_Conditional_3_Template","_c6","MatSidenavModule","_MatSidenavModule","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","CdkScrollableModule","FooterComponent","constructor","mode","modalService","inject","ResponsiveModalContainerService","openCookiesModal","config","width","maxWidth","openDialog","CookiesModalComponent","CookiesModalModes","settings","selectors","inputs","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵlistener","ɵɵelement","ɵɵproperty","ɵɵpureFunction2","_c0","_FooterComponent","FooterModule","CommonModule","EthIconComponent","_FooterModule","_c0","_c1","MatToolbarRow","_MatToolbarRow","ɵɵdefineDirective","MatToolbar","_MatToolbar","_elementRef","_platform","document","ɵɵdirectiveInject","ElementRef","Platform","DOCUMENT","ɵɵdefineComponent","rf","ctx","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵclassMap","ɵɵclassProp","ɵɵStandaloneFeature","ɵɵprojectionDef","ɵɵprojection","MatToolbarModule","_MatToolbarModule","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","handleValueChange","ɵɵelementEnd","ɵɵproperty","form","ɵɵadvance","fill","rentalUnitOptions","ɵɵtemplate","RentalSwitcherComponent_Conditional_0_Conditional_0_Template","ɵɵconditional","length","RentalSwitcherComponent","constructor","selectionChanged","EventEmitter","cacheStorageService","inject","CacheStorageService","communicationService","CommunicationService","formBuilder","FormBuilder","rentalsService","RentalsService","authService","AuthService","user","ngOnInit","isImpersonated","getRentals$","getRentalsByIds","rentalIds","pipe","tap","rentals","map","unit","value","rentalIdentifier","label","name","createForm","getRentalsByUsername","username","currentItem","find","i","currentRentalId","group","contract","newRentalUnitId","saveCache","CacheKeys","RENTAL_SWITCHER_SELECTION","changeRentalUnitSelection","emit","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","RentalSwitcherComponent_Conditional_0_Template","tmp_0_0","ɵɵpipeBind1","_RentalSwitcherComponent","ɵɵelementStart","ɵɵelement","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","openSolicitationsFiltersModal","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","tmp_3_0","ɵɵpipeBind1","hasFilters$","undefined","_r3","openSolicitationCreationModal","_r4","ɵɵtemplate","HeaderSearchToolbarComponent_Conditional_3_Conditional_0_Template","HeaderSearchToolbarComponent_Conditional_3_Conditional_2_Template","ɵɵconditional","solicitationsService","isNewSolicitationRequestDisabled$","HeaderSearchToolbarComponent","constructor","inject","SolicitationsService","modalContainerService","ResponsiveModalContainerService","notificationsService","NotificationsService","screenSizeService","ScreenSizeService","solicitationsFilterService","SolicitationsFilterService","onFilterChanged$","pipe","map","v","length","isSmartphone$","observeSmallScreen","openDialog","SolicitationSearchFormModalComponent","isNewSolicitationRequestDisabled","showInformationMessage","SolicitationCreationModalComponent","selectors","decls","vars","consts","template","rf","ctx","HeaderSearchToolbarComponent_Conditional_0_Template","HeaderSearchToolbarComponent_Conditional_2_Template","HeaderSearchToolbarComponent_Conditional_3_Template","_HeaderSearchToolbarComponent","ɵɵelementStart","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","toggleMenu","ɵɵelementEnd","ɵɵproperty","ɵɵelement","ɵɵtext","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","title","_r3","ɵɵtemplate","HeaderComponent_Conditional_0_Conditional_4_Template","HeaderComponent_Conditional_0_Conditional_5_Template","HeaderComponent_Conditional_0_Conditional_6_Template","HeaderComponent_Conditional_0_Conditional_7_Template","HeaderComponent_Conditional_0_Conditional_9_Template","HeaderComponent_Conditional_0_Conditional_10_Template","ɵɵpureFunction2","_c0","mode","_c1","ɵɵconditional","showMenuButton","showRentalSwitcher","showCloseButton","useSearchToolbar","HeaderComponent","constructor","menuToggle","EventEmitter","router","inject","Router","activatedRoute","ActivatedRoute","changeDetectorRef","ChangeDetectorRef","showHeader","ngOnInit","subscribeToRouterEvents","ngOnDestroy","routerEventsSubscription","unsubscribe","isOpen","emit","events","pipe","map","route","firstChild","filter","outlet","mergeMap","data","subscribe","undefined","markForCheck","selectors","inputs","outputs","decls","vars","consts","template","rf","ctx","HeaderComponent_Conditional_0_Template","_HeaderComponent","RentalSwitcherModule","CommonModule","ReactiveFormsModule","RentalsModule","SelectInputModule","_RentalSwitcherModule","HeaderModule","CommonModule","MatIconModule","IconButtonModule","MatToolbarModule","EthIconComponent","RoundedButtonModule","MatFormFieldModule","ReactiveFormsModule","CommonInputModule","RentalSwitcherModule","SelectInputModule","DatePickerInputsModule","ClientPlatformFormsModule","_HeaderModule","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","openCloseMenu","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate2","ɵɵpipeBind1","user","givenName","familyName","_r4","resetImpersonation","ɵɵelement","ɵɵproperty","ɵɵtextInterpolate","ctx","_r5","handleNavItemClick","ɵɵtemplate","NavBarComponent_Conditional_26_For_2_Conditional_0_Conditional_6_Template","item_r6","routerLink","icon","isIconFilled","name","ɵɵconditional","tmp_19_0","nbNotifications","NavBarComponent_Conditional_26_For_2_Conditional_0_Template","isVisible","ɵɵrepeaterCreate","NavBarComponent_Conditional_26_For_2_Template","_forTrack0","ɵɵrepeater","navItems","NavBarComponent","constructor","navItemClicked","EventEmitter","isMenuOpen","authService","inject","AuthService","router","Router","emit","event","stopPropagation","closeSubmenuOnClickOutside","submenu","menuWrapper","nativeElement","contains","target","logout","__async","isImpersonated","Impersonation","resetImpersonationInsideCache","navigateByUrl","selectors","viewQuery","rf","ɵɵresolveDocument","NavBarComponent_Conditional_8_Template","i0","_r1","NavBarComponent_Conditional_18_Template","NavBarComponent_Conditional_26_Template","ɵɵclassProp","hasAdminRole","_NavBarComponent","NavBarModule","CommonModule","RentalSwitcherModule","RouterModule","EthIconComponent","HeaderModule","UtilsModule","_NavBarModule"],"x_google_ignoreList":[0,4]}