@taiga-ui/kit 4.27.1-canary.3e35b13 → 4.27.1-canary.841b87f

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.
@@ -1,6 +1,6 @@
1
1
  import { TuiDataListWrapperComponent } from './data-list-wrapper.component';
2
2
  import * as i0 from "@angular/core";
3
- export declare class TuiDataListGroupWrapperComponent<T> extends TuiDataListWrapperComponent<T, T[]> {
3
+ export declare class TuiDataListGroupWrapperComponent<T> extends TuiDataListWrapperComponent<T, readonly T[]> {
4
4
  labels: readonly string[];
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDataListGroupWrapperComponent<any>, never>;
6
6
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiDataListGroupWrapperComponent<any>, "tui-data-list-wrapper[labels]", never, { "labels": { "alias": "labels"; "required": false; }; }, {}, never, never, true, never>;
@@ -12,16 +12,12 @@ export declare class TuiInputMonthDirective extends TuiControl<TuiMonth | null>
12
12
  protected readonly icon: import("@angular/core").Signal<string>;
13
13
  protected readonly calendarSync: import("@angular/core").EffectRef;
14
14
  protected onMonthClickEffect: import("@angular/core").EffectRef;
15
- readonly min: import("@angular/core").WritableSignal<TuiMonth | null>;
16
- readonly max: import("@angular/core").WritableSignal<TuiMonth | null>;
17
15
  readonly calendar: import("@angular/core").Signal<TuiCalendarMonth | null>;
18
16
  readonly nativePickerEnabled: boolean;
19
17
  constructor();
20
- set minSetter(x: TuiMonth | null);
21
- set maxSetter(x: TuiMonth | null);
22
18
  setDisabledState(): void;
23
19
  protected toggleDropdown(): void;
24
20
  protected clear(): void;
25
21
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputMonthDirective, never>;
26
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputMonthDirective, "input[tuiInputMonth]", never, { "minSetter": { "alias": "min"; "required": false; }; "maxSetter": { "alias": "max"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputMonthDirective, "input[tuiInputMonth]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
27
23
  }
@@ -1,9 +1,15 @@
1
+ import { TuiMonth } from '@taiga-ui/cdk/date-time';
1
2
  import { TuiInputMonthDirective } from '../input-month.directive';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class TuiNativeMonthPicker {
4
5
  private readonly control;
5
6
  protected readonly host: TuiInputMonthDirective;
7
+ protected readonly min: import("@angular/core").WritableSignal<TuiMonth | null>;
8
+ protected readonly max: import("@angular/core").WritableSignal<TuiMonth | null>;
9
+ protected readonly calendarSync: import("@angular/core").EffectRef;
10
+ set minSetter(x: TuiMonth | null);
11
+ set maxSetter(x: TuiMonth | null);
6
12
  protected onInput(value: string): void;
7
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiNativeMonthPicker, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiNativeMonthPicker, "input[tuiInputMonth][type=\"month\"]", never, {}, {}, never, never, true, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiNativeMonthPicker, "input[tuiInputMonth][type=\"month\"]", never, { "minSetter": { "alias": "min"; "required": false; }; "maxSetter": { "alias": "max"; "required": false; }; }, {}, never, never, true, never>;
9
15
  }
@@ -7,8 +7,9 @@ export declare class TuiPushComponent {
7
7
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
8
8
  heading: string;
9
9
  type: string;
10
+ lines: number;
10
11
  timestamp: number | string;
11
12
  readonly close: EventEmitter<void>;
12
13
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiPushComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiPushComponent, "tui-push", never, { "heading": { "alias": "heading"; "required": false; }; "type": { "alias": "type"; "required": false; }; "timestamp": { "alias": "timestamp"; "required": false; }; }, { "close": "close"; }, never, ["img", "tui-svg,tui-icon", "*", "[tuiButton]", "[tuiLink]"], true, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiPushComponent, "tui-push", never, { "heading": { "alias": "heading"; "required": false; }; "type": { "alias": "type"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "timestamp": { "alias": "timestamp"; "required": false; }; }, { "close": "close"; }, never, ["img", "tui-svg,tui-icon", "*", "[tuiButton]", "[tuiLink]"], true, never>;
14
15
  }
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
22
22
  }], propDecorators: { labels: [{
23
23
  type: Input
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7QUFFMUUsTUFTYSxnQ0FBb0MsU0FBUSwyQkFHeEQ7SUFaRDs7UUFjVyxXQUFNLEdBQXNCLEVBQUUsQ0FBQztLQUN6QzsrR0FOWSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQywwR0FGOUIsQ0FBQyxxQkFBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLGlEQ2hCeEUscTVCQTZCQSw4SURqQmMsT0FBTyxtSEFBRSxJQUFJLDZGQUFFLGtCQUFrQixxZEFBZSxVQUFVLG1GQUFFLFNBQVM7O1NBTXRFLGdDQUFnQzs0RkFBaEMsZ0NBQWdDO2tCQVQ1QyxTQUFTO2lDQUNNLElBQUksWUFDTiwrQkFBK0IsV0FDaEMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLG1CQUcvRCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMscUJBQXFCLGtDQUFrQyxDQUFDOzhCQU83RCxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRm9yT2YsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2VsZW1lbnQnO1xuaW1wb3J0IHt0dWlBc0RhdGFMaXN0QWNjZXNzb3IsIFR1aURhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aUxvYWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9kYXRhLWxpc3Qtd3JhcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdC13cmFwcGVyW2xhYmVsc10nLFxuICAgIGltcG9ydHM6IFtOZ0Zvck9mLCBOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXQsIFR1aURhdGFMaXN0LCBUdWlFbGVtZW50LCBUdWlMb2FkZXJdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QtZ3JvdXAtd3JhcHBlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Qtd3JhcHBlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNEYXRhTGlzdEFjY2Vzc29yKFR1aURhdGFMaXN0R3JvdXBXcmFwcGVyQ29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0R3JvdXBXcmFwcGVyQ29tcG9uZW50PFQ+IGV4dGVuZHMgVHVpRGF0YUxpc3RXcmFwcGVyQ29tcG9uZW50PFxuICAgIFQsXG4gICAgVFtdXG4+IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYWJlbHM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG59XG4iLCI8dHVpLWRhdGEtbGlzdFxuICAgICpuZ0lmPVwiaXRlbXM7IGVsc2UgbG9hZGluZ1wiXG4gICAgW2VtcHR5Q29udGVudF09XCJlbXB0eUNvbnRlbnRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuPlxuICAgIDx0dWktb3B0LWdyb3VwXG4gICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICBbbGFiZWxdPVwibGFiZWxzW2luZGV4XVwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cFwiXG4gICAgICAgICAgICAjZWxlbWVudFJlZj1cImVsZW1lbnRSZWZcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kYXRhLWxpc3Qtd3JhcHBlcl9fb3B0aW9uXCJcbiAgICAgICAgICAgIHR1aUVsZW1lbnRcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrLmVtaXQoaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBnZXRDb250ZXh0KGl0ZW0sIGVsZW1lbnRSZWYpXCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLW9wdC1ncm91cD5cbjwvdHVpLWRhdGEtbGlzdD5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8dHVpLWxvYWRlciBjbGFzcz1cInQtbG9hZGVyXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXIvZGF0YS1saXN0LWdyb3VwLXdyYXBwZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdkYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7QUFFMUUsTUFTYSxnQ0FBb0MsU0FBUSwyQkFHeEQ7SUFaRDs7UUFjVyxXQUFNLEdBQXNCLEVBQUUsQ0FBQztLQUN6QzsrR0FOWSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQywwR0FGOUIsQ0FBQyxxQkFBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLGlEQ2hCeEUscTVCQTZCQSw4SURqQmMsT0FBTyxtSEFBRSxJQUFJLDZGQUFFLGtCQUFrQixxZEFBZSxVQUFVLG1GQUFFLFNBQVM7O1NBTXRFLGdDQUFnQzs0RkFBaEMsZ0NBQWdDO2tCQVQ1QyxTQUFTO2lDQUNNLElBQUksWUFDTiwrQkFBK0IsV0FDaEMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLG1CQUcvRCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMscUJBQXFCLGtDQUFrQyxDQUFDOzhCQU83RCxNQUFNO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRm9yT2YsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2VsZW1lbnQnO1xuaW1wb3J0IHt0dWlBc0RhdGFMaXN0QWNjZXNzb3IsIFR1aURhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aUxvYWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9kYXRhLWxpc3Qtd3JhcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRhdGEtbGlzdC13cmFwcGVyW2xhYmVsc10nLFxuICAgIGltcG9ydHM6IFtOZ0Zvck9mLCBOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXQsIFR1aURhdGFMaXN0LCBUdWlFbGVtZW50LCBUdWlMb2FkZXJdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxpc3QtZ3JvdXAtd3JhcHBlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRhLWxpc3Qtd3JhcHBlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNEYXRhTGlzdEFjY2Vzc29yKFR1aURhdGFMaXN0R3JvdXBXcmFwcGVyQ29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURhdGFMaXN0R3JvdXBXcmFwcGVyQ29tcG9uZW50PFQ+IGV4dGVuZHMgVHVpRGF0YUxpc3RXcmFwcGVyQ29tcG9uZW50PFxuICAgIFQsXG4gICAgcmVhZG9ubHkgVFtdXG4+IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsYWJlbHM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG59XG4iLCI8dHVpLWRhdGEtbGlzdFxuICAgICpuZ0lmPVwiaXRlbXM7IGVsc2UgbG9hZGluZ1wiXG4gICAgW2VtcHR5Q29udGVudF09XCJlbXB0eUNvbnRlbnRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuPlxuICAgIDx0dWktb3B0LWdyb3VwXG4gICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICBbbGFiZWxdPVwibGFiZWxzW2luZGV4XVwiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cFwiXG4gICAgICAgICAgICAjZWxlbWVudFJlZj1cImVsZW1lbnRSZWZcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kYXRhLWxpc3Qtd3JhcHBlcl9fb3B0aW9uXCJcbiAgICAgICAgICAgIHR1aUVsZW1lbnRcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaXRlbUNsaWNrLmVtaXQoaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBnZXRDb250ZXh0KGl0ZW0sIGVsZW1lbnRSZWYpXCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvdHVpLW9wdC1ncm91cD5cbjwvdHVpLWRhdGEtbGlzdD5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8dHVpLWxvYWRlciBjbGFzcz1cInQtbG9hZGVyXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,8 +1,7 @@
1
- import { computed, Directive, effect, inject, Input, signal } from '@angular/core';
1
+ import { computed, Directive, effect, inject } from '@angular/core';
2
2
  import { toSignal } from '@angular/core/rxjs-interop';
3
3
  import { tuiAsControl, TuiControl } from '@taiga-ui/cdk/classes';
4
4
  import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
5
- import { TUI_FIRST_DAY, TUI_LAST_DAY } from '@taiga-ui/cdk/date-time';
6
5
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
7
6
  import { tuiInjectElement, tuiValueBinding } from '@taiga-ui/cdk/utils/dom';
8
7
  import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
@@ -26,12 +25,7 @@ class TuiInputMonthDirective extends TuiControl {
26
25
  this.textfieldValue = tuiValueBinding(computed(() => this.formatter()(this.value())));
27
26
  this.icon = tuiDirectiveBinding(TuiIcons, 'iconEnd', computed(() => this.options.icon(this.textfieldOptions.size())), {});
28
27
  this.calendarSync = effect(() => {
29
- const calendar = this.calendar();
30
- if (calendar) {
31
- calendar.value.set(this.value());
32
- calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback
33
- calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback
34
- }
28
+ this.calendar()?.value.set(this.value());
35
29
  }, TUI_ALLOW_SIGNAL_WRITES);
36
30
  this.onMonthClickEffect = effect((onCleanup) => {
37
31
  const subscription = this.calendar()?.monthClick.subscribe((month) => {
@@ -40,8 +34,6 @@ class TuiInputMonthDirective extends TuiControl {
40
34
  });
41
35
  onCleanup(() => subscription?.unsubscribe());
42
36
  });
43
- this.min = signal(null);
44
- this.max = signal(null);
45
37
  this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendarMonth);
46
38
  this.nativePickerEnabled = tuiInjectElement().type === 'month' && inject(TUI_IS_MOBILE);
47
39
  /**
@@ -50,12 +42,6 @@ class TuiInputMonthDirective extends TuiControl {
50
42
  */
51
43
  inject(TUI_DROPDOWN_OPTIONS).limitWidth = 'auto';
52
44
  }
53
- set minSetter(x) {
54
- this.min.set(x);
55
- }
56
- set maxSetter(x) {
57
- this.max.set(x);
58
- }
59
45
  setDisabledState() {
60
46
  super.setDisabledState();
61
47
  this.open.set(false);
@@ -72,7 +58,7 @@ class TuiInputMonthDirective extends TuiControl {
72
58
  }
73
59
  }
74
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { attributes: { "inputmode": "none" }, listeners: { "click": "toggleDropdown()", "blur": "onTouched()", "beforeinput": "$event.inputType.includes(\"delete\") || $event.preventDefault()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [tuiAsControl(TuiInputMonthDirective)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0 }); }
61
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { attributes: { "inputmode": "none" }, listeners: { "click": "toggleDropdown()", "blur": "onTouched()", "beforeinput": "$event.inputType.includes(\"delete\") || $event.preventDefault()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [tuiAsControl(TuiInputMonthDirective)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0 }); }
76
62
  }
77
63
  export { TuiInputMonthDirective };
78
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
@@ -91,11 +77,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
91
77
  '(input)': '$event.inputType?.includes("delete") && clear()',
92
78
  },
93
79
  }]
94
- }], ctorParameters: function () { return []; }, propDecorators: { minSetter: [{
95
- type: Input,
96
- args: ['min']
97
- }], maxSetter: [{
98
- type: Input,
99
- args: ['max']
100
- }] } });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRSxPQUFPLEVBQUMsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUNILHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1QkFB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bnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUVUlfRklSU1RfREFZLCBUVUlfTEFTVF9EQVl9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50LCB0dWlWYWx1ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1RVSV9EUk9QRE9XTl9PUFRJT05TLCB0dWlEcm9wZG93bk9wZW59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5pbXBvcnQge1R1aUNhbGVuZGFyTW9udGh9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1tb250aCc7XG5pbXBvcnQge1RVSV9NT05USF9GT1JNQVRURVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTU9OVEhfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1tb250aC5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0TW9udGhdJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0NvbnRyb2woVHVpSW5wdXRNb250aERpcmVjdGl2ZSldLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZF0sXG4gICAgaG9zdDoge1xuICAgICAgICBpbnB1dG1vZGU6ICdub25lJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZURyb3Bkb3duKCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgJyhiZWZvcmVpbnB1dCknOiAnJGV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcyhcImRlbGV0ZVwiKSB8fCAkZXZlbnQucHJldmVudERlZmF1bHQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJyRldmVudC5pbnB1dFR5cGU/LmluY2x1ZGVzKFwiZGVsZXRlXCIpICYmIGNsZWFyKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TW9udGhEaXJlY3RpdmUgZXh0ZW5kcyBUdWlDb250cm9sPFR1aU1vbnRoIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfTU9OVEhfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRPcHRpb25zID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wZW4gPSB0dWlEcm9wZG93bk9wZW4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0dGVyID0gdG9TaWduYWwoaW5qZWN0KFRVSV9NT05USF9GT1JNQVRURVIpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogKCkgPT4gJycsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkVmFsdWUgPSB0dWlWYWx1ZUJpbmRpbmcoXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHRoaXMuZm9ybWF0dGVyKCkodGhpcy52YWx1ZSgpKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29uID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpSWNvbnMsXG4gICAgICAgICdpY29uRW5kJyxcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gdGhpcy5vcHRpb25zLmljb24odGhpcy50ZXh0ZmllbGRPcHRpb25zLnNpemUoKSkpLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyU3luYyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5jYWxlbmRhcigpO1xuXG4gICAgICAgIGlmIChjYWxlbmRhcikge1xuICAgICAgICAgICAgY2FsZW5kYXIudmFsdWUuc2V0KHRoaXMudmFsdWUoKSk7XG4gICAgICAgICAgICBjYWxlbmRhci5taW4uc2V0KHRoaXMubWluKCkgPz8gVFVJX0ZJUlNUX0RBWSk7IC8vIFRPRE8odjUpOiByZW1vdmUgVFVJX0ZJUlNUX0RBWSBmYWxsYmFja1xuICAgICAgICAgICAgY2FsZW5kYXIubWF4LnNldCh0aGlzLm1heCgpID8/IFRVSV9MQVNUX0RBWSk7IC8vIFRPRE8odjUpOiByZW1vdmUgVFVJX0xBU1RfREFZIGZhbGxiYWNrXG4gICAgICAgIH1cbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgb25Nb250aENsaWNrRWZmZWN0ID0gZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5jYWxlbmRhcigpPy5tb250aENsaWNrLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobW9udGgpO1xuICAgICAgICAgICAgdGhpcy5vcGVuLnNldChmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uQ2xlYW51cCgoKSA9PiBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCkpO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbDxUdWlNb250aCB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXggPSBzaWduYWw8VHVpTW9udGggfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXJNb250aD4oXG4gICAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJNb250aCxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG5hdGl2ZVBpY2tlckVuYWJsZWQgPVxuICAgICAgICB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCkudHlwZSA9PT0gJ21vbnRoJyAmJiBpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogVXBkYXRlIGRpcmVjdGl2ZSBwcm9wcyB3aXRoIG5ldyBkZWZhdWx0cyBiZWZvcmUgaW5wdXRzIGFyZSBwcm9jZXNzZWRcbiAgICAgICAgICogVE9ETzogZmluZCBiZXR0ZXIgd2F5IHRvIG92ZXJyaWRlIFR1aURyb3Bkb3duRml4ZWQgaG9zdCBkaXJlY3RpdmUgZnJvbSBUdWlUZXh0ZmllbGRDb21wb25lbnRcbiAgICAgICAgICovXG4gICAgICAgIChpbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIGFzIGFueSkubGltaXRXaWR0aCA9ICdhdXRvJztcbiAgICB9XG5cbiAgICBASW5wdXQoJ21pbicpXG4gICAgcHVibGljIHNldCBtaW5TZXR0ZXIoeDogVHVpTW9udGggfCBudWxsKSB7XG4gICAgICAgIHRoaXMubWluLnNldCh4KTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21heCcpXG4gICAgcHVibGljIHNldCBtYXhTZXR0ZXIoeDogVHVpTW9udGggfCBudWxsKSB7XG4gICAgICAgIHRoaXMubWF4LnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmludGVyYWN0aXZlKCkgJiYgIXRoaXMubmF0aXZlUGlja2VyRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgoeCkgPT4gIXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuXG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVQaWNrZXJFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
80
+ }], ctorParameters: function () { return []; } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvaW5wdXQtbW9udGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7QUFFOUQsTUFjYSxzQkFBdUIsU0FBUSxVQUEyQjtJQXlDbkU7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQXpDSyxZ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RUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRSxDQUFDLFlBQVksd0JBQXdCLENBQUM7b0JBQ2pELGNBQWMsRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLE1BQU07d0JBQ2pCLFlBQVksRUFBRSxZQUFZO3dCQUMxQixTQUFTLEVBQUUsa0JBQWtCO3dCQUM3QixRQUFRLEVBQUUsYUFBYTt3QkFDdkIsZUFBZSxFQUFFLGdFQUFnRTt3QkFDakYsU0FBUyxFQUFFLGlEQUFpRDtxQkFDL0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudCwgdHVpVmFsdWVCaW5kaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICB0dWlJbmplY3RBdXhpbGlhcnksXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OUywgdHVpRHJvcGRvd25PcGVufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhck1vbnRofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX01PTlRIX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbW9udGgub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE1vbnRoXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNDb250cm9sKFR1aUlucHV0TW9udGhEaXJlY3RpdmUpXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGRdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgaW5wdXRtb2RlOiAnbm9uZScsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGVEcm9wZG93bigpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoYmVmb3JlaW5wdXQpJzogJyRldmVudC5pbnB1dFR5cGUuaW5jbHVkZXMoXCJkZWxldGVcIikgfHwgJGV2ZW50LnByZXZlbnREZWZhdWx0KCknLFxuICAgICAgICAnKGlucHV0KSc6ICckZXZlbnQuaW5wdXRUeXBlPy5pbmNsdWRlcyhcImRlbGV0ZVwiKSAmJiBjbGVhcigpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoRGlyZWN0aXZlIGV4dGVuZHMgVHVpQ29udHJvbDxUdWlNb250aCB8IG51bGw+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX01PTlRIX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkT3B0aW9ucyA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlciA9IHRvU2lnbmFsKGluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6ICgpID0+ICcnLFxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZFZhbHVlID0gdHVpVmFsdWVCaW5kaW5nKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiB0aGlzLmZvcm1hdHRlcigpKHRoaXMudmFsdWUoKSkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbiA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUljb25zLFxuICAgICAgICAnaWNvbkVuZCcsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucy5pY29uKHRoaXMudGV4dGZpZWxkT3B0aW9ucy5zaXplKCkpKSxcbiAgICAgICAge30sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclN5bmMgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyKCk/LnZhbHVlLnNldCh0aGlzLnZhbHVlKCkpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCBvbk1vbnRoQ2xpY2tFZmZlY3QgPSBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNhbGVuZGFyKCk/Lm1vbnRoQ2xpY2suc3Vic2NyaWJlKChtb250aCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShtb250aCk7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXJNb250aD4oXG4gICAgICAgICh4KSA9PiB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJNb250aCxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG5hdGl2ZVBpY2tlckVuYWJsZWQgPVxuICAgICAgICB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCkudHlwZSA9PT0gJ21vbnRoJyAmJiBpbmplY3QoVFVJX0lTX01PQklMRSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogVXBkYXRlIGRpcmVjdGl2ZSBwcm9wcyB3aXRoIG5ldyBkZWZhdWx0cyBiZWZvcmUgaW5wdXRzIGFyZSBwcm9jZXNzZWRcbiAgICAgICAgICogVE9ETzogZmluZCBiZXR0ZXIgd2F5IHRvIG92ZXJyaWRlIFR1aURyb3Bkb3duRml4ZWQgaG9zdCBkaXJlY3RpdmUgZnJvbSBUdWlUZXh0ZmllbGRDb21wb25lbnRcbiAgICAgICAgICovXG4gICAgICAgIChpbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMpIGFzIGFueSkubGltaXRXaWR0aCA9ICdhdXRvJztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmludGVyYWN0aXZlKCkgJiYgIXRoaXMubmF0aXZlUGlja2VyRW5hYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgoeCkgPT4gIXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuXG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVQaWNrZXJFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,7 +1,8 @@
1
1
  import { NgIf } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, effect, inject, Input, signal, ViewEncapsulation, } from '@angular/core';
3
3
  import { TuiControl } from '@taiga-ui/cdk/classes';
4
- import { TuiMonth } from '@taiga-ui/cdk/date-time';
4
+ import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
5
+ import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth } from '@taiga-ui/cdk/date-time';
5
6
  import { TuiTextfieldContent } from '@taiga-ui/core/components/textfield';
6
7
  import { TuiInputMonthDirective } from '../input-month.directive';
7
8
  import * as i0 from "@angular/core";
@@ -9,6 +10,23 @@ class TuiNativeMonthPicker {
9
10
  constructor() {
10
11
  this.control = inject(TuiControl);
11
12
  this.host = inject(TuiInputMonthDirective);
13
+ this.min = signal(null);
14
+ this.max = signal(null);
15
+ this.calendarSync = effect(() => {
16
+ const calendar = this.host.calendar();
17
+ if (calendar) {
18
+ calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback
19
+ calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback
20
+ }
21
+ }, TUI_ALLOW_SIGNAL_WRITES);
22
+ }
23
+ // TODO(v5): use signal inputs
24
+ set minSetter(x) {
25
+ this.min.set(x);
26
+ }
27
+ // TODO(v5): use signal inputs
28
+ set maxSetter(x) {
29
+ this.max.set(x);
12
30
  }
13
31
  onInput(value) {
14
32
  if (!value) {
@@ -18,13 +36,19 @@ class TuiNativeMonthPicker {
18
36
  this.control.onChange(new TuiMonth(year, month - 1));
19
37
  }
20
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMonthPicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeMonthPicker, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", host: { properties: { "type": "\"text\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"host.max()?.toJSON()\"\n [min]=\"host.min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeMonthPicker, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { properties: { "type": "\"text\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
40
  }
23
41
  export { TuiNativeMonthPicker };
24
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMonthPicker, decorators: [{
25
43
  type: Component,
26
44
  args: [{ standalone: true, selector: 'input[tuiInputMonth][type="month"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
27
45
  '[type]': '"text"',
28
- }, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"host.max()?.toJSON()\"\n [min]=\"host.min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLW1vbnRoLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aC9uYXRpdmUtbW9udGgtcGlja2VyL25hdGl2ZS1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvbmF0aXZlLW1vbnRoLXBpY2tlci9uYXRpdmUtbW9udGgtcGlja2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEUsTUFZYSxvQkFBb0I7SUFaakM7UUFhcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUzQixTQUFJLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FXNUQ7SUFUYSxPQUFPLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FiUSxvQkFBb0I7bUdBQXBCLG9CQUFvQiw4SUN6QmpDLHNaQVlBLGtYREljLElBQUksNkZBQUUsbUJBQW1COztTQVMxQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFaaEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sb0NBQW9DLFdBQ3JDLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLGlCQUdyQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLFFBQVEsRUFBRSxRQUFRO3FCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcblxuaW1wb3J0IHtUdWlJbnB1dE1vbnRoRGlyZWN0aXZlfSBmcm9tICcuLi9pbnB1dC1tb250aC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRNb250aF1bdHlwZT1cIm1vbnRoXCJdJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVHVpVGV4dGZpZWxkQ29udGVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdGl2ZS1tb250aC1waWNrZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF0aXZlLW1vbnRoLXBpY2tlci5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbdHlwZV0nOiAnXCJ0ZXh0XCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5hdGl2ZU1vbnRoUGlja2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoVHVpQ29udHJvbCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdCA9IGluamVjdChUdWlJbnB1dE1vbnRoRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCBvbklucHV0KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbC5vbkNoYW5nZShudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt5ZWFyID0gMCwgbW9udGggPSAwXSA9IHZhbHVlLnNwbGl0KCctJykubWFwKE51bWJlcik7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLm9uQ2hhbmdlKG5ldyBUdWlNb250aCh5ZWFyLCBtb250aCAtIDEpKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaG9zdC5uYXRpdmVQaWNrZXJFbmFibGVkXCI+XG4gICAgPGlucHV0XG4gICAgICAgICp0dWlUZXh0ZmllbGRDb250ZW50XG4gICAgICAgIHR5cGU9XCJtb250aFwiXG4gICAgICAgIFttYXhdPVwiaG9zdC5tYXgoKT8udG9KU09OKClcIlxuICAgICAgICBbbWluXT1cImhvc3QubWluKCk/LnRvSlNPTigpXCJcbiAgICAgICAgW3ZhbHVlXT1cImhvc3QudmFsdWUoKT8udG9KU09OKClcIlxuICAgICAgICAoY2xpY2suc3RvcC56b25lbGVzcyk9XCIoMClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkYW55KCRldmVudC50YXJnZXQpLnZhbHVlKVwiXG4gICAgICAgIChtb3VzZWRvd24uc3RvcC56b25lbGVzcyk9XCIoMClcIlxuICAgIC8+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
46
+ }, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
47
+ }], propDecorators: { minSetter: [{
48
+ type: Input,
49
+ args: ['min']
50
+ }], maxSetter: [{
51
+ type: Input,
52
+ args: ['max']
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLW1vbnRoLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aC9uYXRpdmUtbW9udGgtcGlja2VyL25hdGl2ZS1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgvbmF0aXZlLW1vbnRoLXBpY2tlci9uYXRpdmUtbW9udGgtcGlja2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUVoRSxNQVlhLG9CQUFvQjtJQVpqQztRQWFxQixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTNCLFNBQUksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0QyxRQUFHLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUNwQyxRQUFHLEdBQUcsTUFBTSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUV0QyxJQUFJLFFBQVEsRUFBRTtnQkFDVixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7Z0JBQ3pGLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLHlDQUF5QzthQUMxRjtRQUNMLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0tBdUIvQjtJQXJCRyw4QkFBOEI7SUFDOUIsSUFDVyxTQUFTLENBQUMsQ0FBa0I7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUNXLFNBQVMsQ0FBQyxDQUFrQjtRQUNuQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFFRCxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBbkNRLG9CQUFvQjttR0FBcEIsb0JBQW9CLDROQzdCakMsNFlBWUEsa1hEUWMsSUFBSSw2RkFBRSxtQkFBbUI7O1NBUzFCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQVpoQyxTQUFTO2lDQUNNLElBQUksWUFDTixvQ0FBb0MsV0FDckMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsaUJBR3JCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsUUFBUSxFQUFFLFFBQVE7cUJBQ3JCOzhCQW1CVSxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBT0QsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRklSU1RfREFZLCBUVUlfTEFTVF9EQVksIFR1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aVRleHRmaWVsZENvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcblxuaW1wb3J0IHtUdWlJbnB1dE1vbnRoRGlyZWN0aXZlfSBmcm9tICcuLi9pbnB1dC1tb250aC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXRNb250aF1bdHlwZT1cIm1vbnRoXCJdJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVHVpVGV4dGZpZWxkQ29udGVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdGl2ZS1tb250aC1waWNrZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF0aXZlLW1vbnRoLXBpY2tlci5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbdHlwZV0nOiAnXCJ0ZXh0XCInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5hdGl2ZU1vbnRoUGlja2VyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoVHVpQ29udHJvbCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaG9zdCA9IGluamVjdChUdWlJbnB1dE1vbnRoRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWluID0gc2lnbmFsPFR1aU1vbnRoIHwgbnVsbD4obnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heCA9IHNpZ25hbDxUdWlNb250aCB8IG51bGw+KG51bGwpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhclN5bmMgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBjYWxlbmRhciA9IHRoaXMuaG9zdC5jYWxlbmRhcigpO1xuXG4gICAgICAgIGlmIChjYWxlbmRhcikge1xuICAgICAgICAgICAgY2FsZW5kYXIubWluLnNldCh0aGlzLm1pbigpID8/IFRVSV9GSVJTVF9EQVkpOyAvLyBUT0RPKHY1KTogcmVtb3ZlIFRVSV9GSVJTVF9EQVkgZmFsbGJhY2tcbiAgICAgICAgICAgIGNhbGVuZGFyLm1heC5zZXQodGhpcy5tYXgoKSA/PyBUVUlfTEFTVF9EQVkpOyAvLyBUT0RPKHY1KTogcmVtb3ZlIFRVSV9MQVNUX0RBWSBmYWxsYmFja1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRzXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKHg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRzXG4gICAgQElucHV0KCdtYXgnKVxuICAgIHB1YmxpYyBzZXQgbWF4U2V0dGVyKHg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1heC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW3llYXIgPSAwLCBtb250aCA9IDBdID0gdmFsdWUuc3BsaXQoJy0nKS5tYXAoTnVtYmVyKTtcblxuICAgICAgICB0aGlzLmNvbnRyb2wub25DaGFuZ2UobmV3IFR1aU1vbnRoKHllYXIsIG1vbnRoIC0gMSkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJob3N0Lm5hdGl2ZVBpY2tlckVuYWJsZWRcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgKnR1aVRleHRmaWVsZENvbnRlbnRcbiAgICAgICAgdHlwZT1cIm1vbnRoXCJcbiAgICAgICAgW21heF09XCJtYXgoKT8udG9KU09OKClcIlxuICAgICAgICBbbWluXT1cIm1pbigpPy50b0pTT04oKVwiXG4gICAgICAgIFt2YWx1ZV09XCJob3N0LnZhbHVlKCk/LnRvSlNPTigpXCJcbiAgICAgICAgKGNsaWNrLnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGFueSgkZXZlbnQudGFyZ2V0KS52YWx1ZSlcIlxuICAgICAgICAobW91c2Vkb3duLnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbiAgICAvPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -19,7 +19,7 @@ class TuiPushAlert {
19
19
  return this.context.content instanceof TuiPushDirective;
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  export { TuiPushAlert };
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, decorators: [{
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
39
39
  '[@tuiHeightCollapse]': 'options',
40
40
  }, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"] }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUNILGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBR2xELE1Bc0JhLFlBQVk7SUF0QnpCO1FBdUJ1QixZQUFPLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFPLEdBQUcsYUFBYSxFQUFzQyxDQUFDO0tBS3BGO0lBSEcsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLFlBQVksZ0JBQWdCLENBQUM7SUFDNUQsQ0FBQzsrR0FOUSxZQUFZO21HQUFaLFlBQVksNE5DekN6Qix1cUNBeUNBLDhKRG5CUSxJQUFJLDZGQUNKLGtCQUFrQiw4SEFFbEIsU0FBUyxvSUFDVCxPQUFPLHFGQUNQLE9BQU8sNEZBQ1AsZ0JBQWdCLHFHQUtSLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQzs7U0FRbEQsWUFBWTs0RkFBWixZQUFZO2tCQXRCeEIsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3FCQUNuQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFDckQ7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLG9CQUFvQixFQUFFLFNBQVM7d0JBQy9CLHNCQUFzQixFQUFFLFNBQVM7cUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVBvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlLCB0dWlTbGlkZUluUmlnaHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIGluamVjdENvbnRleHQsXG4gICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlQdXNoQ29tcG9uZW50fSBmcm9tICcuL3B1c2guY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHVzaERpcmVjdGl2ZX0gZnJvbSAnLi9wdXNoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7VHVpUHVzaE9wdGlvbnN9IGZyb20gJy4vcHVzaC5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICAgICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpUHVzaENvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3B1c2gtYWxlcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW4sIHR1aVNsaWRlSW5SaWdodCwgdHVpSGVpZ2h0Q29sbGFwc2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2FsZXJ0JyxcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdvcHRpb25zJyxcbiAgICAgICAgJ1tAdHVpU2xpZGVJblJpZ2h0XSc6ICdvcHRpb25zJyxcbiAgICAgICAgJ1tAdHVpSGVpZ2h0Q29sbGFwc2VdJzogJ29wdGlvbnMnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVB1c2hBbGVydCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0dWlUb0FuaW1hdGlvbk9wdGlvbnMoaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3RDb250ZXh0PFR1aVBvcG92ZXI8VHVpUHVzaE9wdGlvbnMsIHN0cmluZz4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzRGlyZWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNvbnRlbnQgaW5zdGFuY2VvZiBUdWlQdXNoRGlyZWN0aXZlO1xuICAgIH1cbn1cbiIsIjx0dWktcHVzaFxuICAgICpuZ0lmPVwiIWlzRGlyZWN0aXZlOyBlbHNlIGRpcmVjdGl2ZVwiXG4gICAgW2hlYWRpbmddPVwiY29udGV4dC5oZWFkaW5nXCJcbiAgICBbdGltZXN0YW1wXT1cImNvbnRleHQudGltZXN0YW1wXCJcbiAgICBbdHlwZV09XCJjb250ZXh0LnR5cGVcIlxuICAgIChjbG9zZSk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbj5cbiAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5pbWFnZVwiXG4gICAgICAgIGFsdD1cIlwiXG4gICAgICAgIFtzcmNdPVwiY29udGV4dC5pbWFnZVwiXG4gICAgLz5cbiAgICA8dHVpLWljb25cbiAgICAgICAgKm5nSWY9XCJjb250ZXh0Lmljb25cIlxuICAgICAgICBbaWNvbl09XCJjb250ZXh0Lmljb25cIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29udGV4dC5pY29uQ29sb3JcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cInRleHRcIlxuICAgID48L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5idXR0b25zLmxlbmd0aCA+IDFcIlxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5uZXh0KGNvbnRleHQuYnV0dG9uc1swXSB8fCAnJylcIlxuICAgID5cbiAgICAgICAge3sgY29udGV4dC5idXR0b25zWzBdIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImNvbnRleHQuYnV0dG9ucy5sZW5ndGhcIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiY29udGV4dC4kaW1wbGljaXQubmV4dChjb250ZXh0LmJ1dHRvbnNbY29udGV4dC5idXR0b25zLmxlbmd0aCAtIDFdIHx8ICcnKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmJ1dHRvbnNbY29udGV4dC5idXR0b25zLmxlbmd0aCAtIDFdIH19XG4gICAgPC9idXR0b24+XG48L3R1aS1wdXNoPlxuPG5nLXRlbXBsYXRlICNkaXJlY3RpdmU+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1hbGVydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2gtYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUNILGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsb0JBQW9CLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0FBR2xELE1Bc0JhLFlBQVk7SUF0QnpCO1FBdUJ1QixZQUFPLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUM5RCxZQUFPLEdBQUcsYUFBYSxFQUFzQyxDQUFDO0tBS3BGO0lBSEcsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLFlBQVksZ0JBQWdCLENBQUM7SUFDNUQsQ0FBQzsrR0FOUSxZQUFZO21HQUFaLFlBQVksNE5DekN6Qix1cUNBeUNBLDhKRG5CUSxJQUFJLDZGQUNKLGtCQUFrQiw4SEFFbEIsU0FBUyxvSUFDVCxPQUFPLHFGQUNQLE9BQU8sNEZBQ1AsZ0JBQWdCLDhHQUtSLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQzs7U0FRbEQsWUFBWTs0RkFBWixZQUFZO2tCQXRCeEIsU0FBUztpQ0FDTSxJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZ0JBQWdCO3FCQUNuQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsUUFDckQ7d0JBQ0YsSUFBSSxFQUFFLE9BQU87d0JBQ2IsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLG9CQUFvQixFQUFFLFNBQVM7d0JBQy9CLHNCQUFzQixFQUFFLFNBQVM7cUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aVBvcG92ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0dWlGYWRlSW4sIHR1aUhlaWdodENvbGxhcHNlLCB0dWlTbGlkZUluUmlnaHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpSWNvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7VHVpTGlua30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9saW5rJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIGluamVjdENvbnRleHQsXG4gICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlQdXNoQ29tcG9uZW50fSBmcm9tICcuL3B1c2guY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHVzaERpcmVjdGl2ZX0gZnJvbSAnLi9wdXNoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7VHVpUHVzaE9wdGlvbnN9IGZyb20gJy4vcHVzaC5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICAgICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpSWNvbixcbiAgICAgICAgVHVpTGluayxcbiAgICAgICAgVHVpUHVzaENvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXNoLWFsZXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3B1c2gtYWxlcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW4sIHR1aVNsaWRlSW5SaWdodCwgdHVpSGVpZ2h0Q29sbGFwc2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ2FsZXJ0JyxcbiAgICAgICAgJ1tAdHVpRmFkZUluXSc6ICdvcHRpb25zJyxcbiAgICAgICAgJ1tAdHVpU2xpZGVJblJpZ2h0XSc6ICdvcHRpb25zJyxcbiAgICAgICAgJ1tAdHVpSGVpZ2h0Q29sbGFwc2VdJzogJ29wdGlvbnMnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVB1c2hBbGVydCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0dWlUb0FuaW1hdGlvbk9wdGlvbnMoaW5qZWN0KFRVSV9BTklNQVRJT05TX1NQRUVEKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3RDb250ZXh0PFR1aVBvcG92ZXI8VHVpUHVzaE9wdGlvbnMsIHN0cmluZz4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzRGlyZWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmNvbnRlbnQgaW5zdGFuY2VvZiBUdWlQdXNoRGlyZWN0aXZlO1xuICAgIH1cbn1cbiIsIjx0dWktcHVzaFxuICAgICpuZ0lmPVwiIWlzRGlyZWN0aXZlOyBlbHNlIGRpcmVjdGl2ZVwiXG4gICAgW2hlYWRpbmddPVwiY29udGV4dC5oZWFkaW5nXCJcbiAgICBbdGltZXN0YW1wXT1cImNvbnRleHQudGltZXN0YW1wXCJcbiAgICBbdHlwZV09XCJjb250ZXh0LnR5cGVcIlxuICAgIChjbG9zZSk9XCJjb250ZXh0LiRpbXBsaWNpdC5jb21wbGV0ZSgpXCJcbj5cbiAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5pbWFnZVwiXG4gICAgICAgIGFsdD1cIlwiXG4gICAgICAgIFtzcmNdPVwiY29udGV4dC5pbWFnZVwiXG4gICAgLz5cbiAgICA8dHVpLWljb25cbiAgICAgICAgKm5nSWY9XCJjb250ZXh0Lmljb25cIlxuICAgICAgICBbaWNvbl09XCJjb250ZXh0Lmljb25cIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29udGV4dC5pY29uQ29sb3JcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGNvbnRleHRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cInRleHRcIlxuICAgID48L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiY29udGV4dC5idXR0b25zLmxlbmd0aCA+IDFcIlxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LiRpbXBsaWNpdC5uZXh0KGNvbnRleHQuYnV0dG9uc1swXSB8fCAnJylcIlxuICAgID5cbiAgICAgICAge3sgY29udGV4dC5idXR0b25zWzBdIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImNvbnRleHQuYnV0dG9ucy5sZW5ndGhcIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiY29udGV4dC4kaW1wbGljaXQubmV4dChjb250ZXh0LmJ1dHRvbnNbY29udGV4dC5idXR0b25zLmxlbmd0aCAtIDFdIHx8ICcnKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmJ1dHRvbnNbY29udGV4dC5idXR0b25zLmxlbmd0aCAtIDFdIH19XG4gICAgPC9idXR0b24+XG48L3R1aS1wdXNoPlxuPG5nLXRlbXBsYXRlICNkaXJlY3RpdmU+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGV4dC5jb250ZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -12,23 +12,28 @@ class TuiPushComponent {
12
12
  this.icons = inject(TUI_COMMON_ICONS);
13
13
  this.heading = '';
14
14
  this.type = '';
15
+ this.lines = 2;
15
16
  this.timestamp = '';
16
17
  this.close = new EventEmitter();
17
18
  }
18
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushComponent, isStandalone: true, selector: "tui-push", inputs: { heading: "heading", type: "type", timestamp: "timestamp" }, outputs: { close: "close" }, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: TuiFormatDatePipe, name: "tuiFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushComponent, isStandalone: true, selector: "tui-push", inputs: { heading: "heading", type: "type", lines: "lines", timestamp: "timestamp" }, outputs: { close: "close" }, host: { properties: { "style.--t-lines": "lines" } }, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--t-lines);word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: TuiFormatDatePipe, name: "tuiFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
21
  }
21
22
  export { TuiPushComponent };
22
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushComponent, decorators: [{
23
24
  type: Component,
24
- args: [{ standalone: true, selector: 'tui-push', imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"] }]
25
+ args: [{ standalone: true, selector: 'tui-push', imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], host: {
26
+ '[style.--t-lines]': 'lines',
27
+ }, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--t-lines);word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"] }]
25
28
  }], propDecorators: { heading: [{
26
29
  type: Input
27
30
  }], type: [{
28
31
  type: Input
32
+ }], lines: [{
33
+ type: Input
29
34
  }], timestamp: [{
30
35
  type: Input
31
36
  }], close: [{
32
37
  type: Output
33
38
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRXZFLE1BU2EsZ0JBQWdCO0lBVDdCO1FBVXVCLGFBQVEsR0FBRyxXQUFXLENBQUM7UUFDdkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFHN0MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLFNBQUksR0FBRyxFQUFFLENBQUM7UUFHVixjQUFTLEdBQW9CLEVBQUUsQ0FBQztRQUd2QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQUNwRDsrR0FoQlksZ0JBQWdCO21HQUFoQixnQkFBZ0IsMEpBRmQsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUMsMEJDckIvRSxnaENBNENBLG14Q0QzQmMsU0FBUyw4Q0FBRSxJQUFJLDZGQUFFLFNBQVMsK0hBQUUsaUJBQWlCOztTQU05QyxnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFUNUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sVUFBVSxXQUNYLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsbUJBR3ZDLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7OEJBUXBFLE9BQU87c0JBRGIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlVLEtBQUs7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUJ1dHRvbiwgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUZvcm1hdERhdGVQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9mb3JtYXQtZGF0ZSc7XG5pbXBvcnQge1RVSV9DTE9TRV9XT1JELCBUVUlfQ09NTU9OX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXB1c2gnLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWYsIFR1aUJ1dHRvbiwgVHVpRm9ybWF0RGF0ZVBpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wdXNoLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3B1c2guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ3MnLCBhcHBlYXJhbmNlOiAnc2Vjb25kYXJ5J30pXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHVzaENvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzU3RyaW5nID0gdHVpSXNTdHJpbmc7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsb3NlV29yZCQgPSBpbmplY3QoVFVJX0NMT1NFX1dPUkQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR5cGUgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHRpbWVzdGFtcDogbnVtYmVyIHwgc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1pbWFnZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImltZ1wiIC8+XG48L2Rpdj5cbjxidXR0b25cbiAgICAqbmdJZj1cImNsb3NlLm9ic2VydmVkXCJcbiAgICBhcHBlYXJhbmNlPVwiXCJcbiAgICBzaXplPVwieHNcIlxuICAgIHR1aUljb25CdXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cInQtY2xvc2VcIlxuICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuY2xvc2VcIlxuICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzLiVdPVwiMTAwXCJcbiAgICAoY2xpY2spPVwiY2xvc2UuZW1pdCgpXCJcbj5cbiAgICB7eyBjbG9zZVdvcmQkIHwgYXN5bmMgfX1cbjwvYnV0dG9uPlxuPGRpdiBjbGFzcz1cInQtdG9wXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0LWljb25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLXN2Zyx0dWktaWNvblwiIC8+XG4gICAgPC9zcGFuPlxuICAgIHt7IHR5cGUgfX1cbiAgICA8c3BhblxuICAgICAgICAqbmdJZj1cInRpbWVzdGFtcFwiXG4gICAgICAgIGNsYXNzPVwidC10aW1lXCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cImlzU3RyaW5nKHRpbWVzdGFtcCkgPyB0aW1lc3RhbXAgOiAodGltZXN0YW1wIHwgdHVpRm9ybWF0RGF0ZSB8IGFzeW5jKVwiXG4gICAgPjwvc3Bhbj5cbjwvZGl2PlxuPGgzXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1wdXNoX19oZWFkaW5nXCJcbiAgICBjbGFzcz1cInQtaGVhZGluZ1wiXG4+XG4gICAge3sgaGVhZGluZyB9fVxuPC9oMz5cbjxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudCAvPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidC1hY3Rpb25zXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0LWJ1dHRvblwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHVpQnV0dG9uXVwiIC8+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwidC1saW5rXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0dWlMaW5rXVwiIC8+XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wdXNoL3B1c2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHVzaC9wdXNoLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRXZFLE1BWWEsZ0JBQWdCO0lBWjdCO1FBYXVCLGFBQVEsR0FBRyxXQUFXLENBQUM7UUFDdkIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFHN0MsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUdiLFNBQUksR0FBRyxFQUFFLENBQUM7UUFHVixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR1YsY0FBUyxHQUFvQixFQUFFLENBQUM7UUFHdkIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FDcEQ7K0dBbkJZLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGdPQUxkLENBQUMsd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLDBCQ3JCL0UsZ2hDQTRDQSxneUNEM0JjLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxTQUFTLCtIQUFFLGlCQUFpQjs7U0FTOUMsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBWjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FDWCxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLG1CQUd2Qyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFDLFFBQ3JFO3dCQUNGLG1CQUFtQixFQUFFLE9BQU87cUJBQy9COzhCQVFNLE9BQU87c0JBRGIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJVSxLQUFLO3NCQURwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGUsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUlzU3RyaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlCdXR0b24sIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlGb3JtYXREYXRlUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZm9ybWF0LWRhdGUnO1xuaW1wb3J0IHtUVUlfQ0xPU0VfV09SRCwgVFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1wdXNoJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ0lmLCBUdWlCdXR0b24sIFR1aUZvcm1hdERhdGVQaXBlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHVzaC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wdXNoLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe3NpemU6ICdzJywgYXBwZWFyYW5jZTogJ3NlY29uZGFyeSd9KV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdC1saW5lc10nOiAnbGluZXMnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVB1c2hDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1N0cmluZyA9IHR1aUlzU3RyaW5nO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjbG9zZVdvcmQkID0gaW5qZWN0KFRVSV9DTE9TRV9XT1JEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0NPTU1PTl9JQ09OUyk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoZWFkaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0eXBlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsaW5lcyA9IDI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aW1lc3RhbXA6IG51bWJlciB8IHN0cmluZyA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xufVxuIiwiPGRpdiBjbGFzcz1cInQtaW1hZ2VcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbWdcIiAvPlxuPC9kaXY+XG48YnV0dG9uXG4gICAgKm5nSWY9XCJjbG9zZS5vYnNlcnZlZFwiXG4gICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgc2l6ZT1cInhzXCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0LWNsb3NlXCJcbiAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICBbc3R5bGUuYm9yZGVyLXJhZGl1cy4lXT1cIjEwMFwiXG4gICAgKGNsaWNrKT1cImNsb3NlLmVtaXQoKVwiXG4+XG4gICAge3sgY2xvc2VXb3JkJCB8IGFzeW5jIH19XG48L2J1dHRvbj5cbjxkaXYgY2xhc3M9XCJ0LXRvcFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidC1pY29uXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aS1zdmcsdHVpLWljb25cIiAvPlxuICAgIDwvc3Bhbj5cbiAgICB7eyB0eXBlIH19XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJ0aW1lc3RhbXBcIlxuICAgICAgICBjbGFzcz1cInQtdGltZVwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJpc1N0cmluZyh0aW1lc3RhbXApID8gdGltZXN0YW1wIDogKHRpbWVzdGFtcCB8IHR1aUZvcm1hdERhdGUgfCBhc3luYylcIlxuICAgID48L3NwYW4+XG48L2Rpdj5cbjxoM1xuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHVzaF9faGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LWhlYWRpbmdcIlxuPlxuICAgIHt7IGhlYWRpbmcgfX1cbjwvaDM+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQgLz5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInQtYWN0aW9uc1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidC1idXR0b25cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aUJ1dHRvbl1cIiAvPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInQtbGlua1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHVpTGlua11cIiAvPlxuICAgIDwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-data-list-wrapper.mjs","sources":["../../../projects/kit/components/data-list-wrapper/data-list-wrapper.component.ts","../../../projects/kit/components/data-list-wrapper/data-list-wrapper.template.html","../../../projects/kit/components/data-list-wrapper/data-list-group-wrapper.component.ts","../../../projects/kit/components/data-list-wrapper/data-list-group-wrapper.template.html","../../../projects/kit/components/data-list-wrapper/data-list-wrapper.module.ts","../../../projects/kit/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.ts"],"sourcesContent":["import {NgForOf, NgIf} from '@angular/common';\nimport type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiElement} from '@taiga-ui/cdk/directives/element';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListAccessor,\n TuiDataList,\n tuiInjectDataListSize,\n TuiOption,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport type {TuiValueContentContext} from '@taiga-ui/core/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: true,\n selector: 'tui-data-list-wrapper:not([labels])',\n imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiDataList, TuiElement, TuiLoader],\n templateUrl: './data-list-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListWrapperComponent)],\n})\nexport class TuiDataListWrapperComponent<T, K = T> {\n private readonly itemsHandlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n\n @ViewChildren(forwardRef(() => TuiOption))\n protected readonly optionsQuery: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n @Input()\n public items: readonly K[] | null = [];\n\n @Input()\n public disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n public emptyContent: PolymorpheusContent;\n\n @Input()\n public size = tuiInjectDataListSize();\n\n @Output()\n public readonly itemClick = new EventEmitter<T>();\n\n @Input()\n public itemContent: PolymorpheusContent<TuiValueContentContext<T>> = ({$implicit}) =>\n this.itemsHandlers.stringify($implicit);\n\n public getContext(\n $implicit: T,\n {nativeElement}: ElementRef<HTMLElement>,\n ): TuiValueContentContext<T> {\n return {$implicit, active: tuiIsNativeFocused(nativeElement)};\n }\n\n public getOptions(includeDisabled = false): readonly T[] {\n return this.optionsQuery\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n protected $cast(items: readonly K[]): readonly T[] {\n return items as unknown as readonly T[];\n }\n}\n","<tui-data-list\n *ngIf=\"items; else loading\"\n [emptyContent]=\"emptyContent\"\n [size]=\"size\"\n>\n <button\n *ngFor=\"let item of $cast(items)\"\n #elementRef=\"elementRef\"\n automation-id=\"tui-data-list-wrapper__option\"\n tuiElement\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n (click)=\"itemClick.emit(item)\"\n >\n <span class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item, elementRef)\">\n {{ text }}\n </ng-container>\n </span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n automation-id=\"tui-data-list-wrapper__loader\"\n class=\"t-loader\"\n />\n</ng-template>\n","import {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiElement} from '@taiga-ui/cdk/directives/element';\nimport {tuiAsDataListAccessor, TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\n@Component({\n standalone: true,\n selector: 'tui-data-list-wrapper[labels]',\n imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiDataList, TuiElement, TuiLoader],\n templateUrl: './data-list-group-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListGroupWrapperComponent)],\n})\nexport class TuiDataListGroupWrapperComponent<T> extends TuiDataListWrapperComponent<\n T,\n T[]\n> {\n @Input()\n public labels: readonly string[] = [];\n}\n","<tui-data-list\n *ngIf=\"items; else loading\"\n [emptyContent]=\"emptyContent\"\n [size]=\"size\"\n>\n <tui-opt-group\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n >\n <button\n *ngFor=\"let item of group\"\n #elementRef=\"elementRef\"\n automation-id=\"tui-data-list-wrapper__option\"\n tuiElement\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n (click)=\"itemClick.emit(item)\"\n >\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item, elementRef)\">\n {{ text }}\n </ng-container>\n </button>\n </tui-opt-group>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader class=\"t-loader\" />\n</ng-template>\n","import {TuiDataListDirective} from '@taiga-ui/core/components/data-list';\n\nimport {TuiDataListGroupWrapperComponent} from './data-list-group-wrapper.component';\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\nexport const TuiDataListWrapper = [\n TuiDataListWrapperComponent,\n TuiDataListGroupWrapperComponent,\n TuiDataListDirective,\n] as const;\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-data-list-wrapper.mjs","sources":["../../../projects/kit/components/data-list-wrapper/data-list-wrapper.component.ts","../../../projects/kit/components/data-list-wrapper/data-list-wrapper.template.html","../../../projects/kit/components/data-list-wrapper/data-list-group-wrapper.component.ts","../../../projects/kit/components/data-list-wrapper/data-list-group-wrapper.template.html","../../../projects/kit/components/data-list-wrapper/data-list-wrapper.module.ts","../../../projects/kit/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.ts"],"sourcesContent":["import {NgForOf, NgIf} from '@angular/common';\nimport type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n Output,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiElement} from '@taiga-ui/cdk/directives/element';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListAccessor,\n TuiDataList,\n tuiInjectDataListSize,\n TuiOption,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport type {TuiValueContentContext} from '@taiga-ui/core/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: true,\n selector: 'tui-data-list-wrapper:not([labels])',\n imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiDataList, TuiElement, TuiLoader],\n templateUrl: './data-list-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListWrapperComponent)],\n})\nexport class TuiDataListWrapperComponent<T, K = T> {\n private readonly itemsHandlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n\n @ViewChildren(forwardRef(() => TuiOption))\n protected readonly optionsQuery: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n @Input()\n public items: readonly K[] | null = [];\n\n @Input()\n public disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n public emptyContent: PolymorpheusContent;\n\n @Input()\n public size = tuiInjectDataListSize();\n\n @Output()\n public readonly itemClick = new EventEmitter<T>();\n\n @Input()\n public itemContent: PolymorpheusContent<TuiValueContentContext<T>> = ({$implicit}) =>\n this.itemsHandlers.stringify($implicit);\n\n public getContext(\n $implicit: T,\n {nativeElement}: ElementRef<HTMLElement>,\n ): TuiValueContentContext<T> {\n return {$implicit, active: tuiIsNativeFocused(nativeElement)};\n }\n\n public getOptions(includeDisabled = false): readonly T[] {\n return this.optionsQuery\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n protected $cast(items: readonly K[]): readonly T[] {\n return items as unknown as readonly T[];\n }\n}\n","<tui-data-list\n *ngIf=\"items; else loading\"\n [emptyContent]=\"emptyContent\"\n [size]=\"size\"\n>\n <button\n *ngFor=\"let item of $cast(items)\"\n #elementRef=\"elementRef\"\n automation-id=\"tui-data-list-wrapper__option\"\n tuiElement\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n (click)=\"itemClick.emit(item)\"\n >\n <span class=\"t-content\">\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item, elementRef)\">\n {{ text }}\n </ng-container>\n </span>\n </button>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader\n automation-id=\"tui-data-list-wrapper__loader\"\n class=\"t-loader\"\n />\n</ng-template>\n","import {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiElement} from '@taiga-ui/cdk/directives/element';\nimport {tuiAsDataListAccessor, TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLoader} from '@taiga-ui/core/components/loader';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\n@Component({\n standalone: true,\n selector: 'tui-data-list-wrapper[labels]',\n imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiDataList, TuiElement, TuiLoader],\n templateUrl: './data-list-group-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListGroupWrapperComponent)],\n})\nexport class TuiDataListGroupWrapperComponent<T> extends TuiDataListWrapperComponent<\n T,\n readonly T[]\n> {\n @Input()\n public labels: readonly string[] = [];\n}\n","<tui-data-list\n *ngIf=\"items; else loading\"\n [emptyContent]=\"emptyContent\"\n [size]=\"size\"\n>\n <tui-opt-group\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n >\n <button\n *ngFor=\"let item of group\"\n #elementRef=\"elementRef\"\n automation-id=\"tui-data-list-wrapper__option\"\n tuiElement\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n (click)=\"itemClick.emit(item)\"\n >\n <ng-container *polymorpheusOutlet=\"itemContent as text; context: getContext(item, elementRef)\">\n {{ text }}\n </ng-container>\n </button>\n </tui-opt-group>\n</tui-data-list>\n<ng-template #loading>\n <tui-loader class=\"t-loader\" />\n</ng-template>\n","import {TuiDataListDirective} from '@taiga-ui/core/components/data-list';\n\nimport {TuiDataListGroupWrapperComponent} from './data-list-group-wrapper.component';\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\nexport const TuiDataListWrapper = [\n TuiDataListWrapperComponent,\n TuiDataListGroupWrapperComponent,\n TuiDataListDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { TuiCalendarMonth } from '@taiga-ui/kit/components/calendar-month';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, computed, effect, signal, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { inject, computed, effect, Directive, signal, Component, ViewEncapsulation, ChangeDetectionStrategy, Input } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { TuiControl, tuiAsControl } from '@taiga-ui/cdk/classes';
6
6
  import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
7
- import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth } from '@taiga-ui/cdk/date-time';
8
7
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
9
8
  import { tuiValueBinding, tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
10
9
  import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
@@ -15,6 +14,7 @@ import { TuiIcons } from '@taiga-ui/core/directives/icons';
15
14
  import { TUI_MONTH_FORMATTER } from '@taiga-ui/kit/tokens';
16
15
  import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
17
16
  import { NgIf } from '@angular/common';
17
+ import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth } from '@taiga-ui/cdk/date-time';
18
18
 
19
19
  const TUI_INPUT_MONTH_DEFAULT_OPTIONS = {
20
20
  icon: () => '@tui.calendar',
@@ -33,12 +33,7 @@ class TuiInputMonthDirective extends TuiControl {
33
33
  this.textfieldValue = tuiValueBinding(computed(() => this.formatter()(this.value())));
34
34
  this.icon = tuiDirectiveBinding(TuiIcons, 'iconEnd', computed(() => this.options.icon(this.textfieldOptions.size())), {});
35
35
  this.calendarSync = effect(() => {
36
- const calendar = this.calendar();
37
- if (calendar) {
38
- calendar.value.set(this.value());
39
- calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback
40
- calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback
41
- }
36
+ this.calendar()?.value.set(this.value());
42
37
  }, TUI_ALLOW_SIGNAL_WRITES);
43
38
  this.onMonthClickEffect = effect((onCleanup) => {
44
39
  const subscription = this.calendar()?.monthClick.subscribe((month) => {
@@ -47,8 +42,6 @@ class TuiInputMonthDirective extends TuiControl {
47
42
  });
48
43
  onCleanup(() => subscription?.unsubscribe());
49
44
  });
50
- this.min = signal(null);
51
- this.max = signal(null);
52
45
  this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendarMonth);
53
46
  this.nativePickerEnabled = tuiInjectElement().type === 'month' && inject(TUI_IS_MOBILE);
54
47
  /**
@@ -57,12 +50,6 @@ class TuiInputMonthDirective extends TuiControl {
57
50
  */
58
51
  inject(TUI_DROPDOWN_OPTIONS).limitWidth = 'auto';
59
52
  }
60
- set minSetter(x) {
61
- this.min.set(x);
62
- }
63
- set maxSetter(x) {
64
- this.max.set(x);
65
- }
66
53
  setDisabledState() {
67
54
  super.setDisabledState();
68
55
  this.open.set(false);
@@ -79,7 +66,7 @@ class TuiInputMonthDirective extends TuiControl {
79
66
  }
80
67
  }
81
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { attributes: { "inputmode": "none" }, listeners: { "click": "toggleDropdown()", "blur": "onTouched()", "beforeinput": "$event.inputType.includes(\"delete\") || $event.preventDefault()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [tuiAsControl(TuiInputMonthDirective)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0 }); }
69
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { attributes: { "inputmode": "none" }, listeners: { "click": "toggleDropdown()", "blur": "onTouched()", "beforeinput": "$event.inputType.includes(\"delete\") || $event.preventDefault()", "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [tuiAsControl(TuiInputMonthDirective)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0 }); }
83
70
  }
84
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
85
72
  type: Directive,
@@ -97,18 +84,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
97
84
  '(input)': '$event.inputType?.includes("delete") && clear()',
98
85
  },
99
86
  }]
100
- }], ctorParameters: function () { return []; }, propDecorators: { minSetter: [{
101
- type: Input,
102
- args: ['min']
103
- }], maxSetter: [{
104
- type: Input,
105
- args: ['max']
106
- }] } });
87
+ }], ctorParameters: function () { return []; } });
107
88
 
108
89
  class TuiNativeMonthPicker {
109
90
  constructor() {
110
91
  this.control = inject(TuiControl);
111
92
  this.host = inject(TuiInputMonthDirective);
93
+ this.min = signal(null);
94
+ this.max = signal(null);
95
+ this.calendarSync = effect(() => {
96
+ const calendar = this.host.calendar();
97
+ if (calendar) {
98
+ calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback
99
+ calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback
100
+ }
101
+ }, TUI_ALLOW_SIGNAL_WRITES);
102
+ }
103
+ // TODO(v5): use signal inputs
104
+ set minSetter(x) {
105
+ this.min.set(x);
106
+ }
107
+ // TODO(v5): use signal inputs
108
+ set maxSetter(x) {
109
+ this.max.set(x);
112
110
  }
113
111
  onInput(value) {
114
112
  if (!value) {
@@ -118,14 +116,20 @@ class TuiNativeMonthPicker {
118
116
  this.control.onChange(new TuiMonth(year, month - 1));
119
117
  }
120
118
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMonthPicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeMonthPicker, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", host: { properties: { "type": "\"text\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"host.max()?.toJSON()\"\n [min]=\"host.min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeMonthPicker, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { properties: { "type": "\"text\"" } }, ngImport: i0, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
122
120
  }
123
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMonthPicker, decorators: [{
124
122
  type: Component,
125
123
  args: [{ standalone: true, selector: 'input[tuiInputMonth][type="month"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
126
124
  '[type]': '"text"',
127
- }, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"host.max()?.toJSON()\"\n [min]=\"host.min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
128
- }] });
125
+ }, template: "<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputMonth]+.t-content input[type=month]{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;border:0}tui-textfield input[tuiInputMonth]+.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
126
+ }], propDecorators: { minSetter: [{
127
+ type: Input,
128
+ args: ['min']
129
+ }], maxSetter: [{
130
+ type: Input,
131
+ args: ['max']
132
+ }] } });
129
133
 
130
134
  const TuiInputMonth = [
131
135
  TuiInputMonthDirective,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-month.mjs","sources":["../../../projects/kit/components/input-month/input-month.options.ts","../../../projects/kit/components/input-month/input-month.directive.ts","../../../projects/kit/components/input-month/native-month-picker/native-month-picker.component.ts","../../../projects/kit/components/input-month/native-month-picker/native-month-picker.template.html","../../../projects/kit/components/input-month/input-month.ts","../../../projects/kit/components/input-month/taiga-ui-kit-components-input-month.ts"],"sourcesContent":["import type {TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiInputMonthOptions {\n readonly icon: TuiHandler<TuiSizeL | TuiSizeS, string>;\n}\n\nexport const TUI_INPUT_MONTH_DEFAULT_OPTIONS: TuiInputMonthOptions = {\n icon: () => '@tui.calendar',\n};\n\nexport const [TUI_INPUT_MONTH_OPTIONS, tuiInputMonthOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_MONTH_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, effect, inject, Input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport type {TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiValueBinding} from '@taiga-ui/cdk/utils/dom';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n tuiInjectAuxiliary,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {TUI_DROPDOWN_OPTIONS, tuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\nimport {TUI_MONTH_FORMATTER} from '@taiga-ui/kit/tokens';\n\nimport {TUI_INPUT_MONTH_OPTIONS} from './input-month.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputMonth]',\n providers: [tuiAsControl(TuiInputMonthDirective)],\n hostDirectives: [TuiWithTextfield],\n host: {\n inputmode: 'none',\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(blur)': 'onTouched()',\n '(beforeinput)': '$event.inputType.includes(\"delete\") || $event.preventDefault()',\n '(input)': '$event.inputType?.includes(\"delete\") && clear()',\n },\n})\nexport class TuiInputMonthDirective extends TuiControl<TuiMonth | null> {\n private readonly options = inject(TUI_INPUT_MONTH_OPTIONS);\n private readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n\n private readonly open = tuiDropdownOpen();\n\n private readonly formatter = toSignal(inject(TUI_MONTH_FORMATTER), {\n initialValue: () => '',\n });\n\n protected readonly textfieldValue = tuiValueBinding(\n computed(() => this.formatter()(this.value())),\n );\n\n protected readonly icon = tuiDirectiveBinding(\n TuiIcons,\n 'iconEnd',\n computed(() => this.options.icon(this.textfieldOptions.size())),\n {},\n );\n\n protected readonly calendarSync = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n calendar.value.set(this.value());\n calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback\n calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected onMonthClickEffect = effect((onCleanup) => {\n const subscription = this.calendar()?.monthClick.subscribe((month) => {\n this.onChange(month);\n this.open.set(false);\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n public readonly min = signal<TuiMonth | null>(null);\n public readonly max = signal<TuiMonth | null>(null);\n public readonly calendar = tuiInjectAuxiliary<TuiCalendarMonth>(\n (x) => x instanceof TuiCalendarMonth,\n );\n\n public readonly nativePickerEnabled =\n tuiInjectElement<HTMLInputElement>().type === 'month' && inject(TUI_IS_MOBILE);\n\n constructor() {\n super();\n\n /**\n * Update directive props with new defaults before inputs are processed\n * TODO: find better way to override TuiDropdownFixed host directive from TuiTextfieldComponent\n */\n (inject(TUI_DROPDOWN_OPTIONS) as any).limitWidth = 'auto';\n }\n\n @Input('min')\n public set minSetter(x: TuiMonth | null) {\n this.min.set(x);\n }\n\n @Input('max')\n public set maxSetter(x: TuiMonth | null) {\n this.max.set(x);\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open.set(false);\n }\n\n protected toggleDropdown(): void {\n if (this.interactive() && !this.nativePickerEnabled) {\n this.open.update((x) => !x);\n }\n }\n\n protected clear(): void {\n this.onChange(null);\n\n if (!this.nativePickerEnabled) {\n this.open.set(true);\n }\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiTextfieldContent} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputMonthDirective} from '../input-month.directive';\n\n@Component({\n standalone: true,\n selector: 'input[tuiInputMonth][type=\"month\"]',\n imports: [NgIf, TuiTextfieldContent],\n templateUrl: './native-month-picker.template.html',\n styleUrls: ['./native-month-picker.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[type]': '\"text\"',\n },\n})\nexport class TuiNativeMonthPicker {\n private readonly control = inject(TuiControl);\n\n protected readonly host = inject(TuiInputMonthDirective);\n\n protected onInput(value: string): void {\n if (!value) {\n return this.control.onChange(null);\n }\n\n const [year = 0, month = 0] = value.split('-').map(Number);\n\n this.control.onChange(new TuiMonth(year, month - 1));\n }\n}\n","<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"host.max()?.toJSON()\"\n [min]=\"host.min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n","import {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TuiInputMonthDirective} from './input-month.directive';\nimport {TuiNativeMonthPicker} from './native-month-picker/native-month-picker.component';\n\nexport const TuiInputMonth = [\n TuiInputMonthDirective,\n TuiCalendarMonth,\n TuiNativeMonthPicker,\n] as const;\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-input-month.mjs","sources":["../../../projects/kit/components/input-month/input-month.options.ts","../../../projects/kit/components/input-month/input-month.directive.ts","../../../projects/kit/components/input-month/native-month-picker/native-month-picker.component.ts","../../../projects/kit/components/input-month/native-month-picker/native-month-picker.template.html","../../../projects/kit/components/input-month/input-month.ts","../../../projects/kit/components/input-month/taiga-ui-kit-components-input-month.ts"],"sourcesContent":["import type {TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiInputMonthOptions {\n readonly icon: TuiHandler<TuiSizeL | TuiSizeS, string>;\n}\n\nexport const TUI_INPUT_MONTH_DEFAULT_OPTIONS: TuiInputMonthOptions = {\n icon: () => '@tui.calendar',\n};\n\nexport const [TUI_INPUT_MONTH_OPTIONS, tuiInputMonthOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_MONTH_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, effect, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport type {TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiValueBinding} from '@taiga-ui/cdk/utils/dom';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n tuiInjectAuxiliary,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {TUI_DROPDOWN_OPTIONS, tuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\nimport {TUI_MONTH_FORMATTER} from '@taiga-ui/kit/tokens';\n\nimport {TUI_INPUT_MONTH_OPTIONS} from './input-month.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputMonth]',\n providers: [tuiAsControl(TuiInputMonthDirective)],\n hostDirectives: [TuiWithTextfield],\n host: {\n inputmode: 'none',\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(blur)': 'onTouched()',\n '(beforeinput)': '$event.inputType.includes(\"delete\") || $event.preventDefault()',\n '(input)': '$event.inputType?.includes(\"delete\") && clear()',\n },\n})\nexport class TuiInputMonthDirective extends TuiControl<TuiMonth | null> {\n private readonly options = inject(TUI_INPUT_MONTH_OPTIONS);\n private readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n\n private readonly open = tuiDropdownOpen();\n\n private readonly formatter = toSignal(inject(TUI_MONTH_FORMATTER), {\n initialValue: () => '',\n });\n\n protected readonly textfieldValue = tuiValueBinding(\n computed(() => this.formatter()(this.value())),\n );\n\n protected readonly icon = tuiDirectiveBinding(\n TuiIcons,\n 'iconEnd',\n computed(() => this.options.icon(this.textfieldOptions.size())),\n {},\n );\n\n protected readonly calendarSync = effect(() => {\n this.calendar()?.value.set(this.value());\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected onMonthClickEffect = effect((onCleanup) => {\n const subscription = this.calendar()?.monthClick.subscribe((month) => {\n this.onChange(month);\n this.open.set(false);\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n public readonly calendar = tuiInjectAuxiliary<TuiCalendarMonth>(\n (x) => x instanceof TuiCalendarMonth,\n );\n\n public readonly nativePickerEnabled =\n tuiInjectElement<HTMLInputElement>().type === 'month' && inject(TUI_IS_MOBILE);\n\n constructor() {\n super();\n\n /**\n * Update directive props with new defaults before inputs are processed\n * TODO: find better way to override TuiDropdownFixed host directive from TuiTextfieldComponent\n */\n (inject(TUI_DROPDOWN_OPTIONS) as any).limitWidth = 'auto';\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open.set(false);\n }\n\n protected toggleDropdown(): void {\n if (this.interactive() && !this.nativePickerEnabled) {\n this.open.update((x) => !x);\n }\n }\n\n protected clear(): void {\n this.onChange(null);\n\n if (!this.nativePickerEnabled) {\n this.open.set(true);\n }\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiTextfieldContent} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputMonthDirective} from '../input-month.directive';\n\n@Component({\n standalone: true,\n selector: 'input[tuiInputMonth][type=\"month\"]',\n imports: [NgIf, TuiTextfieldContent],\n templateUrl: './native-month-picker.template.html',\n styleUrls: ['./native-month-picker.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[type]': '\"text\"',\n },\n})\nexport class TuiNativeMonthPicker {\n private readonly control = inject(TuiControl);\n\n protected readonly host = inject(TuiInputMonthDirective);\n protected readonly min = signal<TuiMonth | null>(null);\n protected readonly max = signal<TuiMonth | null>(null);\n protected readonly calendarSync = effect(() => {\n const calendar = this.host.calendar();\n\n if (calendar) {\n calendar.min.set(this.min() ?? TUI_FIRST_DAY); // TODO(v5): remove TUI_FIRST_DAY fallback\n calendar.max.set(this.max() ?? TUI_LAST_DAY); // TODO(v5): remove TUI_LAST_DAY fallback\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n // TODO(v5): use signal inputs\n @Input('min')\n public set minSetter(x: TuiMonth | null) {\n this.min.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('max')\n public set maxSetter(x: TuiMonth | null) {\n this.max.set(x);\n }\n\n protected onInput(value: string): void {\n if (!value) {\n return this.control.onChange(null);\n }\n\n const [year = 0, month = 0] = value.split('-').map(Number);\n\n this.control.onChange(new TuiMonth(year, month - 1));\n }\n}\n","<ng-container *ngIf=\"host.nativePickerEnabled\">\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (mousedown.stop.zoneless)=\"(0)\"\n />\n</ng-container>\n","import {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TuiInputMonthDirective} from './input-month.directive';\nimport {TuiNativeMonthPicker} from './native-month-picker/native-month-picker.component';\n\nexport const TuiInputMonth = [\n TuiInputMonthDirective,\n TuiCalendarMonth,\n TuiNativeMonthPicker,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -23,19 +23,24 @@ class TuiPushComponent {
23
23
  this.icons = inject(TUI_COMMON_ICONS);
24
24
  this.heading = '';
25
25
  this.type = '';
26
+ this.lines = 2;
26
27
  this.timestamp = '';
27
28
  this.close = new EventEmitter();
28
29
  }
29
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushComponent, isStandalone: true, selector: "tui-push", inputs: { heading: "heading", type: "type", timestamp: "timestamp" }, outputs: { close: "close" }, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: TuiFormatDatePipe, name: "tuiFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushComponent, isStandalone: true, selector: "tui-push", inputs: { heading: "heading", type: "type", lines: "lines", timestamp: "timestamp" }, outputs: { close: "close" }, host: { properties: { "style.--t-lines": "lines" } }, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], ngImport: i0, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--t-lines);word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: TuiFormatDatePipe, name: "tuiFormatDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
32
  }
32
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushComponent, decorators: [{
33
34
  type: Component,
34
- args: [{ standalone: true, selector: 'tui-push', imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"] }]
35
+ args: [{ standalone: true, selector: 'tui-push', imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiButtonOptionsProvider({ size: 's', appearance: 'secondary' })], host: {
36
+ '[style.--t-lines]': 'lines',
37
+ }, template: "<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n", styles: [":host{position:relative;display:block;inline-size:22.5rem;max-inline-size:100%;box-sizing:border-box;padding:1.25rem 1.25rem .25rem;overflow:hidden;font:var(--tui-font-text-m);border-radius:var(--tui-radius-xl);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-small)}.t-image{display:flex;flex-direction:column;max-block-size:10.625rem;overflow:hidden;margin:-1.25rem -1.25rem 1.25rem}.t-close{position:absolute;top:.75rem;right:.75rem;color:#0000008a;background:#f2f2f252;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.t-top{display:flex;align-items:center;font:var(--tui-font-text-s);color:var(--tui-text-secondary)}.t-icon{block-size:1.25rem;margin-right:.5rem;transform:scale(.833);transform-origin:top left;color:var(--tui-text-action)}.t-time:before{content:\"\\2022\";display:inline-block;inline-size:1rem;text-align:center}.t-heading{line-height:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.t-heading,.t-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--t-lines);word-break:break-word;overflow:hidden}.t-actions{display:flex;align-items:center;font:var(--tui-font-text-s)}.t-button:not(:empty){margin:.75rem .75rem .75rem 0}.t-link{margin:.75rem 0}.t-link:empty{margin:.5rem}\n"] }]
35
38
  }], propDecorators: { heading: [{
36
39
  type: Input
37
40
  }], type: [{
38
41
  type: Input
42
+ }], lines: [{
43
+ type: Input
39
44
  }], timestamp: [{
40
45
  type: Input
41
46
  }], close: [{
@@ -68,7 +73,7 @@ class TuiPushAlert {
68
73
  return this.context.content instanceof TuiPushDirective;
69
74
  }
70
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "timestamp"], outputs: ["close"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPushAlert, isStandalone: true, selector: "ng-component", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "options", "@tuiSlideInRight": "options", "@tuiHeightCollapse": "options" } }, ngImport: i0, template: "<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n", styles: [":host{max-inline-size:calc(100% - 2rem);margin:0 1rem 1rem auto}:host:first-child{margin-top:auto}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiPushComponent, selector: "tui-push", inputs: ["heading", "type", "lines", "timestamp"], outputs: ["close"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
77
  }
73
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPushAlert, decorators: [{
74
79
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-push.mjs","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.options.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiFormatDatePipe} from '@taiga-ui/core/pipes/format-date';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\n@Component({\n standalone: true,\n selector: 'tui-push',\n imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe],\n templateUrl: './push.template.html',\n styleUrls: ['./push.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiButtonOptionsProvider({size: 's', appearance: 'secondary'})],\n})\nexport class TuiPushComponent {\n protected readonly isString = tuiIsString;\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n\n @Input()\n public heading = '';\n\n @Input()\n public type = '';\n\n @Input()\n public timestamp: number | string = '';\n\n @Output()\n public readonly close = new EventEmitter<void>();\n}\n","<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiPushOptions {\n readonly buttons: readonly string[];\n readonly heading: string;\n readonly icon: string;\n readonly iconColor: string;\n readonly image: string;\n readonly timestamp: number | string;\n readonly type: string;\n}\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: '',\n type: '',\n timestamp: '',\n image: '',\n icon: '',\n iconColor: '',\n buttons: [],\n};\n\n/**\n * Default parameters for Push component\n */\nexport const TUI_PUSH_OPTIONS = tuiCreateToken(TUI_PUSH_DEFAULT_OPTIONS);\n\nexport function tuiPushOptionsProvider(options: Partial<TuiPushOptions>): Provider {\n return tuiProvideOptions(TUI_PUSH_OPTIONS, options, TUI_PUSH_DEFAULT_OPTIONS);\n}\n","import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiFadeIn, tuiHeightCollapse, tuiSlideInRight} from '@taiga-ui/core/animations';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {\n injectContext,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport type {TuiPushOptions} from './push.options';\n\n@Component({\n standalone: true,\n imports: [\n NgIf,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiButton,\n TuiIcon,\n TuiLink,\n TuiPushComponent,\n ],\n templateUrl: './push-alert.template.html',\n styleUrls: ['./push-alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {\n role: 'alert',\n '[@tuiFadeIn]': 'options',\n '[@tuiSlideInRight]': 'options',\n '[@tuiHeightCollapse]': 'options',\n },\n})\nexport class TuiPushAlert {\n protected readonly options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));\n protected readonly context = injectContext<TuiPopover<TuiPushOptions, string>>();\n\n protected get isDirective(): boolean {\n return this.context.content instanceof TuiPushDirective;\n }\n}\n","<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\nimport {TUI_ALERTS} from '@taiga-ui/core/components/alert';\n\nimport type {TuiPushOptions} from './push.options';\nimport {TUI_PUSH_OPTIONS} from './push.options';\nimport {TuiPushAlert} from './push-alert.component';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiPushService(TUI_ALERTS, TuiPushAlert, inject(TUI_PUSH_OPTIONS)),\n})\nexport class TuiPushService extends TuiPopoverService<TuiPushOptions, string> {}\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\nimport {Subject} from 'rxjs';\n\nimport {TuiPushService} from './push.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiPush]',\n})\nexport class TuiPushDirective extends PolymorpheusTemplate {\n private readonly push: TuiPushService = inject(forwardRef(() => TuiPushService));\n private readonly show$ = new Subject<boolean>();\n\n constructor() {\n super(inject(TemplateRef), inject(ChangeDetectorRef));\n\n this.show$\n .pipe(\n tuiIfMap(() => this.push.open(this)),\n takeUntilDestroyed(),\n )\n .subscribe();\n }\n\n @Input()\n public set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n}\n","import {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushAlert} from './push-alert.component';\n\nexport const TuiPush = [TuiPushComponent, TuiPushAlert, TuiPushDirective] as const;\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-push.mjs","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.options.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiFormatDatePipe} from '@taiga-ui/core/pipes/format-date';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\n@Component({\n standalone: true,\n selector: 'tui-push',\n imports: [AsyncPipe, NgIf, TuiButton, TuiFormatDatePipe],\n templateUrl: './push.template.html',\n styleUrls: ['./push.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiButtonOptionsProvider({size: 's', appearance: 'secondary'})],\n host: {\n '[style.--t-lines]': 'lines',\n },\n})\nexport class TuiPushComponent {\n protected readonly isString = tuiIsString;\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n\n @Input()\n public heading = '';\n\n @Input()\n public type = '';\n\n @Input()\n public lines = 2;\n\n @Input()\n public timestamp: number | string = '';\n\n @Output()\n public readonly close = new EventEmitter<void>();\n}\n","<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n<button\n *ngIf=\"close.observed\"\n appearance=\"\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close.emit()\"\n>\n {{ closeWord$ | async }}\n</button>\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-svg,tui-icon\" />\n </span>\n {{ type }}\n <span\n *ngIf=\"timestamp\"\n class=\"t-time\"\n [textContent]=\"isString(timestamp) ? timestamp : (timestamp | tuiFormatDate | async)\"\n ></span>\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiPushOptions {\n readonly buttons: readonly string[];\n readonly heading: string;\n readonly icon: string;\n readonly iconColor: string;\n readonly image: string;\n readonly timestamp: number | string;\n readonly type: string;\n}\n\nexport const TUI_PUSH_DEFAULT_OPTIONS: TuiPushOptions = {\n heading: '',\n type: '',\n timestamp: '',\n image: '',\n icon: '',\n iconColor: '',\n buttons: [],\n};\n\n/**\n * Default parameters for Push component\n */\nexport const TUI_PUSH_OPTIONS = tuiCreateToken(TUI_PUSH_DEFAULT_OPTIONS);\n\nexport function tuiPushOptionsProvider(options: Partial<TuiPushOptions>): Provider {\n return tuiProvideOptions(TUI_PUSH_OPTIONS, options, TUI_PUSH_DEFAULT_OPTIONS);\n}\n","import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport type {TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiFadeIn, tuiHeightCollapse, tuiSlideInRight} from '@taiga-ui/core/animations';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {\n injectContext,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n} from '@taiga-ui/polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport type {TuiPushOptions} from './push.options';\n\n@Component({\n standalone: true,\n imports: [\n NgIf,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiButton,\n TuiIcon,\n TuiLink,\n TuiPushComponent,\n ],\n templateUrl: './push-alert.template.html',\n styleUrls: ['./push-alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {\n role: 'alert',\n '[@tuiFadeIn]': 'options',\n '[@tuiSlideInRight]': 'options',\n '[@tuiHeightCollapse]': 'options',\n },\n})\nexport class TuiPushAlert {\n protected readonly options = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));\n protected readonly context = injectContext<TuiPopover<TuiPushOptions, string>>();\n\n protected get isDirective(): boolean {\n return this.context.content instanceof TuiPushDirective;\n }\n}\n","<tui-push\n *ngIf=\"!isDirective; else directive\"\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n>\n <img\n *ngIf=\"context.image\"\n alt=\"\"\n [src]=\"context.image\"\n />\n <tui-icon\n *ngIf=\"context.icon\"\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n <button\n *ngIf=\"context.buttons.length > 1\"\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n <button\n *ngIf=\"context.buttons.length\"\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n</tui-push>\n<ng-template #directive>\n <ng-container *polymorpheusOutlet=\"context.content\" />\n</ng-template>\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\nimport {TUI_ALERTS} from '@taiga-ui/core/components/alert';\n\nimport type {TuiPushOptions} from './push.options';\nimport {TUI_PUSH_OPTIONS} from './push.options';\nimport {TuiPushAlert} from './push-alert.component';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiPushService(TUI_ALERTS, TuiPushAlert, inject(TUI_PUSH_OPTIONS)),\n})\nexport class TuiPushService extends TuiPopoverService<TuiPushOptions, string> {}\n","import {\n ChangeDetectorRef,\n Directive,\n forwardRef,\n inject,\n Input,\n TemplateRef,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\nimport {Subject} from 'rxjs';\n\nimport {TuiPushService} from './push.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiPush]',\n})\nexport class TuiPushDirective extends PolymorpheusTemplate {\n private readonly push: TuiPushService = inject(forwardRef(() => TuiPushService));\n private readonly show$ = new Subject<boolean>();\n\n constructor() {\n super(inject(TemplateRef), inject(ChangeDetectorRef));\n\n this.show$\n .pipe(\n tuiIfMap(() => this.push.open(this)),\n takeUntilDestroyed(),\n )\n .subscribe();\n }\n\n @Input()\n public set tuiPush(show: boolean) {\n this.show$.next(show);\n }\n}\n","import {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushAlert} from './push-alert.component';\n\nexport const TuiPush = [TuiPushComponent, TuiPushAlert, TuiPushDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "4.27.1-canary.3e35b13",
3
+ "version": "4.27.1-canary.841b87f",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -533,10 +533,10 @@
533
533
  "@angular/core": ">=16.0.0",
534
534
  "@angular/forms": ">=16.0.0",
535
535
  "@angular/router": ">=16.0.0",
536
- "@maskito/angular": "^3.3.0",
537
- "@maskito/core": "^3.3.0",
538
- "@maskito/kit": "^3.3.0",
539
- "@maskito/phone": "^3.3.0",
536
+ "@maskito/angular": "^3.4.0",
537
+ "@maskito/core": "^3.4.0",
538
+ "@maskito/kit": "^3.4.0",
539
+ "@maskito/phone": "^3.4.0",
540
540
  "@ng-web-apis/common": "^4.11.1",
541
541
  "@ng-web-apis/intersection-observer": "^4.11.1",
542
542
  "@ng-web-apis/mutation-observer": "^4.11.1",