@fundamental-ngx/core 0.52.2-rc.2 → 0.52.2-rc.21

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.
Files changed (33) hide show
  1. package/dialog/base/dialog-ref-base.class.d.ts +1 -1
  2. package/esm2022/datetime-picker/datetime-picker.component.mjs +9 -5
  3. package/esm2022/dialog/base/dialog-ref-base.class.mjs +4 -2
  4. package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +154 -38
  5. package/esm2022/grid-list/components/grid-list-item/grid-list-item.component.mjs +45 -17
  6. package/esm2022/grid-list/models/grid-list-selection.models.mjs +10 -1
  7. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +1 -1
  8. package/esm2022/multi-combobox/multi-announcer/multi-announcer.directive.mjs +7 -12
  9. package/esm2022/multi-combobox/multi-combobox.component.mjs +10 -5
  10. package/esm2022/shared/interfaces/popover-position.mjs +19 -1
  11. package/esm2022/slider/slider.component.mjs +3 -3
  12. package/esm2022/wizard/wizard.component.mjs +12 -12
  13. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +8 -4
  14. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-dialog.mjs +3 -1
  16. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-grid-list.mjs +203 -50
  18. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +14 -14
  20. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-shared.mjs +19 -1
  22. package/fesm2022/fundamental-ngx-core-shared.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-slider.mjs +2 -2
  24. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-wizard.mjs +11 -11
  26. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  27. package/grid-list/components/grid-list/grid-list.component.d.ts +20 -0
  28. package/grid-list/components/grid-list-item/grid-list-item.component.d.ts +7 -2
  29. package/grid-list/models/grid-list-selection.models.d.ts +8 -0
  30. package/multi-combobox/base-multi-combobox.class.d.ts +1 -1
  31. package/multi-combobox/multi-combobox.component.d.ts +9 -2
  32. package/package.json +3 -3
  33. package/shared/interfaces/popover-position.d.ts +17 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-wizard.mjs","sources":["../../../../libs/core/wizard/wizard-next-step/wizard-next-step.component.ts","../../../../libs/core/wizard/wizard-next-step/wizard-next-step.component.html","../../../../libs/core/wizard/wizard-content/wizard-content.component.ts","../../../../libs/core/wizard/wizard-content/wizard-content.component.html","../../../../libs/core/wizard/wizard-injection-token.ts","../../../../libs/core/wizard/wizard-navigation/wizard-navigation.component.ts","../../../../libs/core/wizard/wizard-navigation/wizard-navigation.component.html","../../../../libs/core/wizard/wizard-progress-bar/wizard-progress-bar.directive.ts","../../../../libs/core/wizard/constants.ts","../../../../libs/core/wizard/wizard-step-indicator/wizard-step-indicator.component.ts","../../../../libs/core/wizard/wizard-step-indicator/wizard-step-indicator.component.html","../../../../libs/core/wizard/wizard-step/wizard-step.component.ts","../../../../libs/core/wizard/wizard-step/wizard-step.component.html","../../../../libs/core/wizard/wizard.service.ts","../../../../libs/core/wizard/wizard.component.ts","../../../../libs/core/wizard/wizard.component.html","../../../../libs/core/wizard/wizard.module.ts","../../../../libs/core/wizard/fundamental-ngx-core-wizard.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input, inject } from '@angular/core';\n\n@Component({\n selector: 'fd-wizard-next-step',\n templateUrl: './wizard-next-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class WizardNextStepComponent {\n /**\n * Whether or not the next step button should float directly above the footer.\n */\n @Input()\n floating = false;\n\n /**\n * Whether or not element can be hidden when step status is completed.\n */\n @Input()\n set canHide(value: boolean) {\n this._canHide = value;\n\n if (!value) {\n this._showElement();\n }\n }\n\n get canHide(): boolean {\n return this._canHide;\n }\n\n /** @hidden */\n private _canHide = true;\n\n /** @hidden */\n private readonly _elRef = inject(ElementRef);\n\n /** @hidden */\n _getElRef(): ElementRef {\n return this._elRef;\n }\n\n /** @hidden */\n _showElement(): void {\n this._elRef.nativeElement.style.removeProperty('display');\n }\n\n /** @hidden */\n _hideElement(): void {\n this._elRef.nativeElement.style.display = 'none';\n }\n}\n","<div class=\"fd-wizard__next-step\" [class.fd-wizard__next-step--floating]=\"floating\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { WizardNextStepComponent } from '../wizard-next-step/wizard-next-step.component';\nimport { WizardSize } from '../wizard-progress-bar/wizard-progress-bar.directive';\n\nexport type WizardContentBackground = 'solid' | 'list' | 'transparent';\n\n@Component({\n selector: 'fd-wizard-content',\n templateUrl: './wizard-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './wizard-content.component.scss',\n standalone: true\n})\nexport class WizardContentComponent {\n /**\n * The type of wizard background ('solid', 'list', or 'transparent').\n */\n @Input()\n contentBackground: WizardContentBackground;\n\n /**\n * Size (horizontal paddings) of the wizard content.\n */\n @Input()\n size: WizardSize;\n\n /** @hidden */\n @ViewChild('contentTemplate')\n contentTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ContentChild(WizardNextStepComponent)\n nextStep: WizardNextStepComponent;\n\n /** @hidden */\n wizardContentId: string;\n\n /** @hidden */\n tallContent = false;\n}\n","<ng-template #contentTemplate>\n <section\n [id]=\"wizardContentId\"\n class=\"fd-wizard__content\"\n [class]=\"\n (contentBackground ? 'fd-wizard__content--' + contentBackground + ' ' : '') +\n (size ? 'fd-wizard__content--' + size : '')\n \"\n [class.fd-wizard-tall-content]=\"tallContent\"\n >\n <div class=\"fd-wizard__step-content-container\">\n <ng-content></ng-content>\n </div>\n </section>\n</ng-template>\n","import { InjectionToken } from '@angular/core';\n\nexport interface WizardComponentInterface {\n displaySummaryStep: boolean;\n ariaLabel: string;\n}\n\nexport const WIZARD = new InjectionToken<WizardComponentInterface>('Wizard component dependency');\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WIZARD, WizardComponentInterface } from '../wizard-injection-token';\n\n@Component({\n selector: 'fd-wizard-navigation',\n templateUrl: './wizard-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class WizardNavigationComponent {\n /** Aria label for the wizard navigation component element. */\n @Input()\n set ariaLabel(value: Nullable<string>) {\n this._ariaLabel = value;\n }\n get ariaLabel(): string | undefined {\n return this._ariaLabel ?? this._wizard?.ariaLabel;\n }\n\n /** @hidden */\n private _ariaLabel: Nullable<string>;\n\n /** @hidden */\n constructor(@Optional() @Inject(WIZARD) private _wizard?: WizardComponentInterface) {}\n}\n","<nav class=\"fd-wizard__navigation\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</nav>\n","import { Directive, Input } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type WizardSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-wizard-progress-bar]',\n host: {\n class: 'fd-wizard__progress-bar',\n '[class.fd-wizard__progress-bar--sm]': 'size === \"sm\"',\n '[class.fd-wizard__progress-bar--md]': 'size === \"md\"',\n '[class.fd-wizard__progress-bar--lg]': 'size === \"lg\"',\n '[class.fd-wizard__progress-bar--xl]': 'size === \"xl\"',\n '[style.display]': 'visible ? \"\" : \"none\"'\n },\n standalone: true\n})\nexport class WizardProgressBarDirective {\n /**\n * Size (horizontal paddings) of the wizard progress bar.\n */\n @Input()\n size: Nullable<WizardSize> = null;\n\n /** @hidden */\n visible = true;\n}\n","import { InjectionToken } from '@angular/core';\nimport { WizardStepIndicator } from './models/wizard-step';\n\nexport const ACTIVE_STEP_STATUS = 'active';\nexport const CURRENT_STEP_STATUS = 'current';\nexport const UPCOMING_STEP_STATUS = 'upcoming';\nexport const COMPLETED_STEP_STATUS = 'completed';\nexport const FD_WIZARD_STEP_INDICATOR = new InjectionToken<WizardStepIndicator>('FdWizardStepindicator');\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n signal\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n ActionSheetBodyComponent,\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent\n} from '@fundamental-ngx/core/action-sheet';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent, IconFont } from '@fundamental-ngx/core/icon';\nimport { Subscription } from 'rxjs';\nimport { FD_WIZARD_STEP_INDICATOR } from '../constants';\nimport { WizardStepIndicator } from '../models/wizard-step';\nimport { WizardStepComponent } from '../wizard-step/wizard-step.component';\n\n@Component({\n selector: 'fd-wizard-step-indicator',\n templateUrl: './wizard-step-indicator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_WIZARD_STEP_INDICATOR,\n useExisting: WizardStepIndicatorComponent\n }\n ],\n standalone: true,\n imports: [\n ActionSheetComponent,\n ActionSheetControlComponent,\n NgTemplateOutlet,\n ActionSheetBodyComponent,\n ActionSheetItemComponent,\n IconComponent\n ]\n})\nexport class WizardStepIndicatorComponent implements WizardStepIndicator, OnDestroy {\n /**\n * The icon to use for this step.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /**\n * Event emitted when this step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n /** @hidden */\n @ViewChild(ActionSheetComponent)\n actionSheet: ActionSheetComponent;\n\n /** @hidden */\n stackedItems$ = signal<WizardStepComponent[]>([]);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n stepItemClicked(step?: WizardStepComponent, event?: MouseEvent): void {\n if (step && step.visited) {\n if (this.actionSheet) {\n this.actionSheet.close();\n }\n event?.preventDefault();\n this.stepIndicatorItemClicked.emit(step);\n }\n }\n\n /** @hidden */\n setStackedItems(items: WizardStepComponent[]): void {\n this.stackedItems$.set(items || []);\n }\n}\n","@if (stackedItems$() && stackedItems$().length > 1) {\n <fd-action-sheet [style.pointer-events]=\"'all'\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-template [ngTemplateOutlet]=\"stepIndicatorContent\"></ng-template>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @for (step of stackedItems$(); track step) {\n <li\n fd-action-sheet-item\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [glyphFont]=\"glyphFont\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n} @else {\n <span\n class=\"fd-wizard__step-indicator\"\n (click)=\"stepItemClicked(stackedItems$().length ? stackedItems$()[0] : undefined, $event)\"\n >\n <ng-template [ngTemplateOutlet]=\"stepIndicatorContent\"></ng-template>\n </span>\n}\n<ng-template #stepIndicatorContent>\n @if (glyph) {\n <fd-icon [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n }\n <ng-content></ng-content>\n</ng-template>\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Subscription } from 'rxjs';\nimport { WizardContentComponent } from '../wizard-content/wizard-content.component';\n\nexport type WizardStepStatus = 'completed' | 'current' | 'upcoming' | 'active';\n\nimport { COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS, FD_WIZARD_STEP_INDICATOR } from '../constants';\nimport { WizardStepIndicator } from '../models/wizard-step';\nimport { WIZARD, WizardComponentInterface } from '../wizard-injection-token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-wizard-step]',\n host: {\n class: 'fd-wizard__step',\n '[class.fd-wizard__step--completed]': 'status === \"completed\" || completed',\n '[class.fd-wizard__step--current]': 'status === \"current\"',\n '[class.fd-wizard__step--upcoming]': 'status === \"upcoming\"',\n '[class.fd-wizard__step--active]': 'status === \"active\"',\n '[attr.aria-label]': 'ariaLabel'\n },\n templateUrl: './wizard-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: []\n})\nexport class WizardStepComponent implements OnChanges, AfterViewInit, OnDestroy {\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaRoleDecription = 'Navigation';\n\n /**\n * The type of step ('completed', 'current', 'upcoming', and 'active'.)\n */\n @Input()\n status: WizardStepStatus;\n\n /**\n * Whether or not this is a 'branching' step.\n */\n @Input()\n branching = false;\n\n /**\n * The label text.\n */\n @Input()\n label: string;\n\n /**\n * The smaller text for labeling the step as optional.\n */\n @Input()\n optionalText: string;\n\n /**\n * Whether or not this step is the summary page.\n */\n @Input()\n isSummary = false;\n\n /**\n * User-defined validation function which determines if user can navigate between steps.\n */\n @Input()\n stepClickValidator: (visited: boolean, completed: boolean) => boolean | Promise<boolean>;\n\n /**\n * Event emitted when the wizard step's status changes.\n */\n @Output()\n statusChange = new EventEmitter<WizardStepStatus>();\n\n /**\n * Event emitted when a step is clicked.\n */\n @Output()\n stepClicked = new EventEmitter<WizardStepComponent>();\n\n /**\n * Event emitted when a step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n /** @hidden */\n @ContentChild(WizardContentComponent)\n content: WizardContentComponent;\n\n /** @hidden */\n @ContentChild(FD_WIZARD_STEP_INDICATOR)\n stepIndicator: WizardStepIndicator<WizardStepComponent>;\n\n /** The wizard label span element. */\n @ViewChild('wizardLabel', { read: ElementRef })\n wizardLabel: ElementRef;\n\n /** @hidden */\n @ViewChild('progressBarLink', { read: ElementRef })\n progressBarLink: ElementRef;\n\n /** @hidden */\n glyph: string;\n\n /** @hidden */\n visited = false;\n\n /** @hidden */\n completed = false;\n\n /** @hidden */\n _stepId: number;\n\n /** @hidden */\n _finalStep = false;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n @Optional() @Inject(WIZARD) private _wizard: WizardComponentInterface\n ) {}\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.status) {\n if (\n changes.status.previousValue === CURRENT_STEP_STATUS &&\n changes.status.currentValue === COMPLETED_STEP_STATUS\n ) {\n this.completed = true;\n }\n this.statusChange.emit(this.status);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.isSummary && !this._wizard?.displaySummaryStep) {\n this._summaryInit();\n } else if (this.stepIndicator) {\n this._notSummaryInit();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n setFinalStep(val: boolean): void {\n this._finalStep = val;\n this._cdRef.detectChanges();\n }\n\n /** @hidden */\n async stepContainerKeypress(event?: KeyboardEvent): Promise<void> {\n if (event) {\n event.preventDefault();\n }\n\n if (\n this.visited &&\n (!event || KeyUtil.isKeyCode(event, [SPACE, ENTER])) &&\n (!this.stepIndicator ||\n !this.stepIndicator.stackedItems$() ||\n !this.stepIndicator.stackedItems$().length) &&\n (this.stepClickValidator === undefined ||\n (await this.stepClickValidator(this.visited, this.completed)) === true)\n ) {\n this.stepClicked.emit(this);\n }\n }\n\n /** @hidden */\n getClassList(): DOMTokenList {\n return this._elRef.nativeElement.classList;\n }\n\n /** @hidden */\n hasLabel(label: string): boolean {\n return this._elRef.nativeElement.classList.contains(label);\n }\n\n /** @hidden */\n getStepClientWidth(): number {\n return this._elRef.nativeElement.clientWidth;\n }\n\n /** @hidden */\n removeFromDom(): void {\n if (this._elRef.nativeElement.parentNode) {\n this._elRef.nativeElement.parentNode.removeChild(this._elRef.nativeElement);\n }\n }\n\n /** @hidden */\n _summaryInit(): void {\n this._elRef.nativeElement.style.display = 'none';\n this.content.tallContent = true;\n }\n\n /** @hidden */\n _notSummaryInit(): void {\n this._subscriptions.add(\n this.stepIndicator.stepIndicatorItemClicked.subscribe((step) => {\n this.stepIndicatorItemClicked.emit(step);\n })\n );\n if (this.stepIndicator.glyph) {\n this.glyph = this.stepIndicator.glyph;\n }\n }\n}\n","<div class=\"fd-wizard__step-wrapper\">\n @if (label || optionalText) {\n <a\n #progressBarLink\n class=\"fd-wizard__step-container\"\n (click)=\"stepContainerKeypress()\"\n (keypress)=\"stepContainerKeypress($event)\"\n [style.cursor]=\"visited ? 'pointer' : 'auto'\"\n [style.pointer-events]=\"visited ? 'auto' : 'none'\"\n [attr.tabindex]=\"status === 'current' ? 0 : -1\"\n [attr.aria-roledescription]=\"ariaRoleDecription\"\n >\n <ng-content select=\"fd-wizard-step-indicator\"></ng-content>\n <div class=\"fd-wizard__label-container\" [class.fd-wizard__label-container--optional]=\"optionalText\">\n <div #wizardLabel>\n <span class=\"fd-wizard__label\">{{ label }}</span>\n @if (optionalText) {\n <span class=\"fd-wizard__optional-text\">\n {{ optionalText }}\n </span>\n }\n </div>\n </div>\n </a>\n }\n <ng-content></ng-content>\n @if (!_finalStep || branching) {\n <span\n class=\"fd-wizard__connector\"\n [class.fd-wizard__connector--active]=\"completed\"\n [class.fd-wizard__connector--branching]=\"branching\"\n >\n </span>\n }\n</div>\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Injectable, QueryList, inject } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS } from './constants';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\n\n@Injectable()\nexport class WizardService {\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n progressBarKeyHandler(event: any, steps: QueryList<WizardStepComponent>, index: number): void {\n const rtlDirection = this._rtlService?.rtlSignal();\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (\n steps.get(index - 1)?.status === COMPLETED_STEP_STATUS ||\n steps.get(index - 1)?.status === CURRENT_STEP_STATUS\n ) {\n if (!rtlDirection) {\n this._focusPrevious(index, steps);\n } else {\n this._focusNext(index, steps);\n }\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (steps.get(index)?.status === COMPLETED_STEP_STATUS) {\n if (!rtlDirection) {\n this._focusNext(index, steps);\n } else {\n this._focusPrevious(index, steps);\n }\n }\n }\n }\n\n /** @hidden */\n private _focusNext(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index + 1 < steps.length) {\n steps.get(index + 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(0)?.progressBarLink.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _focusPrevious(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index - 1 >= 0) {\n steps.get(index - 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(steps.length - 1)?.progressBarLink.nativeElement.focus();\n }\n }\n}\n","import { CdkScrollable } from '@angular/cdk/scrolling';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { Nullable, TabbableElementService, scrollTop } from '@fundamental-ngx/cdk/utils';\nimport { DialogBodyComponent, FD_DIALOG_BODY_COMPONENT } from '@fundamental-ngx/core/dialog';\nimport { ScrollSpyDirective } from '@fundamental-ngx/core/scroll-spy';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { resolveTranslationSignal } from '@fundamental-ngx/i18n';\nimport { Subscription } from 'rxjs';\nimport { ACTIVE_STEP_STATUS, COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS, UPCOMING_STEP_STATUS } from './constants';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { WIZARD } from './wizard-injection-token';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardService } from './wizard.service';\n\nexport const STEP_MIN_WIDTH = 168;\nexport const STEP_STACKED_TOP_CLASS = 'fd-wizard__step--stacked-top';\nexport const STEP_STACKED_CLASS = 'fd-wizard__step--stacked';\nexport const STEP_NO_LABEL_CLASS = 'fd-wizard__step--no-label';\n\nexport const WIZARD_NAVIGATION_CLASS = 'fd-wizard__navigation';\nexport const WIZARD_CONTENT_CLASS = 'fd-wizard__content';\nexport const WIZARD_CONTAINER_WRAPPER_CLASS = 'fd-wizard-container-wrapper';\nexport const WIZARD_TALL_CONTENT_CLASS = 'fd-wizard-tall-content';\nexport const SHELLBAR_CLASS = 'fd-shellbar';\nexport const BAR_FOOTER_CLASS = 'fd-bar--footer';\nexport const BAR_FLOATING_FOOTER_CLASS = 'fd-bar--floating-footer';\n\nexport let _fromScrollToCurrentStep;\nexport let timer: any = null;\nexport const handleTimeoutReference = (): void => {\n if (timer !== null) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n _fromScrollToCurrentStep = false;\n }, 150);\n};\n\n@Component({\n selector: 'fd-wizard',\n templateUrl: './wizard.component.html',\n styleUrl: './wizard.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WizardService,\n {\n provide: WIZARD,\n useExisting: WizardComponent\n }\n ],\n host: {\n role: 'region',\n '[attr.aria-label]': 'ariaLabel || _defaultAriaLabel()'\n },\n standalone: true,\n imports: [ScrollSpyDirective, CdkScrollable, ScrollbarDirective, NgTemplateOutlet]\n})\nexport class WizardComponent implements AfterViewInit, OnDestroy {\n /**\n * Whether or not to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n appendToWizard = true;\n\n /**\n * Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string | null>;\n\n /**\n * Whether or not apply responsive paddings styling.\n */\n @Input()\n @HostBinding('class.fd-wizard--responsive-paddings')\n responsivePaddings = false;\n\n /** Whether to display a summary step. */\n @Input()\n displaySummaryStep = false;\n\n /**\n * adding aria label to the component\n * If not provided, is being translated by i18n package\n */\n @Input()\n ariaLabel: string;\n\n /** @hidden */\n @ContentChildren(WizardStepComponent, { descendants: true })\n steps: QueryList<WizardStepComponent>;\n\n /** @hidden */\n @ContentChild(WizardProgressBarDirective)\n progressBar: WizardProgressBarDirective;\n\n /** @hidden */\n @ContentChildren(WizardContentComponent)\n wizardContent: WizardContentComponent;\n\n /** @hidden */\n @ViewChild('wrapperContainer')\n wrapperContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild(ScrollbarDirective)\n scrollbar: ScrollbarDirective;\n\n /** @hidden */\n contentTemplates: TemplateRef<any>[] = [];\n\n /** @hidden */\n stackedStepsLeft: WizardStepComponent[] = [];\n\n /** @hidden */\n stackedStepsRight: WizardStepComponent[] = [];\n\n /** @hidden */\n protected _defaultAriaLabel = resolveTranslationSignal('coreWizard.ariaLabel');\n\n /** @hidden */\n private _stepEventSubscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _previousWidth: number;\n\n /** @hidden */\n private readonly _tabbableService = inject(TabbableElementService);\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private readonly _cdRef: ChangeDetectorRef,\n @Optional() @Inject(FD_DIALOG_BODY_COMPONENT) private _dialogBodyComponent: DialogBodyComponent\n ) {}\n\n /** @hidden */\n @HostListener('window:resize')\n resizeHandler(): void {\n const wizardWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n if (!this._previousWidth || wizardWidth <= this._previousWidth) {\n this._wizardShrinking();\n } else if (wizardWidth > this._previousWidth) {\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n this._previousWidth = wizardWidth;\n if (this.contentHeight) {\n this._elRef.nativeElement.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n this.contentHeight;\n } else {\n this._setContainerAndTallContentHeight();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n setTimeout(() => {\n if (this._subscriptions.closed) {\n return;\n }\n\n // fixes ExpressionChangedAfterItHasBeenCheckedError\n this._setContentTemplates();\n this._subscriptions.add(\n this.steps.changes.subscribe(() => {\n this._handleStepOrStatusChanges();\n this._setupStepEvents();\n })\n );\n this._setupStepEvents();\n this._cdRef.detectChanges();\n this._handleStepOrStatusChanges();\n this.resizeHandler();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._subscriptions.unsubscribe();\n this.wrapperContainer?.nativeElement.removeEventListener('scroll', handleTimeoutReference);\n }\n\n /** @hidden */\n scrollSpyChange($event: HTMLElement): void {\n if (!_fromScrollToCurrentStep) {\n this.steps.forEach((step) => {\n if (step._stepId.toString() === $event.children[0].children[0].id) {\n step.status = CURRENT_STEP_STATUS;\n } else if (step._stepId < parseInt($event.children[0].children[0].id, 10)) {\n step.status = COMPLETED_STEP_STATUS;\n } else {\n step.status = UPCOMING_STEP_STATUS;\n }\n });\n }\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n\n /**\n * @hidden\n * @private\n * This function determines the height of the wizard content by looking for the document's shellbar, the wizard\n * navigation and the wizard footer, and calculating the height based on their presence.\n */\n private _calculateContentHeight(): number {\n let wizardNavHeight = 0;\n const shellbarHeight = this._getShellbarHeight();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n wizardNavHeight = this._getWizardNavHeight();\n }\n const wizardFooterHeight = this._getWizardFooterHeight();\n const dialogOffset = this._getDialogOffset();\n\n return shellbarHeight + wizardNavHeight + wizardFooterHeight + dialogOffset;\n }\n\n /** @hidden */\n private _getShellbarHeight(): number {\n return document.querySelector<HTMLElement>('.' + SHELLBAR_CLASS)?.clientHeight ?? 0;\n }\n\n /** @hidden */\n private _getWizardNavHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS)) {\n retVal = wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS).clientHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getWizardFooterHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + BAR_FOOTER_CLASS)) {\n retVal = wizard.querySelector('.' + BAR_FOOTER_CLASS).offsetHeight;\n } else if (wizard.querySelector('.' + BAR_FLOATING_FOOTER_CLASS)) {\n retVal = wizard.querySelector('.' + BAR_FLOATING_FOOTER_CLASS).offsetHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getDialogOffset(): number {\n let retVal = 0;\n if (this._dialogBodyComponent) {\n const dialogBody = this._dialogBodyComponent.elementRef.nativeElement;\n if (dialogBody.tagName.toLowerCase() === 'fd-dialog-body') {\n this._dialogBodyComponent.dialogConfig.verticalPadding = false;\n const dialogBodyTitle = dialogBody.querySelector('.fd-title--h2');\n if (dialogBodyTitle) {\n retVal = dialogBodyTitle.offsetHeight;\n }\n retVal = retVal + window.innerHeight - dialogBody.offsetHeight;\n }\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setContainerAndTallContentHeight(): void {\n const wizard = this._elRef.nativeElement;\n const combinedHeight = this.contentHeight ? this.contentHeight : this._calculateContentHeight();\n if (wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS)) {\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n }\n wizard.querySelectorAll('.' + WIZARD_CONTENT_CLASS).forEach((node) => {\n node.style.height = 'auto';\n });\n if (wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS)) {\n if (\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).offsetHeight <\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).offsetHeight\n ) {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n } else {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.paddingBottom = '24px';\n }\n }\n }\n\n /** @hidden */\n private _setupStepEvents(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._stepEventSubscriptions = new Subscription();\n this.steps.forEach((step) => {\n this._stepEventSubscriptions.add(\n step.stepClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n this._stepEventSubscriptions.add(\n step.statusChange.subscribe(() => {\n this._handleStepOrStatusChanges();\n })\n );\n this._stepEventSubscriptions.add(\n step.stepIndicatorItemClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n // need to call wizardShrinking for each step < 168px on first load\n if (step.wizardLabel && step.getStepClientWidth() < STEP_MIN_WIDTH) {\n this._wizardShrinking();\n }\n });\n }\n\n /** @hidden */\n private _wizardShrinking(): void {\n const currentStep = this._getCurrentStep();\n if (\n currentStep &&\n (!currentStep.isSummary || this.displaySummaryStep) &&\n currentStep.wizardLabel &&\n currentStep.getStepClientWidth() < STEP_MIN_WIDTH\n ) {\n this._hideSomeStep(currentStep);\n this._setStackedTop();\n }\n }\n\n /** @hidden */\n private _setContentTemplates(): void {\n const templatesLength = this.contentTemplates.length;\n this.contentTemplates = [];\n let _stepId = 0;\n const steps = this.steps.toArray();\n for (const step of steps) {\n if (step.content) {\n if (!step.isSummary || this.displaySummaryStep) {\n step.content.tallContent = false;\n }\n step.content.wizardContentId = _stepId.toString();\n }\n step._stepId = _stepId;\n _stepId++;\n step.setFinalStep(false);\n /*\n If the step is completed and appendToWizard is true, hide the nextStep button, unless it's the last step,\n or if there's a summary and it is the second to last step\n */\n if (\n step.completed &&\n this.appendToWizard &&\n step.content?.nextStep?.canHide &&\n step !== this._getLastNonSummaryStep()\n ) {\n step.content.nextStep._hideElement();\n } else if (\n step.content?.nextStep &&\n ((step.completed && this.appendToWizard) ||\n (step.visited && step.branching && step.status === CURRENT_STEP_STATUS))\n ) {\n step.content.nextStep._showElement();\n }\n if (\n step.visited ||\n ((step.status === CURRENT_STEP_STATUS || step.status === COMPLETED_STEP_STATUS) && step.content)\n ) {\n step.visited = true;\n if (step.status === CURRENT_STEP_STATUS && (!step.completed || !this.appendToWizard)) {\n step.content.tallContent = true;\n }\n\n const isCurrentStep = !this.appendToWizard && step.status === CURRENT_STEP_STATUS;\n\n if (!templatesLength || isCurrentStep) {\n this.contentTemplates = [step.content.contentTemplate];\n\n // If we found needed step, break the cycle, since it might set wrong step later.\n if (isCurrentStep) {\n break;\n }\n } else if (this.appendToWizard && (!step.isSummary || this.displaySummaryStep)) {\n this.contentTemplates.push(step.content.contentTemplate);\n }\n }\n }\n\n const lastVisibleTemplate = steps[this.contentTemplates.length - 1];\n if (lastVisibleTemplate && lastVisibleTemplate.content) {\n lastVisibleTemplate.content.tallContent = true;\n }\n this._setFinalStep();\n }\n\n /** @hidden */\n private _scrollToCurrentStep(): void {\n if (this.appendToWizard) {\n _fromScrollToCurrentStep = true;\n this.steps.forEach((step, index) => {\n if (step.status === CURRENT_STEP_STATUS && (!step.isSummary || this.displaySummaryStep)) {\n const child = this.wrapperContainer.nativeElement.children[0].children[index] as HTMLElement;\n const wizardNavigationHeight = this._elRef.nativeElement.querySelector(\n '.' + WIZARD_NAVIGATION_CLASS\n ).clientHeight;\n\n scrollTop(this.wrapperContainer.nativeElement, child.offsetTop - wizardNavigationHeight);\n\n if (index === 0) {\n this._focusFirstTabbableElement(index);\n } else {\n // setTimeout needed to allow for smooth scroll animation\n setTimeout(() => {\n this._focusFirstTabbableElement(index);\n }, 500);\n }\n }\n });\n this._setUpScrollListener();\n }\n }\n\n /** @hidden */\n private _focusFirstTabbableElement(index = 0): void {\n const contentContainer = this._elRef.nativeElement.querySelectorAll('.fd-wizard__content')[index];\n this._tabbableService.getTabbableElement(contentContainer)?.focus();\n }\n\n /** @hidden */\n private _setUpScrollListener(): void {\n this.wrapperContainer?.nativeElement.addEventListener('scroll', handleTimeoutReference, false);\n }\n\n /** @hidden */\n private _hideSomeStep(currentStep: WizardStepComponent): void {\n // If a small step was found, get the step with a visible label furthest away from the current step and hide the label\n let stepsArray = this.steps.toArray();\n stepsArray = stepsArray.filter((step) => !step.hasLabel(STEP_NO_LABEL_CLASS));\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n stepsArray.pop();\n }\n if (stepsArray.length > 1) {\n let currentStepIndex = 0,\n stepToHide;\n if (currentStep) {\n currentStepIndex = stepsArray.indexOf(currentStep);\n }\n currentStepIndex > (stepsArray.length - 1) / 2\n ? (stepToHide = stepsArray[0])\n : (stepToHide = stepsArray[stepsArray.length - 1]);\n stepToHide.getClassList().add(STEP_NO_LABEL_CLASS);\n stepToHide.getClassList().add(STEP_STACKED_CLASS);\n if (stepsArray.indexOf(stepToHide) < currentStepIndex && !this.stackedStepsLeft.includes(stepToHide)) {\n this.stackedStepsLeft.splice(this.steps.toArray().indexOf(stepToHide), 0, stepToHide);\n } else if (\n stepsArray.indexOf(stepToHide) > currentStepIndex &&\n !this.stackedStepsRight.includes(stepToHide)\n ) {\n this.stackedStepsRight.unshift(stepToHide);\n }\n this._cdRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _setStackedTop(): void {\n const currentStep = this._getCurrentStep();\n this.steps.forEach((step, index) => {\n if (step.stepIndicator) {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n if (this.steps.toArray()[index + 1] === currentStep) {\n if (this.steps.length > 1) {\n step.getClassList().add(STEP_STACKED_TOP_CLASS);\n if (!this.stackedStepsLeft.includes(step) && this.stackedStepsLeft.length >= 1) {\n this.stackedStepsLeft.splice(index, 0, step);\n }\n }\n step.stepIndicator.setStackedItems(this.stackedStepsLeft);\n } else {\n step.stepIndicator.stackedItems$.set([]);\n }\n }\n });\n this._getLastNonSummaryStep().stepIndicator?.setStackedItems(this.stackedStepsRight);\n }\n\n /** @hidden */\n private _resetStepClasses(): void {\n this.steps.forEach((step) => {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n step.getClassList().remove(STEP_STACKED_CLASS);\n step.getClassList().remove(STEP_NO_LABEL_CLASS);\n });\n }\n\n /** @hidden */\n private _handleStepOrStatusChanges(): void {\n if (this._isCurrentStepSummary() && !this.displaySummaryStep) {\n setTimeout(() => {\n this.progressBar.visible = false;\n });\n this._showSummary();\n } else {\n this.progressBar.visible = true;\n this._setContentTemplates();\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n if (!this.appendToWizard) {\n this._focusFirstTabbableElement();\n }\n setTimeout(() => {\n this._cdRef.detectChanges();\n this.resizeHandler();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n this._scrollToCurrentStep();\n }\n });\n this._setFinalStep();\n }\n\n /** @hidden */\n private _setFinalStep(): void {\n const lastNonSummaryStep = this._getLastNonSummaryStep();\n if (lastNonSummaryStep) {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n this.steps.last.removeFromDom();\n }\n if (lastNonSummaryStep.content) {\n lastNonSummaryStep.content.tallContent = true;\n }\n lastNonSummaryStep.setFinalStep(true);\n }\n }\n\n /** @hidden */\n private _showSummary(): void {\n this.steps.forEach((step) => {\n if (!step.isSummary) {\n step.completed = true;\n }\n });\n const summary = this.steps.find((step) => step.isSummary);\n if (summary) {\n summary.content.tallContent = true;\n this.contentTemplates = [summary.content.contentTemplate];\n }\n }\n\n /** @hidden */\n private _isCurrentStepSummary(): boolean {\n return this.steps.some((step) => step.status === CURRENT_STEP_STATUS && step.isSummary);\n }\n\n /** @hidden */\n private _getCurrentStep(): WizardStepComponent {\n return this.steps.filter(\n (step) => step.status === CURRENT_STEP_STATUS || step.status === ACTIVE_STEP_STATUS\n )[0];\n }\n\n /** @hidden */\n private _shrinkWhileAnyStepIsTooNarrow(): void {\n // Add small delay for elements to render appropriately.\n setTimeout(() => {\n this.stackedStepsLeft = [];\n this.stackedStepsRight = [];\n this.steps.first.stepIndicator?.setStackedItems(this.stackedStepsLeft);\n this._getLastNonSummaryStep().stepIndicator?.setStackedItems(this.stackedStepsRight);\n this._resetStepClasses();\n let i = 0;\n while (this._anyStepIsTooNarrow() && i < this.steps.length - 1) {\n i++;\n this._wizardShrinking();\n }\n }, 10);\n }\n\n /** @hidden */\n private _anyStepIsTooNarrow(): boolean {\n return this.steps.some((step) => step.getStepClientWidth() < STEP_MIN_WIDTH);\n }\n\n /** @hidden */\n private _stepClicked(clickedStep: WizardStepComponent): void {\n if (!clickedStep) {\n clickedStep = this.steps.first;\n }\n const clickedStepIndex = this.steps.toArray().indexOf(clickedStep);\n this.steps.forEach((step) => {\n if (step === clickedStep) {\n step.status = CURRENT_STEP_STATUS;\n step.statusChange.emit(CURRENT_STEP_STATUS);\n } else if (step !== clickedStep) {\n if (this.steps.toArray().indexOf(step) < clickedStepIndex) {\n step.status = COMPLETED_STEP_STATUS;\n step.statusChange.emit(COMPLETED_STEP_STATUS);\n } else if (this.steps.toArray().indexOf(step) > clickedStepIndex) {\n step.status = UPCOMING_STEP_STATUS;\n step.statusChange.emit(UPCOMING_STEP_STATUS);\n }\n }\n });\n setTimeout(() => {\n (document.activeElement as HTMLElement).blur(); // this function can focus step indicators undesirably\n });\n }\n\n /** @hidden */\n private _getLastNonSummaryStep(): WizardStepComponent {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n return this.steps.toArray()[this.steps.length - 2];\n }\n\n return this.steps.last;\n }\n}\n","<section class=\"fd-wizard\">\n <ng-content select=\"fd-wizard-navigation\"></ng-content>\n @if (appendToWizard) {\n <div\n class=\"fd-wizard-container-wrapper\"\n #wrapperContainer\n fdScrollSpy\n cdkScrollable\n [trackedTags]=\"['div']\"\n (spyChange)=\"scrollSpyChange($event)\"\n >\n <div fd-scrollbar>\n @for (contentTemplate of contentTemplates; track contentTemplate) {\n <div>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </div>\n }\n </div>\n </div>\n } @else {\n <div cdkScrollable class=\"fd-wizard-container-wrapper\">\n <div fd-scrollbar>\n @for (contentTemplate of contentTemplates; track contentTemplate) {\n <div>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </div>\n }\n </div>\n </div>\n }\n <ng-content></ng-content>\n</section>\n","import { NgModule } from '@angular/core';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { WizardNavigationComponent } from './wizard-navigation/wizard-navigation.component';\nimport { WizardNextStepComponent } from './wizard-next-step/wizard-next-step.component';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardStepIndicatorComponent } from './wizard-step-indicator/wizard-step-indicator.component';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardComponent } from './wizard.component';\nimport { WizardService } from './wizard.service';\n\nconst components = [\n WizardComponent,\n WizardNavigationComponent,\n WizardProgressBarDirective,\n WizardStepComponent,\n WizardStepIndicatorComponent,\n WizardContentComponent,\n WizardNextStepComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of `WizardComponent`,\n `WizardNavigationComponent`,\n `WizardProgressBarDirective`,\n `WizardStepComponent`,\n `WizardStepIndicatorComponent`,\n `WizardContentComponent`,\n `WizardNextStepComponent`\n */\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [WizardService]\n})\nexport class WizardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-wizard.mjs","sources":["../../../../libs/core/wizard/wizard-next-step/wizard-next-step.component.ts","../../../../libs/core/wizard/wizard-next-step/wizard-next-step.component.html","../../../../libs/core/wizard/wizard-content/wizard-content.component.ts","../../../../libs/core/wizard/wizard-content/wizard-content.component.html","../../../../libs/core/wizard/wizard-injection-token.ts","../../../../libs/core/wizard/wizard-navigation/wizard-navigation.component.ts","../../../../libs/core/wizard/wizard-navigation/wizard-navigation.component.html","../../../../libs/core/wizard/wizard-progress-bar/wizard-progress-bar.directive.ts","../../../../libs/core/wizard/constants.ts","../../../../libs/core/wizard/wizard-step-indicator/wizard-step-indicator.component.ts","../../../../libs/core/wizard/wizard-step-indicator/wizard-step-indicator.component.html","../../../../libs/core/wizard/wizard-step/wizard-step.component.ts","../../../../libs/core/wizard/wizard-step/wizard-step.component.html","../../../../libs/core/wizard/wizard.service.ts","../../../../libs/core/wizard/wizard.component.ts","../../../../libs/core/wizard/wizard.component.html","../../../../libs/core/wizard/wizard.module.ts","../../../../libs/core/wizard/fundamental-ngx-core-wizard.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input, inject } from '@angular/core';\n\n@Component({\n selector: 'fd-wizard-next-step',\n templateUrl: './wizard-next-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class WizardNextStepComponent {\n /**\n * Whether or not the next step button should float directly above the footer.\n */\n @Input()\n floating = false;\n\n /**\n * Whether or not element can be hidden when step status is completed.\n */\n @Input()\n set canHide(value: boolean) {\n this._canHide = value;\n\n if (!value) {\n this._showElement();\n }\n }\n\n get canHide(): boolean {\n return this._canHide;\n }\n\n /** @hidden */\n private _canHide = true;\n\n /** @hidden */\n private readonly _elRef = inject(ElementRef);\n\n /** @hidden */\n _getElRef(): ElementRef {\n return this._elRef;\n }\n\n /** @hidden */\n _showElement(): void {\n this._elRef.nativeElement.style.removeProperty('display');\n }\n\n /** @hidden */\n _hideElement(): void {\n this._elRef.nativeElement.style.display = 'none';\n }\n}\n","<div class=\"fd-wizard__next-step\" [class.fd-wizard__next-step--floating]=\"floating\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { WizardNextStepComponent } from '../wizard-next-step/wizard-next-step.component';\nimport { WizardSize } from '../wizard-progress-bar/wizard-progress-bar.directive';\n\nexport type WizardContentBackground = 'solid' | 'list' | 'transparent';\n\n@Component({\n selector: 'fd-wizard-content',\n templateUrl: './wizard-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './wizard-content.component.scss',\n standalone: true\n})\nexport class WizardContentComponent {\n /**\n * The type of wizard background ('solid', 'list', or 'transparent').\n */\n @Input()\n contentBackground: WizardContentBackground;\n\n /**\n * Size (horizontal paddings) of the wizard content.\n */\n @Input()\n size: WizardSize;\n\n /** @hidden */\n @ViewChild('contentTemplate')\n contentTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ContentChild(WizardNextStepComponent)\n nextStep: WizardNextStepComponent;\n\n /** @hidden */\n wizardContentId: string;\n\n /** @hidden */\n tallContent = false;\n}\n","<ng-template #contentTemplate>\n <section\n [id]=\"wizardContentId\"\n class=\"fd-wizard__content\"\n [class]=\"\n (contentBackground ? 'fd-wizard__content--' + contentBackground + ' ' : '') +\n (size ? 'fd-wizard__content--' + size : '')\n \"\n [class.fd-wizard-tall-content]=\"tallContent\"\n >\n <div class=\"fd-wizard__step-content-container\">\n <ng-content></ng-content>\n </div>\n </section>\n</ng-template>\n","import { InjectionToken } from '@angular/core';\n\nexport interface WizardComponentInterface {\n displaySummaryStep: boolean;\n ariaLabel: string;\n}\n\nexport const WIZARD = new InjectionToken<WizardComponentInterface>('Wizard component dependency');\n","import { ChangeDetectionStrategy, Component, Inject, Input, Optional } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { WIZARD, WizardComponentInterface } from '../wizard-injection-token';\n\n@Component({\n selector: 'fd-wizard-navigation',\n templateUrl: './wizard-navigation.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class WizardNavigationComponent {\n /** Aria label for the wizard navigation component element. */\n @Input()\n set ariaLabel(value: Nullable<string>) {\n this._ariaLabel = value;\n }\n get ariaLabel(): string | undefined {\n return this._ariaLabel ?? this._wizard?.ariaLabel;\n }\n\n /** @hidden */\n private _ariaLabel: Nullable<string>;\n\n /** @hidden */\n constructor(@Optional() @Inject(WIZARD) private _wizard?: WizardComponentInterface) {}\n}\n","<nav class=\"fd-wizard__navigation\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</nav>\n","import { Directive, Input } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type WizardSize = 'sm' | 'md' | 'lg' | 'xl';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-wizard-progress-bar]',\n host: {\n class: 'fd-wizard__progress-bar',\n '[class.fd-wizard__progress-bar--sm]': 'size === \"sm\"',\n '[class.fd-wizard__progress-bar--md]': 'size === \"md\"',\n '[class.fd-wizard__progress-bar--lg]': 'size === \"lg\"',\n '[class.fd-wizard__progress-bar--xl]': 'size === \"xl\"',\n '[style.display]': 'visible ? \"\" : \"none\"'\n },\n standalone: true\n})\nexport class WizardProgressBarDirective {\n /**\n * Size (horizontal paddings) of the wizard progress bar.\n */\n @Input()\n size: Nullable<WizardSize> = null;\n\n /** @hidden */\n visible = true;\n}\n","import { InjectionToken } from '@angular/core';\nimport { WizardStepIndicator } from './models/wizard-step';\n\nexport const ACTIVE_STEP_STATUS = 'active';\nexport const CURRENT_STEP_STATUS = 'current';\nexport const UPCOMING_STEP_STATUS = 'upcoming';\nexport const COMPLETED_STEP_STATUS = 'completed';\nexport const FD_WIZARD_STEP_INDICATOR = new InjectionToken<WizardStepIndicator>('FdWizardStepindicator');\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n signal\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n ActionSheetBodyComponent,\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent\n} from '@fundamental-ngx/core/action-sheet';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent, IconFont } from '@fundamental-ngx/core/icon';\nimport { Subscription } from 'rxjs';\nimport { FD_WIZARD_STEP_INDICATOR } from '../constants';\nimport { WizardStepIndicator } from '../models/wizard-step';\nimport { WizardStepComponent } from '../wizard-step/wizard-step.component';\n\n@Component({\n selector: 'fd-wizard-step-indicator',\n templateUrl: './wizard-step-indicator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_WIZARD_STEP_INDICATOR,\n useExisting: WizardStepIndicatorComponent\n }\n ],\n standalone: true,\n imports: [\n ActionSheetComponent,\n ActionSheetControlComponent,\n NgTemplateOutlet,\n ActionSheetBodyComponent,\n ActionSheetItemComponent,\n IconComponent\n ]\n})\nexport class WizardStepIndicatorComponent implements WizardStepIndicator, OnDestroy {\n /**\n * The icon to use for this step.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /**\n * Event emitted when this step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n /** @hidden */\n @ViewChild(ActionSheetComponent)\n actionSheet: ActionSheetComponent;\n\n /** @hidden */\n stackedItems$ = signal<WizardStepComponent[]>([]);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n stepItemClicked(step?: WizardStepComponent, event?: MouseEvent): void {\n if (step && step.visited) {\n if (this.actionSheet) {\n this.actionSheet.close();\n }\n event?.preventDefault();\n this.stepIndicatorItemClicked.emit(step);\n }\n }\n\n /** @hidden */\n setStackedItems(items: WizardStepComponent[]): void {\n this.stackedItems$.set(items || []);\n }\n}\n","@if (stackedItems$() && stackedItems$().length > 1) {\n <fd-action-sheet [style.pointer-events]=\"'all'\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-template [ngTemplateOutlet]=\"stepIndicatorContent\"></ng-template>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @for (step of stackedItems$(); track step) {\n <li\n fd-action-sheet-item\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [glyphFont]=\"glyphFont\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n} @else {\n <span\n class=\"fd-wizard__step-indicator\"\n (click)=\"stepItemClicked(stackedItems$().length ? stackedItems$()[0] : undefined, $event)\"\n >\n <ng-template [ngTemplateOutlet]=\"stepIndicatorContent\"></ng-template>\n </span>\n}\n<ng-template #stepIndicatorContent>\n @if (glyph) {\n <fd-icon [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n }\n <ng-content></ng-content>\n</ng-template>\n","import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport { KeyUtil, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { Subscription } from 'rxjs';\nimport { WizardContentComponent } from '../wizard-content/wizard-content.component';\n\nexport type WizardStepStatus = 'completed' | 'current' | 'upcoming' | 'active';\n\nimport { COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS, FD_WIZARD_STEP_INDICATOR } from '../constants';\nimport { WizardStepIndicator } from '../models/wizard-step';\nimport { WIZARD, WizardComponentInterface } from '../wizard-injection-token';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-wizard-step]',\n host: {\n class: 'fd-wizard__step',\n '[class.fd-wizard__step--completed]': 'status === \"completed\" || completed',\n '[class.fd-wizard__step--current]': 'status === \"current\"',\n '[class.fd-wizard__step--upcoming]': 'status === \"upcoming\"',\n '[class.fd-wizard__step--active]': 'status === \"active\"',\n '[attr.aria-label]': 'ariaLabel'\n },\n templateUrl: './wizard-step.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: []\n})\nexport class WizardStepComponent implements OnChanges, AfterViewInit, OnDestroy {\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * The aria-label for the step container.\n */\n @Input()\n ariaRoleDecription = 'Navigation';\n\n /**\n * The type of step ('completed', 'current', 'upcoming', and 'active'.)\n */\n @Input()\n status: WizardStepStatus;\n\n /**\n * Whether or not this is a 'branching' step.\n */\n @Input()\n branching = false;\n\n /**\n * The label text.\n */\n @Input()\n label: string;\n\n /**\n * The smaller text for labeling the step as optional.\n */\n @Input()\n optionalText: string;\n\n /**\n * Whether or not this step is the summary page.\n */\n @Input()\n isSummary = false;\n\n /**\n * User-defined validation function which determines if user can navigate between steps.\n */\n @Input()\n stepClickValidator: (visited: boolean, completed: boolean) => boolean | Promise<boolean>;\n\n /**\n * Event emitted when the wizard step's status changes.\n */\n @Output()\n statusChange = new EventEmitter<WizardStepStatus>();\n\n /**\n * Event emitted when a step is clicked.\n */\n @Output()\n stepClicked = new EventEmitter<WizardStepComponent>();\n\n /**\n * Event emitted when a step indicator is clicked.\n */\n @Output()\n stepIndicatorItemClicked = new EventEmitter<WizardStepComponent>();\n\n /** @hidden */\n @ContentChild(WizardContentComponent)\n content: WizardContentComponent;\n\n /** @hidden */\n @ContentChild(FD_WIZARD_STEP_INDICATOR)\n stepIndicator: WizardStepIndicator<WizardStepComponent>;\n\n /** The wizard label span element. */\n @ViewChild('wizardLabel', { read: ElementRef })\n wizardLabel: ElementRef;\n\n /** @hidden */\n @ViewChild('progressBarLink', { read: ElementRef })\n progressBarLink: ElementRef;\n\n /** @hidden */\n glyph: string;\n\n /** @hidden */\n visited = false;\n\n /** @hidden */\n completed = false;\n\n /** @hidden */\n _stepId: number;\n\n /** @hidden */\n _finalStep = false;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n @Optional() @Inject(WIZARD) private _wizard: WizardComponentInterface\n ) {}\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.status) {\n if (\n changes.status.previousValue === CURRENT_STEP_STATUS &&\n changes.status.currentValue === COMPLETED_STEP_STATUS\n ) {\n this.completed = true;\n }\n this.statusChange.emit(this.status);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.isSummary && !this._wizard?.displaySummaryStep) {\n this._summaryInit();\n } else if (this.stepIndicator) {\n this._notSummaryInit();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n setFinalStep(val: boolean): void {\n this._finalStep = val;\n this._cdRef.detectChanges();\n }\n\n /** @hidden */\n async stepContainerKeypress(event?: KeyboardEvent): Promise<void> {\n if (event) {\n event.preventDefault();\n }\n\n if (\n this.visited &&\n (!event || KeyUtil.isKeyCode(event, [SPACE, ENTER])) &&\n (!this.stepIndicator ||\n !this.stepIndicator.stackedItems$() ||\n !this.stepIndicator.stackedItems$().length) &&\n (this.stepClickValidator === undefined ||\n (await this.stepClickValidator(this.visited, this.completed)) === true)\n ) {\n this.stepClicked.emit(this);\n }\n }\n\n /** @hidden */\n getClassList(): DOMTokenList {\n return this._elRef.nativeElement.classList;\n }\n\n /** @hidden */\n hasLabel(label: string): boolean {\n return this._elRef.nativeElement.classList.contains(label);\n }\n\n /** @hidden */\n getStepClientWidth(): number {\n return this._elRef.nativeElement.clientWidth;\n }\n\n /** @hidden */\n removeFromDom(): void {\n if (this._elRef.nativeElement.parentNode) {\n this._elRef.nativeElement.parentNode.removeChild(this._elRef.nativeElement);\n }\n }\n\n /** @hidden */\n _summaryInit(): void {\n this._elRef.nativeElement.style.display = 'none';\n this.content.tallContent = true;\n }\n\n /** @hidden */\n _notSummaryInit(): void {\n this._subscriptions.add(\n this.stepIndicator.stepIndicatorItemClicked.subscribe((step) => {\n this.stepIndicatorItemClicked.emit(step);\n })\n );\n if (this.stepIndicator.glyph) {\n this.glyph = this.stepIndicator.glyph;\n }\n }\n}\n","<div class=\"fd-wizard__step-wrapper\">\n @if (label || optionalText) {\n <a\n #progressBarLink\n class=\"fd-wizard__step-container\"\n (click)=\"stepContainerKeypress()\"\n (keypress)=\"stepContainerKeypress($event)\"\n [style.cursor]=\"visited ? 'pointer' : 'auto'\"\n [style.pointer-events]=\"visited ? 'auto' : 'none'\"\n [attr.tabindex]=\"status === 'current' ? 0 : -1\"\n [attr.aria-roledescription]=\"ariaRoleDecription\"\n >\n <ng-content select=\"fd-wizard-step-indicator\"></ng-content>\n <div class=\"fd-wizard__label-container\" [class.fd-wizard__label-container--optional]=\"optionalText\">\n <div #wizardLabel>\n <span class=\"fd-wizard__label\">{{ label }}</span>\n @if (optionalText) {\n <span class=\"fd-wizard__optional-text\">\n {{ optionalText }}\n </span>\n }\n </div>\n </div>\n </a>\n }\n <ng-content></ng-content>\n @if (!_finalStep || branching) {\n <span\n class=\"fd-wizard__connector\"\n [class.fd-wizard__connector--active]=\"completed\"\n [class.fd-wizard__connector--branching]=\"branching\"\n >\n </span>\n }\n</div>\n","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Injectable, QueryList, inject } from '@angular/core';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS } from './constants';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\n\n@Injectable()\nexport class WizardService {\n /** @hidden */\n private readonly _rtlService = inject(RtlService, { optional: true });\n\n /** @hidden */\n progressBarKeyHandler(event: any, steps: QueryList<WizardStepComponent>, index: number): void {\n const rtlDirection = this._rtlService?.rtlSignal();\n if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (\n steps.get(index - 1)?.status === COMPLETED_STEP_STATUS ||\n steps.get(index - 1)?.status === CURRENT_STEP_STATUS\n ) {\n if (!rtlDirection) {\n this._focusPrevious(index, steps);\n } else {\n this._focusNext(index, steps);\n }\n }\n } else if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (steps.get(index)?.status === COMPLETED_STEP_STATUS) {\n if (!rtlDirection) {\n this._focusNext(index, steps);\n } else {\n this._focusPrevious(index, steps);\n }\n }\n }\n }\n\n /** @hidden */\n private _focusNext(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index + 1 < steps.length) {\n steps.get(index + 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(0)?.progressBarLink.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _focusPrevious(index: number, steps: QueryList<WizardStepComponent>): void {\n if (index - 1 >= 0) {\n steps.get(index - 1)?.progressBarLink.nativeElement.focus();\n } else {\n steps.get(steps.length - 1)?.progressBarLink.nativeElement.focus();\n }\n }\n}\n","import { CdkScrollable } from '@angular/cdk/scrolling';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { Nullable, TabbableElementService, scrollTop } from '@fundamental-ngx/cdk/utils';\nimport { DialogBodyComponent, FD_DIALOG_BODY_COMPONENT } from '@fundamental-ngx/core/dialog';\nimport { ScrollSpyDirective } from '@fundamental-ngx/core/scroll-spy';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { resolveTranslationSignal } from '@fundamental-ngx/i18n';\nimport { Subscription } from 'rxjs';\nimport { ACTIVE_STEP_STATUS, COMPLETED_STEP_STATUS, CURRENT_STEP_STATUS, UPCOMING_STEP_STATUS } from './constants';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { WIZARD } from './wizard-injection-token';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardService } from './wizard.service';\n\nexport const STEP_MIN_WIDTH = 168;\nexport const STEP_STACKED_TOP_CLASS = 'fd-wizard__step--stacked-top';\nexport const STEP_STACKED_CLASS = 'fd-wizard__step--stacked';\nexport const STEP_NO_LABEL_CLASS = 'fd-wizard__step--no-label';\n\nexport const WIZARD_NAVIGATION_CLASS = 'fd-wizard__navigation';\nexport const WIZARD_CONTENT_CLASS = 'fd-wizard__content';\nexport const WIZARD_CONTAINER_WRAPPER_CLASS = 'fd-wizard-container-wrapper';\nexport const WIZARD_TALL_CONTENT_CLASS = 'fd-wizard-tall-content';\nexport const SHELLBAR_CLASS = 'fd-shellbar';\nexport const BAR_FOOTER_CLASS = 'fd-bar--footer';\nexport const BAR_FLOATING_FOOTER_CLASS = 'fd-bar--floating-footer';\n\nexport let _fromScrollToCurrentStep;\nexport let timer: any = null;\nexport const handleTimeoutReference = (): void => {\n if (timer !== null) {\n clearTimeout(timer);\n }\n timer = setTimeout(() => {\n _fromScrollToCurrentStep = false;\n }, 150);\n};\n\n@Component({\n selector: 'fd-wizard',\n templateUrl: './wizard.component.html',\n styleUrl: './wizard.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WizardService,\n {\n provide: WIZARD,\n useExisting: WizardComponent\n }\n ],\n host: {\n role: 'region',\n '[attr.aria-label]': 'ariaLabel || _defaultAriaLabel()'\n },\n standalone: true,\n imports: [ScrollSpyDirective, CdkScrollable, ScrollbarDirective, NgTemplateOutlet]\n})\nexport class WizardComponent implements AfterViewInit, OnDestroy {\n /**\n * Whether or not to append the step to the wizard. If false, each step will be displayed on a different page.\n * Default is true.\n */\n @Input()\n appendToWizard = true;\n\n /**\n * Custom height to use for the wizard's content pane. By default, this value is calc(100vh - 144px), where 144px\n * is the combined height of the shellbar, wizard header and wizard footer.\n */\n @Input()\n contentHeight: Nullable<string | null>;\n\n /**\n * Whether or not apply responsive paddings styling.\n */\n @Input()\n @HostBinding('class.fd-wizard--responsive-paddings')\n responsivePaddings = false;\n\n /** Whether to display a summary step. */\n @Input()\n displaySummaryStep = false;\n\n /**\n * adding aria label to the component\n * If not provided, is being translated by i18n package\n */\n @Input()\n ariaLabel: string;\n\n /** @hidden */\n @ContentChildren(WizardStepComponent, { descendants: true })\n steps: QueryList<WizardStepComponent>;\n\n /** @hidden */\n @ContentChild(WizardProgressBarDirective)\n progressBar: WizardProgressBarDirective;\n\n /** @hidden */\n @ContentChildren(WizardContentComponent)\n wizardContent: WizardContentComponent;\n\n /** @hidden */\n @ViewChild('wrapperContainer')\n wrapperContainer: ElementRef<HTMLElement>;\n\n /** @hidden */\n @ViewChild(ScrollbarDirective)\n scrollbar: ScrollbarDirective;\n\n /** @hidden */\n contentTemplates: TemplateRef<any>[] = [];\n\n /** @hidden */\n stackedStepsLeft: WizardStepComponent[] = [];\n\n /** @hidden */\n stackedStepsRight: WizardStepComponent[] = [];\n\n /** @hidden */\n protected _defaultAriaLabel = resolveTranslationSignal('coreWizard.ariaLabel');\n\n /** @hidden */\n private _stepEventSubscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _previousWidth: number;\n\n /** @hidden */\n private readonly _tabbableService = inject(TabbableElementService);\n\n /** @hidden */\n constructor(\n private _elRef: ElementRef,\n private readonly _cdRef: ChangeDetectorRef,\n @Optional() @Inject(FD_DIALOG_BODY_COMPONENT) private _dialogBodyComponent: DialogBodyComponent\n ) {}\n\n /** @hidden */\n @HostListener('window:resize')\n resizeHandler(): void {\n const wizardWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n if (!this._previousWidth || wizardWidth <= this._previousWidth) {\n this._wizardShrinking();\n } else if (wizardWidth > this._previousWidth) {\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n this._previousWidth = wizardWidth;\n if (this.contentHeight) {\n this._elRef.nativeElement.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n this.contentHeight;\n } else {\n this._setContainerAndTallContentHeight();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n setTimeout(() => {\n if (this._subscriptions.closed) {\n return;\n }\n\n // fixes ExpressionChangedAfterItHasBeenCheckedError\n this._setContentTemplates();\n this._subscriptions.add(\n this.steps.changes.subscribe(() => {\n this._handleStepOrStatusChanges();\n this._setupStepEvents();\n })\n );\n this._setupStepEvents();\n this._cdRef.detectChanges();\n this._handleStepOrStatusChanges();\n this.resizeHandler();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._subscriptions.unsubscribe();\n this.wrapperContainer?.nativeElement.removeEventListener('scroll', handleTimeoutReference);\n }\n\n /** @hidden */\n scrollSpyChange($event: HTMLElement): void {\n if (!_fromScrollToCurrentStep) {\n this.steps.forEach((step) => {\n if (step._stepId.toString() === $event.children[0].children[0].id) {\n step.status = CURRENT_STEP_STATUS;\n } else if (step._stepId < parseInt($event.children[0].children[0].id, 10)) {\n step.status = COMPLETED_STEP_STATUS;\n } else {\n step.status = UPCOMING_STEP_STATUS;\n }\n });\n }\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n\n /**\n * @hidden\n * @private\n * This function determines the height of the wizard content by looking for the document's shellbar, the wizard\n * navigation and the wizard footer, and calculating the height based on their presence.\n */\n private _calculateContentHeight(): number {\n let wizardNavHeight = 0;\n const shellbarHeight = this._getShellbarHeight();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n wizardNavHeight = this._getWizardNavHeight();\n }\n const wizardFooterHeight = this._getWizardFooterHeight();\n const dialogOffset = this._getDialogOffset();\n\n return shellbarHeight + wizardNavHeight + wizardFooterHeight + dialogOffset;\n }\n\n /** @hidden */\n private _getShellbarHeight(): number {\n return document.querySelector<HTMLElement>('.' + SHELLBAR_CLASS)?.clientHeight ?? 0;\n }\n\n /** @hidden */\n private _getWizardNavHeight(): number {\n const wizard = this._elRef.nativeElement;\n let retVal;\n if (wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS)) {\n retVal = wizard.querySelector('.' + WIZARD_NAVIGATION_CLASS).clientHeight;\n } else {\n retVal = 0;\n }\n return retVal;\n }\n\n /** @hidden */\n private _getWizardFooterHeight(): number {\n let retVal = 0;\n if (this._dialogBodyComponent) {\n const dialogBody = this._dialogBodyComponent.elementRef.nativeElement;\n if (dialogBody.querySelector('.' + BAR_FOOTER_CLASS)) {\n retVal = dialogBody.querySelector('.' + BAR_FOOTER_CLASS).offsetHeight;\n } else if (dialogBody.querySelector('.' + BAR_FLOATING_FOOTER_CLASS)) {\n retVal = dialogBody.querySelector('.' + BAR_FLOATING_FOOTER_CLASS).offsetHeight;\n }\n }\n return retVal;\n }\n\n /** @hidden */\n private _getDialogOffset(): number {\n let retVal = 0;\n if (this._dialogBodyComponent) {\n const dialogBody = this._dialogBodyComponent.elementRef.nativeElement;\n const dialogComponent = dialogBody.closest('fd-dialog');\n\n if (dialogBody.tagName.toLowerCase() === 'fd-dialog-body') {\n this._dialogBodyComponent.dialogConfig.verticalPadding = false;\n const dialogBodyTitle = dialogComponent.querySelector('.fd-title--h2');\n if (dialogBodyTitle) {\n retVal = dialogBodyTitle.offsetHeight;\n }\n retVal = retVal + window.innerHeight - dialogBody.offsetHeight;\n }\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setContainerAndTallContentHeight(): void {\n const wizard = this._elRef.nativeElement;\n const combinedHeight = this.contentHeight ? this.contentHeight : this._calculateContentHeight();\n if (wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS)) {\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n }\n wizard.querySelectorAll('.' + WIZARD_CONTENT_CLASS).forEach((node) => {\n node.style.height = 'auto';\n });\n if (wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS)) {\n if (\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).offsetHeight <\n wizard.querySelector('.' + WIZARD_CONTAINER_WRAPPER_CLASS).offsetHeight\n ) {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.height =\n 'calc(100vh - ' + combinedHeight + 'px)';\n } else {\n wizard.querySelector('.' + WIZARD_TALL_CONTENT_CLASS).style.paddingBottom = '24px';\n }\n }\n }\n\n /** @hidden */\n private _setupStepEvents(): void {\n this._stepEventSubscriptions.unsubscribe();\n this._stepEventSubscriptions = new Subscription();\n this.steps.forEach((step) => {\n this._stepEventSubscriptions.add(\n step.stepClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n this._stepEventSubscriptions.add(\n step.statusChange.subscribe(() => {\n this._handleStepOrStatusChanges();\n })\n );\n this._stepEventSubscriptions.add(\n step.stepIndicatorItemClicked.subscribe((event) => {\n this._stepClicked(event);\n })\n );\n // need to call wizardShrinking for each step < 168px on first load\n if (step.wizardLabel && step.getStepClientWidth() < STEP_MIN_WIDTH) {\n this._wizardShrinking();\n }\n });\n }\n\n /** @hidden */\n private _wizardShrinking(): void {\n const currentStep = this._getCurrentStep();\n if (\n currentStep &&\n (!currentStep.isSummary || this.displaySummaryStep) &&\n currentStep.wizardLabel &&\n currentStep.getStepClientWidth() < STEP_MIN_WIDTH\n ) {\n this._hideSomeStep(currentStep);\n this._setStackedTop();\n }\n }\n\n /** @hidden */\n private _setContentTemplates(): void {\n const templatesLength = this.contentTemplates.length;\n this.contentTemplates = [];\n let _stepId = 0;\n const steps = this.steps.toArray();\n for (const step of steps) {\n if (step.content) {\n if (!step.isSummary || this.displaySummaryStep) {\n step.content.tallContent = false;\n }\n step.content.wizardContentId = _stepId.toString();\n }\n step._stepId = _stepId;\n _stepId++;\n step.setFinalStep(false);\n /*\n If the step is completed and appendToWizard is true, hide the nextStep button, unless it's the last step,\n or if there's a summary and it is the second to last step\n */\n if (\n step.completed &&\n this.appendToWizard &&\n step.content?.nextStep?.canHide &&\n step !== this._getLastNonSummaryStep()\n ) {\n step.content.nextStep._hideElement();\n } else if (\n step.content?.nextStep &&\n ((step.completed && this.appendToWizard) ||\n (step.visited && step.branching && step.status === CURRENT_STEP_STATUS))\n ) {\n step.content.nextStep._showElement();\n }\n if (\n step.visited ||\n ((step.status === CURRENT_STEP_STATUS || step.status === COMPLETED_STEP_STATUS) && step.content)\n ) {\n step.visited = true;\n if (step.status === CURRENT_STEP_STATUS && (!step.completed || !this.appendToWizard)) {\n step.content.tallContent = true;\n }\n\n const isCurrentStep = !this.appendToWizard && step.status === CURRENT_STEP_STATUS;\n\n if (!templatesLength || isCurrentStep) {\n this.contentTemplates = [step.content.contentTemplate];\n\n // If we found needed step, break the cycle, since it might set wrong step later.\n if (isCurrentStep) {\n break;\n }\n } else if (this.appendToWizard && (!step.isSummary || this.displaySummaryStep)) {\n this.contentTemplates.push(step.content.contentTemplate);\n }\n }\n }\n\n const lastVisibleTemplate = steps[this.contentTemplates.length - 1];\n if (lastVisibleTemplate && lastVisibleTemplate.content) {\n lastVisibleTemplate.content.tallContent = true;\n }\n this._setFinalStep();\n }\n\n /** @hidden */\n private _scrollToCurrentStep(): void {\n if (this.appendToWizard) {\n _fromScrollToCurrentStep = true;\n this.steps.forEach((step, index) => {\n if (step.status === CURRENT_STEP_STATUS && (!step.isSummary || this.displaySummaryStep)) {\n const child = this.wrapperContainer.nativeElement.children[0].children[index] as HTMLElement;\n const wizardNavigationHeight = this._elRef.nativeElement.querySelector(\n '.' + WIZARD_NAVIGATION_CLASS\n ).clientHeight;\n\n scrollTop(this.wrapperContainer.nativeElement, child.offsetTop - wizardNavigationHeight);\n\n if (index === 0) {\n this._focusFirstTabbableElement(index);\n } else {\n // setTimeout needed to allow for smooth scroll animation\n setTimeout(() => {\n this._focusFirstTabbableElement(index);\n }, 500);\n }\n }\n });\n this._setUpScrollListener();\n }\n }\n\n /** @hidden */\n private _focusFirstTabbableElement(index = 0): void {\n const contentContainer = this._elRef.nativeElement.querySelectorAll('.fd-wizard__content')[index];\n this._tabbableService.getTabbableElement(contentContainer)?.focus();\n }\n\n /** @hidden */\n private _setUpScrollListener(): void {\n this.wrapperContainer?.nativeElement.addEventListener('scroll', handleTimeoutReference, false);\n }\n\n /** @hidden */\n private _hideSomeStep(currentStep: WizardStepComponent): void {\n // If a small step was found, get the step with a visible label furthest away from the current step and hide the label\n let stepsArray = this.steps.toArray();\n stepsArray = stepsArray.filter((step) => !step.hasLabel(STEP_NO_LABEL_CLASS));\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n stepsArray.pop();\n }\n if (stepsArray.length > 1) {\n let currentStepIndex = 0,\n stepToHide;\n if (currentStep) {\n currentStepIndex = stepsArray.indexOf(currentStep);\n }\n currentStepIndex > (stepsArray.length - 1) / 2\n ? (stepToHide = stepsArray[0])\n : (stepToHide = stepsArray[stepsArray.length - 1]);\n stepToHide.getClassList().add(STEP_NO_LABEL_CLASS);\n stepToHide.getClassList().add(STEP_STACKED_CLASS);\n if (stepsArray.indexOf(stepToHide) < currentStepIndex && !this.stackedStepsLeft.includes(stepToHide)) {\n this.stackedStepsLeft.splice(this.steps.toArray().indexOf(stepToHide), 0, stepToHide);\n } else if (\n stepsArray.indexOf(stepToHide) > currentStepIndex &&\n !this.stackedStepsRight.includes(stepToHide)\n ) {\n this.stackedStepsRight.unshift(stepToHide);\n }\n this._cdRef.detectChanges();\n }\n }\n\n /** @hidden */\n private _setStackedTop(): void {\n const currentStep = this._getCurrentStep();\n this.steps.forEach((step, index) => {\n if (step.stepIndicator) {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n if (this.steps.toArray()[index + 1] === currentStep) {\n if (this.steps.length > 1) {\n step.getClassList().add(STEP_STACKED_TOP_CLASS);\n if (!this.stackedStepsLeft.includes(step) && this.stackedStepsLeft.length >= 1) {\n this.stackedStepsLeft.splice(index, 0, step);\n }\n }\n step.stepIndicator.setStackedItems(this.stackedStepsLeft);\n } else {\n step.stepIndicator.stackedItems$.set([]);\n }\n }\n });\n this._getLastNonSummaryStep().stepIndicator?.setStackedItems(this.stackedStepsRight);\n }\n\n /** @hidden */\n private _resetStepClasses(): void {\n this.steps.forEach((step) => {\n step.getClassList().remove(STEP_STACKED_TOP_CLASS);\n step.getClassList().remove(STEP_STACKED_CLASS);\n step.getClassList().remove(STEP_NO_LABEL_CLASS);\n });\n }\n\n /** @hidden */\n private _handleStepOrStatusChanges(): void {\n if (this._isCurrentStepSummary() && !this.displaySummaryStep) {\n setTimeout(() => {\n this.progressBar.visible = false;\n });\n this._showSummary();\n } else {\n this.progressBar.visible = true;\n\n this._setContentTemplates();\n this._shrinkWhileAnyStepIsTooNarrow();\n }\n if (!this.appendToWizard) {\n this._focusFirstTabbableElement();\n }\n setTimeout(() => {\n this._cdRef.detectChanges();\n this.resizeHandler();\n if (!this._isCurrentStepSummary() || this.displaySummaryStep) {\n this._scrollToCurrentStep();\n }\n });\n this._setFinalStep();\n }\n\n /** @hidden */\n private _setFinalStep(): void {\n const lastNonSummaryStep = this._getLastNonSummaryStep();\n if (lastNonSummaryStep) {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n this.steps.last.removeFromDom();\n }\n if (lastNonSummaryStep.content) {\n lastNonSummaryStep.content.tallContent = true;\n }\n lastNonSummaryStep.setFinalStep(true);\n }\n }\n\n /** @hidden */\n private _showSummary(): void {\n this.steps.forEach((step) => {\n if (!step.isSummary) {\n step.completed = true;\n }\n });\n const summary = this.steps.find((step) => step.isSummary);\n if (summary) {\n summary.content.tallContent = true;\n this.contentTemplates = [summary.content.contentTemplate];\n }\n }\n\n /** @hidden */\n private _isCurrentStepSummary(): boolean {\n return this.steps.some((step) => step.status === CURRENT_STEP_STATUS && step.isSummary);\n }\n\n /** @hidden */\n private _getCurrentStep(): WizardStepComponent {\n return this.steps.filter(\n (step) => step.status === CURRENT_STEP_STATUS || step.status === ACTIVE_STEP_STATUS\n )[0];\n }\n\n /** @hidden */\n private _shrinkWhileAnyStepIsTooNarrow(): void {\n // Add small delay for elements to render appropriately.\n setTimeout(() => {\n this.stackedStepsLeft = [];\n this.stackedStepsRight = [];\n this.steps.first.stepIndicator?.setStackedItems(this.stackedStepsLeft);\n this._getLastNonSummaryStep().stepIndicator?.setStackedItems(this.stackedStepsRight);\n this._resetStepClasses();\n let i = 0;\n while (this._anyStepIsTooNarrow() && i < this.steps.length - 1) {\n i++;\n this._wizardShrinking();\n }\n }, 10);\n }\n\n /** @hidden */\n private _anyStepIsTooNarrow(): boolean {\n return this.steps.some((step) => step.getStepClientWidth() < STEP_MIN_WIDTH);\n }\n\n /** @hidden */\n private _stepClicked(clickedStep: WizardStepComponent): void {\n if (!clickedStep) {\n clickedStep = this.steps.first;\n }\n const clickedStepIndex = this.steps.toArray().indexOf(clickedStep);\n this.steps.forEach((step) => {\n if (step === clickedStep) {\n step.status = CURRENT_STEP_STATUS;\n step.statusChange.emit(CURRENT_STEP_STATUS);\n } else if (step !== clickedStep) {\n if (this.steps.toArray().indexOf(step) < clickedStepIndex) {\n step.status = COMPLETED_STEP_STATUS;\n step.statusChange.emit(COMPLETED_STEP_STATUS);\n } else if (this.steps.toArray().indexOf(step) > clickedStepIndex) {\n step.status = UPCOMING_STEP_STATUS;\n step.statusChange.emit(UPCOMING_STEP_STATUS);\n }\n }\n });\n setTimeout(() => {\n (document.activeElement as HTMLElement).blur(); // this function can focus step indicators undesirably\n });\n }\n\n /** @hidden */\n private _getLastNonSummaryStep(): WizardStepComponent {\n if (this.steps.last.isSummary && !this.displaySummaryStep) {\n return this.steps.toArray()[this.steps.length - 2];\n }\n\n return this.steps.last;\n }\n}\n","<section class=\"fd-wizard\">\n <ng-content select=\"fd-wizard-navigation\"></ng-content>\n @if (appendToWizard) {\n <div\n class=\"fd-wizard-container-wrapper\"\n #wrapperContainer\n fdScrollSpy\n cdkScrollable\n [trackedTags]=\"['div']\"\n (spyChange)=\"scrollSpyChange($event)\"\n >\n <div fd-scrollbar>\n @for (contentTemplate of contentTemplates; track contentTemplate) {\n <div>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </div>\n }\n </div>\n </div>\n } @else {\n <div cdkScrollable class=\"fd-wizard-container-wrapper\">\n <div fd-scrollbar>\n @for (contentTemplate of contentTemplates; track contentTemplate) {\n <div>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </div>\n }\n </div>\n </div>\n }\n <ng-content></ng-content>\n</section>\n","import { NgModule } from '@angular/core';\nimport { WizardContentComponent } from './wizard-content/wizard-content.component';\nimport { WizardNavigationComponent } from './wizard-navigation/wizard-navigation.component';\nimport { WizardNextStepComponent } from './wizard-next-step/wizard-next-step.component';\nimport { WizardProgressBarDirective } from './wizard-progress-bar/wizard-progress-bar.directive';\nimport { WizardStepIndicatorComponent } from './wizard-step-indicator/wizard-step-indicator.component';\nimport { WizardStepComponent } from './wizard-step/wizard-step.component';\nimport { WizardComponent } from './wizard.component';\nimport { WizardService } from './wizard.service';\n\nconst components = [\n WizardComponent,\n WizardNavigationComponent,\n WizardProgressBarDirective,\n WizardStepComponent,\n WizardStepIndicatorComponent,\n WizardContentComponent,\n WizardNextStepComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of `WizardComponent`,\n `WizardNavigationComponent`,\n `WizardProgressBarDirective`,\n `WizardStepComponent`,\n `WizardStepIndicatorComponent`,\n `WizardContentComponent`,\n `WizardNextStepComponent`\n */\n@NgModule({\n imports: [...components],\n exports: [...components],\n providers: [WizardService]\n})\nexport class WizardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAQa,uBAAuB,CAAA;AANpC,IAAA,WAAA,GAAA;AAOI;;AAEG;QAEH,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAmBT,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;;AAGP,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAgBhD,KAAA;AApCG;;AAEG;IACH,IACI,OAAO,CAAC,KAAc,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC,KAAK,EAAE;YACR,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;KACJ;AAED,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;;IASD,SAAS,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;;IAGD,YAAY,GAAA;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;KAC7D;;IAGD,YAAY,GAAA;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;KACpD;8GA1CQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,qICRpC,mIAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDKa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAEd,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,QAAA,EAAA,mIAAA,EAAA,CAAA;8BAOhB,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAOF,OAAO,EAAA,CAAA;sBADV,KAAK;;;MELG,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;;QAgCI,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACvB,KAAA;8GA1BY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkBjB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/BzC,6fAeA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDFa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAEZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,cAEnC,IAAI,EAAA,QAAA,EAAA,6fAAA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,CAAA;8BAOhB,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAON,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,eAAe,EAAA,CAAA;sBADd,SAAS;uBAAC,iBAAiB,CAAA;gBAK5B,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,uBAAuB,CAAA;;;MExB5B,MAAM,GAAG,IAAI,cAAc,CAA2B,6BAA6B;;MCGnF,yBAAyB,CAAA;;IAElC,IACI,SAAS,CAAC,KAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;AACD,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;KACrD;;AAMD,IAAA,WAAA,CAAgD,OAAkC,EAAA;QAAlC,IAAO,CAAA,OAAA,GAAP,OAAO,CAA2B;KAAI;AAd7E,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,kBAcF,MAAM,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAd7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,oHCVtC,gHAGA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDOa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAEf,eAAA,EAAA,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,QAAA,EAAA,gHAAA,EAAA,CAAA;;0BAgBH,QAAQ;;0BAAI,MAAM;2BAAC,MAAM,CAAA;yCAXlC,SAAS,EAAA,CAAA;sBADZ,KAAK;;;MEMG,0BAA0B,CAAA;AAbvC,IAAA,WAAA,GAAA;AAcI;;AAEG;QAEH,IAAI,CAAA,IAAA,GAAyB,IAAI,CAAC;;QAGlC,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AAClB,KAAA;8GATY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mCAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,iBAAA,EAAA,mCAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAbtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,yBAAyB;AAChC,wBAAA,qCAAqC,EAAE,eAAe;AACtD,wBAAA,qCAAqC,EAAE,eAAe;AACtD,wBAAA,qCAAqC,EAAE,eAAe;AACtD,wBAAA,qCAAqC,EAAE,eAAe;AACtD,wBAAA,iBAAiB,EAAE,uBAAuB;AAC7C,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAMG,IAAI,EAAA,CAAA;sBADH,KAAK;;;ACnBH,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AACpC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAAsB,uBAAuB,CAAC;;MCqC3F,4BAA4B,CAAA;AApBzC,IAAA,WAAA,GAAA;;QA6BI,IAAS,CAAA,SAAA,GAAa,2BAA2B,CAAC;AAElD;;AAEG;AAEH,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,YAAY,EAAuB,CAAC;;AAOnE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAwB,EAAE,CAAC,CAAC;;AAG1C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAsB/C,KAAA;;IAnBG,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;IAGD,eAAe,CAAC,IAA0B,EAAE,KAAkB,EAAA;AAC1D,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AACtB,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;aAC5B;YACD,KAAK,EAAE,cAAc,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;KACJ;;AAGD,IAAA,eAAe,CAAC,KAA4B,EAAA;QACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;KACvC;8GA9CQ,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAhB1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,wBAAwB;AACjC,gBAAA,WAAW,EAAE,4BAA4B;AAC5C,aAAA;AACJ,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA6BU,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9DnC,uxCAkCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEQ,oBAAoB,EACpB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,2KACxB,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGR,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBApBxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAEnB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,wBAAwB;AACjC,4BAAA,WAAW,EAA8B,4BAAA;AAC5C,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,IAAI,EACP,OAAA,EAAA;wBACL,oBAAoB;wBACpB,2BAA2B;wBAC3B,gBAAgB;wBAChB,wBAAwB;wBACxB,wBAAwB;wBACxB,aAAa;AAChB,qBAAA,EAAA,QAAA,EAAA,uxCAAA,EAAA,CAAA;8BAOD,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAON,wBAAwB,EAAA,CAAA;sBADvB,MAAM;gBAKP,WAAW,EAAA,CAAA;sBADV,SAAS;uBAAC,oBAAoB,CAAA;;;MElBtB,mBAAmB,CAAA;;AAsG5B,IAAA,WAAA,CACY,MAAkB,EAClB,MAAyB,EACG,OAAiC,EAAA;QAF7D,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;QAClB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;QACG,IAAO,CAAA,OAAA,GAAP,OAAO,CAA0B;AAlGzE;;AAEG;QAEH,IAAkB,CAAA,kBAAA,GAAG,YAAY,CAAC;AAQlC;;AAEG;QAEH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAclB;;AAEG;QAEH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAQlB;;AAEG;AAEH,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAoB,CAAC;AAEpD;;AAEG;AAEH,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAuB,CAAC;AAEtD;;AAEG;AAEH,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,YAAY,EAAuB,CAAC;;QAsBnE,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;QAGhB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;QAMlB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;AAGX,QAAA,IAAA,CAAA,cAAc,GAAiB,IAAI,YAAY,EAAE,CAAC;KAOtD;;AAGJ,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;AAC3B,YAAA,IACI,OAAO,CAAC,MAAM,CAAC,aAAa,KAAK,mBAAmB;AACpD,gBAAA,OAAO,CAAC,MAAM,CAAC,YAAY,KAAK,qBAAqB,EACvD;AACE,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACvC;KACJ;;IAGD,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE;YACrD,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;KACJ;;IAGD,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACrC;;AAGD,IAAA,YAAY,CAAC,GAAY,EAAA;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KAC/B;;IAGD,MAAM,qBAAqB,CAAC,KAAqB,EAAA;QAC7C,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;QAED,IACI,IAAI,CAAC,OAAO;AACZ,aAAC,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aACnD,CAAC,IAAI,CAAC,aAAa;AAChB,gBAAA,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;gBACnC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;AAC/C,aAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS;AAClC,gBAAA,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAC7E;AACE,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;KACJ;;IAGD,YAAY,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;KAC9C;;AAGD,IAAA,QAAQ,CAAC,KAAa,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9D;;IAGD,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;KAChD;;IAGD,aAAa,GAAA;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE;AACtC,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC/E;KACJ;;IAGD,YAAY,GAAA;QACR,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACjD,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;KACnC;;IAGD,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC3D,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C,CAAC,CACL,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACzC;KACJ;AAtMQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,6EAyGJ,MAAM,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAzGrB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,uCAAA,EAAA,gCAAA,EAAA,wBAAA,EAAA,iCAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoEd,sBAAsB,EAItB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,wBAAwB,uIAIJ,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAIN,UAAU,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5HpD,+4CAmCA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FDSa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACtB,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,oCAAoC,EAAE,qCAAqC;AAC3E,wBAAA,kCAAkC,EAAE,sBAAsB;AAC1D,wBAAA,mCAAmC,EAAE,uBAAuB;AAC5D,wBAAA,iCAAiC,EAAE,qBAAqB;AACxD,wBAAA,mBAAmB,EAAE,WAAW;AACnC,qBAAA,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,WACP,EAAE,EAAA,QAAA,EAAA,+4CAAA,EAAA,CAAA;;0BA2GN,QAAQ;;0BAAI,MAAM;2BAAC,MAAM,CAAA;yCApG9B,SAAS,EAAA,CAAA;sBADR,KAAK;gBAON,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAON,MAAM,EAAA,CAAA;sBADL,KAAK;gBAON,SAAS,EAAA,CAAA;sBADR,KAAK;gBAON,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAON,YAAY,EAAA,CAAA;sBADX,KAAK;gBAON,SAAS,EAAA,CAAA;sBADR,KAAK;gBAON,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAON,YAAY,EAAA,CAAA;sBADX,MAAM;gBAOP,WAAW,EAAA,CAAA;sBADV,MAAM;gBAOP,wBAAwB,EAAA,CAAA;sBADvB,MAAM;gBAKP,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,sBAAsB,CAAA;gBAKpC,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,wBAAwB,CAAA;gBAKtC,WAAW,EAAA,CAAA;sBADV,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAK9C,eAAe,EAAA,CAAA;sBADd,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;;;MErHzC,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;;QAGqB,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AA4CzE,KAAA;;AAzCG,IAAA,qBAAqB,CAAC,KAAU,EAAE,KAAqC,EAAE,KAAa,EAAA;QAClF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;YACtC,IACI,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,qBAAqB;AACtD,gBAAA,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,mBAAmB,EACtD;gBACE,IAAI,CAAC,YAAY,EAAE;AACf,oBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBACrC;qBAAM;AACH,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBACjC;aACJ;SACJ;aAAM,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;YAC9C,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,qBAAqB,EAAE;gBACpD,IAAI,CAAC,YAAY,EAAE;AACf,oBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBACjC;qBAAM;AACH,oBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;iBACrC;aACJ;SACJ;KACJ;;IAGO,UAAU,CAAC,KAAa,EAAE,KAAqC,EAAA;QACnE,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;AAC1B,YAAA,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC/D;aAAM;AACH,YAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACvD;KACJ;;IAGO,cAAc,CAAC,KAAa,EAAE,KAAqC,EAAA;AACvE,QAAA,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE;AAChB,YAAA,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC/D;aAAM;AACH,YAAA,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SACtE;KACJ;8GA7CQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAAb,aAAa,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;AC6BJ,MAAM,cAAc,GAAG,IAAI;AAC3B,MAAM,sBAAsB,GAAG,+BAA+B;AAC9D,MAAM,kBAAkB,GAAG,2BAA2B;AACtD,MAAM,mBAAmB,GAAG,4BAA4B;AAExD,MAAM,uBAAuB,GAAG,wBAAwB;AACxD,MAAM,oBAAoB,GAAG,qBAAqB;AAClD,MAAM,8BAA8B,GAAG,8BAA8B;AACrE,MAAM,yBAAyB,GAAG,yBAAyB;AAC3D,MAAM,cAAc,GAAG,cAAc;AACrC,MAAM,gBAAgB,GAAG,iBAAiB;AAC1C,MAAM,yBAAyB,GAAG,0BAA0B;AAExD,IAAA,yBAAyB;AAC7B,IAAI,KAAK,GAAQ,KAAK;AACtB,MAAM,sBAAsB,GAAG,MAAW;AAC7C,IAAA,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,YAAY,CAAC,KAAK,CAAC,CAAC;KACvB;AACD,IAAA,KAAK,GAAG,UAAU,CAAC,MAAK;QACpB,wBAAwB,GAAG,KAAK,CAAC;KACpC,EAAE,GAAG,CAAC,CAAC;AACZ,EAAE;MAsBW,eAAe,CAAA;;AA8ExB,IAAA,WAAA,CACY,MAAkB,EACT,MAAyB,EACY,oBAAyC,EAAA;QAFvF,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;QACT,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;QACY,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAqB;AAhFnG;;;AAGG;QAEH,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;AAStB;;AAEG;QAGH,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;;QAI3B,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;;QA8B3B,IAAgB,CAAA,gBAAA,GAAuB,EAAE,CAAC;;QAG1C,IAAgB,CAAA,gBAAA,GAA0B,EAAE,CAAC;;QAG7C,IAAiB,CAAA,iBAAA,GAA0B,EAAE,CAAC;;AAGpC,QAAA,IAAA,CAAA,iBAAiB,GAAG,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;;AAGvE,QAAA,IAAA,CAAA,uBAAuB,GAAiB,IAAI,YAAY,EAAE,CAAC;;AAG3D,QAAA,IAAA,CAAA,cAAc,GAAiB,IAAI,YAAY,EAAE,CAAC;;AAMzC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;KAO/D;;IAIJ,aAAa,GAAA;AACT,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;YAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;AAAM,aAAA,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;YAC1C,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACzC;AACD,QAAA,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;AAClC,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,8BAA8B,CAAC,CAAC,KAAK,CAAC,MAAM;gBACtF,IAAI,CAAC,aAAa,CAAC;SAC1B;aAAM;YACH,IAAI,CAAC,iCAAiC,EAAE,CAAC;SAC5C;KACJ;;IAGD,eAAe,GAAA;QACX,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC5B,OAAO;aACV;;YAGD,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;gBAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B,CAAC,CACL,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,aAAa,EAAE,CAAC;AACzB,SAAC,CAAC,CAAC;KACN;;IAGD,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;KAC9F;;AAGD,IAAA,eAAe,CAAC,MAAmB,EAAA;QAC/B,IAAI,CAAC,wBAAwB,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AAC/D,oBAAA,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;iBACrC;qBAAM,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;AACvE,oBAAA,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC;iBACvC;qBAAM;AACH,oBAAA,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;iBACtC;AACL,aAAC,CAAC,CAAC;SACN;QACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;KACzC;AAED;;;;;AAKG;IACK,uBAAuB,GAAA;QAC3B,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC1D,YAAA,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAChD;AACD,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACzD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAE7C,QAAA,OAAO,cAAc,GAAG,eAAe,GAAG,kBAAkB,GAAG,YAAY,CAAC;KAC/E;;IAGO,kBAAkB,GAAA;AACtB,QAAA,OAAO,QAAQ,CAAC,aAAa,CAAc,GAAG,GAAG,cAAc,CAAC,EAAE,YAAY,IAAI,CAAC,CAAC;KACvF;;IAGO,mBAAmB,GAAA;AACvB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AACzC,QAAA,IAAI,MAAM,CAAC;QACX,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,uBAAuB,CAAC,EAAE;YACrD,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,uBAAuB,CAAC,CAAC,YAAY,CAAC;SAC7E;aAAM;YACH,MAAM,GAAG,CAAC,CAAC;SACd;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;;IAGO,sBAAsB,GAAA;QAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC;YACtE,IAAI,UAAU,CAAC,aAAa,CAAC,GAAG,GAAG,gBAAgB,CAAC,EAAE;gBAClD,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC,YAAY,CAAC;aAC1E;iBAAM,IAAI,UAAU,CAAC,aAAa,CAAC,GAAG,GAAG,yBAAyB,CAAC,EAAE;gBAClE,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC,YAAY,CAAC;aACnF;SACJ;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;;IAGO,gBAAgB,GAAA;QACpB,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC;YACtE,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAExD,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE;gBACvD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,eAAe,GAAG,KAAK,CAAC;gBAC/D,MAAM,eAAe,GAAG,eAAe,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBACvE,IAAI,eAAe,EAAE;AACjB,oBAAA,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC;iBACzC;gBACD,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;aAClE;SACJ;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;;IAGO,iCAAiC,GAAA;AACrC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AACzC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAChG,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,8BAA8B,CAAC,EAAE;YAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,8BAA8B,CAAC,CAAC,KAAK,CAAC,MAAM;AACnE,gBAAA,eAAe,GAAG,cAAc,GAAG,KAAK,CAAC;SAChD;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACjE,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AAC/B,SAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,yBAAyB,CAAC,EAAE;YACvD,IACI,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC,YAAY;gBAClE,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,8BAA8B,CAAC,CAAC,YAAY,EACzE;gBACE,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC,KAAK,CAAC,MAAM;AAC9D,oBAAA,eAAe,GAAG,cAAc,GAAG,KAAK,CAAC;aAChD;iBAAM;AACH,gBAAA,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,yBAAyB,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;aACtF;SACJ;KACJ;;IAGO,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxB,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAC5B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACjC,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC5B,CAAC,CACL,CAAC;AACF,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAC5B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAK;gBAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACrC,CAAC,CACL,CAAC;AACF,YAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAC5B,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC9C,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aAC5B,CAAC,CACL,CAAC;;YAEF,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,EAAE,GAAG,cAAc,EAAE;gBAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;AACL,SAAC,CAAC,CAAC;KACN;;IAGO,gBAAgB,GAAA;AACpB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3C,QAAA,IACI,WAAW;aACV,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC;AACnD,YAAA,WAAW,CAAC,WAAW;AACvB,YAAA,WAAW,CAAC,kBAAkB,EAAE,GAAG,cAAc,EACnD;AACE,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;KACJ;;IAGO,oBAAoB,GAAA;AACxB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;AACrD,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AACnC,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC5C,oBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;iBACpC;gBACD,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;aACrD;AACD,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzB;;;AAGG;YACH,IACI,IAAI,CAAC,SAAS;AACd,gBAAA,IAAI,CAAC,cAAc;AACnB,gBAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO;AAC/B,gBAAA,IAAI,KAAK,IAAI,CAAC,sBAAsB,EAAE,EACxC;AACE,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;aACxC;AAAM,iBAAA,IACH,IAAI,CAAC,OAAO,EAAE,QAAQ;iBACrB,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc;AACnC,qBAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,EAC9E;AACE,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;aACxC;YACD,IACI,IAAI,CAAC,OAAO;AACZ,iBAAC,CAAC,IAAI,CAAC,MAAM,KAAK,mBAAmB,IAAI,IAAI,CAAC,MAAM,KAAK,qBAAqB,KAAK,IAAI,CAAC,OAAO,CAAC,EAClG;AACE,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,gBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AAClF,oBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;iBACnC;AAED,gBAAA,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,CAAC;AAElF,gBAAA,IAAI,CAAC,eAAe,IAAI,aAAa,EAAE;oBACnC,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;;oBAGvD,IAAI,aAAa,EAAE;wBACf,MAAM;qBACT;iBACJ;AAAM,qBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE;oBAC5E,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;iBAC5D;aACJ;SACJ;AAED,QAAA,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,QAAA,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,EAAE;AACpD,YAAA,mBAAmB,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;SAClD;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;;IAGO,oBAAoB,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,wBAAwB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC/B,gBAAA,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE;AACrF,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAgB,CAAC;AAC7F,oBAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAClE,GAAG,GAAG,uBAAuB,CAChC,CAAC,YAAY,CAAC;AAEf,oBAAA,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,GAAG,sBAAsB,CAAC,CAAC;AAEzF,oBAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,wBAAA,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;qBAC1C;yBAAM;;wBAEH,UAAU,CAAC,MAAK;AACZ,4BAAA,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;yBAC1C,EAAE,GAAG,CAAC,CAAC;qBACX;iBACJ;AACL,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC/B;KACJ;;IAGO,0BAA0B,CAAC,KAAK,GAAG,CAAC,EAAA;AACxC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC;KACvE;;IAGO,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC;KAClG;;AAGO,IAAA,aAAa,CAAC,WAAgC,EAAA;;QAElD,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AACtC,QAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC9E,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACvD,UAAU,CAAC,GAAG,EAAE,CAAC;SACpB;AACD,QAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,IAAI,gBAAgB,GAAG,CAAC,EACpB,UAAU,CAAC;YACf,IAAI,WAAW,EAAE;AACb,gBAAA,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aACtD;YACD,gBAAgB,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;mBACvC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC;AAC7B,mBAAG,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACvD,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACnD,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClD,YAAA,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAClG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;aACzF;AAAM,iBAAA,IACH,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,gBAAgB;gBACjD,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC9C;AACE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC9C;AACD,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;SAC/B;KACJ;;IAGO,cAAc,GAAA;AAClB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC/B,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACnD,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,WAAW,EAAE;oBACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBACvB,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChD,wBAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;4BAC5E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;yBAChD;qBACJ;oBACD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;iBAC7D;qBAAM;oBACH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC5C;aACJ;AACL,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,sBAAsB,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACxF;;IAGO,iBAAiB,GAAA;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACpD,SAAC,CAAC,CAAC;KACN;;IAGO,0BAA0B,GAAA;QAC9B,IAAI,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1D,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;aAAM;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;YAEhC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,8BAA8B,EAAE,CAAC;SACzC;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACrC;QACD,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC1D,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC/B;AACL,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;;IAGO,aAAa,GAAA;AACjB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACzD,IAAI,kBAAkB,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACvD,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;aACnC;AACD,YAAA,IAAI,kBAAkB,CAAC,OAAO,EAAE;AAC5B,gBAAA,kBAAkB,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;aACjD;AACD,YAAA,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACzC;KACJ;;IAGO,YAAY,GAAA;QAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxB,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACzB;AACL,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SAC7D;KACJ;;IAGO,qBAAqB,GAAA;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,mBAAmB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;KAC3F;;IAGO,eAAe,GAAA;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACpB,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,mBAAmB,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAkB,CACtF,CAAC,CAAC,CAAC,CAAC;KACR;;IAGO,8BAA8B,GAAA;;QAElC,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,sBAAsB,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5D,gBAAA,CAAC,EAAE,CAAC;gBACJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;aAC3B;SACJ,EAAE,EAAE,CAAC,CAAC;KACV;;IAGO,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,kBAAkB,EAAE,GAAG,cAAc,CAAC,CAAC;KAChF;;AAGO,IAAA,YAAY,CAAC,WAAgC,EAAA;QACjD,IAAI,CAAC,WAAW,EAAE;AACd,YAAA,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAClC;AACD,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxB,YAAA,IAAI,IAAI,KAAK,WAAW,EAAE;AACtB,gBAAA,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;AAClC,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC/C;AAAM,iBAAA,IAAI,IAAI,KAAK,WAAW,EAAE;AAC7B,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,EAAE;AACvD,oBAAA,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC;AACpC,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;iBACjD;AAAM,qBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,EAAE;AAC9D,oBAAA,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC;AACnC,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBAChD;aACJ;AACL,SAAC,CAAC,CAAC;QACH,UAAU,CAAC,MAAK;AACX,YAAA,QAAQ,CAAC,aAA6B,CAAC,IAAI,EAAE,CAAC;AACnD,SAAC,CAAC,CAAC;KACN;;IAGO,sBAAsB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACvD,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACtD;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAC1B;AAtjBQ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,6EAiFA,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAjFvC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAdb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,kCAAA,EAAA,sCAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,aAAa;AACb,YAAA;AACI,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,WAAW,EAAE,eAAe;AAC/B,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA8Ca,0BAA0B,EAJvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,mBAAmB,EAQnB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,sBAAsB,+KAQ5B,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjIjC,ynCAgCA,EAAA,MAAA,EAAA,CAAA,22dAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED6Cc,kBAAkB,EAAE,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,EAAE,QAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,+IAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAExE,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,SAAS;+BACI,WAAW,EAAA,aAAA,EAGN,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACP,aAAa;AACb,wBAAA;AACI,4BAAA,OAAO,EAAE,MAAM;AACf,4BAAA,WAAW,EAAiB,eAAA;AAC/B,yBAAA;qBACJ,EACK,IAAA,EAAA;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,mBAAmB,EAAE,kCAAkC;qBAC1D,EACW,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,ynCAAA,EAAA,MAAA,EAAA,CAAA,22dAAA,CAAA,EAAA,CAAA;;0BAmF7E,QAAQ;;0BAAI,MAAM;2BAAC,wBAAwB,CAAA;yCA3EhD,cAAc,EAAA,CAAA;sBADb,KAAK;gBAQN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAQN,kBAAkB,EAAA,CAAA;sBAFjB,KAAK;;sBACL,WAAW;uBAAC,sCAAsC,CAAA;gBAKnD,kBAAkB,EAAA,CAAA;sBADjB,KAAK;gBAQN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAK3D,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,0BAA0B,CAAA;gBAKxC,aAAa,EAAA,CAAA;sBADZ,eAAe;uBAAC,sBAAsB,CAAA;gBAKvC,gBAAgB,EAAA,CAAA;sBADf,SAAS;uBAAC,kBAAkB,CAAA;gBAK7B,SAAS,EAAA,CAAA;sBADR,SAAS;uBAAC,kBAAkB,CAAA;gBAoC7B,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,CAAA;;;AE1JjC,MAAM,UAAU,GAAG;IACf,eAAe;IACf,yBAAyB;IACzB,0BAA0B;IAC1B,mBAAmB;IACnB,4BAA4B;IAC5B,sBAAsB;IACtB,uBAAuB;CAC1B,CAAC;AAEF;;;;;;;;;AASG;MAMU,YAAY,CAAA;8GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAxBrB,eAAe;YACf,yBAAyB;YACzB,0BAA0B;YAC1B,mBAAmB;YACnB,4BAA4B;YAC5B,sBAAsB;AACtB,YAAA,uBAAuB,aANvB,eAAe;YACf,yBAAyB;YACzB,0BAA0B;YAC1B,mBAAmB;YACnB,4BAA4B;YAC5B,sBAAsB;YACtB,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAkBd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAFV,SAAA,EAAA,CAAC,aAAa,CAAC,YAlB1B,4BAA4B,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAoBnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;oBACxB,SAAS,EAAE,CAAC,aAAa,CAAC;AAC7B,iBAAA,CAAA;;;AClCD;;AAEG;;;;"}
@@ -47,6 +47,8 @@ export declare class GridListComponent<T> extends GridList<T> implements OnChang
47
47
  private readonly _selectedItemsSubject$;
48
48
  /** @hidden */
49
49
  private readonly subscription;
50
+ /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */
51
+ private readonly _destroyRef;
50
52
  /** @hidden */
51
53
  private readonly _rtlService;
52
54
  /** @hidden */
@@ -70,7 +72,25 @@ export declare class GridListComponent<T> extends GridList<T> implements OnChang
70
72
  /** @hidden */
71
73
  private _handleHomeEndKeydown;
72
74
  /** @hidden */
75
+ private _handleTabKeydown;
76
+ /** @hidden */
77
+ private _handleShiftArrowKeydown;
78
+ /** @hidden */
73
79
  private _handleArrowKeydown;
80
+ /** hidden */
81
+ private _calculateIndexToFocus;
82
+ /** hidden */
83
+ private _persistSelectionState;
84
+ /** hidden */
85
+ private _getCurrentItemIndex;
86
+ /** hidden */
87
+ private _focusItemAtIndex;
88
+ /** hidden */
89
+ private _toggleSelection;
90
+ /** @hidden */
91
+ private _listenOnQueryChange;
92
+ /** @hidden */
93
+ private _setFirstFocusableItem;
74
94
  /** @hidden */
75
95
  private _getItemsPerRow;
76
96
  /** @hidden */
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
2
- import { Nullable } from '@fundamental-ngx/cdk/utils';
2
+ import { Nullable, TabbableElementService } from '@fundamental-ngx/cdk/utils';
3
3
  import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
4
4
  import { GridListItemBodyDirective } from '../../directives/grid-list-item-body.directive';
5
5
  import { GridListSelectionMode } from '../../models/grid-list-selection.models';
@@ -20,6 +20,7 @@ export declare class GridListItemComponent<T> implements AfterViewInit, OnDestro
20
20
  private readonly _render;
21
21
  private readonly _gridList;
22
22
  readonly _contentDensityObserver: ContentDensityObserver;
23
+ private readonly _tabbableElementService;
23
24
  /** id for the Element */
24
25
  id: string;
25
26
  /** width of the element */
@@ -138,6 +139,8 @@ export declare class GridListItemComponent<T> implements AfterViewInit, OnDestro
138
139
  get selectionMode(): GridListSelectionMode | undefined;
139
140
  /** @hidden */
140
141
  _index?: number;
142
+ /** tabIndex of the element */
143
+ tabIndex: import("@angular/core").WritableSignal<number>;
141
144
  /** @hidden */
142
145
  private _type;
143
146
  /** @hidden */
@@ -147,7 +150,9 @@ export declare class GridListItemComponent<T> implements AfterViewInit, OnDestro
147
150
  /** @hidden */
148
151
  private readonly subscription;
149
152
  /** @hidden */
150
- constructor(_cd: ChangeDetectorRef, _elementRef: ElementRef, _render: Renderer2, _gridList: GridList<T>, _contentDensityObserver: ContentDensityObserver);
153
+ private _innerElementFocused;
154
+ /** @hidden */
155
+ constructor(_cd: ChangeDetectorRef, _elementRef: ElementRef, _render: Renderer2, _gridList: GridList<T>, _contentDensityObserver: ContentDensityObserver, _tabbableElementService: TabbableElementService);
151
156
  /** @hidden */
152
157
  ngAfterViewInit(): void;
153
158
  /** @hidden */
@@ -3,6 +3,14 @@ export declare enum GridListSelectionActions {
3
3
  ADD = "add",
4
4
  REMOVE = "remove"
5
5
  }
6
+ export declare enum GridListSelectionModeEnum {
7
+ NONE = "none",
8
+ DELETE = "delete",
9
+ SINGLE_SELECT = "singleSelect",
10
+ SINGLE_SELECT_LEFT = "singleSelectLeft",
11
+ SINGLE_SELECT_RIGHT = "singleSelectRight",
12
+ MULTI_SELECT = "multiSelect"
13
+ }
6
14
  export interface GridListSelectionEvent<T> {
7
15
  /** currently selected items */
8
16
  selection: T[];
@@ -17,7 +17,7 @@ export declare abstract class BaseMultiCombobox<T = any> {
17
17
  abstract secondaryKey: string;
18
18
  abstract showSecondaryText: boolean;
19
19
  abstract lookupKey: string;
20
- abstract invalidEntryMessage: string;
20
+ abstract invalidEntryMessage: Nullable<string>;
21
21
  abstract invalidEntryDisplayTime: number;
22
22
  abstract limitless: boolean;
23
23
  abstract isGroup: boolean;
@@ -79,8 +79,11 @@ export declare class MultiComboboxComponent<T = any> extends BaseMultiCombobox<T
79
79
  fillControlMode: PopoverFillMode;
80
80
  /** Sets title attribute to addon button. */
81
81
  addonIconTitle: string;
82
- /** Sets invalid entry message. */
83
- invalidEntryMessage: string;
82
+ /**
83
+ * @deprecated Use the i18n module to modify the translation for this string.
84
+ * Sets invalid entry message.
85
+ * */
86
+ invalidEntryMessage: Nullable<string>;
84
87
  /** Turns limitless mode, ON or OFF */
85
88
  limitless: boolean;
86
89
  /**
@@ -182,6 +185,10 @@ export declare class MultiComboboxComponent<T = any> extends BaseMultiCombobox<T
182
185
  /** @hidden */
183
186
  private _selectedItems;
184
187
  /** @hidden */
188
+ private readonly _lang$;
189
+ /** @hidden */
190
+ private _translationResolver;
191
+ /** @hidden */
185
192
  constructor(_elementRef: ElementRef, _injector: Injector, _viewContainerRef: ViewContainerRef, _dynamicComponentService: DynamicComponentService);
186
193
  /** @hidden */
187
194
  ngOnInit(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.52.2-rc.2",
3
+ "version": "0.52.2-rc.21",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -23,8 +23,8 @@
23
23
  "@angular/forms": "^18.0.0",
24
24
  "@angular/platform-browser": "^18.0.0",
25
25
  "@angular/router": "^18.0.0",
26
- "@fundamental-ngx/cdk": "0.52.2-rc.2",
27
- "@fundamental-ngx/i18n": "0.52.2-rc.2",
26
+ "@fundamental-ngx/cdk": "0.52.2-rc.21",
27
+ "@fundamental-ngx/i18n": "0.52.2-rc.21",
28
28
  "@sap-theming/theming-base-content": "^11.18.0",
29
29
  "fundamental-styles": "0.37.7",
30
30
  "rxjs": "^7.8.0"
@@ -8,6 +8,23 @@ export declare const GetDefaultPosition: (position: ConnectedPosition[]) => Conn
8
8
  * * 'fit-content' will apply width needed to properly display items inside, independent of control.
9
9
  */
10
10
  export type PopoverFillMode = 'at-least' | 'equal' | 'fit-content';
11
+ export declare enum PopoverPlacement {
12
+ AUTO_START = "auto-start",
13
+ AUTO = "auto",
14
+ AUTO_END = "auto-end",
15
+ TOP_START = "top-start",
16
+ TOP = "top",
17
+ TOP_END = "top-end",
18
+ RIGHT_START = "right-start",
19
+ RIGHT = "right",
20
+ RIGHT_END = "right-end",
21
+ BOTTOM_END = "bottom-end",
22
+ BOTTOM = "bottom",
23
+ BOTTOM_START = "bottom-start",
24
+ LEFT_END = "left-end",
25
+ LEFT = "left",
26
+ LEFT_START = "left-start"
27
+ }
11
28
  export type Placement = 'auto-start' | 'auto' | 'auto-end' | 'top-start' | 'top' | 'top-end' | 'right-start' | 'right' | 'right-end' | 'bottom-end' | 'bottom' | 'bottom-start' | 'left-end' | 'left' | 'left-start';
12
29
  export type RtlPlacement = 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
13
30
  export type XPositions = 'start' | 'center' | 'end';