@eui/eds 22.0.0-alpha.17 → 22.0.0-alpha.18
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/docs/changelog.html +10 -0
- package/docs/components/EdsLanguageSelectorDialog.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/documentation.json +42 -42
- package/docs/llms.txt +1 -1
- package/docs/properties.html +1 -1
- package/fesm2022/eui-eds-charts-eds-chart-legend.mjs +2 -2
- package/fesm2022/eui-eds-charts-eds-chart-legend.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-accordion.mjs +2 -2
- package/fesm2022/eui-eds-eds-accordion.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-alert.mjs +2 -2
- package/fesm2022/eui-eds-eds-alert.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-autocomplete.mjs +2 -2
- package/fesm2022/eui-eds-eds-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-avatar.mjs +4 -4
- package/fesm2022/eui-eds-eds-avatar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-blockquote.mjs +2 -2
- package/fesm2022/eui-eds-eds-blockquote.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-calendar.mjs +4 -4
- package/fesm2022/eui-eds-eds-calendar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-card.mjs +2 -2
- package/fesm2022/eui-eds-eds-card.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-date-block.mjs +2 -2
- package/fesm2022/eui-eds-eds-date-block.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-datepicker.mjs +2 -2
- package/fesm2022/eui-eds-eds-datepicker.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-discussion-thread.mjs +4 -4
- package/fesm2022/eui-eds-eds-discussion-thread.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-empty-state.mjs +2 -2
- package/fesm2022/eui-eds-eds-empty-state.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-fieldset.mjs +2 -2
- package/fesm2022/eui-eds-eds-fieldset.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-file-upload.mjs +2 -2
- package/fesm2022/eui-eds-eds-file-upload.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-growl.mjs +2 -2
- package/fesm2022/eui-eds-eds-growl.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-language-selector.mjs +4 -4
- package/fesm2022/eui-eds-eds-language-selector.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-list.mjs +2 -2
- package/fesm2022/eui-eds-eds-list.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-menu.mjs +2 -2
- package/fesm2022/eui-eds-eds-menu.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-multiselect.mjs +2 -2
- package/fesm2022/eui-eds-eds-multiselect.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-page.mjs +2 -2
- package/fesm2022/eui-eds-eds-page.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-popover.mjs +2 -2
- package/fesm2022/eui-eds-eds-popover.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-progress-bar.mjs +2 -2
- package/fesm2022/eui-eds-eds-progress-bar.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-progress-circle.mjs +2 -2
- package/fesm2022/eui-eds-eds-progress-circle.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-select.mjs +2 -2
- package/fesm2022/eui-eds-eds-select.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-shell.mjs +4 -4
- package/fesm2022/eui-eds-eds-shell.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-table.mjs +2 -2
- package/fesm2022/eui-eds-eds-table.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-tabs.mjs +2 -2
- package/fesm2022/eui-eds-eds-tabs.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-timeline.mjs +2 -2
- package/fesm2022/eui-eds-eds-timeline.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-timepicker.mjs +2 -2
- package/fesm2022/eui-eds-eds-timepicker.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-user-profile.mjs +2 -2
- package/fesm2022/eui-eds-eds-user-profile.mjs.map +1 -1
- package/fesm2022/eui-eds-eds-wizard.mjs +2 -2
- package/fesm2022/eui-eds-utilities-eds-label.mjs +2 -2
- package/fesm2022/eui-eds-utilities-eds-label.mjs.map +1 -1
- package/fesm2022/eui-eds-utilities-eds-trend.mjs +2 -2
- package/fesm2022/eui-eds-utilities-eds-trend.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-autocomplete.mjs","sources":["../../eds-autocomplete/eds-autocomplete-option.ts","../../eds-autocomplete/eds-autocomplete-option-group.ts","../../eds-autocomplete/eds-autocomplete-panel.ts","../../eds-autocomplete/eds-autocomplete-panel.html","../../eds-autocomplete/eds-autocomplete.ts","../../eds-autocomplete/eds-autocomplete.html","../../eds-autocomplete/eds-autocomplete-force-selection.validator.ts","../../eds-autocomplete/index.ts","../../eds-autocomplete/eui-eds-eds-autocomplete.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, input, booleanAttribute, computed } from '@angular/core';\n\n@Component({\n selector: 'eds-autocomplete-option',\n template: '<ng-content/>',\n styleUrl: './eds-autocomplete-option.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'option',\n '[id]': 'optionId()',\n '[attr.aria-selected]': 'isActive() ? \"true\" : \"false\"',\n '[attr.aria-disabled]': 'isDisabled() ? \"true\" : null',\n '[class]': 'hostClasses()',\n },\n})\nexport class EdsAutocompleteOption {\n /**\n * Unique identifier for this option, used by aria-activedescendant.\n */\n optionId = input<string>('');\n\n /**\n * Whether the option is currently highlighted/active via keyboard navigation.\n * @default false\n */\n isActive = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the option is disabled and cannot be selected.\n * @default false\n */\n isDisabled = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the option belongs to a group and needs indented styling.\n * @default false\n */\n isGroupItem = input(false, { transform: booleanAttribute });\n\n /**\n * Color variant for the option's left border indicator.\n */\n variant = input<'primary' | 'info' | 'success' | 'warning' | 'critical' | undefined>();\n\n hostClasses = computed(() => {\n const variantClass = this.variant() ? `eds-autocomplete-option--${this.variant()}` : '';\n return [\n 'eds-autocomplete-option',\n variantClass,\n this.isActive() ? 'eds-autocomplete-option--active' : '',\n this.isDisabled() ? 'eds-autocomplete-option--disabled' : '',\n this.isGroupItem() ? 'eds-autocomplete-option--group-item' : '',\n ].join(' ').trim();\n });\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, input } from '@angular/core';\n\n@Component({\n selector: 'eds-autocomplete-option-group',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'group',\n class: 'eds-autocomplete-option-group',\n },\n})\nexport class EdsAutocompleteOptionGroup {\n /**\n * Text label displayed as the group header.\n */\n label = input<string>();\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n input,\n output,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { EDS_ICON } from '@eui/eds/eds-icon';\n\nimport { EdsAutocompleteItem } from './eds-autocomplete-item.model';\nimport { EdsAutocompleteOption } from './eds-autocomplete-option';\nimport { EdsAutocompleteOptionGroup } from './eds-autocomplete-option-group';\n\n@Component({\n selector: 'eds-autocomplete-panel',\n templateUrl: './eds-autocomplete-panel.html',\n styleUrl: './eds-autocomplete-panel.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n ScrollingModule,\n EdsAutocompleteOption,\n EdsAutocompleteOptionGroup,\n ...EDS_ICON,\n ],\n host: {\n class: 'eds-autocomplete-panel',\n },\n})\nexport class EdsAutocompletePanel {\n readonly virtualScrolling = viewChild.required<CdkVirtualScrollViewport>('virtualScrolling');\n\n panelId = input('eds-autocomplete__panel');\n isOpen = input(false);\n itemSize = input(40, { transform: numberAttribute });\n viewportHeight = input(0, { transform: numberAttribute });\n groupBy = input<string>();\n distinctOptionGroups = input<string[]>([]);\n groupedOptions = input<Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }>>({});\n autocompleteOptions = input<EdsAutocompleteItem[]>([]);\n selectedOptionIndex = input(0, { transform: numberAttribute });\n optionTemplate = input<TemplateRef<{ $implicit: EdsAutocompleteItem }>>();\n optGroupTemplate = input<TemplateRef<{ $implicit: { label: string } }>>();\n\n optionSelected = output<EdsAutocompleteItem>();\n\n trackByFn(index: number, item: EdsAutocompleteItem): string | number {\n return item.id ?? index;\n }\n\n onOptionSelected(option: EdsAutocompleteItem): void {\n this.optionSelected.emit(option);\n }\n}\n","<div\n [id]=\"panelId()\"\n class=\"eds-autocomplete__panel\"\n role=\"listbox\"\n aria-label=\"Autocomplete panel\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize()\"\n tabindex=\"-1\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"viewportHeight() + 'px'\">\n @if (groupBy()) {\n @for (distinctOptionGroup of distinctOptionGroups(); track distinctOptionGroup) {\n @if (groupedOptions()[distinctOptionGroup]?.options?.length > 0) {\n <eds-autocomplete-option-group [label]=\"distinctOptionGroup\">\n <div class=\"eds-autocomplete-option-group__label\">\n @if (optGroupTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"optGroupTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n } @else {\n {{ distinctOptionGroup }}\n }\n </div>\n <div class=\"eds-autocomplete-option-group__options\">\n @for (option of groupedOptions()[distinctOptionGroup].options; let j = $index; track option.id ?? j) {\n <eds-autocomplete-option\n isGroupItem\n [optionId]=\"panelId() + '-option-' + (groupedOptions()[distinctOptionGroup].ancestorLength + j)\"\n [isActive]=\"selectedOptionIndex() === groupedOptions()[distinctOptionGroup].ancestorLength + j\"\n [isDisabled]=\"option.isDisabled\"\n (click)=\"onOptionSelected(option)\">\n @if (optionTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"optionTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-template>\n } @else {\n @if (option.iconName) {\n <eds-icon [icon]=\"option.iconName\" />\n }\n {{ option.label }}\n }\n </eds-autocomplete-option>\n }\n </div>\n </eds-autocomplete-option-group>\n }\n }\n } @else {\n <eds-autocomplete-option\n *cdkVirtualFor=\"let option of autocompleteOptions(); let i = index; trackBy: trackByFn\"\n [optionId]=\"panelId() + '-option-' + i\"\n [isActive]=\"selectedOptionIndex() === i\"\n [isDisabled]=\"option.isDisabled\"\n (click)=\"onOptionSelected(option)\">\n @if (optionTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"optionTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-template>\n } @else {\n @if (option.iconName) {\n <eds-icon [icon]=\"option.iconName\" />\n }\n {{ option.label }}\n }\n </eds-autocomplete-option>\n }\n </cdk-virtual-scroll-viewport>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n AfterViewInit,\n ViewContainerRef,\n TemplateRef,\n ElementRef,\n booleanAttribute,\n numberAttribute,\n inject,\n PLATFORM_ID,\n DestroyRef,\n input,\n output,\n signal,\n computed,\n effect,\n afterNextRender,\n Injector,\n runInInjectionContext,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { isPlatformBrowser, NgTemplateOutlet, SlicePipe } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormControl,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { Subscription, filter, fromEvent } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayModule,\n OverlayRef,\n PositionStrategy,\n RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { ScrollDispatcher, ScrollingModule } from '@angular/cdk/scrolling';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport {\n CdkDragDrop,\n CdkDragRelease,\n CdkDragStart,\n DragDropModule,\n moveItemInArray,\n} from '@angular/cdk/drag-drop';\n\nimport { EdsColorDirective } from '@eui/eds/shared';\nimport { EDS_CHIP } from '@eui/eds/eds-chip';\nimport { EdsChipModel, EdsChipData } from '@eui/eds/eds-chip';\nimport { EDS_CHIP_LIST } from '@eui/eds/eds-chip-list';\nimport { EDS_INPUT_TEXT } from '@eui/eds/eds-input-text';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\nimport { EdsAutocompleteItem } from './eds-autocomplete-item.model';\nimport { EdsAutocompletePanel } from './eds-autocomplete-panel';\n\nexport interface EdsChipDragDropEvent {\n type: 'started' | 'released' | 'dropped';\n chip: EdsChipModel;\n chips: EdsChipModel[];\n}\n\n@Component({\n templateUrl: './eds-autocomplete.html',\n selector: 'eds-autocomplete',\n styleUrl: './eds-autocomplete.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n SlicePipe,\n DragDropModule,\n ReactiveFormsModule,\n OverlayModule,\n ScrollingModule,\n EdsAutocompletePanel,\n ...EDS_INPUT_TEXT,\n ...EDS_CHIP_LIST,\n ...EDS_CHIP,\n ...EDS_ICON,\n ...EDS_ICON_BUTTON,\n ],\n hostDirectives: [\n {\n directive: EdsColorDirective,\n inputs: [\n 'edsNeutral',\n 'edsSuccess',\n 'edsInfo',\n 'edsWarning',\n 'edsCritical',\n 'edsColorVariant',\n ],\n },\n ],\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsAutocomplete implements OnInit, ControlValueAccessor, AfterViewInit {\n // --- Inputs ---\n e2eAttr = input('eds-autocomplete');\n inputId = input<string | undefined>();\n autocompleteData = input<EdsAutocompleteItem[]>([]);\n visibleOptions = input(5, { transform: numberAttribute });\n matching = input<'startWith' | 'contains'>('contains');\n placeholder = input<string>('');\n chipsSortOrder = input<'ASC' | 'DESC'>('ASC');\n itemsSortOrder = input<'ASC' | 'DESC'>('ASC');\n chipsPosition = input<'top' | 'bottom'>('top');\n groupBy = input<string>();\n toggleLinkMoreLabel = input<string | null>(null);\n toggleLinkLessLabel = input<string | null>(null);\n ariaLabel = input<string | null>('Select an option');\n panelClass = input<string | null>(null);\n panelWidth = input<string | number | undefined>();\n isFreeValueAllowed = input(true, { transform: booleanAttribute });\n isReadonly = input(false, { transform: booleanAttribute });\n isLoading = input(false, { transform: booleanAttribute });\n hasChips = input(false, { transform: booleanAttribute });\n isAsync = input(false, { transform: booleanAttribute });\n isChipsSorted = input(false, { transform: booleanAttribute });\n isItemsSorted = input(false, { transform: booleanAttribute });\n isGroupSorted = input(true, { transform: booleanAttribute });\n isChipsRemovable = input(true, { transform: booleanAttribute });\n isDuplicateValueAllowed = input(false, { transform: booleanAttribute });\n isAddOnBlur = input(false, { transform: booleanAttribute });\n isForceSelection = input(false, { transform: booleanAttribute });\n maxVisibleChipsCount = input(null, { transform: numberAttribute });\n chipsLabelTruncateCount = input(null, { transform: numberAttribute });\n isMaxVisibleChipsOpened = input(false, { transform: booleanAttribute });\n isChipsDragAndDrop = input(false, { transform: booleanAttribute });\n\n // --- Outputs ---\n panelClose = output();\n panelOpen = output();\n inputFocus = output<FocusEvent>();\n inputBlur = output<FocusEvent>();\n clear = output();\n selectionChange = output<EdsAutocompleteItem[]>();\n itemAdd = output<EdsAutocompleteItem>();\n itemRemove = output<EdsAutocompleteItem>();\n inputChange = output<string>();\n chipDragStart = output<EdsChipDragDropEvent>();\n chipDragRelease = output<EdsChipDragDropEvent>();\n chipDrop = output<EdsChipDragDropEvent>();\n\n // --- View queries ---\n readonly templatePortalContent = viewChild.required<TemplateRef<ElementRef>>('templatePortalContent');\n readonly autocompletePanelRef = viewChild.required(EdsAutocompletePanel);\n readonly inputContainerRef = viewChild.required<ElementRef>('inputContainerRef');\n readonly inputRef = viewChild.required('input', { read: ElementRef });\n\n // --- Public state ---\n autocompleteOptions = signal<EdsAutocompleteItem[]>([]);\n selectedOptionIndex = signal(0);\n autocompleteControl = new FormControl<string>('');\n internalDisabled = signal(false);\n chips = signal<EdsChipModel[]>([]);\n distinctOptionGroups: string[] = [];\n groupedOptions = signal<Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }>>({});\n itemSize = 40;\n isVisibleChipsOpened = signal(false);\n autocompleteDataSelected: EdsAutocompleteItem[] = [];\n\n /** Unique panel ID for aria-controls. */\n panelId = 'eds-ac-panel-' + crypto.randomUUID().slice(0, 8);\n\n /** Computed active descendant ID for aria-activedescendant. */\n activeDescendantId = computed(() => this.panelId + '-option-' + this.selectedOptionIndex());\n\n /** Whether the dropdown panel is currently open. */\n isOpen = signal(false);\n\n // --- Host classes ---\n hostClasses = computed(() => {\n const colorClass = this.colorDirective.getCssClass('eds-autocomplete');\n return [\n 'eds-autocomplete',\n colorClass,\n this.hasChips()\n ? 'eds-autocomplete--chips-position-' + this.chipsPosition()\n : 'eds-autocomplete--chips-position-none',\n this.isReadonly() ? 'eds-autocomplete--readonly' : '',\n ].join(' ').trim();\n });\n\n // --- Private state ---\n protected hasAriaRequiredAttribute = signal(false);\n private overlayRef: OverlayRef | null = null;\n private templatePortal!: TemplatePortal<unknown>;\n private keyboardOptionSelectorSub = new Subscription();\n private addOnBlurClickSub = new Subscription();\n private isForceSelectionSub = new Subscription();\n private keyboardSub = new Subscription();\n private scrollDispatcherSub = new Subscription();\n private windowResizeSub = new Subscription();\n private value: EdsAutocompleteItem | EdsAutocompleteItem[] | null = null;\n\n private TOP = new ConnectionPositionPair(\n { originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0,\n ['eds-autocomplete-position', 'eds-autocomplete-position--top'],\n );\n private BOTTOM = new ConnectionPositionPair(\n { originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0,\n ['eds-autocomplete-position', 'eds-autocomplete-position--bottom'],\n );\n private preferredPositions = [this.BOTTOM, this.TOP];\n\n // --- Injections ---\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n private elementRef = inject(ElementRef);\n private liveAnnouncer = inject(LiveAnnouncer);\n private scrollDispatcher = inject(ScrollDispatcher);\n private colorDirective = inject(EdsColorDirective);\n private control = inject(NgControl, { self: true, optional: true })!;\n private platformId = inject(PLATFORM_ID);\n private readonly injector = inject(Injector);\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n effect(() => {\n this.isVisibleChipsOpened.set(this.isMaxVisibleChipsOpened());\n });\n effect(() => {\n const options = this.autocompleteOptions();\n this.overlayRef?.removePanelClass('eds-autocomplete__panel-container--no-option');\n if (options.length === 0) {\n this.selectedOptionIndex.set(0);\n this.overlayRef?.addPanelClass('eds-autocomplete__panel-container--no-option');\n }\n runInInjectionContext(this.injector, () => {\n afterNextRender(() => {\n this.overlayRef?.updatePositionStrategy(this.getPositionStrategy());\n });\n });\n });\n\n // Replaces ngDoCheck — reactively sync form control status\n if (this.control) {\n const ctrl = this.control;\n this.destroyRef.onDestroy(() => {\n this.keyboardOptionSelectorSub.unsubscribe();\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.keyboardSub.unsubscribe();\n this.scrollDispatcherSub.unsubscribe();\n this.windowResizeSub.unsubscribe();\n });\n // Use statusChanges to sync touched/errors reactively instead of ngDoCheck\n afterNextRender(() => {\n ctrl.statusChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n if (ctrl.touched) {\n this.autocompleteControl.markAsTouched();\n } else {\n this.autocompleteControl.markAsUntouched();\n }\n if (ctrl.invalid) {\n this.autocompleteControl.setErrors(ctrl.errors);\n } else {\n this.autocompleteControl.setErrors(null);\n }\n });\n });\n } else {\n this.destroyRef.onDestroy(() => {\n this.keyboardOptionSelectorSub.unsubscribe();\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.keyboardSub.unsubscribe();\n this.scrollDispatcherSub.unsubscribe();\n this.windowResizeSub.unsubscribe();\n });\n }\n }\n\n get cdkVirtualScrollViewportHeight(): number {\n if (this.groupBy()) {\n const filteredOptionGroups = this.autocompleteOptions()\n .map(item => this.resolveNestedProp(item, this.groupBy()!) as string)\n .filter((g, i, arr) => arr.indexOf(g) === i);\n if (this.autocompleteOptions().length >= this.visibleOptions()) {\n return this.visibleOptions() * this.itemSize;\n }\n const scrollItems = this.autocompleteOptions().length + filteredOptionGroups.length;\n return (scrollItems > this.visibleOptions() ? this.visibleOptions() : scrollItems) * this.itemSize;\n }\n return this.autocompleteOptions().length >= this.visibleOptions()\n ? this.visibleOptions() * this.itemSize\n : this.autocompleteOptions().length * this.itemSize;\n }\n\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions().length > 0;\n }\n\n // --- Lifecycle ---\n ngOnInit(): void {\n if (this.control) {\n const ctrl = this.control;\n this.updateAriaRequired(ctrl);\n ctrl.valueChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.updateAriaRequired(ctrl));\n }\n this.autocompleteControl.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value: string | null) => {\n this.selectedOptionIndex.set(0);\n if (!this.isOpen()) {\n this.openPanel();\n }\n this.setOptions(value ?? '', this.isItemsSorted());\n if (this.hasChips()) {\n if (!value) {\n this._onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const found = this.autocompleteData().find(d => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n if (found) {\n this._onChange(found);\n } else if (value) {\n this._onChange({ label: value });\n } else {\n this._onChange(null);\n }\n } else {\n this._onChange(value === undefined ? null : value);\n if (!value) {\n this.setOptions('', this.isItemsSorted());\n }\n }\n }\n this.inputChange.emit(value as string);\n });\n if (!this.isAsync()) {\n this.setOptions(Array.isArray(this.value) ? '' : this.value?.label ?? '', this.isItemsSorted());\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent(), this.viewContainerRef);\n }\n\n // --- Public methods ---\n toggleTags(): void {\n this.isVisibleChipsOpened.update(v => !v);\n }\n\n openPanel(): void {\n if (this.isOpen() || this.isReadonly()) {\n return;\n }\n this.scrollDispatcherSub = this.scrollDispatcher.ancestorScrolled(this.inputRef())\n .pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (isPlatformBrowser(this.platformId)) {\n const parent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (parent && !this.isVisible(this.inputRef().nativeElement, parent)) {\n this.closePanel();\n }\n }\n });\n this.windowResizeSub = fromEvent(window, 'resize').pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n if (this.overlayRef?.hasAttached() && !this.panelWidth()) {\n this.overlayRef.updateSize({ width: this.inputContainerRef().nativeElement.clientWidth });\n }\n });\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getPositionStrategy(),\n scrollStrategy: this.getScrollStrategy(),\n disposeOnNavigation: true,\n width: this.panelWidth() ? this.panelWidth() : this.inputContainerRef().nativeElement.clientWidth,\n panelClass: ['eds-autocomplete__panel-container', this.panelClass() ?? ''],\n });\n this.overlayRef.attach(this.templatePortal);\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-21')) {\n el.classList.add('eui-21');\n }\n });\n this.overlayRef.outsidePointerEvents().pipe(takeUntilDestroyed(this.destroyRef)).subscribe((e) => {\n if (!this.elementRef.nativeElement.contains(e.target as HTMLElement)) {\n this.closePanel();\n }\n });\n this.overlayRef.keydownEvents().pipe(takeUntilDestroyed(this.destroyRef)).subscribe((ke) => {\n if (ke.key?.toLowerCase() === 'escape') {\n this.closePanel();\n }\n });\n\n const announceSource = this.groupBy()\n ? Object.values(this.groupedOptions()).flatMap(g => g.options) : this.autocompleteOptions();\n this.liveAnnouncer.clear();\n if (announceSource[0]) {\n this.liveAnnouncer.announce(announceSource[0].label);\n }\n\n this.keyboardOptionSelectorSub = fromEvent<KeyboardEvent>(this.inputRef().nativeElement, 'keydown')\n .pipe(filter(e => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.key === 'Enter' || e.code === 'Tab'), takeUntilDestroyed(this.destroyRef))\n .subscribe((e) => {\n this.handleKeyboardNavigation(e);\n });\n\n this.addOnBlurClickSub.unsubscribe();\n if (this.isAddOnBlur()) {\n this.addOnBlurClickSub = fromEvent(document, 'click').pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!(event.target as HTMLElement).classList.contains('eds-autocomplete-option') && this.hasChips() && (this.autocompleteControl.value?.trim().length ?? 0) > 0) {\n this.add(this.autocompleteControl.value!.trim());\n }\n });\n }\n this.isForceSelectionSub.unsubscribe();\n if (this.isForceSelection()) {\n this.isForceSelectionSub = fromEvent(document, 'click').pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!(event.target as HTMLElement).classList.contains('eds-autocomplete-option')) {\n this.handleForceSelection();\n }\n });\n }\n this.isOpen.set(true);\n this.panelOpen.emit();\n }\n\n closePanel(): void {\n this.selectedOptionIndex.set(0);\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.isOpen.set(false);\n this.keyboardOptionSelectorSub.unsubscribe();\n this.scrollDispatcherSub.unsubscribe();\n this.windowResizeSub.unsubscribe();\n this.panelClose.emit();\n }\n\n onOptionSelected(e: EdsAutocompleteItem): void {\n if (e.isDisabled) {\n return;\n }\n if (this.hasChips()) {\n this.autocompleteDataSelected.push({ ...e, edsInternalId: crypto.randomUUID() });\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.inputRef().nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.setOptions('', this.isItemsSorted());\n } else {\n this.autocompleteDataSelected = [e];\n this.inputRef().nativeElement.value = e.label;\n this.autocompleteControl.setValue(e.label);\n this.inputRef().nativeElement.dispatchEvent(new Event('input'));\n }\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(e);\n this.closePanel();\n }\n\n add(value: string): void {\n if (!value || (!this.isFreeValueAllowed() && !this.autocompleteData().find(a => a.label === value.trim()))) {\n return;\n }\n if (!this.isDuplicateValueAllowed() && this.autocompleteDataSelected.some(s => s.label.trim() === value.trim())) {\n return;\n }\n const item = this.autocompleteData().find(a => a.label === value.trim()) || { label: value.trim(), edsInternalId: crypto.randomUUID() };\n this.autocompleteDataSelected.push(item);\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.inputRef().nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.closePanel();\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(item);\n }\n\n onClear(): void {\n this.clear.emit();\n }\n\n onFocus(event: FocusEvent): void {\n this.keyboardSub = fromEvent<KeyboardEvent>(this.inputRef().nativeElement, 'keydown')\n .pipe(filter(e => /^[a-zA-Z0-9]$/.test(e.key) || e.key === 'Space' || e.key === 'ArrowDown' || e.key === 'Backspace'))\n .subscribe((e) => {\n if (!this.isOpen()) {\n this.openPanel();\n e.stopPropagation();\n }\n });\n if (!this.isOpen()) {\n this.openPanel();\n }\n this.inputFocus.emit(event);\n }\n\n onBlur(event: FocusEvent): void {\n this.keyboardSub.unsubscribe();\n this.inputBlur.emit(event);\n this._onTouched();\n }\n\n onChipRemove(chip: EdsChipData): void {\n const chipModel = chip as EdsChipModel;\n const itemRemoved = this.autocompleteDataSelected.find(i => i.id === chipModel.id);\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter(i => {\n if (this.isDuplicateValueAllowed() || !i.id) {\n return i.edsInternalId !== chipModel.edsInternalId;\n }\n return i.id !== chipModel.id;\n });\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.setOptions('', this.isItemsSorted());\n this._onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n if (itemRemoved) {\n this.itemRemove.emit(itemRemoved);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChipDropped(e: CdkDragDrop<any[]>): void {\n const chip = this.chips()[e.previousIndex];\n const updatedChips = [...this.chips()];\n moveItemInArray(updatedChips, e.previousIndex, e.currentIndex);\n moveItemInArray(this.autocompleteDataSelected, e.previousIndex, e.currentIndex);\n this.chips.set(updatedChips);\n this.autocompleteOptions.set(this.filterOptions(''));\n this._onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.chipDrop.emit({ type: 'dropped', chip, chips: this.chips() });\n }\n\n onChipDragStarted(e: CdkDragStart): void {\n this.chipDragStart.emit({ type: 'started', chip: e.source.data, chips: this.chips() });\n }\n\n onChipDragReleased(e: CdkDragRelease): void {\n this.chipDragRelease.emit({ type: 'released', chip: e.source.data, chips: this.chips() });\n }\n\n // --- ControlValueAccessor ---\n writeValue(value: EdsAutocompleteItem | EdsAutocompleteItem[]): void {\n this.value = value;\n if (this.hasChips()) {\n this.autocompleteDataSelected = value ? ([...value as EdsAutocompleteItem[]]) : [];\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted());\n } else {\n this.autocompleteControl.patchValue(value ? (value as EdsAutocompleteItem).label : null, { emitEvent: false });\n this.setOptions(value ? (value as EdsAutocompleteItem).label : '', this.isItemsSorted());\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.internalDisabled.set(isDisabled);\n if (isDisabled) {\n this.autocompleteControl.disable();\n } else {\n this.autocompleteControl.enable();\n }\n if (this.isOpen()) {\n this.closePanel();\n }\n }\n\n registerOnChange(fn: (_: unknown) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n // --- Private methods ---\n private handleKeyboardNavigation(e: KeyboardEvent): void {\n const panel = this.autocompletePanelRef();\n const vs = panel?.virtualScrolling();\n\n if (e.code === 'ArrowDown' && this.selectedOptionIndex() < this.autocompleteOptions().length - 1) {\n this.selectedOptionIndex.update(v => v + 1);\n const source = this.groupBy()\n ? Object.values(this.groupedOptions()).flatMap(g => g.options) : this.autocompleteOptions();\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(source[this.selectedOptionIndex()]?.label ?? '');\n e.preventDefault();\n const cIndex = this.selectedOptionIndex() - (vs?.getRenderedRange().start ?? 0);\n if (cIndex >= this.visibleOptions()) {\n vs?.scrollToIndex(this.selectedOptionIndex() - this.visibleOptions() + 1);\n }\n }\n if (e.code === 'ArrowUp' && this.selectedOptionIndex() > 0) {\n this.selectedOptionIndex.update(v => v - 1);\n const source = this.groupBy()\n ? Object.values(this.groupedOptions()).flatMap(g => g.options) : this.autocompleteOptions();\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(source[this.selectedOptionIndex()]?.label ?? '');\n e.preventDefault();\n if (this.selectedOptionIndex() < (vs?.getRenderedRange().start ?? 0)) {\n vs?.scrollToIndex(this.selectedOptionIndex());\n }\n }\n if (e.key === 'Enter') {\n if (this.hasOptionsResult) {\n if (this.groupBy()) {\n const options = Object.values(this.groupedOptions()).flatMap(g => g.options);\n this.onOptionSelected(options[this.selectedOptionIndex()]);\n } else {\n this.onOptionSelected(this.autocompleteOptions()[this.selectedOptionIndex()]);\n }\n } else if (this.hasChips() && this.isFreeValueAllowed()) {\n this.add(this.autocompleteControl.value!);\n }\n }\n if (e.code === 'Tab') {\n if (this.isOpen()) {\n if (this.isAddOnBlur() && this.hasChips() && (this.autocompleteControl.value?.trim().length ?? 0) > 0) {\n this.add(this.autocompleteControl.value!.trim());\n }\n if (this.isForceSelection()) {\n this.handleForceSelection();\n }\n this.closePanel();\n }\n }\n }\n\n private handleForceSelection(): void {\n const found = this.autocompleteData().find(d => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());\n if (this.hasChips() || (!this.hasChips() && !found)) {\n this.inputRef().nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted());\n if (!this.hasChips()) {\n this._onChange(null);\n }\n this.inputChange.emit(null as unknown as string);\n if (!this.hasChips()) {\n this.autocompleteDataSelected = [];\n }\n }\n }\n\n private setOptions(value: string, isItemsSorted: boolean): void {\n const filtered = isItemsSorted ? this.orderArray(this.filterOptions(value), this.itemsSortOrder()) : this.filterOptions(value);\n this.autocompleteOptions.set(filtered);\n if (this.groupBy()) {\n const { groupedOptions, distinctOptionGroups } = this.groupingHandler(filtered, this.groupBy()!);\n this.groupedOptions.set(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n }\n\n private filterOptions(inputValue: string): EdsAutocompleteItem[] {\n let data: EdsAutocompleteItem[];\n if (inputValue) {\n data = this.autocompleteData().filter(item => {\n if (this.matching() === 'contains') {\n return item.label.toLowerCase().includes(inputValue.toLowerCase());\n }\n return item.label.toLowerCase().startsWith(inputValue.toLowerCase());\n });\n } else {\n data = this.autocompleteData();\n }\n if (this.hasChips()) {\n data = data.filter(d => this.isDuplicateValueAllowed() ? true : !this.autocompleteDataSelected.some(s => d.id === s.id));\n }\n if (this.isItemsSorted()) {\n data = this.orderArray(data, this.itemsSortOrder());\n }\n return data;\n }\n\n private mapToChip(items: EdsAutocompleteItem[]): EdsChipModel[] {\n const mapped = items.map(item => new EdsChipModel({\n id: item.id, edsInternalId: item.edsInternalId, label: item.label,\n isRemovable: item.isRemovable !== false, tooltip: item.tooltip ? item.tooltip : undefined, iconSvgName: item.iconName,\n }));\n return this.isChipsSorted() && mapped.length > 0 ? this.orderArray(mapped, this.chipsSortOrder()) as EdsChipModel[] : mapped;\n }\n\n private orderArray<T extends { label: string }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n return [...tab].sort((a, b) => {\n const aL = a.label.toLowerCase(), bL = b.label.toLowerCase();\n if (sortOrder === 'ASC') {\n return aL < bL ? -1 : aL > bL ? 1 : 0;\n }\n return aL > bL ? -1 : aL < bL ? 1 : 0;\n });\n }\n\n private groupingHandler(options: EdsAutocompleteItem[], groupByProp: string):\n { groupedOptions: Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }>; distinctOptionGroups: string[] } {\n const distinctGroups: string[] = this.autocompleteData().map(item => this.resolveNestedProp(item, groupByProp) as string);\n const distinctOptionGroups = this.isGroupSorted() ? [...new Set(distinctGroups)].sort((a, b) => (a > b ? 1 : -1)) : [...new Set(distinctGroups)];\n const groupedOptions: Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }> = {};\n let ancestorLength = 0;\n for (const group of distinctOptionGroups) {\n let groupItems = options.filter(option => this.resolveNestedProp(option, groupByProp) === group);\n if (this.isItemsSorted()) {\n groupItems = this.orderArray(groupItems, this.itemsSortOrder());\n }\n groupedOptions[group] = { options: groupItems, ancestorLength };\n ancestorLength += groupItems.length;\n }\n return { groupedOptions, distinctOptionGroups };\n }\n\n private resolveNestedProp(obj: unknown, path: string): unknown {\n return path.split('.').reduce((prev, curr) => (prev ? (prev as Record<string, unknown>)[curr] : null), obj);\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay.position()\n .flexibleConnectedTo(this.inputContainerRef().nativeElement as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositions).withFlexibleDimensions(false).withLockedPosition(true);\n }\n\n private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 55;\n return (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight);\n }\n\n private updateAriaRequired(ctrl: NgControl): void {\n this.hasAriaRequiredAttribute.set(ctrl?.control?.hasValidator(Validators.required) ?? false);\n }\n\n private _onChange: (_: unknown) => void = () => { /* noop */ };\n private _onTouched: () => void = () => { /* noop */ };\n}\n","@if (chipsPosition() === 'bottom') {\n <ng-container [ngTemplateOutlet]=\"inputControl\" />\n}\n\n@if (hasChips() && chips().length > 0) {\n <eds-chip-list\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListData]=\"chips()\"\n (cdkDropListDropped)=\"onChipDropped($event)\">\n @for (chip of chips(); let i = $index; track chip.edsInternalId) {\n @if (!maxVisibleChipsCount() || isVisibleChipsOpened() || i < maxVisibleChipsCount()) {\n <eds-chip\n [isRemovable]=\"isChipsRemovable() && !isReadonly() && chip.isRemovable !== false\"\n cdkDrag\n size=\"m\"\n [cdkDragDisabled]=\"!isChipsDragAndDrop()\"\n [cdkDragData]=\"chip\"\n [data]=\"chip\"\n (chipRemove)=\"onChipRemove($event)\"\n (cdkDragStarted)=\"onChipDragStarted($event)\"\n (cdkDragReleased)=\"onChipDragReleased($event)\">\n @if (chip.iconSvgName) {\n <eds-icon [icon]=\"chip.iconSvgName\" />\n }\n <span class=\"eds-chip-list-label\">\n @if (chipsLabelTruncateCount()) {\n {{ chip.label | slice:0:chipsLabelTruncateCount() }}\n } @else {\n {{ chip.label }}\n }\n </span>\n </eds-chip>\n }\n }\n <eds-chip-list-additional-content>\n @if (maxVisibleChipsCount() && chips().length > maxVisibleChipsCount()) {\n <button\n edsIconButton\n color=\"neutral\"\n size=\"s\"\n type=\"button\"\n [icon]=\"isVisibleChipsOpened() ? 'caret-left' : 'caret-right'\"\n [ariaLabel]=\"isVisibleChipsOpened() ? 'Collapse' : 'Expand'\"\n (click)=\"toggleTags()\">\n </button>\n }\n </eds-chip-list-additional-content>\n </eds-chip-list>\n}\n\n@if (chipsPosition() === 'top') {\n <ng-container [ngTemplateOutlet]=\"inputControl\" />\n}\n\n<ng-template #inputControl>\n @if (!hasChips() || (hasChips() && !isReadonly())) {\n <div class=\"eds-autocomplete__input-container\" #inputContainerRef>\n <input\n [attr.id]=\"inputId()\"\n #input\n edsInputText\n [edsClearable]=\"!isReadonly() && !internalDisabled() && !isLoading()\"\n [edsLoading]=\"isLoading()\"\n [formControl]=\"autocompleteControl\"\n class=\"eds-autocomplete__input\"\n [placeholder]=\"placeholder()\"\n autocomplete=\"off\"\n [readonly]=\"isReadonly()\"\n (clear)=\"onClear()\"\n (click)=\"openPanel()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? panelId : null\"\n [attr.aria-activedescendant]=\"isOpen() && hasOptionsResult ? activeDescendantId() : null\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"hasAriaRequiredAttribute() ? 'true' : null\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"listbox\" />\n </div>\n }\n</ng-template>\n\n<ng-template #templatePortalContent>\n <eds-autocomplete-panel\n [panelId]=\"panelId\"\n [isOpen]=\"isOpen()\"\n [itemSize]=\"itemSize\"\n [viewportHeight]=\"cdkVirtualScrollViewportHeight\"\n [groupBy]=\"groupBy()\"\n [distinctOptionGroups]=\"distinctOptionGroups\"\n [groupedOptions]=\"groupedOptions()\"\n [autocompleteOptions]=\"autocompleteOptions()\"\n [selectedOptionIndex]=\"selectedOptionIndex()\"\n (optionSelected)=\"onOptionSelected($event)\">\n </eds-autocomplete-panel>\n</ng-template>\n","import { AbstractControl } from '@angular/forms';\n\nimport { EdsAutocompleteItem } from './eds-autocomplete-item.model';\n\n/**\n * Validator that checks if the selected value(s) exist in the autocomplete data.\n * Returns an error with `isInData: false` and the invalid values when validation fails.\n */\nexport const edsAutocompleteForceSelectionFromData = (\n control: AbstractControl<EdsAutocompleteItem | EdsAutocompleteItem[]>,\n): { isInData: { isInData: boolean; invalidValues: EdsAutocompleteItem | EdsAutocompleteItem[] } } | null => {\n if (control.value) {\n const isInData = Array.isArray(control.value)\n ? control.value.every(obj => 'id' in obj)\n : control.value.id !== undefined;\n const invalidValues = Array.isArray(control.value)\n ? control.value.filter(v => v.id === undefined)\n : control.value;\n\n return !isInData ? { isInData: { isInData, invalidValues } } : null;\n }\n return null;\n};\n","import { EdsAutocomplete } from './eds-autocomplete';\nimport { EdsAutocompleteOption } from './eds-autocomplete-option';\nimport { EdsAutocompleteOptionGroup } from './eds-autocomplete-option-group';\nimport { EdsAutocompletePanel } from './eds-autocomplete-panel';\n\nexport * from './eds-autocomplete-item.model';\nexport * from './eds-autocomplete-force-selection.validator';\nexport * from './eds-autocomplete';\nexport * from './eds-autocomplete-option';\nexport * from './eds-autocomplete-option-group';\nexport * from './eds-autocomplete-panel';\n\n/** Convenience array for importing all eds-autocomplete components. */\nexport const EDS_AUTOCOMPLETE = [\n EdsAutocomplete,\n EdsAutocompleteOption,\n EdsAutocompleteOptionGroup,\n EdsAutocompletePanel,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-autocomplete.mjs","sources":["../../eds-autocomplete/eds-autocomplete-option.ts","../../eds-autocomplete/eds-autocomplete-option-group.ts","../../eds-autocomplete/eds-autocomplete-panel.ts","../../eds-autocomplete/eds-autocomplete-panel.html","../../eds-autocomplete/eds-autocomplete.ts","../../eds-autocomplete/eds-autocomplete.html","../../eds-autocomplete/eds-autocomplete-force-selection.validator.ts","../../eds-autocomplete/index.ts","../../eds-autocomplete/eui-eds-eds-autocomplete.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, input, booleanAttribute, computed } from '@angular/core';\n\n@Component({\n selector: 'eds-autocomplete-option',\n template: '<ng-content/>',\n styleUrl: './eds-autocomplete-option.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'option',\n '[id]': 'optionId()',\n '[attr.aria-selected]': 'isActive() ? \"true\" : \"false\"',\n '[attr.aria-disabled]': 'isDisabled() ? \"true\" : null',\n '[class]': 'hostClasses()',\n },\n})\nexport class EdsAutocompleteOption {\n /**\n * Unique identifier for this option, used by aria-activedescendant.\n */\n optionId = input<string>('');\n\n /**\n * Whether the option is currently highlighted/active via keyboard navigation.\n * @default false\n */\n isActive = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the option is disabled and cannot be selected.\n * @default false\n */\n isDisabled = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the option belongs to a group and needs indented styling.\n * @default false\n */\n isGroupItem = input(false, { transform: booleanAttribute });\n\n /**\n * Color variant for the option's left border indicator.\n */\n variant = input<'primary' | 'info' | 'success' | 'warning' | 'critical' | undefined>();\n\n hostClasses = computed(() => {\n const variantClass = this.variant() ? `eds-autocomplete-option--${this.variant()}` : '';\n return [\n 'eds-autocomplete-option',\n variantClass,\n this.isActive() ? 'eds-autocomplete-option--active' : '',\n this.isDisabled() ? 'eds-autocomplete-option--disabled' : '',\n this.isGroupItem() ? 'eds-autocomplete-option--group-item' : '',\n ].join(' ').trim();\n });\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, input } from '@angular/core';\n\n@Component({\n selector: 'eds-autocomplete-option-group',\n template: '<ng-content/>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'group',\n class: 'eds-autocomplete-option-group',\n },\n})\nexport class EdsAutocompleteOptionGroup {\n /**\n * Text label displayed as the group header.\n */\n label = input<string>();\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n input,\n output,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\n\nimport { EDS_ICON } from '@eui/eds/eds-icon';\n\nimport { EdsAutocompleteItem } from './eds-autocomplete-item.model';\nimport { EdsAutocompleteOption } from './eds-autocomplete-option';\nimport { EdsAutocompleteOptionGroup } from './eds-autocomplete-option-group';\n\n@Component({\n selector: 'eds-autocomplete-panel',\n templateUrl: './eds-autocomplete-panel.html',\n styleUrl: './eds-autocomplete-panel.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n ScrollingModule,\n EdsAutocompleteOption,\n EdsAutocompleteOptionGroup,\n ...EDS_ICON,\n ],\n host: {\n class: 'eds-autocomplete-panel',\n },\n})\nexport class EdsAutocompletePanel {\n readonly virtualScrolling = viewChild.required<CdkVirtualScrollViewport>('virtualScrolling');\n\n panelId = input('eds-autocomplete__panel');\n isOpen = input(false);\n itemSize = input(40, { transform: numberAttribute });\n viewportHeight = input(0, { transform: numberAttribute });\n groupBy = input<string>();\n distinctOptionGroups = input<string[]>([]);\n groupedOptions = input<Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }>>({});\n autocompleteOptions = input<EdsAutocompleteItem[]>([]);\n selectedOptionIndex = input(0, { transform: numberAttribute });\n optionTemplate = input<TemplateRef<{ $implicit: EdsAutocompleteItem }>>();\n optGroupTemplate = input<TemplateRef<{ $implicit: { label: string } }>>();\n\n optionSelected = output<EdsAutocompleteItem>();\n\n trackByFn(index: number, item: EdsAutocompleteItem): string | number {\n return item.id ?? index;\n }\n\n onOptionSelected(option: EdsAutocompleteItem): void {\n this.optionSelected.emit(option);\n }\n}\n","<div\n [id]=\"panelId()\"\n class=\"eds-autocomplete__panel\"\n role=\"listbox\"\n aria-label=\"Autocomplete panel\">\n <cdk-virtual-scroll-viewport\n #virtualScrolling\n [itemSize]=\"itemSize()\"\n tabindex=\"-1\"\n minBufferPx=\"500\"\n maxBufferPx=\"750\"\n [style.min-height]=\"viewportHeight() + 'px'\">\n @if (groupBy()) {\n @for (distinctOptionGroup of distinctOptionGroups(); track distinctOptionGroup) {\n @if (groupedOptions()[distinctOptionGroup]?.options?.length > 0) {\n <eds-autocomplete-option-group [label]=\"distinctOptionGroup\">\n <div class=\"eds-autocomplete-option-group__label\">\n @if (optGroupTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"optGroupTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\">\n </ng-template>\n } @else {\n {{ distinctOptionGroup }}\n }\n </div>\n <div class=\"eds-autocomplete-option-group__options\">\n @for (option of groupedOptions()[distinctOptionGroup].options; let j = $index; track option.id ?? j) {\n <eds-autocomplete-option\n isGroupItem\n [optionId]=\"panelId() + '-option-' + (groupedOptions()[distinctOptionGroup].ancestorLength + j)\"\n [isActive]=\"selectedOptionIndex() === groupedOptions()[distinctOptionGroup].ancestorLength + j\"\n [isDisabled]=\"option.isDisabled\"\n (click)=\"onOptionSelected(option)\">\n @if (optionTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"optionTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-template>\n } @else {\n @if (option.iconName) {\n <eds-icon [icon]=\"option.iconName\" />\n }\n {{ option.label }}\n }\n </eds-autocomplete-option>\n }\n </div>\n </eds-autocomplete-option-group>\n }\n }\n } @else {\n <eds-autocomplete-option\n *cdkVirtualFor=\"let option of autocompleteOptions(); let i = index; trackBy: trackByFn\"\n [optionId]=\"panelId() + '-option-' + i\"\n [isActive]=\"selectedOptionIndex() === i\"\n [isDisabled]=\"option.isDisabled\"\n (click)=\"onOptionSelected(option)\">\n @if (optionTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"optionTemplate()!\"\n [ngTemplateOutletContext]=\"{ $implicit: option }\">\n </ng-template>\n } @else {\n @if (option.iconName) {\n <eds-icon [icon]=\"option.iconName\" />\n }\n {{ option.label }}\n }\n </eds-autocomplete-option>\n }\n </cdk-virtual-scroll-viewport>\n</div>\n","import {\n Component,\n ChangeDetectionStrategy,\n OnInit,\n AfterViewInit,\n ViewContainerRef,\n TemplateRef,\n ElementRef,\n booleanAttribute,\n numberAttribute,\n inject,\n PLATFORM_ID,\n DestroyRef,\n input,\n output,\n signal,\n computed,\n effect,\n afterNextRender,\n Injector,\n runInInjectionContext,\n viewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { isPlatformBrowser, NgTemplateOutlet, SlicePipe } from '@angular/common';\nimport {\n ControlValueAccessor,\n FormControl,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { Subscription, filter, fromEvent } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n Overlay,\n OverlayModule,\n OverlayRef,\n PositionStrategy,\n RepositionScrollStrategy,\n} from '@angular/cdk/overlay';\nimport { ScrollDispatcher, ScrollingModule } from '@angular/cdk/scrolling';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport {\n CdkDragDrop,\n CdkDragRelease,\n CdkDragStart,\n DragDropModule,\n moveItemInArray,\n} from '@angular/cdk/drag-drop';\n\nimport { EdsColorDirective } from '@eui/eds/shared';\nimport { EDS_CHIP } from '@eui/eds/eds-chip';\nimport { EdsChipModel, EdsChipData } from '@eui/eds/eds-chip';\nimport { EDS_CHIP_LIST } from '@eui/eds/eds-chip-list';\nimport { EDS_INPUT_TEXT } from '@eui/eds/eds-input-text';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\nimport { EDS_ICON_BUTTON } from '@eui/eds/eds-icon-button';\n\nimport { EdsAutocompleteItem } from './eds-autocomplete-item.model';\nimport { EdsAutocompletePanel } from './eds-autocomplete-panel';\n\nexport interface EdsChipDragDropEvent {\n type: 'started' | 'released' | 'dropped';\n chip: EdsChipModel;\n chips: EdsChipModel[];\n}\n\n@Component({\n templateUrl: './eds-autocomplete.html',\n selector: 'eds-autocomplete',\n styleUrl: './eds-autocomplete.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n SlicePipe,\n DragDropModule,\n ReactiveFormsModule,\n OverlayModule,\n ScrollingModule,\n EdsAutocompletePanel,\n ...EDS_INPUT_TEXT,\n ...EDS_CHIP_LIST,\n ...EDS_CHIP,\n ...EDS_ICON,\n ...EDS_ICON_BUTTON,\n ],\n hostDirectives: [\n {\n directive: EdsColorDirective,\n inputs: [\n 'edsNeutral',\n 'edsSuccess',\n 'edsInfo',\n 'edsWarning',\n 'edsCritical',\n 'edsColorVariant',\n ],\n },\n ],\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-e2e]': 'e2eAttr()',\n },\n})\nexport class EdsAutocomplete implements OnInit, ControlValueAccessor, AfterViewInit {\n // --- Inputs ---\n e2eAttr = input('eds-autocomplete');\n inputId = input<string | undefined>();\n autocompleteData = input<EdsAutocompleteItem[]>([]);\n visibleOptions = input(5, { transform: numberAttribute });\n matching = input<'startWith' | 'contains'>('contains');\n placeholder = input<string>('');\n chipsSortOrder = input<'ASC' | 'DESC'>('ASC');\n itemsSortOrder = input<'ASC' | 'DESC'>('ASC');\n chipsPosition = input<'top' | 'bottom'>('top');\n groupBy = input<string>();\n toggleLinkMoreLabel = input<string | null>(null);\n toggleLinkLessLabel = input<string | null>(null);\n ariaLabel = input<string | null>('Select an option');\n panelClass = input<string | null>(null);\n panelWidth = input<string | number | undefined>();\n isFreeValueAllowed = input(true, { transform: booleanAttribute });\n isReadonly = input(false, { transform: booleanAttribute });\n isLoading = input(false, { transform: booleanAttribute });\n hasChips = input(false, { transform: booleanAttribute });\n isAsync = input(false, { transform: booleanAttribute });\n isChipsSorted = input(false, { transform: booleanAttribute });\n isItemsSorted = input(false, { transform: booleanAttribute });\n isGroupSorted = input(true, { transform: booleanAttribute });\n isChipsRemovable = input(true, { transform: booleanAttribute });\n isDuplicateValueAllowed = input(false, { transform: booleanAttribute });\n isAddOnBlur = input(false, { transform: booleanAttribute });\n isForceSelection = input(false, { transform: booleanAttribute });\n maxVisibleChipsCount = input(null, { transform: numberAttribute });\n chipsLabelTruncateCount = input(null, { transform: numberAttribute });\n isMaxVisibleChipsOpened = input(false, { transform: booleanAttribute });\n isChipsDragAndDrop = input(false, { transform: booleanAttribute });\n\n // --- Outputs ---\n panelClose = output();\n panelOpen = output();\n inputFocus = output<FocusEvent>();\n inputBlur = output<FocusEvent>();\n clear = output();\n selectionChange = output<EdsAutocompleteItem[]>();\n itemAdd = output<EdsAutocompleteItem>();\n itemRemove = output<EdsAutocompleteItem>();\n inputChange = output<string>();\n chipDragStart = output<EdsChipDragDropEvent>();\n chipDragRelease = output<EdsChipDragDropEvent>();\n chipDrop = output<EdsChipDragDropEvent>();\n\n // --- View queries ---\n readonly templatePortalContent = viewChild.required<TemplateRef<ElementRef>>('templatePortalContent');\n readonly autocompletePanelRef = viewChild.required(EdsAutocompletePanel);\n readonly inputContainerRef = viewChild.required<ElementRef>('inputContainerRef');\n readonly inputRef = viewChild.required('input', { read: ElementRef });\n\n // --- Public state ---\n autocompleteOptions = signal<EdsAutocompleteItem[]>([]);\n selectedOptionIndex = signal(0);\n autocompleteControl = new FormControl<string>('');\n internalDisabled = signal(false);\n chips = signal<EdsChipModel[]>([]);\n distinctOptionGroups: string[] = [];\n groupedOptions = signal<Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }>>({});\n itemSize = 40;\n isVisibleChipsOpened = signal(false);\n autocompleteDataSelected: EdsAutocompleteItem[] = [];\n\n /** Unique panel ID for aria-controls. */\n panelId = 'eds-ac-panel-' + crypto.randomUUID().slice(0, 8);\n\n /** Computed active descendant ID for aria-activedescendant. */\n activeDescendantId = computed(() => this.panelId + '-option-' + this.selectedOptionIndex());\n\n /** Whether the dropdown panel is currently open. */\n isOpen = signal(false);\n\n // --- Host classes ---\n hostClasses = computed(() => {\n const colorClass = this.colorDirective.getCssClass('eds-autocomplete');\n return [\n 'eds-autocomplete',\n colorClass,\n this.hasChips()\n ? 'eds-autocomplete--chips-position-' + this.chipsPosition()\n : 'eds-autocomplete--chips-position-none',\n this.isReadonly() ? 'eds-autocomplete--readonly' : '',\n ].join(' ').trim();\n });\n\n // --- Private state ---\n protected hasAriaRequiredAttribute = signal(false);\n private overlayRef: OverlayRef | null = null;\n private templatePortal!: TemplatePortal<unknown>;\n private keyboardOptionSelectorSub = new Subscription();\n private addOnBlurClickSub = new Subscription();\n private isForceSelectionSub = new Subscription();\n private keyboardSub = new Subscription();\n private scrollDispatcherSub = new Subscription();\n private windowResizeSub = new Subscription();\n private value: EdsAutocompleteItem | EdsAutocompleteItem[] | null = null;\n\n private TOP = new ConnectionPositionPair(\n { originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }, 0, 0,\n ['eds-autocomplete-position', 'eds-autocomplete-position--top'],\n );\n private BOTTOM = new ConnectionPositionPair(\n { originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }, 0, 0,\n ['eds-autocomplete-position', 'eds-autocomplete-position--bottom'],\n );\n private preferredPositions = [this.BOTTOM, this.TOP];\n\n // --- Injections ---\n private overlay = inject(Overlay);\n private viewContainerRef = inject(ViewContainerRef);\n private elementRef = inject(ElementRef);\n private liveAnnouncer = inject(LiveAnnouncer);\n private scrollDispatcher = inject(ScrollDispatcher);\n private colorDirective = inject(EdsColorDirective);\n private control = inject(NgControl, { self: true, optional: true })!;\n private platformId = inject(PLATFORM_ID);\n private readonly injector = inject(Injector);\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {\n if (this.control) {\n this.control.valueAccessor = this;\n }\n effect(() => {\n this.isVisibleChipsOpened.set(this.isMaxVisibleChipsOpened());\n });\n effect(() => {\n const options = this.autocompleteOptions();\n this.overlayRef?.removePanelClass('eds-autocomplete__panel-container--no-option');\n if (options.length === 0) {\n this.selectedOptionIndex.set(0);\n this.overlayRef?.addPanelClass('eds-autocomplete__panel-container--no-option');\n }\n runInInjectionContext(this.injector, () => {\n afterNextRender(() => {\n this.overlayRef?.updatePositionStrategy(this.getPositionStrategy());\n });\n });\n });\n\n // Replaces ngDoCheck — reactively sync form control status\n if (this.control) {\n const ctrl = this.control;\n this.destroyRef.onDestroy(() => {\n this.keyboardOptionSelectorSub.unsubscribe();\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.keyboardSub.unsubscribe();\n this.scrollDispatcherSub.unsubscribe();\n this.windowResizeSub.unsubscribe();\n });\n // Use statusChanges to sync touched/errors reactively instead of ngDoCheck\n afterNextRender(() => {\n ctrl.statusChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n if (ctrl.touched) {\n this.autocompleteControl.markAsTouched();\n } else {\n this.autocompleteControl.markAsUntouched();\n }\n if (ctrl.invalid) {\n this.autocompleteControl.setErrors(ctrl.errors);\n } else {\n this.autocompleteControl.setErrors(null);\n }\n });\n });\n } else {\n this.destroyRef.onDestroy(() => {\n this.keyboardOptionSelectorSub.unsubscribe();\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.keyboardSub.unsubscribe();\n this.scrollDispatcherSub.unsubscribe();\n this.windowResizeSub.unsubscribe();\n });\n }\n }\n\n get cdkVirtualScrollViewportHeight(): number {\n if (this.groupBy()) {\n const filteredOptionGroups = this.autocompleteOptions()\n .map(item => this.resolveNestedProp(item, this.groupBy()!) as string)\n .filter((g, i, arr) => arr.indexOf(g) === i);\n if (this.autocompleteOptions().length >= this.visibleOptions()) {\n return this.visibleOptions() * this.itemSize;\n }\n const scrollItems = this.autocompleteOptions().length + filteredOptionGroups.length;\n return (scrollItems > this.visibleOptions() ? this.visibleOptions() : scrollItems) * this.itemSize;\n }\n return this.autocompleteOptions().length >= this.visibleOptions()\n ? this.visibleOptions() * this.itemSize\n : this.autocompleteOptions().length * this.itemSize;\n }\n\n get hasOptionsResult(): boolean {\n return this.autocompleteOptions().length > 0;\n }\n\n // --- Lifecycle ---\n ngOnInit(): void {\n if (this.control) {\n const ctrl = this.control;\n this.updateAriaRequired(ctrl);\n ctrl.valueChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.updateAriaRequired(ctrl));\n }\n this.autocompleteControl.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((value: string | null) => {\n this.selectedOptionIndex.set(0);\n if (!this.isOpen()) {\n this.openPanel();\n }\n this.setOptions(value ?? '', this.isItemsSorted());\n if (this.hasChips()) {\n if (!value) {\n this._onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const found = this.autocompleteData().find(d => d.label.toLowerCase().trim() === value.toLowerCase().trim());\n if (found) {\n this._onChange(found);\n } else if (value) {\n this._onChange({ label: value });\n } else {\n this._onChange(null);\n }\n } else {\n this._onChange(value === undefined ? null : value);\n if (!value) {\n this.setOptions('', this.isItemsSorted());\n }\n }\n }\n this.inputChange.emit(value as string);\n });\n if (!this.isAsync()) {\n this.setOptions(Array.isArray(this.value) ? '' : this.value?.label ?? '', this.isItemsSorted());\n }\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent(), this.viewContainerRef);\n }\n\n // --- Public methods ---\n toggleTags(): void {\n this.isVisibleChipsOpened.update(v => !v);\n }\n\n openPanel(): void {\n if (this.isOpen() || this.isReadonly()) {\n return;\n }\n this.scrollDispatcherSub = this.scrollDispatcher.ancestorScrolled(this.inputRef())\n .pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (isPlatformBrowser(this.platformId)) {\n const parent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (parent && !this.isVisible(this.inputRef().nativeElement, parent)) {\n this.closePanel();\n }\n }\n });\n this.windowResizeSub = fromEvent(window, 'resize').pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {\n if (this.overlayRef?.hasAttached() && !this.panelWidth()) {\n this.overlayRef.updateSize({ width: this.inputContainerRef().nativeElement.clientWidth });\n }\n });\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n positionStrategy: this.getPositionStrategy(),\n scrollStrategy: this.getScrollStrategy(),\n disposeOnNavigation: true,\n width: this.panelWidth() ? this.panelWidth() : this.inputContainerRef().nativeElement.clientWidth,\n panelClass: ['eds-autocomplete__panel-container', this.panelClass() ?? ''],\n });\n this.overlayRef.attach(this.templatePortal);\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-21')) {\n el.classList.add('eui-21');\n }\n });\n this.overlayRef.outsidePointerEvents().pipe(takeUntilDestroyed(this.destroyRef)).subscribe((e) => {\n if (!this.elementRef.nativeElement.contains(e.target as HTMLElement)) {\n this.closePanel();\n }\n });\n this.overlayRef.keydownEvents().pipe(takeUntilDestroyed(this.destroyRef)).subscribe((ke) => {\n if (ke.key?.toLowerCase() === 'escape') {\n this.closePanel();\n }\n });\n\n const announceSource = this.groupBy()\n ? Object.values(this.groupedOptions()).flatMap(g => g.options) : this.autocompleteOptions();\n this.liveAnnouncer.clear();\n if (announceSource[0]) {\n this.liveAnnouncer.announce(announceSource[0].label);\n }\n\n this.keyboardOptionSelectorSub = fromEvent<KeyboardEvent>(this.inputRef().nativeElement, 'keydown')\n .pipe(filter(e => e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.key === 'Enter' || e.code === 'Tab'), takeUntilDestroyed(this.destroyRef))\n .subscribe((e) => {\n this.handleKeyboardNavigation(e);\n });\n\n this.addOnBlurClickSub.unsubscribe();\n if (this.isAddOnBlur()) {\n this.addOnBlurClickSub = fromEvent(document, 'click').pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!(event.target as HTMLElement).classList.contains('eds-autocomplete-option') && this.hasChips() && (this.autocompleteControl.value?.trim().length ?? 0) > 0) {\n this.add(this.autocompleteControl.value!.trim());\n }\n });\n }\n this.isForceSelectionSub.unsubscribe();\n if (this.isForceSelection()) {\n this.isForceSelectionSub = fromEvent(document, 'click').pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (!(event.target as HTMLElement).classList.contains('eds-autocomplete-option')) {\n this.handleForceSelection();\n }\n });\n }\n this.isOpen.set(true);\n this.panelOpen.emit();\n }\n\n closePanel(): void {\n this.selectedOptionIndex.set(0);\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.isOpen.set(false);\n this.keyboardOptionSelectorSub.unsubscribe();\n this.scrollDispatcherSub.unsubscribe();\n this.windowResizeSub.unsubscribe();\n this.panelClose.emit();\n }\n\n onOptionSelected(e: EdsAutocompleteItem): void {\n if (e.isDisabled) {\n return;\n }\n if (this.hasChips()) {\n this.autocompleteDataSelected.push({ ...e, edsInternalId: crypto.randomUUID() });\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.inputRef().nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.setOptions('', this.isItemsSorted());\n } else {\n this.autocompleteDataSelected = [e];\n this.inputRef().nativeElement.value = e.label;\n this.autocompleteControl.setValue(e.label);\n this.inputRef().nativeElement.dispatchEvent(new Event('input'));\n }\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(e);\n this.closePanel();\n }\n\n add(value: string): void {\n if (!value || (!this.isFreeValueAllowed() && !this.autocompleteData().find(a => a.label === value.trim()))) {\n return;\n }\n if (!this.isDuplicateValueAllowed() && this.autocompleteDataSelected.some(s => s.label.trim() === value.trim())) {\n return;\n }\n const item = this.autocompleteData().find(a => a.label === value.trim()) || { label: value.trim(), edsInternalId: crypto.randomUUID() };\n this.autocompleteDataSelected.push(item);\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.inputRef().nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.closePanel();\n this.addOnBlurClickSub.unsubscribe();\n this.isForceSelectionSub.unsubscribe();\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdd.emit(item);\n }\n\n onClear(): void {\n this.clear.emit();\n }\n\n onFocus(event: FocusEvent): void {\n this.keyboardSub = fromEvent<KeyboardEvent>(this.inputRef().nativeElement, 'keydown')\n .pipe(filter(e => /^[a-zA-Z0-9]$/.test(e.key) || e.key === 'Space' || e.key === 'ArrowDown' || e.key === 'Backspace'))\n .subscribe((e) => {\n if (!this.isOpen()) {\n this.openPanel();\n e.stopPropagation();\n }\n });\n if (!this.isOpen()) {\n this.openPanel();\n }\n this.inputFocus.emit(event);\n }\n\n onBlur(event: FocusEvent): void {\n this.keyboardSub.unsubscribe();\n this.inputBlur.emit(event);\n this._onTouched();\n }\n\n onChipRemove(chip: EdsChipData): void {\n const chipModel = chip as EdsChipModel;\n const itemRemoved = this.autocompleteDataSelected.find(i => i.id === chipModel.id);\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter(i => {\n if (this.isDuplicateValueAllowed() || !i.id) {\n return i.edsInternalId !== chipModel.edsInternalId;\n }\n return i.id !== chipModel.id;\n });\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.setOptions('', this.isItemsSorted());\n this._onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n if (itemRemoved) {\n this.itemRemove.emit(itemRemoved);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onChipDropped(e: CdkDragDrop<any[]>): void {\n const chip = this.chips()[e.previousIndex];\n const updatedChips = [...this.chips()];\n moveItemInArray(updatedChips, e.previousIndex, e.currentIndex);\n moveItemInArray(this.autocompleteDataSelected, e.previousIndex, e.currentIndex);\n this.chips.set(updatedChips);\n this.autocompleteOptions.set(this.filterOptions(''));\n this._onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.chipDrop.emit({ type: 'dropped', chip, chips: this.chips() });\n }\n\n onChipDragStarted(e: CdkDragStart): void {\n this.chipDragStart.emit({ type: 'started', chip: e.source.data, chips: this.chips() });\n }\n\n onChipDragReleased(e: CdkDragRelease): void {\n this.chipDragRelease.emit({ type: 'released', chip: e.source.data, chips: this.chips() });\n }\n\n // --- ControlValueAccessor ---\n writeValue(value: EdsAutocompleteItem | EdsAutocompleteItem[]): void {\n this.value = value;\n if (this.hasChips()) {\n this.autocompleteDataSelected = value ? ([...value as EdsAutocompleteItem[]]) : [];\n this.chips.set(this.mapToChip(this.autocompleteDataSelected));\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted());\n } else {\n this.autocompleteControl.patchValue(value ? (value as EdsAutocompleteItem).label : null, { emitEvent: false });\n this.setOptions(value ? (value as EdsAutocompleteItem).label : '', this.isItemsSorted());\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.internalDisabled.set(isDisabled);\n if (isDisabled) {\n this.autocompleteControl.disable();\n } else {\n this.autocompleteControl.enable();\n }\n if (this.isOpen()) {\n this.closePanel();\n }\n }\n\n registerOnChange(fn: (_: unknown) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this._onTouched = fn;\n }\n\n // --- Private methods ---\n private handleKeyboardNavigation(e: KeyboardEvent): void {\n const panel = this.autocompletePanelRef();\n const vs = panel?.virtualScrolling();\n\n if (e.code === 'ArrowDown' && this.selectedOptionIndex() < this.autocompleteOptions().length - 1) {\n this.selectedOptionIndex.update(v => v + 1);\n const source = this.groupBy()\n ? Object.values(this.groupedOptions()).flatMap(g => g.options) : this.autocompleteOptions();\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(source[this.selectedOptionIndex()]?.label ?? '');\n e.preventDefault();\n const cIndex = this.selectedOptionIndex() - (vs?.getRenderedRange().start ?? 0);\n if (cIndex >= this.visibleOptions()) {\n vs?.scrollToIndex(this.selectedOptionIndex() - this.visibleOptions() + 1);\n }\n }\n if (e.code === 'ArrowUp' && this.selectedOptionIndex() > 0) {\n this.selectedOptionIndex.update(v => v - 1);\n const source = this.groupBy()\n ? Object.values(this.groupedOptions()).flatMap(g => g.options) : this.autocompleteOptions();\n this.liveAnnouncer.clear();\n this.liveAnnouncer.announce(source[this.selectedOptionIndex()]?.label ?? '');\n e.preventDefault();\n if (this.selectedOptionIndex() < (vs?.getRenderedRange().start ?? 0)) {\n vs?.scrollToIndex(this.selectedOptionIndex());\n }\n }\n if (e.key === 'Enter') {\n if (this.hasOptionsResult) {\n if (this.groupBy()) {\n const options = Object.values(this.groupedOptions()).flatMap(g => g.options);\n this.onOptionSelected(options[this.selectedOptionIndex()]);\n } else {\n this.onOptionSelected(this.autocompleteOptions()[this.selectedOptionIndex()]);\n }\n } else if (this.hasChips() && this.isFreeValueAllowed()) {\n this.add(this.autocompleteControl.value!);\n }\n }\n if (e.code === 'Tab') {\n if (this.isOpen()) {\n if (this.isAddOnBlur() && this.hasChips() && (this.autocompleteControl.value?.trim().length ?? 0) > 0) {\n this.add(this.autocompleteControl.value!.trim());\n }\n if (this.isForceSelection()) {\n this.handleForceSelection();\n }\n this.closePanel();\n }\n }\n }\n\n private handleForceSelection(): void {\n const found = this.autocompleteData().find(d => d.label.toLowerCase().trim() === this.autocompleteControl.value?.toLowerCase().trim());\n if (this.hasChips() || (!this.hasChips() && !found)) {\n this.inputRef().nativeElement.value = '';\n this.autocompleteControl.setValue(null, { emitEvent: false });\n this.setOptions('', this.isItemsSorted());\n if (!this.hasChips()) {\n this._onChange(null);\n }\n this.inputChange.emit(null as unknown as string);\n if (!this.hasChips()) {\n this.autocompleteDataSelected = [];\n }\n }\n }\n\n private setOptions(value: string, isItemsSorted: boolean): void {\n const filtered = isItemsSorted ? this.orderArray(this.filterOptions(value), this.itemsSortOrder()) : this.filterOptions(value);\n this.autocompleteOptions.set(filtered);\n if (this.groupBy()) {\n const { groupedOptions, distinctOptionGroups } = this.groupingHandler(filtered, this.groupBy()!);\n this.groupedOptions.set(groupedOptions);\n this.distinctOptionGroups = distinctOptionGroups;\n }\n }\n\n private filterOptions(inputValue: string): EdsAutocompleteItem[] {\n let data: EdsAutocompleteItem[];\n if (inputValue) {\n data = this.autocompleteData().filter(item => {\n if (this.matching() === 'contains') {\n return item.label.toLowerCase().includes(inputValue.toLowerCase());\n }\n return item.label.toLowerCase().startsWith(inputValue.toLowerCase());\n });\n } else {\n data = this.autocompleteData();\n }\n if (this.hasChips()) {\n data = data.filter(d => this.isDuplicateValueAllowed() ? true : !this.autocompleteDataSelected.some(s => d.id === s.id));\n }\n if (this.isItemsSorted()) {\n data = this.orderArray(data, this.itemsSortOrder());\n }\n return data;\n }\n\n private mapToChip(items: EdsAutocompleteItem[]): EdsChipModel[] {\n const mapped = items.map(item => new EdsChipModel({\n id: item.id, edsInternalId: item.edsInternalId, label: item.label,\n isRemovable: item.isRemovable !== false, tooltip: item.tooltip ? item.tooltip : undefined, iconSvgName: item.iconName,\n }));\n return this.isChipsSorted() && mapped.length > 0 ? this.orderArray(mapped, this.chipsSortOrder()) as EdsChipModel[] : mapped;\n }\n\n private orderArray<T extends { label: string }>(tab: T[], sortOrder: 'ASC' | 'DESC'): T[] {\n return [...tab].sort((a, b) => {\n const aL = a.label.toLowerCase(), bL = b.label.toLowerCase();\n if (sortOrder === 'ASC') {\n return aL < bL ? -1 : aL > bL ? 1 : 0;\n }\n return aL > bL ? -1 : aL < bL ? 1 : 0;\n });\n }\n\n private groupingHandler(options: EdsAutocompleteItem[], groupByProp: string):\n { groupedOptions: Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }>; distinctOptionGroups: string[] } {\n const distinctGroups: string[] = this.autocompleteData().map(item => this.resolveNestedProp(item, groupByProp) as string);\n const distinctOptionGroups = this.isGroupSorted() ? [...new Set(distinctGroups)].sort((a, b) => (a > b ? 1 : -1)) : [...new Set(distinctGroups)];\n const groupedOptions: Record<string, { options: EdsAutocompleteItem[]; ancestorLength: number }> = {};\n let ancestorLength = 0;\n for (const group of distinctOptionGroups) {\n let groupItems = options.filter(option => this.resolveNestedProp(option, groupByProp) === group);\n if (this.isItemsSorted()) {\n groupItems = this.orderArray(groupItems, this.itemsSortOrder());\n }\n groupedOptions[group] = { options: groupItems, ancestorLength };\n ancestorLength += groupItems.length;\n }\n return { groupedOptions, distinctOptionGroups };\n }\n\n private resolveNestedProp(obj: unknown, path: string): unknown {\n return path.split('.').reduce((prev, curr) => (prev ? (prev as Record<string, unknown>)[curr] : null), obj);\n }\n\n private getPositionStrategy(): PositionStrategy {\n return this.overlay.position()\n .flexibleConnectedTo(this.inputContainerRef().nativeElement as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositions).withFlexibleDimensions(false).withLockedPosition(true);\n }\n\n private getScrollStrategy(): RepositionScrollStrategy {\n return this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 55;\n return (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight);\n }\n\n private updateAriaRequired(ctrl: NgControl): void {\n this.hasAriaRequiredAttribute.set(ctrl?.control?.hasValidator(Validators.required) ?? false);\n }\n\n private _onChange: (_: unknown) => void = () => { /* noop */ };\n private _onTouched: () => void = () => { /* noop */ };\n}\n","@if (chipsPosition() === 'bottom') {\n <ng-container [ngTemplateOutlet]=\"inputControl\" />\n}\n\n@if (hasChips() && chips().length > 0) {\n <eds-chip-list\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListData]=\"chips()\"\n (cdkDropListDropped)=\"onChipDropped($event)\">\n @for (chip of chips(); let i = $index; track chip.edsInternalId) {\n @if (!maxVisibleChipsCount() || isVisibleChipsOpened() || i < maxVisibleChipsCount()) {\n <eds-chip\n [isRemovable]=\"isChipsRemovable() && !isReadonly() && chip.isRemovable !== false\"\n cdkDrag\n size=\"m\"\n [cdkDragDisabled]=\"!isChipsDragAndDrop()\"\n [cdkDragData]=\"chip\"\n [data]=\"chip\"\n (chipRemove)=\"onChipRemove($event)\"\n (cdkDragStarted)=\"onChipDragStarted($event)\"\n (cdkDragReleased)=\"onChipDragReleased($event)\">\n @if (chip.iconSvgName) {\n <eds-icon [icon]=\"chip.iconSvgName\" />\n }\n <span class=\"eds-chip-list-label\">\n @if (chipsLabelTruncateCount()) {\n {{ chip.label | slice:0:chipsLabelTruncateCount() }}\n } @else {\n {{ chip.label }}\n }\n </span>\n </eds-chip>\n }\n }\n <eds-chip-list-additional-content>\n @if (maxVisibleChipsCount() && chips().length > maxVisibleChipsCount()) {\n <button\n edsIconButton\n color=\"neutral\"\n size=\"s\"\n type=\"button\"\n [icon]=\"isVisibleChipsOpened() ? 'caret-left' : 'caret-right'\"\n [ariaLabel]=\"isVisibleChipsOpened() ? 'Collapse' : 'Expand'\"\n (click)=\"toggleTags()\">\n </button>\n }\n </eds-chip-list-additional-content>\n </eds-chip-list>\n}\n\n@if (chipsPosition() === 'top') {\n <ng-container [ngTemplateOutlet]=\"inputControl\" />\n}\n\n<ng-template #inputControl>\n @if (!hasChips() || (hasChips() && !isReadonly())) {\n <div class=\"eds-autocomplete__input-container\" #inputContainerRef>\n <input\n [attr.id]=\"inputId()\"\n #input\n edsInputText\n [edsClearable]=\"!isReadonly() && !internalDisabled() && !isLoading()\"\n [edsLoading]=\"isLoading()\"\n [formControl]=\"autocompleteControl\"\n class=\"eds-autocomplete__input\"\n [placeholder]=\"placeholder()\"\n autocomplete=\"off\"\n [readonly]=\"isReadonly()\"\n (clear)=\"onClear()\"\n (click)=\"openPanel()\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? panelId : null\"\n [attr.aria-activedescendant]=\"isOpen() && hasOptionsResult ? activeDescendantId() : null\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"hasAriaRequiredAttribute() ? 'true' : null\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"listbox\" />\n </div>\n }\n</ng-template>\n\n<ng-template #templatePortalContent>\n <eds-autocomplete-panel\n [panelId]=\"panelId\"\n [isOpen]=\"isOpen()\"\n [itemSize]=\"itemSize\"\n [viewportHeight]=\"cdkVirtualScrollViewportHeight\"\n [groupBy]=\"groupBy()\"\n [distinctOptionGroups]=\"distinctOptionGroups\"\n [groupedOptions]=\"groupedOptions()\"\n [autocompleteOptions]=\"autocompleteOptions()\"\n [selectedOptionIndex]=\"selectedOptionIndex()\"\n (optionSelected)=\"onOptionSelected($event)\">\n </eds-autocomplete-panel>\n</ng-template>\n","import { AbstractControl } from '@angular/forms';\n\nimport { EdsAutocompleteItem } from './eds-autocomplete-item.model';\n\n/**\n * Validator that checks if the selected value(s) exist in the autocomplete data.\n * Returns an error with `isInData: false` and the invalid values when validation fails.\n */\nexport const edsAutocompleteForceSelectionFromData = (\n control: AbstractControl<EdsAutocompleteItem | EdsAutocompleteItem[]>,\n): { isInData: { isInData: boolean; invalidValues: EdsAutocompleteItem | EdsAutocompleteItem[] } } | null => {\n if (control.value) {\n const isInData = Array.isArray(control.value)\n ? control.value.every(obj => 'id' in obj)\n : control.value.id !== undefined;\n const invalidValues = Array.isArray(control.value)\n ? control.value.filter(v => v.id === undefined)\n : control.value;\n\n return !isInData ? { isInData: { isInData, invalidValues } } : null;\n }\n return null;\n};\n","import { EdsAutocomplete } from './eds-autocomplete';\nimport { EdsAutocompleteOption } from './eds-autocomplete-option';\nimport { EdsAutocompleteOptionGroup } from './eds-autocomplete-option-group';\nimport { EdsAutocompletePanel } from './eds-autocomplete-panel';\n\nexport * from './eds-autocomplete-item.model';\nexport * from './eds-autocomplete-force-selection.validator';\nexport * from './eds-autocomplete';\nexport * from './eds-autocomplete-option';\nexport * from './eds-autocomplete-option-group';\nexport * from './eds-autocomplete-panel';\n\n/** Convenience array for importing all eds-autocomplete components. */\nexport const EDS_AUTOCOMPLETE = [\n EdsAutocomplete,\n EdsAutocompleteOption,\n EdsAutocompleteOptionGroup,\n EdsAutocompletePanel,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;MAea,qBAAqB,CAAA;AAblC,IAAA,WAAA,GAAA;AAcI;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,EAAE;qFAAC;AAE5B;;;AAGG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExD;;;AAGG;QACH,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE1D;;;AAGG;QACH,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE3D;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK;+FAAuE;AAEtF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACxB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,4BAA4B,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE,GAAG,EAAE;YACvF,OAAO;gBACH,yBAAyB;gBACzB,YAAY;gBACZ,IAAI,CAAC,QAAQ,EAAE,GAAG,iCAAiC,GAAG,EAAE;gBACxD,IAAI,CAAC,UAAU,EAAE,GAAG,mCAAmC,GAAG,EAAE;gBAC5D,IAAI,CAAC,WAAW,EAAE,GAAG,qCAAqC,GAAG,EAAE;AAClE,aAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QACtB,CAAC;wFAAC;AACL,IAAA;8GAvCY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,68BAXpB,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,i+BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWhB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,YACzB,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,MAAM,EAAE,YAAY;AACpB,wBAAA,sBAAsB,EAAE,+BAA+B;AACvD,wBAAA,sBAAsB,EAAE,8BAA8B;AACtD,wBAAA,SAAS,EAAE,eAAe;AAC7B,qBAAA,EAAA,MAAA,EAAA,CAAA,i+BAAA,CAAA,EAAA;;;MCDQ,0BAA0B,CAAA;AAVvC,IAAA,WAAA,GAAA;AAWI;;AAEG;AACH,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK;6FAAU;AAC1B,IAAA;8GALY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,yTARzB,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQhB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,QAAQ,EAAE,eAAe;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,KAAK,EAAE,+BAA+B;AACzC,qBAAA;AACJ,iBAAA;;;MCuBY,oBAAoB,CAAA;AAhBjC,IAAA,WAAA,GAAA;AAiBa,QAAA,IAAA,CAAA,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAA2B,kBAAkB;6FAAC;QAE5F,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,yBAAyB;oFAAC;QAC1C,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK;mFAAC;QACrB,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,EAAE,gFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACpD,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,CAAC,sFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACzD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK;+FAAU;QACzB,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAW,EAAE;iGAAC;QAC1C,IAAA,CAAA,cAAc,GAAG,KAAK,CAA6E,EAAE;2FAAC;QACtG,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAwB,EAAE;gGAAC;QACtD,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,CAAC,2FAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAC9D,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK;sGAAmD;AACzE,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK;wGAAiD;QAEzE,IAAA,CAAA,cAAc,GAAG,MAAM,EAAuB;AASjD,IAAA;IAPG,SAAS,CAAC,KAAa,EAAE,IAAyB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,EAAE,IAAI,KAAK;IAC3B;AAEA,IAAA,gBAAgB,CAAC,MAA2B,EAAA;AACxC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC;8GAvBS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,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,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,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,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,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,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,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,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,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,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCjC,swHAyEA,EAAA,MAAA,EAAA,CAAA,+bAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjDQ,gBAAgB,mJAChB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,gCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,qBAAqB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,0BAA0B,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAOrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAhBhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,eAAA,EAGjB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACL,gBAAgB;wBAChB,eAAe;wBACf,qBAAqB;wBACrB,0BAA0B;AAC1B,wBAAA,GAAG,QAAQ;qBACd,EAAA,IAAA,EACK;AACF,wBAAA,KAAK,EAAE,wBAAwB;AAClC,qBAAA,EAAA,QAAA,EAAA,swHAAA,EAAA,MAAA,EAAA,CAAA,+bAAA,CAAA,EAAA;8EAGwE,kBAAkB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEwElF,eAAe,CAAA;AA0HxB,IAAA,WAAA,GAAA;;QAxHA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,kBAAkB;oFAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK;+FAAsB;QACrC,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAwB,EAAE;6FAAC;QACnD,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,CAAC,sFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACzD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA2B,UAAU;qFAAC;QACtD,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,EAAE;wFAAC;QAC/B,IAAA,CAAA,cAAc,GAAG,KAAK,CAAiB,KAAK;2FAAC;QAC7C,IAAA,CAAA,cAAc,GAAG,KAAK,CAAiB,KAAK;2FAAC;QAC7C,IAAA,CAAA,aAAa,GAAG,KAAK,CAAmB,KAAK;0FAAC;AAC9C,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK;+FAAU;QACzB,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAgB,IAAI;gGAAC;QAChD,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAgB,IAAI;gGAAC;QAChD,IAAA,CAAA,SAAS,GAAG,KAAK,CAAgB,kBAAkB;sFAAC;QACpD,IAAA,CAAA,UAAU,GAAG,KAAK,CAAgB,IAAI;uFAAC;AACvC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK;kGAA+B;QACjD,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,IAAI,0FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACjE,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC1D,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACzD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACxD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACvD,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC7D,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC7D,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,IAAI,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC5D,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,IAAI,wFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC/D,IAAA,CAAA,uBAAuB,GAAG,KAAK,CAAC,KAAK,+FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACvE,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC3D,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,KAAK,wFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAChE,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,IAAI,4FAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QAClE,IAAA,CAAA,uBAAuB,GAAG,KAAK,CAAC,IAAI,+FAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACrE,IAAA,CAAA,uBAAuB,GAAG,KAAK,CAAC,KAAK,+FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACvE,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,KAAK,0FAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;QAGlE,IAAA,CAAA,UAAU,GAAG,MAAM,EAAE;QACrB,IAAA,CAAA,SAAS,GAAG,MAAM,EAAE;QACpB,IAAA,CAAA,UAAU,GAAG,MAAM,EAAc;QACjC,IAAA,CAAA,SAAS,GAAG,MAAM,EAAc;QAChC,IAAA,CAAA,KAAK,GAAG,MAAM,EAAE;QAChB,IAAA,CAAA,eAAe,GAAG,MAAM,EAAyB;QACjD,IAAA,CAAA,OAAO,GAAG,MAAM,EAAuB;QACvC,IAAA,CAAA,UAAU,GAAG,MAAM,EAAuB;QAC1C,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;QAC9B,IAAA,CAAA,aAAa,GAAG,MAAM,EAAwB;QAC9C,IAAA,CAAA,eAAe,GAAG,MAAM,EAAwB;QAChD,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAwB;;AAGhC,QAAA,IAAA,CAAA,qBAAqB,GAAG,SAAS,CAAC,QAAQ,CAA0B,uBAAuB;kGAAC;AAC5F,QAAA,IAAA,CAAA,oBAAoB,GAAG,SAAS,CAAC,QAAQ,CAAC,oBAAoB;iGAAC;AAC/D,QAAA,IAAA,CAAA,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAa,mBAAmB;8FAAC;QACvE,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,IAAI,EAAE,UAAU,EAAA,CAAG;;QAGrE,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAwB,EAAE;gGAAC;QACvD,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,CAAC;gGAAC;AAC/B,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,WAAW,CAAS,EAAE,CAAC;QACjD,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,KAAK;6FAAC;QAChC,IAAA,CAAA,KAAK,GAAG,MAAM,CAAiB,EAAE;kFAAC;QAClC,IAAA,CAAA,oBAAoB,GAAa,EAAE;QACnC,IAAA,CAAA,cAAc,GAAG,MAAM,CAA6E,EAAE;2FAAC;QACvG,IAAA,CAAA,QAAQ,GAAG,EAAE;QACb,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK;iGAAC;QACpC,IAAA,CAAA,wBAAwB,GAA0B,EAAE;;AAGpD,QAAA,IAAA,CAAA,OAAO,GAAG,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;;AAG3D,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE;+FAAC;;QAG3F,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK;mFAAC;;AAGtB,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;YACxB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,kBAAkB,CAAC;YACtE,OAAO;gBACH,kBAAkB;gBAClB,UAAU;gBACV,IAAI,CAAC,QAAQ;AACT,sBAAE,mCAAmC,GAAG,IAAI,CAAC,aAAa;AAC1D,sBAAE,uCAAuC;gBAC7C,IAAI,CAAC,UAAU,EAAE,GAAG,4BAA4B,GAAG,EAAE;AACxD,aAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QACtB,CAAC;wFAAC;;QAGQ,IAAA,CAAA,wBAAwB,GAAG,MAAM,CAAC,KAAK;qGAAC;QAC1C,IAAA,CAAA,UAAU,GAAsB,IAAI;AAEpC,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,YAAY,EAAE;AAC9C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE;AACtC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAE;AACxC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE;AAChC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAE;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAE;QACpC,IAAA,CAAA,KAAK,GAAuD,IAAI;AAEhE,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,sBAAsB,CACpC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EACrF,CAAC,2BAA2B,EAAE,gCAAgC,CAAC,CAClE;AACO,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,sBAAsB,CACvC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EACrF,CAAC,2BAA2B,EAAE,mCAAmC,CAAC,CACrE;QACO,IAAA,CAAA,kBAAkB,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;;AAG5C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAE;AAC5D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAugBxC,QAAA,IAAA,CAAA,SAAS,GAAyB,MAAK,EAAc,CAAC;AACtD,QAAA,IAAA,CAAA,UAAU,GAAe,MAAK,EAAc,CAAC;AArgBjD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;QACrC;QACA,MAAM,CAAC,MAAK;YACR,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AACjE,QAAA,CAAC,CAAC;QACF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC1C,YAAA,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,8CAA8C,CAAC;AACjF,YAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,gBAAA,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,8CAA8C,CAAC;YAClF;AACA,YAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAK;gBACtC,eAAe,CAAC,MAAK;oBACjB,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACvE,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;AACzB,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;AAC3B,gBAAA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE;AAC5C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;AACtC,gBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;AAC9B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;AACtC,gBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;AACtC,YAAA,CAAC,CAAC;;YAEF,eAAe,CAAC,MAAK;AACjB,gBAAA,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACzE,oBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,wBAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;oBAC5C;yBAAO;AACH,wBAAA,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE;oBAC9C;AACA,oBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;wBACd,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnD;yBAAO;AACH,wBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC5C;AACJ,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;QACN;aAAO;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;AAC3B,gBAAA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE;AAC5C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;AACtC,gBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;AAC9B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;AACtC,gBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;AACtC,YAAA,CAAC,CAAC;QACN;IACJ;AAEA,IAAA,IAAI,8BAA8B,GAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChB,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB;AAChD,iBAAA,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAG,CAAW;AACnE,iBAAA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,YAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBAC5D,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ;YAChD;AACA,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM;YACnF,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,WAAW,IAAI,IAAI,CAAC,QAAQ;QACtG;QACA,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc;cACzD,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;cAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ;IAC3D;AAEA,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,GAAG,CAAC;IAChD;;IAGA,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC/G;QACA,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAoB,KAAI;AAC/G,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,CAAC,SAAS,EAAE;YACpB;AACA,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;AAClD,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,CAAC,KAAK,EAAE;oBACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;gBACnG;YACJ;iBAAO;AACH,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC5G,IAAI,KAAK,EAAE;AACP,wBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACzB;yBAAO,IAAI,KAAK,EAAE;wBACd,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;oBACpC;yBAAO;AACH,wBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBACxB;gBACJ;qBAAO;AACH,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;oBAClD,IAAI,CAAC,KAAK,EAAE;wBACR,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC7C;gBACJ;YACJ;AACA,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAe,CAAC;AAC1C,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnG;IACJ;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACjG;;IAGA,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C;IAEA,SAAS,GAAA;QACL,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACpC;QACJ;AACA,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC5E,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC3D,YAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACpC,MAAM,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC3F,gBAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE;oBAClE,IAAI,CAAC,UAAU,EAAE;gBACrB;YACJ;AACJ,QAAA,CAAC,CAAC;QACN,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACxG,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;AACtD,gBAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC7F;AACJ,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClC,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,EAAE;AAC5C,YAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE;AACxC,YAAA,mBAAmB,EAAE,IAAI;YACzB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC,WAAW;YACjG,UAAU,EAAE,CAAC,mCAAmC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7E,SAAA,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3C,QAAQ,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC,EAAE,IAAG;YAC9D,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAClC,gBAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC9B;AACJ,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC7F,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAqB,CAAC,EAAE;gBAClE,IAAI,CAAC,UAAU,EAAE;YACrB;AACJ,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAI;YACvF,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE;gBACpC,IAAI,CAAC,UAAU,EAAE;YACrB;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO;AAC/B,cAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC/F,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,QAAA,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD;AAEA,QAAA,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS;AAC7F,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9I,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACb,YAAA,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACpC,QAAA,CAAC,CAAC;AAEN,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpC,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACpB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAChH,gBAAA,IAAI,CAAE,KAAK,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AAC7J,oBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAM,CAAC,IAAI,EAAE,CAAC;gBACpD;AACJ,YAAA,CAAC,CAAC;QACN;AACA,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;AACtC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YACzB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAClH,gBAAA,IAAI,CAAE,KAAK,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;oBAC9E,IAAI,CAAC,oBAAoB,EAAE;gBAC/B;AACJ,YAAA,CAAC,CAAC;QACN;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;IACzB;IAEA,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE;AAC5C,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;AACtC,QAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;IAC1B;AAEA,IAAA,gBAAgB,CAAC,CAAsB,EAAA;AACnC,QAAA,IAAI,CAAC,CAAC,UAAU,EAAE;YACd;QACJ;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;AAChF,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACxC,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C;aAAO;AACH,YAAA,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;YAC7C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,YAAA,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE;AACA,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpC,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE;IACrB;AAEA,IAAA,GAAG,CAAC,KAAa,EAAA;AACb,QAAA,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YACxG;QACJ;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;YAC7G;QACJ;AACA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE;AACvI,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACxC,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE;AACjB,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpC,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;AACxD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B;IAEA,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACrB;AAEA,IAAA,OAAO,CAAC,KAAiB,EAAA;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,SAAS;AAC/E,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC;AACpH,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;gBAChB,IAAI,CAAC,SAAS,EAAE;gBAChB,CAAC,CAAC,eAAe,EAAE;YACvB;AACJ,QAAA,CAAC,CAAC;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,CAAC,SAAS,EAAE;QACpB;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;AAEA,IAAA,MAAM,CAAC,KAAiB,EAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;AAC9B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE;IACrB;AAEA,IAAA,YAAY,CAAC,IAAiB,EAAA;QAC1B,MAAM,SAAS,GAAG,IAAoB;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAG;YACrE,IAAI,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;AACzC,gBAAA,OAAO,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,aAAa;YACtD;AACA,YAAA,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE;AAChC,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACxD,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC;IACJ;;AAGA,IAAA,aAAa,CAAC,CAAqB,EAAA;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1C,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC;AAC9D,QAAA,eAAe,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,YAAY,CAAC;AAC/E,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5B,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IACtE;AAEA,IAAA,iBAAiB,CAAC,CAAe,EAAA;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IAC1F;AAEA,IAAA,kBAAkB,CAAC,CAAiB,EAAA;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7F;;AAGA,IAAA,UAAU,CAAC,KAAkD,EAAA;AACzD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,IAAI,CAAC,GAAG,KAA8B,CAAC,IAAI,EAAE;AAClF,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAC7D,YAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C;aAAO;YACH,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,GAAI,KAA6B,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC9G,IAAI,CAAC,UAAU,CAAC,KAAK,GAAI,KAA6B,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5F;IACJ;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC;QACrC,IAAI,UAAU,EAAE;AACZ,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;QACtC;aAAO;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;QACrC;AACA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,UAAU,EAAE;QACrB;IACJ;AAEA,IAAA,gBAAgB,CAAC,EAAwB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACvB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACxB;;AAGQ,IAAA,wBAAwB,CAAC,CAAgB,EAAA;AAC7C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE;AACzC,QAAA,MAAM,EAAE,GAAG,KAAK,EAAE,gBAAgB,EAAE;QAEpC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9F,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AACvB,kBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC/F,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5E,CAAC,CAAC,cAAc,EAAE;AAClB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;AAC/E,YAAA,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACjC,gBAAA,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAC7E;QACJ;AACA,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE;AACxD,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AACvB,kBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAC/F,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5E,CAAC,CAAC,cAAc,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE;gBAClE,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjD;QACJ;AACA,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;oBAChB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;oBAC5E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAC9D;qBAAO;AACH,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACjF;YACJ;iBAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAM,CAAC;YAC7C;QACJ;AACA,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE;AAClB,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE;AACnG,oBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAM,CAAC,IAAI,EAAE,CAAC;gBACpD;AACA,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;oBACzB,IAAI,CAAC,oBAAoB,EAAE;gBAC/B;gBACA,IAAI,CAAC,UAAU,EAAE;YACrB;QACJ;IACJ;IAEQ,oBAAoB,GAAA;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AACtI,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACxC,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;AACzC,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAClB,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACxB;AACA,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAyB,CAAC;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAClB,gBAAA,IAAI,CAAC,wBAAwB,GAAG,EAAE;YACtC;QACJ;IACJ;IAEQ,UAAU,CAAC,KAAa,EAAE,aAAsB,EAAA;AACpD,QAAA,MAAM,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAC9H,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;AACtC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChB,YAAA,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAG,CAAC;AAChG,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;AACvC,YAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;QACpD;IACJ;AAEQ,IAAA,aAAa,CAAC,UAAkB,EAAA;AACpC,QAAA,IAAI,IAA2B;QAC/B,IAAI,UAAU,EAAE;YACZ,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,IAAG;AACzC,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,UAAU,EAAE;AAChC,oBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACtE;AACA,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AACxE,YAAA,CAAC,CAAC;QACN;aAAO;AACH,YAAA,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE;QAClC;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5H;AACA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACtB,YAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QACvD;AACA,QAAA,OAAO,IAAI;IACf;AAEQ,IAAA,SAAS,CAAC,KAA4B,EAAA;AAC1C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC;AAC9C,YAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjE,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ;AACxH,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,IAAI,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAmB,GAAG,MAAM;IAChI;IAEQ,UAAU,CAA8B,GAAQ,EAAE,SAAyB,EAAA;AAC/E,QAAA,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AAC1B,YAAA,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;AAC5D,YAAA,IAAI,SAAS,KAAK,KAAK,EAAE;gBACrB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;YACzC;YACA,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;AACzC,QAAA,CAAC,CAAC;IACN;IAEQ,eAAe,CAAC,OAA8B,EAAE,WAAmB,EAAA;QAEvE,MAAM,cAAc,GAAa,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAW,CAAC;QACzH,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;QAChJ,MAAM,cAAc,GAA+E,EAAE;QACrG,IAAI,cAAc,GAAG,CAAC;AACtB,QAAA,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE;YACtC,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,KAAK,CAAC;AAChG,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACtB,gBAAA,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACnE;YACA,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;AAC/D,YAAA,cAAc,IAAI,UAAU,CAAC,MAAM;QACvC;AACA,QAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE;IACnD;IAEQ,iBAAiB,CAAC,GAAY,EAAE,IAAY,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,IAAI,GAAI,IAAgC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;IAC/G;IAEQ,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;AACvB,aAAA,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAwD;AACrG,aAAA,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;IACtG;IAEQ,iBAAiB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAC3E;IAEQ,SAAS,CAAC,MAAmB,EAAE,gBAA6B,EAAA;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAChD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,EAAE;QACnF,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,sBAAsB;AACnD,aAAC,OAAO,GAAG,iBAAiB,GAAG,CAAC,IAAI,OAAO,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;IACjG;AAEQ,IAAA,kBAAkB,CAAC,IAAe,EAAA;AACtC,QAAA,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IAChG;8GA7nBS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,0kKAkD2B,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAEf,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/JtE,ioIAmGA,iZDvBQ,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEhB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,mBAAmB,mqBACnB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,oBAAoB,0uCALpB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FA8BJ,eAAe,EAAA,UAAA,EAAA,CAAA;kBArC3B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,eAAA,EAEX,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACL,gBAAgB;wBAChB,SAAS;wBACT,cAAc;wBACd,mBAAmB;wBACnB,aAAa;wBACb,eAAe;wBACf,oBAAoB;AACpB,wBAAA,GAAG,cAAc;AACjB,wBAAA,GAAG,aAAa;AAChB,wBAAA,GAAG,QAAQ;AACX,wBAAA,GAAG,QAAQ;AACX,wBAAA,GAAG,eAAe;qBACrB,EAAA,cAAA,EACe;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,iBAAiB;AAC5B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,YAAY;gCACZ,SAAS;gCACT,YAAY;gCACZ,aAAa;gCACb,iBAAiB;AACpB,6BAAA;AACJ,yBAAA;qBACJ,EAAA,IAAA,EACK;AACF,wBAAA,SAAS,EAAE,eAAe;AAC1B,wBAAA,iBAAiB,EAAE,WAAW;AACjC,qBAAA,EAAA,QAAA,EAAA,ioIAAA,EAAA,MAAA,EAAA,CAAA,yVAAA,CAAA,EAAA;mhIAmD4E,uBAAuB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACjD,oBAAoB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACX,mBAAmB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACxC,OAAO,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE3JxE;;;AAGG;AACI,MAAM,qCAAqC,GAAG,CACjD,OAAqE,KACmC;AACxG,IAAA,IAAI,OAAO,CAAC,KAAK,EAAE;QACf,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;AACxC,cAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG;cACtC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS;QACpC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK;AAC7C,cAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS;AAC9C,cAAE,OAAO,CAAC,KAAK;AAEnB,QAAA,OAAO,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,GAAG,IAAI;IACvE;AACA,IAAA,OAAO,IAAI;AACf;;ACVA;AACO,MAAM,gBAAgB,GAAG;IAC5B,eAAe;IACf,qBAAqB;IACrB,0BAA0B;IAC1B,oBAAoB;;;ACjBxB;;AAEG;;;;"}
|
|
@@ -87,13 +87,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
87
87
|
|
|
88
88
|
class EdsAvatarContentLabel {
|
|
89
89
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsAvatarContentLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EdsAvatarContentLabel, isStandalone: true, selector: "eds-avatar-content-label", host: { classAttribute: "eds-avatar-content-label" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".eds-avatar :host{font:var(--eds-f-paragraph-s-
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.2", type: EdsAvatarContentLabel, isStandalone: true, selector: "eds-avatar-content-label", host: { classAttribute: "eds-avatar-content-label" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: [".eds-avatar :host{font:var(--eds-f-paragraph-s-semibold)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
91
91
|
}
|
|
92
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsAvatarContentLabel, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'eds-avatar-content-label', template: '<ng-content />', host: {
|
|
95
95
|
class: 'eds-avatar-content-label',
|
|
96
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eds-avatar :host{font:var(--eds-f-paragraph-s-
|
|
96
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".eds-avatar :host{font:var(--eds-f-paragraph-s-semibold)}\n"] }]
|
|
97
97
|
}] });
|
|
98
98
|
|
|
99
99
|
class EdsAvatarList {
|
|
@@ -154,7 +154,7 @@ class EdsAvatar {
|
|
|
154
154
|
...(ngDevMode ? [{ debugName: "hasImage" }] : /* istanbul ignore next */ []));
|
|
155
155
|
}
|
|
156
156
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsAvatar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EdsAvatar, isStandalone: true, selector: "div[edsAvatar], span[edsAvatar], eds-avatar", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.size": "size()", "attr.color": "color() || null", "attr.image": "hasImage() || null", "attr.data-e2e": "e2eAttr()", "attr.aria-label": "ariaLabel()" }, classAttribute: "eds-avatar" }, queries: [{ propertyName: "avatarImage", first: true, predicate: EdsAvatarImage, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"eds-avatar-wrapper\">\n <ng-content select=\"eds-avatar-icon\"/>\n <ng-content select=\"eds-avatar-text\"/>\n <ng-content select=\"eds-avatar-image\"/>\n <ng-content select=\"eds-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eds-avatar-content\"/>\n", styles: [":host{--_surface: var(--eds-c-surface-neutral-subtler);--_on-surface: var(--eds-c-on-surface-neutral-subtler);--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl);display:inline-flex;position:relative;align-items:center;gap:var(--eds-sp-s);border-radius:var(--eds-br-full)}:host .eds-avatar-wrapper{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eds-br-full);background-color:var(--_surface);color:var(--_on-surface);height:var(--_size);width:var(--_size);position:relative}:host([size=\"2xs\"]){--_size: var(--eds-si-m);--_icon-size: var(--eds-is-2xs);--_font-size: var(--eds-f-s-xs)}:host([size=xs]){--_size: var(--eds-si-xl);--_icon-size: var(--eds-is-xs);--_font-size: var(--eds-f-s-s)}:host([size=s]){--_size: var(--eds-si-3xl);--_icon-size: var(--eds-is-s);--_font-size: var(--eds-f-s-l)}:host([size=m]){--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl)}:host([size=l]){--_size: var(--eds-si-6xl);--_icon-size: var(--eds-is-l);--_font-size: var(--eds-f-s-2xl)}:host([size=xl]){--_size: var(--eds-si-9xl);--_icon-size: var(--eds-is-xl);--_font-size: var(--eds-f-s-4xl)}:host([color=cm-blue-navy]){--_surface: var(--eds-c-surface-cm-blue-navy-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-navy-subtler)}:host([color=cm-blue-electric]){--_surface: var(--eds-c-surface-cm-blue-electric-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-electric-subtler)}:host([color=cm-
|
|
157
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EdsAvatar, isStandalone: true, selector: "div[edsAvatar], span[edsAvatar], eds-avatar", inputs: { e2eAttr: { classPropertyName: "e2eAttr", publicName: "e2eAttr", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.size": "size()", "attr.color": "color() || null", "attr.image": "hasImage() || null", "attr.data-e2e": "e2eAttr()", "attr.aria-label": "ariaLabel()" }, classAttribute: "eds-avatar" }, queries: [{ propertyName: "avatarImage", first: true, predicate: EdsAvatarImage, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"eds-avatar-wrapper\">\n <ng-content select=\"eds-avatar-icon\"/>\n <ng-content select=\"eds-avatar-text\"/>\n <ng-content select=\"eds-avatar-image\"/>\n <ng-content select=\"eds-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eds-avatar-content\"/>\n", styles: [":host{--_surface: var(--eds-c-surface-neutral-subtler);--_on-surface: var(--eds-c-on-surface-neutral-subtler);--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl);display:inline-flex;position:relative;align-items:center;gap:var(--eds-sp-s);border-radius:var(--eds-br-full)}:host .eds-avatar-wrapper{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eds-br-full);background-color:var(--_surface);color:var(--_on-surface);height:var(--_size);width:var(--_size);position:relative}:host([size=\"2xs\"]){--_size: var(--eds-si-m);--_icon-size: var(--eds-is-2xs);--_font-size: var(--eds-f-s-xs)}:host([size=xs]){--_size: var(--eds-si-xl);--_icon-size: var(--eds-is-xs);--_font-size: var(--eds-f-s-s)}:host([size=s]){--_size: var(--eds-si-3xl);--_icon-size: var(--eds-is-s);--_font-size: var(--eds-f-s-l)}:host([size=m]){--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl)}:host([size=l]){--_size: var(--eds-si-6xl);--_icon-size: var(--eds-is-l);--_font-size: var(--eds-f-s-2xl)}:host([size=xl]){--_size: var(--eds-si-9xl);--_icon-size: var(--eds-is-xl);--_font-size: var(--eds-f-s-4xl)}:host([color=cm-blue-navy]){--_surface: var(--eds-c-surface-cm-blue-navy-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-navy-subtler)}:host([color=cm-blue-electric]){--_surface: var(--eds-c-surface-cm-blue-electric-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-electric-subtler)}:host([color=cm-green]){--_surface: var(--eds-c-surface-cm-green-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-subtler)}:host([color=cm-green-dark]){--_surface: var(--eds-c-surface-cm-green-dark-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-dark-subtler)}:host([color=cm-orange]){--_surface: var(--eds-c-surface-cm-orange-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-subtler)}:host([color=cm-purple]){--_surface: var(--eds-c-surface-cm-purple-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-subtler)}:host([color=cm-blue-ocean]){--_surface: var(--eds-c-surface-cm-blue-ocean-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-ocean-subtler)}:host([color=cm-green-lemon]){--_surface: var(--eds-c-surface-cm-green-lemon-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-lemon-subtler)}:host([color=cm-green-pine]){--_surface: var(--eds-c-surface-cm-green-pine-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-pine-subtler)}:host([color=cm-red-crayola]){--_surface: var(--eds-c-surface-cm-red-crayola-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-crayola-subtler)}:host([color=cm-warm-grey]){--_surface: var(--eds-c-surface-cm-warm-grey-subtler);--_on-surface: var(--eds-c-on-surface-cm-warm-grey-subtler)}:host([color=cm-yellow-gold]){--_surface: var(--eds-c-surface-cm-yellow-gold-subtler);--_on-surface: var(--eds-c-on-surface-cm-yellow-gold-subtler)}:host([color=cm-orange-abricot]){--_surface: var(--eds-c-surface-cm-orange-abricot-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-abricot-subtler)}:host([color=cm-purple-violet]){--_surface: var(--eds-c-surface-cm-purple-violet-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-violet-subtler)}:host([color=cm-red-tomato]){--_surface: var(--eds-c-surface-cm-red-tomato-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-tomato-subtler)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
158
158
|
}
|
|
159
159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EdsAvatar, decorators: [{
|
|
160
160
|
type: Component,
|
|
@@ -166,7 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
166
166
|
'[attr.image]': 'hasImage() || null',
|
|
167
167
|
'[attr.data-e2e]': 'e2eAttr()',
|
|
168
168
|
'[attr.aria-label]': 'ariaLabel()',
|
|
169
|
-
}, template: "<div class=\"eds-avatar-wrapper\">\n <ng-content select=\"eds-avatar-icon\"/>\n <ng-content select=\"eds-avatar-text\"/>\n <ng-content select=\"eds-avatar-image\"/>\n <ng-content select=\"eds-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eds-avatar-content\"/>\n", styles: [":host{--_surface: var(--eds-c-surface-neutral-subtler);--_on-surface: var(--eds-c-on-surface-neutral-subtler);--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl);display:inline-flex;position:relative;align-items:center;gap:var(--eds-sp-s);border-radius:var(--eds-br-full)}:host .eds-avatar-wrapper{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eds-br-full);background-color:var(--_surface);color:var(--_on-surface);height:var(--_size);width:var(--_size);position:relative}:host([size=\"2xs\"]){--_size: var(--eds-si-m);--_icon-size: var(--eds-is-2xs);--_font-size: var(--eds-f-s-xs)}:host([size=xs]){--_size: var(--eds-si-xl);--_icon-size: var(--eds-is-xs);--_font-size: var(--eds-f-s-s)}:host([size=s]){--_size: var(--eds-si-3xl);--_icon-size: var(--eds-is-s);--_font-size: var(--eds-f-s-l)}:host([size=m]){--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl)}:host([size=l]){--_size: var(--eds-si-6xl);--_icon-size: var(--eds-is-l);--_font-size: var(--eds-f-s-2xl)}:host([size=xl]){--_size: var(--eds-si-9xl);--_icon-size: var(--eds-is-xl);--_font-size: var(--eds-f-s-4xl)}:host([color=cm-blue-navy]){--_surface: var(--eds-c-surface-cm-blue-navy-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-navy-subtler)}:host([color=cm-blue-electric]){--_surface: var(--eds-c-surface-cm-blue-electric-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-electric-subtler)}:host([color=cm-
|
|
169
|
+
}, template: "<div class=\"eds-avatar-wrapper\">\n <ng-content select=\"eds-avatar-icon\"/>\n <ng-content select=\"eds-avatar-text\"/>\n <ng-content select=\"eds-avatar-image\"/>\n <ng-content select=\"eds-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eds-avatar-content\"/>\n", styles: [":host{--_surface: var(--eds-c-surface-neutral-subtler);--_on-surface: var(--eds-c-on-surface-neutral-subtler);--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl);display:inline-flex;position:relative;align-items:center;gap:var(--eds-sp-s);border-radius:var(--eds-br-full)}:host .eds-avatar-wrapper{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--eds-br-full);background-color:var(--_surface);color:var(--_on-surface);height:var(--_size);width:var(--_size);position:relative}:host([size=\"2xs\"]){--_size: var(--eds-si-m);--_icon-size: var(--eds-is-2xs);--_font-size: var(--eds-f-s-xs)}:host([size=xs]){--_size: var(--eds-si-xl);--_icon-size: var(--eds-is-xs);--_font-size: var(--eds-f-s-s)}:host([size=s]){--_size: var(--eds-si-3xl);--_icon-size: var(--eds-is-s);--_font-size: var(--eds-f-s-l)}:host([size=m]){--_size: var(--eds-si-4xl);--_icon-size: var(--eds-is-m);--_font-size: var(--eds-f-s-xl)}:host([size=l]){--_size: var(--eds-si-6xl);--_icon-size: var(--eds-is-l);--_font-size: var(--eds-f-s-2xl)}:host([size=xl]){--_size: var(--eds-si-9xl);--_icon-size: var(--eds-is-xl);--_font-size: var(--eds-f-s-4xl)}:host([color=cm-blue-navy]){--_surface: var(--eds-c-surface-cm-blue-navy-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-navy-subtler)}:host([color=cm-blue-electric]){--_surface: var(--eds-c-surface-cm-blue-electric-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-electric-subtler)}:host([color=cm-green]){--_surface: var(--eds-c-surface-cm-green-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-subtler)}:host([color=cm-green-dark]){--_surface: var(--eds-c-surface-cm-green-dark-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-dark-subtler)}:host([color=cm-orange]){--_surface: var(--eds-c-surface-cm-orange-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-subtler)}:host([color=cm-purple]){--_surface: var(--eds-c-surface-cm-purple-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-subtler)}:host([color=cm-blue-ocean]){--_surface: var(--eds-c-surface-cm-blue-ocean-subtler);--_on-surface: var(--eds-c-on-surface-cm-blue-ocean-subtler)}:host([color=cm-green-lemon]){--_surface: var(--eds-c-surface-cm-green-lemon-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-lemon-subtler)}:host([color=cm-green-pine]){--_surface: var(--eds-c-surface-cm-green-pine-subtler);--_on-surface: var(--eds-c-on-surface-cm-green-pine-subtler)}:host([color=cm-red-crayola]){--_surface: var(--eds-c-surface-cm-red-crayola-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-crayola-subtler)}:host([color=cm-warm-grey]){--_surface: var(--eds-c-surface-cm-warm-grey-subtler);--_on-surface: var(--eds-c-on-surface-cm-warm-grey-subtler)}:host([color=cm-yellow-gold]){--_surface: var(--eds-c-surface-cm-yellow-gold-subtler);--_on-surface: var(--eds-c-on-surface-cm-yellow-gold-subtler)}:host([color=cm-orange-abricot]){--_surface: var(--eds-c-surface-cm-orange-abricot-subtler);--_on-surface: var(--eds-c-on-surface-cm-orange-abricot-subtler)}:host([color=cm-purple-violet]){--_surface: var(--eds-c-surface-cm-purple-violet-subtler);--_on-surface: var(--eds-c-on-surface-cm-purple-violet-subtler)}:host([color=cm-red-tomato]){--_surface: var(--eds-c-surface-cm-red-tomato-subtler);--_on-surface: var(--eds-c-on-surface-cm-red-tomato-subtler)}\n"] }]
|
|
170
170
|
}], propDecorators: { e2eAttr: [{ type: i0.Input, args: [{ isSignal: true, alias: "e2eAttr", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], avatarImage: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EdsAvatarImage), { isSignal: true }] }] } });
|
|
171
171
|
|
|
172
172
|
const EDS_AVATAR = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-eds-eds-avatar.mjs","sources":["../../eds-avatar/eds-avatar-badge.ts","../../eds-avatar/eds-avatar-icon.ts","../../eds-avatar/eds-avatar-image.ts","../../eds-avatar/eds-avatar-image.html","../../eds-avatar/eds-avatar-content.ts","../../eds-avatar/eds-avatar-content.html","../../eds-avatar/eds-avatar-content-sublabel.ts","../../eds-avatar/eds-avatar-content-label.ts","../../eds-avatar/eds-avatar-list.ts","../../eds-avatar/eds-avatar-text.ts","../../eds-avatar/eds-avatar.ts","../../eds-avatar/eds-avatar.html","../../eds-avatar/index.ts","../../eds-avatar/eui-eds-eds-avatar.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-badge',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-badge.scss',\n host: {\n class: 'eds-avatar-badge',\n '[attr.position]': 'isPositionBottom() ? \"bottom\" : \"top\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarBadge {\n /**\n * Whether the badge is positioned at the bottom of the avatar.\n * @default false\n */\n isPositionBottom = input(false, { transform: booleanAttribute });\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-icon',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-icon.scss',\n host: {\n class: 'eds-avatar-icon',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarIcon {}\n","import { ChangeDetectionStrategy, Component, input, computed } from '@angular/core';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\n\n@Component({\n selector: 'eds-avatar-image',\n templateUrl: './eds-avatar-image.html',\n styleUrl: './eds-avatar-image.scss',\n imports: [\n ...EDS_ICON,\n ],\n host: {\n class: 'eds-avatar-image',\n '[attr.default]': 'isDefault() || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarImage {\n /**\n * URL of the image to be displayed in the avatar.\n * If not provided, a default (user icon) is shown.\n */\n imageUrl = input<string>('');\n\n /** Whether the default (no image URL) fallback is shown. */\n protected isDefault = computed(() => !this.imageUrl());\n\n /**\n * The final image URL to be used in the template.\n * This will be either the provided imageUrl or a default image URL.\n */\n public imageUrlGenerated = 'assets';\n}\n","@if (imageUrl()) {\n <div class=\"eds-avatar-image-wrapper\">\n <img [src]=\"imageUrl()\" alt=\"Avatar\"/>\n </div>\n} @else {\n <eds-icon icon=\"user:core\" color=\"neutral\"/>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-content',\n templateUrl: './eds-avatar-content.html',\n styleUrl: './eds-avatar-content.scss',\n host: {\n class: 'eds-avatar-content',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarContent {\n}\n","<ng-content select=\"eds-avatar-content-label\"/>\n<ng-content select=\"eds-avatar-content-sublabel\"/>","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-content-sublabel',\n template: '<ng-content />',\n styleUrl: './eds-avatar-content-sublabel.scss',\n host: {\n class: 'eds-avatar-content-sublabel',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarContentSublabel {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-content-label',\n template: '<ng-content />',\n styleUrl: './eds-avatar-content-label.scss',\n host: {\n class: 'eds-avatar-content-label',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarContentLabel {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-list',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-list.scss',\n host: {\n class: 'eds-avatar-list',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarList {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-text',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-text.scss',\n host: {\n class: 'eds-avatar-text',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarText {\n}\n","import { Component, ChangeDetectionStrategy, input, contentChild, computed } from '@angular/core';\nimport { EdsAvatarImage } from './eds-avatar-image';\n\n/**\n * Local narrowed size union — the avatar's size contract.\n */\nexport type EdsAvatarSize = '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl';\n\n@Component({\n selector: 'div[edsAvatar], span[edsAvatar], eds-avatar',\n templateUrl: './eds-avatar.html',\n styleUrl: './eds-avatar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-avatar',\n role: 'img',\n '[attr.size]': 'size()',\n '[attr.color]': 'color() || null',\n '[attr.image]': 'hasImage() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class EdsAvatar {\n /**\n * Data attribute for E2E testing\n * @default 'eds-avatar'\n */\n e2eAttr = input('eds-avatar');\n\n /**\n * Size of the avatar.\n * @default 'm'\n */\n size = input<EdsAvatarSize>('m');\n\n /**\n * ARIA label for accessibility.\n * Should describe the avatar's identity (e.g. user name, initials meaning).\n * When null, no aria-label is rendered — ensure visible text or an explicit label is provided.\n * @default null\n */\n ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n /**\n * Extra color palette applied to the avatar surface (maps to an EDS color palette,\n * e.g. `info`, `success`, `warning`, `critical`). Empty string uses the default neutral surface.\n * @default ''\n */\n color = input<string>('');\n\n /** Signal-based content query for avatar image sub-component. */\n protected avatarImage = contentChild(EdsAvatarImage);\n\n /** Whether an image sub-component is projected. */\n protected hasImage = computed(() => !!this.avatarImage());\n}\n","<div class=\"eds-avatar-wrapper\">\n <ng-content select=\"eds-avatar-icon\"/>\n <ng-content select=\"eds-avatar-text\"/>\n <ng-content select=\"eds-avatar-image\"/>\n <ng-content select=\"eds-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eds-avatar-content\"/>\n","import { EdsAvatarBadge } from './eds-avatar-badge';\nimport { EdsAvatarIcon } from './eds-avatar-icon';\nimport { EdsAvatarImage } from './eds-avatar-image';\nimport { EdsAvatarContent } from './eds-avatar-content';\nimport { EdsAvatarContentSublabel } from './eds-avatar-content-sublabel';\nimport { EdsAvatarContentLabel } from './eds-avatar-content-label';\nimport { EdsAvatarList } from './eds-avatar-list';\nimport { EdsAvatarText } from './eds-avatar-text';\nimport { EdsAvatar } from './eds-avatar';\n\nexport * from './eds-avatar';\nexport * from './eds-avatar-icon';\nexport * from './eds-avatar-text';\nexport * from './eds-avatar-image';\nexport * from './eds-avatar-badge';\nexport * from './eds-avatar-list';\nexport * from './eds-avatar-content';\nexport * from './eds-avatar-content-label';\nexport * from './eds-avatar-content-sublabel';\n\nexport const EDS_AVATAR = [\n EdsAvatar,\n EdsAvatarIcon,\n EdsAvatarText,\n EdsAvatarImage,\n EdsAvatarBadge,\n EdsAvatarList,\n EdsAvatarContent,\n EdsAvatarContentLabel,\n EdsAvatarContentSublabel,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-eds-eds-avatar.mjs","sources":["../../eds-avatar/eds-avatar-badge.ts","../../eds-avatar/eds-avatar-icon.ts","../../eds-avatar/eds-avatar-image.ts","../../eds-avatar/eds-avatar-image.html","../../eds-avatar/eds-avatar-content.ts","../../eds-avatar/eds-avatar-content.html","../../eds-avatar/eds-avatar-content-sublabel.ts","../../eds-avatar/eds-avatar-content-label.ts","../../eds-avatar/eds-avatar-list.ts","../../eds-avatar/eds-avatar-text.ts","../../eds-avatar/eds-avatar.ts","../../eds-avatar/eds-avatar.html","../../eds-avatar/index.ts","../../eds-avatar/eui-eds-eds-avatar.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-badge',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-badge.scss',\n host: {\n class: 'eds-avatar-badge',\n '[attr.position]': 'isPositionBottom() ? \"bottom\" : \"top\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarBadge {\n /**\n * Whether the badge is positioned at the bottom of the avatar.\n * @default false\n */\n isPositionBottom = input(false, { transform: booleanAttribute });\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-icon',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-icon.scss',\n host: {\n class: 'eds-avatar-icon',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarIcon {}\n","import { ChangeDetectionStrategy, Component, input, computed } from '@angular/core';\nimport { EDS_ICON } from '@eui/eds/eds-icon';\n\n@Component({\n selector: 'eds-avatar-image',\n templateUrl: './eds-avatar-image.html',\n styleUrl: './eds-avatar-image.scss',\n imports: [\n ...EDS_ICON,\n ],\n host: {\n class: 'eds-avatar-image',\n '[attr.default]': 'isDefault() || null',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarImage {\n /**\n * URL of the image to be displayed in the avatar.\n * If not provided, a default (user icon) is shown.\n */\n imageUrl = input<string>('');\n\n /** Whether the default (no image URL) fallback is shown. */\n protected isDefault = computed(() => !this.imageUrl());\n\n /**\n * The final image URL to be used in the template.\n * This will be either the provided imageUrl or a default image URL.\n */\n public imageUrlGenerated = 'assets';\n}\n","@if (imageUrl()) {\n <div class=\"eds-avatar-image-wrapper\">\n <img [src]=\"imageUrl()\" alt=\"Avatar\"/>\n </div>\n} @else {\n <eds-icon icon=\"user:core\" color=\"neutral\"/>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-content',\n templateUrl: './eds-avatar-content.html',\n styleUrl: './eds-avatar-content.scss',\n host: {\n class: 'eds-avatar-content',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarContent {\n}\n","<ng-content select=\"eds-avatar-content-label\"/>\n<ng-content select=\"eds-avatar-content-sublabel\"/>","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-content-sublabel',\n template: '<ng-content />',\n styleUrl: './eds-avatar-content-sublabel.scss',\n host: {\n class: 'eds-avatar-content-sublabel',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarContentSublabel {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-content-label',\n template: '<ng-content />',\n styleUrl: './eds-avatar-content-label.scss',\n host: {\n class: 'eds-avatar-content-label',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarContentLabel {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-list',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-list.scss',\n host: {\n class: 'eds-avatar-list',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarList {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'eds-avatar-text',\n template: '<ng-content/>',\n styleUrl: './eds-avatar-text.scss',\n host: {\n class: 'eds-avatar-text',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EdsAvatarText {\n}\n","import { Component, ChangeDetectionStrategy, input, contentChild, computed } from '@angular/core';\nimport { EdsAvatarImage } from './eds-avatar-image';\n\n/**\n * Local narrowed size union — the avatar's size contract.\n */\nexport type EdsAvatarSize = '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl';\n\n@Component({\n selector: 'div[edsAvatar], span[edsAvatar], eds-avatar',\n templateUrl: './eds-avatar.html',\n styleUrl: './eds-avatar.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'eds-avatar',\n role: 'img',\n '[attr.size]': 'size()',\n '[attr.color]': 'color() || null',\n '[attr.image]': 'hasImage() || null',\n '[attr.data-e2e]': 'e2eAttr()',\n '[attr.aria-label]': 'ariaLabel()',\n },\n})\nexport class EdsAvatar {\n /**\n * Data attribute for E2E testing\n * @default 'eds-avatar'\n */\n e2eAttr = input('eds-avatar');\n\n /**\n * Size of the avatar.\n * @default 'm'\n */\n size = input<EdsAvatarSize>('m');\n\n /**\n * ARIA label for accessibility.\n * Should describe the avatar's identity (e.g. user name, initials meaning).\n * When null, no aria-label is rendered — ensure visible text or an explicit label is provided.\n * @default null\n */\n ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n /**\n * Extra color palette applied to the avatar surface (maps to an EDS color palette,\n * e.g. `info`, `success`, `warning`, `critical`). Empty string uses the default neutral surface.\n * @default ''\n */\n color = input<string>('');\n\n /** Signal-based content query for avatar image sub-component. */\n protected avatarImage = contentChild(EdsAvatarImage);\n\n /** Whether an image sub-component is projected. */\n protected hasImage = computed(() => !!this.avatarImage());\n}\n","<div class=\"eds-avatar-wrapper\">\n <ng-content select=\"eds-avatar-icon\"/>\n <ng-content select=\"eds-avatar-text\"/>\n <ng-content select=\"eds-avatar-image\"/>\n <ng-content select=\"eds-avatar-badge\"/>\n</div>\n\n<ng-content select=\"eds-avatar-content\"/>\n","import { EdsAvatarBadge } from './eds-avatar-badge';\nimport { EdsAvatarIcon } from './eds-avatar-icon';\nimport { EdsAvatarImage } from './eds-avatar-image';\nimport { EdsAvatarContent } from './eds-avatar-content';\nimport { EdsAvatarContentSublabel } from './eds-avatar-content-sublabel';\nimport { EdsAvatarContentLabel } from './eds-avatar-content-label';\nimport { EdsAvatarList } from './eds-avatar-list';\nimport { EdsAvatarText } from './eds-avatar-text';\nimport { EdsAvatar } from './eds-avatar';\n\nexport * from './eds-avatar';\nexport * from './eds-avatar-icon';\nexport * from './eds-avatar-text';\nexport * from './eds-avatar-image';\nexport * from './eds-avatar-badge';\nexport * from './eds-avatar-list';\nexport * from './eds-avatar-content';\nexport * from './eds-avatar-content-label';\nexport * from './eds-avatar-content-sublabel';\n\nexport const EDS_AVATAR = [\n EdsAvatar,\n EdsAvatarIcon,\n EdsAvatarText,\n EdsAvatarImage,\n EdsAvatarBadge,\n EdsAvatarList,\n EdsAvatarContent,\n EdsAvatarContentLabel,\n EdsAvatarContentSublabel,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|