@siemens/element-ng 48.3.0 → 48.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/index.d.ts +0 -1
- package/chat-messages/index.d.ts +172 -156
- package/dashboard/index.d.ts +2 -3
- package/fesm2022/siemens-element-ng-accordion.mjs +2 -3
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +259 -163
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +7 -11
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +5 -3
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +4 -8
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +2 -9
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +4 -0
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +3 -5
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +3 -4
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +58 -21
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +4 -4
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/filtered-search/index.d.ts +6 -7
- package/navbar-vertical/index.d.ts +2 -4
- package/package.json +7 -7
- package/schematics/migrations/action-modal-migration/action-modal-migration.js +45 -4
- package/schematics/migrations/data/output-names.js +0 -1
- package/schematics/migrations/data/symbol-removals.js +0 -9
- package/schematics/migrations/element-migration/element-migration.js +1 -9
- package/schematics/migrations/wizard-migration/index.js +1 -9
- package/select/index.d.ts +5 -0
- package/status-bar/index.d.ts +0 -1
- package/template-i18n.json +1 -0
- package/tour/index.d.ts +4 -2
- package/translate/index.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-select.mjs","sources":["../../../../projects/element-ng/select/options/si-select-options-strategy.ts","../../../../projects/element-ng/select/options/si-select-options-strategy.base.ts","../../../../projects/element-ng/select/options/si-select-complex-options.directive.ts","../../../../projects/element-ng/select/si-select-option-template.directive.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.html","../../../../projects/element-ng/select/selection/si-select-selection-strategy.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.html","../../../../projects/element-ng/select/select-option/si-select-option-row.component.ts","../../../../projects/element-ng/select/select-option/si-select-option-row.component.html","../../../../projects/element-ng/select/si-select-group-template.directive.ts","../../../../projects/element-ng/select/si-select-option-row-template.directive.ts","../../../../projects/element-ng/select/select-list/si-select-list.base.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.html","../../../../projects/element-ng/select/select-list/si-select-list.component.ts","../../../../projects/element-ng/select/select-list/si-select-list.component.html","../../../../projects/element-ng/select/si-select-actions.directive.ts","../../../../projects/element-ng/select/si-select.component.ts","../../../../projects/element-ng/select/si-select.component.html","../../../../projects/element-ng/select/options/si-select-lazy-options.directive.ts","../../../../projects/element-ng/select/options/si-select-simple-options.directive.ts","../../../../projects/element-ng/select/selection/si-select-single-value.directive.ts","../../../../projects/element-ng/select/selection/si-select-multi-value.directive.ts","../../../../projects/element-ng/select/si-select-action.directive.ts","../../../../projects/element-ng/select/si-select.module.ts","../../../../projects/element-ng/select/index.ts","../../../../projects/element-ng/select/siemens-element-ng-select.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, Signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\n\nexport const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken<SiSelectOptionsStrategy<unknown>>(\n 'si-select.options-strategy'\n);\n\nexport interface SiSelectOptionsStrategy<T> {\n /**\n * List of all rows that should be rendered in a selection list.\n */\n readonly rows: Signal<readonly SelectItem<T>[]>;\n\n /**\n * List of all options that are currently selected.\n * Must be updated when {@link onValueChange} is called.\n */\n readonly selectedRows: Signal<readonly SelectOption<T>[]>;\n\n /**\n * Indicate loading state of the options.\n */\n readonly loading?: Signal<boolean>;\n\n /**\n * Is always called when the value changes.\n * The implementation must update {@link selectedRows} when called.\n *\n * @param value - currently selected value of the related si-select.\n */\n onValueChange(value: readonly T[]): void;\n\n /**\n * This function is called when a user enters a filter query.\n * It is expected that an implementation will update the `rows`\n * based on the query.\n *\n * @param filterInput - Unprocessed input by user in the filterInput field\n */\n onFilter?(filterInput?: string): void;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, InputSignal, Signal, signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n/**\n * Input options strategy base class, for eagerly fetched options.\n */\n@Directive()\nexport abstract class SiSelectOptionsStrategyBase<T> implements SiSelectOptionsStrategy<T> {\n /**\n * Function to compare two values on equality which is used to match/filter options.\n */\n abstract optionsEqual: InputSignal<(a: T, b: T) => boolean>;\n\n /**\n * Rows that should be shown.\n *\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n /**\n * All group and option items in the dropdown.\n *\n * @defaultValue []\n */\n abstract readonly allRows: Signal<(SelectItem<T> | SelectOption<T>)[]>;\n\n private readonly value = signal<T[]>([]);\n\n readonly selectedRows = computed(() => {\n const values = this.value();\n return this.allRows()\n .map(row => (row.type === 'group' ? row.options : row))\n .flat()\n .filter(option => values.some(value => this.optionsEqual()(value, option.value)));\n });\n\n onValueChange(value: T[]): void {\n this.value.set(value);\n }\n\n onFilter(filterValue?: string): void {\n if (filterValue) {\n const filterValueLC = filterValue.toLowerCase();\n const checkRow: (row: SelectOption<T>) => boolean = (row: SelectOption<T>) =>\n (row.typeaheadLabel ?? row.label)!.toLowerCase().includes(filterValueLC!);\n\n this.rows.set(\n this.allRows().reduce((rows, row) => {\n if (row.type === 'option' && checkRow(row)) {\n rows.push(row);\n } else if (row.type === 'group') {\n if (row.label!.toLowerCase().includes(filterValueLC!)) {\n rows.push(row);\n } else {\n const options = row.options.filter(checkRow);\n\n if (options.length) {\n rows.push({ ...row, options });\n }\n }\n }\n\n return rows;\n }, [] as SelectItem<T>[])\n );\n } else {\n this.rows.set(this.allRows());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\nimport { buildTrackByIdentity } from '@siemens/element-ng/common';\n\nimport { SelectGroup, SelectOption } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * The directive allows passing custom options.\n * Otherwise, use the {@link SiSelectSimpleOptionsDirective} directive.\n *\n * @deprecated Use {@link SiSelectSimpleOptionsDirective} instead.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"['v1', 'v2', 'v3']\"></si-select>\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1']}\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[complexOptions]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }]\n})\nexport class SiSelectComplexOptionsDirective<T>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown. */\n readonly complexOptions = input<T[] | Record<string, T[]> | null>();\n\n /**\n * @deprecated Property has no effect and can be removed.\n *\n * @defaultValue\n * ```\n * buildTrackByIdentity<T>()\n * ```\n */\n readonly trackBy = input(buildTrackByIdentity<T>());\n\n /**\n * By default, values are check on equality by reference. Override to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n /**\n * The valueProvider is used to extract the display text of a value.\n */\n readonly valueProvider = input<(dropdownOption: T) => string | undefined>();\n\n /**\n * Provides Value for the display text of the dropdown group\n *\n * @defaultValue\n * ```\n * () => undefined\n * ```\n */\n readonly groupProvider = input<(groupKey: string) => string | undefined>(() => undefined);\n\n /**\n * The disabledProvider is used to display menu items as disabled.\n *\n * @defaultValue\n * ```\n * () => false\n * ```\n */\n readonly disabledProvider = input<(dropdownOption: T) => boolean>(() => false);\n\n override readonly allRows = computed(() => {\n const complexOptions = this.complexOptions();\n if (complexOptions instanceof Array) {\n return this.convertOptionsArray(complexOptions);\n } else if (complexOptions) {\n const groupProvider = this.groupProvider();\n return Object.entries(complexOptions).map(\n ([key, value]) =>\n ({\n type: 'group',\n key,\n label: groupProvider(key) ?? key,\n options: this.convertOptionsArray(value)\n }) as SelectGroup<T>\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n\n private convertOptionsArray(options: T[]): SelectOption<T>[] {\n const provide = this.valueProvider();\n return options.map(option => {\n return {\n type: 'option',\n value: option,\n label: (provide ? provide(option) : undefined) ?? option + '',\n typeaheadLabel: provide ? provide(option) : undefined,\n disabled: this.disabledProvider()(option)\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n/**\n * The directive allows to template/customize the value option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ id: 'good', title: 'Good' }, { id: 'fair', title: 'Fair' }, { id: 'bad', title: 'Bad' }]\" >\n * <ng-template siSelectOptionTemplate let-option>{{ option.value | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectOptionTemplate]'\n})\nexport class SiSelectOptionTemplateDirective {\n /** @internal */\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionTemplateDirective } from '../si-select-option-template.directive';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option',\n imports: [\n NgClass,\n NgTemplateOutlet,\n SiIconComponent,\n SiTranslatePipe,\n SiSelectOptionTemplateDirective\n ],\n templateUrl: './si-select-option.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex align-items-center overflow-hidden'\n }\n})\nexport class SiSelectOptionComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n}\n","<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [ngClass]=\"[(!item.disabled && item.iconColor) || '']\"\n />\n @if (item.stackedIcon) {\n <si-icon class=\"icon me-2\" [icon]=\"item.stackedIcon\" [ngClass]=\"item.stackedIconColor\" />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n Input,\n output,\n signal,\n Signal\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\n\n/**\n * Selection strategy base class.\n */\n@Directive({\n host: {\n '[class.disabled]': 'disabled()'\n }\n})\nexport abstract class SiSelectSelectionStrategy<T, IV = T | T[]> implements ControlValueAccessor {\n /**\n * Whether the select input is disabled.\n *\n * @defaultValue false\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * The selected value(s).\n */\n @Input() set value(value: IV | undefined) {\n this.updateFromInput(this.toArrayValue(value));\n }\n\n /** Emitted when the selection is changed */\n readonly valueChange = output<IV>();\n\n /**\n * Whether the select control allows to select multiple values.\n * @internal\n */\n abstract readonly allowMultiple: boolean;\n\n /**\n * Provides the internal value always as an array\n * @internal\n */\n readonly arrayValue: Signal<readonly T[]> = computed(() =>\n this.selectOptions.selectedRows().map(option => option.value)\n );\n\n /**\n * Registered form callback which shall be called on blur.\n * @internal\n */\n onTouched: () => void = () => {};\n /** @internal */\n public readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n protected onChange: (_: any) => void = () => {};\n private readonly disabledNgControl = signal(false);\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * CDK Listbox value changed handler.\n * @internal\n */\n updateFromUser(values: T[]): void {\n const parsedValue = this.fromArrayValue(values);\n this.onChange(parsedValue);\n this.valueChange.emit(parsedValue);\n this.selectOptions.onValueChange(values);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n\n writeValue(obj: any): void {\n this.updateFromInput(this.toArrayValue(obj));\n }\n\n protected abstract toArrayValue(value: IV | undefined): readonly T[];\n\n protected abstract fromArrayValue(value: readonly T[]): IV;\n\n private updateFromInput(values: readonly T[]): void {\n this.selectOptions.onValueChange(values);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostListener,\n inject,\n input,\n output,\n TemplateRef\n} from '@angular/core';\nimport { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';\nimport { addIcons, elementDown2, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-input',\n imports: [SiAutoCollapsableListModule, SiIconComponent, SiSelectOptionComponent, SiTranslatePipe],\n templateUrl: './si-select-input.component.html',\n styleUrl: './si-select-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n // In readonly mode, the select needs to be announced as a textbox.\n // Otherwise, screen-reader won't announce the readonly state.\n class: 'select focus-none dropdown-toggle d-flex align-items-center ps-4',\n 'aria-autocomplete': 'none',\n '[attr.role]': 'readonly() ? \"textbox\": \"combobox\"',\n '[attr.aria-haspopup]': 'readonly() ? undefined : \"listbox\"',\n '[attr.aria-expanded]': 'readonly() ? undefined : open()',\n '[attr.aria-controls]': 'readonly() ? undefined : controls()',\n '[attr.aria-readonly]': 'readonly()',\n '[attr.aria-labelledby]': 'labeledBy()',\n '[attr.aria-disabled]': 'selectionStrategy.disabled()',\n '[attr.tabindex]': 'selectionStrategy.disabled() ? \"-1\" : \"0\"',\n '[class.disabled]': 'selectionStrategy.disabled()',\n '[class.active]': 'open()'\n }\n})\nexport class SiSelectInputComponent<T> {\n readonly baseId = input.required<string>();\n /**\n * Aria labelledby of the select.\n *\n * @defaultValue null\n */\n readonly labelledby = input<string | null>(null);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /** @defaultValue false */\n readonly open = input(false, { transform: booleanAttribute });\n readonly placeholder = input<TranslatableString>();\n readonly controls = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n\n /** @defaultValue false */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n readonly openListbox = output<void>();\n protected readonly selectionStrategy = inject<SiSelectSelectionStrategy<T>>(\n SiSelectSelectionStrategy<T>\n );\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly selectedRows = this.selectOptions.selectedRows;\n protected readonly labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`);\n protected readonly icons = addIcons({ elementDown2 });\n\n @HostListener('blur')\n protected blur(): void {\n if (!this.open()) {\n this.selectionStrategy.onTouched();\n }\n }\n\n @HostListener('click')\n @HostListener('keydown.arrowDown', ['$event'])\n @HostListener('keydown.alt.arrowDown', ['$event'])\n @HostListener('keydown.arrowUp', ['$event'])\n @HostListener('keydown.enter')\n @HostListener('keydown.space')\n protected click(event?: Event): void {\n event?.preventDefault();\n this.openListbox.emit();\n }\n}\n","@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n TemplateRef\n} from '@angular/core';\nimport { elementOk, addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option-row',\n imports: [SiIconComponent, SiSelectOptionComponent],\n templateUrl: './si-select-option-row.component.html',\n styleUrl: './si-select-option-row.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-item focus-none pe-4 gap-4',\n '[class.disabled]': '!!this.option().disabled',\n '[attr.aria-selected]': 'selected()',\n '[attr.data-id]': 'this.option().value'\n }\n})\nexport class SiSelectOptionRowComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n /** @defaultValue false */\n readonly selected = input(false, { transform: booleanAttribute });\n protected readonly icons = addIcons({ elementOk });\n}\n","<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectGroup } from './si-select.types';\n\n/**\n * The directive allows to template/customize the group option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1'] }\" >\n * <ng-template siSelectGroupTemplate let-group>{{ group.key | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectGroupTemplate]'\n})\nexport class SiSelectGroupTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectGroupTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectGroup<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n@Directive({\n selector: '[siSelectOptionRowTemplate]'\n})\nexport class SiSelectOptionRowTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionRowTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConfigurableFocusTrap, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef\n} from '@angular/core';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectGroup, SelectOption } from '../si-select.types';\n\n@Directive({\n host: {\n class: 'dropdown-menu position-static w-100 py-4 d-flex flex-column'\n }\n})\nexport abstract class SiSelectListBase<T> implements OnInit, OnDestroy {\n readonly baseId = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n readonly groupTemplate = input<\n TemplateRef<{\n $implicit: SelectGroup<T>;\n }>\n >();\n /** @defaultValue null */\n readonly labelledby = input<string | null>(null);\n readonly actionsTemplate = input<TemplateRef<any>>();\n\n readonly closeOverlay = output<void>();\n\n protected readonly selectionStrategy =\n inject<SiSelectSelectionStrategy<T>>(SiSelectSelectionStrategy);\n protected readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n protected readonly elementRef = inject(ElementRef);\n protected rows = this.selectOptions.rows;\n protected focusTrap!: ConfigurableFocusTrap;\n\n @HostBinding('class.si-multi-select')\n protected multiSelect = this.selectionStrategy.allowMultiple;\n\n ngOnInit(): void {\n this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\n }\n\n ngOnDestroy(): void {\n this.focusTrap.destroy();\n }\n\n @HostListener('keydown.tab')\n protected keydownTab(): void {\n // Ignore tab key if actions are displayed.\n if (!this.actionsTemplate()) {\n this.closeOverlayAlways();\n }\n }\n\n protected closeOverlayAlways(): void {\n this.closeOverlay.emit();\n }\n\n protected closeOverlayIfSingle(): void {\n if (!this.selectionStrategy.allowMultiple) {\n this.closeOverlayAlways();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n Signal,\n signal,\n viewChild\n} from '@angular/core';\nimport { SiAutocompleteDirective, SiAutocompleteModule } from '@siemens/element-ng/autocomplete';\nimport { addIcons, elementSearch, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list-has-filter',\n imports: [\n NgTemplateOutlet,\n SiAutocompleteDirective,\n SiIconComponent,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent,\n SiSelectOptionRowTemplateDirective,\n SiTranslatePipe,\n SiAutocompleteModule,\n SiLoadingSpinnerComponent\n ],\n templateUrl: './si-select-list-has-filter.component.html',\n styleUrl: './si-select-list-has-filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'pt-0',\n '[attr.id]': 'id()'\n }\n})\nexport class SiSelectListHasFilterComponent<T> extends SiSelectListBase<T> implements OnInit {\n /** Placeholder for search input field. */\n readonly filterPlaceholder = input.required<TranslatableString>();\n /** Label if no item can be found. */\n readonly noResultsFoundLabel = input.required<TranslatableString>();\n\n protected readonly filterInput = viewChild.required<ElementRef<HTMLInputElement>>('filter');\n protected readonly initIndex: Signal<number>;\n protected readonly id = computed(() => `${this.baseId()}-listbox`);\n protected readonly icons = addIcons({ elementSearch });\n\n constructor() {\n super();\n if (!this.selectOptions.onFilter) {\n console.error('Missing implementation for `onFilter`');\n }\n const firstValue = this.selectionStrategy.arrayValue()[0];\n if (firstValue) {\n this.initIndex = computed(() =>\n this.rows().findIndex(row => row.type === 'option' && row.value === firstValue)\n );\n } else {\n this.initIndex = signal(0);\n }\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.selectOptions.onFilter!();\n setTimeout(() => this.filterInput().nativeElement.focus());\n }\n\n protected input(): void {\n this.selectOptions.onFilter!(this.filterInput().nativeElement.value);\n }\n\n protected select(newValue: T): void {\n if (this.selectionStrategy.allowMultiple) {\n if (this.selectionStrategy.arrayValue().includes(newValue)) {\n this.selectionStrategy.updateFromUser(\n this.selectionStrategy.arrayValue().filter(value => value !== newValue)\n );\n } else {\n this.selectionStrategy.updateFromUser([...this.selectionStrategy.arrayValue(), newValue]);\n }\n } else {\n this.selectionStrategy.updateFromUser([newValue]);\n }\n this.closeOverlayIfSingle();\n }\n}\n","<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkListbox, CdkOption, ListboxValueChangeEvent } from '@angular/cdk/listbox';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, OnInit, viewChild } from '@angular/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list',\n imports: [\n CommonModule,\n CdkListbox,\n SiTranslatePipe,\n CdkOption,\n SiSelectOptionRowTemplateDirective,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent\n ],\n templateUrl: './si-select-list.component.html',\n styleUrl: './si-select-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSelectListComponent<T> extends SiSelectListBase<T> implements OnInit {\n private readonly listbox = viewChild.required<CdkListbox, ElementRef<HTMLUListElement>>(\n CdkListbox,\n {\n read: ElementRef\n }\n );\n\n override ngOnInit(): void {\n super.ngOnInit();\n setTimeout(() => this.listbox().nativeElement.focus());\n }\n\n protected listBoxValueChange(changeEvent: ListboxValueChangeEvent<T>): void {\n this.selectionStrategy.updateFromUser(changeEvent.value.slice());\n }\n}\n","<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[siSelectActions]',\n exportAs: 'si-select-actions'\n})\nexport class SiSelectActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ElementRef,\n inject,\n input,\n OnChanges,\n output,\n signal,\n SimpleChanges,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './options/si-select-options-strategy';\nimport { SiSelectInputComponent } from './select-input/si-select-input.component';\nimport { SiSelectListHasFilterComponent } from './select-list/si-select-list-has-filter.component';\nimport { SiSelectListComponent } from './select-list/si-select-list.component';\nimport { SiSelectSelectionStrategy } from './selection/si-select-selection-strategy';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SelectGroup, SelectItem, SelectOption } from './si-select.types';\n\n@Component({\n selector: 'si-select',\n imports: [\n OverlayModule,\n SiSelectInputComponent,\n SiSelectListComponent,\n SiSelectListHasFilterComponent\n ],\n templateUrl: './si-select.component.html',\n styleUrl: './si-select.component.scss',\n providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown',\n '[class.readonly]': 'readonly()',\n '[class.open]': 'isOpen()',\n '[class.si-select-has-filter]': 'hasFilter()'\n }\n})\nexport class SiSelectComponent<T> implements OnChanges, AfterContentInit, SiFormItemControl {\n private static idCounter = 0;\n /**\n * Unique identifier.\n *\n * @defaultValue\n * ```\n * `__si-select-${SiSelectComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-select-${SiSelectComponent.idCounter++}`);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /**\n * Aria labelledby of the select.\n * @defaultValue undefined\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly labelledbyInput = input<string | undefined>(undefined, { alias: 'labelledby' });\n /**\n * Placeholder for search input field.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`)\n * ```\n */\n readonly filterPlaceholder = input(t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`));\n /**\n * Label if no item can be found.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)\n * ```\n */\n readonly noResultsFoundLabel = input(\n t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)\n );\n /** Placeholder text to display when no options are selected. */\n readonly placeholder = input<TranslatableString>();\n /**\n * Readonly state. Similar to disabled but with higher contrast *\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Emits on selection dropdown close.\n * @deprecated Use {@link openChange} instead.\n */\n readonly dropdownClose = output<void>();\n /** Emits when the dropdown open state changes. */\n readonly openChange = output<boolean>();\n\n protected readonly isOpen = signal(false);\n\n protected readonly optionTemplate = contentChild<\n SiSelectOptionTemplateDirective,\n TemplateRef<{ $implicit: SelectOption<T> }>\n >(SiSelectOptionTemplateDirective, { read: TemplateRef });\n\n protected readonly groupTemplate = contentChild<\n SiSelectGroupTemplateDirective,\n TemplateRef<{ $implicit: SelectGroup<T> }>\n >(SiSelectGroupTemplateDirective, { read: TemplateRef });\n\n protected readonly actionsTemplate = contentChild<SiSelectActionsDirective, TemplateRef<any>>(\n SiSelectActionsDirective,\n { read: TemplateRef }\n );\n\n private readonly trigger = viewChild.required<CdkOverlayOrigin, ElementRef<HTMLDivElement>>(\n CdkOverlayOrigin,\n {\n read: ElementRef\n }\n );\n\n /** @internal */\n readonly labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label');\n /**\n * This ID will be bound to the `aria-describedby` attribute of the select.\n * Use this to reference the element containing the error message(s) for the select.\n * It will be picked by the {@link SiFormItemComponent} if the select is used inside a form item.\n *\n * @defaultValue\n * ```\n * `${this.id()}-errormessage`\n * ```\n */\n readonly errormessageId = input(`${this.id()}-errormessage`);\n\n protected rows: readonly SelectItem<T>[] = [];\n protected overlayWidth = 0;\n protected readonly selectionStrategy = inject(SiSelectSelectionStrategy<T>);\n\n private backdropClicked = false;\n private readonly selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);\n\n /**\n * Enables the filter input\n * @defaultValue false\n * @defaultref {@link SiSelectComponent#_hasFilter}\n */\n readonly hasFilter = input(false, { transform: booleanAttribute });\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.hasFilter && this.hasFilter()) {\n this.verifyValueProvider();\n }\n }\n\n ngAfterContentInit(): void {\n this.verifyValueProvider();\n }\n\n /** Opens the `si-select`. */\n open(): void {\n if (this.readonly() || this.selectionStrategy.disabled()) {\n return;\n }\n this.overlayWidth = this.trigger().nativeElement.getBoundingClientRect().width + 2; // 2px border\n this.isOpen.set(true);\n this.openChange.emit(true);\n }\n\n /** Closes the `si-select`. */\n close(): void {\n this.isOpen.set(false);\n if (!this.backdropClicked) {\n this.trigger().nativeElement.focus();\n } else {\n this.backdropClicked = false;\n this.selectionStrategy.onTouched();\n }\n this.dropdownClose.emit();\n this.openChange.emit(false);\n }\n\n protected backdropClick(): void {\n this.backdropClicked = true;\n this.isOpen.set(false);\n }\n\n private verifyValueProvider(): void {\n if (\n this.hasFilter() &&\n this.optionTemplate() &&\n this.selectOptions instanceof SiSelectComplexOptionsDirective &&\n !this.selectOptions.valueProvider()\n ) {\n console.error(\n 'A valueProvider is required when [hasFilter]=\"true\" and having custom option template on si-select'\n );\n }\n }\n}\n","<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId()\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, input, OnDestroy, signal } from '@angular/core';\nimport { of, Subject, switchMap } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SelectOptionSource } from './si-select-option.source';\nimport { SI_SELECT_OPTIONS_STRATEGY, SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[optionSource]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }]\n})\nexport class SiSelectLazyOptionsDirective<T> implements SiSelectOptionsStrategy<T>, OnDestroy {\n /**\n * {@inheritDoc SiSelectOptionsStrategy#loading}\n * @defaultValue false\n */\n readonly loading = signal(false);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#rows}\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#selectedRows}\n * @defaultValue []\n */\n readonly selectedRows = signal<SelectOption<T>[]>([]);\n\n readonly optionSource = input.required<SelectOptionSource<T>>();\n\n private valueChange = new Subject<void>();\n private filterChange = new Subject<string | undefined>();\n\n constructor() {\n this.filterChange\n .pipe(\n debounceTime(100),\n switchMap(filterInput => {\n if (filterInput) {\n return this.optionSource().getOptionsForSearch!(filterInput);\n } else {\n const optionSource = this.optionSource();\n if (optionSource.getAllOptions) {\n return optionSource.getAllOptions();\n } else {\n return of(this.selectedRows());\n }\n }\n })\n )\n .subscribe(rows => {\n this.loading.set(false);\n this.rows.set(rows);\n });\n }\n\n ngOnDestroy(): void {\n this.valueChange.next();\n this.valueChange.complete();\n this.filterChange.complete();\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onValueChange} */\n onValueChange(value: T[]): void {\n this.valueChange.next();\n\n // To prevent flickering, we need to check if we already got all the requested options.\n // This should always be the case if the user selects one\n const knownSelectedOptions = value\n .map(\n valueEntry =>\n this.selectedRows().find(selected => this.valueEqual(selected.value, valueEntry)) ??\n (this.rows().find(\n selected => selected.type === 'option' && this.valueEqual(selected.value, valueEntry)\n ) as SelectOption<T>)\n )\n .filter(v => !!v);\n\n const optionSource = this.optionSource();\n if (knownSelectedOptions.length === value.length) {\n if (optionSource.compareOptions) {\n knownSelectedOptions.sort(optionSource.compareOptions);\n }\n this.selectedRows.set(knownSelectedOptions);\n } else {\n // We don't have all options, so we need to fetch them.\n optionSource\n .getOptionsForValues(value)\n .pipe(takeUntil(this.valueChange))\n .subscribe(selectedOptions => this.selectedRows.set(selectedOptions));\n }\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onFilter} */\n onFilter(filterInput?: string): void {\n this.filterChange.next(filterInput);\n this.loading.set(true);\n }\n\n private valueEqual(a?: T, b?: T): boolean {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n\n const optionSource = this.optionSource();\n if (optionSource.valuesEqual) {\n return optionSource.valuesEqual(a, b);\n }\n\n return false;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\n\nimport { SelectItem, SelectOption, SelectOptionLegacy } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * This directive allows passing {@link SelectItem} to the {@link SiSelectComponent}.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ type: 'option', value: 'one', label: 'One' }, { type: 'option', value: 'two', label: 'Two' }]\"></si-select>\n * <si-select [options]=\"[{ type: 'group', label: 'Group', options [{ type: 'option', value: 1, label: 'One' }, { type: 'option', value: 2, label: 'Two' }] }]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[options]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }]\n})\nexport class SiSelectSimpleOptionsDirective<T = string>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown */\n readonly options = input<(SelectOptionLegacy | SelectItem<T>)[] | null>();\n\n /**\n * By default, values are check on referential equality. Provide a function to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n override readonly allRows = computed(() => {\n const options = this.options();\n if (options) {\n return options?.map(option =>\n option.type\n ? option\n : ({\n type: 'option',\n value: option.id as T,\n label: option.title,\n iconColor: option.color,\n icon: option.icon,\n disabled: option.disabled\n } as SelectOption<T>)\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the single-select behavior.\n * Otherwise, use the {@link SiSelectMultiValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select [(value)]=\"selectedValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select:not([multi])',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectSingleValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectSingleValueDirective<T> extends SiSelectSelectionStrategy<T, T> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue false\n */\n override allowMultiple = false;\n\n protected toArrayValue(value: T | undefined): readonly T[] {\n return value !== undefined ? [value] : [];\n }\n\n protected fromArrayValue([value]: readonly T[]): T {\n return value;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the multi-select behavior.\n * Otherwise, use the {@link SiSelectSingleValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select multi [(value)]=\"multiValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[multi]',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectMultiValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectMultiValueDirective<T> extends SiSelectSelectionStrategy<T, T[]> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue true\n */\n override readonly allowMultiple = true;\n\n protected fromArrayValue(value: T[]): T[] {\n return value;\n }\n\n protected toArrayValue(value: T[] | undefined): T[] {\n return value ?? [];\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, Directive, HostListener, inject, input } from '@angular/core';\n\nimport { SiSelectComponent } from './si-select.component';\n\n@Directive({\n selector: '[siSelectAction]',\n host: {\n class: 'mx-5 my-4'\n },\n exportAs: 'si-select-action'\n})\nexport class SiSelectActionDirective {\n private readonly select = inject(SiSelectComponent);\n /**\n * Close the select drop down on click.\n * @defaultValue false\n */\n readonly selectActionAutoClose = input(false, { transform: booleanAttribute });\n\n @HostListener('click')\n protected close(): void {\n if (this.selectActionAutoClose()) {\n this.select.close();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SiSelectSimpleOptionsDirective } from './options/si-select-simple-options.directive';\nimport { SiSelectMultiValueDirective } from './selection/si-select-multi-value.directive';\nimport { SiSelectSingleValueDirective } from './selection/si-select-single-value.directive';\nimport { SiSelectActionDirective } from './si-select-action.directive';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SiSelectComponent } from './si-select.component';\n\n@NgModule({\n imports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ],\n exports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ]\n})\nexport class SiSelectModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-select.component';\nexport * from './options/si-select-lazy-options.directive';\nexport * from './options/si-select-simple-options.directive';\nexport * from './options/si-select-complex-options.directive';\nexport * from './options/si-select-option.source';\nexport * from './selection/si-select-single-value.directive';\nexport * from './selection/si-select-multi-value.directive';\nexport * from './si-select-option-template.directive';\nexport * from './si-select-group-template.directive';\nexport * from './si-select.module';\nexport * from './select-list/si-select-list-has-filter.component';\nexport * from './si-select-action.directive';\nexport * from './si-select-actions.directive';\nexport * from './si-select.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-select.mjs","sources":["../../../../projects/element-ng/select/options/si-select-options-strategy.ts","../../../../projects/element-ng/select/options/si-select-options-strategy.base.ts","../../../../projects/element-ng/select/options/si-select-complex-options.directive.ts","../../../../projects/element-ng/select/si-select-option-template.directive.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.ts","../../../../projects/element-ng/select/select-option/si-select-option.component.html","../../../../projects/element-ng/select/selection/si-select-selection-strategy.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.ts","../../../../projects/element-ng/select/select-input/si-select-input.component.html","../../../../projects/element-ng/select/select-option/si-select-option-row.component.ts","../../../../projects/element-ng/select/select-option/si-select-option-row.component.html","../../../../projects/element-ng/select/si-select-group-template.directive.ts","../../../../projects/element-ng/select/si-select-option-row-template.directive.ts","../../../../projects/element-ng/select/select-list/si-select-list.base.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.ts","../../../../projects/element-ng/select/select-list/si-select-list-has-filter.component.html","../../../../projects/element-ng/select/select-list/si-select-list.component.ts","../../../../projects/element-ng/select/select-list/si-select-list.component.html","../../../../projects/element-ng/select/si-select-actions.directive.ts","../../../../projects/element-ng/select/si-select.component.ts","../../../../projects/element-ng/select/si-select.component.html","../../../../projects/element-ng/select/options/si-select-lazy-options.directive.ts","../../../../projects/element-ng/select/options/si-select-simple-options.directive.ts","../../../../projects/element-ng/select/selection/si-select-single-value.directive.ts","../../../../projects/element-ng/select/selection/si-select-multi-value.directive.ts","../../../../projects/element-ng/select/si-select-action.directive.ts","../../../../projects/element-ng/select/si-select.module.ts","../../../../projects/element-ng/select/index.ts","../../../../projects/element-ng/select/siemens-element-ng-select.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, Signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\n\nexport const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken<SiSelectOptionsStrategy<unknown>>(\n 'si-select.options-strategy'\n);\n\nexport interface SiSelectOptionsStrategy<T> {\n /**\n * List of all rows that should be rendered in a selection list.\n */\n readonly rows: Signal<readonly SelectItem<T>[]>;\n\n /**\n * List of all options that are currently selected.\n * Must be updated when {@link onValueChange} is called.\n */\n readonly selectedRows: Signal<readonly SelectOption<T>[]>;\n\n /**\n * Indicate loading state of the options.\n */\n readonly loading?: Signal<boolean>;\n\n /**\n * Is always called when the value changes.\n * The implementation must update {@link selectedRows} when called.\n *\n * @param value - currently selected value of the related si-select.\n */\n onValueChange(value: readonly T[]): void;\n\n /**\n * This function is called when a user enters a filter query.\n * It is expected that an implementation will update the `rows`\n * based on the query.\n *\n * @param filterInput - Unprocessed input by user in the filterInput field\n */\n onFilter?(filterInput?: string): void;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, InputSignal, Signal, signal } from '@angular/core';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n/**\n * Input options strategy base class, for eagerly fetched options.\n */\n@Directive()\nexport abstract class SiSelectOptionsStrategyBase<T> implements SiSelectOptionsStrategy<T> {\n /**\n * Function to compare two values on equality which is used to match/filter options.\n */\n abstract optionsEqual: InputSignal<(a: T, b: T) => boolean>;\n\n /**\n * Rows that should be shown.\n *\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n /**\n * All group and option items in the dropdown.\n *\n * @defaultValue []\n */\n abstract readonly allRows: Signal<(SelectItem<T> | SelectOption<T>)[]>;\n\n private readonly value = signal<T[]>([]);\n\n readonly selectedRows = computed(() => {\n const values = this.value();\n return this.allRows()\n .map(row => (row.type === 'group' ? row.options : row))\n .flat()\n .filter(option => values.some(value => this.optionsEqual()(value, option.value)));\n });\n\n onValueChange(value: T[]): void {\n this.value.set(value);\n }\n\n onFilter(filterValue?: string): void {\n if (filterValue) {\n const filterValueLC = filterValue.toLowerCase();\n const checkRow: (row: SelectOption<T>) => boolean = (row: SelectOption<T>) =>\n (row.typeaheadLabel ?? row.label)!.toLowerCase().includes(filterValueLC!);\n\n this.rows.set(\n this.allRows().reduce((rows, row) => {\n if (row.type === 'option' && checkRow(row)) {\n rows.push(row);\n } else if (row.type === 'group') {\n if (row.label!.toLowerCase().includes(filterValueLC!)) {\n rows.push(row);\n } else {\n const options = row.options.filter(checkRow);\n\n if (options.length) {\n rows.push({ ...row, options });\n }\n }\n }\n\n return rows;\n }, [] as SelectItem<T>[])\n );\n } else {\n this.rows.set(this.allRows());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\nimport { buildTrackByIdentity } from '@siemens/element-ng/common';\n\nimport { SelectGroup, SelectOption } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * The directive allows passing custom options.\n * Otherwise, use the {@link SiSelectSimpleOptionsDirective} directive.\n *\n * @deprecated Use {@link SiSelectSimpleOptionsDirective} instead.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"['v1', 'v2', 'v3']\"></si-select>\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1']}\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[complexOptions]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }]\n})\nexport class SiSelectComplexOptionsDirective<T>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown. */\n readonly complexOptions = input<T[] | Record<string, T[]> | null>();\n\n /**\n * @deprecated Property has no effect and can be removed.\n *\n * @defaultValue\n * ```\n * buildTrackByIdentity<T>()\n * ```\n */\n readonly trackBy = input(buildTrackByIdentity<T>());\n\n /**\n * By default, values are check on equality by reference. Override to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n /**\n * The valueProvider is used to extract the display text of a value.\n */\n readonly valueProvider = input<(dropdownOption: T) => string | undefined>();\n\n /**\n * Provides Value for the display text of the dropdown group\n *\n * @defaultValue\n * ```\n * () => undefined\n * ```\n */\n readonly groupProvider = input<(groupKey: string) => string | undefined>(() => undefined);\n\n /**\n * The disabledProvider is used to display menu items as disabled.\n *\n * @defaultValue\n * ```\n * () => false\n * ```\n */\n readonly disabledProvider = input<(dropdownOption: T) => boolean>(() => false);\n\n override readonly allRows = computed(() => {\n const complexOptions = this.complexOptions();\n if (complexOptions instanceof Array) {\n return this.convertOptionsArray(complexOptions);\n } else if (complexOptions) {\n const groupProvider = this.groupProvider();\n return Object.entries(complexOptions).map(\n ([key, value]) =>\n ({\n type: 'group',\n key,\n label: groupProvider(key) ?? key,\n options: this.convertOptionsArray(value)\n }) as SelectGroup<T>\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n\n private convertOptionsArray(options: T[]): SelectOption<T>[] {\n const provide = this.valueProvider();\n return options.map(option => {\n return {\n type: 'option',\n value: option,\n label: (provide ? provide(option) : undefined) ?? option + '',\n typeaheadLabel: provide ? provide(option) : undefined,\n disabled: this.disabledProvider()(option)\n };\n });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n/**\n * The directive allows to template/customize the value option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ id: 'good', title: 'Good' }, { id: 'fair', title: 'Fair' }, { id: 'bad', title: 'Bad' }]\" >\n * <ng-template siSelectOptionTemplate let-option>{{ option.value | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectOptionTemplate]'\n})\nexport class SiSelectOptionTemplateDirective {\n /** @internal */\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionTemplateDirective } from '../si-select-option-template.directive';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option',\n imports: [\n NgClass,\n NgTemplateOutlet,\n SiIconComponent,\n SiTranslatePipe,\n SiSelectOptionTemplateDirective\n ],\n templateUrl: './si-select-option.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'd-flex align-items-center overflow-hidden'\n }\n})\nexport class SiSelectOptionComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n}\n","<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [ngClass]=\"[(!item.disabled && item.iconColor) || '']\"\n />\n @if (item.stackedIcon) {\n <si-icon class=\"icon me-2\" [icon]=\"item.stackedIcon\" [ngClass]=\"item.stackedIconColor\" />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n computed,\n Directive,\n inject,\n input,\n Input,\n output,\n signal,\n Signal\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\n\n/**\n * Selection strategy base class.\n */\n@Directive({\n host: {\n '[class.disabled]': 'disabled()'\n }\n})\nexport abstract class SiSelectSelectionStrategy<T, IV = T | T[]> implements ControlValueAccessor {\n /**\n * Whether the select input is disabled.\n *\n * @defaultValue false\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });\n\n /**\n * The selected value(s).\n */\n @Input() set value(value: IV | undefined) {\n this.updateFromInput(this.toArrayValue(value));\n }\n\n /** Emitted when the selection is changed */\n readonly valueChange = output<IV>();\n\n /**\n * Whether the select control allows to select multiple values.\n * @internal\n */\n abstract readonly allowMultiple: boolean;\n\n /**\n * Provides the internal value always as an array\n * @internal\n */\n readonly arrayValue: Signal<readonly T[]> = computed(() =>\n this.selectOptions.selectedRows().map(option => option.value)\n );\n\n /**\n * Registered form callback which shall be called on blur.\n * @internal\n */\n onTouched: () => void = () => {};\n /** @internal */\n public readonly disabled = computed(() => this.disabledInput() || this.disabledNgControl());\n protected onChange: (_: any) => void = () => {};\n private readonly disabledNgControl = signal(false);\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * CDK Listbox value changed handler.\n * @internal\n */\n updateFromUser(values: T[]): void {\n const parsedValue = this.fromArrayValue(values);\n this.onChange(parsedValue);\n this.valueChange.emit(parsedValue);\n this.selectOptions.onValueChange(values);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabledNgControl.set(isDisabled);\n }\n\n writeValue(obj: any): void {\n this.updateFromInput(this.toArrayValue(obj));\n }\n\n protected abstract toArrayValue(value: IV | undefined): readonly T[];\n\n protected abstract fromArrayValue(value: readonly T[]): IV;\n\n private updateFromInput(values: readonly T[]): void {\n this.selectOptions.onValueChange(values);\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostListener,\n inject,\n input,\n output,\n TemplateRef\n} from '@angular/core';\nimport { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';\nimport { addIcons, elementDown2, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-input',\n imports: [SiAutoCollapsableListModule, SiIconComponent, SiSelectOptionComponent, SiTranslatePipe],\n templateUrl: './si-select-input.component.html',\n styleUrl: './si-select-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n // In readonly mode, the select needs to be announced as a textbox.\n // Otherwise, screen-reader won't announce the readonly state.\n class: 'select focus-none dropdown-toggle d-flex align-items-center ps-4',\n 'aria-autocomplete': 'none',\n '[attr.role]': 'readonly() ? \"textbox\": \"combobox\"',\n '[attr.aria-haspopup]': 'readonly() ? undefined : \"listbox\"',\n '[attr.aria-expanded]': 'readonly() ? undefined : open()',\n '[attr.aria-controls]': 'readonly() ? undefined : controls()',\n '[attr.aria-readonly]': 'readonly()',\n '[attr.aria-labelledby]': 'labeledBy()',\n '[attr.aria-disabled]': 'selectionStrategy.disabled()',\n '[attr.tabindex]': 'selectionStrategy.disabled() ? \"-1\" : \"0\"',\n '[class.disabled]': 'selectionStrategy.disabled()',\n '[class.active]': 'open()'\n }\n})\nexport class SiSelectInputComponent<T> {\n readonly baseId = input.required<string>();\n /**\n * Aria labelledby of the select.\n *\n * @defaultValue null\n */\n readonly labelledby = input<string | null>(null);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /** @defaultValue false */\n readonly open = input(false, { transform: booleanAttribute });\n readonly placeholder = input<TranslatableString>();\n readonly controls = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n\n /** @defaultValue false */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n readonly openListbox = output<void>();\n protected readonly selectionStrategy = inject<SiSelectSelectionStrategy<T>>(\n SiSelectSelectionStrategy<T>\n );\n private readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly selectedRows = this.selectOptions.selectedRows;\n protected readonly labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`);\n protected readonly icons = addIcons({ elementDown2 });\n\n @HostListener('blur')\n protected blur(): void {\n if (!this.open()) {\n this.selectionStrategy.onTouched();\n }\n }\n\n @HostListener('click')\n @HostListener('keydown.arrowDown', ['$event'])\n @HostListener('keydown.alt.arrowDown', ['$event'])\n @HostListener('keydown.arrowUp', ['$event'])\n @HostListener('keydown.enter')\n @HostListener('keydown.space')\n protected click(event?: Event): void {\n event?.preventDefault();\n this.openListbox.emit();\n }\n}\n","@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n input,\n TemplateRef\n} from '@angular/core';\nimport { elementOk, addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiSelectOptionComponent } from '../select-option/si-select-option.component';\nimport { SelectOption } from '../si-select.types';\n\n@Component({\n selector: 'si-select-option-row',\n imports: [SiIconComponent, SiSelectOptionComponent],\n templateUrl: './si-select-option-row.component.html',\n styleUrl: './si-select-option-row.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-item focus-none pe-4 gap-4',\n '[class.disabled]': '!!this.option().disabled',\n '[attr.aria-selected]': 'selected()',\n '[attr.data-id]': 'this.option().value'\n }\n})\nexport class SiSelectOptionRowComponent {\n readonly option = input.required<SelectOption<unknown>>();\n readonly optionTemplate = input<TemplateRef<unknown>>();\n /** @defaultValue false */\n readonly selected = input(false, { transform: booleanAttribute });\n protected readonly icons = addIcons({ elementOk });\n}\n","<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectGroup } from './si-select.types';\n\n/**\n * The directive allows to template/customize the group option rendering.\n * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.\n *\n * @example\n * ```html\n * <si-select [complexOptions]=\"{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1'] }\" >\n * <ng-template siSelectGroupTemplate let-group>{{ group.key | uppercase }}</ng-template>\n * </si-select>\n * ```\n */\n@Directive({\n selector: '[siSelectGroupTemplate]'\n})\nexport class SiSelectGroupTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectGroupTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectGroup<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SelectOption } from './si-select.types';\n\n@Directive({\n selector: '[siSelectOptionRowTemplate]'\n})\nexport class SiSelectOptionRowTemplateDirective {\n static ngTemplateContextGuard<T = any>(\n directive: SiSelectOptionRowTemplateDirective,\n context: unknown\n ): context is { $implicit: SelectOption<T> } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConfigurableFocusTrap, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n OnInit,\n output,\n TemplateRef\n} from '@angular/core';\n\nimport {\n SI_SELECT_OPTIONS_STRATEGY,\n SiSelectOptionsStrategy\n} from '../options/si-select-options-strategy';\nimport { SiSelectSelectionStrategy } from '../selection/si-select-selection-strategy';\nimport { SelectGroup, SelectOption } from '../si-select.types';\n\n@Directive({\n host: {\n class: 'dropdown-menu position-static w-100 py-4 d-flex flex-column'\n }\n})\nexport abstract class SiSelectListBase<T> implements OnInit, OnDestroy {\n readonly baseId = input.required<string>();\n readonly optionTemplate = input<\n TemplateRef<{\n $implicit: SelectOption<T>;\n }>\n >();\n readonly groupTemplate = input<\n TemplateRef<{\n $implicit: SelectGroup<T>;\n }>\n >();\n /** @defaultValue null */\n readonly labelledby = input<string | null>(null);\n readonly actionsTemplate = input<TemplateRef<any>>();\n\n readonly closeOverlay = output<void>();\n\n protected readonly selectionStrategy =\n inject<SiSelectSelectionStrategy<T>>(SiSelectSelectionStrategy);\n protected readonly selectOptions = inject<SiSelectOptionsStrategy<T>>(SI_SELECT_OPTIONS_STRATEGY);\n protected readonly focusTrapFactory = inject(ConfigurableFocusTrapFactory);\n protected readonly elementRef = inject(ElementRef);\n protected rows = this.selectOptions.rows;\n protected focusTrap!: ConfigurableFocusTrap;\n\n @HostBinding('class.si-multi-select')\n protected multiSelect = this.selectionStrategy.allowMultiple;\n\n ngOnInit(): void {\n this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement);\n }\n\n ngOnDestroy(): void {\n this.focusTrap.destroy();\n }\n\n @HostListener('keydown.tab')\n protected keydownTab(): void {\n // Ignore tab key if actions are displayed.\n if (!this.actionsTemplate()) {\n this.closeOverlayAlways();\n }\n }\n\n protected closeOverlayAlways(): void {\n this.closeOverlay.emit();\n }\n\n protected closeOverlayIfSingle(): void {\n if (!this.selectionStrategy.allowMultiple) {\n this.closeOverlayAlways();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n input,\n OnInit,\n Signal,\n signal,\n viewChild\n} from '@angular/core';\nimport { SiAutocompleteDirective, SiAutocompleteModule } from '@siemens/element-ng/autocomplete';\nimport { addIcons, elementSearch, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list-has-filter',\n imports: [\n NgTemplateOutlet,\n SiAutocompleteDirective,\n SiIconComponent,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent,\n SiSelectOptionRowTemplateDirective,\n SiTranslatePipe,\n SiAutocompleteModule,\n SiLoadingSpinnerComponent\n ],\n templateUrl: './si-select-list-has-filter.component.html',\n styleUrl: './si-select-list-has-filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'pt-0',\n '[attr.id]': 'id()'\n }\n})\nexport class SiSelectListHasFilterComponent<T> extends SiSelectListBase<T> implements OnInit {\n /** Placeholder for search input field. */\n readonly filterPlaceholder = input.required<TranslatableString>();\n /** Label if no item can be found. */\n readonly noResultsFoundLabel = input.required<TranslatableString>();\n\n protected readonly filterInput = viewChild.required<ElementRef<HTMLInputElement>>('filter');\n protected readonly initIndex: Signal<number>;\n protected readonly id = computed(() => `${this.baseId()}-listbox`);\n protected readonly icons = addIcons({ elementSearch });\n\n constructor() {\n super();\n if (!this.selectOptions.onFilter) {\n console.error('Missing implementation for `onFilter`');\n }\n const firstValue = this.selectionStrategy.arrayValue()[0];\n if (firstValue) {\n this.initIndex = computed(() =>\n this.rows().findIndex(row => row.type === 'option' && row.value === firstValue)\n );\n } else {\n this.initIndex = signal(0);\n }\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.selectOptions.onFilter!();\n setTimeout(() => this.filterInput().nativeElement.focus());\n }\n\n protected input(): void {\n this.selectOptions.onFilter!(this.filterInput().nativeElement.value);\n }\n\n protected select(newValue: T): void {\n if (this.selectionStrategy.allowMultiple) {\n if (this.selectionStrategy.arrayValue().includes(newValue)) {\n this.selectionStrategy.updateFromUser(\n this.selectionStrategy.arrayValue().filter(value => value !== newValue)\n );\n } else {\n this.selectionStrategy.updateFromUser([...this.selectionStrategy.arrayValue(), newValue]);\n }\n } else {\n this.selectionStrategy.updateFromUser([newValue]);\n }\n this.closeOverlayIfSingle();\n }\n}\n","<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkListbox, CdkOption, ListboxValueChangeEvent } from '@angular/cdk/listbox';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, OnInit, viewChild } from '@angular/core';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectOptionRowComponent } from '../select-option/si-select-option-row.component';\nimport { SiSelectGroupTemplateDirective } from '../si-select-group-template.directive';\nimport { SiSelectOptionRowTemplateDirective } from '../si-select-option-row-template.directive';\nimport { SiSelectListBase } from './si-select-list.base';\n\n@Component({\n selector: 'si-select-list',\n imports: [\n CommonModule,\n CdkListbox,\n SiTranslatePipe,\n CdkOption,\n SiSelectOptionRowTemplateDirective,\n SiSelectGroupTemplateDirective,\n SiSelectOptionRowComponent\n ],\n templateUrl: './si-select-list.component.html',\n styleUrl: './si-select-list.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSelectListComponent<T> extends SiSelectListBase<T> implements OnInit {\n private readonly listbox = viewChild.required<CdkListbox, ElementRef<HTMLUListElement>>(\n CdkListbox,\n {\n read: ElementRef\n }\n );\n\n override ngOnInit(): void {\n super.ngOnInit();\n setTimeout(() => this.listbox().nativeElement.focus());\n }\n\n protected listBoxValueChange(changeEvent: ListboxValueChangeEvent<T>): void {\n this.selectionStrategy.updateFromUser(changeEvent.value.slice());\n }\n}\n","<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[siSelectActions]',\n exportAs: 'si-select-actions'\n})\nexport class SiSelectActionsDirective {\n /** @internal */\n static ngTemplateContextGuard(\n directive: SiSelectActionsDirective,\n context: unknown\n ): context is { searchText?: string; visibleOptionsCount?: number } {\n return true;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n ElementRef,\n inject,\n input,\n OnChanges,\n output,\n signal,\n SimpleChanges,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { SI_FORM_ITEM_CONTROL, SiFormItemControl } from '@siemens/element-ng/form';\nimport { t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './options/si-select-options-strategy';\nimport { SiSelectInputComponent } from './select-input/si-select-input.component';\nimport { SiSelectListHasFilterComponent } from './select-list/si-select-list-has-filter.component';\nimport { SiSelectListComponent } from './select-list/si-select-list.component';\nimport { SiSelectSelectionStrategy } from './selection/si-select-selection-strategy';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SelectGroup, SelectItem, SelectOption } from './si-select.types';\n\n@Component({\n selector: 'si-select',\n imports: [\n OverlayModule,\n SiSelectInputComponent,\n SiSelectListComponent,\n SiSelectListHasFilterComponent\n ],\n templateUrl: './si-select.component.html',\n styleUrl: './si-select.component.scss',\n providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown',\n '[class.readonly]': 'readonly()',\n '[class.open]': 'isOpen()',\n '[class.si-select-has-filter]': 'hasFilter()'\n }\n})\nexport class SiSelectComponent<T> implements OnChanges, AfterContentInit, SiFormItemControl {\n private static idCounter = 0;\n /**\n * Unique identifier.\n *\n * @defaultValue\n * ```\n * `__si-select-${SiSelectComponent.idCounter++}`\n * ```\n */\n readonly id = input(`__si-select-${SiSelectComponent.idCounter++}`);\n /**\n * Aria label of the select.\n *\n * @defaultValue null\n */\n readonly ariaLabel = input<string | null>(null);\n /**\n * Aria labelledby of the select.\n * @defaultValue undefined\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n readonly labelledbyInput = input<string | undefined>(undefined, { alias: 'labelledby' });\n /**\n * Placeholder for search input field.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`)\n * ```\n */\n readonly filterPlaceholder = input(t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`));\n /**\n * Label if no item can be found.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)\n * ```\n */\n readonly noResultsFoundLabel = input(\n t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)\n );\n /** Placeholder text to display when no options are selected. */\n readonly placeholder = input<TranslatableString>();\n /**\n * Readonly state. Similar to disabled but with higher contrast *\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n\n /**\n * Emits on selection dropdown close.\n * @deprecated Use {@link openChange} instead.\n */\n readonly dropdownClose = output<void>();\n /** Emits when the dropdown open state changes. */\n readonly openChange = output<boolean>();\n\n protected readonly isOpen = signal(false);\n\n protected readonly optionTemplate = contentChild<\n SiSelectOptionTemplateDirective,\n TemplateRef<{ $implicit: SelectOption<T> }>\n >(SiSelectOptionTemplateDirective, { read: TemplateRef });\n\n protected readonly groupTemplate = contentChild<\n SiSelectGroupTemplateDirective,\n TemplateRef<{ $implicit: SelectGroup<T> }>\n >(SiSelectGroupTemplateDirective, { read: TemplateRef });\n\n protected readonly actionsTemplate = contentChild<SiSelectActionsDirective, TemplateRef<any>>(\n SiSelectActionsDirective,\n { read: TemplateRef }\n );\n\n private readonly trigger = viewChild.required<CdkOverlayOrigin, ElementRef<HTMLDivElement>>(\n CdkOverlayOrigin,\n {\n read: ElementRef\n }\n );\n\n /** @internal */\n readonly labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label');\n /**\n * This ID will be bound to the `aria-describedby` attribute of the select.\n * Use this to reference the element containing the error message(s) for the select.\n * It will be picked by the {@link SiFormItemComponent} if the select is used inside a form item.\n *\n * @defaultValue\n * ```\n * `${this.id()}-errormessage`\n * ```\n */\n readonly errormessageId = input(`${this.id()}-errormessage`);\n\n protected rows: readonly SelectItem<T>[] = [];\n protected overlayWidth = 0;\n protected readonly selectionStrategy = inject(SiSelectSelectionStrategy<T>);\n\n private backdropClicked = false;\n private readonly selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);\n\n /**\n * Enables the filter input\n * @defaultValue false\n * @defaultref {@link SiSelectComponent#_hasFilter}\n */\n readonly hasFilter = input(false, { transform: booleanAttribute });\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.hasFilter && this.hasFilter()) {\n this.verifyValueProvider();\n }\n }\n\n ngAfterContentInit(): void {\n this.verifyValueProvider();\n }\n\n /** Opens the `si-select`. */\n open(): void {\n if (this.readonly() || this.selectionStrategy.disabled()) {\n return;\n }\n this.overlayWidth = this.trigger().nativeElement.getBoundingClientRect().width + 2; // 2px border\n this.isOpen.set(true);\n this.openChange.emit(true);\n }\n\n /** Closes the `si-select`. */\n close(): void {\n this.isOpen.set(false);\n if (!this.backdropClicked) {\n this.trigger().nativeElement.focus();\n } else {\n this.backdropClicked = false;\n this.selectionStrategy.onTouched();\n }\n this.dropdownClose.emit();\n this.openChange.emit(false);\n }\n\n protected backdropClick(): void {\n this.backdropClicked = true;\n this.isOpen.set(false);\n }\n\n private verifyValueProvider(): void {\n if (\n this.hasFilter() &&\n this.optionTemplate() &&\n this.selectOptions instanceof SiSelectComplexOptionsDirective &&\n !this.selectOptions.valueProvider()\n ) {\n console.error(\n 'A valueProvider is required when [hasFilter]=\"true\" and having custom option template on si-select'\n );\n }\n }\n}\n","<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId()\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, input, OnDestroy, signal } from '@angular/core';\nimport { of, Subject, switchMap } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport { SelectItem, SelectOption } from '../si-select.types';\nimport { SelectOptionSource } from './si-select-option.source';\nimport { SI_SELECT_OPTIONS_STRATEGY, SiSelectOptionsStrategy } from './si-select-options-strategy';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[optionSource]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }]\n})\nexport class SiSelectLazyOptionsDirective<T> implements SiSelectOptionsStrategy<T>, OnDestroy {\n /**\n * {@inheritDoc SiSelectOptionsStrategy#loading}\n * @defaultValue false\n */\n readonly loading = signal(false);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#rows}\n * @defaultValue []\n */\n readonly rows = signal<SelectItem<T>[]>([]);\n\n /**\n * {@inheritDoc SiSelectOptionsStrategy#selectedRows}\n * @defaultValue []\n */\n readonly selectedRows = signal<SelectOption<T>[]>([]);\n\n readonly optionSource = input.required<SelectOptionSource<T>>();\n\n private valueChange = new Subject<void>();\n private filterChange = new Subject<string | undefined>();\n\n constructor() {\n this.filterChange\n .pipe(\n debounceTime(100),\n switchMap(filterInput => {\n if (filterInput) {\n return this.optionSource().getOptionsForSearch!(filterInput);\n } else {\n const optionSource = this.optionSource();\n if (optionSource.getAllOptions) {\n return optionSource.getAllOptions();\n } else {\n return of(this.selectedRows());\n }\n }\n })\n )\n .subscribe(rows => {\n this.loading.set(false);\n this.rows.set(rows);\n });\n }\n\n ngOnDestroy(): void {\n this.valueChange.next();\n this.valueChange.complete();\n this.filterChange.complete();\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onValueChange} */\n onValueChange(value: T[]): void {\n this.valueChange.next();\n\n // To prevent flickering, we need to check if we already got all the requested options.\n // This should always be the case if the user selects one\n const knownSelectedOptions = value\n .map(\n valueEntry =>\n this.selectedRows().find(selected => this.valueEqual(selected.value, valueEntry)) ??\n (this.rows().find(\n selected => selected.type === 'option' && this.valueEqual(selected.value, valueEntry)\n ) as SelectOption<T>)\n )\n .filter(v => !!v);\n\n const optionSource = this.optionSource();\n if (knownSelectedOptions.length === value.length) {\n if (optionSource.compareOptions) {\n knownSelectedOptions.sort(optionSource.compareOptions);\n }\n this.selectedRows.set(knownSelectedOptions);\n } else {\n // We don't have all options, so we need to fetch them.\n optionSource\n .getOptionsForValues(value)\n .pipe(takeUntil(this.valueChange))\n .subscribe(selectedOptions => this.selectedRows.set(selectedOptions));\n }\n }\n\n /** {@inheritDoc SiSelectOptionsStrategy.onFilter} */\n onFilter(filterInput?: string): void {\n this.filterChange.next(filterInput);\n this.loading.set(true);\n }\n\n private valueEqual(a?: T, b?: T): boolean {\n if (a === b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n\n const optionSource = this.optionSource();\n if (optionSource.valuesEqual) {\n return optionSource.valuesEqual(a, b);\n }\n\n return false;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges } from '@angular/core';\n\nimport { SelectItem, SelectOption, SelectOptionLegacy } from '../si-select.types';\nimport { SI_SELECT_OPTIONS_STRATEGY } from './si-select-options-strategy';\nimport { SiSelectOptionsStrategyBase } from './si-select-options-strategy.base';\n\n/**\n * This directive allows passing {@link SelectItem} to the {@link SiSelectComponent}.\n *\n * @example\n * ```html\n * <si-select [options]=\"[{ type: 'option', value: 'one', label: 'One' }, { type: 'option', value: 'two', label: 'Two' }]\"></si-select>\n * <si-select [options]=\"[{ type: 'group', label: 'Group', options [{ type: 'option', value: 1, label: 'One' }, { type: 'option', value: 2, label: 'Two' }] }]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[options]',\n providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }]\n})\nexport class SiSelectSimpleOptionsDirective<T = string>\n extends SiSelectOptionsStrategyBase<T>\n implements OnChanges\n{\n /** Options to be shown in select dropdown */\n readonly options = input<(SelectOptionLegacy | SelectItem<T>)[] | null>();\n\n /**\n * By default, values are check on referential equality. Provide a function to customize the behavior.\n *\n * @defaultValue\n * ```\n * (a: T, b: T): boolean => a === b\n * ```\n */\n override readonly optionsEqual = input((a: T, b: T): boolean => a === b, {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n alias: 'optionEqualCheckFn'\n });\n\n override readonly allRows = computed(() => {\n const options = this.options();\n if (options) {\n return options?.map(option =>\n option.type\n ? option\n : ({\n type: 'option',\n value: option.id as T,\n label: option.title,\n iconColor: option.color,\n icon: option.icon,\n disabled: option.disabled\n } as SelectOption<T>)\n );\n } else {\n return [];\n }\n });\n\n ngOnChanges(): void {\n this.onFilter();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the single-select behavior.\n * Otherwise, use the {@link SiSelectMultiValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select [(value)]=\"selectedValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select:not([multi])',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectSingleValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectSingleValueDirective<T> extends SiSelectSelectionStrategy<T, T> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue false\n */\n override allowMultiple = false;\n\n protected toArrayValue(value: T | undefined): readonly T[] {\n return value !== undefined ? [value] : [];\n }\n\n protected fromArrayValue([value]: readonly T[]): T {\n return value;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { SiSelectSelectionStrategy } from './si-select-selection-strategy';\n\n/**\n * The directive enables the multi-select behavior.\n * Otherwise, use the {@link SiSelectSingleValueDirective} directive.\n *\n * @example\n * ```html\n * <si-select multi [(value)]=\"multiValue\" [options]=\"[\n * { id: 'good', title: 'Good' },\n * { id: 'average', title: 'Average' },\n * { id: 'poor', title: 'Poor' }\n * ]\"></si-select>\n * ```\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-select[multi]',\n providers: [\n { provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SiSelectMultiValueDirective,\n multi: true\n }\n ]\n})\nexport class SiSelectMultiValueDirective<T> extends SiSelectSelectionStrategy<T, T[]> {\n /**\n * {@inheritDoc SiSelectSelectionStrategy#allowMultiple}\n * @defaultValue true\n */\n override readonly allowMultiple = true;\n\n protected fromArrayValue(value: T[]): T[] {\n return value;\n }\n\n protected toArrayValue(value: T[] | undefined): T[] {\n return value ?? [];\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, Directive, HostListener, inject, input } from '@angular/core';\n\nimport { SiSelectComponent } from './si-select.component';\n\n@Directive({\n selector: '[siSelectAction]',\n host: {\n class: 'mx-5 my-4'\n },\n exportAs: 'si-select-action'\n})\nexport class SiSelectActionDirective {\n private readonly select = inject(SiSelectComponent);\n /**\n * Close the select drop down on click.\n * @defaultValue false\n */\n readonly selectActionAutoClose = input(false, { transform: booleanAttribute });\n\n @HostListener('click')\n protected close(): void {\n if (this.selectActionAutoClose()) {\n this.select.close();\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiSelectComplexOptionsDirective } from './options/si-select-complex-options.directive';\nimport { SiSelectSimpleOptionsDirective } from './options/si-select-simple-options.directive';\nimport { SiSelectMultiValueDirective } from './selection/si-select-multi-value.directive';\nimport { SiSelectSingleValueDirective } from './selection/si-select-single-value.directive';\nimport { SiSelectActionDirective } from './si-select-action.directive';\nimport { SiSelectActionsDirective } from './si-select-actions.directive';\nimport { SiSelectGroupTemplateDirective } from './si-select-group-template.directive';\nimport { SiSelectOptionTemplateDirective } from './si-select-option-template.directive';\nimport { SiSelectComponent } from './si-select.component';\n\n@NgModule({\n imports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ],\n exports: [\n SiSelectActionDirective,\n SiSelectActionsDirective,\n SiSelectComplexOptionsDirective,\n SiSelectComponent,\n SiSelectGroupTemplateDirective,\n SiSelectMultiValueDirective,\n SiSelectOptionTemplateDirective,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n ]\n})\nexport class SiSelectModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-select.component';\nexport * from './options/si-select-lazy-options.directive';\nexport * from './options/si-select-simple-options.directive';\nexport * from './options/si-select-complex-options.directive';\nexport * from './options/si-select-option.source';\nexport * from './selection/si-select-single-value.directive';\nexport * from './selection/si-select-multi-value.directive';\nexport * from './si-select-option-template.directive';\nexport * from './si-select-group-template.directive';\nexport * from './si-select.module';\nexport * from './select-list/si-select-list-has-filter.component';\nexport * from './si-select-action.directive';\nexport * from './si-select-actions.directive';\nexport * from './si-select.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGG;AAKI,MAAM,0BAA0B,GAAG,IAAI,cAAc,CAC1D,4BAA4B,CAC7B;;ACVD;;;AAGG;AAMH;;AAEG;MAEmB,2BAA2B,CAAA;AAM/C;;;;AAIG;AACM,IAAA,IAAI,GAAG,MAAM,CAAkB,EAAE,CAAC;AAQ1B,IAAA,KAAK,GAAG,MAAM,CAAM,EAAE,CAAC;AAE/B,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACpC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE;QAC3B,OAAO,IAAI,CAAC,OAAO;aAChB,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;AACrD,aAAA,IAAI;aACJ,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,KAAC,CAAC;AAEF,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;;AAGvB,IAAA,QAAQ,CAAC,WAAoB,EAAA;QAC3B,IAAI,WAAW,EAAE;AACf,YAAA,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,EAAE;YAC/C,MAAM,QAAQ,GAAsC,CAAC,GAAoB,KACvE,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,KAAK,EAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAc,CAAC;AAE3E,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,KAAI;gBAClC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1C,oBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;AACT,qBAAA,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;AAC/B,oBAAA,IAAI,GAAG,CAAC,KAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAc,CAAC,EAAE;AACrD,wBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;;yBACT;wBACL,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;AAE5C,wBAAA,IAAI,OAAO,CAAC,MAAM,EAAE;4BAClB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC;;;;AAKpC,gBAAA,OAAO,IAAI;AACb,aAAC,EAAE,EAAqB,CAAC,CAC1B;;aACI;YACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;;;uGA3Db,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADhD;;;ACZD;;;AAGG;AAQH;;;;;;;;;;;AAWG;AAMG,MAAO,+BACX,SAAQ,2BAA8B,CAAA;;IAI7B,cAAc,GAAG,KAAK,EAAoC;AAEnE;;;;;;;AAOG;AACM,IAAA,OAAO,GAAG,KAAK,CAAC,oBAAoB,EAAK,CAAC;AAEnD;;;;;;;AAOG;AACe,IAAA,YAAY,GAAG,KAAK,CAAC,CAAC,CAAI,EAAE,CAAI,KAAc,CAAC,KAAK,CAAC,EAAE;;AAEvE,QAAA,KAAK,EAAE;AACR,KAAA,CAAC;AAEF;;AAEG;IACM,aAAa,GAAG,KAAK,EAA6C;AAE3E;;;;;;;AAOG;IACM,aAAa,GAAG,KAAK,CAA2C,MAAM,SAAS,CAAC;AAEzF;;;;;;;AAOG;IACM,gBAAgB,GAAG,KAAK,CAAiC,MAAM,KAAK,CAAC;AAE5D,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;AAC5C,QAAA,IAAI,cAAc,YAAY,KAAK,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;;aAC1C,IAAI,cAAc,EAAE;AACzB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;AAC1C,YAAA,OAAO,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CACvC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MACV;AACC,gBAAA,IAAI,EAAE,OAAO;gBACb,GAAG;AACH,gBAAA,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG;AAChC,gBAAA,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK;AACxC,aAAA,CAAmB,CACvB;;aACI;AACL,YAAA,OAAO,EAAE;;AAEb,KAAC,CAAC;IAEF,WAAW,GAAA;QACT,IAAI,CAAC,QAAQ,EAAE;;AAGT,IAAA,mBAAmB,CAAC,OAAY,EAAA;AACtC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE;AACpC,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,IAAG;YAC1B,OAAO;AACL,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,KAAK,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,KAAK,MAAM,GAAG,EAAE;AAC7D,gBAAA,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS;AACrD,gBAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM;aACzC;AACH,SAAC,CAAC;;uGAzFO,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAF/B,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEvF,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAA,+BAAiC,EAAE;AAClG,iBAAA;;;AC3BD;;;AAGG;AAKH;;;;;;;;;;AAUG;MAIU,+BAA+B,CAAA;;AAE1C,IAAA,OAAO,sBAAsB,CAC3B,SAA0C,EAC1C,OAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI;;uGANF,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACrBD;;;AAGG;MAwBU,uBAAuB,CAAA;AACzB,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAyB;IAChD,cAAc,GAAG,KAAK,EAAwB;uGAF5C,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,2CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BpC,urBAsBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDPI,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACf,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,+BAA+B,EAAA,QAAA,EAAA,0BAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAQtB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,OAAA,EACnB;wBACP,OAAO;wBACP,gBAAgB;wBAChB,eAAe;wBACf,eAAe;wBACf;qBACD,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,QAAA,EAAA,urBAAA,EAAA;;;AEzBH;;;AAGG;AAmBH;;AAEG;MAMmB,yBAAyB,CAAA;AAC7C;;;;AAIG;;AAEM,IAAA,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAEzF;;AAEG;IACH,IAAa,KAAK,CAAC,KAAqB,EAAA;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;;IAIvC,WAAW,GAAG,MAAM,EAAM;AAQnC;;;AAGG;IACM,UAAU,GAAyB,QAAQ,CAAC,MACnD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAC9D;AAED;;;AAGG;AACH,IAAA,SAAS,GAAe,MAAK,GAAG;;AAEhB,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACjF,IAAA,QAAQ,GAAqB,MAAK,GAAG;AAC9B,IAAA,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC;AACjC,IAAA,aAAa,GAAG,MAAM,CAA6B,0BAA0B,CAAC;AAE/F,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;AAGrB,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;;AAGpB;;;AAGG;AACH,IAAA,cAAc,CAAC,MAAW,EAAA;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC1B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;;AAG1C,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;;AAGxC,IAAA,UAAU,CAAC,GAAQ,EAAA;QACjB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;;AAOtC,IAAA,eAAe,CAAC,MAAoB,EAAA;AAC1C,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;;uGA5EtB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAL9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,IAAI,EAAE;AACJ,wBAAA,kBAAkB,EAAE;AACrB;AACF,iBAAA;8BAac,KAAK,EAAA,CAAA;sBAAjB;;;AC1CH;;;AAGG;MA+CU,sBAAsB,CAAA;AACxB,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C;;;;AAIG;AACM,IAAA,UAAU,GAAG,KAAK,CAAgB,IAAI,CAAC;AAChD;;;;AAIG;AACM,IAAA,SAAS,GAAG,KAAK,CAAgB,IAAI,CAAC;;IAEtC,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IACpD,WAAW,GAAG,KAAK,EAAsB;AACzC,IAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAU;IACnC,cAAc,GAAG,KAAK,EAI5B;;IAGM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAExD,WAAW,GAAG,MAAM,EAAQ;AAClB,IAAA,iBAAiB,GAAG,MAAM,EAC3C,yBAA4B,EAC7B;AACgB,IAAA,aAAa,GAAG,MAAM,CAA6B,0BAA0B,CAAC;AAC5E,IAAA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY;AAC9C,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,eAAe,IAAI,CAAC,UAAU,EAAE,CAAA,CAAE,CAAC;AAC9E,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAG3C,IAAI,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;AAChB,YAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;;;AAU5B,IAAA,KAAK,CAAC,KAAa,EAAA;QAC3B,KAAK,EAAE,cAAc,EAAE;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;;uGAnDd,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,SAAA,EAAA,eAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,wCAAA,EAAA,oBAAA,EAAA,sCAAA,EAAA,oBAAA,EAAA,iCAAA,EAAA,oBAAA,EAAA,qCAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,+CAAA,EAAA,gBAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,cAAA,EAAA,kEAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClDnC,imCAgCA,EAAA,MAAA,EAAA,CAAA,mzBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHY,2BAA2B,ulBAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAqBrF,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,OAAA,EAClB,CAAC,2BAA2B,EAAE,eAAe,EAAE,uBAAuB,EAAE,eAAe,CAAC,EAAA,eAAA,EAGhF,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;;;AAGJ,wBAAA,KAAK,EAAE,kEAAkE;AACzE,wBAAA,mBAAmB,EAAE,MAAM;AAC3B,wBAAA,aAAa,EAAE,oCAAoC;AACnD,wBAAA,sBAAsB,EAAE,oCAAoC;AAC5D,wBAAA,sBAAsB,EAAE,iCAAiC;AACzD,wBAAA,sBAAsB,EAAE,qCAAqC;AAC7D,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,wBAAwB,EAAE,aAAa;AACvC,wBAAA,sBAAsB,EAAE,8BAA8B;AACtD,wBAAA,iBAAiB,EAAE,2CAA2C;AAC9D,wBAAA,kBAAkB,EAAE,8BAA8B;AAClD,wBAAA,gBAAgB,EAAE;AACnB,qBAAA,EAAA,QAAA,EAAA,imCAAA,EAAA,MAAA,EAAA,CAAA,mzBAAA,CAAA,EAAA;8BAuCS,IAAI,EAAA,CAAA;sBADb,YAAY;uBAAC,MAAM;gBAaV,KAAK,EAAA,CAAA;sBANd,YAAY;uBAAC,OAAO;;sBACpB,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC;;sBAC5C,YAAY;uBAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC;;sBAChD,YAAY;uBAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;;sBAC1C,YAAY;uBAAC,eAAe;;sBAC5B,YAAY;uBAAC,eAAe;;;AElG/B;;;AAGG;MA0BU,0BAA0B,CAAA;AAC5B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAyB;IAChD,cAAc,GAAG,KAAK,EAAwB;;IAE9C,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAC9C,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;uGALvC,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,qCAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BvC,sYAWA,EAAA,MAAA,EAAA,CAAA,kOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDOY,eAAe,sEAAE,uBAAuB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAWvC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAbtC,SAAS;+BACE,sBAAsB,EAAA,OAAA,EACvB,CAAC,eAAe,EAAE,uBAAuB,CAAC,EAAA,eAAA,EAGlC,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE,qCAAqC;AAC5C,wBAAA,kBAAkB,EAAE,0BAA0B;AAC9C,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,gBAAgB,EAAE;AACnB,qBAAA,EAAA,QAAA,EAAA,sYAAA,EAAA,MAAA,EAAA,CAAA,kOAAA,CAAA,EAAA;;;AE3BH;;;AAGG;AAKH;;;;;;;;;;AAUG;MAIU,8BAA8B,CAAA;AACzC,IAAA,OAAO,sBAAsB,CAC3B,SAAyC,EACzC,OAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI;;uGALF,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACrBD;;;AAGG;MAQU,kCAAkC,CAAA;AAC7C,IAAA,OAAO,sBAAsB,CAC3B,SAA6C,EAC7C,OAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI;;uGALF,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAH9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACVD;;;AAGG;MA2BmB,gBAAgB,CAAA;AAC3B,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAU;IACjC,cAAc,GAAG,KAAK,EAI5B;IACM,aAAa,GAAG,KAAK,EAI3B;;AAEM,IAAA,UAAU,GAAG,KAAK,CAAgB,IAAI,CAAC;IACvC,eAAe,GAAG,KAAK,EAAoB;IAE3C,YAAY,GAAG,MAAM,EAAQ;AAEnB,IAAA,iBAAiB,GAClC,MAAM,CAA+B,yBAAyB,CAAC;AAC9C,IAAA,aAAa,GAAG,MAAM,CAA6B,0BAA0B,CAAC;AAC9E,IAAA,gBAAgB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACvD,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACxC,IAAA,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI;AAC9B,IAAA,SAAS;AAGT,IAAA,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa;IAE5D,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;;IAG9E,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;;IAIhB,UAAU,GAAA;;AAElB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,CAAC,kBAAkB,EAAE;;;IAInB,kBAAkB,GAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;;IAGhB,oBAAoB,GAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;YACzC,IAAI,CAAC,kBAAkB,EAAE;;;uGAnDT,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,EAAA,cAAA,EAAA,6DAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR;AACF,iBAAA;8BA4BW,WAAW,EAAA,CAAA;sBADpB,WAAW;uBAAC,uBAAuB;gBAY1B,UAAU,EAAA,CAAA;sBADnB,YAAY;uBAAC,aAAa;;;ACnE7B;;;AAGG;AA4CG,MAAO,8BAAkC,SAAQ,gBAAmB,CAAA;;AAE/D,IAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAsB;;AAExD,IAAA,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAsB;AAEhD,IAAA,WAAW,GAAG,SAAS,CAAC,QAAQ,CAA+B,QAAQ,CAAC;AACxE,IAAA,SAAS;AACT,IAAA,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAA,EAAG,IAAI,CAAC,MAAM,EAAE,CAAA,QAAA,CAAU,CAAC;AAC/C,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;AAEtD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAA,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC;;QAExD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MACxB,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAChF;;aACI;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC;;;IAIrB,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,IAAI,CAAC,aAAa,CAAC,QAAS,EAAE;AAC9B,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;;IAGlD,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,aAAa,CAAC,QAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;;AAG5D,IAAA,MAAM,CAAC,QAAW,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;AACxC,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC1D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CACnC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,CACxE;;iBACI;AACL,gBAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;;;aAEtF;YACL,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC;;QAEnD,IAAI,CAAC,oBAAoB,EAAE;;uGAhDlB,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA9B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,gnBC/C3C,+lGA8FA,EAAA,MAAA,EAAA,CAAA,uIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjEI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,uBAAuB,gGACvB,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,8BAA8B,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC9B,0BAA0B,mHAC1B,kCAAkC,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAClC,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,oBAAoB,ieACpB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAUhB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBArB1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,OAAA,EAC5B;wBACP,gBAAgB;wBAChB,uBAAuB;wBACvB,eAAe;wBACf,8BAA8B;wBAC9B,0BAA0B;wBAC1B,kCAAkC;wBAClC,eAAe;wBACf,oBAAoB;wBACpB;qBACD,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,WAAW,EAAE;AACd,qBAAA,EAAA,QAAA,EAAA,+lGAAA,EAAA,MAAA,EAAA,CAAA,uIAAA,CAAA,EAAA;;;AE7CH;;;AAGG;AA0BG,MAAO,qBAAyB,SAAQ,gBAAmB,CAAA;AAC9C,IAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAC3C,UAAU,EACV;AACE,QAAA,IAAI,EAAE;AACP,KAAA,CACF;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;AAChB,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;;AAG9C,IAAA,kBAAkB,CAAC,WAAuC,EAAA;AAClE,QAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;uGAdvD,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,mHAE9B,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAEF,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCtB,6vEAgEA,qID/CI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,+BAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,kCAAA,EAAA,oCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACV,eAAe,kDACf,SAAS,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,WAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACT,kCAAkC,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClC,8BAA8B,oEAC9B,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAMjB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,OAAA,EACjB;wBACP,YAAY;wBACZ,UAAU;wBACV,eAAe;wBACf,SAAS;wBACT,kCAAkC;wBAClC,8BAA8B;wBAC9B;qBACD,EAAA,eAAA,EAGgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6vEAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA;;;AE3BjD;;;AAGG;MAOU,wBAAwB,CAAA;;AAEnC,IAAA,OAAO,sBAAsB,CAC3B,SAAmC,EACnC,OAAgB,EAAA;AAEhB,QAAA,OAAO,IAAI;;uGANF,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE;AACX,iBAAA;;;ACTD;;;AAGG;MAoDU,iBAAiB,CAAA;AACpB,IAAA,OAAO,SAAS,GAAG,CAAC;AAC5B;;;;;;;AAOG;IACM,EAAE,GAAG,KAAK,CAAC,CAAA,YAAA,EAAe,iBAAiB,CAAC,SAAS,EAAE,CAAA,CAAE,CAAC;AACnE;;;;AAIG;AACM,IAAA,SAAS,GAAG,KAAK,CAAgB,IAAI,CAAC;AAC/C;;;AAGG;;IAEM,eAAe,GAAG,KAAK,CAAqB,SAAS,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACxF;;;;;;;AAOG;AACM,IAAA,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,yCAAA,CAA2C,CAAC,CAAC;AACjG;;;;;;;AAOG;AACM,IAAA,mBAAmB,GAAG,KAAK,CAClC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,8CAAA,CAAgD,CAAC,CACnE;;IAEQ,WAAW,GAAG,KAAK,EAAsB;AAClD;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAEjE;;;AAGG;IACM,aAAa,GAAG,MAAM,EAAQ;;IAE9B,UAAU,GAAG,MAAM,EAAW;AAEpB,IAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAEtB,cAAc,GAAG,YAAY,CAG9C,+BAA+B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAEtC,aAAa,GAAG,YAAY,CAG7C,8BAA8B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAErC,eAAe,GAAG,YAAY,CAC/C,wBAAwB,EACxB,EAAE,IAAI,EAAE,WAAW,EAAE,CACtB;AAEgB,IAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAC3C,gBAAgB,EAChB;AACE,QAAA,IAAI,EAAE;AACP,KAAA,CACF;;AAGQ,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC;AACpF;;;;;;;;;AASG;IACM,cAAc,GAAG,KAAK,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,CAAA,aAAA,CAAe,CAAC;IAElD,IAAI,GAA6B,EAAE;IACnC,YAAY,GAAG,CAAC;AACP,IAAA,iBAAiB,GAAG,MAAM,EAAC,yBAA4B,EAAC;IAEnE,eAAe,GAAG,KAAK;AACd,IAAA,aAAa,GAAG,MAAM,CAAC,0BAA0B,CAAC;AAEnE;;;;AAIG;IACM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAElE,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACzC,IAAI,CAAC,mBAAmB,EAAE;;;IAI9B,kBAAkB,GAAA;QAChB,IAAI,CAAC,mBAAmB,EAAE;;;IAI5B,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE;YACxD;;AAEF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;;IAI5B,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;;aAC/B;AACL,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,YAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE;;AAEpC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGnB,aAAa,GAAA;AACrB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;;IAGhB,mBAAmB,GAAA;QACzB,IACE,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,aAAa,YAAY,+BAA+B;AAC7D,YAAA,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,EACnC;AACA,YAAA,OAAO,CAAC,KAAK,CACX,oGAAoG,CACrG;;;uGA/JM,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,4gDATjB,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA0E5E,+BAA+B,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKpD,8BAA8B,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,+EAGnD,wBAAwB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAChB,WAAW,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAInB,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAER,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvItB,0gDAiDA,+XDVI,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,MAAA,EAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,qBAAqB,2DACrB,8BAA8B,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAarB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,OAAA,EACZ;wBACP,aAAa;wBACb,sBAAsB;wBACtB,qBAAqB;wBACrB;AACD,qBAAA,EAAA,SAAA,EAGU,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAA,iBAAmB,EAAE,CAAC,EAAA,eAAA,EAC7D,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,kBAAkB,EAAE,YAAY;AAChC,wBAAA,cAAc,EAAE,UAAU;AAC1B,wBAAA,8BAA8B,EAAE;AACjC,qBAAA,EAAA,QAAA,EAAA,0gDAAA,EAAA,MAAA,EAAA,CAAA,wUAAA,CAAA,EAAA;;;AErDH;;;AAGG;MAcU,4BAA4B,CAAA;AACvC;;;AAGG;AACM,IAAA,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;AAEhC;;;AAGG;AACM,IAAA,IAAI,GAAG,MAAM,CAAkB,EAAE,CAAC;AAE3C;;;AAGG;AACM,IAAA,YAAY,GAAG,MAAM,CAAoB,EAAE,CAAC;AAE5C,IAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAyB;AAEvD,IAAA,WAAW,GAAG,IAAI,OAAO,EAAQ;AACjC,IAAA,YAAY,GAAG,IAAI,OAAO,EAAsB;AAExD,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC;aACF,IAAI,CACH,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,WAAW,IAAG;YACtB,IAAI,WAAW,EAAE;gBACf,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,mBAAoB,CAAC,WAAW,CAAC;;iBACvD;AACL,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;AACxC,gBAAA,IAAI,YAAY,CAAC,aAAa,EAAE;AAC9B,oBAAA,OAAO,YAAY,CAAC,aAAa,EAAE;;qBAC9B;AACL,oBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;;;AAGpC,SAAC,CAAC;aAEH,SAAS,CAAC,IAAI,IAAG;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,SAAC,CAAC;;IAGN,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AAC3B,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;;;AAI9B,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;;;QAIvB,MAAM,oBAAoB,GAAG;aAC1B,GAAG,CACF,UAAU,IACR,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAChF,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CACf,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAClE;aAExB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;QACxC,IAAI,oBAAoB,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AAChD,YAAA,IAAI,YAAY,CAAC,cAAc,EAAE;AAC/B,gBAAA,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;;AAExD,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,CAAC;;aACtC;;YAEL;iBACG,mBAAmB,CAAC,KAAK;AACzB,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,iBAAA,SAAS,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;;;;AAK3E,IAAA,QAAQ,CAAC,WAAoB,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;;IAGhB,UAAU,CAAC,CAAK,EAAE,CAAK,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,YAAA,OAAO,IAAI;;AAEb,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;AACZ,YAAA,OAAO,KAAK;;AAGd,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE;AACxC,QAAA,IAAI,YAAY,CAAC,WAAW,EAAE;YAC5B,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;;AAGvC,QAAA,OAAO,KAAK;;uGAvGH,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAF5B,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEpF,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,yBAAyB;oBACnC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAA,4BAA8B,EAAE;AAC/F,iBAAA;;;AChBD;;;AAGG;AAOH;;;;;;;;AAQG;AAMG,MAAO,8BACX,SAAQ,2BAA8B,CAAA;;IAI7B,OAAO,GAAG,KAAK,EAAiD;AAEzE;;;;;;;AAOG;AACe,IAAA,YAAY,GAAG,KAAK,CAAC,CAAC,CAAI,EAAE,CAAI,KAAc,CAAC,KAAK,CAAC,EAAE;;AAEvE,QAAA,KAAK,EAAE;AACR,KAAA,CAAC;AAEgB,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;QAC9B,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,EAAE,GAAG,CAAC,MAAM,IACxB,MAAM,CAAC;AACL,kBAAE;AACF,kBAAG;AACC,oBAAA,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,MAAM,CAAC,EAAO;oBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,KAAK;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,MAAM,CAAC;AACE,iBAAA,CAC1B;;aACI;AACL,YAAA,OAAO,EAAE;;AAEb,KAAC,CAAC;IAEF,WAAW,GAAA;QACT,IAAI,CAAC,QAAQ,EAAE;;uGAzCN,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAF9B,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEtF,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAA,8BAAgC,EAAE;AACjG,iBAAA;;;ACvBD;;;AAGG;AAMH;;;;;;;;;;;;AAYG;AAaG,MAAO,4BAAgC,SAAQ,yBAA+B,CAAA;AAClF;;;AAGG;IACM,aAAa,GAAG,KAAK;AAEpB,IAAA,YAAY,CAAC,KAAoB,EAAA;AACzC,QAAA,OAAO,KAAK,KAAK,SAAS,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;;IAGjC,cAAc,CAAC,CAAC,KAAK,CAAe,EAAA;AAC5C,QAAA,OAAO,KAAK;;uGAZH,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAT5B;AACT,YAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,4BAA4B,EAAE;AACjF,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,4BAA4B;AACzC,gBAAA,KAAK,EAAE;AACR;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAZxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,8BAA8B,EAAE;AACjF,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,4BAA8B;AACzC,4BAAA,KAAK,EAAE;AACR;AACF;AACF,iBAAA;;;ACjCD;;;AAGG;AAMH;;;;;;;;;;;;AAYG;AAaG,MAAO,2BAA+B,SAAQ,yBAAiC,CAAA;AACnF;;;AAGG;IACe,aAAa,GAAG,IAAI;AAE5B,IAAA,cAAc,CAAC,KAAU,EAAA;AACjC,QAAA,OAAO,KAAK;;AAGJ,IAAA,YAAY,CAAC,KAAsB,EAAA;QAC3C,OAAO,KAAK,IAAI,EAAE;;uGAZT,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAT3B;AACT,YAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,2BAA2B,EAAE;AAChF,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,2BAA2B;AACxC,gBAAA,KAAK,EAAE;AACR;AACF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,6BAA6B,EAAE;AAChF,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAA,2BAA6B;AACxC,4BAAA,KAAK,EAAE;AACR;AACF;AACF,iBAAA;;;ACjCD;;;AAGG;MAYU,uBAAuB,CAAA;AACjB,IAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACnD;;;AAGG;IACM,qBAAqB,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAGpE,KAAK,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;;uGAXZ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACX,iBAAA;8BAUW,KAAK,EAAA,CAAA;sBADd,YAAY;uBAAC,OAAO;;;ACvBvB;;;AAGG;MAqCU,cAAc,CAAA;uGAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAtBvB,uBAAuB;YACvB,wBAAwB;YACxB,+BAA+B;YAC/B,iBAAiB;YACjB,8BAA8B;YAC9B,2BAA2B;YAC3B,+BAA+B;YAC/B,8BAA8B;AAC9B,YAAA,4BAA4B,aAG5B,uBAAuB;YACvB,wBAAwB;YACxB,+BAA+B;YAC/B,iBAAiB;YACjB,8BAA8B;YAC9B,2BAA2B;YAC3B,+BAA+B;YAC/B,8BAA8B;YAC9B,4BAA4B,CAAA,EAAA,CAAA;AAGnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAnBvB,iBAAiB,CAAA,EAAA,CAAA;;2FAmBR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAxB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,wBAAwB;wBACxB,+BAA+B;wBAC/B,iBAAiB;wBACjB,8BAA8B;wBAC9B,2BAA2B;wBAC3B,+BAA+B;wBAC/B,8BAA8B;wBAC9B;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,wBAAwB;wBACxB,+BAA+B;wBAC/B,iBAAiB;wBACjB,8BAA8B;wBAC9B,2BAA2B;wBAC3B,+BAA+B;wBAC/B,8BAA8B;wBAC9B;AACD;AACF,iBAAA;;;ACvCD;;;AAGG;;ACHH;;AAEG;;;;"}
|
|
@@ -193,7 +193,7 @@ class SiSidePanelComponent {
|
|
|
193
193
|
if (this.isBrowser) {
|
|
194
194
|
this.resizeEvent
|
|
195
195
|
.asObservable()
|
|
196
|
-
.pipe(takeUntilDestroyed(
|
|
196
|
+
.pipe(takeUntilDestroyed(), debounceTime(this.resizeEventDelay))
|
|
197
197
|
.subscribe(() => {
|
|
198
198
|
this.openingOrClosing = false;
|
|
199
199
|
this.emitResizeOutputs();
|
|
@@ -462,7 +462,7 @@ class SiSidePanelContentComponent {
|
|
|
462
462
|
expandedTimeout;
|
|
463
463
|
constructor() {
|
|
464
464
|
const accordionHcollapse = inject(SiAccordionHCollapseService);
|
|
465
|
-
this.service.isOpen$.pipe(takeUntilDestroyed(
|
|
465
|
+
this.service.isOpen$.pipe(takeUntilDestroyed()).subscribe(state => {
|
|
466
466
|
this.isCollapsed.set(!state);
|
|
467
467
|
clearTimeout(this.expandedTimeout);
|
|
468
468
|
this.expandedTimeout = undefined;
|
|
@@ -476,9 +476,7 @@ class SiSidePanelContentComponent {
|
|
|
476
476
|
}
|
|
477
477
|
accordionHcollapse.hcollapsed.set(!state);
|
|
478
478
|
});
|
|
479
|
-
accordionHcollapse.open
|
|
480
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
481
|
-
.subscribe(() => this.service.open());
|
|
479
|
+
accordionHcollapse.open$.pipe(takeUntilDestroyed()).subscribe(() => this.service.open());
|
|
482
480
|
}
|
|
483
481
|
ngOnInit() {
|
|
484
482
|
this.breakpointObserver
|