@taiga-ui/core 4.8.0 → 4.8.1-canary.852a9d9

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 (35) hide show
  1. package/components/data-list/data-list.tokens.d.ts +3 -4
  2. package/components/notification/notification.directive.d.ts +1 -1
  3. package/components/root/root.component.d.ts +2 -3
  4. package/directives/appearance/appearance.directive.d.ts +1 -1
  5. package/directives/appearance/appearance.options.d.ts +1 -1
  6. package/directives/dropdown/dropdown-context.directive.d.ts +1 -1
  7. package/directives/dropdown/dropdown.providers.d.ts +2 -3
  8. package/esm2022/components/data-list/data-list.tokens.mjs +5 -6
  9. package/esm2022/components/root/root.component.mjs +11 -19
  10. package/esm2022/components/scrollbar/scrollbar.directive.mjs +7 -2
  11. package/esm2022/components/scrollbar/scrollbar.service.mjs +3 -3
  12. package/esm2022/components/textfield/textfield.component.mjs +3 -3
  13. package/esm2022/components/textfield/textfield.directive.mjs +9 -3
  14. package/esm2022/directives/appearance/appearance.options.mjs +1 -1
  15. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +9 -9
  16. package/esm2022/directives/dropdown/dropdown.component.mjs +3 -3
  17. package/esm2022/directives/dropdown/dropdown.providers.mjs +3 -4
  18. package/esm2022/tokens/dark-mode.mjs +30 -32
  19. package/fesm2022/taiga-ui-core-components-data-list.mjs +5 -5
  20. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-core-components-root.mjs +10 -18
  22. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +8 -3
  24. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-core-components-textfield.mjs +10 -4
  26. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +12 -12
  29. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-tokens.mjs +28 -30
  31. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  32. package/package.json +324 -324
  33. package/styles/components/textfield.less +10 -16
  34. package/styles/theme/appearance/textfield.less +0 -4
  35. package/tokens/dark-mode.d.ts +3 -3
@@ -43,8 +43,14 @@ class TuiTextfieldBase {
43
43
  this.m.set(this.mode);
44
44
  }
45
45
  setValue(value) {
46
- this.el.value = value == null ? '' : this.textfield.stringify(value);
47
- this.el.dispatchEvent(new Event('input', { bubbles: true }));
46
+ this.el.focus();
47
+ this.el.select();
48
+ if (value == null) {
49
+ this.el.ownerDocument.execCommand('delete');
50
+ }
51
+ else {
52
+ this.el.ownerDocument.execCommand('insertText', false, this.textfield.stringify(value));
53
+ }
48
54
  }
49
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
56
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldBase, inputs: { readOnly: "readOnly", invalid: "invalid", focusedSetter: ["focused", "focusedSetter"], stateSetter: ["state", "stateSetter"] }, usesOnChanges: true, ngImport: i0 }); }
@@ -84,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
84
90
  },
85
91
  }]
86
92
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNILGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUc5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUUxRCxNQUNhLGdCQUFnQjtJQUQ3QjtRQUVJLHVEQUF1RDtRQUN0QyxZQUFPLEdBQUcsTUFBTSxDQUFpQixJQUFJLENBQUMsQ0FBQztRQUVyQyxNQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVELE1BQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQUMsR0FBRyxrQkFBa0IsQ0FDckMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQzdELENBQUM7UUFFaUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLGNBQVMsR0FDeEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixZQUFPLEdBQW1CLElBQUksQ0FBQztLQXFDekM7SUFuQ0csSUFDVyxhQUFhLENBQUMsT0FBdUI7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ1csV0FBVyxDQUFDLEtBQWlDO1FBQ3BELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx1REFBdUQ7SUFDaEQsV0FBVztRQUNkLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWU7UUFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7K0dBdkRRLGdCQUFnQjttR0FBaEIsZ0JBQWdCOztTQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsU0FBUzs4QkFpQkMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJSyxhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVM7Z0JBTUwsV0FBVztzQkFEckIsS0FBSzt1QkFBQyxPQUFPOztBQWdDbEIsTUFhYSxxQkFBeUIsU0FBUSxnQkFBbUI7K0dBQXBELHFCQUFxQjttR0FBckIscUJBQXFCOztTQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFiakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsY0FBYyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDO29CQUNuRCxJQUFJLEVBQUU7d0JBQ0YsTUFBTSxFQUFFLGNBQWM7d0JBQ3RCLFlBQVksRUFBRSxVQUFVO3dCQUN4QixnQkFBZ0IsRUFBRSxpQkFBaUI7d0JBQ25DLFNBQVMsRUFBRSxHQUFHO3dCQUNkLFdBQVcsRUFBRSxHQUFHO3dCQUNoQixZQUFZLEVBQUUsR0FBRztxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIHR5cGUgT25DaGFuZ2VzLCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlOYXRpdmVWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIHR1aUFwcGVhcmFuY2UsXG4gICAgdHVpQXBwZWFyYW5jZUZvY3VzLFxuICAgIHR1aUFwcGVhcmFuY2VNb2RlLFxuICAgIHR1aUFwcGVhcmFuY2VTdGF0ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9hcHBlYXJhbmNlJztcbmltcG9ydCB0eXBlIHtUdWlJbnRlcmFjdGl2ZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7VHVpVGV4dGZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3RleHRmaWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlN9IGZyb20gJy4vdGV4dGZpZWxkLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRCYXNlPFQ+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvLyBUT0RPOiByZWZhY3RvciB0byBzaWduYWwgaW5wdXRzIGFmdGVyIEFuZ3VsYXIgdXBkYXRlXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2VkID0gc2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBhID0gdHVpQXBwZWFyYW5jZShpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5hcHBlYXJhbmNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcyA9IHR1aUFwcGVhcmFuY2VTdGF0ZShudWxsKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbSA9IHR1aUFwcGVhcmFuY2VNb2RlKHRoaXMubW9kZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGYgPSB0dWlBcHBlYXJhbmNlRm9jdXMoXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHRoaXMuZm9jdXNlZCgpIHx8IHRoaXMudGV4dGZpZWxkLmZvY3VzZWQoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkOiBUdWlUZXh0ZmllbGRDb21wb25lbnQ8VD4gPVxuICAgICAgICBpbmplY3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbnZhbGlkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoJ2ZvY3VzZWQnKVxuICAgIHB1YmxpYyBzZXQgZm9jdXNlZFNldHRlcihmb2N1c2VkOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KGZvY3VzZWQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgnc3RhdGUnKVxuICAgIHB1YmxpYyBzZXQgc3RhdGVTZXR0ZXIoc3RhdGU6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsKSB7XG4gICAgICAgIHRoaXMucy5zZXQoc3RhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbW9kZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiAncmVhZG9ubHknO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW52YWxpZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiAndmFsaWQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubS5zZXQodGhpcy5tb2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwudmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB0aGlzLnRleHRmaWVsZC5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICB0aGlzLmVsLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcsIHtidWJibGVzOiB0cnVlfSkpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVRleHRmaWVsZF0nLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpTmF0aXZlVmFsaWRhdG9yLCBUdWlBcHBlYXJhbmNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbaWRdJzogJ3RleHRmaWVsZC5pZCcsXG4gICAgICAgICdbcmVhZE9ubHldJzogJ3JlYWRPbmx5JyxcbiAgICAgICAgJ1tjbGFzcy5fZW1wdHldJzogJ2VsLnZhbHVlID09PSBcIlwiJyxcbiAgICAgICAgJyhpbnB1dCknOiAnMCcsXG4gICAgICAgICcoZm9jdXNpbiknOiAnMCcsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJzAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZERpcmVjdGl2ZTxUPiBleHRlbmRzIFR1aVRleHRmaWVsZEJhc2U8VD4ge31cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNILGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUc5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUUxRCxNQUNhLGdCQUFnQjtJQUQ3QjtRQUVJLHVEQUF1RDtRQUN0QyxZQUFPLEdBQUcsTUFBTSxDQUFpQixJQUFJLENBQUMsQ0FBQztRQUVyQyxNQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzVELE1BQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixNQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQUMsR0FBRyxrQkFBa0IsQ0FDckMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQzdELENBQUM7UUFFaUIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQzFDLGNBQVMsR0FDeEIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHM0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixZQUFPLEdBQW1CLElBQUksQ0FBQztLQStDekM7SUE3Q0csSUFDVyxhQUFhLENBQUMsT0FBdUI7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQ1csV0FBVyxDQUFDLEtBQWlDO1FBQ3BELElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPLFVBQVUsQ0FBQztTQUNyQjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx1REFBdUQ7SUFDaEQsV0FBVztRQUNkLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWU7UUFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWpCLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNmLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMvQzthQUFNO1lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUM3QixZQUFZLEVBQ1osS0FBSyxFQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNsQyxDQUFDO1NBQ0w7SUFDTCxDQUFDOytHQWpFUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQjs7U0FBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLFNBQVM7OEJBaUJDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUssYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxTQUFTO2dCQU1MLFdBQVc7c0JBRHJCLEtBQUs7dUJBQUMsT0FBTzs7QUEwQ2xCLE1BYWEscUJBQXlCLFNBQVEsZ0JBQW1COytHQUFwRCxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7U0FBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBYmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLGNBQWMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsQ0FBQztvQkFDbkQsSUFBSSxFQUFFO3dCQUNGLE1BQU0sRUFBRSxjQUFjO3dCQUN0QixZQUFZLEVBQUUsVUFBVTt3QkFDeEIsZ0JBQWdCLEVBQUUsaUJBQWlCO3dCQUNuQyxTQUFTLEVBQUUsR0FBRzt3QkFDZCxXQUFXLEVBQUUsR0FBRzt3QkFDaEIsWUFBWSxFQUFFLEdBQUc7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCB0eXBlIE9uQ2hhbmdlcywgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpTmF0aXZlVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbmF0aXZlLXZhbGlkYXRvcic7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgVHVpQXBwZWFyYW5jZSxcbiAgICB0dWlBcHBlYXJhbmNlLFxuICAgIHR1aUFwcGVhcmFuY2VGb2N1cyxcbiAgICB0dWlBcHBlYXJhbmNlTW9kZSxcbiAgICB0dWlBcHBlYXJhbmNlU3RhdGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQgdHlwZSB7VHVpSW50ZXJhY3RpdmVTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQge1R1aVRleHRmaWVsZENvbXBvbmVudH0gZnJvbSAnLi90ZXh0ZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9PUFRJT05TfSBmcm9tICcuL3RleHRmaWVsZC5vcHRpb25zJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQmFzZTxUPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLy8gVE9ETzogcmVmYWN0b3IgdG8gc2lnbmFsIGlucHV0cyBhZnRlciBBbmd1bGFyIHVwZGF0ZVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNlZCA9IHNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYSA9IHR1aUFwcGVhcmFuY2UoaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHMgPSB0dWlBcHBlYXJhbmNlU3RhdGUobnVsbCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG0gPSB0dWlBcHBlYXJhbmNlTW9kZSh0aGlzLm1vZGUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmID0gdHVpQXBwZWFyYW5jZUZvY3VzKFxuICAgICAgICBjb21wdXRlZCgoKSA9PiB0aGlzLmZvY3VzZWQoKSB8fCB0aGlzLnRleHRmaWVsZC5mb2N1c2VkKCkpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZDogVHVpVGV4dGZpZWxkQ29tcG9uZW50PFQ+ID1cbiAgICAgICAgaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW52YWxpZDogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCdmb2N1c2VkJylcbiAgICBwdWJsaWMgc2V0IGZvY3VzZWRTZXR0ZXIoZm9jdXNlZDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkLnNldChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ3N0YXRlJylcbiAgICBwdWJsaWMgc2V0IHN0YXRlU2V0dGVyKHN0YXRlOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnMuc2V0KHN0YXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1vZGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gJ3JlYWRvbmx5JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmludmFsaWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3ZhbGlkJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmludmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiAnaW52YWxpZCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiByZWZhY3RvciB0byBzaWduYWwgaW5wdXRzIGFmdGVyIEFuZ3VsYXIgdXBkYXRlXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm0uc2V0KHRoaXMubW9kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsLmZvY3VzKCk7XG4gICAgICAgIHRoaXMuZWwuc2VsZWN0KCk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZWwub3duZXJEb2N1bWVudC5leGVjQ29tbWFuZCgnZGVsZXRlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsLm93bmVyRG9jdW1lbnQuZXhlY0NvbW1hbmQoXG4gICAgICAgICAgICAgICAgJ2luc2VydFRleHQnLFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnN0cmluZ2lmeSh2YWx1ZSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpVGV4dGZpZWxkXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlOYXRpdmVWYWxpZGF0b3IsIFR1aUFwcGVhcmFuY2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tpZF0nOiAndGV4dGZpZWxkLmlkJyxcbiAgICAgICAgJ1tyZWFkT25seV0nOiAncmVhZE9ubHknLFxuICAgICAgICAnW2NsYXNzLl9lbXB0eV0nOiAnZWwudmFsdWUgPT09IFwiXCInLFxuICAgICAgICAnKGlucHV0KSc6ICcwJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICcwJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnMCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkRGlyZWN0aXZlPFQ+IGV4dGVuZHMgVHVpVGV4dGZpZWxkQmFzZTxUPiB7fVxuIl19
@@ -6,4 +6,4 @@ export const TUI_APPEARANCE_OPTIONS = tuiCreateToken(TUI_APPEARANCE_DEFAULT_OPTI
6
6
  export function tuiAppearanceOptionsProvider(token) {
7
7
  return tuiProvide(TUI_APPEARANCE_OPTIONS, token);
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZWFyYW5jZS5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UvYXBwZWFyYW5jZS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUE2QjdFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUF5QjtJQUNoRSxVQUFVLEVBQUUsRUFBRTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFFckYsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxLQUEwQztJQUUxQyxPQUFPLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0V4aXN0aW5nUHJvdmlkZXIsIFByb3ZpZGVyVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aUxvb3NlVW5pb259IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuLyoqXG4gKiBCdW5kbGVkIGFwcGVhcmFuY2VzIGZvciBhdXRvY29tcGxldGUgcHVycG9zZXMsIG5vdCBleHBvcnRlZCBvbiBwdXJwb3NlXG4gKi9cbnR5cGUgQXBwZWFyYW5jZSA9IFR1aUxvb3NlVW5pb248XG4gICAgfCAnYWNjZW50J1xuICAgIHwgJ2Rlc3RydWN0aXZlJ1xuICAgIHwgJ2Vycm9yJ1xuICAgIHwgJ2ZsYXQnXG4gICAgfCAnZmxvYXRpbmcnXG4gICAgfCAnZ2xhc3MnXG4gICAgfCAnaW5mbydcbiAgICB8ICdsaW5rJ1xuICAgIHwgJ25ldXRyYWwnXG4gICAgfCAnb3Bwb3NpdGUnXG4gICAgfCAnb3V0bGluZSdcbiAgICB8ICdwcmltYXJ5J1xuICAgIHwgJ3NlY29uZGFyeSdcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3RleHRmaWVsZCdcbiAgICB8ICd3YXJuaW5nJ1xuICAgIHwgJ3doaXRlYmxvY2snXG4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFwcGVhcmFuY2VPcHRpb25zIHtcbiAgICByZWFkb25seSBhcHBlYXJhbmNlOiBBcHBlYXJhbmNlO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0FQUEVBUkFOQ0VfREVGQVVMVF9PUFRJT05TOiBUdWlBcHBlYXJhbmNlT3B0aW9ucyA9IHtcbiAgICBhcHBlYXJhbmNlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfQVBQRUFSQU5DRV9PUFRJT05TID0gdHVpQ3JlYXRlVG9rZW4oVFVJX0FQUEVBUkFOQ0VfREVGQVVMVF9PUFRJT05TKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFwcGVhcmFuY2VPcHRpb25zUHJvdmlkZXIoXG4gICAgdG9rZW46IFByb3ZpZGVyVG9rZW48VHVpQXBwZWFyYW5jZU9wdGlvbnM+LFxuKTogRXhpc3RpbmdQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGUoVFVJX0FQUEVBUkFOQ0VfT1BUSU9OUywgdG9rZW4pO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZWFyYW5jZS5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UvYXBwZWFyYW5jZS5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUE4QjdFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUF5QjtJQUNoRSxVQUFVLEVBQUUsRUFBRTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFFckYsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxLQUEwQztJQUUxQyxPQUFPLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0V4aXN0aW5nUHJvdmlkZXIsIFByb3ZpZGVyVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aUxvb3NlVW5pb259IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuLyoqXG4gKiBCdW5kbGVkIGFwcGVhcmFuY2VzIGZvciBhdXRvY29tcGxldGUgcHVycG9zZXMsIG5vdCBleHBvcnRlZCBvbiBwdXJwb3NlXG4gKi9cbnR5cGUgQXBwZWFyYW5jZSA9IFR1aUxvb3NlVW5pb248XG4gICAgfCAnYWNjZW50J1xuICAgIHwgJ2Rlc3RydWN0aXZlJ1xuICAgIHwgJ2Vycm9yJ1xuICAgIHwgJ2ZsYXQnXG4gICAgfCAnZmxvYXRpbmcnXG4gICAgfCAnZ2xhc3MnXG4gICAgfCAnaWNvbidcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ2xpbmsnXG4gICAgfCAnbmV1dHJhbCdcbiAgICB8ICdvcHBvc2l0ZSdcbiAgICB8ICdvdXRsaW5lJ1xuICAgIHwgJ3ByaW1hcnknXG4gICAgfCAnc2Vjb25kYXJ5J1xuICAgIHwgJ3N1Y2Nlc3MnXG4gICAgfCAndGV4dGZpZWxkJ1xuICAgIHwgJ3dhcm5pbmcnXG4gICAgfCAnd2hpdGVibG9jaydcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQXBwZWFyYW5jZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IEFwcGVhcmFuY2U7XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfQVBQRUFSQU5DRV9ERUZBVUxUX09QVElPTlM6IFR1aUFwcGVhcmFuY2VPcHRpb25zID0ge1xuICAgIGFwcGVhcmFuY2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9BUFBFQVJBTkNFX09QVElPTlMgPSB0dWlDcmVhdGVUb2tlbihUVUlfQVBQRUFSQU5DRV9ERUZBVUxUX09QVElPTlMpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXBwZWFyYW5jZU9wdGlvbnNQcm92aWRlcihcbiAgICB0b2tlbjogUHJvdmlkZXJUb2tlbjxUdWlBcHBlYXJhbmNlT3B0aW9ucz4sXG4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUVUlfQVBQRUFSQU5DRV9PUFRJT05TLCB0b2tlbik7XG59XG4iXX0=
@@ -3,13 +3,13 @@ import { computed, Directive, inject } from '@angular/core';
3
3
  import { EMPTY_CLIENT_RECT } from '@taiga-ui/cdk/constants';
4
4
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
5
5
  import { TUI_IS_IOS, TUI_IS_TOUCH } from '@taiga-ui/cdk/tokens';
6
- import { tuiPointToClientRect } from '@taiga-ui/cdk/utils/dom';
6
+ import { tuiGetActualTarget, tuiPointToClientRect } from '@taiga-ui/cdk/utils/dom';
7
7
  import { tuiAsDriver, tuiAsRectAccessor, TuiRectAccessor } from '@taiga-ui/core/classes';
8
8
  import { shouldCall } from '@taiga-ui/event-plugins';
9
9
  import { TuiDropdownDriver } from './dropdown.driver';
10
10
  import * as i0 from "@angular/core";
11
- function activeZoneFilter(target) {
12
- return !this.activeZone.contains(target);
11
+ function activeZoneFilter(event) {
12
+ return !event || !this.activeZone.contains(tuiGetActualTarget(event));
13
13
  }
14
14
  const TAP_DELAY = 700;
15
15
  const MOVE_THRESHOLD = 15;
@@ -28,7 +28,7 @@ class TuiDropdownContext extends TuiRectAccessor {
28
28
  getClientRect() {
29
29
  return this.currentRect;
30
30
  }
31
- closeDropdown(_element) {
31
+ closeDropdown(_event) {
32
32
  this.driver.next(false);
33
33
  this.currentRect = EMPTY_CLIENT_RECT;
34
34
  }
@@ -55,7 +55,7 @@ class TuiDropdownContext extends TuiRectAccessor {
55
55
  clearTimeout(this.longTapTimeout);
56
56
  }
57
57
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownContext, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
58
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownContext, isStandalone: true, selector: "[tuiDropdownContext]", host: { listeners: { "touchend.silent.passive": "onTouchEnd()", "touchcancel.silent.passive": "onTouchEnd()", "touchmove.silent.passive": "onTouchMove($event.touches[0].clientX, $event.touches[0].clientY)", "touchstart.silent.passive": "onTouchStart($event.touches[0].clientX, $event.touches[0].clientY)", "document:pointerdown.silent": "closeDropdown($event.target)", "document:contextmenu.capture.silent": "closeDropdown($event.target)", "document:keydown.esc": "closeDropdown($event.currentTarget)", "contextmenu.prevent.stop": "onContextMenu($event.clientX, $event.clientY)" }, properties: { "style.user-select": "userSelect()", "style.-webkit-user-select": "userSelect()", "style.-webkit-touch-callout": "userSelect()" } }, providers: [
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownContext, isStandalone: true, selector: "[tuiDropdownContext]", host: { listeners: { "touchend.silent.passive": "onTouchEnd()", "touchcancel.silent.passive": "onTouchEnd()", "touchmove.silent.passive": "onTouchMove($event.touches[0].clientX, $event.touches[0].clientY)", "touchstart.silent.passive": "onTouchStart($event.touches[0].clientX, $event.touches[0].clientY)", "document:pointerdown.silent": "closeDropdown($event)", "document:contextmenu.capture.silent": "closeDropdown($event)", "document:keydown.esc": "closeDropdown()", "contextmenu.prevent.stop": "onContextMenu($event.clientX, $event.clientY)" }, properties: { "style.user-select": "userSelect()", "style.-webkit-user-select": "userSelect()", "style.-webkit-touch-callout": "userSelect()" } }, providers: [
59
59
  TuiActiveZone,
60
60
  TuiDropdownDriver,
61
61
  tuiAsDriver(TuiDropdownDriver),
@@ -85,11 +85,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
85
  '(touchcancel.silent.passive)': 'onTouchEnd()',
86
86
  '(touchmove.silent.passive)': 'onTouchMove($event.touches[0].clientX, $event.touches[0].clientY)',
87
87
  '(touchstart.silent.passive)': 'onTouchStart($event.touches[0].clientX, $event.touches[0].clientY)',
88
- '(document:pointerdown.silent)': 'closeDropdown($event.target)',
89
- '(document:contextmenu.capture.silent)': 'closeDropdown($event.target)',
90
- '(document:keydown.esc)': 'closeDropdown($event.currentTarget)',
88
+ '(document:pointerdown.silent)': 'closeDropdown($event)',
89
+ '(document:contextmenu.capture.silent)': 'closeDropdown($event)',
90
+ '(document:keydown.esc)': 'closeDropdown()',
91
91
  '(contextmenu.prevent.stop)': 'onContextMenu($event.clientX, $event.clientY)',
92
92
  },
93
93
  }]
94
94
  }], propDecorators: { closeDropdown: [] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFcEQsU0FBUyxnQkFBZ0IsQ0FBMkIsTUFBZTtJQUMvRCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFFMUIsTUF5QmEsa0JBQW1CLFNBQVEsZUFBZTtJQXpCdkQ7O1FBMEJxQixVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLFlBQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIs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RTt3QkFDeEUsK0JBQStCLEVBQUUsOEJBQThCO3dCQUMvRCx1Q0FBdUMsRUFBRSw4QkFBOEI7d0JBQ3ZFLHdCQUF3QixFQUFFLHFDQUFxQzt3QkFDL0QsNEJBQTRCLEVBQUUsK0NBQStDO3FCQUNoRjtpQkFDSjs4QkFrQmEsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfQ0xJRU5UX1JFQ1R9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7VFVJX0lTX0lPUywgVFVJX0lTX1RPVUNIfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aVBvaW50VG9DbGllbnRSZWN0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUFzRHJpdmVyLCB0dWlBc1JlY3RBY2Nlc3NvciwgVHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7c2hvdWxkQ2FsbH0gZnJvbSAnQHRhaWdhLXVpL2V2ZW50LXBsdWdpbnMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRHJpdmVyfSBmcm9tICcuL2Ryb3Bkb3duLmRyaXZlcic7XG5cbmZ1bmN0aW9uIGFjdGl2ZVpvbmVGaWx0ZXIodGhpczogVHVpRHJvcGRvd25Db250ZXh0LCB0YXJnZXQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYWN0aXZlWm9uZS5jb250YWlucyh0YXJnZXQpO1xufVxuXG5jb25zdCBUQVBfREVMQVkgPSA3MDA7XG5jb25zdCBNT1ZFX1RIUkVTSE9MRCA9IDE1O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duQ29udGV4dF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlBY3RpdmVab25lLFxuICAgICAgICBUdWlEcm9wZG93bkRyaXZlcixcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Ecml2ZXIpLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93bkNvbnRleHQpLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnVzZXItc2VsZWN0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnW3N0eWxlLi13ZWJraXQtdXNlci1zZWxlY3RdJzogJ3VzZXJTZWxlY3QoKScsXG4gICAgICAgICdbc3R5bGUuLXdlYmtpdC10b3VjaC1jYWxsb3V0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnKHRvdWNoZW5kLnNpbGVudC5wYXNzaXZlKSc6ICdvblRvdWNoRW5kKCknLFxuICAgICAgICAnKHRvdWNoY2FuY2VsLnNpbGVudC5wYXNzaXZlKSc6ICdvblRvdWNoRW5kKCknLFxuICAgICAgICAnKHRvdWNobW92ZS5zaWxlbnQucGFzc2l2ZSknOlxuICAgICAgICAgICAgJ29uVG91Y2hNb3ZlKCRldmVudC50b3VjaGVzWzBdLmNsaWVudFgsICRldmVudC50b3VjaGVzWzBdLmNsaWVudFkpJyxcbiAgICAgICAgJyh0b3VjaHN0YXJ0LnNpbGVudC5wYXNzaXZlKSc6XG4gICAgICAgICAgICAnb25Ub3VjaFN0YXJ0KCRldmVudC50b3VjaGVzWzBdLmNsaWVudFgsICRldmVudC50b3VjaGVzWzBdLmNsaWVudFkpJyxcbiAgICAgICAgJyhkb2N1bWVudDpwb2ludGVyZG93bi5zaWxlbnQpJzogJ2Nsb3NlRHJvcGRvd24oJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKGRvY3VtZW50OmNvbnRleHRtZW51LmNhcHR1cmUuc2lsZW50KSc6ICdjbG9zZURyb3Bkb3duKCRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhkb2N1bWVudDprZXlkb3duLmVzYyknOiAnY2xvc2VEcm9wZG93bigkZXZlbnQuY3VycmVudFRhcmdldCknLFxuICAgICAgICAnKGNvbnRleHRtZW51LnByZXZlbnQuc3RvcCknOiAnb25Db250ZXh0TWVudSgkZXZlbnQuY2xpZW50WCwgJGV2ZW50LmNsaWVudFkpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkNvbnRleHQgZXh0ZW5kcyBUdWlSZWN0QWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNJT1MgPSBpbmplY3QoVFVJX0lTX0lPUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc1RvdWNoID0gaW5qZWN0KFRVSV9JU19UT1VDSCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcml2ZXIgPSBpbmplY3QoVHVpRHJvcGRvd25Ecml2ZXIpO1xuICAgIHByaXZhdGUgY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICBwcml2YXRlIGxvbmdUYXBUaW1lb3V0OiBhbnkgPSBOYU47XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdXNlclNlbGVjdCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlzVG91Y2goKSA/ICdub25lJyA6IG51bGwpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lKTtcblxuICAgIHB1YmxpYyByZWFkb25seSB0eXBlID0gJ2Ryb3Bkb3duJztcblxuICAgIHB1YmxpYyBnZXRDbGllbnRSZWN0KCk6IERPTVJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UmVjdDtcbiAgICB9XG5cbiAgICBAc2hvdWxkQ2FsbChhY3RpdmVab25lRmlsdGVyKVxuICAgIHByb3RlY3RlZCBjbG9zZURyb3Bkb3duKF9lbGVtZW50OiBFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJpdmVyLm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gRU1QVFlfQ0xJRU5UX1JFQ1Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ29udGV4dE1lbnUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IHR1aVBvaW50VG9DbGllbnRSZWN0KHgsIHkpO1xuICAgICAgICB0aGlzLmRyaXZlci5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvdWNoU3RhcnQoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzSU9TIHx8ICF0aGlzLmlzVG91Y2goKSB8fCB0aGlzLmN1cnJlbnRSZWN0ICE9PSBFTVBUWV9DTElFTlRfUkVDVCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IHR1aVBvaW50VG9DbGllbnRSZWN0KHgsIHkpO1xuICAgICAgICB0aGlzLmxvbmdUYXBUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmRyaXZlci5uZXh0KHRydWUpLCBUQVBfREVMQVkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvdWNoTW92ZSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlzSU9TICYmXG4gICAgICAgICAgICB0aGlzLmlzVG91Y2goKSAmJlxuICAgICAgICAgICAgdGhpcy5jdXJyZW50UmVjdCAhPT0gRU1QVFlfQ0xJRU5UX1JFQ1QgJiZcbiAgICAgICAgICAgIE1hdGguaHlwb3QoeCAtIHRoaXMuY3VycmVudFJlY3QueCwgeSAtIHRoaXMuY3VycmVudFJlY3QueSkgPiBNT1ZFX1RIUkVTSE9MRFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaEVuZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG91Y2hFbmQoKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxvbmdUYXBUaW1lb3V0KTtcbiAgICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFcEQsU0FBUyxnQkFBZ0IsQ0FBMkIsS0FBYTtJQUM3RCxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUUxQixNQXlCYSxrQkFBbUIsU0FBUSxlQUFlO0lBekJ2RDs7UUEwQnFCLFVBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxZQUFZ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QUE0QixFQUN4QixtRUFBbUU7d0JBQ3ZFLDZCQUE2QixFQUN6QixvRUFBb0U7d0JBQ3hFLCtCQUErQixFQUFFLHVCQUF1Qjt3QkFDeEQsdUNBQXVDLEVBQUUsdUJBQXVCO3dCQUNoRSx3QkFBd0IsRUFBRSxpQkFBaUI7d0JBQzNDLDRCQUE0QixFQUFFLCtDQUErQztxQkFDaEY7aUJBQ0o7OEJBa0JhLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX0NMSUVOVF9SRUNUfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1RVSV9JU19JT1MsIFRVSV9JU19UT1VDSH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRBY3R1YWxUYXJnZXQsIHR1aVBvaW50VG9DbGllbnRSZWN0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUFzRHJpdmVyLCB0dWlBc1JlY3RBY2Nlc3NvciwgVHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7c2hvdWxkQ2FsbH0gZnJvbSAnQHRhaWdhLXVpL2V2ZW50LXBsdWdpbnMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRHJpdmVyfSBmcm9tICcuL2Ryb3Bkb3duLmRyaXZlcic7XG5cbmZ1bmN0aW9uIGFjdGl2ZVpvbmVGaWx0ZXIodGhpczogVHVpRHJvcGRvd25Db250ZXh0LCBldmVudD86IEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFldmVudCB8fCAhdGhpcy5hY3RpdmVab25lLmNvbnRhaW5zKHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpO1xufVxuXG5jb25zdCBUQVBfREVMQVkgPSA3MDA7XG5jb25zdCBNT1ZFX1RIUkVTSE9MRCA9IDE1O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duQ29udGV4dF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlBY3RpdmVab25lLFxuICAgICAgICBUdWlEcm9wZG93bkRyaXZlcixcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Ecml2ZXIpLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93bkNvbnRleHQpLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLnVzZXItc2VsZWN0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnW3N0eWxlLi13ZWJraXQtdXNlci1zZWxlY3RdJzogJ3VzZXJTZWxlY3QoKScsXG4gICAgICAgICdbc3R5bGUuLXdlYmtpdC10b3VjaC1jYWxsb3V0XSc6ICd1c2VyU2VsZWN0KCknLFxuICAgICAgICAnKHRvdWNoZW5kLnNpbGVudC5wYXNzaXZlKSc6ICdvblRvdWNoRW5kKCknLFxuICAgICAgICAnKHRvdWNoY2FuY2VsLnNpbGVudC5wYXNzaXZlKSc6ICdvblRvdWNoRW5kKCknLFxuICAgICAgICAnKHRvdWNobW92ZS5zaWxlbnQucGFzc2l2ZSknOlxuICAgICAgICAgICAgJ29uVG91Y2hNb3ZlKCRldmVudC50b3VjaGVzWzBdLmNsaWVudFgsICRldmVudC50b3VjaGVzWzBdLmNsaWVudFkpJyxcbiAgICAgICAgJyh0b3VjaHN0YXJ0LnNpbGVudC5wYXNzaXZlKSc6XG4gICAgICAgICAgICAnb25Ub3VjaFN0YXJ0KCRldmVudC50b3VjaGVzWzBdLmNsaWVudFgsICRldmVudC50b3VjaGVzWzBdLmNsaWVudFkpJyxcbiAgICAgICAgJyhkb2N1bWVudDpwb2ludGVyZG93bi5zaWxlbnQpJzogJ2Nsb3NlRHJvcGRvd24oJGV2ZW50KScsXG4gICAgICAgICcoZG9jdW1lbnQ6Y29udGV4dG1lbnUuY2FwdHVyZS5zaWxlbnQpJzogJ2Nsb3NlRHJvcGRvd24oJGV2ZW50KScsXG4gICAgICAgICcoZG9jdW1lbnQ6a2V5ZG93bi5lc2MpJzogJ2Nsb3NlRHJvcGRvd24oKScsXG4gICAgICAgICcoY29udGV4dG1lbnUucHJldmVudC5zdG9wKSc6ICdvbkNvbnRleHRNZW51KCRldmVudC5jbGllbnRYLCAkZXZlbnQuY2xpZW50WSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29udGV4dCBleHRlbmRzIFR1aVJlY3RBY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzVG91Y2ggPSBpbmplY3QoVFVJX0lTX1RPVUNIKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyaXZlciA9IGluamVjdChUdWlEcm9wZG93bkRyaXZlcik7XG4gICAgcHJpdmF0ZSBjdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgIHByaXZhdGUgbG9uZ1RhcFRpbWVvdXQ6IGFueSA9IE5hTjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB1c2VyU2VsZWN0ID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuaXNUb3VjaCgpID8gJ25vbmUnIDogbnVsbCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnZHJvcGRvd24nO1xuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRSZWN0O1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKGFjdGl2ZVpvbmVGaWx0ZXIpXG4gICAgcHJvdGVjdGVkIGNsb3NlRHJvcGRvd24oX2V2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcml2ZXIubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMuY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Db250ZXh0TWVudSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMuZHJpdmVyLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG91Y2hTdGFydCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNJT1MgfHwgIXRoaXMuaXNUb3VjaCgpIHx8IHRoaXMuY3VycmVudFJlY3QgIT09IEVNUFRZX0NMSUVOVF9SRUNUKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMubG9uZ1RhcFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZHJpdmVyLm5leHQodHJ1ZSksIFRBUF9ERUxBWSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG91Y2hNb3ZlKHg6IG51bWJlciwgeTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaXNJT1MgJiZcbiAgICAgICAgICAgIHRoaXMuaXNUb3VjaCgpICYmXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ICE9PSBFTVBUWV9DTElFTlRfUkVDVCAmJlxuICAgICAgICAgICAgTWF0aC5oeXBvdCh4IC0gdGhpcy5jdXJyZW50UmVjdC54LCB5IC0gdGhpcy5jdXJyZW50UmVjdC55KSA+IE1PVkVfVEhSRVNIT0xEXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoRW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Ub3VjaEVuZCgpOiB2b2lkIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubG9uZ1RhcFRpbWVvdXQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -38,10 +38,10 @@ class TuiDropdownComponent {
38
38
  .closest('[tuiTheme]')
39
39
  ?.getAttribute('tuiTheme');
40
40
  this.sub = inject(TuiPositionService)
41
- .pipe(takeWhile(() => this.directive.el.isConnected), map((v) => (this.directive.position === 'fixed' ? this.vvs.correct(v) : v)), map(([top, left]) => this.getStyles(top, left)), takeUntilDestroyed())
41
+ .pipe(takeWhile(() => this.directive.el.isConnected && !!this.directive.el.offsetParent), map((v) => (this.directive.position === 'fixed' ? this.vvs.correct(v) : v)), map(([top, left]) => this.getStyles(top, left)), takeUntilDestroyed())
42
42
  .subscribe({
43
43
  next: (styles) => Object.assign(this.el.style, styles),
44
- complete: () => this.close(),
44
+ complete: () => this.close?.(),
45
45
  });
46
46
  this.close = () => this.directive.toggle(false);
47
47
  }
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
92
  '[attr.tuiTheme]': 'theme',
93
93
  }, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: close}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n</tui-scrollbar>\n", styles: [":host{position:absolute;display:flex;box-shadow:var(--tui-shadow-medium);color:var(--tui-text-primary);background:var(--tui-background-elevation-3);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-border-normal);box-sizing:border-box;max-inline-size:calc(100% - 8px);isolation:isolate;pointer-events:auto}:host.ng-animating{pointer-events:none}:host:not([style*=top]){visibility:hidden}.t-scroll{flex-grow:1;max-inline-size:100%;overscroll-behavior:none}.t-primitive{padding:1rem}\n"] }]
94
94
  }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixrQkFBa0IsR0FDckIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9C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Qyx3QkFBd0IsRUFBRSxvQkFBb0I7d0JBQzlDLGlCQUFpQixFQUFFLE9BQU87cUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V0FfV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R1aURyb3Bkb3duQW5pbWF0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHVpUmVjdEFjY2Vzc29yRm9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7VHVpU2Nyb2xsYmFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1R1aVBvc2l0aW9uU2VydmljZSwgVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVEfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlUb0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0LCBQb2x5bW9ycGhldXNUZW1wbGF0ZX0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge21hcCwgdGFrZVdoaWxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fQ09OVEVYVH0gZnJvbSAnLi9kcm9wZG93bi5wcm92aWRlcnMnO1xuaW1wb3J0IHtUVUlfRFJPUERPV05fT1BUSU9OU30gZnJvbSAnLi9kcm9wZG93bi1vcHRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duUG9zaXRpb259IGZyb20gJy4vZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb246XG4gKiBUaGlzIGNvbXBvbmVudCBpcyB1c2VkIHRvIHNob3cgdGVtcGxhdGUgaW4gYSBwb3J0YWxcbiAqIHVzaW5nIGRlZmF1bHQgc3R5bGUgb2Ygd2hpdGUgcm91bmRlZCBib3ggd2l0aCBhIHNoYWRvd1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRyb3Bkb3duJyxcbiAgICBpbXBvcnRzOiBbUG9seW1vcnBoZXVzT3V0bGV0LCBQb2x5bW9ycGhldXNUZW1wbGF0ZSwgVHVpU2Nyb2xsYmFyXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uc3R5bGUubGVzcyddLFxuICAgIC8vIEBiYWQgVE9ETzogT25QdXNoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpUG9zaXRpb25TZXJ2aWNlLFxuICAgICAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKCdkcm9wZG93bicsIFR1aURyb3Bkb3duUG9zaXRpb24pLFxuICAgICAgICB0dWlSZWN0QWNjZXNzb3JGb3IoJ2Ryb3Bkb3duJywgVHVpRHJvcGRvd25EaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgYW5pbWF0aW9uczogW3R1aURyb3Bkb3duQW5pbWF0aW9uXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aUFjdGl2ZVpvbmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpRHJvcGRvd25BbmltYXRpb25dJzogJ2FuaW1hdGlvbicsXG4gICAgICAgICdbYXR0ci5kYXRhLWFwcGVhcmFuY2VdJzogJ29wdGlvbnMuYXBwZWFyYW5jZScsXG4gICAgICAgICdbYXR0ci50dWlUaGVtZV0nOiAndGhlbWUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3IgPSBpbmplY3QoVHVpUmVjdEFjY2Vzc29yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbiA9IGluamVjdChXQV9XSU5ET1cpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdnZzID0gaW5qZWN0KFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYW5pbWF0aW9uID0gdHVpVG9BbmltYXRpb25PcHRpb25zKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9EUk9QRE9XTl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlyZWN0aXZlID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChUVUlfRFJPUERPV05fQ09OVEVYVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRoZW1lID0gdGhpcy5kaXJlY3RpdmUuZWxcbiAgICAgICAgLmNsb3Nlc3QoJ1t0dWlUaGVtZV0nKVxuICAgICAgICA/LmdldEF0dHJpYnV0ZSgndHVpVGhlbWUnKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWIgPSBpbmplY3QoVHVpUG9zaXRpb25TZXJ2aWNlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmRpcmVjdGl2ZS5lbC5pc0Nvbm5lY3RlZCksXG4gICAgICAgICAgICBtYXAoKHYpID0+ICh0aGlzLmRpcmVjdGl2ZS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyA/IHRoaXMudnZzLmNvcnJlY3QodikgOiB2KSksXG4gICAgICAgICAgICBtYXAoKFt0b3AsIGxlZnRdKSA9PiB0aGlzLmdldFN0eWxlcyh0b3AsIGxlZnQpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKHN0eWxlcykgPT4gT2JqZWN0LmFzc2lnbih0aGlzLmVsLnN0eWxlLCBzdHlsZXMpLFxuICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHRoaXMuY2xvc2UoKSxcbiAgICAgICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2UgPSAoKTogdm9pZCA9PiB0aGlzLmRpcmVjdGl2ZS50b2dnbGUoZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBnZXRTdHlsZXModG9wOiBudW1iZXIsIGxlZnQ6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgICAgICBjb25zdCB7cmlnaHR9ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge21heEhlaWdodCwgbWluSGVpZ2h0LCBvZmZzZXQsIGxpbWl0V2lkdGh9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB7aW5uZXJIZWlnaHR9ID0gdGhpcy53aW47XG4gICAgICAgIGNvbnN0IGNsaWVudFJlY3QgPSB0aGlzLmVsLm9mZnNldFBhcmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtwb3NpdGlvbn0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLShjbGllbnRSZWN0Py5sZWZ0IHx8IDApO1xuICAgICAgICBjb25zdCBvZmZzZXRZID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLShjbGllbnRSZWN0Py50b3AgfHwgMCk7XG5cbiAgICAgICAgdG9wICs9IG9mZnNldFk7XG4gICAgICAgIGxlZnQgKz0gb2Zmc2V0WDtcblxuICAgICAgICBjb25zdCBzaWRlZCA9IHJpZ2h0IDw9IHJlY3QubGVmdCB8fCBsZWZ0ID49IHJlY3QucmlnaHQ7XG4gICAgICAgIGNvbnN0IGlzSW50ZXJzZWN0aW5nID1cbiAgICAgICAgICAgIGxlZnQgPCByZWN0LnJpZ2h0ICYmIHJpZ2h0ID4gcmVjdC5sZWZ0ICYmIHRvcCA8IG9mZnNldFkgKyAyICogb2Zmc2V0O1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBpc0ludGVyc2VjdGluZ1xuICAgICAgICAgICAgPyByZWN0LnRvcCAtIDIgKiBvZmZzZXRcbiAgICAgICAgICAgIDogb2Zmc2V0WSArIGlubmVySGVpZ2h0IC0gdG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHRvcDogdHVpUHgoTWF0aC5yb3VuZChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyBvZmZzZXQpKSksXG4gICAgICAgICAgICBsZWZ0OiB0dWlQeChNYXRoLnJvdW5kKGxlZnQpKSxcbiAgICAgICAgICAgIG1heEhlaWdodDogc2lkZWRcbiAgICAgICAgICAgICAgICA/IHR1aVB4KG1heEhlaWdodClcbiAgICAgICAgICAgICAgICA6IHR1aVB4KE1hdGgucm91bmQodHVpQ2xhbXAoYXZhaWxhYmxlLCBtaW5IZWlnaHQsIG1heEhlaWdodCkpKSxcbiAgICAgICAgICAgIHdpZHRoOiBsaW1pdFdpZHRoID09PSAnZml4ZWQnID8gdHVpUHgoTWF0aC5yb3VuZChyZWN0LndpZHRoKSkgOiAnJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBsaW1pdFdpZHRoID09PSAnbWluJyA/IHR1aVB4KE1hdGgucm91bmQocmVjdC53aWR0aCkpIDogJycsXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHR1aS1zY3JvbGxiYXIgY2xhc3M9XCJ0LXNjcm9sbFwiPlxuICAgIDxkaXZcbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImRpcmVjdGl2ZS5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNsb3NlfVwiXG4gICAgICAgIGNsYXNzPVwidC1wcmltaXRpdmVcIlxuICAgID5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuPC90dWktc2Nyb2xsYmFyPlxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixrQkFBa0IsR0FDckIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9C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QkFDbEIsQ0FBQyxhQUFhLENBQUMsUUFDekI7d0JBQ0YseUJBQXlCLEVBQUUsV0FBVzt3QkFDdEMsd0JBQXdCLEVBQUUsb0JBQW9CO3dCQUM5QyxpQkFBaUIsRUFBRSxPQUFPO3FCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge3R1aVB4fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlEcm9wZG93bkFuaW1hdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVNjcm9sbGJhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXInO1xuaW1wb3J0IHtUdWlQb3NpdGlvblNlcnZpY2UsIFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OU19TUEVFRH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpVG9BbmltYXRpb25PcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldCwgUG9seW1vcnBoZXVzVGVtcGxhdGV9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHttYXAsIHRha2VXaGlsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX0RST1BET1dOX0NPTlRFWFR9IGZyb20gJy4vZHJvcGRvd24ucHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0RST1BET1dOX09QVElPTlN9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93blBvc2l0aW9ufSBmcm9tICcuL2Ryb3Bkb3duLXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uOlxuICogVGhpcyBjb21wb25lbnQgaXMgdXNlZCB0byBzaG93IHRlbXBsYXRlIGluIGEgcG9ydGFsXG4gKiB1c2luZyBkZWZhdWx0IHN0eWxlIG9mIHdoaXRlIHJvdW5kZWQgYm94IHdpdGggYSBzaGFkb3dcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kcm9wZG93bicsXG4gICAgaW1wb3J0czogW1BvbHltb3JwaGV1c091dGxldCwgUG9seW1vcnBoZXVzVGVtcGxhdGUsIFR1aVNjcm9sbGJhcl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLnN0eWxlLmxlc3MnXSxcbiAgICAvLyBAYmFkIFRPRE86IE9uUHVzaFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aVBvc2l0aW9uU2VydmljZSxcbiAgICAgICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcignZHJvcGRvd24nLCBUdWlEcm9wZG93blBvc2l0aW9uKSxcbiAgICAgICAgdHVpUmVjdEFjY2Vzc29yRm9yKCdkcm9wZG93bicsIFR1aURyb3Bkb3duRGlyZWN0aXZlKSxcbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlEcm9wZG93bkFuaW1hdGlvbl0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlBY3RpdmVab25lXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHR1aURyb3Bkb3duQW5pbWF0aW9uXSc6ICdhbmltYXRpb24nLFxuICAgICAgICAnW2F0dHIuZGF0YS1hcHBlYXJhbmNlXSc6ICdvcHRpb25zLmFwcGVhcmFuY2UnLFxuICAgICAgICAnW2F0dHIudHVpVGhlbWVdJzogJ3RoZW1lJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yID0gaW5qZWN0KFR1aVJlY3RBY2Nlc3Nvcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW4gPSBpbmplY3QoV0FfV0lORE9XKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZ2cyA9IGluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFuaW1hdGlvbiA9IHR1aVRvQW5pbWF0aW9uT3B0aW9ucyhpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRFJPUERPV05fT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpcmVjdGl2ZSA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3QoVFVJX0RST1BET1dOX0NPTlRFWFQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZSA9IHRoaXMuZGlyZWN0aXZlLmVsXG4gICAgICAgIC5jbG9zZXN0KCdbdHVpVGhlbWVdJylcbiAgICAgICAgPy5nZXRBdHRyaWJ1dGUoJ3R1aVRoZW1lJyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3ViID0gaW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlV2hpbGUoXG4gICAgICAgICAgICAgICAgKCkgPT4gdGhpcy5kaXJlY3RpdmUuZWwuaXNDb25uZWN0ZWQgJiYgISF0aGlzLmRpcmVjdGl2ZS5lbC5vZmZzZXRQYXJlbnQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKCh2KSA9PiAodGhpcy5kaXJlY3RpdmUucG9zaXRpb24gPT09ICdmaXhlZCcgPyB0aGlzLnZ2cy5jb3JyZWN0KHYpIDogdikpLFxuICAgICAgICAgICAgbWFwKChbdG9wLCBsZWZ0XSkgPT4gdGhpcy5nZXRTdHlsZXModG9wLCBsZWZ0KSksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IChzdHlsZXMpID0+IE9iamVjdC5hc3NpZ24odGhpcy5lbC5zdHlsZSwgc3R5bGVzKSxcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLmNsb3NlPy4oKSxcbiAgICAgICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xvc2UgPSAoKTogdm9pZCA9PiB0aGlzLmRpcmVjdGl2ZS50b2dnbGUoZmFsc2UpO1xuXG4gICAgcHJpdmF0ZSBnZXRTdHlsZXModG9wOiBudW1iZXIsIGxlZnQ6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgICAgICBjb25zdCB7cmlnaHR9ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge21heEhlaWdodCwgbWluSGVpZ2h0LCBvZmZzZXQsIGxpbWl0V2lkdGh9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB7aW5uZXJIZWlnaHR9ID0gdGhpcy53aW47XG4gICAgICAgIGNvbnN0IGNsaWVudFJlY3QgPSB0aGlzLmVsLm9mZnNldFBhcmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtwb3NpdGlvbn0gPSB0aGlzLmRpcmVjdGl2ZTtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBvZmZzZXRYID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLShjbGllbnRSZWN0Py5sZWZ0IHx8IDApO1xuICAgICAgICBjb25zdCBvZmZzZXRZID0gcG9zaXRpb24gPT09ICdmaXhlZCcgPyAwIDogLShjbGllbnRSZWN0Py50b3AgfHwgMCk7XG5cbiAgICAgICAgdG9wICs9IG9mZnNldFk7XG4gICAgICAgIGxlZnQgKz0gb2Zmc2V0WDtcblxuICAgICAgICBjb25zdCBzaWRlZCA9IHJpZ2h0IDw9IHJlY3QubGVmdCB8fCBsZWZ0ID49IHJlY3QucmlnaHQ7XG4gICAgICAgIGNvbnN0IGlzSW50ZXJzZWN0aW5nID1cbiAgICAgICAgICAgIGxlZnQgPCByZWN0LnJpZ2h0ICYmIHJpZ2h0ID4gcmVjdC5sZWZ0ICYmIHRvcCA8IG9mZnNldFkgKyAyICogb2Zmc2V0O1xuICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBpc0ludGVyc2VjdGluZ1xuICAgICAgICAgICAgPyByZWN0LnRvcCAtIDIgKiBvZmZzZXRcbiAgICAgICAgICAgIDogb2Zmc2V0WSArIGlubmVySGVpZ2h0IC0gdG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIHRvcDogdHVpUHgoTWF0aC5yb3VuZChNYXRoLm1heCh0b3AsIG9mZnNldFkgKyBvZmZzZXQpKSksXG4gICAgICAgICAgICBsZWZ0OiB0dWlQeChNYXRoLnJvdW5kKGxlZnQpKSxcbiAgICAgICAgICAgIG1heEhlaWdodDogc2lkZWRcbiAgICAgICAgICAgICAgICA/IHR1aVB4KG1heEhlaWdodClcbiAgICAgICAgICAgICAgICA6IHR1aVB4KE1hdGgucm91bmQodHVpQ2xhbXAoYXZhaWxhYmxlLCBtaW5IZWlnaHQsIG1heEhlaWdodCkpKSxcbiAgICAgICAgICAgIHdpZHRoOiBsaW1pdFdpZHRoID09PSAnZml4ZWQnID8gdHVpUHgoTWF0aC5yb3VuZChyZWN0LndpZHRoKSkgOiAnJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBsaW1pdFdpZHRoID09PSAnbWluJyA/IHR1aVB4KE1hdGgucm91bmQocmVjdC53aWR0aCkpIDogJycsXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHR1aS1zY3JvbGxiYXIgY2xhc3M9XCJ0LXNjcm9sbFwiPlxuICAgIDxkaXZcbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImRpcmVjdGl2ZS5jb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNsb3NlfVwiXG4gICAgICAgIGNsYXNzPVwidC1wcmltaXRpdmVcIlxuICAgID5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuPC90dWktc2Nyb2xsYmFyPlxuIl19
@@ -1,9 +1,8 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { tuiCreateToken, tuiCreateTokenFromFactory, } from '@taiga-ui/cdk/utils/miscellaneous';
3
2
  import { TuiDropdownComponent } from './dropdown.component';
4
3
  /**
5
4
  * A component to display a dropdown
6
5
  */
7
6
  export const TUI_DROPDOWN_COMPONENT = tuiCreateTokenFromFactory(() => TuiDropdownComponent);
8
- export const TUI_DROPDOWN_CONTEXT = new InjectionToken('');
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLENBQzNELEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUM3QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQW1CLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnl9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0byBkaXNwbGF5IGEgZHJvcGRvd25cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9EUk9QRE9XTl9DT01QT05FTlQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5PFR5cGU8YW55Pj4oXG4gICAgKCkgPT4gVHVpRHJvcGRvd25Db21wb25lbnQsXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0RST1BET1dOX0NPTlRFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmVjb3JkPGFueSwgYW55Pj4oJycpO1xuIl19
7
+ export const TUI_DROPDOWN_CONTEXT = tuiCreateToken();
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duL2Ryb3Bkb3duLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLHlCQUF5QixHQUM1QixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLENBQzNELEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUM3QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxFQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVUb2tlbixcbiAgICB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdG8gZGlzcGxheSBhIGRyb3Bkb3duXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfRFJPUERPV05fQ09NUE9ORU5UID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTxUeXBlPGFueT4+KFxuICAgICgpID0+IFR1aURyb3Bkb3duQ29tcG9uZW50LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9EUk9QRE9XTl9DT05URVhUID0gdHVpQ3JlYXRlVG9rZW48UmVjb3JkPGFueSwgYW55Pj4oKTtcbiJdfQ==
@@ -1,40 +1,38 @@
1
- import { effect, inject, InjectionToken, signal } from '@angular/core';
1
+ import { effect, inject, signal } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
3
  import { WA_LOCAL_STORAGE, WA_WINDOW } from '@ng-web-apis/common';
4
- import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { tuiCreateToken, tuiCreateTokenFromFactory, } from '@taiga-ui/cdk/utils/miscellaneous';
5
5
  import { filter, fromEvent } from 'rxjs';
6
6
  export const TUI_DARK_MODE_DEFAULT_KEY = 'tuiDark';
7
7
  export const TUI_DARK_MODE_KEY = tuiCreateToken(TUI_DARK_MODE_DEFAULT_KEY);
8
- export const TUI_DARK_MODE = new InjectionToken('', {
9
- factory: () => {
10
- let automatic = true;
11
- const storage = inject(WA_LOCAL_STORAGE);
12
- const key = inject(TUI_DARK_MODE_KEY);
13
- const saved = storage.getItem(key);
14
- const media = inject(WA_WINDOW).matchMedia('(prefers-color-scheme: dark)');
15
- const result = signal(Boolean((saved && JSON.parse(saved)) ?? media.matches));
16
- fromEvent(media, 'change')
17
- .pipe(filter(() => !storage.getItem(key)), takeUntilDestroyed())
18
- .subscribe(() => {
8
+ export const TUI_DARK_MODE = tuiCreateTokenFromFactory(() => {
9
+ let automatic = true;
10
+ const storage = inject(WA_LOCAL_STORAGE);
11
+ const key = inject(TUI_DARK_MODE_KEY);
12
+ const saved = storage.getItem(key);
13
+ const media = inject(WA_WINDOW).matchMedia('(prefers-color-scheme: dark)');
14
+ const result = signal(Boolean((saved && JSON.parse(saved)) ?? media.matches));
15
+ fromEvent(media, 'change')
16
+ .pipe(filter(() => !storage.getItem(key)), takeUntilDestroyed())
17
+ .subscribe(() => {
18
+ automatic = true;
19
+ result.set(media.matches);
20
+ });
21
+ effect(() => {
22
+ const value = String(result());
23
+ if (automatic) {
24
+ automatic = false;
25
+ }
26
+ else {
27
+ storage.setItem(key, value);
28
+ }
29
+ });
30
+ return Object.assign(result, {
31
+ reset: () => {
32
+ storage.removeItem(key);
19
33
  automatic = true;
20
34
  result.set(media.matches);
21
- });
22
- effect(() => {
23
- const value = String(result());
24
- if (automatic) {
25
- automatic = false;
26
- }
27
- else {
28
- storage.setItem(key, value);
29
- }
30
- });
31
- return Object.assign(result, {
32
- reset: () => {
33
- storage.removeItem(key);
34
- automatic = true;
35
- result.set(media.matches);
36
- },
37
- });
38
- },
35
+ },
36
+ });
39
37
  });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS90b2tlbnMvZGFyay1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FFN0MsRUFBRSxFQUFFO0lBQ0YsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztRQUVyQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMzRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUU5RSxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQzthQUNyQixJQUFJLENBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNuQyxrQkFBa0IsRUFBRSxDQUN2QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRS9CLElBQUksU0FBUyxFQUFFO2dCQUNYLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDckI7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDL0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDekIsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDUixPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QixTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZWZmZWN0LCBpbmplY3QsIEluamVjdGlvblRva2VuLCBzaWduYWwsIHR5cGUgV3JpdGFibGVTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V0FfTE9DQUxfU1RPUkFHRSwgV0FfV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge2ZpbHRlciwgZnJvbUV2ZW50fSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9EQVJLX01PREVfREVGQVVMVF9LRVkgPSAndHVpRGFyayc7XG5leHBvcnQgY29uc3QgVFVJX0RBUktfTU9ERV9LRVkgPSB0dWlDcmVhdGVUb2tlbihUVUlfREFSS19NT0RFX0RFRkFVTFRfS0VZKTtcbmV4cG9ydCBjb25zdCBUVUlfREFSS19NT0RFID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ICYge3Jlc2V0KCk6IHZvaWR9XG4+KCcnLCB7XG4gICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICBsZXQgYXV0b21hdGljID0gdHJ1ZTtcblxuICAgICAgICBjb25zdCBzdG9yYWdlID0gaW5qZWN0KFdBX0xPQ0FMX1NUT1JBR0UpO1xuICAgICAgICBjb25zdCBrZXkgPSBpbmplY3QoVFVJX0RBUktfTU9ERV9LRVkpO1xuICAgICAgICBjb25zdCBzYXZlZCA9IHN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICBjb25zdCBtZWRpYSA9IGluamVjdChXQV9XSU5ET1cpLm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gc2lnbmFsKEJvb2xlYW4oKHNhdmVkICYmIEpTT04ucGFyc2Uoc2F2ZWQpKSA/PyBtZWRpYS5tYXRjaGVzKSk7XG5cbiAgICAgICAgZnJvbUV2ZW50KG1lZGlhLCAnY2hhbmdlJylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhc3RvcmFnZS5nZXRJdGVtKGtleSkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgYXV0b21hdGljID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXN1bHQuc2V0KG1lZGlhLm1hdGNoZXMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gU3RyaW5nKHJlc3VsdCgpKTtcblxuICAgICAgICAgICAgaWYgKGF1dG9tYXRpYykge1xuICAgICAgICAgICAgICAgIGF1dG9tYXRpYyA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHJlc3VsdCwge1xuICAgICAgICAgICAgcmVzZXQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICAgICAgICAgICAgICBhdXRvbWF0aWMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5zZXQobWVkaWEubWF0Y2hlcyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9LFxufSk7XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFyay1tb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS90b2tlbnMvZGFyay1tb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCxjQUFjLEVBQ2QseUJBQXlCLEdBQzVCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FFcEQsR0FBRyxFQUFFO0lBQ0gsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRXJCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRTlFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1NBQ3JCLElBQUksQ0FDRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ25DLGtCQUFrQixFQUFFLENBQ3ZCO1NBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNaLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFFUCxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ1IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFL0IsSUFBSSxTQUFTLEVBQUU7WUFDWCxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO2FBQU07WUFDSCxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUN6QixLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ1IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZWZmZWN0LCBpbmplY3QsIHNpZ25hbCwgdHlwZSBXcml0YWJsZVNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtXQV9MT0NBTF9TVE9SQUdFLCBXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVUb2tlbixcbiAgICB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtmaWx0ZXIsIGZyb21FdmVudH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfREFSS19NT0RFX0RFRkFVTFRfS0VZID0gJ3R1aURhcmsnO1xuZXhwb3J0IGNvbnN0IFRVSV9EQVJLX01PREVfS0VZID0gdHVpQ3JlYXRlVG9rZW4oVFVJX0RBUktfTU9ERV9ERUZBVUxUX0tFWSk7XG5leHBvcnQgY29uc3QgVFVJX0RBUktfTU9ERSA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8XG4gICAgV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gJiB7cmVzZXQoKTogdm9pZH1cbj4oKCkgPT4ge1xuICAgIGxldCBhdXRvbWF0aWMgPSB0cnVlO1xuXG4gICAgY29uc3Qgc3RvcmFnZSA9IGluamVjdChXQV9MT0NBTF9TVE9SQUdFKTtcbiAgICBjb25zdCBrZXkgPSBpbmplY3QoVFVJX0RBUktfTU9ERV9LRVkpO1xuICAgIGNvbnN0IHNhdmVkID0gc3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgY29uc3QgbWVkaWEgPSBpbmplY3QoV0FfV0lORE9XKS5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJyk7XG4gICAgY29uc3QgcmVzdWx0ID0gc2lnbmFsKEJvb2xlYW4oKHNhdmVkICYmIEpTT04ucGFyc2Uoc2F2ZWQpKSA/PyBtZWRpYS5tYXRjaGVzKSk7XG5cbiAgICBmcm9tRXZlbnQobWVkaWEsICdjaGFuZ2UnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhc3RvcmFnZS5nZXRJdGVtKGtleSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBhdXRvbWF0aWMgPSB0cnVlO1xuICAgICAgICAgICAgcmVzdWx0LnNldChtZWRpYS5tYXRjaGVzKTtcbiAgICAgICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IFN0cmluZyhyZXN1bHQoKSk7XG5cbiAgICAgICAgaWYgKGF1dG9tYXRpYykge1xuICAgICAgICAgICAgYXV0b21hdGljID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHJlc3VsdCwge1xuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgICAgICBhdXRvbWF0aWMgPSB0cnVlO1xuICAgICAgICAgICAgcmVzdWx0LnNldChtZWRpYS5tYXRjaGVzKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0pO1xuIl19
@@ -1,12 +1,12 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, forwardRef, Component, ChangeDetectionStrategy, Input, NgZone, DestroyRef, ChangeDetectorRef, signal, ViewEncapsulation, ContentChildren, Directive } from '@angular/core';
3
+ import { inject, forwardRef, Component, ChangeDetectionStrategy, Input, NgZone, DestroyRef, ChangeDetectorRef, signal, ViewEncapsulation, ContentChildren, Directive } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
6
6
  import { tuiZonefree, tuiTakeUntilDestroyed } from '@taiga-ui/cdk/observables';
7
7
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
8
8
  import { tuiIsNativeFocused, tuiMoveFocus, tuiIsNativeFocusedIn } from '@taiga-ui/cdk/utils/focus';
9
- import { tuiProvide, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
9
+ import { tuiCreateToken, tuiProvide, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
10
10
  import { TUI_NOTHING_FOUND_MESSAGE } from '@taiga-ui/core/tokens';
11
11
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
12
12
  import { timer } from 'rxjs';
@@ -18,7 +18,7 @@ import { TuiWithIcons } from '@taiga-ui/core/directives/icons';
18
18
  /**
19
19
  * Content for tuiOption component
20
20
  */
21
- const TUI_OPTION_CONTENT = new InjectionToken('[TUI_OPTION_CONTENT]');
21
+ const TUI_OPTION_CONTENT = tuiCreateToken();
22
22
  function tuiAsOptionContent(useValue) {
23
23
  return {
24
24
  provide: TUI_OPTION_CONTENT,
@@ -28,14 +28,14 @@ function tuiAsOptionContent(useValue) {
28
28
  /**
29
29
  * Accessor for data-list options
30
30
  */
31
- const TUI_DATA_LIST_ACCESSOR = new InjectionToken('[TUI_DATA_LIST_ACCESSOR]');
31
+ const TUI_DATA_LIST_ACCESSOR = tuiCreateToken();
32
32
  function tuiAsDataListAccessor(accessor) {
33
33
  return tuiProvide(TUI_DATA_LIST_ACCESSOR, accessor);
34
34
  }
35
35
  /**
36
36
  * DataList controller
37
37
  */
38
- const TUI_DATA_LIST_HOST = new InjectionToken('[TUI_DATA_LIST_HOST]');
38
+ const TUI_DATA_LIST_HOST = tuiCreateToken();
39
39
  function tuiAsDataListHost(host) {
40
40
  return tuiProvide(TUI_DATA_LIST_HOST, host);
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-data-list.mjs","sources":["../../../projects/core/components/data-list/data-list.tokens.ts","../../../projects/core/components/data-list/option.component.ts","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import type {Provider, TemplateRef, Type} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\nimport type {TuiContext, TuiIdentityMatcher, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiDataListAccessor<T = unknown> {\n getOptions(includeDisabled?: boolean): readonly T[];\n}\n\n// TODO: Consider refactoring checkOption, it is only needed in ComboBox\nexport interface TuiDataListHost<T> {\n checkOption?(option: T): void;\n handleOption?(option: T): void;\n readonly identityMatcher?: TuiIdentityMatcher<T>;\n readonly stringify?: TuiStringHandler<T>;\n readonly size?: TuiSizeL | TuiSizeS;\n}\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>\n>('[TUI_OPTION_CONTENT]');\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n '[TUI_DATA_LIST_ACCESSOR]',\n);\n\nexport function tuiAsDataListAccessor(accessor: Type<TuiDataListAccessor>): Provider {\n return tuiProvide(TUI_DATA_LIST_ACCESSOR, accessor);\n}\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<unknown>>(\n '[TUI_DATA_LIST_HOST]',\n);\n\nexport function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider {\n return tuiProvide(TUI_DATA_LIST_HOST, host);\n}\n","import type {OnDestroy, TemplateRef} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\n} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport type {TuiDataListHost} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from './data-list.tokens';\n\n// TODO: Consider all use cases for aria roles\n@Component({\n standalone: true,\n selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-container *polymorpheusOutlet=\"content || t as text; context: {$implicit: t}\">\n {{ text }}\n </ng-container>\n <ng-template #t>\n <ng-content />\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n role: 'option',\n '[attr.disabled]': 'disabled || null',\n '[class._with-dropdown]': 'dropdown?.()',\n '(click)': 'onClick()',\n '(mousemove.silent)': 'onMouseMove()',\n },\n})\nexport class TuiOption<T = unknown> implements OnDestroy {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly dataList = inject<TuiDataListComponent<T>>(\n forwardRef(() => TuiDataListComponent),\n {optional: true},\n );\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST, {\n optional: true,\n });\n\n protected readonly content: PolymorpheusContent<\n TuiContext<TemplateRef<Record<string, unknown>>>\n > = inject(TUI_OPTION_CONTENT, {optional: true});\n\n protected readonly dropdown = inject(TuiDropdownDirective, {\n self: true,\n optional: true,\n })?.ref;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value?: T;\n\n // Preventing focus loss upon focused option removal\n public ngOnDestroy(): void {\n this.dataList?.handleFocusLossIfNecessary(this.el);\n }\n\n protected onClick(): void {\n if (this.host?.handleOption && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n protected onMouseMove(): void {\n if (!this.isMobile && !tuiIsNativeFocused(this.el) && this.dataList) {\n this.el.focus({preventScroll: true});\n }\n }\n}\n","import {NgIf} from '@angular/common';\nimport {type AfterContentChecked, ChangeDetectorRef, type QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiTakeUntilDestroyed, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn, tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport type {TuiDataListAccessor} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, tuiAsDataListAccessor} from './data-list.tokens';\nimport {TuiOption} from './option.component';\n\nexport function tuiInjectDataListSize(): TuiSizeL | TuiSizeS {\n const sizes = ['s', 'm', 'l'] as const;\n const size = inject(TUI_DATA_LIST_HOST, {optional: true})?.size;\n\n return size && sizes.includes(size) ? size : 'l';\n}\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n standalone: true,\n selector: 'tui-data-list',\n imports: [NgIf, PolymorpheusOutlet],\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListComponent)],\n host: {\n role: 'listbox',\n '[attr.data-size]': 'size',\n '(focusin)': 'onFocusIn($event.relatedTarget, $event.currentTarget)',\n '(mousedown.prevent)': '(0)',\n '(wheel.silent.passive)': 'handleFocusLossIfNecessary()',\n '(mouseleave)': 'handleFocusLossIfNecessary($event.target)',\n '(keydown.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.shift.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiDataListComponent<T>\n implements TuiDataListAccessor<T>, AfterContentChecked\n{\n @ContentChildren(forwardRef(() => TuiOption), {descendants: true})\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly fallback = toSignal(inject(TUI_NOTHING_FOUND_MESSAGE));\n protected readonly empty = signal(false);\n\n @Input()\n public emptyContent: PolymorpheusContent;\n\n @Input()\n public size = tuiInjectDataListSize();\n\n public onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n public handleFocusLossIfNecessary(element: Element = this.el): void {\n if (tuiIsNativeFocusedIn(element)) {\n this.origin?.focus({preventScroll: true});\n }\n }\n\n // TODO: Refactor to :has after Safari support bumped to 15\n public ngAfterContentChecked(): void {\n timer(0)\n .pipe(tuiZonefree(this.ngZone), tuiTakeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.empty.set(!this.el.querySelector('[tuiOption]'));\n this.cdr.detectChanges();\n });\n }\n\n public getOptions(includeDisabled = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(\n this.el.querySelectorAll('a[tuiOption],button[tuiOption],input'),\n );\n }\n}\n","<ng-content />\n<div\n *ngIf=\"empty()\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || fallback() as text\">\n {{ text }}\n </ng-container>\n</div>\n","import type {Provider, Type} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n\nexport function tuiAsDataList(list: Type<TuiDataListDirective>): Provider {\n return tuiProvide(TuiDataListDirective, list);\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n '[attr.data-label]': 'label',\n },\n})\nexport class TuiOptGroup {\n @Input()\n public label?: string | null;\n}\n","import {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroup} from './opt-group.directive';\nimport {TuiOption} from './option.component';\n\nexport const TuiDataList = [\n TuiDataListComponent,\n TuiDataListDirective,\n TuiOption,\n TuiOptGroup,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-data-list.mjs","sources":["../../../projects/core/components/data-list/data-list.tokens.ts","../../../projects/core/components/data-list/option.component.ts","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import type {Provider, TemplateRef, Type} from '@angular/core';\nimport type {TuiContext, TuiIdentityMatcher, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiDataListAccessor<T = unknown> {\n getOptions(includeDisabled?: boolean): readonly T[];\n}\n\n// TODO: Consider refactoring checkOption, it is only needed in ComboBox\nexport interface TuiDataListHost<T> {\n checkOption?(option: T): void;\n handleOption?(option: T): void;\n readonly identityMatcher?: TuiIdentityMatcher<T>;\n readonly stringify?: TuiStringHandler<T>;\n readonly size?: TuiSizeL | TuiSizeS;\n}\n\n/**\n * Content for tuiOption component\n */\nexport const TUI_OPTION_CONTENT =\n tuiCreateToken<\n PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>\n >();\n\nexport function tuiAsOptionContent(\n useValue: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>,\n): Provider {\n return {\n provide: TUI_OPTION_CONTENT,\n useValue,\n };\n}\n\n/**\n * Accessor for data-list options\n */\nexport const TUI_DATA_LIST_ACCESSOR = tuiCreateToken<TuiDataListAccessor>();\n\nexport function tuiAsDataListAccessor(accessor: Type<TuiDataListAccessor>): Provider {\n return tuiProvide(TUI_DATA_LIST_ACCESSOR, accessor);\n}\n\n/**\n * DataList controller\n */\nexport const TUI_DATA_LIST_HOST = tuiCreateToken<TuiDataListHost<unknown>>();\n\nexport function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider {\n return tuiProvide(TUI_DATA_LIST_HOST, host);\n}\n","import type {OnDestroy, TemplateRef} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\n} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport type {TuiDataListHost} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from './data-list.tokens';\n\n// TODO: Consider all use cases for aria roles\n@Component({\n standalone: true,\n selector: 'button[tuiOption], a[tuiOption], label[tuiOption]',\n imports: [PolymorpheusOutlet],\n template: `\n <ng-container *polymorpheusOutlet=\"content || t as text; context: {$implicit: t}\">\n {{ text }}\n </ng-container>\n <ng-template #t>\n <ng-content />\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n role: 'option',\n '[attr.disabled]': 'disabled || null',\n '[class._with-dropdown]': 'dropdown?.()',\n '(click)': 'onClick()',\n '(mousemove.silent)': 'onMouseMove()',\n },\n})\nexport class TuiOption<T = unknown> implements OnDestroy {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement();\n private readonly dataList = inject<TuiDataListComponent<T>>(\n forwardRef(() => TuiDataListComponent),\n {optional: true},\n );\n\n private readonly host = inject<TuiDataListHost<T>>(TUI_DATA_LIST_HOST, {\n optional: true,\n });\n\n protected readonly content: PolymorpheusContent<\n TuiContext<TemplateRef<Record<string, unknown>>>\n > = inject(TUI_OPTION_CONTENT, {optional: true});\n\n protected readonly dropdown = inject(TuiDropdownDirective, {\n self: true,\n optional: true,\n })?.ref;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value?: T;\n\n // Preventing focus loss upon focused option removal\n public ngOnDestroy(): void {\n this.dataList?.handleFocusLossIfNecessary(this.el);\n }\n\n protected onClick(): void {\n if (this.host?.handleOption && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n protected onMouseMove(): void {\n if (!this.isMobile && !tuiIsNativeFocused(this.el) && this.dataList) {\n this.el.focus({preventScroll: true});\n }\n }\n}\n","import {NgIf} from '@angular/common';\nimport {type AfterContentChecked, ChangeDetectorRef, type QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n forwardRef,\n inject,\n Input,\n NgZone,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiTakeUntilDestroyed, tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn, tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NOTHING_FOUND_MESSAGE} from '@taiga-ui/core/tokens';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {timer} from 'rxjs';\n\nimport type {TuiDataListAccessor} from './data-list.tokens';\nimport {TUI_DATA_LIST_HOST, tuiAsDataListAccessor} from './data-list.tokens';\nimport {TuiOption} from './option.component';\n\nexport function tuiInjectDataListSize(): TuiSizeL | TuiSizeS {\n const sizes = ['s', 'm', 'l'] as const;\n const size = inject(TUI_DATA_LIST_HOST, {optional: true})?.size;\n\n return size && sizes.includes(size) ? size : 'l';\n}\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n standalone: true,\n selector: 'tui-data-list',\n imports: [NgIf, PolymorpheusOutlet],\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsDataListAccessor(TuiDataListComponent)],\n host: {\n role: 'listbox',\n '[attr.data-size]': 'size',\n '(focusin)': 'onFocusIn($event.relatedTarget, $event.currentTarget)',\n '(mousedown.prevent)': '(0)',\n '(wheel.silent.passive)': 'handleFocusLossIfNecessary()',\n '(mouseleave)': 'handleFocusLossIfNecessary($event.target)',\n '(keydown.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.shift.tab)': 'handleFocusLossIfNecessary()',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiDataListComponent<T>\n implements TuiDataListAccessor<T>, AfterContentChecked\n{\n @ContentChildren(forwardRef(() => TuiOption), {descendants: true})\n private readonly options: QueryList<TuiOption<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n private readonly ngZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected readonly fallback = toSignal(inject(TUI_NOTHING_FOUND_MESSAGE));\n protected readonly empty = signal(false);\n\n @Input()\n public emptyContent: PolymorpheusContent;\n\n @Input()\n public size = tuiInjectDataListSize();\n\n public onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n public handleFocusLossIfNecessary(element: Element = this.el): void {\n if (tuiIsNativeFocusedIn(element)) {\n this.origin?.focus({preventScroll: true});\n }\n }\n\n // TODO: Refactor to :has after Safari support bumped to 15\n public ngAfterContentChecked(): void {\n timer(0)\n .pipe(tuiZonefree(this.ngZone), tuiTakeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.empty.set(!this.el.querySelector('[tuiOption]'));\n this.cdr.detectChanges();\n });\n }\n\n public getOptions(includeDisabled = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(\n this.el.querySelectorAll('a[tuiOption],button[tuiOption],input'),\n );\n }\n}\n","<ng-content />\n<div\n *ngIf=\"empty()\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || fallback() as text\">\n {{ text }}\n </ng-container>\n</div>\n","import type {Provider, Type} from '@angular/core';\nimport {Directive} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n\nexport function tuiAsDataList(list: Type<TuiDataListDirective>): Provider {\n return tuiProvide(TuiDataListDirective, list);\n}\n","import {Directive, Input} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n '[attr.data-label]': 'label',\n },\n})\nexport class TuiOptGroup {\n @Input()\n public label?: string | null;\n}\n","import {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroup} from './opt-group.directive';\nimport {TuiOption} from './option.component';\n\nexport const TuiDataList = [\n TuiDataListComponent,\n TuiDataListDirective,\n TuiOption,\n TuiOptGroup,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAmBA;;AAEG;AACU,MAAA,kBAAkB,GAC3B,cAAc,GAEV;AAEF,SAAU,kBAAkB,CAC9B,QAA+E,EAAA;IAE/E,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;QAC3B,QAAQ;KACX,CAAC;AACN,CAAC;AAED;;AAEG;AACU,MAAA,sBAAsB,GAAG,cAAc,GAAwB;AAEtE,SAAU,qBAAqB,CAAC,QAAmC,EAAA;AACrE,IAAA,OAAO,UAAU,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED;;AAEG;AACU,MAAA,kBAAkB,GAAG,cAAc,GAA6B;AAEvE,SAAU,iBAAiB,CAAI,IAA8B,EAAA;AAC/D,IAAA,OAAO,UAAU,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAChD;;AC/BA;AACA,MAuBa,SAAS,CAAA;AAvBtB,IAAA,WAAA,GAAA;AAwBqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACjC,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAC9B,UAAU,CAAC,MAAM,oBAAoB,CAAC,EACtC,EAAC,QAAQ,EAAE,IAAI,EAAC,CACnB,CAAC;AAEe,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAqB,kBAAkB,EAAE;AACnE,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;QAEgB,IAAO,CAAA,OAAA,GAEtB,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAE9B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,oBAAoB,EAAE;AACvD,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,IAAI;SACjB,CAAC,EAAE,GAAG,CAAC;QAGD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAqB3B,KAAA;;IAfU,WAAW,GAAA;QACd,IAAI,CAAC,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACtD;IAES,OAAO,GAAA;QACb,IAAI,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,SAAA;KACJ;IAES,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;AACxC,SAAA;KACJ;+GA1CQ,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,EAnBR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;AAOT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARS,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAoBnB,SAAS,EAAA,UAAA,EAAA,CAAA;kBAvBrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mDAAmD;oBAC7D,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;AAOT,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,cAAc,EAAE,CAAC,YAAY,CAAC;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,wBAAwB,EAAE,cAAc;AACxC,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,oBAAoB,EAAE,eAAe;AACxC,qBAAA;AACJ,iBAAA,CAAA;8BAuBU,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;;;SCvCM,qBAAqB,GAAA;IACjC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AACvC,IAAA,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,IAAI,CAAC;AAEhE,IAAA,OAAO,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;AACrD,CAAC;AAED;AACA,MAsBa,oBAAoB,CAAA;AAtBjC,IAAA,WAAA,GAAA;QA0BqB,IAAO,CAAA,OAAA,GAA4B,WAAW,CAAC;AAG/C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE9B,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAMlC,IAAI,CAAA,IAAA,GAAG,qBAAqB,EAAE,CAAC;AA0CzC,KAAA;IAxCU,cAAc,CAAC,OAAoB,EAAE,IAAY,EAAA;AACpD,QAAA,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC;AAExB,QAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC3D;AAEM,IAAA,0BAA0B,CAAC,OAAA,GAAmB,IAAI,CAAC,EAAE,EAAA;AACxD,QAAA,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;AAC7C,SAAA;KACJ;;IAGM,qBAAqB,GAAA;QACxB,KAAK,CAAC,CAAC,CAAC;AACH,aAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACtE,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACV;IAEM,UAAU,CAAC,eAAe,GAAG,KAAK,EAAA;QACrC,OAAO,IAAI,CAAC,OAAO;AACd,aAAA,MAAM,CAAC,CAAC,EAAC,QAAQ,EAAC,KAAK,eAAe,IAAI,CAAC,QAAQ,CAAC;aACpD,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC;aACvB,MAAM,CAAC,YAAY,CAAC,CAAC;KAC7B;IAES,SAAS,CAAC,aAA0B,EAAE,aAA0B,EAAA;AACtE,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACxD,YAAA,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;AAC/B,SAAA;KACJ;AAED,IAAA,IAAY,QAAQ,GAAA;AAChB,QAAA,OAAO,KAAK,CAAC,IAAI,CACb,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,sCAAsC,CAAC,CACnE,CAAC;KACL;+GA5DQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAdlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,uDAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,8BAAA,EAAA,YAAA,EAAA,2CAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,mCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC,EAiBtB,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,SAAS,CC/D/C,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yMASA,EDgCc,MAAA,EAAA,CAAA,w0GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FAAE,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAmBzB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAtBhC,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,eAAe,EAChB,OAAA,EAAA,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAGpB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,aACpC,CAAC,qBAAqB,CAAsB,oBAAA,CAAA,CAAC,EAClD,IAAA,EAAA;AACF,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,WAAW,EAAE,uDAAuD;AACpE,wBAAA,qBAAqB,EAAE,KAAK;AAC5B,wBAAA,wBAAwB,EAAE,8BAA8B;AACxD,wBAAA,cAAc,EAAE,2CAA2C;AAC3D,wBAAA,eAAe,EAAE,8BAA8B;AAC/C,wBAAA,qBAAqB,EAAE,8BAA8B;AACrD,wBAAA,6BAA6B,EAAE,kCAAkC;AACjE,wBAAA,2BAA2B,EAAE,mCAAmC;AACnE,qBAAA,EAAA,QAAA,EAAA,yMAAA,EAAA,MAAA,EAAA,CAAA,w0GAAA,CAAA,EAAA,CAAA;8BAMgB,OAAO,EAAA,CAAA;sBADvB,eAAe;uBAAC,UAAU,CAAC,MAAM,SAAS,CAAC,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAa1D,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,IAAI,EAAA,CAAA;sBADV,KAAK;;;AE1EV,MAIa,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA,CAAA;;AAGK,SAAU,aAAa,CAAC,IAAgC,EAAA;AAC1D,IAAA,OAAO,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AAClD;;ACVA,MAQa,WAAW,CAAA;+GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBARvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,mBAAmB,EAAE,OAAO;AAC/B,qBAAA;AACJ,iBAAA,CAAA;8BAGU,KAAK,EAAA,CAAA;sBADX,KAAK;;;ACNG,MAAA,WAAW,GAAG;IACvB,oBAAoB;IACpB,oBAAoB;IACpB,SAAS;IACT,WAAW;;;ACTf;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
- import { DOCUMENT, AsyncPipe, NgIf } from '@angular/common';
1
+ import { DOCUMENT, NgIf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { inject, ChangeDetectorRef, signal, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
6
6
  import { TUI_VERSION } from '@taiga-ui/cdk/constants';
@@ -17,7 +17,7 @@ import { TuiBreakpointService } from '@taiga-ui/core/services';
17
17
  import { TUI_REDUCED_MOTION, TUI_ANIMATIONS_SPEED, TUI_THEME } from '@taiga-ui/core/tokens';
18
18
  import { tuiGetDuration } from '@taiga-ui/core/utils';
19
19
  import { PreventEventPlugin } from '@taiga-ui/event-plugins';
20
- import { map, of, debounceTime } from 'rxjs';
20
+ import { map, debounceTime } from 'rxjs';
21
21
 
22
22
  /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
23
23
  /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
@@ -25,35 +25,27 @@ class TuiRoot {
25
25
  constructor() {
26
26
  this.reducedMotion = inject(TUI_REDUCED_MOTION);
27
27
  this.duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));
28
- this.isMobileRes = toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile'), tuiWatch(inject(ChangeDetectorRef))));
29
- this.scrollbars$ = inject(TUI_IS_MOBILE)
30
- ? of(false)
31
- : inject(TUI_DIALOGS).pipe(map(({ length }) => !length), debounceTime(0, tuiZonefreeScheduler()));
28
+ this.isMobileRes = toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile'), tuiWatch(inject(ChangeDetectorRef))), { initialValue: false });
29
+ this.scrollbars = inject(TUI_IS_MOBILE)
30
+ ? signal(false)
31
+ : toSignal(inject(TUI_DIALOGS).pipe(map(({ length }) => !length), debounceTime(0, tuiZonefreeScheduler())), { initialValue: false });
32
32
  inject(DOCUMENT).defaultView?.document.documentElement.setAttribute('data-tui-theme', inject(TUI_THEME).toLowerCase());
33
33
  ngDevMode &&
34
34
  console.assert(!!inject(EVENT_MANAGER_PLUGINS).find((plugin) => plugin instanceof PreventEventPlugin), 'NG_EVENT_PLUGINS is missing from global providers');
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.8.0" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.8.1" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars()\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
40
40
  type: Component,
41
- args: [{ standalone: true, selector: 'tui-root', imports: [
42
- AsyncPipe,
43
- NgIf,
44
- TuiAlerts,
45
- TuiDialogs,
46
- TuiDropdowns,
47
- TuiHints,
48
- TuiScrollControls,
49
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [TuiPlatform], host: {
41
+ args: [{ standalone: true, selector: 'tui-root', imports: [NgIf, TuiAlerts, TuiDialogs, TuiDropdowns, TuiHints, TuiScrollControls], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [TuiPlatform], host: {
50
42
  'data-tui-version': TUI_VERSION,
51
43
  '[style.--tui-duration.ms]': 'duration',
52
44
  '[style.--tui-scroll-behavior]': 'reducedMotion ? "auto" : "smooth"',
53
45
  '[class._mobile]': 'isMobileRes()',
54
46
  // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490
55
47
  '(touchstart.passive.silent)': '0',
56
- }, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
48
+ }, template: "<tui-scroll-controls\n *ngIf=\"scrollbars()\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
57
49
  }], ctorParameters: function () { return []; } });
58
50
 
59
51
  /**