@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.
- package/components/data-list/data-list.component.d.ts +2 -1
- package/components/data-list/data-list.d.ts +3 -2
- package/components/data-list/data-list.tokens.d.ts +2 -8
- package/components/data-list/index.d.ts +3 -1
- package/components/data-list/option/option-content.d.ts +8 -0
- package/components/data-list/{option.component.d.ts → option/option-legacy.component.d.ts} +5 -1
- package/components/data-list/option/option.directive.d.ts +25 -0
- package/components/dialog/dialog.component.d.ts +1 -1
- package/esm2022/components/data-list/data-list.component.mjs +16 -8
- package/esm2022/components/data-list/data-list.mjs +5 -2
- package/esm2022/components/data-list/data-list.tokens.mjs +1 -11
- package/esm2022/components/data-list/index.mjs +4 -2
- package/esm2022/components/data-list/option/option-content.mjs +12 -0
- package/esm2022/components/data-list/option/option-legacy.component.mjs +90 -0
- package/esm2022/components/data-list/option/option.directive.mjs +97 -0
- package/esm2022/components/dialog/dialog.component.mjs +4 -4
- package/esm2022/components/root/root.component.mjs +1 -1
- package/fesm2022/taiga-ui-core-components-data-list.mjs +117 -19
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +3 -3
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
- package/package.json +18 -18
- 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 {
|
|
5
|
-
|
|
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,
|
|
2
|
-
import type {
|
|
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.
|
|
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: "
|
|
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 {
|
|
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
|
|
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: "
|
|
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;
|
|
82
|
-
}], propDecorators: {
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUczQixPQUFPLEVBQUMsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBRTdDLE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBVSxDQUFDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztJQUVoRSxPQUFPLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNyRCxDQUFDO0FBRUQsK0VBQStFO0FBQy9FLE1Bc0JhLG9CQUFvQjtJQXRCakM7UUEwQnFCLFlBQU8sR0FBNEIsV0FBVyxDQUFDO1FBRy9DLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFNbEMsU0FBSSxHQUFHLHFCQUFxQixFQUFFLENBQUM7S0EwQ3pDO0lBeENVLGNBQWMsQ0FBQyxPQUFvQixFQUFFLElBQVk7UUFDcEQsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLElBQUksQ0FBQztRQUV4QixZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLDBCQUEwQixDQUFDLFVBQW1CLElBQUksQ0FBQyxFQUFFO1FBQ3hELElBQUksb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFRCwyREFBMkQ7SUFDcEQscUJBQXFCO1FBQ3hCLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDdEUsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLFVBQVUsQ0FBQyxlQUFlLEdBQUcsS0FBSztRQUNyQyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsTUFBTSxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQzthQUN2QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVTLFNBQVMsQ0FBQyxhQUEwQixFQUFFLGFBQTBCO1FBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxJQUFZLFFBQVE7UUFDaEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsaURBQWlELENBQUMsQ0FDOUUsQ0FBQztJQUNOLENBQUM7K0dBM0RRLG9CQUFvQjttR0FBcEIsb0JBQW9CLG9wQkFkbEIsQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLHFGQWlCdEIsU0FBUyxvRENoRS9DLHlNQVNBLDJ2SERpQ2MsSUFBSSw2RkFBRSxrQkFBa0I7O1NBbUJ6QixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkF0QmhDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsV0FDaEIsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxxQkFBcUIsc0JBQXNCLENBQUMsUUFDbEQ7d0JBQ0YsSUFBSSxFQUFFLFNBQVM7d0JBQ2Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsV0FBVyxFQUFFLHVEQUF1RDt3QkFDcEUscUJBQXFCLEVBQUUsS0FBSzt3QkFDNUIsMEJBQTBCLEVBQUUsOEJBQThCO3dCQUMxRCxjQUFjLEVBQUUsMkNBQTJDO3dCQUMzRCxlQUFlLEVBQUUsOEJBQThCO3dCQUMvQyxxQkFBcUIsRUFBRSw4QkFBOEI7d0JBQ3JELDZCQUE2QixFQUFFLGtDQUFrQzt3QkFDakUsMkJBQTJCLEVBQUUsbUNBQW1DO3FCQUNuRTs4QkFNZ0IsT0FBTztzQkFEdkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQVkxRCxZQUFZO3NCQURsQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtBZnRlckNvbnRlbnRDaGVja2VkLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVRha2VVbnRpbERlc3Ryb3llZCwgdHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZEluLCB0dWlNb3ZlRm9jdXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1RVSV9OT1RISU5HX0ZPVU5EX01FU1NBR0V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge3RpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJy4vZGF0YS1saXN0LnRva2Vucyc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgdHVpQXNEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICcuL2RhdGEtbGlzdC50b2tlbnMnO1xuaW1wb3J0IHtUdWlPcHRpb259IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbmplY3REYXRhTGlzdFNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgY29uc3Qgc2l6ZXMgPSBbJ3MnLCAnbScsICdsJ10gYXMgY29uc3Q7XG4gICAgY29uc3Qgc2l6ZSA9IGluamVjdChUVUlfREFUQV9MSVNUX0hPU1QsIHtvcHRpb25hbDogdHJ1ZX0pPy5zaXplO1xuXG4gICAgcmV0dXJuIHNpemUgJiYgc2l6ZXMuaW5jbHVkZXMoc2l6ZSkgPyBzaXplIDogJ2wnO1xufVxuXG4vLyBUT0RPOiBDb25zaWRlciBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZm9yIHByb3BlciBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdCcsXG4gICAgaW1wb3J0czogW05nSWYsIFBvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbGlzdC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNEYXRhTGlzdEFjY2Vzc29yKFR1aURhdGFMaXN0Q29tcG9uZW50KV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAnbGlzdGJveCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ29uRm9jdXNJbigkZXZlbnQucmVsYXRlZFRhcmdldCwgJGV2ZW50LmN1cnJlbnRUYXJnZXQpJyxcbiAgICAgICAgJyhtb3VzZWRvd24ucHJldmVudCknOiAnKDApJyxcbiAgICAgICAgJyh3aGVlbC56b25lbGVzcy5wYXNzaXZlKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgkZXZlbnQudGFyZ2V0KScsXG4gICAgICAgICcoa2V5ZG93bi50YWIpJzogJ2hhbmRsZUZvY3VzTG9zc0lmTmVjZXNzYXJ5KCknLFxuICAgICAgICAnKGtleWRvd24uc2hpZnQudGFiKSc6ICdoYW5kbGVGb2N1c0xvc3NJZk5lY2Vzc2FyeSgpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93RG93bi5wcmV2ZW50KSc6ICdvbktleURvd25BcnJvdygkZXZlbnQudGFyZ2V0LCAxKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ29uS2V5RG93bkFycm93KCRldmVudC50YXJnZXQsIC0xKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3RDb21wb25lbnQ8VD5cbiAgICBpbXBsZW1lbnRzIFR1aURhdGFMaXN0QWNjZXNzb3I8VD4sIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpT3B0aW9uKSwge2Rlc2NlbmRhbnRzOiB0cnVlfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFF1ZXJ5TGlzdDxUdWlPcHRpb248VD4+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 {
|
|
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,
|
|
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,
|
|
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.
|
|
7
|
-
|
|
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==
|