@taiga-ui/core 4.51.0-canary.d0d516e → 4.52.0-canary.216e347

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/components/button/button.options.d.ts +1 -1
  2. package/components/icon/icon.component.d.ts +5 -2
  3. package/components/notification/notification.options.d.ts +1 -1
  4. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  5. package/directives/dropdown/dropdown-context.directive.d.ts +2 -0
  6. package/directives/icons/icons.directive.d.ts +4 -2
  7. package/esm2022/components/alert/alerts.component.mjs +4 -5
  8. package/esm2022/components/calendar/calendar-sheet.component.mjs +6 -5
  9. package/esm2022/components/dialog/dialogs.component.mjs +3 -3
  10. package/esm2022/components/icon/icon.component.mjs +22 -13
  11. package/esm2022/components/root/root.component.mjs +3 -3
  12. package/esm2022/components/textfield/select.directive.mjs +4 -5
  13. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +10 -4
  14. package/esm2022/directives/icons/icons.directive.mjs +20 -10
  15. package/esm2022/tokens/icon-resolver.mjs +25 -3
  16. package/fesm2022/taiga-ui-core-components-alert.mjs +3 -4
  17. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-core-components-calendar.mjs +5 -4
  19. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-core-components-dialog.mjs +2 -2
  21. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-icon.mjs +21 -12
  23. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-root.mjs +2 -2
  25. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-textfield.mjs +3 -4
  27. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +7 -5
  29. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-directives-icons.mjs +19 -9
  31. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-tokens.mjs +25 -3
  33. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  34. package/package.json +3 -3
  35. package/styles/components/icon.less +18 -3
  36. package/styles/components/icons.less +40 -6
  37. package/tokens/icon-resolver.d.ts +1 -0
@@ -1,4 +1,4 @@
1
- import { CommonModule, DOCUMENT } from '@angular/common';
1
+ import { DOCUMENT, NgFor, NgIf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
3
3
  import { WA_NAVIGATOR } from '@ng-web-apis/common';
4
4
  import { TuiNativeValidator } from '@taiga-ui/cdk/directives/native-validator';
@@ -8,7 +8,6 @@ import { tuiAsTextfieldAccessor } from './textfield-accessor';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@taiga-ui/cdk/directives/native-validator";
10
10
  import * as i2 from "@taiga-ui/core/directives/appearance";
11
- import * as i3 from "@angular/common";
12
11
  /**
13
12
  * @deprecated use {@link TuiSelect} from @taiga-ui/kit instead, drop in v5
14
13
  */
@@ -40,12 +39,12 @@ class TuiSelect extends TuiTextfieldBase {
40
39
  await this.nav.clipboard.writeText(this.stringified);
41
40
  }
42
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSelect, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSelect, isStandalone: true, selector: "select[tuiTextfield]", inputs: { placeholder: "placeholder" }, host: { listeners: { "input": "0", "focusin": "0", "focusout": "0", "keydown.space.prevent": "0", "keydown.enter.prevent": "0", "keydown.backspace": "setValue(\"\")", "mousedown.prevent": "focus()", "keydown.control.c": "onCopy()", "keydown.meta.c": "onCopy()" }, properties: { "id": "textfield.id", "class._empty": "stringified === \"\"", "attr.aria-label": "ariaLabel" } }, providers: [tuiAsTextfieldAccessor(TuiSelect)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiAppearance }], ngImport: i0, template: "<option\n *ngIf=\"placeholder && !stringified; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [stringified]\"\n selected\n [value]=\"item\"\n >\n {{ item }}\n </option>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSelect, isStandalone: true, selector: "select[tuiTextfield]", inputs: { placeholder: "placeholder" }, host: { listeners: { "input": "0", "focusin": "0", "focusout": "0", "keydown.space.prevent": "0", "keydown.enter.prevent": "0", "keydown.backspace": "setValue(\"\")", "mousedown.prevent": "focus()", "keydown.control.c": "onCopy()", "keydown.meta.c": "onCopy()" }, properties: { "id": "textfield.id", "class._empty": "stringified === \"\"", "attr.aria-label": "ariaLabel" } }, providers: [tuiAsTextfieldAccessor(TuiSelect)], usesInheritance: true, hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiAppearance }], ngImport: i0, template: "<option\n *ngIf=\"placeholder && !stringified; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [stringified]\"\n selected\n [value]=\"item\"\n >\n {{ item }}\n </option>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
44
43
  }
45
44
  export { TuiSelect };
46
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSelect, decorators: [{
47
46
  type: Component,
48
- args: [{ standalone: true, selector: 'select[tuiTextfield]', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.Default, providers: [tuiAsTextfieldAccessor(TuiSelect)], hostDirectives: [TuiNativeValidator, TuiAppearance], host: {
47
+ args: [{ standalone: true, selector: 'select[tuiTextfield]', imports: [NgFor, NgIf], changeDetection: ChangeDetectionStrategy.Default, providers: [tuiAsTextfieldAccessor(TuiSelect)], hostDirectives: [TuiNativeValidator, TuiAppearance], host: {
49
48
  '[id]': 'textfield.id',
50
49
  '[class._empty]': 'stringified === ""',
51
50
  '[attr.aria-label]': 'ariaLabel',
@@ -62,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
62
61
  }], propDecorators: { placeholder: [{
63
62
  type: Input
64
63
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvc2VsZWN0LmRpcmVjdGl2ZS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvc2VsZWN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFFNUQ7O0dBRUc7QUFDSCxNQXlCYSxTQUFhLFNBQVEsZ0JBQW1CO0lBekJyRDs7UUEwQnFCLFFBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0IsUUFBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztLQTBCM0I7SUF4Qm1CLFFBQVEsQ0FBQyxLQUFRO1FBQzdCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUM7WUFDdkQsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRVMsS0FBSyxDQUFDLE1BQU07UUFDbEIsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBOUJRLFNBQVM7bUdBQVQsU0FBUyxtZUFqQlAsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQywwSUNwQmxELGdWQWlCQSwyQ0RGYyxZQUFZOztTQXNCYixTQUFTOzRGQUFULFNBQVM7a0JBekJyQixTQUFTO2lDQUNNLElBQUksWUFDTixzQkFBc0IsV0FDdkIsQ0FBQyxZQUFZLENBQUMsbUJBSU4sdUJBQXVCLENBQUMsT0FBTyxhQUNyQyxDQUFDLHNCQUFzQixXQUFXLENBQUMsa0JBQzlCLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLFFBQzdDO3dCQUNGLE1BQU0sRUFBRSxjQUFjO3dCQUN0QixnQkFBZ0IsRUFBRSxvQkFBb0I7d0JBQ3RDLG1CQUFtQixFQUFFLFdBQVc7d0JBQ2hDLFNBQVMsRUFBRSxHQUFHO3dCQUNkLFdBQVcsRUFBRSxHQUFHO3dCQUNoQixZQUFZLEVBQUUsR0FBRzt3QkFDakIseUJBQXlCLEVBQUUsR0FBRzt3QkFDOUIseUJBQXlCLEVBQUUsR0FBRzt3QkFDOUIscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsa0JBQWtCLEVBQUUsVUFBVTtxQkFDakM7OEJBT00sV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlLCBET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX05BVklHQVRPUn0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1R1aU5hdGl2ZVZhbGlkYXRvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL25hdGl2ZS12YWxpZGF0b3InO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuXG5pbXBvcnQge1R1aVRleHRmaWVsZEJhc2V9IGZyb20gJy4vdGV4dGZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQge3R1aUFzVGV4dGZpZWxkQWNjZXNzb3J9IGZyb20gJy4vdGV4dGZpZWxkLWFjY2Vzc29yJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVNlbGVjdH0gZnJvbSBAdGFpZ2EtdWkva2l0IGluc3RlYWQsIGRyb3AgaW4gdjVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NlbGVjdFt0dWlUZXh0ZmllbGRdJyxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIC8vIFdlIHdhbnQgdGhpcyB0ZW1wbGF0ZSB0byBmb2xsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBwYXJlbnQgdGV4dGZpZWxkLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcihUdWlTZWxlY3QpXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aU5hdGl2ZVZhbGlkYXRvciwgVHVpQXBwZWFyYW5jZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2lkXSc6ICd0ZXh0ZmllbGQuaWQnLFxuICAgICAgICAnW2NsYXNzLl9lbXB0eV0nOiAnc3RyaW5naWZpZWQgPT09IFwiXCInLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsJyxcbiAgICAgICAgJyhpbnB1dCknOiAnMCcsXG4gICAgICAgICcoZm9jdXNpbiknOiAnMCcsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJzAnLFxuICAgICAgICAnKGtleWRvd24uc3BhY2UucHJldmVudCknOiAnMCcsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlci5wcmV2ZW50KSc6ICcwJyxcbiAgICAgICAgJyhrZXlkb3duLmJhY2tzcGFjZSknOiAnc2V0VmFsdWUoXCJcIiknLFxuICAgICAgICAnKG1vdXNlZG93bi5wcmV2ZW50KSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhrZXlkb3duLmNvbnRyb2wuYyknOiAnb25Db3B5KCknLFxuICAgICAgICAnKGtleWRvd24ubWV0YS5jKSc6ICdvbkNvcHkoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VsZWN0PFQ+IGV4dGVuZHMgVHVpVGV4dGZpZWxkQmFzZTxUPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXYgPSBpbmplY3QoV0FfTkFWSUdBVE9SKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgcHVibGljIG92ZXJyaWRlIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmVsLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHtidWJibGVzOiB0cnVlfSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5jbGFzc0xpc3QuYWRkKCdfaW9zLWZpeCcpO1xuICAgICAgICB0aGlzLmVsLmZvY3VzKCk7XG4gICAgICAgIHRoaXMuZWwuY2xhc3NMaXN0LnJlbW92ZSgnX2lvcy1maXgnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFyaWFMYWJlbCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3IoYGxhYmVsW2Zvcj1cIiR7dGhpcy5lbC5pZH1cIl1gKVxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJykgfHwgdGhpcy5wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHN0cmluZ2lmaWVkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhbmRsZXJzLnN0cmluZ2lmeSgpKHRoaXMuY29udHJvbD8udmFsdWUgPz8gJycpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBvbkNvcHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMubmF2LmNsaXBib2FyZC53cml0ZVRleHQodGhpcy5zdHJpbmdpZmllZCk7XG4gICAgfVxufVxuIiwiPG9wdGlvblxuICAgICpuZ0lmPVwicGxhY2Vob2xkZXIgJiYgIXN0cmluZ2lmaWVkOyBlbHNlIHNlbGVjdGVkXCJcbiAgICBkaXNhYmxlZFxuICAgIHNlbGVjdGVkXG4gICAgdmFsdWU9XCJcIlxuPlxuICAgIHt7IHBsYWNlaG9sZGVyIH19XG48L29wdGlvbj5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWQ+XG4gICAgPG9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBbc3RyaW5naWZpZWRdXCJcbiAgICAgICAgc2VsZWN0ZWRcbiAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgID5cbiAgICAgICAge3sgaXRlbSB9fVxuICAgIDwvb3B0aW9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvc2VsZWN0LmRpcmVjdGl2ZS50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvc2VsZWN0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFbkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFNUQ7O0dBRUc7QUFDSCxNQXlCYSxTQUFhLFNBQVEsZ0JBQW1CO0lBekJyRDs7UUEwQnFCLFFBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0IsUUFBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUdqQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztLQTBCM0I7SUF4Qm1CLFFBQVEsQ0FBQyxLQUFRO1FBQzdCLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxjQUFjLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUM7WUFDdkQsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRVMsS0FBSyxDQUFDLE1BQU07UUFDbEIsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBOUJRLFNBQVM7bUdBQVQsU0FBUyxtZUFqQlAsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQywwSUNwQmxELGdWQWlCQSw0Q0RGYyxLQUFLLG1IQUFFLElBQUk7O1NBc0JaLFNBQVM7NEZBQVQsU0FBUztrQkF6QnJCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHNCQUFzQixXQUN2QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBSUwsdUJBQXVCLENBQUMsT0FBTyxhQUNyQyxDQUFDLHNCQUFzQixXQUFXLENBQUMsa0JBQzlCLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDLFFBQzdDO3dCQUNGLE1BQU0sRUFBRSxjQUFjO3dCQUN0QixnQkFBZ0IsRUFBRSxvQkFBb0I7d0JBQ3RDLG1CQUFtQixFQUFFLFdBQVc7d0JBQ2hDLFNBQVMsRUFBRSxHQUFHO3dCQUNkLFdBQVcsRUFBRSxHQUFHO3dCQUNoQixZQUFZLEVBQUUsR0FBRzt3QkFDakIseUJBQXlCLEVBQUUsR0FBRzt3QkFDOUIseUJBQXlCLEVBQUUsR0FBRzt3QkFDOUIscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMscUJBQXFCLEVBQUUsU0FBUzt3QkFDaEMscUJBQXFCLEVBQUUsVUFBVTt3QkFDakMsa0JBQWtCLEVBQUUsVUFBVTtxQkFDakM7OEJBT00sV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nRm9yLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0FfTkFWSUdBVE9SfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpTmF0aXZlVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbmF0aXZlLXZhbGlkYXRvcic7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5cbmltcG9ydCB7VHVpVGV4dGZpZWxkQmFzZX0gZnJvbSAnLi90ZXh0ZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7dHVpQXNUZXh0ZmllbGRBY2Nlc3Nvcn0gZnJvbSAnLi90ZXh0ZmllbGQtYWNjZXNzb3InO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpU2VsZWN0fSBmcm9tIEB0YWlnYS11aS9raXQgaW5zdGVhZCwgZHJvcCBpbiB2NVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2VsZWN0W3R1aVRleHRmaWVsZF0nLFxuICAgIGltcG9ydHM6IFtOZ0ZvciwgTmdJZl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC50ZW1wbGF0ZS5odG1sJyxcbiAgICAvLyBXZSB3YW50IHRoaXMgdGVtcGxhdGUgdG8gZm9sbG93IGNoYW5nZSBkZXRlY3Rpb24gdG8gcGFyZW50IHRleHRmaWVsZC5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1vbi1wdXNoLWNvbXBvbmVudC1jaGFuZ2UtZGV0ZWN0aW9uXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIHByb3ZpZGVyczogW3R1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpU2VsZWN0KV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlOYXRpdmVWYWxpZGF0b3IsIFR1aUFwcGVhcmFuY2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tpZF0nOiAndGV4dGZpZWxkLmlkJyxcbiAgICAgICAgJ1tjbGFzcy5fZW1wdHldJzogJ3N0cmluZ2lmaWVkID09PSBcIlwiJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ2FyaWFMYWJlbCcsXG4gICAgICAgICcoaW5wdXQpJzogJzAnLFxuICAgICAgICAnKGZvY3VzaW4pJzogJzAnLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICcwJyxcbiAgICAgICAgJyhrZXlkb3duLnNwYWNlLnByZXZlbnQpJzogJzAnLFxuICAgICAgICAnKGtleWRvd24uZW50ZXIucHJldmVudCknOiAnMCcsXG4gICAgICAgICcoa2V5ZG93bi5iYWNrc3BhY2UpJzogJ3NldFZhbHVlKFwiXCIpJyxcbiAgICAgICAgJyhtb3VzZWRvd24ucHJldmVudCknOiAnZm9jdXMoKScsXG4gICAgICAgICcoa2V5ZG93bi5jb250cm9sLmMpJzogJ29uQ29weSgpJyxcbiAgICAgICAgJyhrZXlkb3duLm1ldGEuYyknOiAnb25Db3B5KCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNlbGVjdDxUPiBleHRlbmRzIFR1aVRleHRmaWVsZEJhc2U8VD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF2ID0gaW5qZWN0KFdBX05BVklHQVRPUik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcblxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5lbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnLCB7YnViYmxlczogdHJ1ZX0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuY2xhc3NMaXN0LmFkZCgnX2lvcy1maXgnKTtcbiAgICAgICAgdGhpcy5lbC5mb2N1cygpO1xuICAgICAgICB0aGlzLmVsLmNsYXNzTGlzdC5yZW1vdmUoJ19pb3MtZml4Jyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvYy5xdWVyeVNlbGVjdG9yKGBsYWJlbFtmb3I9XCIke3RoaXMuZWwuaWR9XCJdYClcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmVsLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpIHx8IHRoaXMucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzdHJpbmdpZmllZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVycy5zdHJpbmdpZnkoKSh0aGlzLmNvbnRyb2w/LnZhbHVlID8/ICcnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgb25Db3B5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLm5hdi5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMuc3RyaW5naWZpZWQpO1xuICAgIH1cbn1cbiIsIjxvcHRpb25cbiAgICAqbmdJZj1cInBsYWNlaG9sZGVyICYmICFzdHJpbmdpZmllZDsgZWxzZSBzZWxlY3RlZFwiXG4gICAgZGlzYWJsZWRcbiAgICBzZWxlY3RlZFxuICAgIHZhbHVlPVwiXCJcbj5cbiAgICB7eyBwbGFjZWhvbGRlciB9fVxuPC9vcHRpb24+XG48bmctdGVtcGxhdGUgI3NlbGVjdGVkPlxuICAgIDxvcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgW3N0cmluZ2lmaWVkXVwiXG4gICAgICAgIHNlbGVjdGVkXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtXCJcbiAgICA+XG4gICAgICAgIHt7IGl0ZW0gfX1cbiAgICA8L29wdGlvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,11 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
2
3
  import { computed, Directive, inject } from '@angular/core';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
5
  import { EMPTY_CLIENT_RECT } from '@taiga-ui/cdk/constants';
4
6
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
7
+ import { tuiTypedFromEvent, tuiZonefree } from '@taiga-ui/cdk/observables';
5
8
  import { TUI_IS_TOUCH } from '@taiga-ui/cdk/tokens';
6
9
  import { tuiGetActualTarget, tuiPointToClientRect } from '@taiga-ui/cdk/utils/dom';
7
10
  import { tuiAsDriver, tuiAsRectAccessor, TuiRectAccessor } from '@taiga-ui/core/classes';
8
11
  import { shouldCall } from '@taiga-ui/event-plugins';
12
+ import { merge } from 'rxjs';
9
13
  import { TuiDropdownDriver } from './dropdown.driver';
10
14
  import * as i0 from "@angular/core";
11
15
  function activeZoneFilter(event) {
@@ -20,6 +24,10 @@ class TuiDropdownContext extends TuiRectAccessor {
20
24
  this.userSelect = computed(() => (this.isTouch() ? 'none' : null));
21
25
  this.activeZone = inject(TuiActiveZone);
22
26
  this.driver = inject(TuiDropdownDriver);
27
+ this.doc = inject(DOCUMENT);
28
+ this.sub = merge(tuiTypedFromEvent(this.doc, 'pointerdown'), tuiTypedFromEvent(this.doc, 'contextmenu', { capture: true }))
29
+ .pipe(tuiZonefree(), takeUntilDestroyed())
30
+ .subscribe((event) => this.closeDropdown(event));
23
31
  this.type = 'dropdown';
24
32
  }
25
33
  getClientRect() {
@@ -34,7 +42,7 @@ class TuiDropdownContext extends TuiRectAccessor {
34
42
  this.driver.next(true);
35
43
  }
36
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownContext, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownContext, isStandalone: true, selector: "[tuiDropdownContext]", host: { listeners: { "document:pointerdown.zoneless": "closeDropdown($event)", "document:contextmenu.capture.zoneless": "closeDropdown($event)", "document:keydown.esc": "closeDropdown()", "longtap": "onContextMenu($event.detail.clientX, $event.detail.clientY)" }, properties: { "style.user-select": "userSelect()", "style.-webkit-user-select": "userSelect()", "style.-webkit-touch-callout": "userSelect()" } }, providers: [
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownContext, isStandalone: true, selector: "[tuiDropdownContext]", host: { listeners: { "document:keydown.esc": "closeDropdown()", "longtap": "onContextMenu($event.detail.clientX, $event.detail.clientY)" }, properties: { "style.user-select": "userSelect()", "style.-webkit-user-select": "userSelect()", "style.-webkit-touch-callout": "userSelect()" } }, providers: [
38
46
  TuiActiveZone,
39
47
  TuiDropdownDriver,
40
48
  tuiAsDriver(TuiDropdownDriver),
@@ -60,11 +68,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
60
68
  '[style.user-select]': 'userSelect()',
61
69
  '[style.-webkit-user-select]': 'userSelect()',
62
70
  '[style.-webkit-touch-callout]': 'userSelect()',
63
- '(document:pointerdown.zoneless)': 'closeDropdown($event)',
64
- '(document:contextmenu.capture.zoneless)': 'closeDropdown($event)',
65
71
  '(document:keydown.esc)': 'closeDropdown()',
66
72
  '(longtap)': 'onContextMenu($event.detail.clientX, $event.detail.clientY)',
67
73
  },
68
74
  }]
69
75
  }], propDecorators: { closeDropdown: [] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDOztBQUVwRCxTQUFTLGdCQUFnQixDQUEyQixLQUFhO0lBQzdELE9BQU8sQ0FDSCxDQUFDLEtBQUs7UUFDTixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUM5RSxDQUFDO0FBQ04sQ0FBQztBQUVELE1BbUJhLGtCQUFtQixTQUFRLGVBQWU7SUFuQnZEOztRQW9CcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLGlCQUFpQixDQUFDO1FBRXJCLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM5RCxlQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0QyxTQUFJLEdBQUcsVUFBVSxDQUFDO0tBZ0JyQztJQWRVLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFHUyxhQUFhLENBQUMsTUFBYztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBQ3pDLENBQUM7SUFFUyxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0F2QlEsa0JBQWtCO21HQUFsQixrQkFBa0IsOGRBaEJoQjtZQUNQLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1lBQzlCLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO1NBQ3hDOztBQTBCUztJQURULFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQzt1REFJNUI7U0FsQlEsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBbkI5QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzt3QkFDOUIsaUJBQWlCLG9CQUFvQjtxQkFDeEM7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLHFCQUFxQixFQUFFLGNBQWM7d0JBQ3JDLDZCQUE2QixFQUFFLGNBQWM7d0JBQzdDLCtCQUErQixFQUFFLGNBQWM7d0JBQy9DLGlDQUFpQyxFQUFFLHVCQUF1Qjt3QkFDMUQseUNBQXlDLEVBQUUsdUJBQXVCO3dCQUNsRSx3QkFBd0IsRUFBRSxpQkFBaUI7d0JBQzNDLFdBQVcsRUFBRSw2REFBNkQ7cUJBQzdFO2lCQUNKOzhCQWdCYSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9DTElFTlRfUkVDVH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHtUVUlfSVNfVE9VQ0h9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0QWN0dWFsVGFyZ2V0LCB0dWlQb2ludFRvQ2xpZW50UmVjdH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlBc0RyaXZlciwgdHVpQXNSZWN0QWNjZXNzb3IsIFR1aVJlY3RBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge3Nob3VsZENhbGx9IGZyb20gJ0B0YWlnYS11aS9ldmVudC1wbHVnaW5zJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlcn0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuXG5mdW5jdGlvbiBhY3RpdmVab25lRmlsdGVyKHRoaXM6IFR1aURyb3Bkb3duQ29udGV4dCwgZXZlbnQ/OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAgICFldmVudCB8fFxuICAgICAgICAodGhpcy5kcml2ZXIudmFsdWUgJiYgIXRoaXMuYWN0aXZlWm9uZS5jb250YWlucyh0dWlHZXRBY3R1YWxUYXJnZXQoZXZlbnQpKSlcbiAgICApO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duQ29udGV4dF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlBY3RpdmVab25lLFxuICAgICAgICBUdWlEcm9wZG93bkRyaXZlcixcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Ecml2ZXIpLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93bkNvbnRleHQpLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnVzZXItc2VsZWN0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnW3N0eWxlLi13ZWJraXQtdXNlci1zZWxlY3RdJzogJ3VzZXJTZWxlY3QoKScsXG4gICAgICAgICdbc3R5bGUuLXdlYmtpdC10b3VjaC1jYWxsb3V0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnKGRvY3VtZW50OnBvaW50ZXJkb3duLnpvbmVsZXNzKSc6ICdjbG9zZURyb3Bkb3duKCRldmVudCknLFxuICAgICAgICAnKGRvY3VtZW50OmNvbnRleHRtZW51LmNhcHR1cmUuem9uZWxlc3MpJzogJ2Nsb3NlRHJvcGRvd24oJGV2ZW50KScsXG4gICAgICAgICcoZG9jdW1lbnQ6a2V5ZG93bi5lc2MpJzogJ2Nsb3NlRHJvcGRvd24oKScsXG4gICAgICAgICcobG9uZ3RhcCknOiAnb25Db250ZXh0TWVudSgkZXZlbnQuZGV0YWlsLmNsaWVudFgsICRldmVudC5kZXRhaWwuY2xpZW50WSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29udGV4dCBleHRlbmRzIFR1aVJlY3RBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc1RvdWNoID0gaW5qZWN0KFRVSV9JU19UT1VDSCk7XG4gICAgcHJpdmF0ZSBjdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHVzZXJTZWxlY3QgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pc1RvdWNoKCkgPyAnbm9uZScgOiBudWxsKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjdGl2ZVpvbmUgPSBpbmplY3QoVHVpQWN0aXZlWm9uZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyaXZlciA9IGluamVjdChUdWlEcm9wZG93bkRyaXZlcik7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBwdWJsaWMgZ2V0Q2xpZW50UmVjdCgpOiBET01SZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFJlY3Q7XG4gICAgfVxuXG4gICAgQHNob3VsZENhbGwoYWN0aXZlWm9uZUZpbHRlcilcbiAgICBwcm90ZWN0ZWQgY2xvc2VEcm9wZG93bihfZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyaXZlci5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNvbnRleHRNZW51KHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSB0dWlQb2ludFRvQ2xpZW50UmVjdCh4LCB5KTtcbiAgICAgICAgdGhpcy5kcml2ZXIubmV4dCh0cnVlKTtcbiAgICB9XG59XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFXLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakYsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFcEQsU0FBUyxnQkFBZ0IsQ0FBMkIsS0FBYTtJQUM3RCxPQUFPLENBQ0gsQ0FBQyxLQUFLO1FBQ04sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDOUUsQ0FBQztBQUNOLENBQUM7QUFFRCxNQWlCYSxrQkFBbUIsU0FBUSxlQUFlO0lBakJ2RDs7UUFrQnFCLFlBQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztRQUVyQixlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbkMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QixRQUFHLEdBQUcsS0FBSyxDQUMxQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUMxQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUM5RDthQUNJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTVDLFNBQUksR0FBRyxVQUFVLENBQUM7S0FnQnJDO0lBZFUsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUdTLGFBQWEsQ0FBQyxNQUFjO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDekMsQ0FBQztJQUVTLGFBQWEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQS9CUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrV0FkaEI7WUFDUCxhQUFhO1lBQ2IsaUJBQWlCO1lBQ2pCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztTQUN4Qzs7QUFnQ1M7SUFEVCxVQUFVLENBQUMsZ0JBQWdCLENBQUM7dURBSTVCO1NBMUJRLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQWpCOUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsU0FBUyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixXQUFXLENBQUMsaUJBQWlCLENBQUM7d0JBQzlCLGlCQUFpQixvQkFBb0I7cUJBQ3hDO29CQUNELElBQUksRUFBRTt3QkFDRixxQkFBcUIsRUFBRSxjQUFjO3dCQUNyQyw2QkFBNkIsRUFBRSxjQUFjO3dCQUM3QywrQkFBK0IsRUFBRSxjQUFjO3dCQUMvQyx3QkFBd0IsRUFBRSxpQkFBaUI7d0JBQzNDLFdBQVcsRUFBRSw2REFBNkQ7cUJBQzdFO2lCQUNKOzhCQXdCYSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX0NMSUVOVF9SRUNUfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50LCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1RVSV9JU19UT1VDSH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRBY3R1YWxUYXJnZXQsIHR1aVBvaW50VG9DbGllbnRSZWN0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUFzRHJpdmVyLCB0dWlBc1JlY3RBY2Nlc3NvciwgVHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7c2hvdWxkQ2FsbH0gZnJvbSAnQHRhaWdhLXVpL2V2ZW50LXBsdWdpbnMnO1xuaW1wb3J0IHttZXJnZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25Ecml2ZXJ9IGZyb20gJy4vZHJvcGRvd24uZHJpdmVyJztcblxuZnVuY3Rpb24gYWN0aXZlWm9uZUZpbHRlcih0aGlzOiBUdWlEcm9wZG93bkNvbnRleHQsIGV2ZW50PzogRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAhZXZlbnQgfHxcbiAgICAgICAgKHRoaXMuZHJpdmVyLnZhbHVlICYmICF0aGlzLmFjdGl2ZVpvbmUuY29udGFpbnModHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSkpXG4gICAgKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bkNvbnRleHRdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpQWN0aXZlWm9uZSxcbiAgICAgICAgVHVpRHJvcGRvd25Ecml2ZXIsXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duRHJpdmVyKSxcbiAgICAgICAgdHVpQXNSZWN0QWNjZXNzb3IoVHVpRHJvcGRvd25Db250ZXh0KSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tzdHlsZS51c2VyLXNlbGVjdF0nOiAndXNlclNlbGVjdCgpJyxcbiAgICAgICAgJ1tzdHlsZS4td2Via2l0LXVzZXItc2VsZWN0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnW3N0eWxlLi13ZWJraXQtdG91Y2gtY2FsbG91dF0nOiAndXNlclNlbGVjdCgpJyxcbiAgICAgICAgJyhkb2N1bWVudDprZXlkb3duLmVzYyknOiAnY2xvc2VEcm9wZG93bigpJyxcbiAgICAgICAgJyhsb25ndGFwKSc6ICdvbkNvbnRleHRNZW51KCRldmVudC5kZXRhaWwuY2xpZW50WCwgJGV2ZW50LmRldGFpbC5jbGllbnRZKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db250ZXh0IGV4dGVuZHMgVHVpUmVjdEFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzVG91Y2ggPSBpbmplY3QoVFVJX0lTX1RPVUNIKTtcbiAgICBwcml2YXRlIGN1cnJlbnRSZWN0ID0gRU1QVFlfQ0xJRU5UX1JFQ1Q7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXNlclNlbGVjdCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlzVG91Y2goKSA/ICdub25lJyA6IG51bGwpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJpdmVyID0gaW5qZWN0KFR1aURyb3Bkb3duRHJpdmVyKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVyZG93bicpLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmRvYywgJ2NvbnRleHRtZW51Jywge2NhcHR1cmU6IHRydWV9KSxcbiAgICApXG4gICAgICAgIC5waXBlKHR1aVpvbmVmcmVlKCksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHRoaXMuY2xvc2VEcm9wZG93bihldmVudCkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRSZWN0O1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKGFjdGl2ZVpvbmVGaWx0ZXIpXG4gICAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oX2V2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcml2ZXIubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Db250ZXh0TWVudSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMuZHJpdmVyLm5leHQodHJ1ZSk7XG4gICAgfVxufVxuIl19
@@ -1,23 +1,25 @@
1
1
  import { ChangeDetectionStrategy, Component, computed, Directive, inject, Input, signal, ViewEncapsulation, } from '@angular/core';
2
2
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
3
- import { TUI_ICON_END, TUI_ICON_START, tuiInjectIconResolver } from '@taiga-ui/core/tokens';
3
+ import { TUI_ICON_END, TUI_ICON_START, tuiGetIconMode, tuiInjectIconResolver, } from '@taiga-ui/core/tokens';
4
4
  import * as i0 from "@angular/core";
5
5
  class TuiIconsStyles {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconsStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIconsStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icons" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";display:var(--t-icon-start);inline-size:1em;block-size:1em;line-height:1em;font-size:1.5rem;flex-shrink:0;box-sizing:content-box;background:currentColor;-webkit-mask:var(--t-icon-start) no-repeat center / contain padding-box;mask:var(--t-icon-start) no-repeat center / contain padding-box}[tuiIcons]:after{display:var(--t-icon-end);-webkit-mask:var(--t-icon-end) no-repeat center / contain padding-box;mask:var(--t-icon-end) no-repeat center / contain padding-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIconsStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icons" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";inline-size:1em;block-size:1em;line-height:1em;font-size:1.5rem;flex-shrink:0;box-sizing:content-box;background:currentColor}[tuiIcons]:before{display:var(--t-icon-start, none);-webkit-mask:var(--t-icon-start) no-repeat center / contain padding-box;mask:var(--t-icon-start) no-repeat center / contain padding-box}[tuiIcons]:after{display:var(--t-icon-end, none);-webkit-mask:var(--t-icon-end) no-repeat center / contain padding-box;mask:var(--t-icon-end) no-repeat center / contain padding-box}[tuiIcons][data-icon-start=image]:before{-webkit-mask:none;mask:none;background:var(--t-icon-start) no-repeat center / contain padding-box}[tuiIcons][data-icon-end=image]:after{-webkit-mask:none;mask:none;background:var(--t-icon-end) no-repeat center / contain padding-box}[tuiIcons][data-icon-start=font]:before,[tuiIcons][data-icon-end=font]:after{display:grid;-webkit-mask:none;mask:none;background:none;font:1.3em/1 var(--tui-font-icon, inherit);text-align:center;place-content:center;text-transform:none}[tuiIcons][data-icon-start=font]:before{content:var(--t-icon-start)}[tuiIcons][data-icon-end=font]:after{content:var(--t-icon-end)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconsStyles, decorators: [{
10
10
  type: Component,
11
11
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
12
12
  class: 'tui-icons',
13
- }, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";display:var(--t-icon-start);inline-size:1em;block-size:1em;line-height:1em;font-size:1.5rem;flex-shrink:0;box-sizing:content-box;background:currentColor;-webkit-mask:var(--t-icon-start) no-repeat center / contain padding-box;mask:var(--t-icon-start) no-repeat center / contain padding-box}[tuiIcons]:after{display:var(--t-icon-end);-webkit-mask:var(--t-icon-end) no-repeat center / contain padding-box;mask:var(--t-icon-end) no-repeat center / contain padding-box}\n"] }]
13
+ }, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";inline-size:1em;block-size:1em;line-height:1em;font-size:1.5rem;flex-shrink:0;box-sizing:content-box;background:currentColor}[tuiIcons]:before{display:var(--t-icon-start, none);-webkit-mask:var(--t-icon-start) no-repeat center / contain padding-box;mask:var(--t-icon-start) no-repeat center / contain padding-box}[tuiIcons]:after{display:var(--t-icon-end, none);-webkit-mask:var(--t-icon-end) no-repeat center / contain padding-box;mask:var(--t-icon-end) no-repeat center / contain padding-box}[tuiIcons][data-icon-start=image]:before{-webkit-mask:none;mask:none;background:var(--t-icon-start) no-repeat center / contain padding-box}[tuiIcons][data-icon-end=image]:after{-webkit-mask:none;mask:none;background:var(--t-icon-end) no-repeat center / contain padding-box}[tuiIcons][data-icon-start=font]:before,[tuiIcons][data-icon-end=font]:after{display:grid;-webkit-mask:none;mask:none;background:none;font:1.3em/1 var(--tui-font-icon, inherit);text-align:center;place-content:center;text-transform:none}[tuiIcons][data-icon-start=font]:before{content:var(--t-icon-start)}[tuiIcons][data-icon-end=font]:after{content:var(--t-icon-end)}\n"] }]
14
14
  }] });
15
15
  class TuiIcons {
16
16
  constructor() {
17
17
  this.resolver = tuiInjectIconResolver();
18
18
  this.nothing = tuiWithStyles(TuiIconsStyles);
19
- this.iconStartUrl = computed(() => this.resolve(this.iconStart()));
20
- this.iconEndUrl = computed(() => this.resolve(this.iconEnd()));
19
+ this.startResource = computed(() => this.resolve(this.iconStart()));
20
+ this.endResource = computed(() => this.resolve(this.iconEnd()));
21
+ this.startMode = computed(() => tuiGetIconMode(this.iconStart()?.toString()));
22
+ this.endMode = computed(() => tuiGetIconMode(this.iconEnd()));
21
23
  this.iconStart = signal(inject(TUI_ICON_START, { self: true, optional: true }) || '');
22
24
  this.iconEnd = signal(inject(TUI_ICON_END, { self: true, optional: true }) || '');
23
25
  }
@@ -30,10 +32,16 @@ class TuiIcons {
30
32
  this.iconEnd.set(x);
31
33
  }
32
34
  resolve(icon) {
33
- return icon ? `url(${this.resolver(icon.toString())})` : null;
35
+ if (!icon) {
36
+ return null;
37
+ }
38
+ const iconStr = icon.toString();
39
+ return tuiGetIconMode(iconStr) === 'font'
40
+ ? `'${this.resolver(iconStr)}'`
41
+ : `url(${this.resolver(iconStr)})`;
34
42
  }
35
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiIcons, isStandalone: true, inputs: { iconStartSetter: ["iconStart", "iconStartSetter"], iconEndSetter: ["iconEnd", "iconEndSetter"] }, host: { attributes: { "tuiIcons": "" }, properties: { "style.--t-icon-start": "iconStartUrl()", "style.--t-icon-end": "iconEndUrl()" } }, ngImport: i0 }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiIcons, isStandalone: true, inputs: { iconStartSetter: ["iconStart", "iconStartSetter"], iconEndSetter: ["iconEnd", "iconEndSetter"] }, host: { attributes: { "tuiIcons": "" }, properties: { "style.--t-icon-start": "startResource()", "style.--t-icon-end": "endResource()", "attr.data-icon-start": "startMode()", "attr.data-icon-end": "endMode()" } }, ngImport: i0 }); }
37
45
  }
38
46
  export { TuiIcons };
39
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIcons, decorators: [{
@@ -42,8 +50,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
42
50
  standalone: true,
43
51
  host: {
44
52
  tuiIcons: '',
45
- '[style.--t-icon-start]': 'iconStartUrl()',
46
- '[style.--t-icon-end]': 'iconEndUrl()',
53
+ '[style.--t-icon-start]': 'startResource()',
54
+ '[style.--t-icon-end]': 'endResource()',
55
+ '[attr.data-icon-start]': 'startMode()',
56
+ '[attr.data-icon-end]': 'endMode()',
47
57
  },
48
58
  }]
49
59
  }], propDecorators: { iconStartSetter: [{
@@ -53,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
53
63
  type: Input,
54
64
  args: ['iconEnd']
55
65
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2ljb25zL2ljb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFPMUYsTUFVTSxjQUFjOytHQUFkLGNBQWM7bUdBQWQsY0FBYywrR0FSTixFQUFFOzs0RkFRVixjQUFjO2tCQVZuQixTQUFTO2lDQUNNLElBQUksWUFDTixFQUFFLGlCQUVHLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLFdBQVc7cUJBQ3JCOztBQUlMLE1BUWEsUUFBUTtJQVJyQjtRQVNxQixhQUFRLEdBQTZCLHFCQUFxQixFQUFFLENBQUM7UUFFM0QsWUFBTyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0QsY0FBUyxHQUFHLE1BQU0sQ0FDOUIsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUM3RCxDQUFDO1FBRWMsWUFBTyxHQUFHLE1BQU0sQ0FDNUIsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUMzRCxDQUFDO0tBaUJMO0lBZkcsOEJBQThCO0lBQzlCLElBQ1csZUFBZSxDQUFDLENBQU87UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUNXLGFBQWEsQ0FBQyxDQUFTO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFUyxPQUFPLENBQUMsSUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDOytHQTdCUSxRQUFRO21HQUFSLFFBQVE7O1NBQVIsUUFBUTs0RkFBUixRQUFRO2tCQVJwQixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLEVBQUU7d0JBQ1osd0JBQXdCLEVBQUUsZ0JBQWdCO3dCQUMxQyxzQkFBc0IsRUFBRSxjQUFjO3FCQUN6QztpQkFDSjs4QkFrQmMsZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxXQUFXO2dCQU9QLGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHlwZSBTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0eXBlIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUVUlfSUNPTl9FTkQsIFRVSV9JQ09OX1NUQVJULCB0dWlJbmplY3RJY29uUmVzb2x2ZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5cbi8qKlxuICogV29ya2Fyb3VuZCBmb3Ige0BsaW5rIFR1aUF2YXRhcn0gdG8gcHJvcGVybHkgaGFuZGxlIGljb24gY29sb3IgaW4ge0BsaW5rIFR1aUFwcGVhcmFuY2V9XG4gKi9cbnR5cGUgSWNvbiA9IFNhZmVSZXNvdXJjZVVybCB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlczogWydAaW1wb3J0IFwiQHRhaWdhLXVpL2NvcmUvc3R5bGVzL2NvbXBvbmVudHMvaWNvbnMubGVzc1wiOyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1pY29ucycsXG4gICAgfSxcbn0pXG5jbGFzcyBUdWlJY29uc1N0eWxlcyB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpSWNvbnM6ICcnLFxuICAgICAgICAnW3N0eWxlLi0tdC1pY29uLXN0YXJ0XSc6ICdpY29uU3RhcnRVcmwoKScsXG4gICAgICAgICdbc3R5bGUuLS10LWljb24tZW5kXSc6ICdpY29uRW5kVXJsKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUljb25zIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVyOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4gPSB0dWlJbmplY3RJY29uUmVzb2x2ZXIoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RoaW5nID0gdHVpV2l0aFN0eWxlcyhUdWlJY29uc1N0eWxlcyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25TdGFydFVybCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZSh0aGlzLmljb25TdGFydCgpKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25FbmRVcmwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmUodGhpcy5pY29uRW5kKCkpKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBpY29uU3RhcnQgPSBzaWduYWw8SWNvbj4oXG4gICAgICAgIGluamVjdChUVUlfSUNPTl9TVEFSVCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSkgfHwgJycsXG4gICAgKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBpY29uRW5kID0gc2lnbmFsPHN0cmluZz4oXG4gICAgICAgIGluamVjdChUVUlfSUNPTl9FTkQsIHtzZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZX0pIHx8ICcnLFxuICAgICk7XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoJ2ljb25TdGFydCcpXG4gICAgcHVibGljIHNldCBpY29uU3RhcnRTZXR0ZXIoeDogSWNvbikge1xuICAgICAgICB0aGlzLmljb25TdGFydC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRzXG4gICAgQElucHV0KCdpY29uRW5kJylcbiAgICBwdWJsaWMgc2V0IGljb25FbmRTZXR0ZXIoeDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaWNvbkVuZC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmUoaWNvbjogSWNvbik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gaWNvbiA/IGB1cmwoJHt0aGlzLnJlc29sdmVyKGljb24udG9TdHJpbmcoKSl9KWAgOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2ljb25zL2ljb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUNILFlBQVksRUFDWixjQUFjLEVBQ2QsY0FBYyxFQUNkLHFCQUFxQixHQUN4QixNQUFNLHVCQUF1QixDQUFDOztBQU8vQixNQVVNLGNBQWM7K0dBQWQsY0FBYzttR0FBZCxjQUFjLCtHQVJOLEVBQUU7OzRGQVFWLGNBQWM7a0JBVm5CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7O0FBSUwsTUFVYSxRQUFRO0lBVnJCO1FBV3FCLGFBQVEsR0FBNkIscUJBQXFCLEVBQUUsQ0FBQztRQUUzRCxZQUFPLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDekMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO1FBRWlCLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFNUQsY0FBUyxHQUFHLE1BQU0sQ0FDOUIsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUM3RCxDQUFDO1FBRWMsWUFBTyxHQUFHLE1BQU0sQ0FDNUIsTUFBTSxDQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksRUFBRSxDQUMzRCxDQUFDO0tBeUJMO0lBdkJHLDhCQUE4QjtJQUM5QixJQUNXLGVBQWUsQ0FBQyxDQUFPO1FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsSUFDVyxhQUFhLENBQUMsQ0FBUztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRVMsT0FBTyxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEMsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssTUFBTTtZQUNyQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHO1lBQy9CLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUMzQyxDQUFDOytHQTFDUSxRQUFRO21HQUFSLFFBQVE7O1NBQVIsUUFBUTs0RkFBUixRQUFRO2tCQVZwQixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsUUFBUSxFQUFFLEVBQUU7d0JBQ1osd0JBQXdCLEVBQUUsaUJBQWlCO3dCQUMzQyxzQkFBc0IsRUFBRSxlQUFlO3dCQUN2Qyx3QkFBd0IsRUFBRSxhQUFhO3dCQUN2QyxzQkFBc0IsRUFBRSxXQUFXO3FCQUN0QztpQkFDSjs4QkF1QmMsZUFBZTtzQkFEekIsS0FBSzt1QkFBQyxXQUFXO2dCQU9QLGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHlwZSBTYWZlUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0eXBlIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSUNPTl9FTkQsXG4gICAgVFVJX0lDT05fU1RBUlQsXG4gICAgdHVpR2V0SWNvbk1vZGUsXG4gICAgdHVpSW5qZWN0SWNvblJlc29sdmVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuXG4vKipcbiAqIFdvcmthcm91bmQgZm9yIHtAbGluayBUdWlBdmF0YXJ9IHRvIHByb3Blcmx5IGhhbmRsZSBpY29uIGNvbG9yIGluIHtAbGluayBUdWlBcHBlYXJhbmNlfVxuICovXG50eXBlIEljb24gPSBTYWZlUmVzb3VyY2VVcmwgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZXM6IFsnQGltcG9ydCBcIkB0YWlnYS11aS9jb3JlL3N0eWxlcy9jb21wb25lbnRzL2ljb25zLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0dWktaWNvbnMnLFxuICAgIH0sXG59KVxuY2xhc3MgVHVpSWNvbnNTdHlsZXMge31cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUljb25zOiAnJyxcbiAgICAgICAgJ1tzdHlsZS4tLXQtaWNvbi1zdGFydF0nOiAnc3RhcnRSZXNvdXJjZSgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLXQtaWNvbi1lbmRdJzogJ2VuZFJlc291cmNlKCknLFxuICAgICAgICAnW2F0dHIuZGF0YS1pY29uLXN0YXJ0XSc6ICdzdGFydE1vZGUoKScsXG4gICAgICAgICdbYXR0ci5kYXRhLWljb24tZW5kXSc6ICdlbmRNb2RlKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUljb25zIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVyOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4gPSB0dWlJbmplY3RJY29uUmVzb2x2ZXIoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RoaW5nID0gdHVpV2l0aFN0eWxlcyhUdWlJY29uc1N0eWxlcyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0YXJ0UmVzb3VyY2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJlc29sdmUodGhpcy5pY29uU3RhcnQoKSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlbmRSZXNvdXJjZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb2x2ZSh0aGlzLmljb25FbmQoKSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGFydE1vZGUgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0dWlHZXRJY29uTW9kZSh0aGlzLmljb25TdGFydCgpPy50b1N0cmluZygpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuZE1vZGUgPSBjb21wdXRlZCgoKSA9PiB0dWlHZXRJY29uTW9kZSh0aGlzLmljb25FbmQoKSkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25TdGFydCA9IHNpZ25hbDxJY29uPihcbiAgICAgICAgaW5qZWN0KFRVSV9JQ09OX1NUQVJULCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KSB8fCAnJyxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25FbmQgPSBzaWduYWw8c3RyaW5nPihcbiAgICAgICAgaW5qZWN0KFRVSV9JQ09OX0VORCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSkgfHwgJycsXG4gICAgKTtcblxuICAgIC8vIFRPRE8odjUpOiB1c2Ugc2lnbmFsIGlucHV0c1xuICAgIEBJbnB1dCgnaWNvblN0YXJ0JylcbiAgICBwdWJsaWMgc2V0IGljb25TdGFydFNldHRlcih4OiBJY29uKSB7XG4gICAgICAgIHRoaXMuaWNvblN0YXJ0LnNldCh4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dHNcbiAgICBASW5wdXQoJ2ljb25FbmQnKVxuICAgIHB1YmxpYyBzZXQgaWNvbkVuZFNldHRlcih4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uRW5kLnNldCh4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZShpY29uOiBJY29uKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICghaWNvbikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpY29uU3RyID0gaWNvbi50b1N0cmluZygpO1xuXG4gICAgICAgIHJldHVybiB0dWlHZXRJY29uTW9kZShpY29uU3RyKSA9PT0gJ2ZvbnQnXG4gICAgICAgICAgICA/IGAnJHt0aGlzLnJlc29sdmVyKGljb25TdHIpfSdgXG4gICAgICAgICAgICA6IGB1cmwoJHt0aGlzLnJlc29sdmVyKGljb25TdHIpfSlgO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,22 +1,44 @@
1
1
  import { inject, InjectionToken } from '@angular/core';
2
2
  import { TUI_ASSETS_PATH } from './assets-path';
3
3
  import { TUI_ICON_REGISTRY } from './icons';
4
+ const ICON_MODE_PREFIXES = { font: '@font.', image: '@img.' };
4
5
  export const TUI_ICON_RESOLVER = new InjectionToken(ngDevMode ? 'TUI_ICON_RESOLVER' : '', {
5
6
  factory: () => {
6
7
  const path = inject(TUI_ASSETS_PATH);
7
- return (icon) => `${path}/${icon.replace('@tui.', '').split('.').join('/')}.svg`;
8
+ // regex for @{any text}. used as a default fallback, returns path to svg from icon pack
9
+ return (icon) => `${path}/${icon
10
+ .replace(/@[a-zA-Z]+\./, '')
11
+ .split('.')
12
+ .join('/')}.svg`;
8
13
  },
9
14
  });
10
15
  /**
11
16
  * @deprecated use {@link TUI_ICON_RESOLVER}
12
17
  */
13
18
  export const TUI_ICON_START_RESOLVER = TUI_ICON_RESOLVER;
19
+ export function tuiGetIconMode(icon) {
20
+ if (!icon) {
21
+ return null;
22
+ }
23
+ if (icon.startsWith(ICON_MODE_PREFIXES.image)) {
24
+ return 'image';
25
+ }
26
+ return icon.startsWith(ICON_MODE_PREFIXES.font) ? 'font' : 'svg';
27
+ }
14
28
  export function tuiInjectIconResolver() {
15
29
  const icons = inject(TUI_ICON_REGISTRY);
16
30
  const resolver = inject(TUI_ICON_RESOLVER);
17
- return (icon) => !icon || icon.includes('/') ? icon : (icons[icon] ?? resolver(icon));
31
+ return (icon) => {
32
+ if (!icon || icon.includes('/')) {
33
+ return icon;
34
+ }
35
+ if (tuiGetIconMode(icon) === 'font') {
36
+ return icon.slice(ICON_MODE_PREFIXES.font.length);
37
+ }
38
+ return icons[icon] ?? resolver(icon);
39
+ };
18
40
  }
19
41
  export function tuiIconResolverProvider(useValue) {
20
42
  return { provide: TUI_ICON_RESOLVER, useValue };
21
43
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL2ljb24tcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBR3BFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyxTQUFTLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3BDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVyQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDWixHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDeEUsQ0FBQztDQUNKLENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsaUJBQWlCLENBQUM7QUFFekQsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUzQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDWixDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsUUFBa0M7SUFDdEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VuLCB0eXBlIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHlwZSBUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcblxuaW1wb3J0IHtUVUlfQVNTRVRTX1BBVEh9IGZyb20gJy4vYXNzZXRzLXBhdGgnO1xuaW1wb3J0IHtUVUlfSUNPTl9SRUdJU1RSWX0gZnJvbSAnLi9pY29ucyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfSUNPTl9SRVNPTFZFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4+KFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSUNPTl9SRVNPTFZFUicgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBpbmplY3QoVFVJX0FTU0VUU19QQVRIKTtcblxuICAgICAgICAgICAgcmV0dXJuIChpY29uKSA9PlxuICAgICAgICAgICAgICAgIGAke3BhdGh9LyR7aWNvbi5yZXBsYWNlKCdAdHVpLicsICcnKS5zcGxpdCgnLicpLmpvaW4oJy8nKX0uc3ZnYDtcbiAgICAgICAgfSxcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFRVSV9JQ09OX1JFU09MVkVSfVxuICovXG5leHBvcnQgY29uc3QgVFVJX0lDT05fU1RBUlRfUkVTT0xWRVIgPSBUVUlfSUNPTl9SRVNPTFZFUjtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUluamVjdEljb25SZXNvbHZlcigpOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4ge1xuICAgIGNvbnN0IGljb25zID0gaW5qZWN0KFRVSV9JQ09OX1JFR0lTVFJZKTtcbiAgICBjb25zdCByZXNvbHZlciA9IGluamVjdChUVUlfSUNPTl9SRVNPTFZFUik7XG5cbiAgICByZXR1cm4gKGljb24pID0+XG4gICAgICAgICFpY29uIHx8IGljb24uaW5jbHVkZXMoJy8nKSA/IGljb24gOiAoaWNvbnNbaWNvbl0gPz8gcmVzb2x2ZXIoaWNvbikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSWNvblJlc29sdmVyUHJvdmlkZXIodXNlVmFsdWU6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge3Byb3ZpZGU6IFRVSV9JQ09OX1JFU09MVkVSLCB1c2VWYWx1ZX07XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL2ljb24tcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBR3BFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQVUsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDL0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNwQztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFckMsd0ZBQXdGO1FBQ3hGLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNaLEdBQUcsSUFBSSxJQUFJLElBQUk7YUFDVixPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQzthQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztDQUNKLENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsaUJBQWlCLENBQUM7QUFFekQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFvQjtJQUMvQyxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMzQyxPQUFPLE9BQU8sQ0FBQztLQUNsQjtJQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDckUsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFM0MsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQWtDO0lBQ3RFLE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5cbmltcG9ydCB7VFVJX0FTU0VUU19QQVRIfSBmcm9tICcuL2Fzc2V0cy1wYXRoJztcbmltcG9ydCB7VFVJX0lDT05fUkVHSVNUUll9IGZyb20gJy4vaWNvbnMnO1xuXG5jb25zdCBJQ09OX01PREVfUFJFRklYRVMgPSB7Zm9udDogJ0Bmb250LicsIGltYWdlOiAnQGltZy4nfSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IFRVSV9JQ09OX1JFU09MVkVSID0gbmV3IEluamVjdGlvblRva2VuPFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPj4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9JQ09OX1JFU09MVkVSJyA6ICcnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IGluamVjdChUVUlfQVNTRVRTX1BBVEgpO1xuXG4gICAgICAgICAgICAvLyByZWdleCBmb3IgQHthbnkgdGV4dH0uIHVzZWQgYXMgYSBkZWZhdWx0IGZhbGxiYWNrLCByZXR1cm5zIHBhdGggdG8gc3ZnIGZyb20gaWNvbiBwYWNrXG4gICAgICAgICAgICByZXR1cm4gKGljb24pID0+XG4gICAgICAgICAgICAgICAgYCR7cGF0aH0vJHtpY29uXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9AW2EtekEtWl0rXFwuLywgJycpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnLicpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcvJyl9LnN2Z2A7XG4gICAgICAgIH0sXG4gICAgfSxcbik7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUVUlfSUNPTl9SRVNPTFZFUn1cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JQ09OX1NUQVJUX1JFU09MVkVSID0gVFVJX0lDT05fUkVTT0xWRVI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlHZXRJY29uTW9kZShpY29uPzogc3RyaW5nIHwgbnVsbCk6ICdmb250JyB8ICdpbWFnZScgfCAnc3ZnJyB8IG51bGwge1xuICAgIGlmICghaWNvbikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaWNvbi5zdGFydHNXaXRoKElDT05fTU9ERV9QUkVGSVhFUy5pbWFnZSkpIHtcbiAgICAgICAgcmV0dXJuICdpbWFnZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGljb24uc3RhcnRzV2l0aChJQ09OX01PREVfUFJFRklYRVMuZm9udCkgPyAnZm9udCcgOiAnc3ZnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUluamVjdEljb25SZXNvbHZlcigpOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4ge1xuICAgIGNvbnN0IGljb25zID0gaW5qZWN0KFRVSV9JQ09OX1JFR0lTVFJZKTtcbiAgICBjb25zdCByZXNvbHZlciA9IGluamVjdChUVUlfSUNPTl9SRVNPTFZFUik7XG5cbiAgICByZXR1cm4gKGljb24pID0+IHtcbiAgICAgICAgaWYgKCFpY29uIHx8IGljb24uaW5jbHVkZXMoJy8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIGljb247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHVpR2V0SWNvbk1vZGUoaWNvbikgPT09ICdmb250Jykge1xuICAgICAgICAgICAgcmV0dXJuIGljb24uc2xpY2UoSUNPTl9NT0RFX1BSRUZJWEVTLmZvbnQubGVuZ3RoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpY29uc1tpY29uXSA/PyByZXNvbHZlcihpY29uKTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSWNvblJlc29sdmVyUHJvdmlkZXIodXNlVmFsdWU6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4ge3Byb3ZpZGU6IFRVSV9JQ09OX1JFU09MVkVSLCB1c2VWYWx1ZX07XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
- import * as i1$1 from '@angular/common';
2
- import { NgIf, CommonModule } from '@angular/common';
1
+ import { NgIf, AsyncPipe, NgComponentOutlet, NgFor } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { InjectionToken, inject, Component, ChangeDetectionStrategy, Injectable, Directive, INJECTOR, Injector, ViewEncapsulation } from '@angular/core';
5
4
  import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -135,11 +134,11 @@ class TuiAlerts {
135
134
  });
136
135
  }
137
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAlerts, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAlerts, isStandalone: true, selector: "tui-alerts", ngImport: i0, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;display:flex;flex-direction:column;pointer-events:none;box-sizing:border-box;block-size:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "directive", type: TuiAnimatedParent, selector: "[tuiAnimatedParent]" }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAlerts, isStandalone: true, selector: "tui-alerts", ngImport: i0, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;display:flex;flex-direction:column;pointer-events:none;box-sizing:border-box;block-size:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TuiAnimatedParent, selector: "[tuiAnimatedParent]" }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
139
138
  }
140
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAlerts, decorators: [{
141
140
  type: Component,
142
- args: [{ standalone: true, selector: 'tui-alerts', imports: [CommonModule, TuiAnimatedParent, TuiMapperPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;display:flex;flex-direction:column;pointer-events:none;box-sizing:border-box;block-size:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"] }]
141
+ args: [{ standalone: true, selector: 'tui-alerts', imports: [AsyncPipe, NgComponentOutlet, NgFor, TuiAnimatedParent, TuiMapperPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;display:flex;flex-direction:column;pointer-events:none;box-sizing:border-box;block-size:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"] }]
143
142
  }] });
144
143
 
145
144
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-alert.mjs","sources":["../../../projects/core/components/alert/alert.tokens.ts","../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.directive.ts","../../../projects/core/components/alert/alerts.component.ts","../../../projects/core/components/alert/alerts.template.html","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken, type Type} from '@angular/core';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {BehaviorSubject, combineLatest, map, of} from 'rxjs';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\n\nexport const TUI_ALERT_DEFAULT_OPTIONS: Omit<TuiAlertOptions, 'appearance' | 'icon'> = {\n autoClose: 3000,\n label: '',\n closeable: true,\n data: undefined,\n};\n\nexport const TUI_ALERT_OPTIONS = new InjectionToken<TuiAlertOptions>(\n ngDevMode ? 'TUI_ALERT_OPTIONS' : '',\n {\n factory: () => ({\n ...TUI_ALERT_DEFAULT_OPTIONS,\n ...inject(TUI_NOTIFICATION_OPTIONS),\n }),\n },\n);\n\nexport const TUI_ALERT_POSITION = new InjectionToken<string>(\n ngDevMode ? 'TUI_ALERT_POSITION' : '',\n {\n factory: () => (inject(TUI_IS_MOBILE) ? '1rem 1rem 0 auto' : '2rem 3rem 0 auto'),\n },\n);\n\nexport const TUI_ALERTS = new InjectionToken(ngDevMode ? 'TUI_ALERTS' : '', {\n factory: () => new BehaviorSubject<ReadonlyArray<TuiPopover<any, any>>>([]),\n});\n\n/**\n * Grouping alerts by their component\n */\nexport const TUI_ALERTS_GROUPED = new InjectionToken(\n ngDevMode ? 'TUI_ALERTS_GROUPED' : '',\n {\n factory: () =>\n combineLatest([\n of(new Map<Type<any>, ReadonlyArray<TuiPopover<any, any>>>()),\n inject(TUI_ALERTS),\n ]).pipe(\n map(([map, alerts]) => {\n map.forEach((_, key) => map.set(key, []));\n\n alerts.forEach((alert) => {\n const key = alert.component.component;\n const value = map.get(key) || [];\n\n map.set(key, [...value, alert]);\n });\n\n return Array.from(map.values());\n }),\n ),\n },\n);\n\nexport function tuiAlertOptionsProvider(\n options: Partial<TuiAlertOptions>,\n): FactoryProvider {\n return {\n provide: TUI_ALERT_OPTIONS,\n useFactory: (): TuiAlertOptions => ({\n ...TUI_ALERT_DEFAULT_OPTIONS,\n ...(inject(TUI_ALERT_OPTIONS, {optional: true, skipSelf: true}) ||\n inject(TUI_NOTIFICATION_OPTIONS)),\n ...options,\n }),\n };\n}\n","import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiNotification} from '@taiga-ui/core/components/notification';\nimport {TuiTitle} from '@taiga-ui/core/directives/title';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, fromEvent, of, repeat, switchMap, takeUntil, timer} from 'rxjs';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TUI_ALERT_POSITION} from './alert.tokens';\n\n@Component({\n standalone: true,\n selector: 'tui-alert',\n imports: [NgIf, PolymorpheusOutlet, TuiButton, TuiNotification, TuiTitle],\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n role: 'alert',\n '[style.margin]': 'position',\n '[style.--tui-from]': 'from',\n },\n})\nexport class TuiAlertComponent<O, I> {\n private readonly el = tuiInjectElement();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly close = toSignal(inject(TUI_CLOSE_WORD));\n protected readonly position = inject(TUI_ALERT_POSITION);\n protected readonly item = injectContext<TuiPopover<TuiAlertOptions<I>, O>>();\n\n protected readonly sub = of(\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.appearance)\n : this.item.autoClose,\n )\n .pipe(\n switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)),\n takeUntil(fromEvent(this.el, 'mouseenter')),\n repeat({delay: () => fromEvent(this.el, 'mouseleave')}),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.item.$implicit.complete());\n\n public get from(): string {\n return this.position.endsWith('auto') ? 'translateX(100%)' : 'translateX(-100%)';\n }\n}\n","<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n <button\n *ngIf=\"item.closeable\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n </tui-notification>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TUI_ALERT_OPTIONS, TUI_ALERTS} from './alert.tokens';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiAlertService(TUI_ALERTS, TuiAlertComponent, inject(TUI_ALERT_OPTIONS)),\n})\nexport class TuiAlertService extends TuiPopoverService<TuiAlertOptions<any>> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TuiAlertService} from './alert.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiAlert]',\n inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],\n outputs: ['openChange: tuiAlertChange'],\n providers: [tuiAsPopover(TuiAlertService)],\n})\nexport class TuiAlert<T> extends TuiPopoverDirective<TuiAlertOptions<T>> {}\n","import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n INJECTOR,\n Injector,\n type Type,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiAnimatedParent} from '@taiga-ui/cdk/directives/animated';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n// eslint-disable-next-line no-restricted-imports\nimport {POLYMORPHEUS_CONTEXT} from '@taiga-ui/polymorpheus';\nimport {identity} from 'rxjs';\n\nimport {TUI_ALERTS_GROUPED} from './alert.tokens';\n\n@Component({\n standalone: true,\n selector: 'tui-alerts',\n imports: [CommonModule, TuiAnimatedParent, TuiMapperPipe],\n templateUrl: './alerts.template.html',\n styleUrls: ['./alerts.style.less'],\n encapsulation: ViewEncapsulation.None,\n // So that we do not force OnPush on custom alerts\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiAlerts {\n private readonly injector = inject(INJECTOR);\n\n protected readonly alerts$ = inject(TUI_ALERTS_GROUPED);\n protected readonly trackBy = identity;\n protected readonly mapper: TuiMapper<[Type<any>], Injector> = (useValue) =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-alert.mjs","sources":["../../../projects/core/components/alert/alert.tokens.ts","../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.directive.ts","../../../projects/core/components/alert/alerts.component.ts","../../../projects/core/components/alert/alerts.template.html","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken, type Type} from '@angular/core';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {BehaviorSubject, combineLatest, map, of} from 'rxjs';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\n\nexport const TUI_ALERT_DEFAULT_OPTIONS: Omit<TuiAlertOptions, 'appearance' | 'icon'> = {\n autoClose: 3000,\n label: '',\n closeable: true,\n data: undefined,\n};\n\nexport const TUI_ALERT_OPTIONS = new InjectionToken<TuiAlertOptions>(\n ngDevMode ? 'TUI_ALERT_OPTIONS' : '',\n {\n factory: () => ({\n ...TUI_ALERT_DEFAULT_OPTIONS,\n ...inject(TUI_NOTIFICATION_OPTIONS),\n }),\n },\n);\n\nexport const TUI_ALERT_POSITION = new InjectionToken<string>(\n ngDevMode ? 'TUI_ALERT_POSITION' : '',\n {\n factory: () => (inject(TUI_IS_MOBILE) ? '1rem 1rem 0 auto' : '2rem 3rem 0 auto'),\n },\n);\n\nexport const TUI_ALERTS = new InjectionToken(ngDevMode ? 'TUI_ALERTS' : '', {\n factory: () => new BehaviorSubject<ReadonlyArray<TuiPopover<any, any>>>([]),\n});\n\n/**\n * Grouping alerts by their component\n */\nexport const TUI_ALERTS_GROUPED = new InjectionToken(\n ngDevMode ? 'TUI_ALERTS_GROUPED' : '',\n {\n factory: () =>\n combineLatest([\n of(new Map<Type<any>, ReadonlyArray<TuiPopover<any, any>>>()),\n inject(TUI_ALERTS),\n ]).pipe(\n map(([map, alerts]) => {\n map.forEach((_, key) => map.set(key, []));\n\n alerts.forEach((alert) => {\n const key = alert.component.component;\n const value = map.get(key) || [];\n\n map.set(key, [...value, alert]);\n });\n\n return Array.from(map.values());\n }),\n ),\n },\n);\n\nexport function tuiAlertOptionsProvider(\n options: Partial<TuiAlertOptions>,\n): FactoryProvider {\n return {\n provide: TUI_ALERT_OPTIONS,\n useFactory: (): TuiAlertOptions => ({\n ...TUI_ALERT_DEFAULT_OPTIONS,\n ...(inject(TUI_ALERT_OPTIONS, {optional: true, skipSelf: true}) ||\n inject(TUI_NOTIFICATION_OPTIONS)),\n ...options,\n }),\n };\n}\n","import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiNotification} from '@taiga-ui/core/components/notification';\nimport {TuiTitle} from '@taiga-ui/core/directives/title';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, fromEvent, of, repeat, switchMap, takeUntil, timer} from 'rxjs';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TUI_ALERT_POSITION} from './alert.tokens';\n\n@Component({\n standalone: true,\n selector: 'tui-alert',\n imports: [NgIf, PolymorpheusOutlet, TuiButton, TuiNotification, TuiTitle],\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n role: 'alert',\n '[style.margin]': 'position',\n '[style.--tui-from]': 'from',\n },\n})\nexport class TuiAlertComponent<O, I> {\n private readonly el = tuiInjectElement();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly close = toSignal(inject(TUI_CLOSE_WORD));\n protected readonly position = inject(TUI_ALERT_POSITION);\n protected readonly item = injectContext<TuiPopover<TuiAlertOptions<I>, O>>();\n\n protected readonly sub = of(\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.appearance)\n : this.item.autoClose,\n )\n .pipe(\n switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)),\n takeUntil(fromEvent(this.el, 'mouseenter')),\n repeat({delay: () => fromEvent(this.el, 'mouseleave')}),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.item.$implicit.complete());\n\n public get from(): string {\n return this.position.endsWith('auto') ? 'translateX(100%)' : 'translateX(-100%)';\n }\n}\n","<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n <button\n *ngIf=\"item.closeable\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n </tui-notification>\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TUI_ALERT_OPTIONS, TUI_ALERTS} from './alert.tokens';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiAlertService(TUI_ALERTS, TuiAlertComponent, inject(TUI_ALERT_OPTIONS)),\n})\nexport class TuiAlertService extends TuiPopoverService<TuiAlertOptions<any>> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TuiAlertService} from './alert.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiAlert]',\n inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],\n outputs: ['openChange: tuiAlertChange'],\n providers: [tuiAsPopover(TuiAlertService)],\n})\nexport class TuiAlert<T> extends TuiPopoverDirective<TuiAlertOptions<T>> {}\n","import {AsyncPipe, NgComponentOutlet, NgFor} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n INJECTOR,\n Injector,\n type Type,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiAnimatedParent} from '@taiga-ui/cdk/directives/animated';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n// eslint-disable-next-line no-restricted-imports\nimport {POLYMORPHEUS_CONTEXT} from '@taiga-ui/polymorpheus';\nimport {identity} from 'rxjs';\n\nimport {TUI_ALERTS_GROUPED} from './alert.tokens';\n\n@Component({\n standalone: true,\n selector: 'tui-alerts',\n imports: [AsyncPipe, NgComponentOutlet, NgFor, TuiAnimatedParent, TuiMapperPipe],\n templateUrl: './alerts.template.html',\n styleUrls: ['./alerts.style.less'],\n encapsulation: ViewEncapsulation.None,\n // So that we do not force OnPush on custom alerts\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiAlerts {\n private readonly injector = inject(INJECTOR);\n\n protected readonly alerts$ = inject(TUI_ALERTS_GROUPED);\n protected readonly trackBy = identity;\n protected readonly mapper: TuiMapper<[Type<any>], Injector> = (useValue) =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","<div\n *ngFor=\"let group of alerts$ | async; trackBy: trackBy\"\n tuiAnimatedParent\n class=\"t-wrapper\"\n>\n <ng-container\n *ngFor=\"let item of group\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import * as i1 from '@angular/common';
2
- import { CommonModule, AsyncPipe, NgIf } from '@angular/common';
1
+ import { AsyncPipe, NgFor, NgIf } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
3
  import { InjectionToken, inject, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, signal, computed, ChangeDetectorRef } from '@angular/core';
5
4
  import { TuiDay, TuiMonth, TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, MIN_YEAR, MAX_YEAR, TuiYear, TuiMonthRange, TUI_LAST_DISPLAYED_DAY } from '@taiga-ui/cdk/date-time';
@@ -141,7 +140,7 @@ class TuiCalendarSheet {
141
140
  this.hoveredItemChange.emit(day);
142
141
  }
143
142
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
144
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", single: "single" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", single: "single" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
145
144
  }
146
145
  __decorate([
147
146
  tuiPure
@@ -149,7 +148,9 @@ __decorate([
149
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, decorators: [{
150
149
  type: Component,
151
150
  args: [{ standalone: true, selector: 'tui-calendar-sheet', imports: [
152
- CommonModule,
151
+ AsyncPipe,
152
+ NgFor,
153
+ NgIf,
153
154
  TuiCalendarSheetPipe,
154
155
  TuiHovered,
155
156
  TuiLet,