@taiga-ui/kit 4.68.0 → 4.70.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.
@@ -7,6 +7,7 @@ import * as i3 from "@taiga-ui/core/directives/icons";
7
7
  export declare class TuiBlock {
8
8
  protected readonly control?: NgControl;
9
9
  protected readonly nothing: undefined;
10
+ protected readonly options: import("./block.options").TuiBlockOptions;
10
11
  size: TuiSizeL | TuiSizeS | '';
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiBlock, never>;
12
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiBlock, "label[tuiBlock],input[tuiBlock]", never, { "size": { "alias": "tuiBlock"; "required": false; }; }, {}, ["control"], never, true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithAppearance; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithIcons; inputs: {}; outputs: {}; }]>;
@@ -1,8 +1,9 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class TuiElasticContainer {
3
- protected height: number;
4
- protected transitions: number;
5
- protected onAnimation(_name: string, count: number): void;
3
+ protected height: import("@angular/core").WritableSignal<string>;
4
+ protected transitions: import("@angular/core").WritableSignal<number>;
5
+ protected onAnimation(name: string, count: number): void;
6
+ protected updateHeight(height: number): void;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiElasticContainer, never>;
7
8
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiElasticContainer, "tui-elastic-container", never, {}, {}, never, ["*"], true, never>;
8
9
  }
@@ -17,7 +17,7 @@ export declare class TuiInputChipBaseDirective<T> extends TuiControl<T[]> implem
17
17
  unique: boolean;
18
18
  readonly el: HTMLInputElement;
19
19
  setValue(value: T[]): void;
20
- protected onEnter(): void;
20
+ protected onEnter(rawValue?: string): void;
21
21
  protected onInput(): void;
22
22
  protected onPaste(event: ClipboardEvent | DragEvent): void;
23
23
  protected onBackspace(key: string): void;
@@ -0,0 +1,22 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@taiga-ui/core/components/button";
3
+ export declare class TuiButtonCopyComponent {
4
+ private readonly el;
5
+ private readonly clipboard;
6
+ private readonly options;
7
+ private readonly copyTexts;
8
+ private readonly notification;
9
+ private readonly hint;
10
+ private readonly check;
11
+ protected readonly appearance: string | null | undefined;
12
+ protected readonly darkMode: import("@angular/core").WritableSignal<boolean> & {
13
+ reset(): void;
14
+ };
15
+ protected readonly copied: import("@angular/core").WritableSignal<boolean>;
16
+ protected readonly copiedText: import("@angular/core").Signal<string>;
17
+ protected readonly icon: import("@angular/core").Signal<string>;
18
+ tuiButtonCopy: string;
19
+ protected copy(target: HTMLElement): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiButtonCopyComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiButtonCopyComponent, "[tuiButtonCopy]", never, { "tuiButtonCopy": { "alias": "tuiButtonCopy"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.TuiButton; inputs: {}; outputs: {}; }]>;
22
+ }
@@ -1,3 +1,4 @@
1
+ import { TuiButtonCopyComponent } from './button-copy.component';
1
2
  import { TuiCopyComponent } from './copy.component';
2
3
  import { TuiCopyDirective } from './copy.directive';
3
- export declare const TuiCopy: readonly [typeof TuiCopyComponent, typeof TuiCopyDirective];
4
+ export declare const TuiCopy: readonly [typeof TuiCopyComponent, typeof TuiCopyDirective, typeof TuiButtonCopyComponent];
@@ -1,3 +1,4 @@
1
+ export * from './button-copy.component';
1
2
  export * from './copy';
2
3
  export * from './copy.component';
3
4
  export * from './copy.directive';
@@ -23,10 +23,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
23
23
  class TuiBlock {
24
24
  constructor() {
25
25
  this.nothing = tuiWithStyles(TuiBlockStyles);
26
- this.size = inject(TUI_BLOCK_OPTIONS).size;
26
+ this.options = inject(TUI_BLOCK_OPTIONS);
27
+ this.size = this.options.size;
27
28
  }
28
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBlock, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlock, isStandalone: true, selector: "label[tuiBlock],input[tuiBlock]", inputs: { size: ["tuiBlock", "size"] }, host: { attributes: { "tuiBlock": "" }, properties: { "attr.data-size": "size || \"l\"", "class._disabled": "!!this.control?.disabled" } }, providers: [
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlock, isStandalone: true, selector: "label[tuiBlock],input[tuiBlock]", inputs: { size: ["tuiBlock", "size"] }, host: { attributes: { "tuiBlock": "" }, properties: { "attr.data-size": "size || options.size || \"l\"", "class._disabled": "!!this.control?.disabled" } }, providers: [
30
31
  tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),
31
32
  tuiAvatarOptionsProvider({ size: 's' }),
32
33
  ], queries: [{ propertyName: "control", first: true, predicate: NgControl, descendants: true }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiWithAppearance }, { directive: i3.TuiWithIcons }], ngImport: i0 }); }
@@ -44,7 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
44
45
  hostDirectives: [TuiNativeValidator, TuiWithAppearance, TuiWithIcons],
45
46
  host: {
46
47
  tuiBlock: '',
47
- '[attr.data-size]': 'size || "l"',
48
+ '[attr.data-size]': 'size || options.size || "l"',
48
49
  '[class._disabled]': '!!this.control?.disabled',
49
50
  },
50
51
  }]
@@ -55,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
56
  type: Input,
56
57
  args: ['tuiBlock']
57
58
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYmxvY2svYmxvY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLGlCQUFpQixHQUNwQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFbEQsTUFVTSxjQUFjOytHQUFkLGNBQWM7bUdBQWQsY0FBYywrR0FSTixFQUFFOzs0RkFRVixjQUFjO2tCQVZuQixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7cUJBQ3JCOztBQUlMLE1BY2EsUUFBUTtJQWRyQjtRQWtCdUIsWUFBTyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUdwRCxTQUFJLEdBQTZCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQztLQUMxRTsrR0FSWSxRQUFRO21HQUFSLFFBQVEsa1FBWE47WUFDUCw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztTQUN4QywrREFTYSxTQUFTOztTQURkLFFBQVE7NEZBQVIsUUFBUTtrQkFkcEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsU0FBUyxFQUFFO3dCQUNQLDRCQUE0QixDQUFDLGlCQUFpQixDQUFDO3dCQUMvQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztxQkFDeEM7b0JBQ0QsY0FBYyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO29CQUNyRSxJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLEVBQUU7d0JBQ1osa0JBQWtCLEVBQUUsYUFBYTt3QkFDakMsbUJBQW1CLEVBQUUsMEJBQTBCO3FCQUNsRDtpQkFDSjs4QkFHc0IsT0FBTztzQkFEekIsWUFBWTt1QkFBQyxTQUFTO2dCQU1oQixJQUFJO3NCQURWLEtBQUs7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHt0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICB0dWlBcHBlYXJhbmNlT3B0aW9uc1Byb3ZpZGVyLFxuICAgIFR1aVdpdGhBcHBlYXJhbmNlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHtUdWlXaXRoSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVMLCB0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aUF2YXRhck9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2F2YXRhcic7XG5cbmltcG9ydCB7VFVJX0JMT0NLX09QVElPTlN9IGZyb20gJy4vYmxvY2sub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlczogWydAaW1wb3J0IFwiQHRhaWdhLXVpL2tpdC9zdHlsZXMvY29tcG9uZW50cy9ibG9jay5sZXNzXCI7J10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndHVpLWJsb2NrJyxcbiAgICB9LFxufSlcbmNsYXNzIFR1aUJsb2NrU3R5bGVzIHt9XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdsYWJlbFt0dWlCbG9ja10saW5wdXRbdHVpQmxvY2tdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXBwZWFyYW5jZU9wdGlvbnNQcm92aWRlcihUVUlfQkxPQ0tfT1BUSU9OUyksXG4gICAgICAgIHR1aUF2YXRhck9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ3MnfSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aU5hdGl2ZVZhbGlkYXRvciwgVHVpV2l0aEFwcGVhcmFuY2UsIFR1aVdpdGhJY29uc10sXG4gICAgaG9zdDoge1xuICAgICAgICB0dWlCbG9jazogJycsXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUgfHwgXCJsXCInLFxuICAgICAgICAnW2NsYXNzLl9kaXNhYmxlZF0nOiAnISF0aGlzLmNvbnRyb2w/LmRpc2FibGVkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlCbG9jayB7XG4gICAgQENvbnRlbnRDaGlsZChOZ0NvbnRyb2wpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2w/OiBOZ0NvbnRyb2w7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aGluZyA9IHR1aVdpdGhTdHlsZXMoVHVpQmxvY2tTdHlsZXMpO1xuXG4gICAgQElucHV0KCd0dWlCbG9jaycpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVMIHwgVHVpU2l6ZVMgfCAnJyA9IGluamVjdChUVUlfQkxPQ0tfT1BUSU9OUykuc2l6ZTtcbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYmxvY2svYmxvY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQ0gsNEJBQTRCLEVBQzVCLGlCQUFpQixHQUNwQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFbEQsTUFVTSxjQUFjOytHQUFkLGNBQWM7bUdBQWQsY0FBYywrR0FSTixFQUFFOzs0RkFRVixjQUFjO2tCQVZuQixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7cUJBQ3JCOztBQUlMLE1BY2EsUUFBUTtJQWRyQjtRQWtCdUIsWUFBTyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFHaEQsU0FBSSxHQUE2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztLQUM3RDsrR0FUWSxRQUFRO21HQUFSLFFBQVEsa1JBWE47WUFDUCw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztTQUN4QywrREFTYSxTQUFTOztTQURkLFFBQVE7NEZBQVIsUUFBUTtrQkFkcEIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsU0FBUyxFQUFFO3dCQUNQLDRCQUE0QixDQUFDLGlCQUFpQixDQUFDO3dCQUMvQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztxQkFDeEM7b0JBQ0QsY0FBYyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO29CQUNyRSxJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLEVBQUU7d0JBQ1osa0JBQWtCLEVBQUUsNkJBQTZCO3dCQUNqRCxtQkFBbUIsRUFBRSwwQkFBMEI7cUJBQ2xEO2lCQUNKOzhCQUdzQixPQUFPO3NCQUR6QixZQUFZO3VCQUFDLFNBQVM7Z0JBT2hCLElBQUk7c0JBRFYsS0FBSzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpTmF0aXZlVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbmF0aXZlLXZhbGlkYXRvcic7XG5pbXBvcnQge3R1aVdpdGhTdHlsZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIHR1aUFwcGVhcmFuY2VPcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpV2l0aEFwcGVhcmFuY2UsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge1R1aVdpdGhJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5pbXBvcnQge3R5cGUgVHVpU2l6ZUwsIHR5cGUgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHVpQXZhdGFyT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXZhdGFyJztcblxuaW1wb3J0IHtUVUlfQkxPQ0tfT1BUSU9OU30gZnJvbSAnLi9ibG9jay5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVzOiBbJ0BpbXBvcnQgXCJAdGFpZ2EtdWkva2l0L3N0eWxlcy9jb21wb25lbnRzL2Jsb2NrLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0dWktYmxvY2snLFxuICAgIH0sXG59KVxuY2xhc3MgVHVpQmxvY2tTdHlsZXMge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2xhYmVsW3R1aUJsb2NrXSxpbnB1dFt0dWlCbG9ja10nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBcHBlYXJhbmNlT3B0aW9uc1Byb3ZpZGVyKFRVSV9CTE9DS19PUFRJT05TKSxcbiAgICAgICAgdHVpQXZhdGFyT3B0aW9uc1Byb3ZpZGVyKHtzaXplOiAncyd9KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpTmF0aXZlVmFsaWRhdG9yLCBUdWlXaXRoQXBwZWFyYW5jZSwgVHVpV2l0aEljb25zXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUJsb2NrOiAnJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZSB8fCBvcHRpb25zLnNpemUgfHwgXCJsXCInLFxuICAgICAgICAnW2NsYXNzLl9kaXNhYmxlZF0nOiAnISF0aGlzLmNvbnRyb2w/LmRpc2FibGVkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlCbG9jayB7XG4gICAgQENvbnRlbnRDaGlsZChOZ0NvbnRyb2wpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2w/OiBOZ0NvbnRyb2w7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aGluZyA9IHR1aVdpdGhTdHlsZXMoVHVpQmxvY2tTdHlsZXMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9CTE9DS19PUFRJT05TKTtcblxuICAgIEBJbnB1dCgndHVpQmxvY2snKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplTCB8IFR1aVNpemVTIHwgJycgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcbn1cbiJdfQ==
@@ -1,28 +1,26 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { shouldCall } from '@taiga-ui/event-plugins';
1
+ import { ChangeDetectionStrategy, Component, signal } from '@angular/core';
2
+ import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
4
3
  import { TuiElasticContainerDirective } from './elastic-container.directive';
5
4
  import * as i0 from "@angular/core";
6
5
  class TuiElasticContainer {
7
6
  constructor() {
8
- this.height = NaN;
9
- this.transitions = 0;
7
+ this.height = signal('');
8
+ this.transitions = signal(0);
10
9
  }
11
- onAnimation(_name, count) {
12
- this.transitions += count;
10
+ onAnimation(name, count) {
11
+ if (name === 'height') {
12
+ this.transitions.update((value) => value + count);
13
+ }
14
+ }
15
+ updateHeight(height) {
16
+ this.height.set(tuiPx(height));
13
17
  }
14
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiElasticContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiElasticContainer, isStandalone: true, selector: "tui-elastic-container", host: { properties: { "style.height.px": "height", "class._transitioning": "transitions" } }, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"], dependencies: [{ kind: "directive", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiElasticContainer, isStandalone: true, selector: "tui-elastic-container", host: { properties: { "style.block-size": "transitions() ? \"auto\" : height()" } }, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n (transitioncancel)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"updateHeight($event)\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"], dependencies: [{ kind: "directive", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
20
  }
17
- __decorate([
18
- shouldCall((name) => name === 'height')
19
- ], TuiElasticContainer.prototype, "onAnimation", null);
20
21
  export { TuiElasticContainer };
21
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiElasticContainer, decorators: [{
22
23
  type: Component,
23
- args: [{ standalone: true, selector: 'tui-elastic-container', imports: [TuiElasticContainerDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
24
- '[style.height.px]': 'height',
25
- '[class._transitioning]': 'transitions',
26
- }, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"] }]
27
- }], propDecorators: { onAnimation: [] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQUUzRSxNQVlhLG1CQUFtQjtJQVpoQztRQWFjLFdBQU0sR0FBRyxHQUFHLENBQUM7UUFDYixnQkFBVyxHQUFHLENBQUMsQ0FBQztLQU03QjtJQUhhLFdBQVcsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUM5QyxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQztJQUM5QixDQUFDOytHQVBRLG1CQUFtQjttR0FBbkIsbUJBQW1CLCtLQ2pCaEMsMFZBU0EseVRERGMsNEJBQTRCOztBQWM1QjtJQURULFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztzREFHdkM7U0FQUSxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFaL0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sdUJBQXVCLFdBQ3hCLENBQUMsNEJBQTRCLENBQUMsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsbUJBQW1CLEVBQUUsUUFBUTt3QkFDN0Isd0JBQXdCLEVBQUUsYUFBYTtxQkFDMUM7OEJBT1MsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Nob3VsZENhbGx9IGZyb20gJ0B0YWlnYS11aS9ldmVudC1wbHVnaW5zJztcblxuaW1wb3J0IHtUdWlFbGFzdGljQ29udGFpbmVyRGlyZWN0aXZlfSBmcm9tICcuL2VsYXN0aWMtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZWxhc3RpYy1jb250YWluZXInLFxuICAgIGltcG9ydHM6IFtUdWlFbGFzdGljQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsYXN0aWMtY29udGFpbmVyLmNvbXBvbmVudC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLmhlaWdodC5weF0nOiAnaGVpZ2h0JyxcbiAgICAgICAgJ1tjbGFzcy5fdHJhbnNpdGlvbmluZ10nOiAndHJhbnNpdGlvbnMnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUVsYXN0aWNDb250YWluZXIge1xuICAgIHByb3RlY3RlZCBoZWlnaHQgPSBOYU47XG4gICAgcHJvdGVjdGVkIHRyYW5zaXRpb25zID0gMDtcblxuICAgIEBzaG91bGRDYWxsKChuYW1lKSA9PiBuYW1lID09PSAnaGVpZ2h0JylcbiAgICBwcm90ZWN0ZWQgb25BbmltYXRpb24oX25hbWU6IHN0cmluZywgY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zaXRpb25zICs9IGNvdW50O1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgKHRyYW5zaXRpb25jYW5jZWwuem9uZWxlc3MpPVwib25BbmltYXRpb24oJGFueSgkZXZlbnQpLnByb3BlcnR5TmFtZSwgLTEpXCJcbiAgICAodHJhbnNpdGlvbmVuZC56b25lbGVzcyk9XCJvbkFuaW1hdGlvbigkYW55KCRldmVudCkucHJvcGVydHlOYW1lLCAtMSlcIlxuICAgICh0cmFuc2l0aW9uc3RhcnQuem9uZWxlc3MpPVwib25BbmltYXRpb24oJGFueSgkZXZlbnQpLnByb3BlcnR5TmFtZSwgMSlcIlxuICAgICh0dWlFbGFzdGljQ29udGFpbmVyKT1cImhlaWdodCA9ICRldmVudFwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuIl19
24
+ args: [{ standalone: true, selector: 'tui-elastic-container', imports: [TuiElasticContainerDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: { '[style.block-size]': 'transitions() ? "auto" : height()' }, template: "<div\n class=\"t-wrapper\"\n (transitioncancel)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"updateHeight($event)\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"] }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXIvZWxhc3RpYy1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXhELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQUUzRSxNQVNhLG1CQUFtQjtJQVRoQztRQVVjLFdBQU0sR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FXckM7SUFUYSxXQUFXLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDN0MsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDckQ7SUFDTCxDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQWM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FaUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixzS0NkaEMsb1VBU0EsMFFERGMsNEJBQTRCOztTQU03QixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFUL0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sdUJBQXVCLFdBQ3hCLENBQUMsNEJBQTRCLENBQUMsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBQyxvQkFBb0IsRUFBRSxtQ0FBbUMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7VHVpRWxhc3RpY0NvbnRhaW5lckRpcmVjdGl2ZX0gZnJvbSAnLi9lbGFzdGljLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWVsYXN0aWMtY29udGFpbmVyJyxcbiAgICBpbXBvcnRzOiBbVHVpRWxhc3RpY0NvbnRhaW5lckRpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsYXN0aWMtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbGFzdGljLWNvbnRhaW5lci5jb21wb25lbnQubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsnW3N0eWxlLmJsb2NrLXNpemVdJzogJ3RyYW5zaXRpb25zKCkgPyBcImF1dG9cIiA6IGhlaWdodCgpJ30sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUVsYXN0aWNDb250YWluZXIge1xuICAgIHByb3RlY3RlZCBoZWlnaHQgPSBzaWduYWwoJycpO1xuICAgIHByb3RlY3RlZCB0cmFuc2l0aW9ucyA9IHNpZ25hbCgwKTtcblxuICAgIHByb3RlY3RlZCBvbkFuaW1hdGlvbihuYW1lOiBzdHJpbmcsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKG5hbWUgPT09ICdoZWlnaHQnKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25zLnVwZGF0ZSgodmFsdWUpID0+IHZhbHVlICsgY291bnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUhlaWdodChoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmhlaWdodC5zZXQodHVpUHgoaGVpZ2h0KSk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICAodHJhbnNpdGlvbmNhbmNlbCk9XCJvbkFuaW1hdGlvbigkYW55KCRldmVudCkucHJvcGVydHlOYW1lLCAtMSlcIlxuICAgICh0cmFuc2l0aW9uZW5kKT1cIm9uQW5pbWF0aW9uKCRhbnkoJGV2ZW50KS5wcm9wZXJ0eU5hbWUsIC0xKVwiXG4gICAgKHRyYW5zaXRpb25zdGFydCk9XCJvbkFuaW1hdGlvbigkYW55KCRldmVudCkucHJvcGVydHlOYW1lLCAxKVwiXG4gICAgKHR1aUVsYXN0aWNDb250YWluZXIpPVwidXBkYXRlSGVpZ2h0KCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbiJdfQ==
@@ -39,12 +39,14 @@ class TuiInputChipBaseDirective extends TuiControl {
39
39
  this.textfield.value.set('');
40
40
  this.onChange(this.unique ? Array.from(new Set(value.reverse())).reverse() : value);
41
41
  }
42
- onEnter() {
43
- const value = this.textfield.value().trim();
42
+ onEnter(rawValue = this.textfield.value()) {
43
+ const value = rawValue.trim();
44
44
  const items = this.separator ? value.split(this.separator) : [value];
45
45
  const valid = items
46
- .map(tuiSanitizeText)
47
- .filter((item) => item && !this.handlers.disabledItemHandler()(item));
46
+ .map((item) => tuiSanitizeText(item))
47
+ .filter((item) => item &&
48
+ !this.handlers.disabledItemHandler()(item) &&
49
+ this.handlers.stringify()(item));
48
50
  if (!value || !valid.length) {
49
51
  return;
50
52
  }
@@ -67,7 +69,7 @@ class TuiInputChipBaseDirective extends TuiControl {
67
69
  if (this.textfield.input?.nativeElement) {
68
70
  this.textfield.input.nativeElement.value = value;
69
71
  }
70
- this.onEnter();
72
+ this.onEnter(value);
71
73
  }
72
74
  onBackspace(key) {
73
75
  // (keydown.backspace) doesn't emit event on empty input in ios safari
@@ -144,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
144
146
  ],
145
147
  }]
146
148
  }] });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixHQUM3QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsa0JBQWtCLEdBRXJCLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUU1RCx1REFBdUQ7QUFDdkQsTUFZYSx5QkFDVCxTQUFRLFVBQWU7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LHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLHNCQUFzQix1QkFBdUI7cUJBQ2hEO29CQUNELGNBQWMsRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQzt5QkFDdEQ7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFLCB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0Q2xpcGJvYXJkRGF0YVRleHQsIHR1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZywgdHVpU2FuaXRpemVUZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yLFxuICAgIHR5cGUgVHVpVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgVHVpVGV4dGZpZWxkQmFzZSxcbiAgICBUdWlUZXh0ZmllbGRNdWx0aUNvbXBvbmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7XG4gICAgVFVJX0lURU1TX0hBTkRMRVJTLFxuICAgIHR5cGUgVHVpSXRlbXNIYW5kbGVycyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0NISVBfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1jaGlwLm9wdGlvbnMnO1xuXG4vLyBUT0RPKHY1KTogcmVtb3ZlIGJhc2UgY29tcG9uZW50IGFmdGVyIGFuZ3VsYXIgdXBkYXRlXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgZW50ZXJrZXloaW50OiAnZW50ZXInLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyLnByZXZlbnQpJzogJ29uRW50ZXIoKScsXG4gICAgICAgICcoa2V5ZG93bi56b25lbGVzcyknOiAnb25CYWNrc3BhY2UoJGV2ZW50LmtleSknLFxuICAgICAgICAnKGlucHV0KSc6ICdvbklucHV0KCknLFxuICAgICAgICAnKHBhc3RlLnByZXZlbnQpJzogJ29uUGFzdGUoJGV2ZW50KScsXG4gICAgICAgICcoZHJvcC5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VFtdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8VFtdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfQ0hJUF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChUdWlBY3RpdmVab25lKVxuICAgICAgICAudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChhY3RpdmUpID0+ICFhY3RpdmUgJiYgIXRoaXMuZWwubWF0Y2hlcygnc2VsZWN0JykpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VwYXJhdG9yID0gdGhpcy5vcHRpb25zLnNlcGFyYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuaXF1ZSA9IHRoaXMub3B0aW9ucy51bmlxdWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdGhpcy51bmlxdWUgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUucmV2ZXJzZSgpKSkucmV2ZXJzZSgpIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZXBhcmF0b3IgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcikgOiBbdmFsdWVdO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkID0gaXRlbXNcbiAgICAgICAgICAgIC5tYXAodHVpU2FuaXRpemVUZXh0KVxuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSBhcyBUKSxcbiAgICAgICAgICAgICkgYXMgVFtdO1xuXG4gICAgICAgIGlmICghdmFsdWUgfHwgIXZhbGlkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRWYWx1ZShbLi4udGhpcy52YWx1ZSgpLCAuLi52YWxpZF0pO1xuICAgICAgICB0aGlzLnNjcm9sbFRvKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoISF0aGlzLmRyb3Bkb3duLmNvbnRlbnQpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlcGFyYXRvciAmJiB0aGlzLnRleHRmaWVsZC52YWx1ZSgpLm1hdGNoKHRoaXMuc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgdGhpcy5vbkVudGVyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbFRvKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQgfCBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPVxuICAgICAgICAgICAgJ2RhdGFUcmFuc2ZlcicgaW4gZXZlbnRcbiAgICAgICAgICAgICAgICA/IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIHx8ICcnXG4gICAgICAgICAgICAgICAgOiB0dWlHZXRDbGlwYm9hcmREYXRhVGV4dChldmVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGV4dGZpZWxkLmlucHV0Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoa2V5ID09PSAnQmFja3NwYWNlJyAmJiAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJiB0aGlzLmludGVyYWN0aXZlKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vYmlsZSB8fCAhdGhpcy50ZXh0ZmllbGQuaXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSgpLnNsaWNlKDAsIC0xKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAgICAgbmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdBcnJvd0xlZnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dENoaXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q2hpcERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcihbXSksXG4gICAgICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU5hdGl2ZVZhbGlkYXRvcixcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlUZXh0ZmllbGRCYXNlLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2ludmFsaWQnLCAnZm9jdXNlZCcsICdyZWFkT25seScsICdzdGF0ZSddLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcERpcmVjdGl2ZTxUPiBleHRlbmRzIFR1aUlucHV0Q2hpcEJhc2VEaXJlY3RpdmU8VD4ge31cbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixHQUM3QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQ0gsa0JBQWtCLEdBRXJCLE1BQU0sMENBQTBDLENBQUM7QUFDbEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU1QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUU1RCx1REFBdUQ7QUFDdkQsTUFZYSx5QkFDVCxTQUFRLFVBQWU7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QUM7WUFDNUIsc0JBQXNCLENBQUMscUJBQXFCLENBQUM7U0FDaEQ7O1NBU1EscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBaEJqQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1AsWUFBWSx1QkFBdUI7d0JBQ25DLHdCQUF3QixDQUFDLEVBQUUsQ0FBQzt3QkFDNUIsc0JBQXNCLHVCQUF1QjtxQkFDaEQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEI7NEJBQ0ksU0FBUyxFQUFFLGdCQUFnQjs0QkFDM0IsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDO3lCQUN0RDtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7VHVpTmF0aXZlVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbmF0aXZlLXZhbGlkYXRvcic7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aUZhbGxiYWNrVmFsdWVQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRDbGlwYm9hcmREYXRhVGV4dCwgdHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nLCB0dWlTYW5pdGl6ZVRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgdHlwZSBUdWlUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICBUdWlUZXh0ZmllbGRCYXNlLFxuICAgIFR1aVRleHRmaWVsZE11bHRpQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtcbiAgICBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgdHlwZSBUdWlJdGVtc0hhbmRsZXJzLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfQ0hJUF9PUFRJT05TfSBmcm9tICcuL2lucHV0LWNoaXAub3B0aW9ucyc7XG5cbi8vIFRPRE8odjUpOiByZW1vdmUgYmFzZSBjb21wb25lbnQgYWZ0ZXIgYW5ndWxhciB1cGRhdGVcbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICBlbnRlcmtleWhpbnQ6ICdlbnRlcicsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGtleWRvd24uZW50ZXIucHJldmVudCknOiAnb25FbnRlcigpJyxcbiAgICAgICAgJyhrZXlkb3duLnpvbmVsZXNzKSc6ICdvbkJhY2tzcGFjZSgkZXZlbnQua2V5KScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uSW5wdXQoKScsXG4gICAgICAgICcocGFzdGUucHJldmVudCknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICAgICAgJyhkcm9wLnByZXZlbnQpJzogJ29uUGFzdGUoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDaGlwQmFzZURpcmVjdGl2ZTxUPlxuICAgIGV4dGVuZHMgVHVpQ29udHJvbDxUW10+XG4gICAgaW1wbGVtZW50cyBUdWlUZXh0ZmllbGRBY2Nlc3NvcjxUW10+XG57XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9DSElQX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGRNdWx0aUNvbXBvbmVudCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4gPSBpbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW5hYmxlZCA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICAgICAgJ3R1aURyb3Bkb3duRW5hYmxlZCcsXG4gICAgICAgIHRoaXMuaW50ZXJhY3RpdmUsXG4gICAgICAgIHt9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3ViID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUpXG4gICAgICAgIC50dWlBY3RpdmVab25lQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGFjdGl2ZSkgPT4gIWFjdGl2ZSAmJiAhdGhpcy5lbC5tYXRjaGVzKCdzZWxlY3QnKSksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25FbnRlcigpO1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KCcnKTtcbiAgICAgICAgfSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXBhcmF0b3IgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdW5pcXVlID0gdGhpcy5vcHRpb25zLnVuaXF1ZTtcblxuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UoXG4gICAgICAgICAgICB0aGlzLnVuaXF1ZSA/IEFycmF5LmZyb20obmV3IFNldCh2YWx1ZS5yZXZlcnNlKCkpKS5yZXZlcnNlKCkgOiB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25FbnRlcihyYXdWYWx1ZSA9IHRoaXMudGV4dGZpZWxkLnZhbHVlKCkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSByYXdWYWx1ZS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZXBhcmF0b3IgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcikgOiBbdmFsdWVdO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkID0gaXRlbXNcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IHR1aVNhbml0aXplVGV4dChpdGVtKSBhcyBUKVxuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgaXRlbSAmJlxuICAgICAgICAgICAgICAgICAgICAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVycy5zdHJpbmdpZnkoKShpdGVtKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKFsuLi50aGlzLnZhbHVlKCksIC4uLnZhbGlkXSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghIXRoaXMuZHJvcGRvd24uY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VwYXJhdG9yICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkubWF0Y2godGhpcy5zZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCB8IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAnZGF0YVRyYW5zZmVyJyBpbiBldmVudFxuICAgICAgICAgICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgICAgICAgICA6IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy50ZXh0ZmllbGQuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25FbnRlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQmFja3NwYWNlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIChrZXlkb3duLmJhY2tzcGFjZSkgZG9lc24ndCBlbWl0IGV2ZW50IG9uIGVtcHR5IGlucHV0IGluIGlvcyBzYWZhcmlcbiAgICAgICAgaWYgKGtleSA9PT0gJ0JhY2tzcGFjZScgJiYgIXRoaXMudGV4dGZpZWxkLnZhbHVlKCkgJiYgdGhpcy5pbnRlcmFjdGl2ZSgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tb2JpbGUgfHwgIXRoaXMudGV4dGZpZWxkLml0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKS5zbGljZSgwLCAtMSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIG5ldyBLZXlib2FyZEV2ZW50KCdrZXlkb3duJywge1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnQXJyb3dMZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2Nyb2xsVG8oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNpZ24gPSB0aGlzLnRleHRmaWVsZC5lbC5tYXRjaGVzKCdbZGlyPVwicnRsXCJdIDpzY29wZScpID8gLTEgOiAxO1xuXG4gICAgICAgIC8vIEFsbG93IGNoYW5nZSBkZXRlY3Rpb24gdG8gcnVuIGFuZCBhZGQgbmV3IHRhZyB0byBET01cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC5lbC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgbGVmdDogc2lnbiAqIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgICAgIHRvcDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRDaGlwXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENoaXBEaXJlY3RpdmUpLFxuICAgICAgICB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoW10pLFxuICAgICAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yKFR1aUlucHV0Q2hpcERpcmVjdGl2ZSksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlOYXRpdmVWYWxpZGF0b3IsXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpVGV4dGZpZWxkQmFzZSxcbiAgICAgICAgICAgIGlucHV0czogWydpbnZhbGlkJywgJ2ZvY3VzZWQnLCAncmVhZE9ubHknLCAnc3RhdGUnXSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENoaXBEaXJlY3RpdmU8VD4gZXh0ZW5kcyBUdWlJbnB1dENoaXBCYXNlRGlyZWN0aXZlPFQ+IHt9XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { Clipboard } from '@angular/cdk/clipboard';
2
+ import { ChangeDetectionStrategy, Component, computed, inject, Input, signal, ViewEncapsulation, } from '@angular/core';
3
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
+ import { tuiDirectiveBinding, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { TuiButton, tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
6
+ import { TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/components/notification';
7
+ import { TuiHintDirective } from '@taiga-ui/core/directives/hint';
8
+ import { TUI_DARK_MODE } from '@taiga-ui/core/tokens';
9
+ import { TuiIcons } from '@taiga-ui/core/directives/icons';
10
+ import { TUI_COPY_TEXTS } from '@taiga-ui/kit/tokens';
11
+ import { toSignal } from '@angular/core/rxjs-interop';
12
+ import { NgIf } from '@angular/common';
13
+ import { TUI_COPY_OPTIONS } from './copy.options';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@taiga-ui/core/components/button";
16
+ class TuiButtonCopyComponent {
17
+ constructor() {
18
+ this.el = tuiInjectElement();
19
+ this.clipboard = inject(Clipboard);
20
+ this.options = inject(TUI_COPY_OPTIONS);
21
+ this.copyTexts = toSignal(inject(TUI_COPY_TEXTS));
22
+ this.notification = inject(TUI_NOTIFICATION_OPTIONS);
23
+ this.hint = inject(TuiHintDirective);
24
+ this.check = tuiIsString(this.notification.icon)
25
+ ? this.notification.icon
26
+ : this.notification.icon('positive');
27
+ this.appearance = this.hint.appearance ||
28
+ this.hint.el.closest('[tuiTheme]')?.getAttribute('tuiTheme');
29
+ this.darkMode = inject(TUI_DARK_MODE);
30
+ this.copied = signal(false);
31
+ this.copiedText = computed(() => this.copyTexts()?.[1] ?? '');
32
+ this.icon = tuiDirectiveBinding(TuiIcons, 'iconStart', computed(() => {
33
+ if (this.copied()) {
34
+ return this.check;
35
+ }
36
+ return typeof this.options.icon === 'string'
37
+ ? this.options.icon
38
+ : this.options.icon('s');
39
+ }));
40
+ this.tuiButtonCopy = '';
41
+ }
42
+ copy(target) {
43
+ const copied = this.el === target;
44
+ if (copied) {
45
+ this.clipboard.copy(this.tuiButtonCopy);
46
+ }
47
+ this.copied.set(copied);
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonCopyComponent, isStandalone: true, selector: "[tuiButtonCopy]", inputs: { tuiButtonCopy: "tuiButtonCopy" }, host: { attributes: { "tuiButton": "", "type": "button" }, listeners: { "document:click.capture": "copy($event.target)" }, properties: { "attr.tuiTheme": "appearance === \"dark\" ? \"light\" : darkMode() ? \"light\" : \"dark\"" } }, providers: [tuiButtonOptionsProvider({ appearance: 'flat-grayscale', size: 's' })], hostDirectives: [{ directive: i1.TuiButton }], ngImport: i0, template: `
51
+ <ng-container *ngIf="copied(); else notCopied">
52
+ {{ copiedText() }}
53
+ </ng-container>
54
+ <ng-template #notCopied>
55
+ <ng-content />
56
+ </ng-template>
57
+ `, isInline: true, styles: ["tui-hint:has([tuiButtonCopy]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
+ }
59
+ export { TuiButtonCopyComponent };
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonCopyComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ standalone: true, selector: '[tuiButtonCopy]', imports: [NgIf], template: `
63
+ <ng-container *ngIf="copied(); else notCopied">
64
+ {{ copiedText() }}
65
+ </ng-container>
66
+ <ng-template #notCopied>
67
+ <ng-content />
68
+ </ng-template>
69
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ appearance: 'flat-grayscale', size: 's' })], hostDirectives: [TuiButton], host: {
70
+ tuiButton: '',
71
+ type: 'button',
72
+ '[attr.tuiTheme]': 'appearance === "dark" ? "light" : darkMode() ? "light" : "dark"',
73
+ '(document:click.capture)': 'copy($event.target)',
74
+ }, styles: ["tui-hint:has([tuiButtonCopy]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"] }]
75
+ }], propDecorators: { tuiButtonCopy: [{
76
+ type: Input
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWNvcHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvY29weS9idXR0b24tY29weS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFFaEQsTUF5QmEsc0JBQXNCO0lBekJuQztRQTBCcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFH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Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmcsIHR1aUlzU3RyaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b24sIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUVUlfTk9USUZJQ0FUSU9OX09QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7VHVpSGludERpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB7VFVJX0RBUktfTU9ERX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1RVSV9DT1BZX09QVElPTlN9IGZyb20gJy4vY29weS5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlCdXR0b25Db3B5XScsXG4gICAgaW1wb3J0czogW05nSWZdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb3BpZWQoKTsgZWxzZSBub3RDb3BpZWRcIj5cbiAgICAgICAgICAgIHt7IGNvcGllZFRleHQoKSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNub3RDb3BpZWQ+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWNvcHkuc3R5bGVzLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcih7YXBwZWFyYW5jZTogJ2ZsYXQtZ3JheXNjYWxlJywgc2l6ZTogJ3MnfSldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpQnV0dG9uXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUJ1dHRvbjogJycsXG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAnW2F0dHIudHVpVGhlbWVdJzpcbiAgICAgICAgICAgICdhcHBlYXJhbmNlID09PSBcImRhcmtcIiA/IFwibGlnaHRcIiA6IGRhcmtNb2RlKCkgPyBcImxpZ2h0XCIgOiBcImRhcmtcIicsXG4gICAgICAgICcoZG9jdW1lbnQ6Y2xpY2suY2FwdHVyZSknOiAnY29weSgkZXZlbnQudGFyZ2V0KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQnV0dG9uQ29weUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNsaXBib2FyZCA9IGluamVjdChDbGlwYm9hcmQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfQ09QWV9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyA9IHRvU2lnbmFsKGluamVjdChUVUlfQ09QWV9URVhUUykpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uID0gaW5qZWN0KFRVSV9OT1RJRklDQVRJT05fT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBoaW50ID0gaW5qZWN0KFR1aUhpbnREaXJlY3RpdmUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVjayA9IHR1aUlzU3RyaW5nKHRoaXMubm90aWZpY2F0aW9uLmljb24pXG4gICAgICAgID8gdGhpcy5ub3RpZmljYXRpb24uaWNvblxuICAgICAgICA6IHRoaXMubm90aWZpY2F0aW9uLmljb24oJ3Bvc2l0aXZlJyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwZWFyYW5jZSA9XG4gICAgICAgIHRoaXMuaGludC5hcHBlYXJhbmNlIHx8XG4gICAgICAgIHRoaXMuaGludC5lbC5jbG9zZXN0KCdbdHVpVGhlbWVdJyk/LmdldEF0dHJpYnV0ZSgndHVpVGhlbWUnKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXJrTW9kZSA9IGluamVjdChUVUlfREFSS19NT0RFKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb3BpZWQgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb3BpZWRUZXh0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb3B5VGV4dHMoKT8uWzFdID8/ICcnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUljb25zLFxuICAgICAgICAnaWNvblN0YXJ0JyxcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29waWVkKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLm9wdGlvbnMuaWNvbiA9PT0gJ3N0cmluZydcbiAgICAgICAgICAgICAgICA/IHRoaXMub3B0aW9ucy5pY29uXG4gICAgICAgICAgICAgICAgOiB0aGlzLm9wdGlvbnMuaWNvbigncycpO1xuICAgICAgICB9KSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpQnV0dG9uQ29weSA9ICcnO1xuXG4gICAgcHJvdGVjdGVkIGNvcHkodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb3BpZWQgPSB0aGlzLmVsID09PSB0YXJnZXQ7XG5cbiAgICAgICAgaWYgKGNvcGllZCkge1xuICAgICAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLnR1aUJ1dHRvbkNvcHkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb3BpZWQuc2V0KGNvcGllZCk7XG4gICAgfVxufVxuIl19
@@ -1,4 +1,9 @@
1
+ import { TuiButtonCopyComponent } from './button-copy.component';
1
2
  import { TuiCopyComponent } from './copy.component';
2
3
  import { TuiCopyDirective } from './copy.directive';
3
- export const TuiCopy = [TuiCopyComponent, TuiCopyDirective];
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9kaXJlY3RpdmVzL2NvcHkvY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlDb3B5Q29tcG9uZW50fSBmcm9tICcuL2NvcHkuY29tcG9uZW50JztcbmltcG9ydCB7VHVpQ29weURpcmVjdGl2ZX0gZnJvbSAnLi9jb3B5LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBUdWlDb3B5ID0gW1R1aUNvcHlDb21wb25lbnQsIFR1aUNvcHlEaXJlY3RpdmVdIGFzIGNvbnN0O1xuIl19
4
+ export const TuiCopy = [
5
+ TuiCopyComponent,
6
+ TuiCopyDirective,
7
+ TuiButtonCopyComponent,
8
+ ];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9kaXJlY3RpdmVzL2NvcHkvY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDbkIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixzQkFBc0I7Q0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpQnV0dG9uQ29weUNvbXBvbmVudH0gZnJvbSAnLi9idXR0b24tY29weS5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlDb3B5Q29tcG9uZW50fSBmcm9tICcuL2NvcHkuY29tcG9uZW50JztcbmltcG9ydCB7VHVpQ29weURpcmVjdGl2ZX0gZnJvbSAnLi9jb3B5LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBUdWlDb3B5ID0gW1xuICAgIFR1aUNvcHlDb21wb25lbnQsXG4gICAgVHVpQ29weURpcmVjdGl2ZSxcbiAgICBUdWlCdXR0b25Db3B5Q29tcG9uZW50LFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  // TODO: Move to components in v5
2
+ export * from './button-copy.component';
2
3
  export * from './copy';
3
4
  export * from './copy.component';
4
5
  export * from './copy.directive';
5
6
  export * from './copy.options';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvZGlyZWN0aXZlcy9jb3B5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE86IE1vdmUgdG8gY29tcG9uZW50cyBpbiB2NVxuZXhwb3J0ICogZnJvbSAnLi9jb3B5JztcbmV4cG9ydCAqIGZyb20gJy4vY29weS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3B5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvcHkub3B0aW9ucyc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvZGlyZWN0aXZlcy9jb3B5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogTW92ZSB0byBjb21wb25lbnRzIGluIHY1XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi1jb3B5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcHknO1xuZXhwb3J0ICogZnJvbSAnLi9jb3B5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcHkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29weS5vcHRpb25zJztcbiJdfQ==
@@ -10,13 +10,13 @@ import * as i0 from "@angular/core";
10
10
  const BUFFER = 1; // buffer for rounding issues
11
11
  class TuiFadeStyles {
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFadeStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFadeStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-fade-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:-webkit-mask-position;transition-property:mask-position;transition-property:mask-position,-webkit-mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFadeStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-fade-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:-webkit-mask-position;transition-property:mask-position;transition-property:mask-position,-webkit-mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px);mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px);-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px);mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px)}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFadeStyles, decorators: [{
16
16
  type: Component,
17
17
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
18
18
  class: 'tui-fade-styles',
19
- }, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:-webkit-mask-position;transition-property:mask-position;transition-property:mask-position,-webkit-mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset)) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset)) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left calc(100% + var(--t-fade-size) + var(--t-fade-offset));-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset));mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset)),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"] }]
19
+ }, styles: ["[tuiFade]{scrollbar-width:none;-ms-overflow-style:none;transition-property:-webkit-mask-position;transition-property:mask-position;transition-property:mask-position,-webkit-mask-position;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;overflow:auto;text-overflow:unset!important;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[tuiFade]::-webkit-scrollbar,[tuiFade]::-webkit-scrollbar-thumb{display:none}[tuiFade]:not([data-orientation=vertical]){overflow-y:hidden;-webkit-mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);mask-image:linear-gradient(to right,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to left,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(#000,#000);-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;-webkit-mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%));mask-size:calc(51% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),calc(50% + var(--t-fade-size) + var(--t-fade-offset)) var(--t-line-height, 100%),100% calc(100% - var(--t-line-height, 100%))}[tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top}[tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top}[tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._end{-webkit-mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top;mask-position:left bottom,calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px) bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start{-webkit-mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top;mask-position:calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px) bottom,right bottom,top}[dir=rtl] [tuiFade]:not([data-orientation=vertical])._start._end{-webkit-mask-position:left bottom,right bottom,top;mask-position:left bottom,right bottom,top}[tuiFade][data-orientation=vertical]{overflow-x:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));mask-image:linear-gradient(to bottom,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset))),linear-gradient(to top,transparent var(--t-fade-offset),#000 calc(var(--t-fade-size) + var(--t-fade-offset)));-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px);mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px);-webkit-mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset));mask-size:100% calc(51% + var(--t-fade-size) + var(--t-fade-offset))}[tuiFade][data-orientation=vertical]._start{-webkit-mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px);mask-position:left top,left calc(100% + var(--t-fade-size) + var(--t-fade-offset) - 1px)}[tuiFade][data-orientation=vertical]._end{-webkit-mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left bottom;mask-position:left calc(-1 * var(--t-fade-size) - var(--t-fade-offset) + 1px),left bottom}[tuiFade][data-orientation=vertical]._start._end{-webkit-mask-position:left top,left bottom;mask-position:left top,left bottom}\n"] }]
20
20
  }] });
21
21
  class TuiFade {
22
22
  constructor() {
@@ -34,10 +34,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34
34
  class TuiBlock {
35
35
  constructor() {
36
36
  this.nothing = tuiWithStyles(TuiBlockStyles);
37
- this.size = inject(TUI_BLOCK_OPTIONS).size;
37
+ this.options = inject(TUI_BLOCK_OPTIONS);
38
+ this.size = this.options.size;
38
39
  }
39
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBlock, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlock, isStandalone: true, selector: "label[tuiBlock],input[tuiBlock]", inputs: { size: ["tuiBlock", "size"] }, host: { attributes: { "tuiBlock": "" }, properties: { "attr.data-size": "size || \"l\"", "class._disabled": "!!this.control?.disabled" } }, providers: [
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlock, isStandalone: true, selector: "label[tuiBlock],input[tuiBlock]", inputs: { size: ["tuiBlock", "size"] }, host: { attributes: { "tuiBlock": "" }, properties: { "attr.data-size": "size || options.size || \"l\"", "class._disabled": "!!this.control?.disabled" } }, providers: [
41
42
  tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),
42
43
  tuiAvatarOptionsProvider({ size: 's' }),
43
44
  ], queries: [{ propertyName: "control", first: true, predicate: NgControl, descendants: true }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiWithAppearance }, { directive: i3.TuiWithIcons }], ngImport: i0 }); }
@@ -54,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
54
55
  hostDirectives: [TuiNativeValidator, TuiWithAppearance, TuiWithIcons],
55
56
  host: {
56
57
  tuiBlock: '',
57
- '[attr.data-size]': 'size || "l"',
58
+ '[attr.data-size]': 'size || options.size || "l"',
58
59
  '[class._disabled]': '!!this.control?.disabled',
59
60
  },
60
61
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-block.mjs","sources":["../../../projects/kit/components/block/block.options.ts","../../../projects/kit/components/block/block.directive.ts","../../../projects/kit/components/block/taiga-ui-kit-components-block.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiBlockOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport const TUI_BLOCK_DEFAULT_OPTIONS: TuiBlockOptions = {\n appearance: 'outline-grayscale',\n size: 'l',\n};\n\nexport const TUI_BLOCK_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_BLOCK_OPTIONS' : '',\n {\n factory: () => TUI_BLOCK_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiBlockOptionsProvider(options: Partial<TuiBlockOptions>): Provider {\n return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_BLOCK_OPTIONS} from './block.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/block.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-block',\n },\n})\nclass TuiBlockStyles {}\n\n@Directive({\n standalone: true,\n selector: 'label[tuiBlock],input[tuiBlock]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),\n tuiAvatarOptionsProvider({size: 's'}),\n ],\n hostDirectives: [TuiNativeValidator, TuiWithAppearance, TuiWithIcons],\n host: {\n tuiBlock: '',\n '[attr.data-size]': 'size || \"l\"',\n '[class._disabled]': '!!this.control?.disabled',\n },\n})\nexport class TuiBlock {\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n protected readonly nothing = tuiWithStyles(TuiBlockStyles);\n\n @Input('tuiBlock')\n public size: TuiSizeL | TuiSizeS | '' = inject(TUI_BLOCK_OPTIONS).size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-block.mjs","sources":["../../../projects/kit/components/block/block.options.ts","../../../projects/kit/components/block/block.directive.ts","../../../projects/kit/components/block/taiga-ui-kit-components-block.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiBlockOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport const TUI_BLOCK_DEFAULT_OPTIONS: TuiBlockOptions = {\n appearance: 'outline-grayscale',\n size: 'l',\n};\n\nexport const TUI_BLOCK_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_BLOCK_OPTIONS' : '',\n {\n factory: () => TUI_BLOCK_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiBlockOptionsProvider(options: Partial<TuiBlockOptions>): Provider {\n return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_BLOCK_OPTIONS} from './block.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/kit/styles/components/block.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-block',\n },\n})\nclass TuiBlockStyles {}\n\n@Directive({\n standalone: true,\n selector: 'label[tuiBlock],input[tuiBlock]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),\n tuiAvatarOptionsProvider({size: 's'}),\n ],\n hostDirectives: [TuiNativeValidator, TuiWithAppearance, TuiWithIcons],\n host: {\n tuiBlock: '',\n '[attr.data-size]': 'size || options.size || \"l\"',\n '[class._disabled]': '!!this.control?.disabled',\n },\n})\nexport class TuiBlock {\n @ContentChild(NgControl)\n protected readonly control?: NgControl;\n\n protected readonly nothing = tuiWithStyles(TuiBlockStyles);\n protected readonly options = inject(TUI_BLOCK_OPTIONS);\n\n @Input('tuiBlock')\n public size: TuiSizeL | TuiSizeS | '' = this.options.size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { __decorate } from 'tslib';
2
1
  import * as i0 from '@angular/core';
3
- import { inject, Directive, Output, Component, ChangeDetectionStrategy } from '@angular/core';
4
- import { shouldCall } from '@taiga-ui/event-plugins';
2
+ import { inject, Directive, Output, signal, Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
5
4
  import { WaMutationObserverService, WA_MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
6
5
  import { WaResizeObserverService } from '@ng-web-apis/resize-observer';
7
6
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
@@ -50,25 +49,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
50
49
 
51
50
  class TuiElasticContainer {
52
51
  constructor() {
53
- this.height = NaN;
54
- this.transitions = 0;
52
+ this.height = signal('');
53
+ this.transitions = signal(0);
55
54
  }
56
- onAnimation(_name, count) {
57
- this.transitions += count;
55
+ onAnimation(name, count) {
56
+ if (name === 'height') {
57
+ this.transitions.update((value) => value + count);
58
+ }
59
+ }
60
+ updateHeight(height) {
61
+ this.height.set(tuiPx(height));
58
62
  }
59
63
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiElasticContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiElasticContainer, isStandalone: true, selector: "tui-elastic-container", host: { properties: { "style.height.px": "height", "class._transitioning": "transitions" } }, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"], dependencies: [{ kind: "directive", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiElasticContainer, isStandalone: true, selector: "tui-elastic-container", host: { properties: { "style.block-size": "transitions() ? \"auto\" : height()" } }, ngImport: i0, template: "<div\n class=\"t-wrapper\"\n (transitioncancel)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"updateHeight($event)\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"], dependencies: [{ kind: "directive", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
65
  }
62
- __decorate([
63
- shouldCall((name) => name === 'height')
64
- ], TuiElasticContainer.prototype, "onAnimation", null);
65
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiElasticContainer, decorators: [{
66
67
  type: Component,
67
- args: [{ standalone: true, selector: 'tui-elastic-container', imports: [TuiElasticContainerDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
68
- '[style.height.px]': 'height',
69
- '[class._transitioning]': 'transitions',
70
- }, template: "<div\n class=\"t-wrapper\"\n (transitioncancel.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend.zoneless)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart.zoneless)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"height = $event\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}:host._transitioning{block-size:auto!important}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"] }]
71
- }], propDecorators: { onAnimation: [] } });
68
+ args: [{ standalone: true, selector: 'tui-elastic-container', imports: [TuiElasticContainerDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: { '[style.block-size]': 'transitions() ? "auto" : height()' }, template: "<div\n class=\"t-wrapper\"\n (transitioncancel)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionend)=\"onAnimation($any($event).propertyName, -1)\"\n (transitionstart)=\"onAnimation($any($event).propertyName, 1)\"\n (tuiElasticContainer)=\"updateHeight($event)\"\n>\n <ng-content />\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}.t-wrapper{padding-block-start:1px;margin-block-start:-1px}\n"] }]
69
+ }] });
72
70
 
73
71
  /**
74
72
  * Generated bundle index. Do not edit.