{"version":3,"sources":["libs/integrated-search/shared/feature/src/lib/state/integrated-search-shared-feature-menu.repository.ts","libs/shared/utils/models/src/shared-grid-columns-service.model.ts","node_modules/@angular/cdk/fesm2022/accordion.mjs","node_modules/@angular/material/fesm2022/expansion.mjs","libs/integrated-search/shared/feature/src/lib/components/integrated-search-shared-feature-metrics-glossary/integrated-search-shared-feature-metrics-glossary.component.ts","libs/integrated-search/shared/feature/src/lib/components/integrated-search-shared-feature-metrics-glossary/integrated-search-shared-feature-metrics-glossary.component.html","libs/integrated-search/shared/feature/src/lib/services/integrated-search-shared-feature-title.service.ts","libs/integrated-search/shared/feature/src/lib/services/integrated-search-shared-feature-grid-columns.service.abstract.ts","libs/integrated-search/shared/feature/src/lib/components/integrated-search-shared-feature-footer/integrated-search-shared-feature-footer.component.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\nimport { createStore, select, withProps } from '@ngneat/elf';\nimport { filter, map, Observable } from 'rxjs';\n\nimport { ISMenu, ISStoreEnum } from '@ess/integrated-search/shared/utils';\nimport { SharedStore } from '@ess/shared/utils/models';\n\ninterface StoreProps {\n menu: ISMenu;\n}\n\ntype Store = SharedStore;\n\n@Injectable()\nexport class IntegratedSearchSharedFeatureMenuRepository {\n get menu$(): Observable {\n return this.__store.pipe(select((state) => state.menu));\n }\n\n private readonly __store: Store;\n\n constructor(\n private readonly __router: Router,\n private readonly __route: ActivatedRoute,\n ) {\n this.__store = this.__createStore();\n this.__listenRouteChange();\n }\n\n private __createStore(): Store {\n return createStore(\n { name: ISStoreEnum.MENU },\n withProps({\n menu: [],\n }),\n );\n }\n\n private __listenRouteChange(): void {\n this.__router.events\n .pipe(\n filter((e) => e instanceof NavigationEnd),\n map(() => this.__getMenu()),\n )\n .subscribe((menu: ISMenu) => this.__store.update((state) => ({ ...state, menu })));\n }\n\n private __getMenu(): ISMenu {\n let snapshot: ActivatedRouteSnapshot | null = this.__route.snapshot;\n let menu: ISMenu = [];\n do {\n menu = snapshot.data['menu'] ?? menu;\n snapshot = snapshot.firstChild;\n } while (snapshot);\n return menu;\n }\n}\n","import { SharedColDef, SharedGridOptions } from './shared-grid.model';\n\nexport abstract class SharedGridColumnsService {\n abstract columns(...args: any[]): SharedColDef[];\n\n abstract onColumnStateChanged(path: string): Pick;\n}\n","import * as i0 from '@angular/core';\nimport { InjectionToken, booleanAttribute, Directive, Input, EventEmitter, Optional, Inject, SkipSelf, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/collections';\nimport { Subject, Subscription } from 'rxjs';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId$1 = 0;\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_ACCORDION = /*#__PURE__*/new InjectionToken('CdkAccordion');\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\nlet CdkAccordion = /*#__PURE__*/(() => {\n class CdkAccordion {\n constructor() {\n /** Emits when the state of the accordion changes */\n this._stateChanges = new Subject();\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n this._openCloseAllActions = new Subject();\n /** A readonly id value to use for unique selection coordination. */\n this.id = `cdk-accordion-${nextId$1++}`;\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n this.multi = false;\n }\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll() {\n if (this.multi) {\n this._openCloseAllActions.next(true);\n }\n }\n /** Closes all enabled accordion items. */\n closeAll() {\n this._openCloseAllActions.next(false);\n }\n ngOnChanges(changes) {\n this._stateChanges.next(changes);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n static {\n this.ɵfac = function CdkAccordion_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CdkAccordion)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkAccordion,\n selectors: [[\"cdk-accordion\"], [\"\", \"cdkAccordion\", \"\"]],\n inputs: {\n multi: [2, \"multi\", \"multi\", booleanAttribute]\n },\n exportAs: [\"cdkAccordion\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: CDK_ACCORDION,\n useExisting: CdkAccordion\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵNgOnChangesFeature]\n });\n }\n }\n return CdkAccordion;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n/**\n * A basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\nlet CdkAccordionItem = /*#__PURE__*/(() => {\n class CdkAccordionItem {\n /** Whether the AccordionItem is expanded. */\n get expanded() {\n return this._expanded;\n }\n set expanded(expanded) {\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n } else {\n this.closed.emit();\n }\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n constructor(accordion, _changeDetectorRef, _expansionDispatcher) {\n this.accordion = accordion;\n this._changeDetectorRef = _changeDetectorRef;\n this._expansionDispatcher = _expansionDispatcher;\n /** Subscription to openAll/closeAll events. */\n this._openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n this.closed = new EventEmitter();\n /** Event emitted every time the AccordionItem is opened. */\n this.opened = new EventEmitter();\n /** Event emitted when the AccordionItem is destroyed. */\n this.destroyed = new EventEmitter();\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n this.expandedChange = new EventEmitter();\n /** The unique AccordionItem id. */\n this.id = `cdk-accordion-child-${nextId++}`;\n this._expanded = false;\n /** Whether the AccordionItem is disabled. */\n this.disabled = false;\n /** Unregister function for _expansionDispatcher. */\n this._removeUniqueSelectionListener = () => {};\n this._removeUniqueSelectionListener = _expansionDispatcher.listen((id, accordionId) => {\n if (this.accordion && !this.accordion.multi && this.accordion.id === accordionId && this.id !== id) {\n this.expanded = false;\n }\n });\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n /** Toggles the expanded state of the accordion item. */\n toggle() {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n /** Sets the expanded state of the accordion item to false. */\n close() {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n /** Sets the expanded state of the accordion item to true. */\n open() {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n _subscribeToOpenCloseAllActions() {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n static {\n this.ɵfac = function CdkAccordionItem_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CdkAccordionItem)(i0.ɵɵdirectiveInject(CDK_ACCORDION, 12), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.UniqueSelectionDispatcher));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: CdkAccordionItem,\n selectors: [[\"cdk-accordion-item\"], [\"\", \"cdkAccordionItem\", \"\"]],\n inputs: {\n expanded: [2, \"expanded\", \"expanded\", booleanAttribute],\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute]\n },\n outputs: {\n closed: \"closed\",\n opened: \"opened\",\n destroyed: \"destroyed\",\n expandedChange: \"expandedChange\"\n },\n exportAs: [\"cdkAccordionItem\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n {\n provide: CDK_ACCORDION,\n useValue: undefined\n }]), i0.ɵɵInputTransformsFeature]\n });\n }\n }\n return CdkAccordionItem;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CdkAccordionModule = /*#__PURE__*/(() => {\n class CdkAccordionModule {\n static {\n this.ɵfac = function CdkAccordionModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || CdkAccordionModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: CdkAccordionModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({});\n }\n }\n return CdkAccordionModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CDK_ACCORDION, CdkAccordion, CdkAccordionItem, CdkAccordionModule };\n","import { CdkAccordionItem, CdkAccordion, CdkAccordionModule } from '@angular/cdk/accordion';\nimport { TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Inject, Optional, EventEmitter, ANIMATION_MODULE_TYPE, booleanAttribute, Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Input, Output, ContentChild, ViewChild, numberAttribute, Host, Attribute, QueryList, ContentChildren, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport * as i2 from '@angular/cdk/a11y';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { startWith, filter, take } from 'rxjs/operators';\nimport { ENTER, hasModifierKey, SPACE } from '@angular/cdk/keycodes';\nimport { Subject, Subscription, EMPTY, merge } from 'rxjs';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport * as i1 from '@angular/cdk/collections';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * Token used to provide a `MatAccordion` to `MatExpansionPanel`.\n * Used primarily to avoid circular imports between `MatAccordion` and `MatExpansionPanel`.\n */\nconst _c0 = [\"body\"];\nconst _c1 = [[[\"mat-expansion-panel-header\"]], \"*\", [[\"mat-action-row\"]]];\nconst _c2 = [\"mat-expansion-panel-header\", \"*\", \"mat-action-row\"];\nfunction MatExpansionPanel_ng_template_5_Template(rf, ctx) {}\nconst _c3 = [[[\"mat-panel-title\"]], [[\"mat-panel-description\"]], \"*\"];\nconst _c4 = [\"mat-panel-title\", \"mat-panel-description\", \"*\"];\nfunction MatExpansionPanelHeader_Conditional_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 1);\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(1, \"svg\", 2);\n i0.ɵɵelement(2, \"path\", 3);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"@indicatorRotate\", ctx_r0._getExpandedState());\n }\n}\nconst MAT_ACCORDION = /*#__PURE__*/new InjectionToken('MAT_ACCORDION');\n\n/** Time and timing curve for expansion panel animations. */\n// Note: Keep this in sync with the Sass variable for the panel header animation.\nconst EXPANSION_PANEL_ANIMATION_TIMING = '225ms cubic-bezier(0.4,0.0,0.2,1)';\n/**\n * Animations used by the Material expansion panel.\n *\n * A bug in angular animation's `state` when ViewContainers are moved using ViewContainerRef.move()\n * causes the animation state of moved components to become `void` upon exit, and not update again\n * upon reentry into the DOM. This can lead a to situation for the expansion panel where the state\n * of the panel is `expanded` or `collapsed` but the animation state is `void`.\n *\n * To correctly handle animating to the next state, we animate between `void` and `collapsed` which\n * are defined to have the same styles. Since angular animates from the current styles to the\n * destination state's style definition, in situations where we are moving from `void`'s styles to\n * `collapsed` this acts a noop since no style values change.\n *\n * In the case where angular's animation state is out of sync with the expansion panel's state, the\n * expansion panel being `expanded` and angular animations being `void`, the animation from the\n * `expanded`'s effective styles (though in a `void` animation state) to the collapsed state will\n * occur as expected.\n *\n * Angular Bug: https://github.com/angular/angular/issues/18847\n *\n * @docs-private\n */\nconst matExpansionAnimations = {\n /** Animation that rotates the indicator arrow. */\n indicatorRotate: /*#__PURE__*/trigger('indicatorRotate', [/*#__PURE__*/state('collapsed, void', /*#__PURE__*/style({\n transform: 'rotate(0deg)'\n })), /*#__PURE__*/state('expanded', /*#__PURE__*/style({\n transform: 'rotate(180deg)'\n })), /*#__PURE__*/transition('expanded <=> collapsed, void => collapsed', /*#__PURE__*/animate(EXPANSION_PANEL_ANIMATION_TIMING))]),\n /** Animation that expands and collapses the panel content. */\n bodyExpansion: /*#__PURE__*/trigger('bodyExpansion', [/*#__PURE__*/state('collapsed, void', /*#__PURE__*/style({\n height: '0px',\n visibility: 'hidden'\n })),\n /*#__PURE__*/\n // Clear the `visibility` while open, otherwise the content will be visible when placed in\n // a parent that's `visibility: hidden`, because `visibility` doesn't apply to descendants\n // that have a `visibility` of their own (see #27436).\n state('expanded', /*#__PURE__*/style({\n height: '*',\n visibility: ''\n })), /*#__PURE__*/transition('expanded <=> collapsed, void => collapsed', /*#__PURE__*/animate(EXPANSION_PANEL_ANIMATION_TIMING))])\n};\n\n/**\n * Token used to provide a `MatExpansionPanel` to `MatExpansionPanelContent`.\n * Used to avoid circular imports between `MatExpansionPanel` and `MatExpansionPanelContent`.\n */\nconst MAT_EXPANSION_PANEL = /*#__PURE__*/new InjectionToken('MAT_EXPANSION_PANEL');\n\n/**\n * Expansion panel content that will be rendered lazily\n * after the panel is opened for the first time.\n */\nlet MatExpansionPanelContent = /*#__PURE__*/(() => {\n class MatExpansionPanelContent {\n constructor(_template, _expansionPanel) {\n this._template = _template;\n this._expansionPanel = _expansionPanel;\n }\n static {\n this.ɵfac = function MatExpansionPanelContent_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionPanelContent)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(MAT_EXPANSION_PANEL, 8));\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatExpansionPanelContent,\n selectors: [[\"ng-template\", \"matExpansionPanelContent\", \"\"]],\n standalone: true\n });\n }\n }\n return MatExpansionPanelContent;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/** Counter for generating unique element ids. */\nlet uniqueId = 0;\n/**\n * Injection token that can be used to configure the default\n * options for the expansion panel component.\n */\nconst MAT_EXPANSION_PANEL_DEFAULT_OPTIONS = /*#__PURE__*/new InjectionToken('MAT_EXPANSION_PANEL_DEFAULT_OPTIONS');\n/**\n * This component can be used as a single element to show expandable content, or as one of\n * multiple children of an element with the MatAccordion directive attached.\n */\nlet MatExpansionPanel = /*#__PURE__*/(() => {\n class MatExpansionPanel extends CdkAccordionItem {\n /** Whether the toggle indicator should be hidden. */\n get hideToggle() {\n return this._hideToggle || this.accordion && this.accordion.hideToggle;\n }\n set hideToggle(value) {\n this._hideToggle = value;\n }\n /** The position of the expansion indicator. */\n get togglePosition() {\n return this._togglePosition || this.accordion && this.accordion.togglePosition;\n }\n set togglePosition(value) {\n this._togglePosition = value;\n }\n constructor(accordion, _changeDetectorRef, _uniqueSelectionDispatcher, _viewContainerRef, _document, _animationMode, defaultOptions) {\n super(accordion, _changeDetectorRef, _uniqueSelectionDispatcher);\n this._viewContainerRef = _viewContainerRef;\n this._animationMode = _animationMode;\n this._hideToggle = false;\n /** An event emitted after the body's expansion animation happens. */\n this.afterExpand = new EventEmitter();\n /** An event emitted after the body's collapse animation happens. */\n this.afterCollapse = new EventEmitter();\n /** Stream that emits for changes in `@Input` properties. */\n this._inputChanges = new Subject();\n /** ID for the associated header element. Used for a11y labelling. */\n this._headerId = `mat-expansion-panel-header-${uniqueId++}`;\n this.accordion = accordion;\n this._document = _document;\n this._animationsDisabled = _animationMode === 'NoopAnimations';\n if (defaultOptions) {\n this.hideToggle = defaultOptions.hideToggle;\n }\n }\n /** Determines whether the expansion panel should have spacing between it and its siblings. */\n _hasSpacing() {\n if (this.accordion) {\n return this.expanded && this.accordion.displayMode === 'default';\n }\n return false;\n }\n /** Gets the expanded state string. */\n _getExpandedState() {\n return this.expanded ? 'expanded' : 'collapsed';\n }\n /** Toggles the expanded state of the expansion panel. */\n toggle() {\n this.expanded = !this.expanded;\n }\n /** Sets the expanded state of the expansion panel to false. */\n close() {\n this.expanded = false;\n }\n /** Sets the expanded state of the expansion panel to true. */\n open() {\n this.expanded = true;\n }\n ngAfterContentInit() {\n if (this._lazyContent && this._lazyContent._expansionPanel === this) {\n // Render the content as soon as the panel becomes open.\n this.opened.pipe(startWith(null), filter(() => this.expanded && !this._portal), take(1)).subscribe(() => {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef);\n });\n }\n }\n ngOnChanges(changes) {\n this._inputChanges.next(changes);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this._inputChanges.complete();\n }\n /** Checks whether the expansion panel's content contains the currently-focused element. */\n _containsFocus() {\n if (this._body) {\n const focusedElement = this._document.activeElement;\n const bodyElement = this._body.nativeElement;\n return focusedElement === bodyElement || bodyElement.contains(focusedElement);\n }\n return false;\n }\n /** Called when the expansion animation has started. */\n _animationStarted(event) {\n if (!isInitialAnimation(event) && !this._animationsDisabled && this._body) {\n // Prevent the user from tabbing into the content while it's animating.\n // TODO(crisbeto): maybe use `inert` to prevent focus from entering while closed as well\n // instead of `visibility`? Will allow us to clean up some code but needs more testing.\n this._body?.nativeElement.setAttribute('inert', '');\n }\n }\n /** Called when the expansion animation has finished. */\n _animationDone(event) {\n if (!isInitialAnimation(event)) {\n if (event.toState === 'expanded') {\n this.afterExpand.emit();\n } else if (event.toState === 'collapsed') {\n this.afterCollapse.emit();\n }\n // Re-enable tabbing once the animation is finished.\n if (!this._animationsDisabled && this._body) {\n this._body.nativeElement.removeAttribute('inert');\n }\n }\n }\n static {\n this.ɵfac = function MatExpansionPanel_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionPanel)(i0.ɵɵdirectiveInject(MAT_ACCORDION, 12), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.UniqueSelectionDispatcher), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), i0.ɵɵdirectiveInject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, 8));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatExpansionPanel,\n selectors: [[\"mat-expansion-panel\"]],\n contentQueries: function MatExpansionPanel_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatExpansionPanelContent, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._lazyContent = _t.first);\n }\n },\n viewQuery: function MatExpansionPanel_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._body = _t.first);\n }\n },\n hostAttrs: [1, \"mat-expansion-panel\"],\n hostVars: 6,\n hostBindings: function MatExpansionPanel_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-expanded\", ctx.expanded)(\"_mat-animation-noopable\", ctx._animationsDisabled)(\"mat-expansion-panel-spacing\", ctx._hasSpacing());\n }\n },\n inputs: {\n hideToggle: [2, \"hideToggle\", \"hideToggle\", booleanAttribute],\n togglePosition: \"togglePosition\"\n },\n outputs: {\n afterExpand: \"afterExpand\",\n afterCollapse: \"afterCollapse\"\n },\n exportAs: [\"matExpansionPanel\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([\n // Provide MatAccordion as undefined to prevent nested expansion panels from registering\n // to the same accordion.\n {\n provide: MAT_ACCORDION,\n useValue: undefined\n }, {\n provide: MAT_EXPANSION_PANEL,\n useExisting: MatExpansionPanel\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c2,\n decls: 7,\n vars: 4,\n consts: [[\"body\", \"\"], [\"role\", \"region\", 1, \"mat-expansion-panel-content\", 3, \"id\"], [1, \"mat-expansion-panel-body\"], [3, \"cdkPortalOutlet\"]],\n template: function MatExpansionPanel_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵprojectionDef(_c1);\n i0.ɵɵprojection(0);\n i0.ɵɵelementStart(1, \"div\", 1, 0);\n i0.ɵɵlistener(\"@bodyExpansion.start\", function MatExpansionPanel_Template_div_animation_bodyExpansion_start_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx._animationStarted($event));\n })(\"@bodyExpansion.done\", function MatExpansionPanel_Template_div_animation_bodyExpansion_done_1_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx._animationDone($event));\n });\n i0.ɵɵelementStart(3, \"div\", 2);\n i0.ɵɵprojection(4, 1);\n i0.ɵɵtemplate(5, MatExpansionPanel_ng_template_5_Template, 0, 0, \"ng-template\", 3);\n i0.ɵɵelementEnd();\n i0.ɵɵprojection(6, 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"@bodyExpansion\", ctx._getExpandedState())(\"id\", ctx.id);\n i0.ɵɵattribute(\"aria-labelledby\", ctx._headerId);\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"cdkPortalOutlet\", ctx._portal);\n }\n },\n dependencies: [CdkPortalOutlet],\n styles: [\".mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);position:relative;background:var(--mat-expansion-container-background-color, var(--mat-app-surface));color:var(--mat-expansion-container-text-color, var(--mat-app-on-surface));border-radius:var(--mat-expansion-container-shape)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape);border-top-left-radius:var(--mat-expansion-container-shape)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape);border-bottom-left-radius:var(--mat-expansion-container-shape)}.cdk-high-contrast-active .mat-expansion-panel{outline:solid 1px}.mat-expansion-panel.ng-animate-disabled,.ng-animate-disabled .mat-expansion-panel,.mat-expansion-panel._mat-animation-noopable{transition:none}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;font-family:var(--mat-expansion-container-text-font, var(--mat-app-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-app-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-app-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-app-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-app-body-large-tracking))}.mat-expansion-panel-content[style*=\\\"visibility: hidden\\\"] *{visibility:hidden !important}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-app-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}\"],\n encapsulation: 2,\n data: {\n animation: [matExpansionAnimations.bodyExpansion]\n },\n changeDetection: 0\n });\n }\n }\n return MatExpansionPanel;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/** Checks whether an animation is the initial setup animation. */\nfunction isInitialAnimation(event) {\n return event.fromState === 'void';\n}\n/**\n * Actions of a ``.\n */\nlet MatExpansionPanelActionRow = /*#__PURE__*/(() => {\n class MatExpansionPanelActionRow {\n static {\n this.ɵfac = function MatExpansionPanelActionRow_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionPanelActionRow)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatExpansionPanelActionRow,\n selectors: [[\"mat-action-row\"]],\n hostAttrs: [1, \"mat-action-row\"],\n standalone: true\n });\n }\n }\n return MatExpansionPanelActionRow;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Header element of a ``.\n */\nlet MatExpansionPanelHeader = /*#__PURE__*/(() => {\n class MatExpansionPanelHeader {\n constructor(panel, _element, _focusMonitor, _changeDetectorRef, defaultOptions, _animationMode, tabIndex) {\n this.panel = panel;\n this._element = _element;\n this._focusMonitor = _focusMonitor;\n this._changeDetectorRef = _changeDetectorRef;\n this._animationMode = _animationMode;\n this._parentChangeSubscription = Subscription.EMPTY;\n /** Tab index of the header. */\n this.tabIndex = 0;\n const accordionHideToggleChange = panel.accordion ? panel.accordion._stateChanges.pipe(filter(changes => !!(changes['hideToggle'] || changes['togglePosition']))) : EMPTY;\n this.tabIndex = parseInt(tabIndex || '') || 0;\n // Since the toggle state depends on an @Input on the panel, we\n // need to subscribe and trigger change detection manually.\n this._parentChangeSubscription = merge(panel.opened, panel.closed, accordionHideToggleChange, panel._inputChanges.pipe(filter(changes => {\n return !!(changes['hideToggle'] || changes['disabled'] || changes['togglePosition']);\n }))).subscribe(() => this._changeDetectorRef.markForCheck());\n // Avoids focus being lost if the panel contained the focused element and was closed.\n panel.closed.pipe(filter(() => panel._containsFocus())).subscribe(() => _focusMonitor.focusVia(_element, 'program'));\n if (defaultOptions) {\n this.expandedHeight = defaultOptions.expandedHeight;\n this.collapsedHeight = defaultOptions.collapsedHeight;\n }\n }\n /**\n * Whether the associated panel is disabled. Implemented as a part of `FocusableOption`.\n * @docs-private\n */\n get disabled() {\n return this.panel.disabled;\n }\n /** Toggles the expanded state of the panel. */\n _toggle() {\n if (!this.disabled) {\n this.panel.toggle();\n }\n }\n /** Gets whether the panel is expanded. */\n _isExpanded() {\n return this.panel.expanded;\n }\n /** Gets the expanded state string of the panel. */\n _getExpandedState() {\n return this.panel._getExpandedState();\n }\n /** Gets the panel id. */\n _getPanelId() {\n return this.panel.id;\n }\n /** Gets the toggle position for the header. */\n _getTogglePosition() {\n return this.panel.togglePosition;\n }\n /** Gets whether the expand indicator should be shown. */\n _showToggle() {\n return !this.panel.hideToggle && !this.panel.disabled;\n }\n /**\n * Gets the current height of the header. Null if no custom height has been\n * specified, and if the default height from the stylesheet should be used.\n */\n _getHeaderHeight() {\n const isExpanded = this._isExpanded();\n if (isExpanded && this.expandedHeight) {\n return this.expandedHeight;\n } else if (!isExpanded && this.collapsedHeight) {\n return this.collapsedHeight;\n }\n return null;\n }\n /** Handle keydown event calling to toggle() if appropriate. */\n _keydown(event) {\n switch (event.keyCode) {\n // Toggle for space and enter keys.\n case SPACE:\n case ENTER:\n if (!hasModifierKey(event)) {\n event.preventDefault();\n this._toggle();\n }\n break;\n default:\n if (this.panel.accordion) {\n this.panel.accordion._handleHeaderKeydown(event);\n }\n return;\n }\n }\n /**\n * Focuses the panel header. Implemented as a part of `FocusableOption`.\n * @param origin Origin of the action that triggered the focus.\n * @docs-private\n */\n focus(origin, options) {\n if (origin) {\n this._focusMonitor.focusVia(this._element, origin, options);\n } else {\n this._element.nativeElement.focus(options);\n }\n }\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._element).subscribe(origin => {\n if (origin && this.panel.accordion) {\n this.panel.accordion._handleHeaderFocus(this);\n }\n });\n }\n ngOnDestroy() {\n this._parentChangeSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._element);\n }\n static {\n this.ɵfac = function MatExpansionPanelHeader_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionPanelHeader)(i0.ɵɵdirectiveInject(MatExpansionPanel, 1), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i2.FocusMonitor), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, 8), i0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), i0.ɵɵinjectAttribute('tabindex'));\n };\n }\n static {\n this.ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: MatExpansionPanelHeader,\n selectors: [[\"mat-expansion-panel-header\"]],\n hostAttrs: [\"role\", \"button\", 1, \"mat-expansion-panel-header\", \"mat-focus-indicator\"],\n hostVars: 15,\n hostBindings: function MatExpansionPanelHeader_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function MatExpansionPanelHeader_click_HostBindingHandler() {\n return ctx._toggle();\n })(\"keydown\", function MatExpansionPanelHeader_keydown_HostBindingHandler($event) {\n return ctx._keydown($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"id\", ctx.panel._headerId)(\"tabindex\", ctx.disabled ? -1 : ctx.tabIndex)(\"aria-controls\", ctx._getPanelId())(\"aria-expanded\", ctx._isExpanded())(\"aria-disabled\", ctx.panel.disabled);\n i0.ɵɵstyleProp(\"height\", ctx._getHeaderHeight());\n i0.ɵɵclassProp(\"mat-expanded\", ctx._isExpanded())(\"mat-expansion-toggle-indicator-after\", ctx._getTogglePosition() === \"after\")(\"mat-expansion-toggle-indicator-before\", ctx._getTogglePosition() === \"before\")(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n }\n },\n inputs: {\n expandedHeight: \"expandedHeight\",\n collapsedHeight: \"collapsedHeight\",\n tabIndex: [2, \"tabIndex\", \"tabIndex\", value => value == null ? 0 : numberAttribute(value)]\n },\n standalone: true,\n features: [i0.ɵɵInputTransformsFeature, i0.ɵɵStandaloneFeature],\n ngContentSelectors: _c4,\n decls: 5,\n vars: 3,\n consts: [[1, \"mat-content\"], [1, \"mat-expansion-indicator\"], [\"xmlns\", \"http://www.w3.org/2000/svg\", \"viewBox\", \"0 -960 960 960\", \"aria-hidden\", \"true\", \"focusable\", \"false\"], [\"d\", \"M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z\"]],\n template: function MatExpansionPanelHeader_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵprojectionDef(_c3);\n i0.ɵɵelementStart(0, \"span\", 0);\n i0.ɵɵprojection(1);\n i0.ɵɵprojection(2, 1);\n i0.ɵɵprojection(3, 2);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, MatExpansionPanelHeader_Conditional_4_Template, 3, 1, \"span\", 1);\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-content-hide-toggle\", !ctx._showToggle());\n i0.ɵɵadvance(4);\n i0.ɵɵconditional(ctx._showToggle() ? 4 : -1);\n }\n },\n styles: [\".mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-expansion-header-collapsed-state-height);font-family:var(--mat-expansion-header-text-font, var(--mat-app-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-app-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-app-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-app-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-app-title-medium-tracking))}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color)}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color)}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-app-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color)}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-app-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-app-on-surface-variant))}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:\\\"\\\";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-app-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, inline-block)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-app-on-surface-variant));display:var(--mat-expansion-header-indicator-display, none)}.cdk-high-contrast-active .mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}\"],\n encapsulation: 2,\n data: {\n animation: [matExpansionAnimations.indicatorRotate]\n },\n changeDetection: 0\n });\n }\n }\n return MatExpansionPanelHeader;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Description element of a ``.\n */\nlet MatExpansionPanelDescription = /*#__PURE__*/(() => {\n class MatExpansionPanelDescription {\n static {\n this.ɵfac = function MatExpansionPanelDescription_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionPanelDescription)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatExpansionPanelDescription,\n selectors: [[\"mat-panel-description\"]],\n hostAttrs: [1, \"mat-expansion-panel-header-description\"],\n standalone: true\n });\n }\n }\n return MatExpansionPanelDescription;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * Title element of a ``.\n */\nlet MatExpansionPanelTitle = /*#__PURE__*/(() => {\n class MatExpansionPanelTitle {\n static {\n this.ɵfac = function MatExpansionPanelTitle_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionPanelTitle)();\n };\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatExpansionPanelTitle,\n selectors: [[\"mat-panel-title\"]],\n hostAttrs: [1, \"mat-expansion-panel-header-title\"],\n standalone: true\n });\n }\n }\n return MatExpansionPanelTitle;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Directive for a Material Design Accordion.\n */\nlet MatAccordion = /*#__PURE__*/(() => {\n class MatAccordion extends CdkAccordion {\n constructor() {\n super(...arguments);\n /** Headers belonging to this accordion. */\n this._ownHeaders = new QueryList();\n /** Whether the expansion indicator should be hidden. */\n this.hideToggle = false;\n /**\n * Display mode used for all expansion panels in the accordion. Currently two display\n * modes exist:\n * default - a gutter-like spacing is placed around any expanded panel, placing the expanded\n * panel at a different elevation from the rest of the accordion.\n * flat - no spacing is placed around expanded panels, showing all panels at the same\n * elevation.\n */\n this.displayMode = 'default';\n /** The position of the expansion indicator. */\n this.togglePosition = 'after';\n }\n ngAfterContentInit() {\n this._headers.changes.pipe(startWith(this._headers)).subscribe(headers => {\n this._ownHeaders.reset(headers.filter(header => header.panel.accordion === this));\n this._ownHeaders.notifyOnChanges();\n });\n this._keyManager = new FocusKeyManager(this._ownHeaders).withWrap().withHomeAndEnd();\n }\n /** Handles keyboard events coming in from the panel headers. */\n _handleHeaderKeydown(event) {\n this._keyManager.onKeydown(event);\n }\n _handleHeaderFocus(header) {\n this._keyManager.updateActiveItem(header);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n this._keyManager?.destroy();\n this._ownHeaders.destroy();\n }\n static {\n this.ɵfac = /* @__PURE__ */(() => {\n let ɵMatAccordion_BaseFactory;\n return function MatAccordion_Factory(__ngFactoryType__) {\n return (ɵMatAccordion_BaseFactory || (ɵMatAccordion_BaseFactory = i0.ɵɵgetInheritedFactory(MatAccordion)))(__ngFactoryType__ || MatAccordion);\n };\n })();\n }\n static {\n this.ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: MatAccordion,\n selectors: [[\"mat-accordion\"]],\n contentQueries: function MatAccordion_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, MatExpansionPanelHeader, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._headers = _t);\n }\n },\n hostAttrs: [1, \"mat-accordion\"],\n hostVars: 2,\n hostBindings: function MatAccordion_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵclassProp(\"mat-accordion-multi\", ctx.multi);\n }\n },\n inputs: {\n hideToggle: [2, \"hideToggle\", \"hideToggle\", booleanAttribute],\n displayMode: \"displayMode\",\n togglePosition: \"togglePosition\"\n },\n exportAs: [\"matAccordion\"],\n standalone: true,\n features: [i0.ɵɵProvidersFeature([{\n provide: MAT_ACCORDION,\n useExisting: MatAccordion\n }]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature]\n });\n }\n }\n return MatAccordion;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet MatExpansionModule = /*#__PURE__*/(() => {\n class MatExpansionModule {\n static {\n this.ɵfac = function MatExpansionModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || MatExpansionModule)();\n };\n }\n static {\n this.ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: MatExpansionModule\n });\n }\n static {\n this.ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [MatCommonModule, CdkAccordionModule, PortalModule]\n });\n }\n }\n return MatExpansionModule;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { EXPANSION_PANEL_ANIMATION_TIMING, MAT_ACCORDION, MAT_EXPANSION_PANEL, MAT_EXPANSION_PANEL_DEFAULT_OPTIONS, MatAccordion, MatExpansionModule, MatExpansionPanel, MatExpansionPanelActionRow, MatExpansionPanelContent, MatExpansionPanelDescription, MatExpansionPanelHeader, MatExpansionPanelTitle, matExpansionAnimations };\n","import { ChangeDetectionStrategy, Component, inject, Signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { filter, map } from 'rxjs';\n\nimport { IS_METRICS_GLOSSARY, ISMetricsDefinition, ISMetricsGlossary } from '@ess/integrated-search/shared/utils';\nimport { SharedUiControlsInputControlComponent } from '@ess/shared/ui/controls';\nimport { SharedUiDialogsCustomComponent } from '@ess/shared/ui/dialogs';\nimport { HightlightPipe } from '@ess/shared/utils/pipes';\n\n@Component({\n standalone: true,\n imports: [\n SharedUiDialogsCustomComponent,\n SharedUiControlsInputControlComponent,\n MatExpansionModule,\n ReactiveFormsModule,\n FormsModule,\n HightlightPipe,\n ],\n templateUrl: './integrated-search-shared-feature-metrics-glossary.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IntegratedSearchSharedFeatureMetricsGlossaryComponent {\n protected readonly _dialogRef = inject(MatDialogRef);\n protected readonly _searchControl = new FormControl(null);\n protected readonly _metricDefinitions = IS_METRICS_GLOSSARY.sort((a, b) => a.metricName.localeCompare(b.metricName));\n\n protected readonly _displayedDefinitions: Signal = toSignal(\n this._searchControl.valueChanges.pipe(\n filter((query: string | null) => !query || query?.length >= 2),\n map((query: string | null) => {\n return query\n ? this._metricDefinitions.filter((definition: ISMetricsDefinition) =>\n Object.keys(definition).some((key) =>\n definition[key as keyof ISMetricsDefinition]\n ?.toLowerCase()\n .replace(/\\n/g, ' ')\n .includes(query.toLowerCase()),\n ),\n )\n : this._metricDefinitions;\n }),\n ),\n { initialValue: this._metricDefinitions },\n );\n}\n","\n
\n \n\n \n @for (metric of _displayedDefinitions(); track metric) {\n \n \n \n \n \n \n @if (metric.tableContext) {\n

In table context:

\n

\n }\n @if (metric.chartContext) {\n

In chart context:

\n

\n }\n
\n }\n
\n
\n
\n","import { inject, Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\n@Injectable()\nexport class IntegratedSearchSharedFeatureTitleService {\n private readonly SUFFIX = 'Integrated Search Dashboard';\n private readonly DIVIDER = ' - ';\n\n private readonly __title = inject(Title);\n\n setTitle(routeTitle?: string, clientName?: string, projectName?: string): void {\n this.__title.setTitle(this.__buildTitle(clientName, projectName, routeTitle));\n }\n\n updateTitle(name: string): void {\n const currentTitle = this.__title.getTitle();\n this.__title.setTitle([name.trim(), currentTitle].join(this.DIVIDER));\n }\n\n private __buildTitle(...parts: (string | undefined)[]): string {\n const fullTitle = [this.SUFFIX];\n parts.forEach((part) => part && fullTitle.unshift(part.trim()));\n return fullTitle.join(this.DIVIDER);\n }\n}\n","import { inject } from '@angular/core';\n\nimport { ISAssignedCategory } from '@ess/integrated-search/shared/utils';\nimport { SharedFeatureServicesUserInteractionService } from '@ess/shared/feature/services';\nimport { EssCountryOptionsHelper, SharedGridColumnsHelper } from '@ess/shared/utils/helpers';\nimport {\n SharedColDef,\n SharedColumnState,\n SharedExpandableCellRendererParams,\n SharedGridCellRendererParams,\n SharedGridColumnsService,\n SharedGridDragStoppedEvent,\n SharedGridNewColumnsLoadedEvent,\n SharedGridOptions,\n SharedGridValueGetterParams,\n SharedUserInteractionService,\n SharedValueWithChipsCellRendererParams,\n} from '@ess/shared/utils/models';\n\ntype SearchTermBase = { search_term: string; categories: ISAssignedCategory[] };\ntype UrlBase = { url: string; categories: ISAssignedCategory[] };\n\nexport abstract class AbstractIntegratedSearchSharedFeatureGridColumnsService extends SharedGridColumnsService {\n protected readonly _uiService: SharedUserInteractionService = inject(SharedFeatureServicesUserInteractionService);\n\n protected get _searchTermColumn(): SharedColDef {\n return {\n headerName: 'Search term',\n field: 'search_term',\n sortable: true,\n pinned: 'left',\n lockPosition: 'left',\n minWidth: 240,\n cellRenderer: 'searchTermRenderer',\n autoHeight: true,\n toggleEnabled: false,\n initialSort: 'asc',\n cellRendererParams: this._searchTermCellParams(true),\n };\n }\n\n protected get _urlColumn(): SharedColDef {\n return {\n headerName: 'Landing page',\n field: 'url',\n sortable: true,\n pinned: 'left',\n minWidth: 240,\n cellRenderer: 'urlRenderer',\n autoHeight: true,\n toggleEnabled: false,\n initialSort: 'asc',\n valueGetter: this.__urlValueGetter(),\n cellRendererParams: this.__urlCellParams(),\n suppressMovable: true,\n lockPosition: 'left',\n };\n }\n\n onColumnStateChanged(path: string): Pick {\n return {\n onDragStopped: ({ api }: SharedGridDragStoppedEvent) => this.__saveColumnState(api.getColumnState(), path),\n onNewColumnsLoaded: ({ api }: SharedGridNewColumnsLoadedEvent) =>\n this.__saveColumnState(api.getColumnState(), path),\n };\n }\n\n protected _orderAndMergeColumnDefinitions(allColumns: SharedColDef[], path: string): SharedColDef[] {\n const columnState = this.__loadColumnState(path);\n\n if (!columnState?.length) {\n return allColumns;\n }\n\n const mergedDefinitions = SharedGridColumnsHelper.mergeColumnsDefinitions(allColumns, columnState);\n\n return SharedGridColumnsHelper.sortColumns(mergedDefinitions, columnState);\n }\n\n protected _countryCellParams(): ({\n data,\n }: SharedGridCellRendererParams) => SharedExpandableCellRendererParams {\n return ({ value }: SharedGridCellRendererParams) =>\n ({\n tooltips: value?.map(\n (alpha3: string) => EssCountryOptionsHelper.getCountryNameByAlpha3(alpha3) || 'Unknown country',\n ),\n displayChips: true,\n }) as SharedExpandableCellRendererParams;\n }\n\n protected _isMaster(data?: SearchTermBase | null): boolean {\n return !!data && 'isMaster' in data;\n }\n\n protected _searchTermCellParams(\n withMaster = false,\n ): ({ data }: SharedGridCellRendererParams) => SharedValueWithChipsCellRendererParams {\n return ({ data }: SharedGridCellRendererParams) =>\n ({\n ...(withMaster && { isMaster: this._isMaster(data) }),\n ...this.__getCategoriesChips(data?.categories),\n }) as SharedValueWithChipsCellRendererParams;\n }\n\n private __urlCellParams(): ({\n data,\n }: SharedGridCellRendererParams) => SharedValueWithChipsCellRendererParams {\n return ({ data }: SharedGridCellRendererParams) =>\n ({\n ...this.__getCategoriesChips(data?.categories),\n actions: [\n {\n icon: 'open_in_new',\n label: 'Open link in new tab',\n action: () => this._uiService.openLink(data?.url),\n },\n {\n icon: 'content_copy',\n label: 'Copy link to clipboard',\n action: () => this._uiService.copyText(data?.url),\n },\n ],\n }) as SharedValueWithChipsCellRendererParams;\n }\n\n private __urlValueGetter(): ({ data }: SharedGridValueGetterParams) => string {\n return ({ data }: SharedGridValueGetterParams) =>\n data ? data.url.replace(/^(https?:\\/\\/)?(www\\.)?/, '') : '';\n }\n\n private __getCategoriesChips(\n categories?: ISAssignedCategory[],\n ): Partial> {\n return {\n chips: categories?.map((category: ISAssignedCategory) => category.values[0].value),\n tooltips: categories?.map((category: ISAssignedCategory) => `${category.title}: ${category.values[0].value}`),\n };\n }\n\n private __saveColumnState(columnState: SharedColumnState[], path: string): void {\n if (columnState?.length) {\n localStorage.setItem(path, JSON.stringify(columnState));\n }\n }\n\n private __loadColumnState(path: string): SharedColumnState[] | null {\n return JSON.parse(localStorage.getItem(path) || 'null');\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ISRoutesConfig } from '@ess/integrated-search/shared/utils';\n\n@Component({\n selector: 'is-integrated-search-shared-feature-footer',\n standalone: true,\n imports: [RouterModule],\n template: `\n \n Integrated Search Dashboard 2025.\n All rights reserved.\n \n Privacy policy\n \n Licenses\n \n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IntegratedSearchSharedFeatureFooterComponent {\n protected readonly ISRoutesConfig = ISRoutesConfig;\n}\n"],"mappings":"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","names":["IntegratedSearchSharedFeatureMenuRepository","menu$","__store","pipe","select","state","menu","constructor","__router","__route","__createStore","__listenRouteChange","createStore","name","ISStoreEnum","MENU","withProps","events","filter","e","NavigationEnd","map","__getMenu","subscribe","update","__spreadProps","__spreadValues","snapshot","data","firstChild","ɵɵinject","Router","ActivatedRoute","factory","ɵfac","_IntegratedSearchSharedFeatureMenuRepository","SharedGridColumnsService","nextId$1","CDK_ACCORDION","InjectionToken","CdkAccordion","_CdkAccordion","Subject","changes","__ngFactoryType__","ɵɵdefineDirective","booleanAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵNgOnChangesFeature","nextId","CdkAccordionItem","_CdkAccordionItem","expanded","accordionId","accordion","_changeDetectorRef","_expansionDispatcher","Subscription","EventEmitter","id","ɵɵdirectiveInject","ChangeDetectorRef","UniqueSelectionDispatcher","CdkAccordionModule","_CdkAccordionModule","ɵɵdefineNgModule","ɵɵdefineInjector","_c0","_c1","_c2","MatExpansionPanel_ng_template_5_Template","rf","ctx","_c3","_c4","MatExpansionPanelHeader_Conditional_4_Template","ɵɵelementStart","ɵɵnamespaceSVG","ɵɵelement","ɵɵelementEnd","ctx_r0","ɵɵnextContext","ɵɵproperty","MAT_ACCORDION","InjectionToken","EXPANSION_PANEL_ANIMATION_TIMING","matExpansionAnimations","trigger","state","style","transition","animate","MAT_EXPANSION_PANEL","MatExpansionPanelContent","_MatExpansionPanelContent","_template","_expansionPanel","__ngFactoryType__","ɵɵdirectiveInject","TemplateRef","ɵɵdefineDirective","uniqueId","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","MatExpansionPanel","_MatExpansionPanel","CdkAccordionItem","value","accordion","_changeDetectorRef","_uniqueSelectionDispatcher","_viewContainerRef","_document","_animationMode","defaultOptions","EventEmitter","Subject","startWith","filter","take","TemplatePortal","changes","focusedElement","bodyElement","event","isInitialAnimation","ChangeDetectorRef","UniqueSelectionDispatcher","ViewContainerRef","DOCUMENT","ANIMATION_MODULE_TYPE","ɵɵdefineComponent","dirIndex","ɵɵcontentQuery","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵviewQuery","ɵɵclassProp","booleanAttribute","ɵɵProvidersFeature","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","ɵɵNgOnChangesFeature","ɵɵStandaloneFeature","_r1","ɵɵgetCurrentView","ɵɵprojectionDef","ɵɵprojection","ɵɵlistener","$event","ɵɵrestoreView","ɵɵresetView","ɵɵtemplate","ɵɵadvance","ɵɵattribute","CdkPortalOutlet","MatExpansionPanelHeader","_MatExpansionPanelHeader","panel","_element","_focusMonitor","_changeDetectorRef","defaultOptions","_animationMode","tabIndex","Subscription","accordionHideToggleChange","filter","changes","EMPTY","merge","isExpanded","event","hasModifierKey","origin","options","__ngFactoryType__","ɵɵdirectiveInject","MatExpansionPanel","ElementRef","FocusMonitor","ChangeDetectorRef","MAT_EXPANSION_PANEL_DEFAULT_OPTIONS","ANIMATION_MODULE_TYPE","ɵɵinjectAttribute","ɵɵdefineComponent","rf","ctx","ɵɵlistener","$event","ɵɵattribute","ɵɵstyleProp","ɵɵclassProp","value","numberAttribute","ɵɵInputTransformsFeature","ɵɵStandaloneFeature","_c4","ɵɵprojectionDef","_c3","ɵɵelementStart","ɵɵprojection","ɵɵelementEnd","ɵɵtemplate","MatExpansionPanelHeader_Conditional_4_Template","ɵɵadvance","ɵɵconditional","matExpansionAnimations","MatExpansionPanelTitle","_MatExpansionPanelTitle","__ngFactoryType__","ɵɵdefineDirective","MatAccordion","_MatAccordion","CdkAccordion","QueryList","startWith","headers","header","FocusKeyManager","event","ɵMatAccordion_BaseFactory","ɵɵgetInheritedFactory","rf","ctx","dirIndex","ɵɵcontentQuery","MatExpansionPanelHeader","_t","ɵɵqueryRefresh","ɵɵloadQuery","ɵɵclassProp","booleanAttribute","ɵɵProvidersFeature","MAT_ACCORDION","ɵɵInputTransformsFeature","ɵɵInheritDefinitionFeature","MatExpansionModule","_MatExpansionModule","ɵɵdefineNgModule","ɵɵdefineInjector","MatCommonModule","CdkAccordionModule","PortalModule","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵelement","ɵɵadvance","ɵɵproperty","ɵɵpipeBind2","metric_r1","tableContext","ctx_r1","_searchControl","value","ɵɵsanitizeHtml","chartContext","ɵɵtemplate","IntegratedSearchSharedFeatureMetricsGlossaryComponent_For_5_Conditional_5_Template","IntegratedSearchSharedFeatureMetricsGlossaryComponent_For_5_Conditional_6_Template","metricName","ɵɵconditional","IntegratedSearchSharedFeatureMetricsGlossaryComponent","constructor","_dialogRef","inject","MatDialogRef","FormControl","_metricDefinitions","IS_METRICS_GLOSSARY","sort","a","b","localeCompare","_displayedDefinitions","toSignal","valueChanges","pipe","filter","query","length","map","definition","Object","keys","some","key","toLowerCase","replace","includes","initialValue","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵlistener","close","ɵɵrepeaterCreate","IntegratedSearchSharedFeatureMetricsGlossaryComponent_For_5_Template","ɵɵrepeaterTrackByIdentity","ɵɵrepeater","SharedUiDialogsCustomComponent","SharedUiControlsInputControlComponent","MatExpansionModule","MatAccordion","MatExpansionPanel","MatExpansionPanelHeader","MatExpansionPanelTitle","ReactiveFormsModule","NgControlStatus","FormControlDirective","FormsModule","HightlightPipe","encapsulation","changeDetection","_IntegratedSearchSharedFeatureMetricsGlossaryComponent","IntegratedSearchSharedFeatureTitleService","constructor","SUFFIX","DIVIDER","__title","inject","Title","setTitle","routeTitle","clientName","projectName","__buildTitle","updateTitle","name","currentTitle","getTitle","trim","join","parts","fullTitle","forEach","part","unshift","factory","ɵfac","_IntegratedSearchSharedFeatureTitleService","AbstractIntegratedSearchSharedFeatureGridColumnsService","SharedGridColumnsService","constructor","_uiService","inject","SharedFeatureServicesUserInteractionService","_searchTermColumn","headerName","field","sortable","pinned","lockPosition","minWidth","cellRenderer","autoHeight","toggleEnabled","initialSort","cellRendererParams","_searchTermCellParams","_urlColumn","valueGetter","__urlValueGetter","__urlCellParams","suppressMovable","onColumnStateChanged","path","onDragStopped","api","__saveColumnState","getColumnState","onNewColumnsLoaded","_orderAndMergeColumnDefinitions","allColumns","columnState","__loadColumnState","length","mergedDefinitions","SharedGridColumnsHelper","mergeColumnsDefinitions","sortColumns","_countryCellParams","value","tooltips","map","alpha3","EssCountryOptionsHelper","getCountryNameByAlpha3","displayChips","_isMaster","data","withMaster","__spreadValues","isMaster","__getCategoriesChips","categories","__spreadProps","actions","icon","label","action","openLink","url","copyText","replace","chips","category","values","title","localStorage","setItem","JSON","stringify","parse","getItem","IntegratedSearchSharedFeatureFooterComponent","constructor","ISRoutesConfig","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","privacyPolicy","licenses","RouterModule","RouterLink","encapsulation","changeDetection","_IntegratedSearchSharedFeatureFooterComponent"],"x_google_ignoreList":[2,3]}