@taiga-ui/core 3.20.0 → 3.21.0-dev.main-92c5f00
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/abstract-textfield-host.d.ts +1 -0
- package/bundles/taiga-ui-core-abstract.umd.js +7 -0
- package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +5 -4
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +17 -9
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +4 -23
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +11 -5
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +1 -1
- package/bundles/taiga-ui-core-directives-dropdown.umd.js +3 -0
- package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +5 -0
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-format.umd.js +20 -9
- package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js +1 -1
- package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +1 -1
- package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
- package/components/primitive-spin-button/primitive-spin-button.module.d.ts +1 -1
- package/components/primitive-textfield/textfield/textfield.component.d.ts +1 -0
- package/esm2015/abstract/abstract-textfield-host.js +4 -1
- package/esm2015/components/dialog/dialog.component.js +8 -7
- package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +14 -6
- package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
- package/esm2015/components/primitive-spin-button/primitive-spin-button.module.js +5 -24
- package/esm2015/components/primitive-textfield/textfield/textfield.component.js +9 -7
- package/esm2015/components/root/root.component.js +1 -1
- package/esm2015/directives/dropdown/dropdown.component.js +4 -1
- package/esm2015/interfaces/textfield-host.js +1 -1
- package/esm2015/tokens/number-format.js +5 -1
- package/esm2015/utils/format/format-phone.js +4 -4
- package/esm2015/utils/mask/create-number-mask.js +2 -2
- package/esm2015/utils/miscellaneous/icons-path-factory.js +2 -2
- package/fesm2015/taiga-ui-core-abstract.js +3 -0
- package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +6 -5
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +13 -5
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +5 -24
- package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +7 -5
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +1 -1
- package/fesm2015/taiga-ui-core-directives-dropdown.js +3 -0
- package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +5 -1
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-format.js +3 -3
- package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js +1 -1
- package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js +1 -1
- package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
- package/interfaces/textfield-host.d.ts +1 -0
- package/package.json +4 -4
- package/tokens/number-format.d.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover-options.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\n/**\n * A component to display a dropdown\n */\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT]`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Type,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n readonly type = 'dropdown';\n\n readonly component = new PolymorpheusComponent(this.hapica, this.injector);\n\n constructor(\n @Inject(ElementRef) readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_DROPDOWN_COMPONENT) private readonly hapica: Type<unknown>,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiDropdownHoverOptions {\n readonly showDelay: number;\n readonly hideDelay: number;\n}\n\n/** Default values for hint options */\nexport const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS: TuiDropdownHoverOptions = {\n showDelay: 200,\n hideDelay: 500,\n};\n\n/**\n * Default parameters for dropdown hover directive\n */\nexport const TUI_DROPDOWN_HOVER_OPTIONS = new InjectionToken<TuiDropdownHoverOptions>(\n '[TUI_DROPDOWN_HOVER_OPTIONS]',\n {\n factory: () => TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownHoverOptionsProvider: (\n options: Partial<TuiDropdownHoverOptions>,\n) => ValueProvider = (options: Partial<TuiDropdownHoverOptions>) => ({\n provide: TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n useValue: {...TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS, ...options},\n});\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, share, switchMap, tap} from 'rxjs/operators';\n\nimport {\n TUI_DROPDOWN_HOVER_OPTIONS,\n TuiDropdownHoverOptions,\n} from './dropdown-hover-options.directive';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n tap(visible => {\n this.hovered = visible;\n }),\n share(),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = this.options.showDelay;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = this.options.hideDelay;\n\n hovered = false;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_DROPDOWN_HOVER_OPTIONS)\n private readonly options: TuiDropdownHoverOptions,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\n/**\n * Default parameters for dropdown directive\n */\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS]',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * @description:\n * This component is used to show template in a portal\n * using default style of white rounded box with a shadow\n */\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n providers: [\n TuiDestroyService,\n TuiPositionService,\n tuiPositionAccessorFor('dropdown'),\n tuiRectAccessorFor('dropdown', TuiDropdownDirective),\n ],\n animations: [tuiDropdownAnimation],\n // @bad TODO: OnPush\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiDropdownComponent implements OnDestroy {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n this.updateWidth();\n }\n\n ngOnDestroy(): void {\n this.onHoveredChange(false);\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n this.updateWidth();\n }\n\n private updateWidth(): void {\n const {style} = this.elementRef.nativeElement;\n const rect = this.accessor.getClientRect();\n const {limitWidth} = this.options;\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {nativeElement} = this.directive.elementRef;\n const {ownerDocument} = nativeElement;\n const root = ownerDocument ? ownerDocument.body : nativeElement;\n let focusable = tuiGetClosestFocusable({initial: nativeElement, root, previous});\n\n while (focusable !== null && nativeElement.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective, TuiDriver, TuiVehicle} from '@taiga-ui/core/abstract';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {\n readonly type = 'dropdown';\n\n // TODO: Figure out why this is necessary under nx test runner\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) drivers: TuiDriver[],\n @Inject(TuiVehicle) vehicles: TuiVehicle[],\n ) {\n super(destroy$, drivers, vehicles);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n readonly type = 'dropdown';\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {BehaviorSubject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new BehaviorSubject(false);\n\n @Input()\n tuiDropdownManual = false;\n\n readonly type = 'dropdown';\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n tuiFallbackRectAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective extends TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiRectAccessor) private readonly accessors: readonly TuiRectAccessor[],\n @Inject(TuiDropdownDirective) private readonly directive: TuiDropdownDirective,\n ) {\n super();\n }\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset - viewport.top,\n bottom: viewport.bottom - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < viewport.right - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n\n @tuiPure\n get accessor(): TuiRectAccessor {\n return tuiFallbackRectAccessor('dropdown')(this.accessors, this.directive);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective extends TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiDropdownPositionDirective,\n ) {\n super();\n }\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.vertical.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom - viewport.top,\n left: hostRect.left - offset - viewport.left,\n right: viewport.right - hostRect.right - offset,\n bottom: viewport.bottom - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA;;AAEG;MACU,sBAAsB,GAAG,IAAI,cAAc,CACpD,0BAA0B,EAC1B;AACI,IAAA,OAAO,EAAE,MAAM,oBAAoB;AACtC,CAAA;;MC6BQ,oBAAoB,CAAA;AAmB7B,IAAA,WAAA,CACiC,UAAmC,EACf,MAAqB,EACnC,QAAkB,EAEpC,eAAyC,EAAA;QAJ7B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QACf,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QACnC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAEpC,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;QAb9D,IAAO,CAAA,OAAA,GAAwE,EAAE,CAAC;QAElF,IAAc,CAAA,cAAA,GAAiC,IAAI,CAAC;QAE3C,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;AAElB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAQvE;AAGJ,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACvD,cAAE,OAAO;cACP,UAAU,CAAC;KACpB;IAED,kBAAkB,GAAA;;QACd,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACvD,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzD;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IAED,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;KAChE;AAED,IAAA,MAAM,CAAC,IAAa,EAAA;QAChB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC9C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClE,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC9B,SAAA;KACJ;;AA5DQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAoBjB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,sBAAsB,EACtB,EAAA,EAAA,KAAA,EAAA,QAAQ,aACR,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAvB3B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EALlB,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAAA;QACP,iBAAiB,CAAC,oBAAoB,CAAC;QACvC,YAAY,CAAC,oBAAoB,CAAC;AACrC,KAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAaD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACiE,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAiBlF,UAAA,CAAA;IADC,OAAO;AAKP,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;4FAhCQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE;AACP,wBAAA,iBAAiB,CAAsB,oBAAA,CAAA;AACvC,wBAAA,YAAY,CAAsB,oBAAA,CAAA;AACrC,qBAAA;AACJ,iBAAA,CAAA;;0BAqBQ,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,sBAAsB,CAAA;;0BAC7B,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,wBAAwB,CAAA;4CAZpC,OAAO,EAAA,CAAA;sBAFN,KAAK;uBAAC,aAAa,CAAA;gBAmBhB,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;AC/DhB;AACa,MAAA,kCAAkC,GAA4B;AACvE,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,SAAS,EAAE,GAAG;EAChB;AAEF;;AAEG;MACU,0BAA0B,GAAG,IAAI,cAAc,CACxD,8BAA8B,EAC9B;AACI,IAAA,OAAO,EAAE,MAAM,kCAAkC;AACpD,CAAA,EACH;MAEW,+BAA+B,GAEvB,CAAC,OAAyC,MAAM;AACjE,IAAA,OAAO,EAAE,kCAAkC;AAC3C,IAAA,QAAQ,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,kCAAkC,CAAK,EAAA,OAAO,CAAC;AAChE,CAAA;;ACbK,MAAO,yBAA0B,SAAQ,SAAS,CAAA;IAwBpD,WACgD,CAAA,QAA6B,EAExD,OAAgC,EAAA;AAEjD,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAJZ,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;QAExD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyB;AA1BpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;QACjC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC9D,SAAS,CAAC,OAAO,IACb,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CACrE,EACD,GAAG,CAAC,OAAO,IAAG;AACV,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,SAAC,CAAC,EACF,KAAK,EAAE,CACV,CAAC;AAIF,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAEnC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAEP,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAQ1B;AAED,IAAA,MAAM,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9B;;uHAlCQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAyBtB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,0BAA0B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GA1B7B,yBAAyB,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,SAAA,EAFvB,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,iBAAiB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAgBtE,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAlB1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,SAAS,EAAE,CAAC,WAAW,CAA2B,yBAAA,CAAA,EAAE,iBAAiB,CAAC;AACzE,iBAAA,CAAA;;0BA0BQ,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,0BAA0B,CAAA;4CAZtC,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;;;ACJjC;AACa,MAAA,4BAA4B,GAAuB;AAC5D,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,CAAC;EACX;AAEF;;AAEG;MACU,oBAAoB,GAAG,IAAI,cAAc,CAClD,wBAAwB,EACxB;AACI,IAAA,OAAO,EAAE,MAAM,4BAA4B;AAC9C,CAAA,EACH;MAEW,0BAA0B,GAEhB,CAAC,QAAqC,MAAM;AAC/D,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,IAAI,EAAE;AACF,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,2BAA2B,CAAC;AAC7C,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,oBAAoB,CAAC;AACzC,KAAA;AACD,IAAA,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC;AAC3C,CAAA,EAAE;MAYU,2BAA2B,CAAA;AAyBpC,IAAA,WAAA,CAGqB,OAA2B,EAAA;QAA3B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;AAzBhD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAI3B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAIrC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;KAMzB;;AA7BK,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBA2BxB,oBAAoB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA3BvB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAPzB,QAAA,EAAA,0IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,UAAA,EAAA,CAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC7D,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAKD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACU,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAI3B,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACoB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIrC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACY,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAvBpB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EACJ,0IAA0I;AAC9I,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC7D,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;0BA2BQ,QAAQ;;0BACR,MAAM;2BAAC,oBAAoB,CAAA;4CAxBhC,KAAK,EAAA,CAAA;sBAFJ,KAAK;uBAAC,kBAAkB,CAAA;gBAMzB,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,UAAU,EAAA,CAAA;sBAFT,KAAK;uBAAC,uBAAuB,CAAA;gBAM9B,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,MAAM,EAAA,CAAA;sBAFL,KAAK;uBAAC,mBAAmB,CAAA;;;ACpD9B;;;;AAIG;MAgBU,oBAAoB,CAAA;AAO7B,IAAA,WAAA,CACgC,SAA+B,EACxB,QAA0B,EACtB,SAA+B,EACjC,UAAmC,EAEvD,IAAoC,EACX,QAAyB,EAClC,SAAiB,EAEjC,gBAAkC,EACJ,OAA2B,EAGzD,cAAgD,EAAA;QAX1B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;QACjC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAEvD,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgC;QACX,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAClC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QAEjC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QACJ,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QAGzD,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkC;AAnB5D,QAAA,IAAA,CAAA,iBAAiB,mBACtB,KAAK,EAAA,WAAA,kBAAA,EACF,IAAI,CAAC,gBAAgB,CAC1B,CAAA;AAkBE,QAAA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAI;AAC1D,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,eAAe,CAAC,OAAgB,EAAA;QAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvC,SAAA;KACJ;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;IAEO,MAAM,CAAC,GAAW,EAAE,IAAY,EAAA;QACpC,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAC9C,QAAA,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACtE,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AACzC,QAAA,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AACrC,QAAA,MAAM,EAAC,UAAU,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC3C,QAAA,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AAC5D,QAAA,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3D,GAAG,IAAI,OAAO,CAAC;QACf,IAAI,IAAI,OAAO,CAAC;QAEhB,MAAM,cAAc,GAChB,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC;QACzE,MAAM,SAAS,GAAG,cAAc;AAC5B,cAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM;cACrB,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC;AAE3C,QAAA,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,QAAA,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACnD,QAAA,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACxD,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,QAAA,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAEO,WAAW,GAAA;QACf,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC3C,QAAA,MAAM,EAAC,UAAU,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAElC,QAAA,QAAQ,UAAU;AACd,YAAA,KAAK,KAAK;gBACN,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM;AACV,YAAA,KAAK,OAAO;gBACR,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,SAAA;KACJ;AAEO,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QACtC,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;AAClD,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,aAAa,CAAC;AACtC,QAAA,MAAM,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC;AAChE,QAAA,IAAI,SAAS,GAAG,sBAAsB,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QAEjF,OAAO,SAAS,KAAK,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC5D,YAAA,SAAS,GAAG,sBAAsB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC5E,SAAA;AAED,QAAA,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,KAAK,EAAE,CAAC;KACtB;;AAvGQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAQjB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EACV,iBAAiB,EACzB,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,oBAAoB,aACpB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,8BAA8B,EAE9B,EAAA,EAAA,KAAA,EAAA,eAAe,aACf,MAAM,EAAA,EAAA,EAAA,KAAA,EACN,qBAAqB,EAErB,EAAA,EAAA,KAAA,EAAA,oBAAoB,aAEpB,yBAAyB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AApB5B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAXlB,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,iBAAiB;QACjB,kBAAkB;QAClB,sBAAsB,CAAC,UAAU,CAAC;AAClC,QAAA,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC;AACvD,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnDL,ipBAyBA,EAAA,MAAA,EAAA,CAAA,8iBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,ED2BgB,CAAC,oBAAoB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;4FAKzB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,WAAW,EAAE,0BAA0B;oBACvC,SAAS,EAAE,CAAC,uBAAuB,CAAC;AACpC,oBAAA,SAAS,EAAE;wBACP,iBAAiB;wBACjB,kBAAkB;wBAClB,sBAAsB,CAAC,UAAU,CAAC;AAClC,wBAAA,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC;AACvD,qBAAA;oBACD,UAAU,EAAE,CAAC,oBAAoB,CAAC;;;oBAGlC,eAAe,EAAE,uBAAuB,CAAC,OAAO;AACnD,iBAAA,CAAA;;0BASQ,MAAM;2BAAC,kBAAkB,CAAA;;0BACzB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,8BAA8B,CAAA;;0BAErC,MAAM;2BAAC,eAAe,CAAA;8BACqB,MAAM,EAAA,UAAA,EAAA,CAAA;0BAAjD,MAAM;2BAAC,MAAM,CAAA;;0BACb,MAAM;2BAAC,qBAAqB,CAAA;;0BAE5B,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,QAAQ;;0BACR,MAAM;2BAAC,yBAAyB,CAAA;4CAlB5B,iBAAiB,EAAA,CAAA;sBADzB,WAAW;uBAAC,uBAAuB,CAAA;;;AE3CxC,SAAS,gBAAgB,CAAoC,MAAe,EAAA;IACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAUK,MAAO,2BAA4B,SAAQ,SAAS,CAAA;AAOtD,IAAA,WAAA,CAEa,UAAkC,EAAA;AAE3C,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAF/C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAwB;AAR9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;QAE1C,IAAW,CAAA,WAAA,GAAG,iBAAiB,CAAC;QAE/B,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAO1B;IAGD,aAAa,CAAC,CAAS,EAAE,CAAS,EAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;IAMD,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;AA9BQ,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAQxB,sBAAsB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AARzB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EANzB,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,8CAAA,EAAA,uBAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,8BAAA,EAAA,sBAAA,EAAA,qCAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,sBAAsB;QACtB,WAAW,CAAC,2BAA2B,CAAC;QACxC,iBAAiB,CAAC,2BAA2B,CAAC;AACjD,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AA0BD,UAAA,CAAA;IAJC,UAAU,CAAC,gBAAgB,CAAC;AAM5B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;4FA1BQ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,SAAS,EAAE;wBACP,sBAAsB;AACtB,wBAAA,WAAW,CAA6B,2BAAA,CAAA;AACxC,wBAAA,iBAAiB,CAA6B,2BAAA,CAAA;AACjD,qBAAA;AACJ,iBAAA,CAAA;;0BASQ,MAAM;2BAAC,sBAAsB,CAAA;4CAOlC,aAAa,EAAA,CAAA;sBADZ,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,0BAA0B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;gBAU9E,aAAa,EAAA,CAAA;sBAHZ,YAAY;uBAAC,uBAAuB,EAAE,CAAC,eAAe,CAAC,CAAA;;sBACvD,YAAY;uBAAC,qCAAqC,EAAE,CAAC,eAAe,CAAC,CAAA;;sBACrE,YAAY;uBAAC,sBAAsB,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;ACzC5D,MAAO,0BAA2B,SAAQ,0BAA0B,CAAA;;AAItE,IAAA,WAAA,CACuC,QAA6B,EAC7C,OAAoB,EACnB,QAAsB,EAAA;AAE1C,QAAA,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAR9B,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAS1B;;AAVQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAKf,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,iBAAiB,EACzB,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,SAAS,aACT,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAPb,0BAA0B,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAFxB,CAAC,iBAAiB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;oBACzB,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;;0BAMQ,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,MAAM;2BAAC,SAAS,CAAA;;0BAChB,MAAM;2BAAC,UAAU,CAAA;;;ACRpB,MAAO,wBAAyB,SAAQ,eAAe,CAAA;AAJ7D,IAAA,WAAA,GAAA;;QAQa,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;AAK9B,KAAA;IAHG,aAAa,GAAA;;QACT,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,0CAAE,qBAAqB,EAAE,KAAI,iBAAiB,CAAC;KAC7E;;sHARQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yGAFtB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE/C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,SAAS,EAAE,CAAC,iBAAiB,CAAA,wBAAA,CAA0B,CAAC;AAC3D,iBAAA,CAAA;8BAGG,eAAe,EAAA,CAAA;sBADd,KAAK;;;ACDJ,MAAO,0BAA2B,SAAQ,SAAS,CAAA;AAQrD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AAR3C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAGtD,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAEjB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAI1B;IAED,WAAW,GAAA;QACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC7C;;wHAdQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,+GAFxB,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE3C,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,SAAS,EAAE,CAAC,WAAW,CAAA,0BAAA,CAA4B,CAAC;AACvD,iBAAA,CAAA;0EAKG,iBAAiB,EAAA,CAAA;sBADhB,KAAK;;;ACOJ,MAAO,4BAA6B,SAAQ,mBAAmB,CAAA;AAKjE,IAAA,WAAA,CACmD,OAA2B,EACnC,QAAyB,EACtB,SAAqC,EAChC,SAA+B,EAAA;AAE9E,QAAA,KAAK,EAAE,CAAC;QALuC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QACnC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAA4B;QAChC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;QANzE,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAS1B;AAED,IAAA,WAAW,CAAC,EAAC,KAAK,EAAE,MAAM,EAAa,EAAA;;AACnC,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,iBAAiB,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC/C,QAAA,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,QAAQ,CAAC;AACxD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;AACvD,QAAA,MAAM,SAAS,GAAG;YACd,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;YAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM;SAChD,CAAC;AACX,QAAA,MAAM,QAAQ,GAAG;AACb,YAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM;AACnC,YAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM;YAChC,KAAK;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK;SACvE,CAAC;AACX,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAEnE,IACI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,SAAS;AAC7C,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC9B;YACE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;KAC9C;AAGD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9E;;AA/CQ,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAMzB,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,YAAY,EACZ,EAAA,EAAA,KAAA,EAAA,eAAe,aACf,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AATvB,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,iGAF1B,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AA+ChE,UAAA,CAAA;IADC,OAAO;AAGP,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;4FA/CQ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wEAAwE;AAClF,oBAAA,SAAS,EAAE,CAAC,qBAAqB,CAAA,4BAAA,CAA8B,CAAC;AACnE,iBAAA,CAAA;;0BAOQ,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,YAAY,CAAA;;0BACnB,MAAM;2BAAC,eAAe,CAAA;;0BACtB,MAAM;2BAAC,oBAAoB,CAAA;4CAoC5B,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;AC3CV,MAAO,iCAAkC,SAAQ,mBAAmB,CAAA;AAWtE,IAAA,WAAA,CACmD,OAA2B,EACnC,QAAyB,EAE/C,QAAsC,EAAA;AAEvD,QAAA,KAAK,EAAE,CAAC;QALuC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QACnC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAE/C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA8B;QAdnD,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;QAGtD,IAAgB,CAAA,gBAAA,GAAqB,EAAE,CAAC;QAGxC,IAAsB,CAAA,sBAAA,GAAG,CAAC,CAAC;QAElB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAS1B;AAED,IAAA,WAAW,CAAC,IAAgB,EAAA;;AACxB,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;AAC7B,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,iBAAiB,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC/C,QAAA,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3D,QAAA,MAAM,SAAS,GAAG;AACd,YAAA,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG;YACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI;YAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,MAAM;AAC/C,YAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG;SAChC,CAAC;AACX,QAAA,MAAM,QAAQ,GAAG;YACb,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;AAC/D,YAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM;AACpC,YAAA,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM;YAC9B,MAAM,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;SAChD,CAAC;AACX,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QACnE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClF,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAElE,IACI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,SAAS;AAClD,YAAA,IAAI,CAAC,QAAQ,KAAK,MAAM,EAC1B;YACE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;KACnC;;AAvDQ,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,EAY9B,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,KAAA,EAAA,YAAY,aACZ,4BAA4B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAd/B,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,EAL/B,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,SAAA,EAAA;QACP,4BAA4B;QAC5B,qBAAqB,CAAC,iCAAiC,CAAC;AAC3D,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEQ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAP7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,SAAS,EAAE;wBACP,4BAA4B;AAC5B,wBAAA,qBAAqB,CAAmC,iCAAA,CAAA;AAC3D,qBAAA;AACJ,iBAAA,CAAA;;0BAaQ,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,YAAY,CAAA;;0BACnB,MAAM;2BAAC,4BAA4B,CAAA;4CAVxC,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAIN,sBAAsB,EAAA,CAAA;sBADrB,KAAK;;;ACkBJ,MAAO,6BACT,SAAQ,SAAS,CAAA;IA2CjB,WAC+B,CAAA,KAAY,EACJ,WAAqB,EACT,UAA+B,EACzC,UAAmC,EAC7B,gBAAkC,EAC9B,QAA8B,EAAA;AAE7E,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAP7B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QACJ,IAAW,CAAA,WAAA,GAAX,WAAW,CAAU;QACT,IAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;QACzC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAC7B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAC9B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;AA9ChE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAC3C,mBAAmB,CACtB,CAAC;QAEe,IAAO,CAAA,OAAA,GAAG,aAAa,CAAC;AACrC,YAAA,IAAI,CAAC,QAAQ;AACb,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAChB,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC1B,oBAAoB,EAAE,CACzB;AACJ,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAI;AACrB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CACpD,KAAK,CAAC,uBAAuB,CAChC,CAAC;AAEF,YAAA,IAAI,CAAC,KAAK;AACN,gBAAA,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC;AACrD,sBAAE,KAAK;AACP,sBAAE,IAAI,CAAC,KAAK,CAAC;AAErB,YAAA,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACvE,CAAC,CACL,CAAC;QAMF,IAAQ,CAAA,QAAA,GAAiC,WAAW,CAAC;QAS5C,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAW1B;IAlBD,IACI,oBAAoB,CAAC,OAA0C,EAAA;AAC/D,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,SAAA;KACJ;IAeD,aAAa,GAAA;QACT,QAAQ,IAAI,CAAC,QAAQ;YACjB,KAAK,KAAK,EAAE;AACR,gBAAA,MAAM,EAAC,uBAAuB,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7C,gBAAA,MAAM,OAAO,GAAG,YAAY,CAAC,uBAAuB,CAAC;AACjD,sBAAE,uBAAuB;AACzB,sBAAE,uBAAuB,CAAC,UAAU,CAAC;AAEzC,gBAAA,OAAO,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC;AACnC,sBAAE,OAAO,CAAC,qBAAqB,EAAE;sBAC/B,iBAAiB,CAAC;AAC3B,aAAA;AACD,YAAA,KAAK,MAAM;gBACP,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC;AAC/D,YAAA;AACI,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;AACjD,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,SAAA;KACJ;IAEO,QAAQ,GAAA;AACZ,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;AAElD,QAAA,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpE,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC3C,SAAA;QAED,OAAO,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,UAAU,IAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;KACvE;AAED;;AAEG;AACK,IAAA,WAAW,CAAC,IAAU,EAAA;;AAC1B,QAAA,OAAO,CAAC,EAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,0CAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC;KAChF;AAED;;AAEG;AACK,IAAA,UAAU,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,GAAG,KAAK,CAAC;AAC7C,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACnE,QAAA,MAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC7E,QAAA,MAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE7E,QAAA,OAAO,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC;KACzD;AAEO,IAAA,mBAAmB,CAAC,OAA+C,EAAA;AACvE,QAAA,MAAM,EAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,GAAG,IAAI,CAAC;AAC/C,QAAA,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACnE,MAAM,EAAC,cAAc,EAAE,YAAY,EAAE,KAAK,EAAC,GAAG,OAAO,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAEvE,QAAA,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,qBAAqB,GAAG,KAAK,GAAG,mBAAmB,CAAC;QAExE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAkB,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;AAE1D,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEG;AACK,IAAA,SAAS,CAAC,OAA+C,EAAA;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACtD,QAAA,MAAM,EAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEhF,QAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAClC,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACnC,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC1B,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AACpC,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AACxB,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;AAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;AAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAE9B,QAAA,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,QAAA,OAAO,KAAK,CAAC;KAChB;;2HA1JQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA6C1B,SAAS,EAAA,EAAA,EAAA,KAAA,EACT,QAAQ,EAAA,EAAA,EAAA,KAAA,EACR,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAlDvB,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAL3B,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,UAAA,CAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,SAAA,EAAA;QACP,WAAW,CAAC,6BAA6B,CAAC;QAC1C,iBAAiB,CAAC,6BAA6B,CAAC;AACnD,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAmCD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACoC,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAjC5C,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,WAAW,CAA+B,6BAAA,CAAA;AAC1C,wBAAA,iBAAiB,CAA+B,6BAAA,CAAA;AACnD,qBAAA;AACJ,iBAAA,CAAA;0DA8CyC,KAAK,EAAA,UAAA,EAAA,CAAA;0BAAtC,MAAM;2BAAC,SAAS,CAAA;8BAC+B,QAAQ,EAAA,UAAA,EAAA,CAAA;0BAAvD,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,oBAAoB,CAAA;4CAjBhC,QAAQ,EAAA,CAAA;sBAFP,KAAK;uBAAC,8BAA8B,CAAA;gBAKjC,oBAAoB,EAAA,CAAA;sBADvB,KAAK;;;MCzBG,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBA1BtB,oBAAoB;QACpB,oBAAoB;QACpB,2BAA2B;QAC3B,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,iCAAiC;AACjC,QAAA,6BAA6B,aAlB7B,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;AACb,QAAA,gBAAgB,aAgBhB,oBAAoB;QACpB,oBAAoB;QACpB,2BAA2B;QAC3B,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,iCAAiC;QACjC,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAGxB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAnCjB,OAAA,EAAA,CAAA;YACL,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,aAAa;YACb,gBAAgB;AACnB,SAAA,CAAA,EAAA,CAAA,CAAA;4FA4BQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApC7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,kBAAkB;wBAClB,aAAa;wBACb,gBAAgB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,oBAAoB;wBACpB,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,yBAAyB;wBACzB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,iCAAiC;wBACjC,6BAA6B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,yBAAyB;wBACzB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,iCAAiC;wBACjC,6BAA6B;AAChC,qBAAA;AACJ,iBAAA,CAAA;;;ACrDD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover-options.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\n/**\n * A component to display a dropdown\n */\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT]`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Type,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n readonly type = 'dropdown';\n\n readonly component = new PolymorpheusComponent(this.hapica, this.injector);\n\n constructor(\n @Inject(ElementRef) readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_DROPDOWN_COMPONENT) private readonly hapica: Type<unknown>,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiDropdownHoverOptions {\n readonly showDelay: number;\n readonly hideDelay: number;\n}\n\n/** Default values for hint options */\nexport const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS: TuiDropdownHoverOptions = {\n showDelay: 200,\n hideDelay: 500,\n};\n\n/**\n * Default parameters for dropdown hover directive\n */\nexport const TUI_DROPDOWN_HOVER_OPTIONS = new InjectionToken<TuiDropdownHoverOptions>(\n '[TUI_DROPDOWN_HOVER_OPTIONS]',\n {\n factory: () => TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownHoverOptionsProvider: (\n options: Partial<TuiDropdownHoverOptions>,\n) => ValueProvider = (options: Partial<TuiDropdownHoverOptions>) => ({\n provide: TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n useValue: {...TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS, ...options},\n});\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, share, switchMap, tap} from 'rxjs/operators';\n\nimport {\n TUI_DROPDOWN_HOVER_OPTIONS,\n TuiDropdownHoverOptions,\n} from './dropdown-hover-options.directive';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n tap(visible => {\n this.hovered = visible;\n }),\n share(),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = this.options.showDelay;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = this.options.hideDelay;\n\n hovered = false;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_DROPDOWN_HOVER_OPTIONS)\n private readonly options: TuiDropdownHoverOptions,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\n/**\n * Default parameters for dropdown directive\n */\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS]',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * @description:\n * This component is used to show template in a portal\n * using default style of white rounded box with a shadow\n */\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n providers: [\n TuiDestroyService,\n TuiPositionService,\n tuiPositionAccessorFor('dropdown'),\n tuiRectAccessorFor('dropdown', TuiDropdownDirective),\n ],\n animations: [tuiDropdownAnimation],\n // @bad TODO: OnPush\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiDropdownComponent implements OnDestroy {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n this.updateWidth();\n }\n\n ngOnDestroy(): void {\n this.onHoveredChange(false);\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n this.updateWidth();\n }\n\n private updateWidth(): void {\n const {style} = this.elementRef.nativeElement;\n const rect = this.accessor.getClientRect();\n const {limitWidth} = this.options;\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n break;\n case 'auto':\n break;\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {nativeElement} = this.directive.elementRef;\n const {ownerDocument} = nativeElement;\n const root = ownerDocument ? ownerDocument.body : nativeElement;\n let focusable = tuiGetClosestFocusable({initial: nativeElement, root, previous});\n\n while (focusable !== null && nativeElement.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective, TuiDriver, TuiVehicle} from '@taiga-ui/core/abstract';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {\n readonly type = 'dropdown';\n\n // TODO: Figure out why this is necessary under nx test runner\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) drivers: TuiDriver[],\n @Inject(TuiVehicle) vehicles: TuiVehicle[],\n ) {\n super(destroy$, drivers, vehicles);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n readonly type = 'dropdown';\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {BehaviorSubject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new BehaviorSubject(false);\n\n @Input()\n tuiDropdownManual = false;\n\n readonly type = 'dropdown';\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n tuiFallbackRectAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective extends TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiRectAccessor) private readonly accessors: readonly TuiRectAccessor[],\n @Inject(TuiDropdownDirective) private readonly directive: TuiDropdownDirective,\n ) {\n super();\n }\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset - viewport.top,\n bottom: viewport.bottom - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < viewport.right - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n\n @tuiPure\n get accessor(): TuiRectAccessor {\n return tuiFallbackRectAccessor('dropdown')(this.accessors, this.directive);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective extends TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiDropdownPositionDirective,\n ) {\n super();\n }\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.vertical.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom - viewport.top,\n left: hostRect.left - offset - viewport.left,\n right: viewport.right - hostRect.right - offset,\n bottom: viewport.bottom - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA;;AAEG;MACU,sBAAsB,GAAG,IAAI,cAAc,CACpD,0BAA0B,EAC1B;AACI,IAAA,OAAO,EAAE,MAAM,oBAAoB;AACtC,CAAA;;MC6BQ,oBAAoB,CAAA;AAmB7B,IAAA,WAAA,CACiC,UAAmC,EACf,MAAqB,EACnC,QAAkB,EAEpC,eAAyC,EAAA;QAJ7B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QACf,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QACnC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAEpC,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;QAb9D,IAAO,CAAA,OAAA,GAAwE,EAAE,CAAC;QAElF,IAAc,CAAA,cAAA,GAAiC,IAAI,CAAC;QAE3C,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;AAElB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAQvE;AAGJ,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACvD,cAAE,OAAO;cACP,UAAU,CAAC;KACpB;IAED,kBAAkB,GAAA;;QACd,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACvD,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzD;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IAED,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;KAChE;AAED,IAAA,MAAM,CAAC,IAAa,EAAA;QAChB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC9C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClE,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC9B,SAAA;KACJ;;AA5DQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAoBjB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,sBAAsB,EACtB,EAAA,EAAA,KAAA,EAAA,QAAQ,aACR,wBAAwB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAvB3B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EALlB,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAAA;QACP,iBAAiB,CAAC,oBAAoB,CAAC;QACvC,YAAY,CAAC,oBAAoB,CAAC;AACrC,KAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAaD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACiE,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAiBlF,UAAA,CAAA;IADC,OAAO;AAKP,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;4FAhCQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,SAAS,EAAE;AACP,wBAAA,iBAAiB,CAAsB,oBAAA,CAAA;AACvC,wBAAA,YAAY,CAAsB,oBAAA,CAAA;AACrC,qBAAA;AACJ,iBAAA,CAAA;;0BAqBQ,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,sBAAsB,CAAA;;0BAC7B,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,wBAAwB,CAAA;4CAZpC,OAAO,EAAA,CAAA;sBAFN,KAAK;uBAAC,aAAa,CAAA;gBAmBhB,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;AC/DhB;AACa,MAAA,kCAAkC,GAA4B;AACvE,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,SAAS,EAAE,GAAG;EAChB;AAEF;;AAEG;MACU,0BAA0B,GAAG,IAAI,cAAc,CACxD,8BAA8B,EAC9B;AACI,IAAA,OAAO,EAAE,MAAM,kCAAkC;AACpD,CAAA,EACH;MAEW,+BAA+B,GAEvB,CAAC,OAAyC,MAAM;AACjE,IAAA,OAAO,EAAE,kCAAkC;AAC3C,IAAA,QAAQ,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,kCAAkC,CAAK,EAAA,OAAO,CAAC;AAChE,CAAA;;ACbK,MAAO,yBAA0B,SAAQ,SAAS,CAAA;IAwBpD,WACgD,CAAA,QAA6B,EAExD,OAAgC,EAAA;AAEjD,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAJZ,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;QAExD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyB;AA1BpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;QACjC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC9D,SAAS,CAAC,OAAO,IACb,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CACrE,EACD,GAAG,CAAC,OAAO,IAAG;AACV,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC3B,SAAC,CAAC,EACF,KAAK,EAAE,CACV,CAAC;AAIF,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAEnC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAEP,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAQ1B;AAED,IAAA,MAAM,CAAC,OAAgB,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9B;;uHAlCQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAyBtB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EACjB,0BAA0B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2GA1B7B,yBAAyB,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,SAAA,EAFvB,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAAE,iBAAiB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAgBtE,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,yBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAlB1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,SAAS,EAAE,CAAC,WAAW,CAA2B,yBAAA,CAAA,EAAE,iBAAiB,CAAC;AACzE,iBAAA,CAAA;;0BA0BQ,MAAM;2BAAC,iBAAiB,CAAA;;0BACxB,MAAM;2BAAC,0BAA0B,CAAA;4CAZtC,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;;;ACJjC;AACa,MAAA,4BAA4B,GAAuB;AAC5D,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE,GAAG;AACd,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,CAAC;EACX;AAEF;;AAEG;MACU,oBAAoB,GAAG,IAAI,cAAc,CAClD,wBAAwB,EACxB;AACI,IAAA,OAAO,EAAE,MAAM,4BAA4B;AAC9C,CAAA,EACH;MAEW,0BAA0B,GAEhB,CAAC,QAAqC,MAAM;AAC/D,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,IAAI,EAAE;AACF,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,2BAA2B,CAAC;AAC7C,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,oBAAoB,CAAC;AACzC,KAAA;AACD,IAAA,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC;AAC3C,CAAA,EAAE;MAYU,2BAA2B,CAAA;AAyBpC,IAAA,WAAA,CAGqB,OAA2B,EAAA;QAA3B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;AAzBhD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAI3B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAIrC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAInC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;KAMzB;;AA7BK,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBA2BxB,oBAAoB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA3BvB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAPzB,QAAA,EAAA,0IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,UAAA,EAAA,CAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC7D,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAKD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACU,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAI3B,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACoB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIrC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACkB,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAInC,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACY,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAvBpB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EACJ,0IAA0I;AAC9I,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,oBAAoB;AAC7B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC7D,yBAAA;AACJ,qBAAA;AACJ,iBAAA,CAAA;;0BA2BQ,QAAQ;;0BACR,MAAM;2BAAC,oBAAoB,CAAA;4CAxBhC,KAAK,EAAA,CAAA;sBAFJ,KAAK;uBAAC,kBAAkB,CAAA;gBAMzB,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,UAAU,EAAA,CAAA;sBAFT,KAAK;uBAAC,uBAAuB,CAAA;gBAM9B,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,SAAS,EAAA,CAAA;sBAFR,KAAK;uBAAC,sBAAsB,CAAA;gBAM7B,MAAM,EAAA,CAAA;sBAFL,KAAK;uBAAC,mBAAmB,CAAA;;;ACpD9B;;;;AAIG;MAgBU,oBAAoB,CAAA;AAO7B,IAAA,WAAA,CACgC,SAA+B,EACxB,QAA0B,EACtB,SAA+B,EACjC,UAAmC,EAEvD,IAAoC,EACX,QAAyB,EAClC,SAAiB,EAEjC,gBAAkC,EACJ,OAA2B,EAGzD,cAAgD,EAAA;QAX1B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;QACjC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAEvD,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgC;QACX,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAClC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QAEjC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QACJ,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QAGzD,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkC;AAnB5D,QAAA,IAAA,CAAA,iBAAiB,mBACtB,KAAK,EAAA,WAAA,kBAAA,EACF,IAAI,CAAC,gBAAgB,CAC1B,CAAA;AAkBE,QAAA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAI;AAC1D,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,eAAe,CAAC,OAAgB,EAAA;QAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvC,SAAA;KACJ;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;IAEO,MAAM,CAAC,GAAW,EAAE,IAAY,EAAA;QACpC,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAC9C,QAAA,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACtE,MAAM,EAAC,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AACzC,QAAA,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AACrC,QAAA,MAAM,EAAC,UAAU,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAC/B,QAAA,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC3C,QAAA,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AAC5D,QAAA,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAE3D,GAAG,IAAI,OAAO,CAAC;QACf,IAAI,IAAI,OAAO,CAAC;QAEhB,MAAM,cAAc,GAChB,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC;QACzE,MAAM,SAAS,GAAG,cAAc;AAC5B,cAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM;cACrB,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC;AAE3C,QAAA,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC1B,QAAA,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACnD,QAAA,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACxD,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,QAAA,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAEO,WAAW,GAAA;QACf,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC3C,QAAA,MAAM,EAAC,UAAU,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAElC,QAAA,QAAQ,UAAU;AACd,YAAA,KAAK,KAAK;gBACN,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM;AACV,YAAA,KAAK,OAAO;gBACR,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,MAAM;AACV,YAAA,KAAK,MAAM;gBACP,MAAM;AACb,SAAA;KACJ;AAEO,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QACtC,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;AAClD,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,aAAa,CAAC;AACtC,QAAA,MAAM,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC;AAChE,QAAA,IAAI,SAAS,GAAG,sBAAsB,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;QAEjF,OAAO,SAAS,KAAK,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC5D,YAAA,SAAS,GAAG,sBAAsB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC5E,SAAA;AAED,QAAA,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,KAAK,EAAE,CAAC;KACtB;;AA1GQ,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBAQjB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EACV,iBAAiB,EACzB,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,oBAAoB,aACpB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,8BAA8B,EAE9B,EAAA,EAAA,KAAA,EAAA,eAAe,aACf,MAAM,EAAA,EAAA,EAAA,KAAA,EACN,qBAAqB,EAErB,EAAA,EAAA,KAAA,EAAA,oBAAoB,aAEpB,yBAAyB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AApB5B,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAXlB,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,iBAAiB;QACjB,kBAAkB;QAClB,sBAAsB,CAAC,UAAU,CAAC;AAClC,QAAA,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC;AACvD,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnDL,ipBAyBA,EAAA,MAAA,EAAA,CAAA,8iBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,ED2BgB,CAAC,oBAAoB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;4FAKzB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAfhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,WAAW,EAAE,0BAA0B;oBACvC,SAAS,EAAE,CAAC,uBAAuB,CAAC;AACpC,oBAAA,SAAS,EAAE;wBACP,iBAAiB;wBACjB,kBAAkB;wBAClB,sBAAsB,CAAC,UAAU,CAAC;AAClC,wBAAA,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC;AACvD,qBAAA;oBACD,UAAU,EAAE,CAAC,oBAAoB,CAAC;;;oBAGlC,eAAe,EAAE,uBAAuB,CAAC,OAAO;AACnD,iBAAA,CAAA;;0BASQ,MAAM;2BAAC,kBAAkB,CAAA;;0BACzB,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,8BAA8B,CAAA;;0BAErC,MAAM;2BAAC,eAAe,CAAA;8BACqB,MAAM,EAAA,UAAA,EAAA,CAAA;0BAAjD,MAAM;2BAAC,MAAM,CAAA;;0BACb,MAAM;2BAAC,qBAAqB,CAAA;;0BAE5B,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,QAAQ;;0BACR,MAAM;2BAAC,yBAAyB,CAAA;4CAlB5B,iBAAiB,EAAA,CAAA;sBADzB,WAAW;uBAAC,uBAAuB,CAAA;;;AE3CxC,SAAS,gBAAgB,CAAoC,MAAe,EAAA;IACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAUK,MAAO,2BAA4B,SAAQ,SAAS,CAAA;AAOtD,IAAA,WAAA,CAEa,UAAkC,EAAA;AAE3C,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAF/C,IAAU,CAAA,UAAA,GAAV,UAAU,CAAwB;AAR9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW,CAAC;QAE1C,IAAW,CAAA,WAAA,GAAG,iBAAiB,CAAC;QAE/B,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAO1B;IAGD,aAAa,CAAC,CAAS,EAAE,CAAS,EAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;IAMD,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;;AA9BQ,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAQxB,sBAAsB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AARzB,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EANzB,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,8CAAA,EAAA,uBAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,8BAAA,EAAA,sBAAA,EAAA,qCAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACP,sBAAsB;QACtB,WAAW,CAAC,2BAA2B,CAAC;QACxC,iBAAiB,CAAC,2BAA2B,CAAC;AACjD,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AA0BD,UAAA,CAAA;IAJC,UAAU,CAAC,gBAAgB,CAAC;AAM5B,CAAA,EAAA,2BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;4FA1BQ,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAC7C,oBAAA,SAAS,EAAE;wBACP,sBAAsB;AACtB,wBAAA,WAAW,CAA6B,2BAAA,CAAA;AACxC,wBAAA,iBAAiB,CAA6B,2BAAA,CAAA;AACjD,qBAAA;AACJ,iBAAA,CAAA;;0BASQ,MAAM;2BAAC,sBAAsB,CAAA;4CAOlC,aAAa,EAAA,CAAA;sBADZ,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,0BAA0B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;gBAU9E,aAAa,EAAA,CAAA;sBAHZ,YAAY;uBAAC,uBAAuB,EAAE,CAAC,eAAe,CAAC,CAAA;;sBACvD,YAAY;uBAAC,qCAAqC,EAAE,CAAC,eAAe,CAAC,CAAA;;sBACrE,YAAY;uBAAC,sBAAsB,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;ACzC5D,MAAO,0BAA2B,SAAQ,0BAA0B,CAAA;;AAItE,IAAA,WAAA,CACuC,QAA6B,EAC7C,OAAoB,EACnB,QAAsB,EAAA;AAE1C,QAAA,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAR9B,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAS1B;;AAVQ,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAKf,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,iBAAiB,EACzB,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,SAAS,aACT,UAAU,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAPb,0BAA0B,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAFxB,CAAC,iBAAiB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAErB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;oBACzB,SAAS,EAAE,CAAC,iBAAiB,CAAC;AACjC,iBAAA,CAAA;;0BAMQ,IAAI;;0BAAI,MAAM;2BAAC,iBAAiB,CAAA;;0BAChC,MAAM;2BAAC,SAAS,CAAA;;0BAChB,MAAM;2BAAC,UAAU,CAAA;;;ACRpB,MAAO,wBAAyB,SAAQ,eAAe,CAAA;AAJ7D,IAAA,WAAA,GAAA;;QAQa,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;AAK9B,KAAA;IAHG,aAAa,GAAA;;QACT,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,0CAAE,qBAAqB,EAAE,KAAI,iBAAiB,CAAC;KAC7E;;sHARQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yGAFtB,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE/C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,SAAS,EAAE,CAAC,iBAAiB,CAAA,wBAAA,CAA0B,CAAC;AAC3D,iBAAA,CAAA;8BAGG,eAAe,EAAA,CAAA;sBADd,KAAK;;;ACDJ,MAAO,0BAA2B,SAAQ,SAAS,CAAA;AAQrD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AAR3C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAGtD,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAEjB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAI1B;IAED,WAAW,GAAA;QACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC7C;;wHAdQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,+GAFxB,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAE3C,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,SAAS,EAAE,CAAC,WAAW,CAAA,0BAAA,CAA4B,CAAC;AACvD,iBAAA,CAAA;0EAKG,iBAAiB,EAAA,CAAA;sBADhB,KAAK;;;ACOJ,MAAO,4BAA6B,SAAQ,mBAAmB,CAAA;AAKjE,IAAA,WAAA,CACmD,OAA2B,EACnC,QAAyB,EACtB,SAAqC,EAChC,SAA+B,EAAA;AAE9E,QAAA,KAAK,EAAE,CAAC;QALuC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QACnC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAA4B;QAChC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;QANzE,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAS1B;AAED,IAAA,WAAW,CAAC,EAAC,KAAK,EAAE,MAAM,EAAa,EAAA;;AACnC,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,iBAAiB,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC/C,QAAA,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,QAAQ,CAAC;AACxD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;AACvD,QAAA,MAAM,SAAS,GAAG;YACd,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG;YAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM;SAChD,CAAC;AACX,QAAA,MAAM,QAAQ,GAAG;AACb,YAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM;AACnC,YAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM;YAChC,KAAK;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK;SACvE,CAAC;AACX,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAEnE,IACI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,SAAS;AAC7C,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC9B;YACE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;KAC9C;AAGD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9E;;AA/CQ,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,kBAMzB,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,YAAY,EACZ,EAAA,EAAA,KAAA,EAAA,eAAe,aACf,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AATvB,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,iGAF1B,CAAC,qBAAqB,CAAC,4BAA4B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AA+ChE,UAAA,CAAA;IADC,OAAO;AAGP,CAAA,EAAA,4BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;4FA/CQ,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wEAAwE;AAClF,oBAAA,SAAS,EAAE,CAAC,qBAAqB,CAAA,4BAAA,CAA8B,CAAC;AACnE,iBAAA,CAAA;;0BAOQ,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,YAAY,CAAA;;0BACnB,MAAM;2BAAC,eAAe,CAAA;;0BACtB,MAAM;2BAAC,oBAAoB,CAAA;4CAoC5B,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;AC3CV,MAAO,iCAAkC,SAAQ,mBAAmB,CAAA;AAWtE,IAAA,WAAA,CACmD,OAA2B,EACnC,QAAyB,EAE/C,QAAsC,EAAA;AAEvD,QAAA,KAAK,EAAE,CAAC;QALuC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QACnC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAE/C,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA8B;QAdnD,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;QAGtD,IAAgB,CAAA,gBAAA,GAAqB,EAAE,CAAC;QAGxC,IAAsB,CAAA,sBAAA,GAAG,CAAC,CAAC;QAElB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAS1B;AAED,IAAA,WAAW,CAAC,IAAgB,EAAA;;AACxB,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;AAC7B,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,iBAAiB,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC/C,QAAA,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3D,QAAA,MAAM,SAAS,GAAG;AACd,YAAA,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG;YACnC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI;YAC5C,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,GAAG,MAAM;AAC/C,YAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG;SAChC,CAAC;AACX,QAAA,MAAM,QAAQ,GAAG;YACb,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;AAC/D,YAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM;AACpC,YAAA,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM;YAC9B,MAAM,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;SAChD,CAAC;AACX,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QACnE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClF,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAElE,IACI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,SAAS;AAClD,YAAA,IAAI,CAAC,QAAQ,KAAK,MAAM,EAC1B;YACE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1C,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;QAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;KACnC;;AAvDQ,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,EAY9B,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,KAAA,EAAA,YAAY,aACZ,4BAA4B,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAd/B,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,EAL/B,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,SAAA,EAAA;QACP,4BAA4B;QAC5B,qBAAqB,CAAC,iCAAiC,CAAC;AAC3D,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAEQ,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAP7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,SAAS,EAAE;wBACP,4BAA4B;AAC5B,wBAAA,qBAAqB,CAAmC,iCAAA,CAAA;AAC3D,qBAAA;AACJ,iBAAA,CAAA;;0BAaQ,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,YAAY,CAAA;;0BACnB,MAAM;2BAAC,4BAA4B,CAAA;4CAVxC,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAIN,sBAAsB,EAAA,CAAA;sBADrB,KAAK;;;ACkBJ,MAAO,6BACT,SAAQ,SAAS,CAAA;IA2CjB,WAC+B,CAAA,KAAY,EACJ,WAAqB,EACT,UAA+B,EACzC,UAAmC,EAC7B,gBAAkC,EAC9B,QAA8B,EAAA;AAE7E,QAAA,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAP7B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QACJ,IAAW,CAAA,WAAA,GAAX,WAAW,CAAU;QACT,IAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;QACzC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAC7B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAC9B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;AA9ChE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAC3C,mBAAmB,CACtB,CAAC;QAEe,IAAO,CAAA,OAAA,GAAG,aAAa,CAAC;AACrC,YAAA,IAAI,CAAC,QAAQ;AACb,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAChB,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,EAC1B,oBAAoB,EAAE,CACzB;AACJ,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,KAAI;AACrB,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CACpD,KAAK,CAAC,uBAAuB,CAChC,CAAC;AAEF,YAAA,IAAI,CAAC,KAAK;AACN,gBAAA,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC;AACrD,sBAAE,KAAK;AACP,sBAAE,IAAI,CAAC,KAAK,CAAC;AAErB,YAAA,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACvE,CAAC,CACL,CAAC;QAMF,IAAQ,CAAA,QAAA,GAAiC,WAAW,CAAC;QAS5C,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC;KAW1B;IAlBD,IACI,oBAAoB,CAAC,OAA0C,EAAA;AAC/D,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,SAAA;KACJ;IAeD,aAAa,GAAA;QACT,QAAQ,IAAI,CAAC,QAAQ;YACjB,KAAK,KAAK,EAAE;AACR,gBAAA,MAAM,EAAC,uBAAuB,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7C,gBAAA,MAAM,OAAO,GAAG,YAAY,CAAC,uBAAuB,CAAC;AACjD,sBAAE,uBAAuB;AACzB,sBAAE,uBAAuB,CAAC,UAAU,CAAC;AAEzC,gBAAA,OAAO,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC;AACnC,sBAAE,OAAO,CAAC,qBAAqB,EAAE;sBAC/B,iBAAiB,CAAC;AAC3B,aAAA;AACD,YAAA,KAAK,MAAM;gBACP,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC;AAC/D,YAAA;AACI,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;AACjD,SAAA;KACJ;IAED,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,SAAA;KACJ;IAEO,QAAQ,GAAA;AACZ,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;AAElD,QAAA,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpE,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC3C,SAAA;QAED,OAAO,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,UAAU,IAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;KACvE;AAED;;AAEG;AACK,IAAA,WAAW,CAAC,IAAU,EAAA;;AAC1B,QAAA,OAAO,CAAC,EAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,0CAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC;KAChF;AAED;;AAEG;AACK,IAAA,UAAU,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,EAAC,cAAc,EAAE,YAAY,EAAC,GAAG,KAAK,CAAC;AAC7C,QAAA,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACnE,QAAA,MAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC7E,QAAA,MAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAE7E,QAAA,OAAO,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC;KACzD;AAEO,IAAA,mBAAmB,CAAC,OAA+C,EAAA;AACvE,QAAA,MAAM,EAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,GAAG,IAAI,CAAC;AAC/C,QAAA,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACnE,MAAM,EAAC,cAAc,EAAE,YAAY,EAAE,KAAK,EAAC,GAAG,OAAO,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;AAEvE,QAAA,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,CAAC,WAAW,GAAG,qBAAqB,GAAG,KAAK,GAAG,mBAAmB,CAAC;QAExE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAkB,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;AAE1D,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEG;AACK,IAAA,SAAS,CAAC,OAA+C,EAAA;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACtD,QAAA,MAAM,EAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAEhF,QAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAClC,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;AACnC,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC1B,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AACpC,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AACxB,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;AAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;AAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAE9B,QAAA,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,QAAA,OAAO,KAAK,CAAC;KAChB;;2HA1JQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA6C1B,SAAS,EAAA,EAAA,EAAA,KAAA,EACT,QAAQ,EAAA,EAAA,EAAA,KAAA,EACR,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,UAAU,EAAA,EAAA,EAAA,KAAA,EACV,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAlDvB,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAL3B,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,UAAA,CAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,SAAA,EAAA;QACP,WAAW,CAAC,6BAA6B,CAAC;QAC1C,iBAAiB,CAAC,6BAA6B,CAAC;AACnD,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAmCD,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AACoC,CAAA,EAAA,6BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAjC5C,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA,WAAW,CAA+B,6BAAA,CAAA;AAC1C,wBAAA,iBAAiB,CAA+B,6BAAA,CAAA;AACnD,qBAAA;AACJ,iBAAA,CAAA;0DA8CyC,KAAK,EAAA,UAAA,EAAA,CAAA;0BAAtC,MAAM;2BAAC,SAAS,CAAA;8BAC+B,QAAQ,EAAA,UAAA,EAAA,CAAA;0BAAvD,MAAM;2BAAC,QAAQ,CAAA;;0BACf,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;2BAAC,UAAU,CAAA;;0BACjB,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,oBAAoB,CAAA;4CAjBhC,QAAQ,EAAA,CAAA;sBAFP,KAAK;uBAAC,8BAA8B,CAAA;gBAKjC,oBAAoB,EAAA,CAAA;sBADvB,KAAK;;;MCzBG,iBAAiB,CAAA;;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBA1BtB,oBAAoB;QACpB,oBAAoB;QACpB,2BAA2B;QAC3B,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,iCAAiC;AACjC,QAAA,6BAA6B,aAlB7B,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,kBAAkB;QAClB,aAAa;AACb,QAAA,gBAAgB,aAgBhB,oBAAoB;QACpB,oBAAoB;QACpB,2BAA2B;QAC3B,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,iCAAiC;QACjC,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAGxB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAnCjB,OAAA,EAAA,CAAA;YACL,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,aAAa;YACb,gBAAgB;AACnB,SAAA,CAAA,EAAA,CAAA,CAAA;4FA4BQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApC7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,kBAAkB;wBAClB,aAAa;wBACb,gBAAgB;AACnB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,oBAAoB;wBACpB,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,yBAAyB;wBACzB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,iCAAiC;wBACjC,6BAA6B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,oBAAoB;wBACpB,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,yBAAyB;wBACzB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,iCAAiC;wBACjC,6BAA6B;AAChC,qBAAA;AACJ,iBAAA,CAAA;;;ACrDD;;AAEG;;;;"}
|
|
@@ -191,6 +191,10 @@ function tuiNotificationOptionsProvider(options) {
|
|
|
191
191
|
const TUI_NUMBER_FORMAT = new InjectionToken(`[TUI_NUMBER_FORMAT]`, {
|
|
192
192
|
factory: () => TUI_DEFAULT_NUMBER_FORMAT,
|
|
193
193
|
});
|
|
194
|
+
const tuiNumberFormatProvider = (options) => ({
|
|
195
|
+
provide: TUI_NUMBER_FORMAT,
|
|
196
|
+
useValue: Object.assign(Object.assign({}, TUI_DEFAULT_NUMBER_FORMAT), options),
|
|
197
|
+
});
|
|
194
198
|
|
|
195
199
|
/**
|
|
196
200
|
* Content for tuiOption component
|
|
@@ -324,5 +328,5 @@ function tuiAsViewport(useExisting) {
|
|
|
324
328
|
* Generated bundle index. Do not edit.
|
|
325
329
|
*/
|
|
326
330
|
|
|
327
|
-
export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DAY_TYPE_HANDLER, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_ICONS_PLACE, TUI_IS_MOBILE_RES, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SELECTION_STREAM, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_HOST, TUI_THEME, TUI_VALUE_ACCESSOR, TUI_VIEWPORT, tuiAsDataListAccessor, tuiAsDataListHost, tuiAsOptionContent, tuiAsTextfieldHost, tuiAsViewport, tuiNotificationOptionsProvider };
|
|
331
|
+
export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DAY_TYPE_HANDLER, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_ICONS_PLACE, TUI_IS_MOBILE_RES, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SELECTION_STREAM, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_SVG_CONTENT_PROCESSOR, TUI_SVG_SRC_PROCESSOR, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_HOST, TUI_THEME, TUI_VALUE_ACCESSOR, TUI_VIEWPORT, tuiAsDataListAccessor, tuiAsDataListHost, tuiAsOptionContent, tuiAsTextfieldHost, tuiAsViewport, tuiNotificationOptionsProvider, tuiNumberFormatProvider };
|
|
328
332
|
//# sourceMappingURL=taiga-ui-core-tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n `[TUI_ANIMATIONS_DURATION]`,\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]`,\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\n/**\n * Flag to enable assertions across Taiga UI\n */\nexport const TUI_ASSERT_ENABLED = new InjectionToken(`[TUI_ASSERT_ENABLED]`, {\n factory: () => isDevMode(),\n});\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = new InjectionToken<TuiHandler<TuiDay, string>>(\n `[TUI_DAY_TYPE_HANDLER]`,\n {\n factory: () => (day: TuiDay) => day.isWeekend ? `weekend` : `weekday`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(`[TUI_ELEMENT_REF]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n `[TUI_FIRST_DAY_OF_WEEK]`,\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]`, {\n factory: tuiExtractI18n(`months`),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]`, {\n factory: tuiExtractI18n(`close`),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_SHORT_WEEK_DAYS]`, {\n factory: tuiExtractI18n(`shortWeekDays`),\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = new InjectionToken<string>(\n `[TUI_ICONS_PLACE]`,\n {\n factory: () => `assets/taiga-ui/icons`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(`[TUI_ICONS]`, {\n factory: () => ({}),\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(`[TUI_ICONS_PATH]`, {\n factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n });\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(`[TUI_MEDIA]`, {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]`,\n {\n factory: () => {\n const windowRef = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(windowRef, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(windowRef, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(`[TUI_MODE]`);\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n readonly defaultAutoCloseTime: number;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: ``,\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n `[TUI_NOTIFICATION_OPTIONS]`,\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = new InjectionToken<TuiNumberFormatSettings>(\n `[TUI_NUMBER_FORMAT]`,\n {\n factory: () => TUI_DEFAULT_NUMBER_FORMAT,\n },\n);\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(`[TUI_SANITIZER]`);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]`,\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]`,\n {\n factory: () => {\n const documentRef = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(documentRef, `selectionchange`),\n tuiTypedFromEvent(documentRef, `mouseup`),\n tuiTypedFromEvent(documentRef, `mousedown`).pipe(\n switchMap(() =>\n tuiTypedFromEvent(documentRef, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(documentRef, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(documentRef, `keydown`),\n tuiTypedFromEvent(documentRef, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {TuiHandler, tuiSvgLinearGradientProcessor} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<SafeHtml | string, SafeHtml | string>\n>(`[TUI_SVG_CONTENT_PROCESSOR]`, {\n factory: () => tuiSvgLinearGradientProcessor,\n});\n","import {InjectionToken} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR = new InjectionToken<\n TuiHandler<SafeHtml | string, SafeHtml | string>\n>(`[TUI_SVG_SRC_PROCESSOR]`, {\n factory: () => identity,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n `[TUI_TEXTFIELD_APPEARANCE]`,\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>(`[TUI_THEME]`, {\n factory: () => `Taiga`,\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]`,\n);\n","import {inject, InjectionToken, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(`[TUI_VIEWPORT]`, {\n factory: () => {\n const windowRef = inject(WINDOW);\n\n return {\n type: `viewport`,\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: windowRef.innerWidth,\n bottom: windowRef.innerHeight,\n width: windowRef.innerWidth,\n height: windowRef.innerHeight,\n };\n },\n };\n },\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-tokens.js","sources":["../../../projects/core/tokens/animations-duration.ts","../../../projects/core/tokens/animation-options.ts","../../../projects/core/tokens/assert-enabled.ts","../../../projects/core/tokens/data-list-accessor.ts","../../../projects/core/tokens/data-list-host.ts","../../../projects/core/tokens/day-type-handler.ts","../../../projects/core/tokens/document-or-shadow-root.ts","../../../projects/core/tokens/element-ref.ts","../../../projects/core/tokens/first-day-of-week.ts","../../../projects/core/tokens/i18n.ts","../../../projects/core/tokens/icon-place.ts","../../../projects/core/tokens/icons.ts","../../../projects/core/tokens/icons-path.ts","../../../projects/core/tokens/media.ts","../../../projects/core/tokens/is-mobile-resolution.ts","../../../projects/core/tokens/mode.ts","../../../projects/core/tokens/notification-options.ts","../../../projects/core/tokens/number-format.ts","../../../projects/core/tokens/option-content.ts","../../../projects/core/tokens/ordered-short-week-days.ts","../../../projects/core/tokens/sanitizer.ts","../../../projects/core/tokens/scroll-ref.ts","../../../projects/core/tokens/selection-stream.ts","../../../projects/core/tokens/svg-content-processor.ts","../../../projects/core/tokens/svg-src-processor.ts","../../../projects/core/tokens/textfield-appearance.ts","../../../projects/core/tokens/textfield-host.ts","../../../projects/core/tokens/theme.ts","../../../projects/core/tokens/value-accessor.ts","../../../projects/core/tokens/viewport.ts","../../../projects/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\n/**\n * Duration of all Taiga UI animations in ms\n */\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n `[TUI_ANIMATIONS_DURATION]`,\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\n/**\n * Options for Taiga UI animations\n */\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n `[TUI_ANIMATION_OPTIONS]`,\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\n/**\n * Flag to enable assertions across Taiga UI\n */\nexport const TUI_ASSERT_ENABLED = new InjectionToken(`[TUI_ASSERT_ENABLED]`, {\n factory: () => isDevMode(),\n});\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n `[TUI_DATA_LIST_ACCESSOR]`,\n);\n\nexport function tuiAsDataListAccessor(useExisting: Type<TuiDataListAccessor>): Provider {\n return {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting,\n };\n}\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n `[TUI_DATA_LIST_HOST]`,\n);\n\nexport function tuiAsDataListHost(useExisting: Type<TuiDataListHost<unknown>>): Provider {\n return {\n provide: TUI_DATA_LIST_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiHandler} from '@taiga-ui/cdk';\n\n/**\n * Token for adding data-type attribute to calendar cell\n */\nexport const TUI_DAY_TYPE_HANDLER = new InjectionToken<TuiHandler<TuiDay, string>>(\n `[TUI_DAY_TYPE_HANDLER]`,\n {\n factory: () => (day: TuiDay) => day.isWeekend ? `weekend` : `weekday`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n `[TUI_DOCUMENT_OR_SHADOW_ROOT]`,\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * ElementRef when you cannot use @Input for single time injection\n */\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(`[TUI_ELEMENT_REF]`);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\n/**\n * The first day of the week index\n */\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n `[TUI_FIRST_DAY_OF_WEEK]`,\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\n\n/**\n * Localized months names\n */\nexport const TUI_MONTHS = new InjectionToken(`[TUI_MONTHS]`, {\n factory: tuiExtractI18n(`months`),\n});\n\n/**\n * i18n 'close' word\n */\nexport const TUI_CLOSE_WORD = new InjectionToken(`[TUI_CLOSE_WORD]`, {\n factory: tuiExtractI18n(`close`),\n});\n\n/**\n * i18n 'Nothing found' message\n */\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `[TUI_NOTHING_FOUND_MESSAGE]`,\n {\n factory: tuiExtractI18n(`nothingFoundMessage`),\n },\n);\n\n/**\n * i18n of error message\n */\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(\n `[TUI_DEFAULT_ERROR_MESSAGE]`,\n {\n factory: tuiExtractI18n(`defaultErrorMessage`),\n },\n);\n\n/**\n * spin i18n texts\n */\nexport const TUI_SPIN_TEXTS = new InjectionToken(`[TUI_SPIN_TEXTS]`, {\n factory: tuiExtractI18n(`spinTexts`),\n});\n\n/**\n * calendars i18n texts\n */\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken(`[TUI_SHORT_WEEK_DAYS]`, {\n factory: tuiExtractI18n(`shortWeekDays`),\n});\n","import {InjectionToken} from '@angular/core';\n\n/**\n * Path to icons\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PLACE: InjectionToken<string> = new InjectionToken<string>(\n `[TUI_ICONS_PLACE]`,\n {\n factory: () => `assets/taiga-ui/icons`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\n/**\n * A key/value dictionary of icon names and src to be defined with TuiSvgService\n */\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(`[TUI_ICONS]`, {\n factory: () => ({}),\n});\n","import {inject, InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {tuiIconsPathFactory} from '@taiga-ui/core/utils';\n\nimport {TUI_ICONS_PLACE} from './icon-place';\n\n/**\n * A handler to retrieve USE id for icon by name\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(`[TUI_ICONS_PATH]`, {\n factory: () => tuiIconsPathFactory(inject(TUI_ICONS_PLACE)),\n });\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\n/**\n * Token for media constant\n */\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>(`[TUI_MEDIA]`, {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {inject, InjectionToken, NgZone} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiIsMobile} from '@taiga-ui/core/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\nimport {TUI_MEDIA} from './media';\n\n/**\n * Mobile resolution stream for private providers\n */\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n `[TUI_IS_MOBILE_RES]`,\n {\n factory: () => {\n const windowRef = inject(WINDOW);\n const media = inject(TUI_MEDIA);\n\n return tuiTypedFromEvent(windowRef, `resize`).pipe(\n share(),\n startWith(null),\n map(() => tuiIsMobile(windowRef, media)),\n distinctUntilChanged(),\n tuiZoneOptimized(inject(NgZone)),\n );\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n/**\n * Mode stream for private providers\n */\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(`[TUI_MODE]`);\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nexport interface TuiNotificationDefaultOptions\n extends Omit<TuiAlertOptions<unknown>, 'data'> {\n readonly defaultAutoCloseTime: number;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: ``,\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n `[TUI_NOTIFICATION_OPTIONS]`,\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\n/**\n * Formatting configuration for displayed numbers\n */\nexport const TUI_NUMBER_FORMAT = new InjectionToken<TuiNumberFormatSettings>(\n `[TUI_NUMBER_FORMAT]`,\n {\n factory: () => TUI_DEFAULT_NUMBER_FORMAT,\n },\n);\n\nexport const tuiNumberFormatProvider: (\n options: Partial<TuiNumberFormatSettings>,\n) => ValueProvider = (options: Partial<TuiNumberFormatSettings>) => ({\n provide: TUI_NUMBER_FORMAT,\n useValue: {...TUI_DEFAULT_NUMBER_FORMAT, ...options},\n});\n","import {InjectionToken, Provider, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>>\n>(`[TUI_OPTION_CONTENT]`);\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n >,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n","/**\n * TODO: v4.0 delete the whole file\n */\nimport {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK} from './first-day-of-week';\nimport {TUI_SHORT_WEEK_DAYS} from './i18n';\n\n/**\n * @deprecated\n */\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\nconst convertToSundayFirstWeekFormat = (\n weekDaysNames: WEEK_DAYS_NAMES,\n): WEEK_DAYS_NAMES => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\n/**\n * Ordered calendars i18n texts\n * @deprecated\n */\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>(`[TUI_ORDERED_SHORT_WEEK_DAYS]`, {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {InjectionToken, Sanitizer} from '@angular/core';\n\n/**\n * A custom Sanitizer to sanitize source before inlining\n */\nexport const TUI_SANITIZER = new InjectionToken<Sanitizer>(`[TUI_SANITIZER]`);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\n/**\n * Scrollable container\n */\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n `[TUI_SCROLL_REF]`,\n);\n","import {DOCUMENT} from '@angular/common';\nimport {inject, InjectionToken} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {share, switchMap, takeUntil} from 'rxjs/operators';\n\n/**\n * A stream of possible selection changes\n */\nexport const TUI_SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `[TUI_SELECTION_STREAM]`,\n {\n factory: () => {\n const documentRef = inject(DOCUMENT);\n\n return merge(\n tuiTypedFromEvent(documentRef, `selectionchange`),\n tuiTypedFromEvent(documentRef, `mouseup`),\n tuiTypedFromEvent(documentRef, `mousedown`).pipe(\n switchMap(() =>\n tuiTypedFromEvent(documentRef, `mousemove`).pipe(\n takeUntil(tuiTypedFromEvent(documentRef, `mouseup`)),\n ),\n ),\n ),\n tuiTypedFromEvent(documentRef, `keydown`),\n tuiTypedFromEvent(documentRef, `keyup`),\n ).pipe(share());\n },\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {TuiHandler, tuiSvgLinearGradientProcessor} from '@taiga-ui/cdk';\n\n/**\n * Transform function the contents of the loaded svg file\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<SafeHtml | string, SafeHtml | string>\n>(`[TUI_SVG_CONTENT_PROCESSOR]`, {\n factory: () => tuiSvgLinearGradientProcessor,\n});\n","import {InjectionToken} from '@angular/core';\nimport {SafeHtml} from '@angular/platform-browser';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\n/**\n * Source path processor for svg\n * @deprecated Use {@link TUI_SVG_OPTIONS} instead\n */\nexport const TUI_SVG_SRC_PROCESSOR = new InjectionToken<\n TuiHandler<SafeHtml | string, SafeHtml | string>\n>(`[TUI_SVG_SRC_PROCESSOR]`, {\n factory: () => identity,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\n/**\n * Appearance for inputs\n * @deprecated use {@link TUI_TEXTFIELD_APPEARANCE_DIRECTIVE} instead\n * TODO: Remove in 4.0\n */\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n `[TUI_TEXTFIELD_APPEARANCE]`,\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken, Provider, Type} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n/**\n * An interface to communicate with textfield based controls\n */\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n `[TUI_TEXTFIELD_HOST]`,\n);\n\nexport function tuiAsTextfieldHost(useExisting: Type<TuiTextfieldHost>): Provider {\n return {\n provide: TUI_TEXTFIELD_HOST,\n useExisting,\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>(`[TUI_THEME]`, {\n factory: () => `Taiga`,\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\n/**\n * Buffer token to pass NG_VALUE_ACCESSOR to a different Injector\n */\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n `[TUI_VALUE_ACCESSOR]`,\n);\n","import {inject, InjectionToken, Provider, Type} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n/**\n * Viewport accessor\n */\nexport const TUI_VIEWPORT = new InjectionToken<TuiRectAccessor>(`[TUI_VIEWPORT]`, {\n factory: () => {\n const windowRef = inject(WINDOW);\n\n return {\n type: `viewport`,\n getClientRect() {\n return {\n top: 0,\n left: 0,\n right: windowRef.innerWidth,\n bottom: windowRef.innerHeight,\n width: windowRef.innerWidth,\n height: windowRef.innerHeight,\n };\n },\n };\n },\n});\n\nexport function tuiAsViewport(useExisting: Type<TuiRectAccessor>): Provider {\n return {\n provide: TUI_VIEWPORT,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -106,16 +106,16 @@ function tuiFormatPhone(value, countryCode, phoneMask) {
|
|
|
106
106
|
if (splitValue.length === 0) {
|
|
107
107
|
return result;
|
|
108
108
|
}
|
|
109
|
-
for (
|
|
109
|
+
for (const mask of splitPhoneMask) {
|
|
110
110
|
if (splitValue.length === 0) {
|
|
111
111
|
break;
|
|
112
112
|
}
|
|
113
|
-
if (
|
|
113
|
+
if (mask === `#`) {
|
|
114
114
|
result += splitValue[0] || ``;
|
|
115
115
|
splitValue.splice(0, 1);
|
|
116
116
|
}
|
|
117
117
|
else {
|
|
118
|
-
result +=
|
|
118
|
+
result += mask;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-utils-format.js","sources":["../../../projects/core/utils/format/capitalize.ts","../../../projects/core/utils/format/capitalize-first-letter.ts","../../../projects/core/utils/format/number-to-string-without-exp.ts","../../../projects/core/utils/format/get-fractional-part-padded.ts","../../../projects/core/utils/format/format-number.ts","../../../projects/core/utils/format/format-phone.ts","../../../projects/core/utils/format/other-decimal-symbol.ts","../../../projects/core/utils/format/taiga-ui-core-utils-format.ts"],"sourcesContent":["/**\n * Capitalizes a given string, replacing it with a lowercase string and making\n * the first letter of each word uppercase.\n *\n * @param value the input string\n * @return the capitalized string\n */\nexport function tuiCapitalize(value: string): string {\n return value.toLowerCase().replace(/(?:^|\\s)\\S/g, char => char.toUpperCase());\n}\n","export function tuiCapitalizeFirstLetter(value: string): string {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n","/**\n * Convert number to string with replacing exponent part on decimals\n *\n * @param value the number\n * @return string representation of a number\n */\nexport function tuiNumberToStringWithoutExp(value: number): string {\n const valueAsString = String(value);\n const [numberPart, expPart] = valueAsString.split(`e-`);\n\n let valueWithoutExp = valueAsString;\n\n if (expPart) {\n const [, fractionalPart] = numberPart.split(`.`);\n const decimalDigits = Number(expPart) + (fractionalPart?.length || 0);\n\n valueWithoutExp = value.toFixed(decimalDigits);\n }\n\n return valueWithoutExp;\n}\n","import {tuiIsNumber} from '@taiga-ui/cdk';\n\nimport {tuiNumberToStringWithoutExp} from './number-to-string-without-exp';\n\n/**\n * Return fractional part of number\n *\n * @param value the number\n * @param precision number of digits of decimal part, null to keep untouched\n * @return the fractional part of number\n */\nexport function tuiGetFractionPartPadded(\n value: number,\n precision?: number | null,\n): string {\n const [, fractionPartPadded = ``] = tuiNumberToStringWithoutExp(value).split(`.`);\n\n return tuiIsNumber(precision)\n ? fractionPartPadded.slice(0, Math.max(0, precision))\n : fractionPartPadded;\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nimport {tuiGetFractionPartPadded} from './get-fractional-part-padded';\n\n/**\n * Formats number adding a thousand separators and correct decimal separator\n * padding decimal part with zeroes to given length\n *\n * @param value the input number\n * @param settings See {@link TuiNumberFormatSettings}\n * @return the formatted string\n */\nexport function tuiFormatNumber(\n value: number,\n settings: Partial<TuiNumberFormatSettings> = {},\n): string {\n const {decimalLimit, decimalSeparator, thousandSeparator, zeroPadding} = {\n ...TUI_DEFAULT_NUMBER_FORMAT,\n ...settings,\n };\n const integerPartString = String(Math.floor(Math.abs(value)));\n\n let fractionPartPadded = tuiGetFractionPartPadded(value, decimalLimit);\n\n if (Number.isFinite(decimalLimit)) {\n if (zeroPadding) {\n const zeroPaddingSize: number = Math.max(\n decimalLimit - fractionPartPadded.length,\n 0,\n );\n const zeroPartString = `0`.repeat(zeroPaddingSize);\n\n fractionPartPadded = `${fractionPartPadded}${zeroPartString}`;\n } else {\n fractionPartPadded = fractionPartPadded.replace(/0*$/, ``);\n }\n }\n\n const remainder = integerPartString.length % 3;\n const sign = value < 0 ? CHAR_HYPHEN : ``;\n let result = sign + integerPartString.charAt(0);\n\n for (let i = 1; i < integerPartString.length; i++) {\n if (i % 3 === remainder && integerPartString.length > 3) {\n result += thousandSeparator;\n }\n\n result += integerPartString.charAt(i);\n }\n\n return fractionPartPadded ? result + decimalSeparator + fractionPartPadded : result;\n}\n","import {CHAR_PLUS} from '@taiga-ui/cdk';\n\n/**\n * Formats a string with the phone format +7XXXXXXXXXXXX or XXXXXXXXXXXX,\n * adding parentheses and hyphens.\n *\n * @param value the input string\n * @param countryCode a country code\n * @param phoneMask a phone number mask\n * @return the formatted phone string of the form +7 XXX XXX-XX-XX\n */\nexport function tuiFormatPhone(\n value: string,\n countryCode: string,\n phoneMask: string,\n): string {\n if (!value) {\n return ``;\n }\n\n let result = countryCode;\n\n countryCode = countryCode.replace(/[()]/g, ``);\n\n if (!value.startsWith(countryCode)) {\n value = countryCode + value.replace(CHAR_PLUS, ``);\n }\n\n const splitPhoneMask = phoneMask.split(``);\n const splitValue = value.slice(countryCode.length).split(``);\n\n result += ` `;\n\n if (splitValue.length === 0) {\n return result;\n }\n\n for (
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-utils-format.js","sources":["../../../projects/core/utils/format/capitalize.ts","../../../projects/core/utils/format/capitalize-first-letter.ts","../../../projects/core/utils/format/number-to-string-without-exp.ts","../../../projects/core/utils/format/get-fractional-part-padded.ts","../../../projects/core/utils/format/format-number.ts","../../../projects/core/utils/format/format-phone.ts","../../../projects/core/utils/format/other-decimal-symbol.ts","../../../projects/core/utils/format/taiga-ui-core-utils-format.ts"],"sourcesContent":["/**\n * Capitalizes a given string, replacing it with a lowercase string and making\n * the first letter of each word uppercase.\n *\n * @param value the input string\n * @return the capitalized string\n */\nexport function tuiCapitalize(value: string): string {\n return value.toLowerCase().replace(/(?:^|\\s)\\S/g, char => char.toUpperCase());\n}\n","export function tuiCapitalizeFirstLetter(value: string): string {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n","/**\n * Convert number to string with replacing exponent part on decimals\n *\n * @param value the number\n * @return string representation of a number\n */\nexport function tuiNumberToStringWithoutExp(value: number): string {\n const valueAsString = String(value);\n const [numberPart, expPart] = valueAsString.split(`e-`);\n\n let valueWithoutExp = valueAsString;\n\n if (expPart) {\n const [, fractionalPart] = numberPart.split(`.`);\n const decimalDigits = Number(expPart) + (fractionalPart?.length || 0);\n\n valueWithoutExp = value.toFixed(decimalDigits);\n }\n\n return valueWithoutExp;\n}\n","import {tuiIsNumber} from '@taiga-ui/cdk';\n\nimport {tuiNumberToStringWithoutExp} from './number-to-string-without-exp';\n\n/**\n * Return fractional part of number\n *\n * @param value the number\n * @param precision number of digits of decimal part, null to keep untouched\n * @return the fractional part of number\n */\nexport function tuiGetFractionPartPadded(\n value: number,\n precision?: number | null,\n): string {\n const [, fractionPartPadded = ``] = tuiNumberToStringWithoutExp(value).split(`.`);\n\n return tuiIsNumber(precision)\n ? fractionPartPadded.slice(0, Math.max(0, precision))\n : fractionPartPadded;\n}\n","import {CHAR_HYPHEN} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_NUMBER_FORMAT} from '@taiga-ui/core/constants';\nimport {TuiNumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nimport {tuiGetFractionPartPadded} from './get-fractional-part-padded';\n\n/**\n * Formats number adding a thousand separators and correct decimal separator\n * padding decimal part with zeroes to given length\n *\n * @param value the input number\n * @param settings See {@link TuiNumberFormatSettings}\n * @return the formatted string\n */\nexport function tuiFormatNumber(\n value: number,\n settings: Partial<TuiNumberFormatSettings> = {},\n): string {\n const {decimalLimit, decimalSeparator, thousandSeparator, zeroPadding} = {\n ...TUI_DEFAULT_NUMBER_FORMAT,\n ...settings,\n };\n const integerPartString = String(Math.floor(Math.abs(value)));\n\n let fractionPartPadded = tuiGetFractionPartPadded(value, decimalLimit);\n\n if (Number.isFinite(decimalLimit)) {\n if (zeroPadding) {\n const zeroPaddingSize: number = Math.max(\n decimalLimit - fractionPartPadded.length,\n 0,\n );\n const zeroPartString = `0`.repeat(zeroPaddingSize);\n\n fractionPartPadded = `${fractionPartPadded}${zeroPartString}`;\n } else {\n fractionPartPadded = fractionPartPadded.replace(/0*$/, ``);\n }\n }\n\n const remainder = integerPartString.length % 3;\n const sign = value < 0 ? CHAR_HYPHEN : ``;\n let result = sign + integerPartString.charAt(0);\n\n for (let i = 1; i < integerPartString.length; i++) {\n if (i % 3 === remainder && integerPartString.length > 3) {\n result += thousandSeparator;\n }\n\n result += integerPartString.charAt(i);\n }\n\n return fractionPartPadded ? result + decimalSeparator + fractionPartPadded : result;\n}\n","import {CHAR_PLUS} from '@taiga-ui/cdk';\n\n/**\n * Formats a string with the phone format +7XXXXXXXXXXXX or XXXXXXXXXXXX,\n * adding parentheses and hyphens.\n *\n * @param value the input string\n * @param countryCode a country code\n * @param phoneMask a phone number mask\n * @return the formatted phone string of the form +7 XXX XXX-XX-XX\n */\nexport function tuiFormatPhone(\n value: string,\n countryCode: string,\n phoneMask: string,\n): string {\n if (!value) {\n return ``;\n }\n\n let result = countryCode;\n\n countryCode = countryCode.replace(/[()]/g, ``);\n\n if (!value.startsWith(countryCode)) {\n value = countryCode + value.replace(CHAR_PLUS, ``);\n }\n\n const splitPhoneMask = phoneMask.split(``);\n const splitValue = value.slice(countryCode.length).split(``);\n\n result += ` `;\n\n if (splitValue.length === 0) {\n return result;\n }\n\n for (const mask of splitPhoneMask) {\n if (splitValue.length === 0) {\n break;\n }\n\n if (mask === `#`) {\n result += splitValue[0] || ``;\n splitValue.splice(0, 1);\n } else {\n result += mask;\n }\n }\n\n return result;\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function tuiOtherDecimalSymbol(symbol: TuiDecimalSymbol): TuiDecimalSymbol {\n return symbol === `.` ? `,` : `.`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;;;;AAMG;AACG,SAAU,aAAa,CAAC,KAAa,EAAA;AACvC,IAAA,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAClF;;ACTM,SAAU,wBAAwB,CAAC,KAAa,EAAA;AAClD,IAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D;;ACFA;;;;;AAKG;AACG,SAAU,2BAA2B,CAAC,KAAa,EAAA;AACrD,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACpC,IAAA,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;IAExD,IAAI,eAAe,GAAG,aAAa,CAAC;AAEpC,IAAA,IAAI,OAAO,EAAE;QACT,MAAM,GAAG,cAAc,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAG,CAAA,CAAA,CAAC,CAAC;AACjD,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAA,cAAc,KAAd,IAAA,IAAA,cAAc,uBAAd,cAAc,CAAE,MAAM,KAAI,CAAC,CAAC,CAAC;AAEtE,QAAA,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAClD,KAAA;AAED,IAAA,OAAO,eAAe,CAAC;AAC3B;;AChBA;;;;;;AAMG;AACa,SAAA,wBAAwB,CACpC,KAAa,EACb,SAAyB,EAAA;AAEzB,IAAA,MAAM,GAAG,kBAAkB,GAAG,CAAA,CAAE,CAAC,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;IAElF,OAAO,WAAW,CAAC,SAAS,CAAC;AACzB,UAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;UACnD,kBAAkB,CAAC;AAC7B;;ACdA;;;;;;;AAOG;SACa,eAAe,CAC3B,KAAa,EACb,WAA6C,EAAE,EAAA;AAE/C,IAAA,MAAM,EAAC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAC,GAC/D,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,yBAAyB,CACzB,EAAA,QAAQ,CACd,CAAC;AACF,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE9D,IAAI,kBAAkB,GAAG,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAEvE,IAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC/B,QAAA,IAAI,WAAW,EAAE;AACb,YAAA,MAAM,eAAe,GAAW,IAAI,CAAC,GAAG,CACpC,YAAY,GAAG,kBAAkB,CAAC,MAAM,EACxC,CAAC,CACJ,CAAC;YACF,MAAM,cAAc,GAAG,CAAG,CAAA,CAAA,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAEnD,YAAA,kBAAkB,GAAG,CAAG,EAAA,kBAAkB,CAAG,EAAA,cAAc,EAAE,CAAC;AACjE,SAAA;AAAM,aAAA;YACH,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAE,CAAA,CAAC,CAAC;AAC9D,SAAA;AACJ,KAAA;AAED,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/C,IAAA,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC;IAC1C,IAAI,MAAM,GAAG,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEhD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,MAAM,IAAI,iBAAiB,CAAC;AAC/B,SAAA;AAED,QAAA,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,KAAA;AAED,IAAA,OAAO,kBAAkB,GAAG,MAAM,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,MAAM,CAAC;AACxF;;ACnDA;;;;;;;;AAQG;SACa,cAAc,CAC1B,KAAa,EACb,WAAmB,EACnB,SAAiB,EAAA;IAEjB,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;IAED,IAAI,MAAM,GAAG,WAAW,CAAC;IAEzB,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAE,CAAA,CAAC,CAAC;AAE/C,IAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;QAChC,KAAK,GAAG,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,CAAE,CAAA,CAAC,CAAC;AACtD,KAAA;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC;AAC3C,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,CAAC;AAEd,IAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AAED,IAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;AAC/B,QAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,MAAM;AACT,SAAA;QAED,IAAI,IAAI,KAAK,CAAA,CAAA,CAAG,EAAE;AACd,YAAA,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9B,YAAA,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,SAAA;AAAM,aAAA;YACH,MAAM,IAAI,IAAI,CAAC;AAClB,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAClB;;ACjDM,SAAU,qBAAqB,CAAC,MAAwB,EAAA;IAC1D,OAAO,MAAM,KAAK,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAG,GAAG,CAAA,CAAA,CAAG,CAAC;AACtC;;ACJA;;AAEG;;;;"}
|
|
@@ -141,7 +141,7 @@ function tuiCreateNumberMask({ allowDecimal = false, decimalSymbol = `,`, thousa
|
|
|
141
141
|
rawValue = previousConformedValue;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
const isNegative = (rawValue
|
|
144
|
+
const isNegative = ((rawValue === null || rawValue === void 0 ? void 0 : rawValue.startsWith(CHAR_HYPHEN)) || (rawValue === null || rawValue === void 0 ? void 0 : rawValue.startsWith(CHAR_EN_DASH))) &&
|
|
145
145
|
allowNegative;
|
|
146
146
|
if (isDecimalSymbol(rawValue, decimalSymbol, autoCorrectDecimalSymbol) &&
|
|
147
147
|
allowDecimal) {
|