@taiga-ui/core 4.30.0 → 4.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/components/data-list/data-list.component.d.ts +2 -1
  2. package/components/data-list/data-list.d.ts +3 -2
  3. package/components/data-list/data-list.tokens.d.ts +2 -8
  4. package/components/data-list/index.d.ts +3 -1
  5. package/components/data-list/option/option-content.d.ts +8 -0
  6. package/components/data-list/{option.component.d.ts → option/option-legacy.component.d.ts} +5 -1
  7. package/components/data-list/option/option.directive.d.ts +25 -0
  8. package/components/dialog/dialog.component.d.ts +1 -1
  9. package/esm2022/components/data-list/data-list.component.mjs +16 -8
  10. package/esm2022/components/data-list/data-list.mjs +5 -2
  11. package/esm2022/components/data-list/data-list.tokens.mjs +1 -11
  12. package/esm2022/components/data-list/index.mjs +4 -2
  13. package/esm2022/components/data-list/option/option-content.mjs +12 -0
  14. package/esm2022/components/data-list/option/option-legacy.component.mjs +90 -0
  15. package/esm2022/components/data-list/option/option.directive.mjs +97 -0
  16. package/esm2022/components/dialog/dialog.component.mjs +4 -4
  17. package/esm2022/components/root/root.component.mjs +1 -1
  18. package/fesm2022/taiga-ui-core-components-data-list.mjs +117 -19
  19. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-core-components-dialog.mjs +3 -3
  21. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
  23. package/package.json +18 -18
  24. package/esm2022/components/data-list/option.component.mjs +0 -86
@@ -5,6 +5,7 @@ import type { TuiDataListAccessor } from './data-list.tokens';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare function tuiInjectDataListSize(): TuiSizeL | TuiSizeS;
7
7
  export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T>, AfterContentChecked {
8
+ private readonly legacyOptions;
8
9
  private readonly options;
9
10
  private origin?;
10
11
  private readonly ngZone;
@@ -22,5 +23,5 @@ export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T>,
22
23
  protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void;
23
24
  private get elements();
24
25
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDataListComponent<any>, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiDataListComponent<any>, "tui-data-list", never, { "emptyContent": { "alias": "emptyContent"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, ["options"], ["*"], true, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiDataListComponent<any>, "tui-data-list", never, { "emptyContent": { "alias": "emptyContent"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, ["legacyOptions", "options"], ["*"], true, never>;
26
27
  }
@@ -1,5 +1,6 @@
1
1
  import { TuiDataListComponent } from './data-list.component';
2
2
  import { TuiDataListDirective } from './data-list.directive';
3
3
  import { TuiOptGroup } from './opt-group.directive';
4
- import { TuiOption } from './option.component';
5
- export declare const TuiDataList: readonly [typeof TuiDataListComponent, typeof TuiDataListDirective, typeof TuiOption, typeof TuiOptGroup];
4
+ import { TuiOptionNew, TuiOptionWithValue } from './option/option.directive';
5
+ import { TuiOption } from './option/option-legacy.component';
6
+ export declare const TuiDataList: readonly [typeof TuiDataListComponent, typeof TuiDataListDirective, typeof TuiOption, typeof TuiOptionNew, typeof TuiOptionWithValue, typeof TuiOptGroup];
@@ -1,7 +1,6 @@
1
- import type { Provider, TemplateRef, Type } from '@angular/core';
2
- import type { TuiContext, TuiIdentityMatcher, TuiStringHandler } from '@taiga-ui/cdk/types';
1
+ import type { Provider, Type } from '@angular/core';
2
+ import type { TuiIdentityMatcher, TuiStringHandler } from '@taiga-ui/cdk/types';
3
3
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
4
- import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
5
4
  export interface TuiDataListAccessor<T = unknown> {
6
5
  getOptions(includeDisabled?: boolean): readonly T[];
7
6
  }
@@ -12,11 +11,6 @@ export interface TuiDataListHost<T> {
12
11
  readonly stringify?: TuiStringHandler<T>;
13
12
  readonly size?: TuiSizeL | TuiSizeS;
14
13
  }
15
- /**
16
- * Content for tuiOption component
17
- */
18
- export declare const TUI_OPTION_CONTENT: import("@angular/core").InjectionToken<PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>>;
19
- export declare function tuiAsOptionContent(useValue: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>): Provider;
20
14
  /**
21
15
  * Accessor for data-list options
22
16
  */
@@ -3,4 +3,6 @@ export * from './data-list.component';
3
3
  export * from './data-list.directive';
4
4
  export * from './data-list.tokens';
5
5
  export * from './opt-group.directive';
6
- export * from './option.component';
6
+ export * from './option/option.directive';
7
+ export * from './option/option-content';
8
+ export * from './option/option-legacy.component';
@@ -0,0 +1,8 @@
1
+ import type { Provider, TemplateRef, Type } from '@angular/core';
2
+ import type { TuiContext } from '@taiga-ui/cdk/types';
3
+ import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
+ /**
5
+ * Content for tuiOption component
6
+ */
7
+ export declare const TUI_OPTION_CONTENT: import("@angular/core").InjectionToken<PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>> | Type<any>>;
8
+ export declare function tuiAsOptionContent(useValue: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>> | Type<any>): Provider;
@@ -3,6 +3,10 @@ import type { TuiContext } from '@taiga-ui/cdk/types';
3
3
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@taiga-ui/core/directives/icons";
6
+ /**
7
+ * TODO(v5): delete
8
+ * @deprecated use `<button tuiOption new />` / `<a tuiOption new /> / `<label tuiOption new /> instead
9
+ */
6
10
  export declare class TuiOption<T = unknown> implements OnDestroy {
7
11
  private readonly isMobile;
8
12
  private readonly el;
@@ -16,5 +20,5 @@ export declare class TuiOption<T = unknown> implements OnDestroy {
16
20
  protected onClick(): void;
17
21
  protected onMouseMove(): void;
18
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiOption<any>, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiOption<any>, "button[tuiOption], a[tuiOption], label[tuiOption]", never, { "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.TuiWithIcons; inputs: {}; outputs: {}; }]>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiOption<any>, "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", never, { "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.TuiWithIcons; inputs: {}; outputs: {}; }]>;
20
24
  }
@@ -0,0 +1,25 @@
1
+ import type { OnDestroy } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@taiga-ui/core/directives/icons";
4
+ export declare class TuiOptionNew<T = unknown> implements OnDestroy {
5
+ private readonly vcr;
6
+ private readonly isMobile;
7
+ private readonly el;
8
+ private readonly dataList;
9
+ private readonly content;
10
+ private readonly ref;
11
+ protected readonly dropdown: import("@angular/core").WritableSignal<import("@angular/core").ComponentRef<unknown> | null> | undefined;
12
+ disabled: boolean;
13
+ constructor();
14
+ ngOnDestroy(): void;
15
+ protected onMouseMove(): void;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiOptionNew<any>, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiOptionNew<any>, "button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]", never, { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithIcons; inputs: {}; outputs: {}; }]>;
18
+ }
19
+ export declare class TuiOptionWithValue<T = unknown> {
20
+ disabled: boolean;
21
+ readonly value: import("@angular/core").WritableSignal<T | undefined>;
22
+ set valueSetter(x: T);
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiOptionWithValue<any>, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiOptionWithValue<any>, "button[tuiOption][value][new], a[tuiOption][value][new], label[tuiOption][value][new]", never, { "disabled": { "alias": "disabled"; "required": false; }; "valueSetter": { "alias": "value"; "required": true; }; }, {}, never, never, true, never>;
25
+ }
@@ -15,7 +15,7 @@ export declare class TuiDialogComponent<O, I> {
15
15
  protected readonly slideInTop: import("@angular/core").Signal<{
16
16
  readonly value: "";
17
17
  readonly params: {
18
- readonly start: "40px";
18
+ readonly start: "2.5rem";
19
19
  readonly duration: number;
20
20
  };
21
21
  } | {
@@ -1,5 +1,5 @@
1
1
  import { NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, forwardRef, inject, Input, NgZone, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, DestroyRef, forwardRef, inject, Input, isSignal, NgZone, signal, ViewEncapsulation, } from '@angular/core';
3
3
  import { toSignal } from '@angular/core/rxjs-interop';
4
4
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
5
5
  import { tuiTakeUntilDestroyed, tuiZonefree } from '@taiga-ui/cdk/observables';
@@ -10,7 +10,8 @@ import { TUI_NOTHING_FOUND_MESSAGE } from '@taiga-ui/core/tokens';
10
10
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
11
11
  import { timer } from 'rxjs';
12
12
  import { TUI_DATA_LIST_HOST, tuiAsDataListAccessor } from './data-list.tokens';
13
- import { TuiOption } from './option.component';
13
+ import { TuiOptionWithValue } from './option/option.directive';
14
+ import { TuiOption } from './option/option-legacy.component';
14
15
  import * as i0 from "@angular/core";
15
16
  export function tuiInjectDataListSize() {
16
17
  const sizes = ['s', 'm', 'l'];
@@ -20,6 +21,7 @@ export function tuiInjectDataListSize() {
20
21
  // TODO: Consider aria-activedescendant for proper accessibility implementation
21
22
  class TuiDataListComponent {
22
23
  constructor() {
24
+ this.legacyOptions = EMPTY_QUERY;
23
25
  this.options = EMPTY_QUERY;
24
26
  this.ngZone = inject(NgZone);
25
27
  this.destroyRef = inject(DestroyRef);
@@ -48,9 +50,12 @@ class TuiDataListComponent {
48
50
  });
49
51
  }
50
52
  getOptions(includeDisabled = false) {
51
- return this.options
53
+ return [
54
+ ...this.legacyOptions,
55
+ ...this.options,
56
+ ]
52
57
  .filter(({ disabled }) => includeDisabled || !disabled)
53
- .map(({ value }) => value)
58
+ .map(({ value }) => (isSignal(value) ? value() : value))
54
59
  .filter(tuiIsPresent);
55
60
  }
56
61
  onFocusIn(relatedTarget, currentTarget) {
@@ -62,7 +67,7 @@ class TuiDataListComponent {
62
67
  return Array.from(this.el.querySelectorAll('a[tuiOption],button[tuiOption],label[tuiOption]'));
63
68
  }
64
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDataListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
- 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: { "focusin": "onFocusIn($event.relatedTarget, $event.currentTarget)", "mousedown.prevent": "(0)", "wheel.zoneless.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)", "keydown.tab": "handleFocusLossIfNecessary()", "keydown.shift.tab": "handleFocusLossIfNecessary()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target, 1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target, -1)" }, properties: { "attr.data-size": "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]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2rem;padding-top:.3125rem;padding-bottom:.3125rem}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]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2.5rem;padding-top:.375rem;padding-bottom:.375rem}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]{--t-option-padding-inline: .625rem;font:var(--tui-font-text-m);min-block-size:2.75rem;padding-top:.375rem;padding-bottom:.375rem}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: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:start;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;pointer-events:none}tui-data-list [tuiOption]:hover,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-data-list>.t-empty,tui-data-list [tuiOption]{padding-left:var(--t-option-padding-inline);padding-right:var(--t-option-padding-inline)}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);font-weight:700;color:var(--tui-text-primary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);font-weight:700;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);block-size: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{content:\"\";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 }); }
70
+ 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: { "focusin": "onFocusIn($event.relatedTarget, $event.currentTarget)", "mousedown.prevent": "(0)", "wheel.zoneless.passive": "handleFocusLossIfNecessary()", "mouseleave": "handleFocusLossIfNecessary($event.target)", "keydown.tab": "handleFocusLossIfNecessary()", "keydown.shift.tab": "handleFocusLossIfNecessary()", "keydown.arrowDown.prevent": "onKeyDownArrow($event.target, 1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target, -1)" }, properties: { "attr.data-size": "size" } }, providers: [tuiAsDataListAccessor(TuiDataListComponent)], queries: [{ propertyName: "legacyOptions", predicate: i0.forwardRef(function () { return TuiOption; }), descendants: true }, { propertyName: "options", predicate: i0.forwardRef(function () { return TuiOptionWithValue; }), 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] [tuiOption][new]>*:not(:first-child){margin-inline-start:.5rem}tui-data-list[data-size=s]>.t-empty,tui-data-list[data-size=s] [tuiOption]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2rem;padding-top:.3125rem;padding-bottom:.3125rem}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] [tuiOption][new]>*:not(:first-child){margin-inline-start:.75rem}tui-data-list[data-size=m]>.t-empty,tui-data-list[data-size=m] [tuiOption]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2.5rem;padding-top:.375rem;padding-bottom:.375rem}tui-data-list[data-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list[data-size=l] [tuiOption][new]>*:not(:first-child){margin-inline-start:1rem}tui-data-list[data-size=l]>.t-empty,tui-data-list[data-size=l] [tuiOption]{--t-option-padding-inline: .625rem;font:var(--tui-font-text-m);min-block-size:2.75rem;padding-top:.375rem;padding-bottom:.375rem}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]:not([new]){justify-content:space-between}tui-data-list [tuiOption]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font: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;text-align:start;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;pointer-events:none}tui-data-list [tuiOption]:hover,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-data-list>.t-empty,tui-data-list [tuiOption]{padding-left:var(--t-option-padding-inline);padding-right:var(--t-option-padding-inline)}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);font-weight:700;color:var(--tui-text-primary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);font-weight:700;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);block-size: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{content:\"\";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 }); }
66
71
  }
67
72
  export { TuiDataListComponent };
68
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDataListComponent, decorators: [{
@@ -78,13 +83,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
83
  '(keydown.shift.tab)': 'handleFocusLossIfNecessary()',
79
84
  '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',
80
85
  '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',
81
- }, 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]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2rem;padding-top:.3125rem;padding-bottom:.3125rem}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]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2.5rem;padding-top:.375rem;padding-bottom:.375rem}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]{--t-option-padding-inline: .625rem;font:var(--tui-font-text-m);min-block-size:2.75rem;padding-top:.375rem;padding-bottom:.375rem}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: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:start;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;pointer-events:none}tui-data-list [tuiOption]:hover,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-data-list>.t-empty,tui-data-list [tuiOption]{padding-left:var(--t-option-padding-inline);padding-right:var(--t-option-padding-inline)}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);font-weight:700;color:var(--tui-text-primary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);font-weight:700;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);block-size: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{content:\"\";padding:0;margin:0}\n"] }]
82
- }], propDecorators: { options: [{
86
+ }, 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] [tuiOption][new]>*:not(:first-child){margin-inline-start:.5rem}tui-data-list[data-size=s]>.t-empty,tui-data-list[data-size=s] [tuiOption]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2rem;padding-top:.3125rem;padding-bottom:.3125rem}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] [tuiOption][new]>*:not(:first-child){margin-inline-start:.75rem}tui-data-list[data-size=m]>.t-empty,tui-data-list[data-size=m] [tuiOption]{--t-option-padding-inline: .5rem;font:var(--tui-font-text-s);min-block-size:2.5rem;padding-top:.375rem;padding-bottom:.375rem}tui-data-list[data-size=l]{--tui-data-list-padding: .375rem;--tui-data-list-margin: .125rem}tui-data-list[data-size=l] [tuiOption][new]>*:not(:first-child){margin-inline-start:1rem}tui-data-list[data-size=l]>.t-empty,tui-data-list[data-size=l] [tuiOption]{--t-option-padding-inline: .625rem;font:var(--tui-font-text-m);min-block-size:2.75rem;padding-top:.375rem;padding-bottom:.375rem}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]:not([new]){justify-content:space-between}tui-data-list [tuiOption]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font: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;text-align:start;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;pointer-events:none}tui-data-list [tuiOption]:hover,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-data-list>.t-empty,tui-data-list [tuiOption]{padding-left:var(--t-option-padding-inline);padding-right:var(--t-option-padding-inline)}tui-opt-group{position:relative;display:flex;font:var(--tui-font-text-xs);font-weight:700;color:var(--tui-text-primary);flex-direction:column;line-height:1rem}tui-data-list[data-size=l] tui-opt-group{font:var(--tui-font-text-s);font-weight:700;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);block-size: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{content:\"\";padding:0;margin:0}\n"] }]
87
+ }], propDecorators: { legacyOptions: [{
83
88
  type: ContentChildren,
84
89
  args: [forwardRef(() => TuiOption), { descendants: true }]
90
+ }], options: [{
91
+ type: ContentChildren,
92
+ args: [forwardRef(() => TuiOptionWithValue), { descendants: true }]
85
93
  }], emptyContent: [{
86
94
  type: Input
87
95
  }], size: [{
88
96
  type: Input
89
97
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUczQixPQUFPLEVBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxv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QUMsaURBQWlELENBQUMsQ0FDOUUsQ0FBQztJQUNOLENBQUM7K0dBM0RRLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9wQkFkbEIsQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLHFGQWlCdEIsU0FBUyxvRENoRS9DLHlNQVNBLDJ2SERpQ2MsSUFBSSw2RkFBRSxrQkFBa0I7O1NBbUJ6QixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkF0QmhDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsV0FDaEIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxxQkFBcUIsc0JBQXNCLENBQUMsUUFDbEQ7d0JBQ0YsSUFBSSxFQUFFLFNBQVM7d0JBQ2Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsV0FBVyxFQUFFLHVEQUF1RDt3QkFDcEUscUJBQXFCLEVBQUUsS0FBSzt3QkFDNUIsMEJBQTBCLEVBQUUsOEJBQThCO3dCQUMxRCxjQUFjLEVBQUUsMkNBQTJDO3dCQUMzRCxlQUFlLEVBQUUsOEJBQThCO3dCQUMvQyxxQkFBcUIsRUFBRSw4QkFBOEI7d0JBQ3JELDZCQUE2QixFQUFFLGtDQUFrQzt3QkFDakUsMkJBQTJCLEVBQUUsbUNBQW1DO3FCQUNuRTs4QkFNZ0IsT0FBTztzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQVkxRCxZQUFZO3NCQURsQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtBZnRlckNvbnRlbnRDaGVja2VkLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVRha2VVbnRpbERlc3Ryb3llZCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZEluLCB0dWlNb3ZlRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3RpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgdHVpQXNEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUdWlPcHRpb259IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbmplY3REYXRhTGlzdFNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgY29uc3Qgc2l6ZXMgPSBbJ3MnLCAnbScsICdsJ10gYXMgY29uc3Q7XG4gICAgY29uc3Qgc2l6ZSA9IGluamVjdChUVUlfREFUQV9MSVNUX0hPU1QsIHtvcHRpb25hbDogdHJ1ZX0pPy5zaXplO1xuXG4gICAgcmV0dXJuIHNpemUgJiYgc2l6ZXMuaW5jbHVkZXMoc2l6ZSkgPyBzaXplIDogJ2wnO1xufVxuXG4vLyBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdCcsXG4gICAgaW1wb3J0czogW05nSWYsIFBvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbGlzdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNEYXRhTGlzdEFjY2Vzc29yKFR1aURhdGFMaXN0Q29tcG9uZW50KV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnbGlzdGJveCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ29uRm9jdXNJbigkZXZlbnQucmVsYXRlZFRhcmdldCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpJyxcbiAgICAgICAgJyhtb3VzZWRvd24ucHJldmVudCknOiAnKDApJyxcbiAgICAgICAgJyh3aGVlbC56b25lbGVzcy5wYXNzaXZlKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi50YWIpJzogJ2hhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KCknLFxuICAgICAgICAnKGtleWRvd24uc2hpZnQudGFiKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93RG93bi5wcmV2ZW50KSc6ICdvbktleURvd25BcnJvdygkZXZlbnQudGFyZ2V0LCAxKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ29uS2V5RG93bkFycm93KCRldmVudC50YXJnZXQsIC0xKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3RDb21wb25lbnQ8VD5cbiAgICBpbXBsZW1lbnRzIFR1aURhdGFMaXN0QWNjZXNzb3I8VD4sIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpT3B0aW9uKSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFF1ZXJ5TGlzdDxUdWlPcHRpb248VD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwcml2YXRlIG9yaWdpbj86IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmYWxsYmFjayA9IHRvU2lnbmFsKGluamVjdChUVUlfTk9USElOR19GT1VORF9NRVNTQUdFKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVtcHR5ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemUgPSB0dWlJbmplY3REYXRhTGlzdFNpemUoKTtcblxuICAgIHB1YmxpYyBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtlbGVtZW50c30gPSB0aGlzO1xuXG4gICAgICAgIHR1aU1vdmVGb2N1cyhlbGVtZW50cy5pbmRleE9mKGN1cnJlbnQpLCBlbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KGVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmVsKTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWRJbihlbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4/LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byA6aGFzIGFmdGVyIFNhZmFyaSBzdXBwb3J0IGJ1bXBlZCB0byAxNVxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRpbWVyKDApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZSh0aGlzLm5nWm9uZSksIHR1aVRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbXB0eS5zZXQoIXRoaXMuZWxlbWVudHMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQgPSBmYWxzZSk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKHtkaXNhYmxlZH0pID0+IGluY2x1ZGVEaXNhYmxlZCB8fCAhZGlzYWJsZWQpXG4gICAgICAgICAgICAubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSlcbiAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c0luKHJlbGF0ZWRUYXJnZXQ6IEhUTUxFbGVtZW50LCBjdXJyZW50VGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWN1cnJlbnRUYXJnZXQuY29udGFpbnMocmVsYXRlZFRhcmdldCkgJiYgIXRoaXMub3JpZ2luKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbiA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlbGVtZW50cygpOiByZWFkb25seSBIVE1MRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbdHVpT3B0aW9uXSxidXR0b25bdHVpT3B0aW9uXSxsYWJlbFt0dWlPcHRpb25dJyksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxkaXZcbiAgICAqbmdJZj1cImVtcHR5KClcIlxuICAgIGNsYXNzPVwidC1lbXB0eVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZW1wdHlDb250ZW50IHx8IGZhbGxiYWNrKCkgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHM0IsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHFCQUFxQixF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T0FBTztzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUM7Z0JBWW5FLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0FmdGVyQ29udGVudENoZWNrZWQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBpc1NpZ25hbCxcbiAgICBOZ1pvbmUsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpVGFrZVVudGlsRGVzdHJveWVkLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkSW4sIHR1aU1vdmVGb2N1c30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUlzUHJlc2VudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX05PVEhJTkdfRk9VTkRfTUVTU0FHRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7dGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RBY2Nlc3Nvcn0gZnJvbSAnLi9kYXRhLWxpc3QudG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEFfTElTVF9IT1NULCB0dWlBc0RhdGFMaXN0QWNjZXNzb3J9IGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5pbXBvcnQge1R1aU9wdGlvbldpdGhWYWx1ZX0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aU9wdGlvbn0gZnJvbSAnLi9vcHRpb24vb3B0aW9uLWxlZ2FjeS5jb21wb25lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpSW5qZWN0RGF0YUxpc3RTaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgIGNvbnN0IHNpemVzID0gWydzJywgJ20nLCAnbCddIGFzIGNvbnN0O1xuICAgIGNvbnN0IHNpemUgPSBpbmplY3QoVFVJX0RBVEFfTElTVF9IT1NULCB7b3B0aW9uYWw6IHRydWV9KT8uc2l6ZTtcblxuICAgIHJldHVybiBzaXplICYmIHNpemVzLmluY2x1ZGVzKHNpemUpID8gc2l6ZSA6ICdsJztcbn1cblxuLy8gVE9ETzogQ29uc2lkZXIgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGZvciBwcm9wZXIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kYXRhLWxpc3QnLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0YS1saXN0LnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRGF0YUxpc3RBY2Nlc3NvcihUdWlEYXRhTGlzdENvbXBvbmVudCldLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2xpc3Rib3gnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdvbkZvY3VzSW4oJGV2ZW50LnJlbGF0ZWRUYXJnZXQsICRldmVudC5jdXJyZW50VGFyZ2V0KScsXG4gICAgICAgICcobW91c2Vkb3duLnByZXZlbnQpJzogJygwKScsXG4gICAgICAgICcod2hlZWwuem9uZWxlc3MucGFzc2l2ZSknOiAnaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoKScsXG4gICAgICAgICcobW91c2VsZWF2ZSknOiAnaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKGtleWRvd24udGFiKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhrZXlkb3duLnNoaWZ0LnRhYiknOiAnaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCknOiAnb25LZXlEb3duQXJyb3coJGV2ZW50LnRhcmdldCwgMSknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dVcC5wcmV2ZW50KSc6ICdvbktleURvd25BcnJvdygkZXZlbnQudGFyZ2V0LCAtMSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0Q29tcG9uZW50PFQ+XG4gICAgaW1wbGVtZW50cyBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+LCBBZnRlckNvbnRlbnRDaGVja2VkXG57XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aU9wdGlvbiksIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBsZWdhY3lPcHRpb25zOiBRdWVyeUxpc3Q8VHVpT3B0aW9uPFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aU9wdGlvbldpdGhWYWx1ZSksIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBRdWVyeUxpc3Q8VHVpT3B0aW9uV2l0aFZhbHVlPFQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW4/OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFsbGJhY2sgPSB0b1NpZ25hbChpbmplY3QoVFVJX05PVEhJTkdfRk9VTkRfTUVTU0FHRSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbXB0eSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplID0gdHVpSW5qZWN0RGF0YUxpc3RTaXplKCk7XG5cbiAgICBwdWJsaWMgb25LZXlEb3duQXJyb3coY3VycmVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB7ZWxlbWVudHN9ID0gdGhpcztcblxuICAgICAgICB0dWlNb3ZlRm9jdXMoZWxlbWVudHMuaW5kZXhPZihjdXJyZW50KSwgZWxlbWVudHMsIHN0ZXApO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeShlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5lbCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNOYXRpdmVGb2N1c2VkSW4oZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luPy5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVE9ETzogUmVmYWN0b3IgdG8gOmhhcyBhZnRlciBTYWZhcmkgc3VwcG9ydCBidW1wZWQgdG8gMTVcbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aW1lcigwKVxuICAgICAgICAgICAgLnBpcGUodHVpWm9uZWZyZWUodGhpcy5uZ1pvbmUpLCB0dWlUYWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZW1wdHkuc2V0KCF0aGlzLmVsZW1lbnRzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9wdGlvbnMoaW5jbHVkZURpc2FibGVkID0gZmFsc2UpOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4udGhpcy5sZWdhY3lPcHRpb25zLCAvLyBUT0RPKHY1KTogZGVsZXRlXG4gICAgICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAgIF1cbiAgICAgICAgICAgIC5maWx0ZXIoKHtkaXNhYmxlZH0pID0+IGluY2x1ZGVEaXNhYmxlZCB8fCAhZGlzYWJsZWQpXG4gICAgICAgICAgICAubWFwKCh7dmFsdWV9KSA9PiAoaXNTaWduYWwodmFsdWUpID8gdmFsdWUoKSA6IHZhbHVlKSlcbiAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c0luKHJlbGF0ZWRUYXJnZXQ6IEhUTUxFbGVtZW50LCBjdXJyZW50VGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWN1cnJlbnRUYXJnZXQuY29udGFpbnMocmVsYXRlZFRhcmdldCkgJiYgIXRoaXMub3JpZ2luKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbiA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlbGVtZW50cygpOiByZWFkb25seSBIVE1MRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbdHVpT3B0aW9uXSxidXR0b25bdHVpT3B0aW9uXSxsYWJlbFt0dWlPcHRpb25dJyksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxkaXZcbiAgICAqbmdJZj1cImVtcHR5KClcIlxuICAgIGNsYXNzPVwidC1lbXB0eVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZW1wdHlDb250ZW50IHx8IGZhbGxiYWNrKCkgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,11 +1,14 @@
1
1
  import { TuiDataListComponent } from './data-list.component';
2
2
  import { TuiDataListDirective } from './data-list.directive';
3
3
  import { TuiOptGroup } from './opt-group.directive';
4
- import { TuiOption } from './option.component';
4
+ import { TuiOptionNew, TuiOptionWithValue } from './option/option.directive';
5
+ import { TuiOption } from './option/option-legacy.component';
5
6
  export const TuiDataList = [
6
7
  TuiDataListComponent,
7
8
  TuiDataListDirective,
8
9
  TuiOption,
10
+ TuiOptionNew,
11
+ TuiOptionWithValue,
9
12
  TuiOptGroup,
10
13
  ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdC9kYXRhLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixTQUFTO0lBQ1QsV0FBVztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aURhdGFMaXN0Q29tcG9uZW50fSBmcm9tICcuL2RhdGEtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdERpcmVjdGl2ZX0gZnJvbSAnLi9kYXRhLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpT3B0R3JvdXB9IGZyb20gJy4vb3B0LWdyb3VwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aU9wdGlvbn0gZnJvbSAnLi9vcHRpb24uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFR1aURhdGFMaXN0ID0gW1xuICAgIFR1aURhdGFMaXN0Q29tcG9uZW50LFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aU9wdGlvbixcbiAgICBUdWlPcHRHcm91cCxcbl0gYXMgY29uc3Q7XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdC9kYXRhLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHO0lBQ3ZCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsU0FBUztJQUNULFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsV0FBVztDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aURhdGFMaXN0Q29tcG9uZW50fSBmcm9tICcuL2RhdGEtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlEYXRhTGlzdERpcmVjdGl2ZX0gZnJvbSAnLi9kYXRhLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpT3B0R3JvdXB9IGZyb20gJy4vb3B0LWdyb3VwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aU9wdGlvbk5ldywgVHVpT3B0aW9uV2l0aFZhbHVlfSBmcm9tICcuL29wdGlvbi9vcHRpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpT3B0aW9ufSBmcm9tICcuL29wdGlvbi9vcHRpb24tbGVnYWN5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBUdWlEYXRhTGlzdCA9IFtcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlPcHRpb24sXG4gICAgVHVpT3B0aW9uTmV3LFxuICAgIFR1aU9wdGlvbldpdGhWYWx1ZSxcbiAgICBUdWlPcHRHcm91cCxcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -1,14 +1,4 @@
1
1
  import { tuiCreateToken, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
2
- /**
3
- * Content for tuiOption component
4
- */
5
- export const TUI_OPTION_CONTENT = tuiCreateToken();
6
- export function tuiAsOptionContent(useValue) {
7
- return {
8
- provide: TUI_OPTION_CONTENT,
9
- useValue,
10
- };
11
- }
12
2
  /**
13
3
  * Accessor for data-list options
14
4
  */
@@ -23,4 +13,4 @@ export const TUI_DATA_LIST_HOST = tuiCreateToken();
23
13
  export function tuiAsDataListHost(host) {
24
14
  return tuiProvide(TUI_DATA_LIST_HOST, host);
25
15
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBaUI3RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUMzQixjQUFjLEVBRVgsQ0FBQztBQUVSLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsUUFBK0U7SUFFL0UsT0FBTztRQUNILE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsUUFBUTtLQUNYLENBQUM7QUFDTixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLEVBQXVCLENBQUM7QUFFNUUsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQW1DO0lBQ3JFLE9BQU8sVUFBVSxDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGNBQWMsRUFBNEIsQ0FBQztBQUU3RSxNQUFNLFVBQVUsaUJBQWlCLENBQUksSUFBOEI7SUFDL0QsT0FBTyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlciwgVGVtcGxhdGVSZWYsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aUNvbnRleHQsIFR1aUlkZW50aXR5TWF0Y2hlciwgVHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VuLCB0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aURhdGFMaXN0QWNjZXNzb3I8VCA9IHVua25vd24+IHtcbiAgICBnZXRPcHRpb25zKGluY2x1ZGVEaXNhYmxlZD86IGJvb2xlYW4pOiByZWFkb25seSBUW107XG59XG5cbi8vIFRPRE86IENvbnNpZGVyIHJlZmFjdG9yaW5nIGNoZWNrT3B0aW9uLCBpdCBpcyBvbmx5IG5lZWRlZCBpbiBDb21ib0JveFxuZXhwb3J0IGludGVyZmFjZSBUdWlEYXRhTGlzdEhvc3Q8VD4ge1xuICAgIGNoZWNrT3B0aW9uPyhvcHRpb246IFQpOiB2b2lkO1xuICAgIGhhbmRsZU9wdGlvbj8ob3B0aW9uOiBUKTogdm9pZDtcbiAgICByZWFkb25seSBpZGVudGl0eU1hdGNoZXI/OiBUdWlJZGVudGl0eU1hdGNoZXI8VD47XG4gICAgcmVhZG9ubHkgc3RyaW5naWZ5PzogVHVpU3RyaW5nSGFuZGxlcjxUPjtcbiAgICByZWFkb25seSBzaXplPzogVHVpU2l6ZUwgfCBUdWlTaXplUztcbn1cblxuLyoqXG4gKiBDb250ZW50IGZvciB0dWlPcHRpb24gY29tcG9uZW50XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfT1BUSU9OX0NPTlRFTlQgPVxuICAgIHR1aUNyZWF0ZVRva2VuPFxuICAgICAgICBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pj5cbiAgICA+KCk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc09wdGlvbkNvbnRlbnQoXG4gICAgdXNlVmFsdWU6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+Pixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgICAgIHVzZVZhbHVlLFxuICAgIH07XG59XG5cbi8qKlxuICogQWNjZXNzb3IgZm9yIGRhdGEtbGlzdCBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfREFUQV9MSVNUX0FDQ0VTU09SID0gdHVpQ3JlYXRlVG9rZW48VHVpRGF0YUxpc3RBY2Nlc3Nvcj4oKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFzRGF0YUxpc3RBY2Nlc3NvcihhY2Nlc3NvcjogVHlwZTxUdWlEYXRhTGlzdEFjY2Vzc29yPik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUVUlfREFUQV9MSVNUX0FDQ0VTU09SLCBhY2Nlc3Nvcik7XG59XG5cbi8qKlxuICogRGF0YUxpc3QgY29udHJvbGxlclxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEFfTElTVF9IT1NUID0gdHVpQ3JlYXRlVG9rZW48VHVpRGF0YUxpc3RIb3N0PHVua25vd24+PigpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNEYXRhTGlzdEhvc3Q8VD4oaG9zdDogVHlwZTxUdWlEYXRhTGlzdEhvc3Q8VD4+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlKFRVSV9EQVRBX0xJU1RfSE9TVCwgaG9zdCk7XG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LnRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBZ0I3RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsRUFBdUIsQ0FBQztBQUU1RSxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBbUM7SUFDckUsT0FBTyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxFQUE0QixDQUFDO0FBRTdFLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxJQUE4QjtJQUMvRCxPQUFPLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlJZGVudGl0eU1hdGNoZXIsIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlEYXRhTGlzdEFjY2Vzc29yPFQgPSB1bmtub3duPiB7XG4gICAgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQ/OiBib29sZWFuKTogcmVhZG9ubHkgVFtdO1xufVxuXG4vLyBUT0RPOiBDb25zaWRlciByZWZhY3RvcmluZyBjaGVja09wdGlvbiwgaXQgaXMgb25seSBuZWVkZWQgaW4gQ29tYm9Cb3hcbmV4cG9ydCBpbnRlcmZhY2UgVHVpRGF0YUxpc3RIb3N0PFQ+IHtcbiAgICBjaGVja09wdGlvbj8ob3B0aW9uOiBUKTogdm9pZDtcbiAgICBoYW5kbGVPcHRpb24/KG9wdGlvbjogVCk6IHZvaWQ7XG4gICAgcmVhZG9ubHkgaWRlbnRpdHlNYXRjaGVyPzogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+O1xuICAgIHJlYWRvbmx5IHN0cmluZ2lmeT86IFR1aVN0cmluZ0hhbmRsZXI8VD47XG4gICAgcmVhZG9ubHkgc2l6ZT86IFR1aVNpemVMIHwgVHVpU2l6ZVM7XG59XG5cbi8qKlxuICogQWNjZXNzb3IgZm9yIGRhdGEtbGlzdCBvcHRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfREFUQV9MSVNUX0FDQ0VTU09SID0gdHVpQ3JlYXRlVG9rZW48VHVpRGF0YUxpc3RBY2Nlc3Nvcj4oKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFzRGF0YUxpc3RBY2Nlc3NvcihhY2Nlc3NvcjogVHlwZTxUdWlEYXRhTGlzdEFjY2Vzc29yPik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUVUlfREFUQV9MSVNUX0FDQ0VTU09SLCBhY2Nlc3Nvcik7XG59XG5cbi8qKlxuICogRGF0YUxpc3QgY29udHJvbGxlclxuICovXG5leHBvcnQgY29uc3QgVFVJX0RBVEFfTElTVF9IT1NUID0gdHVpQ3JlYXRlVG9rZW48VHVpRGF0YUxpc3RIb3N0PHVua25vd24+PigpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNEYXRhTGlzdEhvc3Q8VD4oaG9zdDogVHlwZTxUdWlEYXRhTGlzdEhvc3Q8VD4+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlKFRVSV9EQVRBX0xJU1RfSE9TVCwgaG9zdCk7XG59XG4iXX0=
@@ -3,5 +3,7 @@ export * from './data-list.component';
3
3
  export * from './data-list.directive';
4
4
  export * from './data-list.tokens';
5
5
  export * from './opt-group.directive';
6
- export * from './option.component';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWxpc3QudG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0LWdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbi5jb21wb25lbnQnO1xuIl19
6
+ export * from './option/option.directive';
7
+ export * from './option/option-content';
8
+ export * from './option/option-legacy.component';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWxpc3QuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL29wdC1ncm91cC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24vb3B0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbi9vcHRpb24tY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbi9vcHRpb24tbGVnYWN5LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ /**
3
+ * Content for tuiOption component
4
+ */
5
+ export const TUI_OPTION_CONTENT = tuiCreateToken();
6
+ export function tuiAsOptionContent(useValue) {
7
+ return {
8
+ provide: TUI_OPTION_CONTENT,
9
+ useValue,
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWNvbnRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0L29wdGlvbi9vcHRpb24tY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHakU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLEVBRzdDLENBQUM7QUFFSixNQUFNLFVBQVUsa0JBQWtCLENBQzlCLFFBRWU7SUFFZixPQUFPO1FBQ0gsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixRQUFRO0tBQ1gsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbi8qKlxuICogQ29udGVudCBmb3IgdHVpT3B0aW9uIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgVFVJX09QVElPTl9DT05URU5UID0gdHVpQ3JlYXRlVG9rZW48XG4gICAgfCBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pj4gLy8gVE9ETyh2NSk6IGRlbGV0ZVxuICAgIHwgVHlwZTxhbnk+XG4+KCk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc09wdGlvbkNvbnRlbnQoXG4gICAgdXNlVmFsdWU6XG4gICAgICAgIHwgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4+IC8vIFRPRE8odjUpOiBkZWxldGVcbiAgICAgICAgfCBUeXBlPGFueT4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX09QVElPTl9DT05URU5ULFxuICAgICAgICB1c2VWYWx1ZSxcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, inject, Input, } from '@angular/core';
2
+ import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
3
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
+ import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
5
+ import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
6
+ import { TuiWithIcons } from '@taiga-ui/core/directives/icons';
7
+ import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
8
+ import { TuiDataListComponent } from '../data-list.component';
9
+ import { TUI_DATA_LIST_HOST } from '../data-list.tokens';
10
+ import { TUI_OPTION_CONTENT } from './option-content';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@taiga-ui/core/directives/icons";
13
+ /**
14
+ * TODO(v5): delete
15
+ * @deprecated use `<button tuiOption new />` / `<a tuiOption new /> / `<label tuiOption new /> instead
16
+ */
17
+ class TuiOption {
18
+ constructor() {
19
+ this.isMobile = inject(TUI_IS_MOBILE);
20
+ this.el = tuiInjectElement();
21
+ this.dataList = inject(forwardRef(() => TuiDataListComponent), { optional: true });
22
+ this.host = inject(TUI_DATA_LIST_HOST, {
23
+ optional: true,
24
+ });
25
+ this.content = inject(TUI_OPTION_CONTENT, { optional: true });
26
+ this.dropdown = inject(TuiDropdownDirective, {
27
+ self: true,
28
+ optional: true,
29
+ })?.ref;
30
+ this.disabled = false;
31
+ }
32
+ // Preventing focus loss upon focused option removal
33
+ ngOnDestroy() {
34
+ this.dataList?.handleFocusLossIfNecessary(this.el);
35
+ }
36
+ onClick() {
37
+ if (this.host?.handleOption && this.value !== undefined) {
38
+ this.host.handleOption(this.value);
39
+ }
40
+ }
41
+ onMouseMove() {
42
+ if (!this.isMobile &&
43
+ !tuiIsNativeFocused(this.el) &&
44
+ this.dataList &&
45
+ this.el.closest('[tuiDataListDropdownManager]')) {
46
+ this.el.focus({ preventScroll: true });
47
+ }
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiOption, isStandalone: true, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: { disabled: "disabled", value: "value" }, host: { attributes: { "type": "button", "role": "option" }, listeners: { "click": "onClick()", "mousemove.zoneless": "onMouseMove()" }, properties: { "attr.disabled": "disabled || null", "class._with-dropdown": "dropdown?.()" } }, hostDirectives: [{ directive: i1.TuiWithIcons }], ngImport: i0, template: `
51
+ <ng-container *polymorpheusOutlet="content || t as text; context: {$implicit: t}">
52
+ {{ text }}
53
+ </ng-container>
54
+ <ng-template #t>
55
+ <ng-content />
56
+ </ng-template>
57
+ `, isInline: true, dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
58
+ }
59
+ export { TuiOption };
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOption, decorators: [{
61
+ type: Component,
62
+ args: [{
63
+ standalone: true,
64
+ selector: 'button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])',
65
+ imports: [PolymorpheusOutlet],
66
+ template: `
67
+ <ng-container *polymorpheusOutlet="content || t as text; context: {$implicit: t}">
68
+ {{ text }}
69
+ </ng-container>
70
+ <ng-template #t>
71
+ <ng-content />
72
+ </ng-template>
73
+ `,
74
+ changeDetection: ChangeDetectionStrategy.OnPush,
75
+ hostDirectives: [TuiWithIcons],
76
+ host: {
77
+ type: 'button',
78
+ role: 'option',
79
+ '[attr.disabled]': 'disabled || null',
80
+ '[class._with-dropdown]': 'dropdown?.()',
81
+ '(click)': 'onClick()',
82
+ '(mousemove.zoneless)': 'onMouseMove()',
83
+ },
84
+ }]
85
+ }], propDecorators: { disabled: [{
86
+ type: Input
87
+ }], value: [{
88
+ type: Input
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWxlZ2FjeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0L29wdGlvbi9vcHRpb24tbGVnYWN5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFFcEQ7OztHQUdHO0FBQ0gsTUF3QmEsU0FBUztJQXhCdEI7UUF5QnFCLGFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakMsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQ3RDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUNuQixDQUFDO1FBRWUsU0FBSSxHQUFHLE1BQU0sQ0FBcUIsa0JBQWtCLEVBQUU7WUFDbkUsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRWdCLFlBQU8sR0FFdEIsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFFOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRTtZQUN2RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsRUFBRSxHQUFHLENBQUM7UUFHRCxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBMEIzQjtJQXJCRyxvREFBb0Q7SUFDN0MsV0FBVztRQUNkLElBQUksQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFUyxPQUFPO1FBQ2IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRVMsV0FBVztRQUNqQixJQUNJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDZCxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVE7WUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxFQUNqRDtZQUNFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDOytHQS9DUSxTQUFTO21HQUFULFNBQVMseWRBbkJSOzs7Ozs7O0tBT1QsNERBUlMsa0JBQWtCOztTQW9CbkIsU0FBUzs0RkFBVCxTQUFTO2tCQXhCckIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUNKLG9GQUFvRjtvQkFDeEYsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFFBQVEsRUFBRTs7Ozs7OztLQU9UO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzlCLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLHdCQUF3QixFQUFFLGNBQWM7d0JBQ3hDLFNBQVMsRUFBRSxXQUFXO3dCQUN0QixzQkFBc0IsRUFBRSxlQUFlO3FCQUMxQztpQkFDSjs4QkF1QlUsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpV2l0aEljb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2ljb25zJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlEYXRhTGlzdENvbXBvbmVudH0gZnJvbSAnLi4vZGF0YS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RIb3N0fSBmcm9tICcuLi9kYXRhLWxpc3QudG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEFfTElTVF9IT1NUfSBmcm9tICcuLi9kYXRhLWxpc3QudG9rZW5zJztcbmltcG9ydCB7VFVJX09QVElPTl9DT05URU5UfSBmcm9tICcuL29wdGlvbi1jb250ZW50JztcblxuLyoqXG4gKiBUT0RPKHY1KTogZGVsZXRlXG4gKiBAZGVwcmVjYXRlZCB1c2UgYDxidXR0b24gdHVpT3B0aW9uIG5ldyAvPmAgLyBgPGEgdHVpT3B0aW9uIG5ldyAvPiAvIGA8bGFiZWwgdHVpT3B0aW9uIG5ldyAvPiBpbnN0ZWFkXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdidXR0b25bdHVpT3B0aW9uXTpub3QoW25ld10pLCBhW3R1aU9wdGlvbl06bm90KFtuZXddKSwgbGFiZWxbdHVpT3B0aW9uXTpub3QoW25ld10pJyxcbiAgICBpbXBvcnRzOiBbUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IHx8IHQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogdH1cIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhJY29uc10sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgcm9sZTogJ29wdGlvbicsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgICAgICdbY2xhc3MuX3dpdGgtZHJvcGRvd25dJzogJ2Ryb3Bkb3duPy4oKScsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKScsXG4gICAgICAgICcobW91c2Vtb3ZlLnpvbmVsZXNzKSc6ICdvbk1vdXNlTW92ZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlPcHRpb248VCA9IHVua25vd24+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhTGlzdCA9IGluamVjdDxUdWlEYXRhTGlzdENvbXBvbmVudDxUPj4oXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gVHVpRGF0YUxpc3RDb21wb25lbnQpLFxuICAgICAgICB7b3B0aW9uYWw6IHRydWV9LFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3QgPSBpbmplY3Q8VHVpRGF0YUxpc3RIb3N0PFQ+PihUVUlfREFUQV9MSVNUX0hPU1QsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+XG4gICAgPiA9IGluamVjdChUVUlfT1BUSU9OX0NPTlRFTlQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7XG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pPy5yZWY7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWU/OiBUO1xuXG4gICAgLy8gUHJldmVudGluZyBmb2N1cyBsb3NzIHVwb24gZm9jdXNlZCBvcHRpb24gcmVtb3ZhbFxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhTGlzdD8uaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkodGhpcy5lbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvc3Q/LmhhbmRsZU9wdGlvbiAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdC5oYW5kbGVPcHRpb24odGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3VzZU1vdmUoKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLmlzTW9iaWxlICYmXG4gICAgICAgICAgICAhdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMuZWwpICYmXG4gICAgICAgICAgICB0aGlzLmRhdGFMaXN0ICYmXG4gICAgICAgICAgICB0aGlzLmVsLmNsb3Nlc3QoJ1t0dWlEYXRhTGlzdERyb3Bkb3duTWFuYWdlcl0nKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZWwuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { createComponent, Directive, EnvironmentInjector, forwardRef, inject, INJECTOR, Input, signal, ViewContainerRef, } from '@angular/core';
2
+ import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
3
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
+ import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
5
+ import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
6
+ import { TuiWithIcons } from '@taiga-ui/core/directives/icons';
7
+ import { TuiDataListComponent } from '../data-list.component';
8
+ import { TUI_OPTION_CONTENT } from './option-content';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@taiga-ui/core/directives/icons";
11
+ // TODO(v5): rename `TuiOptionNew` => `TuiOption` & remove [new] from selector
12
+ // TODO: Consider all use cases for aria roles
13
+ class TuiOptionNew {
14
+ constructor() {
15
+ this.vcr = inject(ViewContainerRef);
16
+ this.isMobile = inject(TUI_IS_MOBILE);
17
+ this.el = tuiInjectElement();
18
+ this.dataList = inject(forwardRef(() => TuiDataListComponent), { optional: true });
19
+ this.content = inject(TUI_OPTION_CONTENT, {
20
+ optional: true,
21
+ });
22
+ this.ref = this.content &&
23
+ createComponent(this.content, {
24
+ environmentInjector: inject(EnvironmentInjector),
25
+ elementInjector: inject(INJECTOR),
26
+ hostElement: tuiInjectElement(),
27
+ });
28
+ this.dropdown = inject(TuiDropdownDirective, {
29
+ self: true,
30
+ optional: true,
31
+ })?.ref;
32
+ this.disabled = false;
33
+ if (this.ref) {
34
+ this.vcr.insert(this.ref.hostView);
35
+ this.ref.changeDetectorRef.detectChanges();
36
+ }
37
+ }
38
+ // Preventing focus loss upon focused option removal
39
+ ngOnDestroy() {
40
+ this.dataList?.handleFocusLossIfNecessary(this.el);
41
+ }
42
+ onMouseMove() {
43
+ if (!this.isMobile &&
44
+ !tuiIsNativeFocused(this.el) &&
45
+ this.dataList &&
46
+ this.el.closest('[tuiDataListDropdownManager]')) {
47
+ this.el.focus({ preventScroll: true });
48
+ }
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionNew, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiOptionNew, isStandalone: true, selector: "button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]", inputs: { disabled: "disabled" }, host: { attributes: { "type": "button", "role": "option" }, listeners: { "mousemove.zoneless": "onMouseMove()" }, properties: { "attr.disabled": "disabled || null", "class._with-dropdown": "dropdown?.()" } }, hostDirectives: [{ directive: i1.TuiWithIcons }], ngImport: i0 }); }
52
+ }
53
+ export { TuiOptionNew };
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionNew, decorators: [{
55
+ type: Directive,
56
+ args: [{
57
+ standalone: true,
58
+ selector: 'button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]',
59
+ hostDirectives: [TuiWithIcons],
60
+ host: {
61
+ type: 'button',
62
+ role: 'option',
63
+ '[attr.disabled]': 'disabled || null',
64
+ '[class._with-dropdown]': 'dropdown?.()',
65
+ '(mousemove.zoneless)': 'onMouseMove()',
66
+ },
67
+ }]
68
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
69
+ type: Input
70
+ }] } });
71
+ // TODO(v5): remove [new] from selector
72
+ class TuiOptionWithValue {
73
+ constructor() {
74
+ this.disabled = false;
75
+ this.value = signal(undefined);
76
+ }
77
+ // TODO(v5): use `input.required<T>()` to remove `undefined` from `this.value()`
78
+ set valueSetter(x) {
79
+ this.value.set(x);
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionWithValue, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiOptionWithValue, isStandalone: true, selector: "button[tuiOption][value][new], a[tuiOption][value][new], label[tuiOption][value][new]", inputs: { disabled: "disabled", valueSetter: ["value", "valueSetter"] }, ngImport: i0 }); }
83
+ }
84
+ export { TuiOptionWithValue };
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionWithValue, decorators: [{
86
+ type: Directive,
87
+ args: [{
88
+ standalone: true,
89
+ selector: 'button[tuiOption][value][new], a[tuiOption][value][new], label[tuiOption][value][new]',
90
+ }]
91
+ }], propDecorators: { disabled: [{
92
+ type: Input
93
+ }], valueSetter: [{
94
+ type: Input,
95
+ args: [{ alias: 'value', required: true }]
96
+ }] } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3Qvb3B0aW9uL29wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEVBQ04sZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7OztBQUVwRCw4RUFBOEU7QUFDOUUsOENBQThDO0FBQzlDLE1BWWEsWUFBWTtJQTZCckI7UUE1QmlCLFFBQUcsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvQixhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxNQUFNLENBQzlCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUN0QyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FDbkIsQ0FBQztRQUVlLFlBQU8sR0FBRyxNQUFNLENBQW1CLGtCQUFrQixFQUFFO1lBQ3BFLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVjLFFBQUcsR0FDaEIsSUFBSSxDQUFDLE9BQU87WUFDWixlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDO2dCQUNoRCxlQUFlLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDakMsV0FBVyxFQUFFLGdCQUFnQixFQUFFO2FBQ2xDLENBQUMsQ0FBQztRQUVZLGFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUU7WUFDdkQsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLEVBQUUsR0FBRyxDQUFDO1FBR0QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdwQixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRUQsb0RBQW9EO0lBQzdDLFdBQVc7UUFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRVMsV0FBVztRQUNqQixJQUNJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDZCxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVE7WUFDYixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQyxFQUNqRDtZQUNFLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDOytHQWxEUSxZQUFZO21HQUFaLFlBQVk7O1NBQVosWUFBWTs0RkFBWixZQUFZO2tCQVp4QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0VBQWtFO29CQUM1RSxjQUFjLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzlCLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLHdCQUF3QixFQUFFLGNBQWM7d0JBQ3hDLHNCQUFzQixFQUFFLGVBQWU7cUJBQzFDO2lCQUNKOzBFQTRCVSxRQUFRO3NCQURkLEtBQUs7O0FBMkJWLHVDQUF1QztBQUN2QyxNQUthLGtCQUFrQjtJQUwvQjtRQU9XLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFUixVQUFLLEdBQUcsTUFBTSxDQUFnQixTQUFTLENBQUMsQ0FBQztLQU81RDtJQUxHLGdGQUFnRjtJQUNoRixJQUNXLFdBQVcsQ0FBQyxDQUFJO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7K0dBVlEsa0JBQWtCO21HQUFsQixrQkFBa0I7O1NBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUw5QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQ0osdUZBQXVGO2lCQUM5Rjs4QkFHVSxRQUFRO3NCQURkLEtBQUs7Z0JBT0ssV0FBVztzQkFEckIsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkRlc3Ryb3ksIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBjcmVhdGVDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSU5KRUNUT1IsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlXaXRoSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuXG5pbXBvcnQge1R1aURhdGFMaXN0Q29tcG9uZW50fSBmcm9tICcuLi9kYXRhLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX09QVElPTl9DT05URU5UfSBmcm9tICcuL29wdGlvbi1jb250ZW50JztcblxuLy8gVE9ETyh2NSk6IHJlbmFtZSBgVHVpT3B0aW9uTmV3YCA9PiBgVHVpT3B0aW9uYCAmIHJlbW92ZSBbbmV3XSBmcm9tIHNlbGVjdG9yXG4vLyBUT0RPOiBDb25zaWRlciBhbGwgdXNlIGNhc2VzIGZvciBhcmlhIHJvbGVzXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3R1aU9wdGlvbl1bbmV3XSwgYVt0dWlPcHRpb25dW25ld10sIGxhYmVsW3R1aU9wdGlvbl1bbmV3XScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoSWNvbnNdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWRyb3Bkb3duXSc6ICdkcm9wZG93bj8uKCknLFxuICAgICAgICAnKG1vdXNlbW92ZS56b25lbGVzcyknOiAnb25Nb3VzZU1vdmUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT3B0aW9uTmV3PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2Y3IgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YUxpc3QgPSBpbmplY3Q8VHVpRGF0YUxpc3RDb21wb25lbnQ8VD4+KFxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IFR1aURhdGFMaXN0Q29tcG9uZW50KSxcbiAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50ID0gaW5qZWN0PFR5cGU8YW55PiB8IG51bGw+KFRVSV9PUFRJT05fQ09OVEVOVCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmID1cbiAgICAgICAgdGhpcy5jb250ZW50ICYmXG4gICAgICAgIGNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbnRlbnQsIHtcbiAgICAgICAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKSxcbiAgICAgICAgICAgIGVsZW1lbnRJbmplY3RvcjogaW5qZWN0KElOSkVDVE9SKSxcbiAgICAgICAgICAgIGhvc3RFbGVtZW50OiB0dWlJbmplY3RFbGVtZW50KCksXG4gICAgICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7XG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pPy5yZWY7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy52Y3IuaW5zZXJ0KHRoaXMucmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIHRoaXMucmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnRpbmcgZm9jdXMgbG9zcyB1cG9uIGZvY3VzZWQgb3B0aW9uIHJlbW92YWxcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YUxpc3Q/LmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KHRoaXMuZWwpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vdXNlTW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuaXNNb2JpbGUgJiZcbiAgICAgICAgICAgICF0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgIHRoaXMuZGF0YUxpc3QgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuY2xvc2VzdCgnW3R1aURhdGFMaXN0RHJvcGRvd25NYW5hZ2VyXScpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5lbC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUT0RPKHY1KTogcmVtb3ZlIFtuZXddIGZyb20gc2VsZWN0b3JcbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdidXR0b25bdHVpT3B0aW9uXVt2YWx1ZV1bbmV3XSwgYVt0dWlPcHRpb25dW3ZhbHVlXVtuZXddLCBsYWJlbFt0dWlPcHRpb25dW3ZhbHVlXVtuZXddJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT3B0aW9uV2l0aFZhbHVlPFQgPSB1bmtub3duPiB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IHNpZ25hbDxUIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBgaW5wdXQucmVxdWlyZWQ8VD4oKWAgdG8gcmVtb3ZlIGB1bmRlZmluZWRgIGZyb20gYHRoaXMudmFsdWUoKWBcbiAgICBASW5wdXQoe2FsaWFzOiAndmFsdWUnLCByZXF1aXJlZDogdHJ1ZX0pXG4gICAgcHVibGljIHNldCB2YWx1ZVNldHRlcih4OiBUKSB7XG4gICAgICAgIHRoaXMudmFsdWUuc2V0KHgpO1xuICAgIH1cbn1cbiJdfQ==