@taiga-ui/core 4.29.0 → 4.30.0-canary.4acc066

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 (38) 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 +26 -0
  8. package/components/dialog/dialog.component.d.ts +1 -1
  9. package/directives/dropdown/dropdown.directive.d.ts +1 -0
  10. package/esm2022/components/data-list/data-list.component.mjs +13 -5
  11. package/esm2022/components/data-list/data-list.mjs +5 -2
  12. package/esm2022/components/data-list/data-list.tokens.mjs +1 -11
  13. package/esm2022/components/data-list/index.mjs +4 -2
  14. package/esm2022/components/data-list/option/option-content.mjs +12 -0
  15. package/esm2022/components/data-list/option/option-legacy.component.mjs +90 -0
  16. package/esm2022/components/data-list/option/option.directive.mjs +103 -0
  17. package/esm2022/components/dialog/dialog.component.mjs +2 -2
  18. package/esm2022/components/root/root.component.mjs +2 -2
  19. package/esm2022/components/textfield/textfield.component.mjs +3 -3
  20. package/esm2022/directives/dropdown/dropdown.directive.mjs +9 -2
  21. package/esm2022/directives/title/title.directive.mjs +2 -2
  22. package/fesm2022/taiga-ui-core-components-data-list.mjs +120 -17
  23. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-dialog.mjs +1 -1
  25. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
  27. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-textfield.mjs +2 -2
  29. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +7 -0
  31. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-directives-title.mjs +2 -2
  33. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  34. package/package.json +4 -4
  35. package/styles/components/textfield.less +4 -4
  36. package/styles/components/title.less +11 -0
  37. package/styles/mixins/slider.less +1 -0
  38. 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,26 @@
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
+ private readonly host;
21
+ value?: T;
22
+ disabled: boolean;
23
+ protected onClick(): void;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiOptionWithValue<any>, never>;
25
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiOptionWithValue<any>, "button[tuiOption][value][new], a[tuiOption][value][new], label[tuiOption][value][new]", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
26
+ }
@@ -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
  } | {
@@ -11,6 +11,7 @@ export declare class TuiDropdownDirective implements AfterViewChecked, OnDestroy
11
11
  private readonly refresh$;
12
12
  private readonly service;
13
13
  private readonly cdr;
14
+ private readonly drivers;
14
15
  protected readonly sub: import("rxjs").Subscription;
15
16
  readonly el: HTMLElement;
16
17
  readonly type = "dropdown";
@@ -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,7 +50,10 @@ 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
58
  .map(({ value }) => value)
54
59
  .filter(tuiIsPresent);
@@ -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]>.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 }); }
66
71
  }
67
72
  export { TuiDataListComponent };
68
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDataListComponent, decorators: [{
@@ -79,12 +84,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
79
84
  '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',
80
85
  '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',
81
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]>.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: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUczQixPQUFPLEVBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBRTdDLE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBVSxDQUFDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztJQUVoRSxPQUFPLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNyRCxDQUFDO0FBRUQsK0VBQStFO0FBQy9FLE1Bc0JhLG9CQUFvQjtJQXRCakM7UUEwQnFCLFlBQU8sR0FBNEIsV0FBVyxDQUFDO1FBRy9DLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFNbEMsU0FBSSxHQUFHLHFCQUFxQixFQUFFLENBQUM7S0EwQ3pDO0lBeENVLGNBQWMsQ0FBQyxPQUFvQixFQUFFLElBQVk7UUFDcEQsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQztRQUV4QixZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLDBCQUEwQixDQUFDLFVBQW1CLElBQUksQ0FBQyxFQUFFO1FBQ3hELElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFRCwyREFBMkQ7SUFDcEQscUJBQXFCO1FBQ3hCLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdEUsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxlQUFlLEdBQUcsS0FBSztRQUNyQyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsTUFBTSxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzthQUN2QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLFNBQVMsQ0FBQyxhQUEwQixFQUFFLGFBQTBCO1FBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDaEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsaURBQWlELENBQUMsQ0FDOUUsQ0FBQztJQUNOLENBQUM7K0dBM0RRLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9wQkFkbEIsQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLHFGQWlCdEIsU0FBUyxvRENoRS9DLHlNQVNBLDJ2SERpQ2MsSUFBSSw2RkFBRSxrQkFBa0I7O1NBbUJ6QixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkF0QmhDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsV0FDaEIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxxQkFBcUIsc0JBQXNCLENBQUMsUUFDbEQ7d0JBQ0YsSUFBSSxFQUFFLFNBQVM7d0JBQ2Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsV0FBVyxFQUFFLHVEQUF1RDt3QkFDcEUscUJBQXFCLEVBQUUsS0FBSzt3QkFDNUIsMEJBQTBCLEVBQUUsOEJBQThCO3dCQUMxRCxjQUFjLEVBQUUsMkNBQTJDO3dCQUMzRCxlQUFlLEVBQUUsOEJBQThCO3dCQUMvQyxxQkFBcUIsRUFBRSw4QkFBOEI7d0JBQ3JELDZCQUE2QixFQUFFLGtDQUFrQzt3QkFDakUsMkJBQTJCLEVBQUUsbUNBQW1DO3FCQUNuRTs4QkFNZ0IsT0FBTztzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQVkxRCxZQUFZO3NCQURsQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtBZnRlckNvbnRlbnRDaGVja2VkLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVRha2VVbnRpbERlc3Ryb3llZCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZEluLCB0dWlNb3ZlRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3RpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgdHVpQXNEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUdWlPcHRpb259IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbmplY3REYXRhTGlzdFNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgY29uc3Qgc2l6ZXMgPSBbJ3MnLCAnbScsICdsJ10gYXMgY29uc3Q7XG4gICAgY29uc3Qgc2l6ZSA9IGluamVjdChUVUlfREFUQV9MSVNUX0hPU1QsIHtvcHRpb25hbDogdHJ1ZX0pPy5zaXplO1xuXG4gICAgcmV0dXJuIHNpemUgJiYgc2l6ZXMuaW5jbHVkZXMoc2l6ZSkgPyBzaXplIDogJ2wnO1xufVxuXG4vLyBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdCcsXG4gICAgaW1wb3J0czogW05nSWYsIFBvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbGlzdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNEYXRhTGlzdEFjY2Vzc29yKFR1aURhdGFMaXN0Q29tcG9uZW50KV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnbGlzdGJveCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ29uRm9jdXNJbigkZXZlbnQucmVsYXRlZFRhcmdldCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpJyxcbiAgICAgICAgJyhtb3VzZWRvd24ucHJldmVudCknOiAnKDApJyxcbiAgICAgICAgJyh3aGVlbC56b25lbGVzcy5wYXNzaXZlKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi50YWIpJzogJ2hhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KCknLFxuICAgICAgICAnKGtleWRvd24uc2hpZnQudGFiKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93RG93bi5wcmV2ZW50KSc6ICdvbktleURvd25BcnJvdygkZXZlbnQudGFyZ2V0LCAxKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ29uS2V5RG93bkFycm93KCRldmVudC50YXJnZXQsIC0xKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3RDb21wb25lbnQ8VD5cbiAgICBpbXBsZW1lbnRzIFR1aURhdGFMaXN0QWNjZXNzb3I8VD4sIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpT3B0aW9uKSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFF1ZXJ5TGlzdDxUdWlPcHRpb248VD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwcml2YXRlIG9yaWdpbj86IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmYWxsYmFjayA9IHRvU2lnbmFsKGluamVjdChUVUlfTk9USElOR19GT1VORF9NRVNTQUdFKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVtcHR5ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemUgPSB0dWlJbmplY3REYXRhTGlzdFNpemUoKTtcblxuICAgIHB1YmxpYyBvbktleURvd25BcnJvdyhjdXJyZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtlbGVtZW50c30gPSB0aGlzO1xuXG4gICAgICAgIHR1aU1vdmVGb2N1cyhlbGVtZW50cy5pbmRleE9mKGN1cnJlbnQpLCBlbGVtZW50cywgc3RlcCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KGVsZW1lbnQ6IEVsZW1lbnQgPSB0aGlzLmVsKTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWRJbihlbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4/LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byA6aGFzIGFmdGVyIFNhZmFyaSBzdXBwb3J0IGJ1bXBlZCB0byAxNVxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRpbWVyKDApXG4gICAgICAgICAgICAucGlwZSh0dWlab25lZnJlZSh0aGlzLm5nWm9uZSksIHR1aVRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbXB0eS5zZXQoIXRoaXMuZWxlbWVudHMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3B0aW9ucyhpbmNsdWRlRGlzYWJsZWQgPSBmYWxzZSk6IHJlYWRvbmx5IFRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoKHtkaXNhYmxlZH0pID0+IGluY2x1ZGVEaXNhYmxlZCB8fCAhZGlzYWJsZWQpXG4gICAgICAgICAgICAubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSlcbiAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c0luKHJlbGF0ZWRUYXJnZXQ6IEhUTUxFbGVtZW50LCBjdXJyZW50VGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIWN1cnJlbnRUYXJnZXQuY29udGFpbnMocmVsYXRlZFRhcmdldCkgJiYgIXRoaXMub3JpZ2luKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbiA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlbGVtZW50cygpOiByZWFkb25seSBIVE1MRWxlbWVudFtdIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbdHVpT3B0aW9uXSxidXR0b25bdHVpT3B0aW9uXSxsYWJlbFt0dWlPcHRpb25dJyksXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQgLz5cbjxkaXZcbiAgICAqbmdJZj1cImVtcHR5KClcIlxuICAgIGNsYXNzPVwidC1lbXB0eVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZW1wdHlDb250ZW50IHx8IGZhbGxiYWNrKCkgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUczQixPQUFPLEVBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxv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SUFBSSxFQUFDO2dCQVluRSxZQUFZO3NCQURsQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtBZnRlckNvbnRlbnRDaGVja2VkLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVRha2VVbnRpbERlc3Ryb3llZCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZEluLCB0dWlNb3ZlRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3RpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgdHVpQXNEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUdWlPcHRpb25XaXRoVmFsdWV9IGZyb20gJy4vb3B0aW9uL29wdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlPcHRpb259IGZyb20gJy4vb3B0aW9uL29wdGlvbi1sZWdhY3kuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUluamVjdERhdGFMaXN0U2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICBjb25zdCBzaXplcyA9IFsncycsICdtJywgJ2wnXSBhcyBjb25zdDtcbiAgICBjb25zdCBzaXplID0gaW5qZWN0KFRVSV9EQVRBX0xJU1RfSE9TVCwge29wdGlvbmFsOiB0cnVlfSk/LnNpemU7XG5cbiAgICByZXR1cm4gc2l6ZSAmJiBzaXplcy5pbmNsdWRlcyhzaXplKSA/IHNpemUgOiAnbCc7XG59XG5cbi8vIFRPRE86IENvbnNpZGVyIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBmb3IgcHJvcGVyIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50YXRpb25cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZGF0YS1saXN0JyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGEtbGlzdC5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0RhdGFMaXN0QWNjZXNzb3IoVHVpRGF0YUxpc3RDb21wb25lbnQpXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnb25Gb2N1c0luKCRldmVudC5yZWxhdGVkVGFyZ2V0LCAkZXZlbnQuY3VycmVudFRhcmdldCknLFxuICAgICAgICAnKG1vdXNlZG93bi5wcmV2ZW50KSc6ICcoMCknLFxuICAgICAgICAnKHdoZWVsLnpvbmVsZXNzLnBhc3NpdmUpJzogJ2hhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KCknLFxuICAgICAgICAnKG1vdXNlbGVhdmUpJzogJ2hhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KCRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhrZXlkb3duLnRhYiknOiAnaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoKScsXG4gICAgICAgICcoa2V5ZG93bi5zaGlmdC50YWIpJzogJ2hhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duLnByZXZlbnQpJzogJ29uS2V5RG93bkFycm93KCRldmVudC50YXJnZXQsIDEpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXAucHJldmVudCknOiAnb25LZXlEb3duQXJyb3coJGV2ZW50LnRhcmdldCwgLTEpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEYXRhTGlzdENvbXBvbmVudDxUPlxuICAgIGltcGxlbWVudHMgVHVpRGF0YUxpc3RBY2Nlc3NvcjxUPiwgQWZ0ZXJDb250ZW50Q2hlY2tlZFxue1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlPcHRpb24pLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWN5T3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbjxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlPcHRpb25XaXRoVmFsdWUpLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbldpdGhWYWx1ZTxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgb3JpZ2luPzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhbGxiYWNrID0gdG9TaWduYWwoaW5qZWN0KFRVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0UpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHkgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZSA9IHR1aUluamVjdERhdGFMaXN0U2l6ZSgpO1xuXG4gICAgcHVibGljIG9uS2V5RG93bkFycm93KGN1cnJlbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2VsZW1lbnRzfSA9IHRoaXM7XG5cbiAgICAgICAgdHVpTW92ZUZvY3VzKGVsZW1lbnRzLmluZGV4T2YoY3VycmVudCksIGVsZW1lbnRzLCBzdGVwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlRm9jdXNMb3NzSWZOZWNlc3NhcnkoZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzTmF0aXZlRm9jdXNlZEluKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWdpbj8uZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IFJlZmFjdG9yIHRvIDpoYXMgYWZ0ZXIgU2FmYXJpIHN1cHBvcnQgYnVtcGVkIHRvIDE1XG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGltZXIoMClcbiAgICAgICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKHRoaXMubmdab25lKSwgdHVpVGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVtcHR5LnNldCghdGhpcy5lbGVtZW50cy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcHRpb25zKGluY2x1ZGVEaXNhYmxlZCA9IGZhbHNlKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLnRoaXMubGVnYWN5T3B0aW9ucywgLy8gVE9ETyh2NSk6IGRlbGV0ZVxuICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICBdXG4gICAgICAgICAgICAuZmlsdGVyKCh7ZGlzYWJsZWR9KSA9PiBpbmNsdWRlRGlzYWJsZWQgfHwgIWRpc2FibGVkKVxuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gdmFsdWUpXG4gICAgICAgICAgICAuZmlsdGVyKHR1aUlzUHJlc2VudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNJbihyZWxhdGVkVGFyZ2V0OiBIVE1MRWxlbWVudCwgY3VycmVudFRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjdXJyZW50VGFyZ2V0LmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpICYmICF0aGlzLm9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW4gPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudHMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAgdGhpcy5lbC5xdWVyeVNlbGVjdG9yQWxsKCdhW3R1aU9wdGlvbl0sYnV0dG9uW3R1aU9wdGlvbl0sbGFiZWxbdHVpT3B0aW9uXScpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50IC8+XG48ZGl2XG4gICAgKm5nSWY9XCJlbXB0eSgpXCJcbiAgICBjbGFzcz1cInQtZW1wdHlcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImVtcHR5Q29udGVudCB8fCBmYWxsYmFjaygpIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -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,103 @@
1
+ import { createComponent, Directive, EnvironmentInjector, forwardRef, inject, INJECTOR, Input, 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_DATA_LIST_HOST } from '../data-list.tokens';
9
+ import { TUI_OPTION_CONTENT } from './option-content';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@taiga-ui/core/directives/icons";
12
+ // TODO(v5): rename `TuiOptionNew` => `TuiOption` & remove [new] from selector
13
+ // TODO: Consider all use cases for aria roles
14
+ class TuiOptionNew {
15
+ constructor() {
16
+ this.vcr = inject(ViewContainerRef);
17
+ this.isMobile = inject(TUI_IS_MOBILE);
18
+ this.el = tuiInjectElement();
19
+ this.dataList = inject(forwardRef(() => TuiDataListComponent), { optional: true });
20
+ this.content = inject(TUI_OPTION_CONTENT, {
21
+ optional: true,
22
+ });
23
+ this.ref = this.content &&
24
+ createComponent(this.content, {
25
+ environmentInjector: inject(EnvironmentInjector),
26
+ elementInjector: inject(INJECTOR),
27
+ hostElement: tuiInjectElement(),
28
+ });
29
+ this.dropdown = inject(TuiDropdownDirective, {
30
+ self: true,
31
+ optional: true,
32
+ })?.ref;
33
+ this.disabled = false;
34
+ if (this.ref) {
35
+ this.vcr.insert(this.ref.hostView);
36
+ this.ref.changeDetectorRef.detectChanges();
37
+ }
38
+ }
39
+ // Preventing focus loss upon focused option removal
40
+ ngOnDestroy() {
41
+ this.dataList?.handleFocusLossIfNecessary(this.el);
42
+ }
43
+ onMouseMove() {
44
+ if (!this.isMobile &&
45
+ !tuiIsNativeFocused(this.el) &&
46
+ this.dataList &&
47
+ this.el.closest('[tuiDataListDropdownManager]')) {
48
+ this.el.focus({ preventScroll: true });
49
+ }
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionNew, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ 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 }); }
53
+ }
54
+ export { TuiOptionNew };
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionNew, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ standalone: true,
59
+ selector: 'button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]',
60
+ hostDirectives: [TuiWithIcons],
61
+ host: {
62
+ type: 'button',
63
+ role: 'option',
64
+ '[attr.disabled]': 'disabled || null',
65
+ '[class._with-dropdown]': 'dropdown?.()',
66
+ '(mousemove.zoneless)': 'onMouseMove()',
67
+ },
68
+ }]
69
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
70
+ type: Input
71
+ }] } });
72
+ // TODO(v5): remove [new] from selector
73
+ class TuiOptionWithValue {
74
+ constructor() {
75
+ this.host = inject(TUI_DATA_LIST_HOST, {
76
+ optional: true,
77
+ });
78
+ this.disabled = false;
79
+ }
80
+ onClick() {
81
+ if (this.host?.handleOption && this.value !== undefined) {
82
+ this.host.handleOption(this.value);
83
+ }
84
+ }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionWithValue, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
+ 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: { value: "value", disabled: "disabled" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
87
+ }
88
+ export { TuiOptionWithValue };
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiOptionWithValue, decorators: [{
90
+ type: Directive,
91
+ args: [{
92
+ standalone: true,
93
+ selector: 'button[tuiOption][value][new], a[tuiOption][value][new], label[tuiOption][value][new]',
94
+ host: {
95
+ '(click)': 'onClick()',
96
+ },
97
+ }]
98
+ }], propDecorators: { value: [{
99
+ type: Input
100
+ }], disabled: [{
101
+ type: Input
102
+ }] } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3Qvb3B0aW9uL29wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGVBQWUsRUFDZixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRXBELDhFQUE4RTtBQUM5RSw4Q0FBOEM7QUFDOUMsTUFZYSxZQUFZO0lBNkJyQjtRQTVCaUIsUUFBRyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakMsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEVBQ3RDLEVBQUMsUUFBUSxFQUFF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bSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGNyZWF0ZUNvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBJbnB1dCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpV2l0aEljb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2ljb25zJztcblxuaW1wb3J0IHtUdWlEYXRhTGlzdENvbXBvbmVudH0gZnJvbSAnLi4vZGF0YS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RIb3N0fSBmcm9tICcuLi9kYXRhLWxpc3QudG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEFfTElTVF9IT1NUfSBmcm9tICcuLi9kYXRhLWxpc3QudG9rZW5zJztcbmltcG9ydCB7VFVJX09QVElPTl9DT05URU5UfSBmcm9tICcuL29wdGlvbi1jb250ZW50JztcblxuLy8gVE9ETyh2NSk6IHJlbmFtZSBgVHVpT3B0aW9uTmV3YCA9PiBgVHVpT3B0aW9uYCAmIHJlbW92ZSBbbmV3XSBmcm9tIHNlbGVjdG9yXG4vLyBUT0RPOiBDb25zaWRlciBhbGwgdXNlIGNhc2VzIGZvciBhcmlhIHJvbGVzXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnYnV0dG9uW3R1aU9wdGlvbl1bbmV3XSwgYVt0dWlPcHRpb25dW25ld10sIGxhYmVsW3R1aU9wdGlvbl1bbmV3XScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoSWNvbnNdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWRyb3Bkb3duXSc6ICdkcm9wZG93bj8uKCknLFxuICAgICAgICAnKG1vdXNlbW92ZS56b25lbGVzcyknOiAnb25Nb3VzZU1vdmUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT3B0aW9uTmV3PFQgPSB1bmtub3duPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2Y3IgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YUxpc3QgPSBpbmplY3Q8VHVpRGF0YUxpc3RDb21wb25lbnQ8VD4+KFxuICAgICAgICBmb3J3YXJkUmVmKCgpID0+IFR1aURhdGFMaXN0Q29tcG9uZW50KSxcbiAgICAgICAge29wdGlvbmFsOiB0cnVlfSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250ZW50ID0gaW5qZWN0PFR5cGU8YW55PiB8IG51bGw+KFRVSV9PUFRJT05fQ09OVEVOVCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmID1cbiAgICAgICAgdGhpcy5jb250ZW50ICYmXG4gICAgICAgIGNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbnRlbnQsIHtcbiAgICAgICAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKSxcbiAgICAgICAgICAgIGVsZW1lbnRJbmplY3RvcjogaW5qZWN0KElOSkVDVE9SKSxcbiAgICAgICAgICAgIGhvc3RFbGVtZW50OiB0dWlJbmplY3RFbGVtZW50KCksXG4gICAgICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7XG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pPy5yZWY7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy52Y3IuaW5zZXJ0KHRoaXMucmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIHRoaXMucmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnRpbmcgZm9jdXMgbG9zcyB1cG9uIGZvY3VzZWQgb3B0aW9uIHJlbW92YWxcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YUxpc3Q/LmhhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KHRoaXMuZWwpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk1vdXNlTW92ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuaXNNb2JpbGUgJiZcbiAgICAgICAgICAgICF0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbCkgJiZcbiAgICAgICAgICAgIHRoaXMuZGF0YUxpc3QgJiZcbiAgICAgICAgICAgIHRoaXMuZWwuY2xvc2VzdCgnW3R1aURhdGFMaXN0RHJvcGRvd25NYW5hZ2VyXScpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5lbC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUT0RPKHY1KTogcmVtb3ZlIFtuZXddIGZyb20gc2VsZWN0b3JcbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdidXR0b25bdHVpT3B0aW9uXVt2YWx1ZV1bbmV3XSwgYVt0dWlPcHRpb25dW3ZhbHVlXVtuZXddLCBsYWJlbFt0dWlPcHRpb25dW3ZhbHVlXVtuZXddJyxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpT3B0aW9uV2l0aFZhbHVlPFQgPSB1bmtub3duPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ID0gaW5qZWN0PFR1aURhdGFMaXN0SG9zdDxUPj4oVFVJX0RBVEFfTElTVF9IT1NULCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWU/OiBUO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3N0Py5oYW5kbGVPcHRpb24gJiYgdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuaGFuZGxlT3B0aW9uKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19