@taiga-ui/core 4.0.0-rc.5 → 4.0.0-rc.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/components/data-list/data-list.component.d.ts +5 -4
  2. package/components/data-list/data-list.tokens.d.ts +1 -1
  3. package/components/data-list/option.component.d.ts +1 -3
  4. package/components/dialog/dialog.component.d.ts +1 -0
  5. package/components/textfield/textfield.component.d.ts +0 -1
  6. package/components/textfield/textfield.options.d.ts +1 -2
  7. package/directives/appearance/appearance.directive.d.ts +1 -0
  8. package/directives/dropdown/dropdown-context.directive.d.ts +7 -0
  9. package/directives/dropdown/dropdown-manual.directive.d.ts +1 -1
  10. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +11 -0
  11. package/directives/dropdown/dropdown-open.directive.d.ts +3 -3
  12. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  13. package/directives/dropdown/dropdown.component.d.ts +2 -5
  14. package/directives/dropdown/dropdown.d.ts +2 -1
  15. package/directives/dropdown/dropdown.directive.d.ts +1 -1
  16. package/directives/dropdown/index.d.ts +1 -0
  17. package/directives/hint/hint-host.directive.d.ts +1 -1
  18. package/directives/hint/hint-options.directive.d.ts +5 -3
  19. package/directives/hint/hint-overflow.directive.d.ts +8 -0
  20. package/directives/hint/hint-pointer.directive.d.ts +1 -1
  21. package/directives/hint/hint.component.d.ts +1 -0
  22. package/directives/hint/hint.d.ts +2 -1
  23. package/directives/hint/index.d.ts +1 -0
  24. package/esm2022/components/button/button.directive.mjs +1 -1
  25. package/esm2022/components/data-list/data-list.component.mjs +14 -17
  26. package/esm2022/components/data-list/data-list.tokens.mjs +1 -1
  27. package/esm2022/components/data-list/option.component.mjs +6 -9
  28. package/esm2022/components/dialog/dialog-close.service.mjs +3 -3
  29. package/esm2022/components/dialog/dialog.component.mjs +6 -5
  30. package/esm2022/components/icon/icon.component.mjs +5 -6
  31. package/esm2022/components/label/label.directive.mjs +6 -6
  32. package/esm2022/components/link/link.directive.mjs +5 -5
  33. package/esm2022/components/root/root.component.mjs +3 -3
  34. package/esm2022/components/scrollbar/scroll-controls.component.mjs +3 -3
  35. package/esm2022/components/scrollbar/scrollbar.directive.mjs +3 -3
  36. package/esm2022/components/textfield/select.directive.mjs +3 -3
  37. package/esm2022/components/textfield/textfield.component.mjs +6 -8
  38. package/esm2022/components/textfield/textfield.options.mjs +4 -6
  39. package/esm2022/directives/appearance/appearance.directive.mjs +14 -2
  40. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +55 -4
  41. package/esm2022/directives/dropdown/dropdown-manual.directive.mjs +2 -2
  42. package/esm2022/directives/dropdown/dropdown-open-legacy.directive.mjs +29 -0
  43. package/esm2022/directives/dropdown/dropdown-open.directive.mjs +19 -24
  44. package/esm2022/directives/dropdown/dropdown-position.directive.mjs +2 -2
  45. package/esm2022/directives/dropdown/dropdown-selection.directive.mjs +2 -2
  46. package/esm2022/directives/dropdown/dropdown.component.mjs +22 -41
  47. package/esm2022/directives/dropdown/dropdown.directive.mjs +11 -11
  48. package/esm2022/directives/dropdown/dropdown.mjs +3 -1
  49. package/esm2022/directives/dropdown/index.mjs +2 -1
  50. package/esm2022/directives/hint/hint-host.directive.mjs +1 -1
  51. package/esm2022/directives/hint/hint-options.directive.mjs +9 -6
  52. package/esm2022/directives/hint/hint-overflow.directive.mjs +32 -0
  53. package/esm2022/directives/hint/hint-pointer.directive.mjs +1 -1
  54. package/esm2022/directives/hint/hint.component.mjs +16 -16
  55. package/esm2022/directives/hint/hint.mjs +3 -1
  56. package/esm2022/directives/hint/index.mjs +2 -1
  57. package/esm2022/directives/icons/icons.directive.mjs +1 -1
  58. package/esm2022/directives/title/title.directive.mjs +1 -1
  59. package/esm2022/services/dark-theme.service.mjs +3 -3
  60. package/esm2022/services/position.service.mjs +5 -5
  61. package/esm2022/services/visual-viewport.service.mjs +3 -3
  62. package/esm2022/tokens/viewport.mjs +3 -3
  63. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-core-components-data-list.mjs +18 -24
  65. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-core-components-dialog.mjs +7 -6
  67. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-components-icon.mjs +4 -5
  69. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-label.mjs +5 -5
  71. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-link.mjs +4 -4
  73. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-core-components-root.mjs +2 -2
  75. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +3 -3
  77. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-textfield.mjs +9 -13
  79. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-directives-appearance.mjs +13 -2
  81. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +132 -80
  83. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-directives-hint.mjs +51 -21
  85. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-services.mjs +5 -5
  89. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-tokens.mjs +2 -2
  91. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  92. package/package.json +9 -10
  93. package/styles/components/appearance.less +38 -0
  94. package/styles/components/button.less +134 -0
  95. package/styles/components/icon.less +38 -0
  96. package/styles/components/icons.less +41 -0
  97. package/styles/components/label.less +62 -0
  98. package/styles/components/link.less +55 -0
  99. package/styles/components/title.less +60 -0
  100. package/styles/taiga-ui-fonts.less +3 -1
  101. package/styles/theme/appearance/accent.less +1 -1
  102. package/styles/theme/appearance/floating.less +1 -1
  103. package/styles/theme/appearance/glass.less +1 -1
  104. package/styles/theme/appearance/icon.less +1 -1
  105. package/styles/theme/appearance/opposite.less +1 -1
  106. package/styles/theme/appearance/outline.less +1 -1
  107. package/styles/theme/appearance/primary.less +1 -1
  108. package/styles/theme/appearance/secondary.less +1 -1
  109. package/styles/theme/appearance/status.less +1 -1
  110. package/styles/theme/appearance/textfield.less +1 -1
  111. package/styles/theme/appearance.less +0 -1
  112. package/styles/theme/variables.less +2 -2
  113. package/styles/theme/wrapper.less +1 -1
  114. package/styles/theme/appearance/base.less +0 -19
@@ -1,20 +1,21 @@
1
+ import type { AfterContentChecked } from '@angular/core';
1
2
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
2
3
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
- import type { Observable } from 'rxjs';
4
4
  import type { TuiDataListAccessor } from './data-list.tokens';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare function tuiInjectDataListSize(): TuiSizeL | TuiSizeS;
7
- export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T> {
7
+ export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T>, AfterContentChecked {
8
8
  private readonly options;
9
9
  private origin?;
10
10
  private readonly el;
11
- protected readonly defaultEmptyContent$: Observable<string>;
11
+ protected readonly fallback: import("@angular/core").Signal<string | undefined>;
12
+ protected empty: boolean;
12
13
  emptyContent: PolymorpheusContent;
13
14
  size: "m" | "l" | "s";
14
15
  onKeyDownArrow(current: HTMLElement, step: number): void;
15
16
  handleFocusLossIfNecessary(element?: Element): void;
17
+ ngAfterContentChecked(): void;
16
18
  getOptions(includeDisabled?: boolean): readonly T[];
17
- protected get empty$(): Observable<boolean>;
18
19
  protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void;
19
20
  protected noop(): void;
20
21
  private get elements();
@@ -8,7 +8,7 @@ export interface TuiDataListAccessor<T = unknown> {
8
8
  }
9
9
  export interface TuiDataListHost<T> {
10
10
  checkOption?(option: T): void;
11
- handleOption(option: T): void;
11
+ handleOption?(option: T): void;
12
12
  readonly identityMatcher?: TuiIdentityMatcher<T>;
13
13
  readonly stringify?: TuiStringHandler<T>;
14
14
  readonly size?: TuiSizeL | TuiSizeS;
@@ -1,6 +1,5 @@
1
1
  import type { OnDestroy, TemplateRef } from '@angular/core';
2
2
  import type { TuiContext } from '@taiga-ui/cdk/types';
3
- import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
4
3
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@taiga-ui/core/directives/icons";
@@ -10,11 +9,10 @@ export declare class TuiOption<T = unknown> implements OnDestroy {
10
9
  private readonly dataList;
11
10
  private readonly host;
12
11
  protected readonly content: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>;
13
- protected readonly dropdown: TuiDropdownDirective | null;
12
+ protected readonly dropdown: import("@angular/core").WritableSignal<import("@angular/core").ComponentRef<unknown> | null> | undefined;
14
13
  disabled: boolean;
15
14
  value?: T;
16
15
  ngOnDestroy(): void;
17
- protected get active(): boolean;
18
16
  protected onClick(): void;
19
17
  protected onMouseMove(): void;
20
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiOption<any>, never>;
@@ -14,6 +14,7 @@ export declare class TuiDialogComponent<O, I> {
14
14
  protected readonly context: TuiPopover<TuiDialogOptions<I>, O>;
15
15
  protected readonly closeWord$: Observable<string>;
16
16
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
17
+ protected closeable$: Observable<boolean>;
17
18
  constructor();
18
19
  protected get size(): TuiDialogSize;
19
20
  protected get header(): PolymorpheusContent<TuiPopover<TuiDialogOptions<I>, O>>;
@@ -16,7 +16,6 @@ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
16
16
  protected readonly label?: ElementRef<HTMLElement>;
17
17
  protected readonly control?: NgControl;
18
18
  protected side: number;
19
- protected readonly change$: import("rxjs").Subject<void> | undefined;
20
19
  protected readonly options: import("./textfield.options").TuiTextfieldOptions;
21
20
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
22
21
  readonly el?: ElementRef<HTMLInputElement>;
@@ -1,5 +1,4 @@
1
1
  import type { Provider, WritableSignal } from '@angular/core';
2
- import { AbstractTuiController } from '@taiga-ui/cdk/classes';
3
2
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
4
3
  import * as i0 from "@angular/core";
5
4
  export interface TuiTextfieldOptions {
@@ -9,7 +8,7 @@ export interface TuiTextfieldOptions {
9
8
  }
10
9
  export declare const TUI_TEXTFIELD_OPTIONS: import("@angular/core").InjectionToken<TuiTextfieldOptions>;
11
10
  export declare function tuiTextfieldOptionsProvider(options: Partial<TuiTextfieldOptions>): Provider;
12
- export declare class TuiTextfieldOptionsDirective extends AbstractTuiController implements TuiTextfieldOptions {
11
+ export declare class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {
13
12
  private readonly options;
14
13
  appearance: WritableSignal<string>;
15
14
  size: WritableSignal<"l" | "m" | "s">;
@@ -1,6 +1,7 @@
1
1
  import type { TuiInteractiveState } from '@taiga-ui/core/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiAppearance {
4
+ protected readonly nothing: undefined;
4
5
  tuiAppearance: string;
5
6
  tuiAppearanceState: TuiInteractiveState | null;
6
7
  tuiAppearanceFocus: boolean | null;
@@ -2,13 +2,20 @@ import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
2
2
  import { TuiRectAccessor } from '@taiga-ui/core/classes';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiDropdownContext extends TuiRectAccessor {
5
+ private readonly isIOS;
6
+ private readonly isTouch;
5
7
  private readonly driver;
6
8
  private currentRect;
9
+ private longTapTimeout;
10
+ protected readonly userSelect: import("@angular/core").Signal<"none" | null>;
7
11
  protected readonly activeZone: TuiActiveZone;
8
12
  readonly type = "dropdown";
9
13
  getClientRect(): DOMRect;
10
14
  protected onContextMenu(x: number, y: number): void;
11
15
  protected closeDropdown(): void;
16
+ protected onTouchStart(x: number, y: number): void;
17
+ protected onTouchMove(x: number, y: number): void;
18
+ protected onTouchEnd(): void;
12
19
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownContext, never>;
13
20
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownContext, "[tuiDropdownContext]", never, {}, {}, never, never, true, never>;
14
21
  }
@@ -2,7 +2,7 @@ import type { OnChanges } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDropdownManual implements OnChanges {
4
4
  private readonly driver;
5
- tuiDropdownManual: boolean;
5
+ tuiDropdownManual: boolean | '';
6
6
  ngOnChanges(): void;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownManual, never>;
8
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownManual, "[tuiDropdownManual]", never, { "tuiDropdownManual": { "alias": "tuiDropdownManual"; "required": false; }; }, {}, never, never, true, never>;
@@ -0,0 +1,11 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @deprecated TODO: remove in v.5 when legacy controls are dropped
5
+ */
6
+ export declare class TuiDropdownOpenLegacy {
7
+ readonly tuiDropdownOpenChange: BehaviorSubject<boolean>;
8
+ set tuiDropdownOpen(open: boolean);
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownOpenLegacy, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpenLegacy, "[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])", never, { "tuiDropdownOpen": { "alias": "tuiDropdownOpen"; "required": false; }; }, { "tuiDropdownOpenChange": "tuiDropdownOpenChange"; }, never, never, true, never>;
11
+ }
@@ -9,13 +9,12 @@ export declare class TuiDropdownOpen implements OnChanges {
9
9
  private readonly directive;
10
10
  private readonly el;
11
11
  private readonly obscured;
12
+ private readonly dropdown;
12
13
  protected readonly sub: import("rxjs").Subscription;
13
14
  tuiDropdownEnabled: boolean;
14
15
  tuiDropdownOpen: boolean | '';
15
16
  readonly tuiDropdownOpenChange: EventEmitter<boolean>;
16
17
  readonly driver: TuiDropdownDriver;
17
- get dropdown(): HTMLElement | undefined;
18
- get focused(): boolean;
19
18
  ngOnChanges(): void;
20
19
  toggle(open: boolean): void;
21
20
  protected onClick(target: HTMLElement): void;
@@ -24,9 +23,10 @@ export declare class TuiDropdownOpen implements OnChanges {
24
23
  protected onKeydown({ key, target, defaultPrevented }: KeyboardEvent): void;
25
24
  private get host();
26
25
  private get editable();
26
+ private get focused();
27
27
  private update;
28
28
  private drive;
29
29
  private focusDropdown;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownOpen, never>;
31
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpen, "[tuiDropdownOpen],[tuiDropdownOpenChange]", never, { "tuiDropdownEnabled": { "alias": "tuiDropdownEnabled"; "required": false; }; "tuiDropdownOpen": { "alias": "tuiDropdownOpen"; "required": false; }; }, { "tuiDropdownOpenChange": "tuiDropdownOpenChange"; }, ["dropdownHost"], never, true, [{ directive: typeof i1.TuiObscured; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiActiveZone; inputs: { "tuiActiveZoneParent": "tuiActiveZoneParent"; }; outputs: { "tuiActiveZoneChange": "tuiActiveZoneChange"; }; }]>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpen, "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", never, { "tuiDropdownEnabled": { "alias": "tuiDropdownEnabled"; "required": false; }; "tuiDropdownOpen": { "alias": "tuiDropdownOpen"; "required": false; }; }, { "tuiDropdownOpenChange": "tuiDropdownOpenChange"; }, ["dropdownHost"], never, true, [{ directive: typeof i1.TuiObscured; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiActiveZone; inputs: { "tuiActiveZoneParent": "tuiActiveZoneParent"; }; outputs: { "tuiActiveZoneChange": "tuiActiveZoneChange"; }; }]>;
32
32
  }
@@ -6,7 +6,7 @@ export declare class TuiDropdownPosition extends TuiPositionAccessor {
6
6
  private readonly viewport;
7
7
  private previous?;
8
8
  readonly type = "dropdown";
9
- readonly accessor: TuiRectAccessor;
9
+ readonly accessor: TuiRectAccessor | null;
10
10
  getPosition({ width, height }: DOMRect): TuiPoint;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPosition, never>;
12
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPosition, "[tuiDropdownPosition]", never, {}, {}, never, never, true, never>;
@@ -1,4 +1,3 @@
1
- import type { OnInit } from '@angular/core';
2
1
  import { TuiDropdownDirective } from './dropdown.directive';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@taiga-ui/cdk/directives/active-zone";
@@ -7,7 +6,7 @@ import * as i1 from "@taiga-ui/cdk/directives/active-zone";
7
6
  * This component is used to show template in a portal
8
7
  * using default style of white rounded box with a shadow
9
8
  */
10
- export declare class TuiDropdownComponent implements OnInit {
9
+ export declare class TuiDropdownComponent {
11
10
  private readonly el;
12
11
  private readonly accessor;
13
12
  private readonly win;
@@ -18,10 +17,8 @@ export declare class TuiDropdownComponent implements OnInit {
18
17
  protected readonly context: Record<any, any> | null;
19
18
  protected readonly theme: string | null | undefined;
20
19
  protected readonly sub: import("rxjs").Subscription;
21
- ngOnInit(): void;
22
20
  protected readonly close: () => void;
23
- private update;
24
- private updateWidth;
21
+ private getStyles;
25
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownComponent, never>;
26
23
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiDropdownComponent, "tui-dropdown", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiActiveZone; inputs: {}; outputs: {}; }]>;
27
24
  }
@@ -5,9 +5,10 @@ import { TuiDropdownContext } from './dropdown-context.directive';
5
5
  import { TuiDropdownHover } from './dropdown-hover.directive';
6
6
  import { TuiDropdownManual } from './dropdown-manual.directive';
7
7
  import { TuiDropdownOpen } from './dropdown-open.directive';
8
+ import { TuiDropdownOpenLegacy } from './dropdown-open-legacy.directive';
8
9
  import { TuiDropdownOptionsDirective } from './dropdown-options.directive';
9
10
  import { TuiDropdownPortal } from './dropdown-portal.directive';
10
11
  import { TuiDropdownPosition } from './dropdown-position.directive';
11
12
  import { TuiDropdownPositionSided } from './dropdown-position-sided.directive';
12
13
  import { TuiDropdownSelection } from './dropdown-selection.directive';
13
- export declare const TuiDropdown: readonly [typeof TuiDropdownOptionsDirective, typeof TuiDropdownDriverDirective, typeof TuiDropdownDirective, typeof TuiDropdownComponent, typeof TuiDropdownOpen, typeof TuiDropdownPortal, typeof TuiDropdownManual, typeof TuiDropdownHover, typeof TuiDropdownContext, typeof TuiDropdownPosition, typeof TuiDropdownPositionSided, typeof TuiDropdownSelection];
14
+ export declare const TuiDropdown: readonly [typeof TuiDropdownOptionsDirective, typeof TuiDropdownDriverDirective, typeof TuiDropdownDirective, typeof TuiDropdownComponent, typeof TuiDropdownOpen, typeof TuiDropdownOpenLegacy, typeof TuiDropdownPortal, typeof TuiDropdownManual, typeof TuiDropdownHover, typeof TuiDropdownContext, typeof TuiDropdownPosition, typeof TuiDropdownPositionSided, typeof TuiDropdownSelection];
@@ -15,7 +15,7 @@ export declare class TuiDropdownDirective implements AfterViewChecked, OnDestroy
15
15
  readonly el: HTMLElement;
16
16
  readonly type = "dropdown";
17
17
  readonly component: PolymorpheusComponent<any>;
18
- dropdownBoxRef: ComponentRef<unknown> | null;
18
+ ref: import("@angular/core").WritableSignal<ComponentRef<unknown> | null>;
19
19
  content: PolymorpheusContent<TuiContext<() => void>>;
20
20
  set tuiDropdown(content: PolymorpheusContent<TuiContext<() => void>>);
21
21
  get position(): 'absolute' | 'fixed';
@@ -10,6 +10,7 @@ export * from './dropdown-hover.directive';
10
10
  export * from './dropdown-hover.options';
11
11
  export * from './dropdown-manual.directive';
12
12
  export * from './dropdown-open.directive';
13
+ export * from './dropdown-open-legacy.directive';
13
14
  export * from './dropdown-options.directive';
14
15
  export * from './dropdown-portal.directive';
15
16
  export * from './dropdown-position.directive';
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export declare class TuiHintHost extends TuiRectAccessor {
4
4
  tuiHintHost?: HTMLElement;
5
5
  readonly type = "hint";
6
- getClientRect(): ClientRect;
6
+ getClientRect(): DOMRect;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintHost, never>;
8
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintHost, "[tuiHint][tuiHintHost]", never, { "tuiHintHost": { "alias": "tuiHintHost"; "required": false; }; }, {}, never, never, true, never>;
9
9
  }
@@ -1,6 +1,6 @@
1
- import type { FactoryProvider } from '@angular/core';
2
- import { AbstractTuiController } from '@taiga-ui/cdk/classes';
1
+ import type { FactoryProvider, OnChanges } from '@angular/core';
3
2
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
+ import { Subject } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export type TuiHintDirection = 'bottom-left' | 'bottom-right' | 'bottom' | 'left-bottom' | 'left-top' | 'left' | 'right-bottom' | 'right-top' | 'right' | 'top-left' | 'top-right' | 'top';
6
6
  export declare const TUI_HINT_DIRECTIONS: readonly TuiHintDirection[];
@@ -21,7 +21,7 @@ export declare const tuiHintOptionsProvider: (options: Partial<TuiHintOptions>)
21
21
  /**
22
22
  * @deprecated: drop in 5.0
23
23
  */
24
- export declare class TuiHintOptionsDirective extends AbstractTuiController implements TuiHintOptions {
24
+ export declare class TuiHintOptionsDirective implements TuiHintOptions, OnChanges {
25
25
  private readonly options;
26
26
  content: PolymorpheusContent;
27
27
  direction: TuiHintDirection;
@@ -29,6 +29,8 @@ export declare class TuiHintOptionsDirective extends AbstractTuiController imple
29
29
  showDelay: number;
30
30
  hideDelay: number;
31
31
  icon: string;
32
+ readonly change$: Subject<void>;
33
+ ngOnChanges(): void;
32
34
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintOptionsDirective, never>;
33
35
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintOptionsDirective, "[tuiHintContent]", never, { "content": { "alias": "tuiHintContent"; "required": false; }; "direction": { "alias": "tuiHintDirection"; "required": false; }; "appearance": { "alias": "tuiHintAppearance"; "required": false; }; "showDelay": { "alias": "tuiHintShowDelay"; "required": false; }; "hideDelay": { "alias": "tuiHintHideDelay"; "required": false; }; }, {}, never, never, true, never>;
34
36
  }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./hint.directive";
3
+ export declare class TuiHintOverflow {
4
+ private readonly hint;
5
+ protected onMouseEnter({ scrollWidth, clientWidth, textContent }: Element): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintOverflow, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintOverflow, "[tuiHintOverflow]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiHintDirective; inputs: { "tuiHintAppearance": "tuiHintAppearance"; }; outputs: {}; }]>;
8
+ }
@@ -3,7 +3,7 @@ import { TuiHintHover } from './hint-hover.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiHintPointer extends TuiHintHover implements TuiRectAccessor {
5
5
  private currentRect;
6
- getClientRect(): ClientRect;
6
+ getClientRect(): DOMRect;
7
7
  protected onMove({ clientX, clientY }: MouseEvent): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintPointer, never>;
9
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintPointer, "[tuiHint][tuiHintPointer]", never, {}, {}, never, never, true, never>;
@@ -19,6 +19,7 @@ export declare class TuiHintComponent<C = any> {
19
19
  protected get content(): PolymorpheusContent<C>;
20
20
  protected get context(): C | undefined;
21
21
  protected onClick(target: HTMLElement): void;
22
+ private apply;
22
23
  private update;
23
24
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintComponent<any>, never>;
24
25
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiHintComponent<any>, "tui-hint", never, {}, {}, never, ["*"], true, never>;
@@ -6,7 +6,8 @@ import { TuiHintHost } from './hint-host.directive';
6
6
  import { TuiHintHover } from './hint-hover.directive';
7
7
  import { TuiHintManual } from './hint-manual.directive';
8
8
  import { TuiHintOptionsDirective } from './hint-options.directive';
9
+ import { TuiHintOverflow } from './hint-overflow.directive';
9
10
  import { TuiHintPointer } from './hint-pointer.directive';
10
11
  import { TuiHintPosition } from './hint-position.directive';
11
12
  import { TuiHintUnstyled } from './hint-unstyled.component';
12
- export declare const TuiHint: readonly [typeof TuiHintComponent, typeof TuiHintDirective, typeof TuiHintOptionsDirective, typeof TuiHintUnstyled, typeof TuiHintDriver, typeof TuiHintPosition, typeof TuiHintHover, typeof TuiHintDescribe, typeof TuiHintHost, typeof TuiHintManual, typeof TuiHintPointer];
13
+ export declare const TuiHint: readonly [typeof TuiHintComponent, typeof TuiHintDirective, typeof TuiHintOptionsDirective, typeof TuiHintUnstyled, typeof TuiHintDriver, typeof TuiHintPosition, typeof TuiHintHover, typeof TuiHintOverflow, typeof TuiHintDescribe, typeof TuiHintHost, typeof TuiHintManual, typeof TuiHintPointer];
@@ -9,6 +9,7 @@ export * from './hint-host.directive';
9
9
  export * from './hint-hover.directive';
10
10
  export * from './hint-manual.directive';
11
11
  export * from './hint-options.directive';
12
+ export * from './hint-overflow.directive';
12
13
  export * from './hint-pointer.directive';
13
14
  export * from './hint-position.directive';
14
15
  export * from './hint-unstyled.component';
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
40
40
  }], propDecorators: { size: [{
41
41
  type: Input
42
42
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsaUJBQWlCLEdBQ3BCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7O0FBRXBELE1BVU0sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsZ0hBUlAsRUFBRTs7NEZBUVYsZUFBZTtrQkFWcEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxZQUFZO3FCQUN0Qjs7QUFJTCxNQVNhLFNBQVM7SUFUdEI7UUFVcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRW5DLFlBQU8sR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHckQsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ25DOytHQVBZLFNBQVM7bUdBQVQsU0FBUyxrTUFOUCxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLENBQUM7O1NBTXBELFNBQVM7NEZBQVQsU0FBUztrQkFUckIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVFQUF1RTtvQkFDakYsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDN0QsY0FBYyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO29CQUNqRCxJQUFJLEVBQUU7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7aUJBQ0o7OEJBT1UsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVdpdGhTdHlsZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIHR1aUFwcGVhcmFuY2VPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpV2l0aEFwcGVhcmFuY2UsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge1R1aVdpdGhJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5cbmltcG9ydCB7VFVJX0JVVFRPTl9PUFRJT05TfSBmcm9tICcuL2J1dHRvbi5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0dWktYnV0dG9uJyxcbiAgICB9LFxufSlcbmNsYXNzIFR1aUJ1dHRvblN0eWxlcyB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYVt0dWlCdXR0b25dLGJ1dHRvblt0dWlCdXR0b25dLGFbdHVpSWNvbkJ1dHRvbl0sYnV0dG9uW3R1aUljb25CdXR0b25dJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBcHBlYXJhbmNlT3B0aW9uc1Byb3ZpZGVyKFRVSV9CVVRUT05fT1BUSU9OUyldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aEFwcGVhcmFuY2UsIFR1aVdpdGhJY29uc10sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlCdXR0b24ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfQlVUVE9OX09QVElPTlMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vdGhpbmcgPSB0dWlXaXRoU3R5bGVzKFR1aUJ1dHRvblN0eWxlcyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplID0gdGhpcy5vcHRpb25zLnNpemU7XG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsaUJBQWlCLEdBQ3BCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7O0FBRXBELE1BVU0sZUFBZTsrR0FBZixlQUFlO21HQUFmLGVBQWUsZ0hBUlAsRUFBRTs7NEZBUVYsZUFBZTtrQkFWcEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxZQUFZO3FCQUN0Qjs7QUFJTCxNQVNhLFNBQVM7SUFUdEI7UUFVcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRW5DLFlBQU8sR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHckQsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ25DOytHQVBZLFNBQVM7bUdBQVQsU0FBUyxrTUFOUCxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLENBQUM7O1NBTXBELFNBQVM7NEZBQVQsU0FBUztrQkFUckIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVFQUF1RTtvQkFDakYsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztvQkFDN0QsY0FBYyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO29CQUNqRCxJQUFJLEVBQUU7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7aUJBQ0o7OEJBT1UsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVdpdGhTdHlsZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIHR1aUFwcGVhcmFuY2VPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpV2l0aEFwcGVhcmFuY2UsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge1R1aVdpdGhJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5cbmltcG9ydCB7VFVJX0JVVFRPTl9PUFRJT05TfSBmcm9tICcuL2J1dHRvbi5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVzOiBbJ0BpbXBvcnQgXCJAdGFpZ2EtdWkvY29yZS9zdHlsZXMvY29tcG9uZW50cy9idXR0b24ubGVzc1wiOyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1idXR0b24nLFxuICAgIH0sXG59KVxuY2xhc3MgVHVpQnV0dG9uU3R5bGVzIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdhW3R1aUJ1dHRvbl0sYnV0dG9uW3R1aUJ1dHRvbl0sYVt0dWlJY29uQnV0dG9uXSxidXR0b25bdHVpSWNvbkJ1dHRvbl0nLFxuICAgIHByb3ZpZGVyczogW3R1aUFwcGVhcmFuY2VPcHRpb25zUHJvdmlkZXIoVFVJX0JVVFRPTl9PUFRJT05TKV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoQXBwZWFyYW5jZSwgVHVpV2l0aEljb25zXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUJ1dHRvbiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9CVVRUT05fT1BUSU9OUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aGluZyA9IHR1aVdpdGhTdHlsZXMoVHVpQnV0dG9uU3R5bGVzKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemUgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcbn1cbiJdfQ==
@@ -1,14 +1,12 @@
1
- import { __decorate } from "tslib";
2
- import { AsyncPipe, NgIf } from '@angular/common';
1
+ import { NgIf } from '@angular/common';
3
2
  import { ChangeDetectionStrategy, Component, ContentChildren, forwardRef, HostBinding, HostListener, inject, Input, ViewEncapsulation, } from '@angular/core';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
4
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
5
- import { tuiQueryListChanges } from '@taiga-ui/cdk/observables';
6
5
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
7
6
  import { tuiIsNativeFocusedIn, tuiMoveFocus } from '@taiga-ui/cdk/utils/focus';
8
- import { tuiIsPresent, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
9
8
  import { TUI_NOTHING_FOUND_MESSAGE } from '@taiga-ui/core/tokens';
10
9
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
11
- import { map } from 'rxjs';
12
10
  import { TUI_DATA_LIST_HOST, tuiAsDataListAccessor } from './data-list.tokens';
13
11
  import { TuiOption } from './option.component';
14
12
  import * as i0 from "@angular/core";
@@ -22,7 +20,8 @@ class TuiDataListComponent {
22
20
  constructor() {
23
21
  this.options = EMPTY_QUERY;
24
22
  this.el = tuiInjectElement();
25
- this.defaultEmptyContent$ = inject(TUI_NOTHING_FOUND_MESSAGE);
23
+ this.fallback = toSignal(inject(TUI_NOTHING_FOUND_MESSAGE));
24
+ this.empty = true;
26
25
  this.size = tuiInjectDataListSize();
27
26
  }
28
27
  onKeyDownArrow(current, step) {
@@ -34,15 +33,16 @@ class TuiDataListComponent {
34
33
  this.origin?.focus({ preventScroll: true });
35
34
  }
36
35
  }
36
+ ngAfterContentChecked() {
37
+ // TODO: Refactor to :has after Safari support bumped to 15
38
+ this.empty = !this.el.querySelector('[tuiOption]');
39
+ }
37
40
  getOptions(includeDisabled = false) {
38
41
  return this.options
39
42
  .filter(({ disabled }) => includeDisabled || !disabled)
40
43
  .map(({ value }) => value)
41
44
  .filter(tuiIsPresent);
42
45
  }
43
- get empty$() {
44
- return tuiQueryListChanges(this.options).pipe(map(({ length }) => !length));
45
- }
46
46
  onFocusIn(relatedTarget, currentTarget) {
47
47
  if (!currentTarget.contains(relatedTarget) && !this.origin) {
48
48
  this.origin = relatedTarget;
@@ -53,17 +53,14 @@ class TuiDataListComponent {
53
53
  return Array.from(this.el.querySelectorAll('a[tuiOption],button[tuiOption],input'));
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDataListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDataListComponent, isStandalone: true, selector: "tui-data-list", inputs: { emptyContent: "emptyContent", size: "size" }, host: { attributes: { "role": "listbox" }, listeners: { "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)", "keydown.tab": "handleFocusLossIfNecessary()", "keydown.shift.tab": "handleFocusLossIfNecessary()", "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()" }, properties: { "attr.data-size": "this.size" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOption; }), descendants: true }], ngImport: i0, template: "<ng-content />\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n", styles: ["tui-data-list{--tui-data-list-padding: .25rem;--tui-data-list-margin: .0625rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding);color:var(--tui-text-tertiary)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-size=s]{--tui-data-list-margin: 0rem}tui-data-list[data-size=s]>.t-empty,tui-data-list[data-size=s] [tuiOption]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem}tui-data-list[data-size=s]>.t-empty:before,tui-data-list[data-size=s] [tuiOption]:before{font-size:1rem}tui-data-list[data-size=m]>.t-empty,tui-data-list[data-size=m] [tuiOption]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem}tui-data-list[data-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list[data-size=l]>.t-empty,tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem}tui-data-list>.t-empty{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-secondary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem var(--tui-data-list-padding);margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-data-list-padding);height:1px;background:var(--tui-border-normal)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before,tui-opt-group:not(:empty)~tui-opt-group:not([data-label]):before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before,tui-opt-group:not([data-label]):before{padding:0;margin:0}[tuiOption]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;justify-content:space-between;text-align:left;color:var(--tui-text-primary);border-radius:var(--tui-radius-s);outline:none;cursor:pointer;background-clip:padding-box}[tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}[tuiOption]:focus-within,[tuiOption]._with-dropdown{background-color:var(--tui-background-neutral-1)}[tuiOption]:before{margin-inline-end:.5rem}[tuiOption]:after{font-size:1rem;margin:0 -.75rem 0 auto;border-left:.5rem solid;border-right:.5rem solid}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDataListComponent, isStandalone: true, selector: "tui-data-list", inputs: { emptyContent: "emptyContent", size: "size" }, host: { attributes: { "role": "listbox" }, listeners: { "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)", "wheel.silent.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)", "keydown.tab": "handleFocusLossIfNecessary()", "keydown.shift.tab": "handleFocusLossIfNecessary()", "focusin": "onFocusIn($event.relatedTarget,$event.currentTarget)", "mousedown.prevent": "noop()" }, properties: { "attr.data-size": "this.size" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "options", predicate: i0.forwardRef(function () { return TuiOption; }), descendants: true }], ngImport: i0, template: "<ng-content />\n<div\n *ngIf=\"empty\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || fallback() as text\">\n {{ text }}\n </ng-container>\n</div>\n", styles: ["tui-data-list{--tui-data-list-padding: .25rem;--tui-data-list-margin: .0625rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding);color:var(--tui-text-tertiary)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-size=s]{--tui-data-list-margin: 0rem}tui-data-list[data-size=s]>.t-empty,tui-data-list[data-size=s] [tuiOption]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem}tui-data-list[data-size=s]>.t-empty:before,tui-data-list[data-size=s] [tuiOption]:before{font-size:1rem}tui-data-list[data-size=m]>.t-empty,tui-data-list[data-size=m] [tuiOption]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem}tui-data-list[data-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list[data-size=l]>.t-empty,tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem}tui-data-list>.t-empty{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0}tui-data-list [tuiOption]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;justify-content:space-between;text-align:left;color:var(--tui-text-primary);border-radius:var(--tui-radius-s);outline:none;cursor:pointer;background-clip:padding-box}tui-data-list [tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}tui-data-list [tuiOption]:focus-within,tui-data-list [tuiOption]._with-dropdown{background-color:var(--tui-background-neutral-1)}tui-data-list [tuiOption]:before{margin-inline-end:.5rem}tui-data-list [tuiOption]:after{font-size:1rem;margin:0 -.75rem 0 auto;border-left:.5rem solid;border-right:.5rem solid}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-secondary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem var(--tui-data-list-padding);margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-data-list-padding);height:1px;background:var(--tui-border-normal)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before,tui-opt-group:not(:empty)~tui-opt-group:not([data-label]):before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before,tui-opt-group:not([data-label]):before{padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
57
  }
58
- __decorate([
59
- tuiPure
60
- ], TuiDataListComponent.prototype, "empty$", null);
61
58
  export { TuiDataListComponent };
62
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDataListComponent, decorators: [{
63
60
  type: Component,
64
- args: [{ standalone: true, selector: 'tui-data-list', imports: [NgIf, AsyncPipe, PolymorpheusOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsDataListAccessor(TuiDataListComponent)], host: {
61
+ args: [{ standalone: true, selector: 'tui-data-list', imports: [NgIf, PolymorpheusOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsDataListAccessor(TuiDataListComponent)], host: {
65
62
  role: 'listbox',
66
- }, template: "<ng-content />\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n", styles: ["tui-data-list{--tui-data-list-padding: .25rem;--tui-data-list-margin: .0625rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding);color:var(--tui-text-tertiary)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-size=s]{--tui-data-list-margin: 0rem}tui-data-list[data-size=s]>.t-empty,tui-data-list[data-size=s] [tuiOption]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem}tui-data-list[data-size=s]>.t-empty:before,tui-data-list[data-size=s] [tuiOption]:before{font-size:1rem}tui-data-list[data-size=m]>.t-empty,tui-data-list[data-size=m] [tuiOption]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem}tui-data-list[data-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list[data-size=l]>.t-empty,tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem}tui-data-list>.t-empty{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-secondary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem var(--tui-data-list-padding);margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-data-list-padding);height:1px;background:var(--tui-border-normal)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before,tui-opt-group:not(:empty)~tui-opt-group:not([data-label]):before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before,tui-opt-group:not([data-label]):before{padding:0;margin:0}[tuiOption]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;justify-content:space-between;text-align:left;color:var(--tui-text-primary);border-radius:var(--tui-radius-s);outline:none;cursor:pointer;background-clip:padding-box}[tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}[tuiOption]:focus-within,[tuiOption]._with-dropdown{background-color:var(--tui-background-neutral-1)}[tuiOption]:before{margin-inline-end:.5rem}[tuiOption]:after{font-size:1rem;margin:0 -.75rem 0 auto;border-left:.5rem solid;border-right:.5rem solid}\n"] }]
63
+ }, template: "<ng-content />\n<div\n *ngIf=\"empty\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || fallback() as text\">\n {{ text }}\n </ng-container>\n</div>\n", styles: ["tui-data-list{--tui-data-list-padding: .25rem;--tui-data-list-margin: .0625rem;display:flex;font:var(--tui-font-text-m);flex-direction:column;padding:calc(var(--tui-data-list-padding) - var(--tui-data-list-margin)) var(--tui-data-list-padding);color:var(--tui-text-tertiary)}tui-data-list:focus-within .t-trap{display:none}tui-data-list:focus-within [tuiOption]._with-dropdown:not(:focus){background-color:transparent}tui-data-list[data-size=s]{--tui-data-list-margin: 0rem}tui-data-list[data-size=s]>.t-empty,tui-data-list[data-size=s] [tuiOption]{font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem}tui-data-list[data-size=s]>.t-empty:before,tui-data-list[data-size=s] [tuiOption]:before{font-size:1rem}tui-data-list[data-size=m]>.t-empty,tui-data-list[data-size=m] [tuiOption]{font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem}tui-data-list[data-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list[data-size=l]>.t-empty,tui-data-list[data-size=l] [tuiOption]{font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem}tui-data-list>.t-empty{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0}tui-data-list [tuiOption]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;justify-content:space-between;text-align:left;color:var(--tui-text-primary);border-radius:var(--tui-radius-s);outline:none;cursor:pointer;background-clip:padding-box}tui-data-list [tuiOption]:disabled{opacity:var(--tui-disabled-opacity);cursor:default}tui-data-list [tuiOption]:focus-within,tui-data-list [tuiOption]._with-dropdown{background-color:var(--tui-background-neutral-1)}tui-data-list [tuiOption]:before{margin-inline-end:.5rem}tui-data-list [tuiOption]:after{font-size:1rem;margin:0 -.75rem 0 auto;border-left:.5rem solid;border-right:.5rem solid}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);color:var(--tui-text-secondary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);line-height:1.25rem}tui-data-list[data-size=l] tui-opt-group:before{padding-left:.625rem;padding-right:.625rem}tui-data-list[data-size=l] tui-opt-group:after{left:.625rem;right:.625rem}tui-opt-group:empty:before,tui-opt-group:empty:after{display:none}tui-opt-group:before{content:attr(data-label);padding:var(--tui-data-list-padding) .5rem var(--tui-data-list-padding);margin:var(--tui-data-list-margin) 0;white-space:normal;word-break:break-word}tui-opt-group:after{position:absolute;left:.5rem;right:.5rem;top:var(--tui-data-list-padding);height:1px;background:var(--tui-border-normal)}tui-opt-group:not(:empty)~tui-opt-group:before{padding-top:calc(.75rem + var(--tui-data-list-padding))}tui-opt-group:not(:empty)~tui-opt-group[data-label=\"\"]:before,tui-opt-group:not(:empty)~tui-opt-group:not([data-label]):before{padding:var(--tui-data-list-padding) 0}tui-opt-group:not(:empty)~tui-opt-group:after{content:\"\"}tui-opt-group[data-label=\"\"]:before,tui-opt-group:not([data-label]):before{padding:0;margin:0}\n"] }]
67
64
  }], propDecorators: { options: [{
68
65
  type: ContentChildren,
69
66
  args: [forwardRef(() => TuiOption), { descendants: true }]
@@ -92,11 +89,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
89
  }, {
93
90
  type: HostListener,
94
91
  args: ['keydown.shift.tab']
95
- }], empty$: [], onFocusIn: [{
92
+ }], onFocusIn: [{
96
93
  type: HostListener,
97
94
  args: ['focusin', ['$event.relatedTarget', '$event.currentTarget']]
98
95
  }], noop: [{
99
96
  type: HostListener,
100
97
  args: ['mousedown.prevent']
101
98
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUdoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3pCLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7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LFFBQ2xEO3dCQUNGLElBQUksRUFBRSxTQUFTO3FCQUNsQjs4QkFJZ0IsT0FBTztzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQVMxRCxZQUFZO3NCQURsQixLQUFLO2dCQUtDLElBQUk7c0JBRlYsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3RCLGNBQWM7c0JBRnBCLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDOztzQkFDaEUsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7Z0JBV3pELDBCQUEwQjtzQkFKaEMsWUFBWTt1QkFBQyxzQkFBc0I7O3NCQUNuQyxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQzs7c0JBQzVDLFlBQVk7dUJBQUMsYUFBYTs7c0JBQzFCLFlBQVk7dUJBQUMsbUJBQW1CO2dCQWVuQixNQUFNLE1BS1YsU0FBUztzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztnQkFRL0QsSUFBSTtzQkFEYixZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1F1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpUXVlcnlMaXN0Q2hhbmdlc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkSW4sIHR1aU1vdmVGb2N1c30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUlzUHJlc2VudCwgdHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX05PVEhJTkdfRk9VTkRfTUVTU0FHRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgdHVpQXNEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUdWlPcHRpb259IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbmplY3REYXRhTGlzdFNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgY29uc3Qgc2l6ZXMgPSBbJ3MnLCAnbScsICdsJ10gYXMgY29uc3Q7XG4gICAgY29uc3Qgc2l6ZSA9IGluamVjdChUVUlfREFUQV9MSVNUX0hPU1QsIHtvcHRpb25hbDogdHJ1ZX0pPy5zaXplO1xuXG4gICAgcmV0dXJuIHNpemUgJiYgc2l6ZXMuaW5jbHVkZXMoc2l6ZSkgPyBzaXplIDogJ2wnO1xufVxuXG4vLyBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdCcsXG4gICAgaW1wb3J0czogW05nSWYsIEFzeW5jUGlwZSwgUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGEtbGlzdC5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0RhdGFMaXN0QWNjZXNzb3IoVHVpRGF0YUxpc3RDb21wb25lbnQpXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEYXRhTGlzdENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIFR1aURhdGFMaXN0QWNjZXNzb3I8VD4ge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlPcHRpb24pLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbjxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgb3JpZ2luPzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0RW1wdHlDb250ZW50JCA9IGluamVjdChUVUlfTk9USElOR19GT1VORF9NRVNTQUdFKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemUgPSB0dWlJbmplY3REYXRhTGlzdFNpemUoKTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnMSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgcHVibGljIG9uS2V5RG93bkFycm93KGN1cnJlbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2VsZW1lbnRzfSA9IHRoaXM7XG5cbiAgICAgICAgdHVpTW92ZUZvY3VzKGVsZW1lbnRzLmluZGV4T2YoY3VycmVudCksIGVsZW1lbnRzLCBzdGVwKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aGVlbC5zaWxlbnQucGFzc2l2ZScpXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24udGFiJylcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNoaWZ0LnRhYicpXG4gICAgcHVibGljIGhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KGVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmVsKTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWRJbihlbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4/LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQgPSBmYWxzZSk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKHtkaXNhYmxlZH0pID0+IGluY2x1ZGVEaXNhYmxlZCB8fCAhZGlzYWJsZWQpXG4gICAgICAgICAgICAubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSlcbiAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByb3RlY3RlZCBnZXQgZW1wdHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLm9wdGlvbnMpLnBpcGUobWFwKCh7bGVuZ3RofSkgPT4gIWxlbmd0aCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudC5yZWxhdGVkVGFyZ2V0JywgJyRldmVudC5jdXJyZW50VGFyZ2V0J10pXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNJbihyZWxhdGVkVGFyZ2V0OiBIVE1MRWxlbWVudCwgY3VycmVudFRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VGFyZ2V0LmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpICYmICF0aGlzLm9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4gPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duLnByZXZlbnQnKVxuICAgIHByb3RlY3RlZCBub29wKCk6IHZvaWQge31cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnRzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHRoaXMuZWwucXVlcnlTZWxlY3RvckFsbCgnYVt0dWlPcHRpb25dLGJ1dHRvblt0dWlPcHRpb25dLGlucHV0JyksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxkaXZcbiAgICAqbmdJZj1cImVtcHR5JCB8IGFzeW5jXCJcbiAgICBjbGFzcz1cInQtZW1wdHlcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImVtcHR5Q29udGVudCB8fCAoZGVmYXVsdEVtcHR5Q29udGVudCQgfCBhc3luYykgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFHMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHFCQUFxQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQUU3QyxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcs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V0FBVyxFQUFFLElBQUksRUFBQztnQkFVMUQsWUFBWTtzQkFEbEIsS0FBSztnQkFLQyxJQUFJO3NCQUZWLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUt0QixjQUFjO3NCQUZwQixZQUFZO3VCQUFDLDJCQUEyQixFQUFFLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQzs7c0JBQ2hFLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO2dCQVd6RCwwQkFBMEI7c0JBSmhDLFlBQVk7dUJBQUMsc0JBQXNCOztzQkFDbkMsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7O3NCQUM1QyxZQUFZO3VCQUFDLGFBQWE7O3NCQUMxQixZQUFZO3VCQUFDLG1CQUFtQjtnQkFvQnZCLFNBQVM7c0JBRGxCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7Z0JBUS9ELElBQUk7c0JBRGIsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50Q2hlY2tlZCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZEluLCB0dWlNb3ZlRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1QsIHR1aUFzRGF0YUxpc3RBY2Nlc3Nvcn0gZnJvbSAnLi9kYXRhLWxpc3QudG9rZW5zJztcbmltcG9ydCB7VHVpT3B0aW9ufSBmcm9tICcuL29wdGlvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpSW5qZWN0RGF0YUxpc3RTaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgIGNvbnN0IHNpemVzID0gWydzJywgJ20nLCAnbCddIGFzIGNvbnN0O1xuICAgIGNvbnN0IHNpemUgPSBpbmplY3QoVFVJX0RBVEFfTElTVF9IT1NULCB7b3B0aW9uYWw6IHRydWV9KT8uc2l6ZTtcblxuICAgIHJldHVybiBzaXplICYmIHNpemVzLmluY2x1ZGVzKHNpemUpID8gc2l6ZSA6ICdsJztcbn1cblxuLy8gVE9ETzogQ29uc2lkZXIgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGZvciBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kYXRhLWxpc3QnLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0YS1saXN0LnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRGF0YUxpc3RBY2Nlc3NvcihUdWlEYXRhTGlzdENvbXBvbmVudCldLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0Q29tcG9uZW50PFQ+XG4gICAgaW1wbGVtZW50cyBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+LCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aU9wdGlvbiksIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBRdWVyeUxpc3Q8VHVpT3B0aW9uPFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW4/OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhbGxiYWNrID0gdG9TaWduYWwoaW5qZWN0KFRVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0UpKTtcbiAgICBwcm90ZWN0ZWQgZW1wdHkgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBwdWJsaWMgc2l6ZSA9IHR1aUluamVjdERhdGFMaXN0U2l6ZSgpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnLTEnXSlcbiAgICBwdWJsaWMgb25LZXlEb3duQXJyb3coY3VycmVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICB0dWlNb3ZlRm9jdXMoZWxlbWVudHMuaW5kZXhPZihjdXJyZW50KSwgZWxlbWVudHMsIHN0ZXApO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3doZWVsLnNpbGVudC5wYXNzaXZlJylcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc2hpZnQudGFiJylcbiAgICBwdWJsaWMgaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZEluKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbj8uZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIC8vIFRPRE86IFJlZmFjdG9yIHRvIDpoYXMgYWZ0ZXIgU2FmYXJpIHN1cHBvcnQgYnVtcGVkIHRvIDE1XG4gICAgICAgIHRoaXMuZW1wdHkgPSAhdGhpcy5lbC5xdWVyeVNlbGVjdG9yKCdbdHVpT3B0aW9uXScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcHRpb25zKGluY2x1ZGVEaXNhYmxlZCA9IGZhbHNlKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigoe2Rpc2FibGVkfSkgPT4gaW5jbHVkZURpc2FibGVkIHx8ICFkaXNhYmxlZClcbiAgICAgICAgICAgIC5tYXAoKHt2YWx1ZX0pID0+IHZhbHVlKVxuICAgICAgICAgICAgLmZpbHRlcih0dWlJc1ByZXNlbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzaW4nLCBbJyRldmVudC5yZWxhdGVkVGFyZ2V0JywgJyRldmVudC5jdXJyZW50VGFyZ2V0J10pXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNJbihyZWxhdGVkVGFyZ2V0OiBIVE1MRWxlbWVudCwgY3VycmVudFRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VGFyZ2V0LmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpICYmICF0aGlzLm9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4gPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duLnByZXZlbnQnKVxuICAgIHByb3RlY3RlZCBub29wKCk6IHZvaWQge31cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnRzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHRoaXMuZWwucXVlcnlTZWxlY3RvckFsbCgnYVt0dWlPcHRpb25dLGJ1dHRvblt0dWlPcHRpb25dLGlucHV0JyksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxkaXZcbiAgICAqbmdJZj1cImVtcHR5XCJcbiAgICBjbGFzcz1cInQtZW1wdHlcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImVtcHR5Q29udGVudCB8fCBmYWxsYmFjaygpIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -24,4 +24,4 @@ export const TUI_DATA_LIST_HOST = new InjectionToken('[TUI_DATA_LIST_HOST]');
24
24
  export function tuiAsDataListHost(host) {
25
25
  return tuiProvide(TUI_DATA_LIST_HOST, host);
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWlCN0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FFbEQsc0JBQXNCLENBQUMsQ0FBQztBQUUxQixNQUFNLFVBQVUsa0JBQWtCLENBQzlCLFFBQStFO0lBRS9FLE9BQU87UUFDSCxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFFBQVE7S0FDWCxDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDBCQUEwQixDQUM3QixDQUFDO0FBRUYsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQW1DO0lBQ3JFLE9BQU8sVUFBVSxDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNoRCxzQkFBc0IsQ0FDekIsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFvQztJQUNsRSxPQUFPLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0LCBUdWlJZGVudGl0eU1hdGNoZXIsIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aURhdGFMaXN0QWNjZXNzb3I8VCA9IHVua25vd24+IHtcbiAgICBnZXRPcHRpb25zKGluY2x1ZGVEaXNhYmxlZD86IGJvb2xlYW4pOiByZWFkb25seSBUW107XG59XG5cbi8vIFRPRE86IENvbnNpZGVyIHJlZmFjdG9yaW5nIGNoZWNrT3B0aW9uLCBpdCBpcyBvbmx5IG5lZWRlZCBpbiBDb21ib0JveFxuZXhwb3J0IGludGVyZmFjZSBUdWlEYXRhTGlzdEhvc3Q8VD4ge1xuICAgIGNoZWNrT3B0aW9uPyhvcHRpb246IFQpOiB2b2lkO1xuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFQpOiB2b2lkO1xuICAgIHJlYWRvbmx5IGlkZW50aXR5TWF0Y2hlcj86IFR1aUlkZW50aXR5TWF0Y2hlcjxUPjtcbiAgICByZWFkb25seSBzdHJpbmdpZnk/OiBUdWlTdHJpbmdIYW5kbGVyPFQ+O1xuICAgIHJlYWRvbmx5IHNpemU/OiBUdWlTaXplTCB8IFR1aVNpemVTO1xufVxuXG4vKipcbiAqIENvbnRlbnQgZm9yIHR1aU9wdGlvbiBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9PUFRJT05fQ09OVEVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pj5cbj4oJ1tUVUlfT1BUSU9OX0NPTlRFTlRdJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc09wdGlvbkNvbnRlbnQoXG4gICAgdXNlVmFsdWU6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+Pixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgICAgIHVzZVZhbHVlLFxuICAgIH07XG59XG5cbi8qKlxuICogQWNjZXNzb3IgZm9yIGRhdGEtbGlzdCBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfREFUQV9MSVNUX0FDQ0VTU09SID0gbmV3IEluamVjdGlvblRva2VuPFR1aURhdGFMaXN0QWNjZXNzb3I+KFxuICAgICdbVFVJX0RBVEFfTElTVF9BQ0NFU1NPUl0nLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFzRGF0YUxpc3RBY2Nlc3NvcihhY2Nlc3NvcjogVHlwZTxUdWlEYXRhTGlzdEFjY2Vzc29yPik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUVUlfREFUQV9MSVNUX0FDQ0VTU09SLCBhY2Nlc3Nvcik7XG59XG5cbi8qKlxuICogRGF0YUxpc3QgY29udHJvbGxlclxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEFfTElTVF9IT1NUID0gbmV3IEluamVjdGlvblRva2VuPFR1aURhdGFMaXN0SG9zdDx1bmtub3duPj4oXG4gICAgJ1tUVUlfREFUQV9MSVNUX0hPU1RdJyxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc0RhdGFMaXN0SG9zdChob3N0OiBUeXBlPFR1aURhdGFMaXN0SG9zdDx1bmtub3duPj4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGUoVFVJX0RBVEFfTElTVF9IT1NULCBob3N0KTtcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWlCN0Q7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FFbEQsc0JBQXNCLENBQUMsQ0FBQztBQUUxQixNQUFNLFVBQVUsa0JBQWtCLENBQzlCLFFBQStFO0lBRS9FLE9BQU87UUFDSCxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFFBQVE7S0FDWCxDQUFDO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDBCQUEwQixDQUM3QixDQUFDO0FBRUYsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQW1DO0lBQ3JFLE9BQU8sVUFBVSxDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNoRCxzQkFBc0IsQ0FDekIsQ0FBQztBQUVGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFvQztJQUNsRSxPQUFPLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0LCBUdWlJZGVudGl0eU1hdGNoZXIsIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aURhdGFMaXN0QWNjZXNzb3I8VCA9IHVua25vd24+IHtcbiAgICBnZXRPcHRpb25zKGluY2x1ZGVEaXNhYmxlZD86IGJvb2xlYW4pOiByZWFkb25seSBUW107XG59XG5cbi8vIFRPRE86IENvbnNpZGVyIHJlZmFjdG9yaW5nIGNoZWNrT3B0aW9uLCBpdCBpcyBvbmx5IG5lZWRlZCBpbiBDb21ib0JveFxuZXhwb3J0IGludGVyZmFjZSBUdWlEYXRhTGlzdEhvc3Q8VD4ge1xuICAgIGNoZWNrT3B0aW9uPyhvcHRpb246IFQpOiB2b2lkO1xuICAgIGhhbmRsZU9wdGlvbj8ob3B0aW9uOiBUKTogdm9pZDtcbiAgICByZWFkb25seSBpZGVudGl0eU1hdGNoZXI/OiBUdWlJZGVudGl0eU1hdGNoZXI8VD47XG4gICAgcmVhZG9ubHkgc3RyaW5naWZ5PzogVHVpU3RyaW5nSGFuZGxlcjxUPjtcbiAgICByZWFkb25seSBzaXplPzogVHVpU2l6ZUwgfCBUdWlTaXplUztcbn1cblxuLyoqXG4gKiBDb250ZW50IGZvciB0dWlPcHRpb24gY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfT1BUSU9OX0NPTlRFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4+XG4+KCdbVFVJX09QVElPTl9DT05URU5UXScpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNPcHRpb25Db250ZW50KFxuICAgIHVzZVZhbHVlOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pj4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX09QVElPTl9DT05URU5ULFxuICAgICAgICB1c2VWYWx1ZSxcbiAgICB9O1xufVxuXG4vKipcbiAqIEFjY2Vzc29yIGZvciBkYXRhLWxpc3Qgb3B0aW9uc1xuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEFfTElTVF9BQ0NFU1NPUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlEYXRhTGlzdEFjY2Vzc29yPihcbiAgICAnW1RVSV9EQVRBX0xJU1RfQUNDRVNTT1JdJyxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc0RhdGFMaXN0QWNjZXNzb3IoYWNjZXNzb3I6IFR5cGU8VHVpRGF0YUxpc3RBY2Nlc3Nvcj4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGUoVFVJX0RBVEFfTElTVF9BQ0NFU1NPUiwgYWNjZXNzb3IpO1xufVxuXG4vKipcbiAqIERhdGFMaXN0IGNvbnRyb2xsZXJcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9EQVRBX0xJU1RfSE9TVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlEYXRhTGlzdEhvc3Q8dW5rbm93bj4+KFxuICAgICdbVFVJX0RBVEFfTElTVF9IT1NUXScsXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNEYXRhTGlzdEhvc3QoaG9zdDogVHlwZTxUdWlEYXRhTGlzdEhvc3Q8dW5rbm93bj4+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlKFRVSV9EQVRBX0xJU1RfSE9TVCwgaG9zdCk7XG59XG4iXX0=