@taiga-ui/legacy 4.4.1 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/classes/abstract-native-select.d.ts +1 -1
  2. package/components/color-selector/color-edit/color-edit.component.d.ts +1 -1
  3. package/components/input-date-range/input-date-range.component.d.ts +1 -4
  4. package/components/input-password/input-password.component.d.ts +4 -1
  5. package/components/input-password/input-password.directive.d.ts +3 -0
  6. package/components/input-password/input-password.module.d.ts +3 -0
  7. package/components/input-password/input-password.options.d.ts +12 -0
  8. package/components/input-tag/input-tag.component.d.ts +2 -1
  9. package/components/input-tag/input-tag.options.d.ts +1 -0
  10. package/components/input-time/native-time/native-time.component.d.ts +1 -1
  11. package/components/multi-select/multi-select.component.d.ts +2 -1
  12. package/components/primitive-textfield/primitive-textfield.component.d.ts +1 -0
  13. package/components/primitive-textfield/textfield/textfield.component.d.ts +1 -1
  14. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +1 -1
  15. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -6
  16. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -6
  17. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -3
  18. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -6
  19. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -6
  20. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -6
  21. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -6
  22. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -6
  23. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -6
  24. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -6
  25. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -6
  26. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -6
  27. package/directives/textfield-controller/textfield.options.d.ts +0 -6
  28. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -3
  29. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -3
  30. package/directives/value-accessor/value-accessor.directive.d.ts +0 -3
  31. package/directives/value-accessor/value-accessor.module.d.ts +0 -3
  32. package/directives/value-accessor/value-accessor.provider.d.ts +0 -3
  33. package/esm2022/classes/abstract-native-select.mjs +4 -4
  34. package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +2 -2
  35. package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +2 -2
  36. package/esm2022/components/color-selector/color-selector.component.mjs +6 -6
  37. package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +2 -2
  38. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +2 -2
  39. package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +2 -2
  40. package/esm2022/components/color-selector/palette/palette.component.mjs +2 -2
  41. package/esm2022/components/combo-box/combo-box.component.mjs +4 -4
  42. package/esm2022/components/input/input.component.mjs +3 -3
  43. package/esm2022/components/input-color/input-color.component.mjs +3 -3
  44. package/esm2022/components/input-copy/input-copy.component.mjs +2 -2
  45. package/esm2022/components/input-date/input-date.component.mjs +3 -3
  46. package/esm2022/components/input-date-multi/input-date-multi.component.mjs +2 -2
  47. package/esm2022/components/input-date-range/input-date-range.component.mjs +5 -19
  48. package/esm2022/components/input-date-time/input-date-time.component.mjs +4 -4
  49. package/esm2022/components/input-month/input-month.component.mjs +4 -4
  50. package/esm2022/components/input-month-range/input-month-range.component.mjs +2 -2
  51. package/esm2022/components/input-number/input-number.component.mjs +2 -2
  52. package/esm2022/components/input-password/input-password.component.mjs +6 -3
  53. package/esm2022/components/input-password/input-password.directive.mjs +4 -1
  54. package/esm2022/components/input-password/input-password.module.mjs +4 -1
  55. package/esm2022/components/input-password/input-password.options.mjs +10 -1
  56. package/esm2022/components/input-phone/input-phone.component.mjs +3 -3
  57. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +3 -3
  58. package/esm2022/components/input-range/input-range.component.mjs +2 -2
  59. package/esm2022/components/input-slider/input-slider.component.mjs +2 -2
  60. package/esm2022/components/input-tag/input-tag.component.mjs +9 -6
  61. package/esm2022/components/input-tag/input-tag.options.mjs +3 -2
  62. package/esm2022/components/input-time/input-time.component.mjs +3 -3
  63. package/esm2022/components/input-time/native-time/native-time.component.mjs +9 -9
  64. package/esm2022/components/input-year/input-year.component.mjs +2 -2
  65. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +1 -1
  66. package/esm2022/components/multi-select/multi-select.component.mjs +8 -5
  67. package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +2 -2
  68. package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +2 -2
  69. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +11 -4
  70. package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +6 -6
  71. package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +2 -2
  72. package/esm2022/components/select/native-select/native-select-group.component.mjs +2 -2
  73. package/esm2022/components/select/native-select/native-select.component.mjs +2 -2
  74. package/esm2022/components/select/select.component.mjs +3 -3
  75. package/esm2022/components/select-option/select-option.component.mjs +2 -2
  76. package/esm2022/components/sheet/components/sheet/sheet.component.mjs +5 -4
  77. package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +3 -3
  78. package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +2 -2
  79. package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +6 -6
  80. package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +3 -3
  81. package/esm2022/components/svg/svg.component.mjs +3 -3
  82. package/esm2022/components/svg/svg.service.mjs +2 -2
  83. package/esm2022/components/table-bar/table-bar.component.mjs +3 -3
  84. package/esm2022/components/tag/tag.component.mjs +2 -2
  85. package/esm2022/components/textarea/textarea.component.mjs +2 -2
  86. package/esm2022/components/tooltip/tooltip.component.mjs +2 -2
  87. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +1 -7
  88. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +1 -7
  89. package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +1 -4
  90. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +1 -7
  91. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +1 -7
  92. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +1 -7
  93. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +1 -7
  94. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +1 -7
  95. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +1 -7
  96. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +1 -7
  97. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +1 -7
  98. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +1 -7
  99. package/esm2022/directives/textfield-controller/textfield.options.mjs +1 -4
  100. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +1 -4
  101. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +1 -4
  102. package/esm2022/directives/value-accessor/value-accessor.directive.mjs +1 -4
  103. package/esm2022/directives/value-accessor/value-accessor.module.mjs +1 -4
  104. package/esm2022/directives/value-accessor/value-accessor.provider.mjs +1 -4
  105. package/fesm2022/taiga-ui-legacy-classes.mjs +3 -3
  106. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +17 -17
  108. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +3 -3
  110. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +2 -2
  112. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +2 -2
  114. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +2 -2
  116. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +3 -17
  118. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +3 -3
  120. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +2 -2
  122. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +2 -2
  124. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +3 -3
  126. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +2 -2
  128. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +20 -2
  130. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +2 -2
  132. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +2 -2
  134. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +2 -2
  136. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +2 -2
  138. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +10 -6
  140. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +10 -10
  142. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +2 -2
  144. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-legacy-components-input.mjs +2 -2
  146. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +11 -8
  148. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +17 -10
  150. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +2 -2
  152. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-legacy-components-select.mjs +6 -6
  154. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +15 -14
  156. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-legacy-components-svg.mjs +3 -3
  158. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +2 -2
  160. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-legacy-components-tag.mjs +2 -2
  162. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +2 -2
  164. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +2 -2
  166. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -72
  168. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -6
  170. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -9
  172. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  173. package/package.json +1 -1
  174. package/styles/mixins/mixins.less +6 -6
  175. package/styles/mixins/textfield.less +10 -10
  176. package/styles/mixins/textfield.scss +1 -1
  177. package/utils/icons-path-factory.d.ts +1 -1
@@ -49,7 +49,7 @@ class TuiNativeSelectComponent extends AbstractTuiNativeSelect {
49
49
  deps: [TuiNativeSelectComponent],
50
50
  useFactory: ({ datalist }) => datalist,
51
51
  },
52
- ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<option\n *ngFor=\"let option of items; let index = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i3.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<option\n *ngFor=\"let option of items; let index = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i3.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeSelectComponent, decorators: [{
55
55
  type: Component,
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  '[tabIndex]': 'host.focusable ? 0 : -1',
68
68
  '[value]': 'host.value',
69
69
  '(change)': 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',
70
- }, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<option\n *ngFor=\"let option of items; let index = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"] }]
70
+ }, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<option\n *ngFor=\"let option of items; let index = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"] }]
71
71
  }], propDecorators: { items: [{
72
72
  type: Input
73
73
  }] } });
@@ -97,7 +97,7 @@ class TuiNativeSelectGroupComponent extends AbstractTuiNativeSelect {
97
97
  deps: [TuiNativeSelectGroupComponent],
98
98
  useFactory: ({ datalist }) => datalist,
99
99
  },
100
- ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group; let i = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i3.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["labels"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ ], usesInheritance: true, ngImport: i0, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group; let i = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i3.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["labels"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
101
  }
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeSelectGroupComponent, decorators: [{
103
103
  type: Component,
@@ -115,7 +115,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
115
115
  '[tabIndex]': 'host.focusable ? 0 : -1',
116
116
  '[value]': 'host.value',
117
117
  '(change)': 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',
118
- }, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group; let i = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}\n"] }]
118
+ }, template: "<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group; let i = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n", styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0}\n"] }]
119
119
  }], propDecorators: { items: [{
120
120
  type: Input
121
121
  }], labels: [{
@@ -197,7 +197,7 @@ class TuiSelectComponent extends AbstractTuiNullableControl {
197
197
  tuiAsControl(TuiSelectComponent),
198
198
  tuiAsDataListHost(TuiSelectComponent),
199
199
  tuiAsOptionContent(TUI_SELECT_OPTION),
200
- ], queries: [{ propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"value !== null\"\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3$1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3$1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4$1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i4$1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4$1.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
200
+ ], queries: [{ propertyName: "nativeSelect", first: true, predicate: AbstractTuiNativeSelect, descendants: true, static: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"value !== null\"\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3$1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3$1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4$1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i4$1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4$1.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
201
201
  }
202
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSelectComponent, decorators: [{
203
203
  type: Component,
@@ -208,7 +208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
208
208
  tuiAsOptionContent(TUI_SELECT_OPTION),
209
209
  ], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], host: {
210
210
  '[attr.data-size]': 'size',
211
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"value !== null\"\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
211
+ }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"value !== null\"\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;inline-size:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
212
212
  }], propDecorators: { textfield: [{
213
213
  type: ViewChild,
214
214
  args: [TuiPrimitiveTextfieldComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-select.mjs","sources":["../../../projects/legacy/components/select/native-select/native-select.component.ts","../../../projects/legacy/components/select/native-select/native-select.template.html","../../../projects/legacy/components/select/native-select/native-select-group.component.ts","../../../projects/legacy/components/select/native-select/native-select-group.template.html","../../../projects/legacy/components/select/select.options.ts","../../../projects/legacy/components/select/select.component.ts","../../../projects/legacy/components/select/select.template.html","../../../projects/legacy/components/select/select.directive.ts","../../../projects/legacy/components/select/select.module.ts","../../../projects/legacy/components/select/taiga-ui-legacy-components-select.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport type {TuiSelectDirective} from '../select.directive';\n\n@Component({\n selector: 'select[tuiSelect]:not([labels]):not([multiple])',\n templateUrl: './native-select.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectComponent],\n useFactory: ({datalist}: TuiNativeSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n this.host.onValueChange(this.items?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<option\n *ngFor=\"let option of items; let index = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport type {TuiSelectDirective} from '../select.directive';\n\n@Component({\n selector: 'select[tuiSelect][labels]:not([multiple])',\n templateUrl: './native-select-group.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectGroupComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeSelectGroupComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectGroupComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []);\n\n this.host.onValueChange(flatItems?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group; let i = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiValueContentContext} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for Select component\n */\nexport const TUI_SELECT_OPTIONS = tuiCreateToken(TUI_SELECT_DEFAULT_OPTIONS);\n\nexport function tuiSelectOptionsProvider<T>(\n options: Partial<TuiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(TUI_SELECT_OPTIONS, options, TUI_SELECT_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListDirective,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport type {\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNativeSelect,\n AbstractTuiNullableControl,\n tuiAsControl,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_CLEANER, TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport type {TuiSelectOptions} from './select.options';\nimport {TUI_SELECT_OPTIONS} from './select.options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiSelectComponent),\n tuiAsControl(TuiSelectComponent),\n tuiAsDataListHost(TuiSelectComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ContentChild(AbstractTuiNativeSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeSelect;\n\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldCleaner = inject(TUI_TEXTFIELD_CLEANER);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly options = inject(TUI_SELECT_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected open = false;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n public onValueChange(value: T): void {\n this.value = value || null;\n }\n\n public handleOption(option: T): void {\n this.focusInput();\n this.value = option;\n this.open = false;\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.value = null;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"value !== null\"\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [tuiAsTextfieldHost(TuiSelectDirective)],\n})\nexport class TuiSelectDirective extends AbstractTuiTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get stringify(): TuiItemsHandlers<unknown>['stringify'] {\n return this.host.stringify;\n }\n\n public onValueChange(value: unknown): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiNativeSelectComponent} from './native-select/native-select.component';\nimport {TuiNativeSelectGroupComponent} from './native-select/native-select-group.component';\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ],\n exports: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiTextfieldComponent,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i5","i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-select.mjs","sources":["../../../projects/legacy/components/select/native-select/native-select.component.ts","../../../projects/legacy/components/select/native-select/native-select.template.html","../../../projects/legacy/components/select/native-select/native-select-group.component.ts","../../../projects/legacy/components/select/native-select/native-select-group.template.html","../../../projects/legacy/components/select/select.options.ts","../../../projects/legacy/components/select/select.component.ts","../../../projects/legacy/components/select/select.template.html","../../../projects/legacy/components/select/select.directive.ts","../../../projects/legacy/components/select/select.module.ts","../../../projects/legacy/components/select/taiga-ui-legacy-components-select.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport type {TuiSelectDirective} from '../select.directive';\n\n@Component({\n selector: 'select[tuiSelect]:not([labels]):not([multiple])',\n templateUrl: './native-select.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectComponent],\n useFactory: ({datalist}: TuiNativeSelectComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[] | null = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n this.host.onValueChange(this.items?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<option\n *ngFor=\"let option of items; let index = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n>\n {{ stringify(option) }}\n</option>\n","import {ChangeDetectionStrategy, Component, Input, TemplateRef} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsDataList} from '@taiga-ui/core/components/data-list';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNativeSelect} from '@taiga-ui/legacy/classes';\n\nimport type {TuiSelectDirective} from '../select.directive';\n\n@Component({\n selector: 'select[tuiSelect][labels]:not([multiple])',\n templateUrl: './native-select-group.template.html',\n styleUrls: ['./native-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataList(TuiNativeSelectGroupComponent),\n tuiProvide(AbstractTuiNativeSelect, TuiNativeSelectGroupComponent),\n {\n provide: TemplateRef,\n deps: [TuiNativeSelectGroupComponent],\n useFactory: ({datalist}: TuiNativeSelectGroupComponent<unknown>) => datalist,\n },\n ],\n host: {\n '[attr.aria-invalid]': 'host.invalid',\n '[disabled]': 'host.disabled || control.readOnly',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[value]': 'host.value',\n '(change)':\n 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',\n },\n})\nexport class TuiNativeSelectGroupComponent<T> extends AbstractTuiNativeSelect<\n TuiSelectDirective,\n T\n> {\n @Input()\n public items: readonly T[][] | null = [];\n\n @Input()\n public labels: readonly string[] = [];\n\n protected get stringify(): TuiItemsHandlers<T>['stringify'] {\n return this.host.stringify;\n }\n\n protected selected(option: T): boolean {\n return this.control.value === option;\n }\n\n protected onValueChange(index: number): void {\n const flatItems = this.items?.reduce((acc, val) => acc.concat(val), []);\n\n this.host.onValueChange(flatItems?.[index] || null);\n }\n}\n","<tui-data-list-wrapper\n *tuiDataList\n [disabledItemHandler]=\"disabledItemHandler || itemsHandlers.disabledItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n<option\n *ngIf=\"emptyOption\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group; let i = index\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : itemsHandlers.disabledItemHandler(option)\"\n [selected]=\"selected(option)\"\n [value]=\"stringify(option)\"\n >\n {{ stringify(option) }}\n </option>\n</optgroup>\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiValueContentContext} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\n/**\n * @deprecated: drop in v5.0\n * Default parameters for Select component\n */\nexport const TUI_SELECT_OPTIONS = tuiCreateToken(TUI_SELECT_DEFAULT_OPTIONS);\n\nexport function tuiSelectOptionsProvider<T>(\n options: Partial<TuiSelectOptions<T>>,\n): Provider {\n return tuiProvideOptions(TUI_SELECT_OPTIONS, options, TUI_SELECT_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n tuiAsDataListHost,\n tuiAsOptionContent,\n TuiDataListDirective,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport type {\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiValueContentContext,\n} from '@taiga-ui/core/types';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNativeSelect,\n AbstractTuiNullableControl,\n tuiAsControl,\n} from '@taiga-ui/legacy/classes';\nimport {TUI_ARROW_MODE} from '@taiga-ui/legacy/components/arrow';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_CLEANER, TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport type {TuiSelectOptions} from './select.options';\nimport {TUI_SELECT_OPTIONS} from './select.options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiSelectComponent),\n tuiAsControl(TuiSelectComponent),\n tuiAsDataListHost(TuiSelectComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ContentChild(AbstractTuiNativeSelect, {static: true})\n private readonly nativeSelect?: AbstractTuiNativeSelect;\n\n private readonly itemsHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly textfieldCleaner = inject(TUI_TEXTFIELD_CLEANER);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly arrowMode = inject(TUI_ARROW_MODE);\n private readonly options = inject(TUI_SELECT_OPTIONS);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected open = false;\n\n @Input()\n public stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n public identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n public valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n public onValueChange(value: T): void {\n this.value = value || null;\n }\n\n public handleOption(option: T): void {\n this.focusInput();\n this.value = option;\n this.open = false;\n }\n\n protected get arrow(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeM | TuiSizeS>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n protected get nativeDropdownMode(): boolean {\n return !!this.nativeSelect && this.isMobile;\n }\n\n protected get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.value = null;\n }\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"interactive && !nativeDropdownMode\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [editable]=\"false\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"arrow ? icon : ''\"\n [value]=\"computedValue\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (valueChange)=\"onValueChange($any($event))\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n <ng-template #select>\n <ng-content\n *ngIf=\"isMobile\"\n select=\"select\"\n />\n </ng-template>\n\n <ng-container\n *ngTemplateOutlet=\"select\"\n ngProjectAs=\"select\"\n />\n\n <div\n *ngIf=\"value !== null\"\n automation-id=\"tui-select__value\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <div\n *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value, active: computedFocused}\"\n class=\"t-primitive-value\"\n [textContent]=\"text\"\n ></div>\n </div>\n </tui-primitive-textfield>\n\n <ng-template #icon>\n <div\n appearance=\"icon\"\n tuiWrapper\n class=\"t-icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n","import {Directive} from '@angular/core';\nimport type {TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [tuiAsTextfieldHost(TuiSelectDirective)],\n})\nexport class TuiSelectDirective extends AbstractTuiTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n public override get readOnly(): boolean {\n return true;\n }\n\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get stringify(): TuiItemsHandlers<unknown>['stringify'] {\n return this.host.stringify;\n }\n\n public onValueChange(value: unknown): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListWrapper} from '@taiga-ui/kit/components/data-list-wrapper';\nimport {TuiStringifyContentPipe} from '@taiga-ui/kit/pipes/stringify-content';\nimport {TuiArrowComponent} from '@taiga-ui/legacy/components/arrow';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiNativeSelectComponent} from './native-select/native-select.component';\nimport {TuiNativeSelectGroupComponent} from './native-select/native-select-group.component';\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiSelectOptionModule,\n TuiArrowComponent,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n TuiStringifyContentPipe,\n TuiLegacyDropdownOpenMonitorDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n declarations: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ],\n exports: [\n TuiSelectComponent,\n TuiSelectDirective,\n TuiTextfieldComponent,\n TuiNativeSelectComponent,\n TuiNativeSelectGroupComponent,\n ...TuiDropdown,\n ...TuiDataList,\n ...TuiDataListWrapper,\n ],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i5","i1"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { tuiProvide, tuiPure, tuiCreateToken, tuiIsFalsy } from '@taiga-ui/cdk/u
10
10
  import { tuiSlideInTop, tuiFadeIn } from '@taiga-ui/core/animations';
11
11
  import { TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
12
12
  import { merge, map, share, delay, switchMap, concat, zip, takeUntil, take, distinctUntilChanged, withLatestFrom, filter, throttleTime, timer, BehaviorSubject, Observable, EMPTY, race, debounceTime, startWith, Subject, ignoreElements, endWith } from 'rxjs';
13
- import { TuiIdService } from '@taiga-ui/cdk/services';
13
+ import { tuiInjectId } from '@taiga-ui/cdk/services';
14
14
  import { TUI_CLOSE_WORD, TUI_COMMON_ICONS, TUI_SCROLL_REF, TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
15
15
  import * as i1 from '@taiga-ui/core/components/button';
16
16
  import { TuiButton } from '@taiga-ui/core/components/button';
@@ -49,20 +49,20 @@ class TuiSheetHeadingComponent {
49
49
  this.el = tuiInjectElement();
50
50
  this.closeWord$ = inject(TUI_CLOSE_WORD);
51
51
  this.icons = inject(TUI_COMMON_ICONS);
52
- this.id = inject(TuiIdService).generate();
52
+ this.autoId = tuiInjectId();
53
53
  }
54
54
  ngAfterViewInit() {
55
- this.el.dispatchEvent(new CustomEvent(TUI_SHEET_ID, { bubbles: true, detail: this.id }));
55
+ this.el.dispatchEvent(new CustomEvent(TUI_SHEET_ID, { bubbles: true, detail: this.autoId }));
56
56
  }
57
57
  onClick() {
58
58
  this.el.dispatchEvent(new CustomEvent(TUI_SHEET_CLOSE, { bubbles: true }));
59
59
  }
60
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetHeadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]", ngImport: i0, template: "<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n (click)=\"onClick()\"\n>\n {{ closeWord$ | async }}\n</button>\n<span [id]=\"id\">\n <ng-content />\n</span>\n", styles: [":host{position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-background-elevation-1);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px #ffffff40}:host:after{content:\"\";position:absolute;top:100%;left:0;right:0;height:1px;background:var(--tui-border-normal);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:right;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}\n"], dependencies: [{ kind: "directive", type: i1.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]", ngImport: i0, template: "<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n (click)=\"onClick()\"\n>\n {{ closeWord$ | async }}\n</button>\n<span [id]=\"autoId\">\n <ng-content />\n</span>\n", styles: [":host{position:sticky;top:0;z-index:1;min-block-size:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-background-elevation-1);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px #ffffff40}:host:after{content:\"\";position:absolute;top:100%;left:0;right:0;block-size:1px;background:var(--tui-border-normal);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:inline-end;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}\n"], dependencies: [{ kind: "directive", type: i1.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetHeadingComponent, decorators: [{
64
64
  type: Component,
65
- args: [{ selector: '[tuiSheetHeading]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n (click)=\"onClick()\"\n>\n {{ closeWord$ | async }}\n</button>\n<span [id]=\"id\">\n <ng-content />\n</span>\n", styles: [":host{position:sticky;top:0;z-index:1;min-height:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-background-elevation-1);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px #ffffff40}:host:after{content:\"\";position:absolute;top:100%;left:0;right:0;height:1px;background:var(--tui-border-normal);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:right;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}\n"] }]
65
+ args: [{ selector: '[tuiSheetHeading]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n (click)=\"onClick()\"\n>\n {{ closeWord$ | async }}\n</button>\n<span [id]=\"autoId\">\n <ng-content />\n</span>\n", styles: [":host{position:sticky;top:0;z-index:1;min-block-size:2rem;box-sizing:border-box;margin:-1.25rem -1rem 0;padding:1.5rem 1rem 1rem;background:var(--tui-background-elevation-1);border-radius:.75rem .75rem 0 0;font:var(--tui-font-heading-6);box-shadow:inset 0 1px #ffffff40}:host:after{content:\"\";position:absolute;top:100%;left:0;right:0;block-size:1px;background:var(--tui-border-normal);opacity:0}:host :host-context(._stuck):after{opacity:1}.t-close{display:none;float:inline-end;margin-right:-.25rem}:host-context(.t-wrapper_closeable) .t-close{display:block}\n"] }]
66
66
  }] });
67
67
 
68
68
  const TUI_SHEET_PROVIDERS = [
@@ -88,11 +88,11 @@ function iosScrollFactory(element, doc, zone) {
88
88
  const touchend$ = tuiTypedFromEvent(doc, 'touchend');
89
89
  const scroll$ = tuiTypedFromEvent(element, 'scroll').pipe(map(() => element.scrollTop));
90
90
  const result$ = merge(load$.pipe(delay(0), map(() => element.scrollTop)), touchstart$.pipe(switchMap(({ touches }) => {
91
- const { screenY } = touches[0];
91
+ const { screenY = 0 } = touches[0] ?? {};
92
92
  const { scrollTop } = element;
93
93
  return concat(
94
94
  // Sometimes touch is triggered without scroll in iOS, filter that
95
- zip(touchmove$, scroll$).pipe(map(([{ touches }]) => scrollTop + screenY - touches[0].screenY), takeUntil(touchend$)), scroll$);
95
+ zip(touchmove$, scroll$).pipe(map(([{ touches }]) => scrollTop + screenY - (touches[0]?.screenY ?? 0)), takeUntil(touchend$)), scroll$);
96
96
  })));
97
97
  return concat(scroll$.pipe(take(1)), result$).pipe(tuiZonefree(zone), share());
98
98
  }
@@ -108,11 +108,11 @@ class TuiSheetBarComponent {
108
108
  return this.sheet.stops[0] || 0;
109
109
  }
110
110
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetBarComponent, selector: "tui-sheet-bar", ngImport: i0, template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(-' + deg + 'deg)'}\"\n ></div>\n <ng-content *ngIf=\"deg\" />\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(' + deg + 'deg)'}\"\n ></div>\n</ng-container>\n", styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:2;display:flex;height:1.25rem;align-items:center;justify-content:center;opacity:.3}.t-bar{content:\"\";height:.25rem;width:1rem;background:var(--tui-text-primary);pointer-events:none}:host-context(._ios:not(._dragged)) .t-bar{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-bar:first-child{border-radius:1rem 0 0 1rem;transform-origin:top right}.t-bar:last-child{border-radius:0 1rem 1rem 0;transform-origin:top left}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetBarComponent, selector: "tui-sheet-bar", ngImport: i0, template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(-' + deg + 'deg)'}\"\n ></div>\n <ng-content *ngIf=\"deg\" />\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(' + deg + 'deg)'}\"\n ></div>\n</ng-container>\n", styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:2;display:flex;block-size:1.25rem;align-items:center;justify-content:center;opacity:.3}.t-bar{content:\"\";block-size:.25rem;inline-size:1rem;background:var(--tui-text-primary);pointer-events:none}:host-context(._ios:not(._dragged)) .t-bar{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-bar:first-child{border-radius:1rem 0 0 1rem;transform-origin:top right}.t-bar:last-child{border-radius:0 1rem 1rem 0;transform-origin:top left}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
112
  }
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetBarComponent, decorators: [{
114
114
  type: Component,
115
- args: [{ selector: 'tui-sheet-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(-' + deg + 'deg)'}\"\n ></div>\n <ng-content *ngIf=\"deg\" />\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(' + deg + 'deg)'}\"\n ></div>\n</ng-container>\n", styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:2;display:flex;height:1.25rem;align-items:center;justify-content:center;opacity:.3}.t-bar{content:\"\";height:.25rem;width:1rem;background:var(--tui-text-primary);pointer-events:none}:host-context(._ios:not(._dragged)) .t-bar{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-bar:first-child{border-radius:1rem 0 0 1rem;transform-origin:top right}.t-bar:last-child{border-radius:0 1rem 1rem 0;transform-origin:top left}\n"] }]
115
+ args: [{ selector: 'tui-sheet-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *tuiLet=\"rotate$ | async as deg\">\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(-' + deg + 'deg)'}\"\n ></div>\n <ng-content *ngIf=\"deg\" />\n <div\n class=\"t-bar\"\n [ngStyle]=\"{transform: 'rotate(' + deg + 'deg)'}\"\n ></div>\n</ng-container>\n", styles: [":host{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:2;display:flex;block-size:1.25rem;align-items:center;justify-content:center;opacity:.3}.t-bar{content:\"\";block-size:.25rem;inline-size:1rem;background:var(--tui-text-primary);pointer-events:none}:host-context(._ios:not(._dragged)) .t-bar{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-bar:first-child{border-radius:1rem 0 0 1rem;transform-origin:top right}.t-bar:last-child{border-radius:0 1rem 1rem 0;transform-origin:top left}\n"] }]
116
116
  }] });
117
117
 
118
118
  // So that borders get rounded when image is visible for at least 10px
@@ -217,7 +217,8 @@ class TuiSheetComponent {
217
217
  return this.contentTop - this.sheetTop;
218
218
  }
219
219
  ngAfterViewInit() {
220
- this.el.scrollTop = [...this.stops, this.sheetTop, this.contentTop][this.item.initial];
220
+ this.el.scrollTop =
221
+ [...this.stops, this.sheetTop, this.contentTop][this.item.initial] ?? 0;
221
222
  }
222
223
  onId(id) {
223
224
  this.id = id;
@@ -251,7 +252,7 @@ class TuiSheetComponent {
251
252
  return stops.map(({ nativeElement }) => nativeElement.offsetTop + nativeElement.clientHeight);
252
253
  }
253
254
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
254
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetComponent, selector: "tui-sheet", inputs: { item: "item" }, host: { attributes: { "role": "dialog" }, listeners: { "tui-sheet-id": "onId($event.detail)" }, properties: { "attr.aria-labelledby": "id", "class._ios": "isIos" } }, providers: TUI_SHEET_PROVIDERS, viewQueries: [{ propertyName: "sheet", first: true, predicate: ["sheet"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "stopsRefs", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;box-shadow:0 50vh var(--tui-background-elevation-1);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);overscroll-behavior:none}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host._stuck{scroll-snap-type:none}@supports (-moz-appearance: none){:host{scroll-snap-type:none}}.t-bumpers{display:flex;height:100%}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always;scroll-snap-align:start;scroll-margin:-1px}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;height:1rem;width:1rem}.t-wrapper{border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:var(--tui-shadow-small)}.t-top{position:sticky;top:0;border-radius:.8rem .8rem 0 0;box-shadow:var(--tui-shadow-small);transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;width:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;height:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-background-elevation-1);box-shadow:inset 0 1px #ffffff40}.t-button{position:absolute;top:0;height:1.5rem;width:3rem;padding:0;border:0;opacity:0}.t-content{padding:1rem;margin-top:-1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-heading{padding-bottom:.5rem;background:var(--tui-background-elevation-1)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiSheetBarComponent, selector: "tui-sheet-bar" }, { kind: "component", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]" }, { kind: "directive", type: TuiSheetTopDirective, selector: "[tuiSheetTop]", inputs: ["tuiSheetTop"] }, { kind: "directive", type: TuiSheetStopDirective, selector: "[tuiSheetStop]" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
255
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetComponent, selector: "tui-sheet", inputs: { item: "item" }, host: { attributes: { "role": "dialog" }, listeners: { "tui-sheet-id": "onId($event.detail)" }, properties: { "attr.aria-labelledby": "id", "class._ios": "isIos" } }, providers: TUI_SHEET_PROVIDERS, viewQueries: [{ propertyName: "sheet", first: true, predicate: ["sheet"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "stopsRefs", predicate: ["stops"], descendants: true }], ngImport: i0, template: "<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;box-shadow:0 50vh var(--tui-background-elevation-1);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);overscroll-behavior:none}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host._stuck{scroll-snap-type:none}@supports (-moz-appearance: none){:host{scroll-snap-type:none}}.t-bumpers{display:flex;block-size:100%}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always;scroll-snap-align:start;scroll-margin:-1px}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-wrapper{border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:var(--tui-shadow-small)}.t-top{position:sticky;top:0;border-radius:.8rem .8rem 0 0;box-shadow:var(--tui-shadow-small);transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;inline-size:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;block-size:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-background-elevation-1);box-shadow:inset 0 1px #ffffff40}.t-button{position:absolute;top:0;block-size:1.5rem;inline-size:3rem;padding:0;border:0;opacity:0}.t-content{padding:1rem;margin-top:-1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-heading{padding-bottom:.5rem;background:var(--tui-background-elevation-1)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiSheetBarComponent, selector: "tui-sheet-bar" }, { kind: "component", type: TuiSheetHeadingComponent, selector: "[tuiSheetHeading]" }, { kind: "directive", type: TuiSheetTopDirective, selector: "[tuiSheetTop]", inputs: ["tuiSheetTop"] }, { kind: "directive", type: TuiSheetStopDirective, selector: "[tuiSheetStop]" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], animations: [tuiSlideInTop], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
255
256
  }
256
257
  __decorate([
257
258
  tuiPure
@@ -266,7 +267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
266
267
  '[attr.aria-labelledby]': 'id',
267
268
  '[class._ios]': 'isIos',
268
269
  [`(${TUI_SHEET_ID})`]: 'onId($event.detail)',
269
- }, template: "<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;box-shadow:0 50vh var(--tui-background-elevation-1);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);overscroll-behavior:none}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host._stuck{scroll-snap-type:none}@supports (-moz-appearance: none){:host{scroll-snap-type:none}}.t-bumpers{display:flex;height:100%}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always;scroll-snap-align:start;scroll-margin:-1px}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;height:1rem;width:1rem}.t-wrapper{border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:var(--tui-shadow-small)}.t-top{position:sticky;top:0;border-radius:.8rem .8rem 0 0;box-shadow:var(--tui-shadow-small);transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;width:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;height:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-background-elevation-1);box-shadow:inset 0 1px #ffffff40}.t-button{position:absolute;top:0;height:1.5rem;width:3rem;padding:0;border:0;opacity:0}.t-content{padding:1rem;margin-top:-1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-heading{padding-bottom:.5rem;background:var(--tui-background-elevation-1)}\n"] }]
270
+ }, template: "<div\n class=\"t-bumpers\"\n (click)=\"close()\"\n>\n <div\n *ngFor=\"let stop of item.stops\"\n #stops\n class=\"t-bumper\"\n [style.marginTop]=\"stop\"\n ></div>\n</div>\n<div\n #sheet\n class=\"t-wrapper\"\n [class.t-wrapper_shadow]=\"!item.image\"\n>\n <header\n *ngIf=\"item.image\"\n class=\"t-top\"\n [tuiSheetTop]=\"imageStop\"\n >\n <img\n *polymorpheusOutlet=\"item.image as src; context: context\"\n alt=\"\"\n class=\"t-image\"\n [src]=\"src\"\n />\n </header>\n <section\n #content\n tuiSheetStop\n class=\"t-sheet\"\n >\n <div class=\"t-bar\"></div>\n <tui-sheet-bar>\n <button\n type=\"button\"\n class=\"t-button\"\n [title]=\"moreWord$ | async\"\n (click)=\"scrollTo(stops[1])\"\n ></button>\n </tui-sheet-bar>\n <div class=\"t-content\">\n <h2\n *polymorpheusOutlet=\"item.content as text; context: context\"\n tuiSheetHeading\n class=\"t-heading\"\n >\n {{ text }}\n </h2>\n </div>\n </section>\n</div>\n", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:absolute;left:0;bottom:0;right:0;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;top:auto;border-radius:.75rem .75rem 0 0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;box-shadow:0 50vh var(--tui-background-elevation-1);padding-right:1rem;margin-left:-1rem;transform:scaleX(-1);clip-path:inset(0 1rem 0 0 round .75rem .75rem 0 0);overscroll-behavior:none}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host._stuck{scroll-snap-type:none}@supports (-moz-appearance: none){:host{scroll-snap-type:none}}.t-bumpers{display:flex;block-size:100%}:host-context(.t-wrapper_closeable) .t-bumpers{scroll-snap-stop:always;scroll-snap-align:start;scroll-margin:-1px}.t-bumper{scroll-snap-stop:always;scroll-snap-align:start;block-size:1rem;inline-size:1rem}.t-wrapper{border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start}.t-wrapper_shadow{box-shadow:var(--tui-shadow-small)}.t-top{position:sticky;top:0;border-radius:.8rem .8rem 0 0;box-shadow:var(--tui-shadow-small);transform:scaleX(-1);overflow:hidden}.t-top._clickthrough{pointer-events:none}:host-context(._overlay:not(._visible)) .t-top{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;transform:scaleX(-1)!important}.t-image{display:block;inline-size:100%}.t-sheet{position:relative;border-radius:inherit;scroll-snap-stop:always;scroll-snap-align:start;transform:scaleX(-1)}.t-top:not(._rounded)~.t-sheet .t-bar{border-radius:0}.t-bar{transition-property:border-radius;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:0;z-index:1;block-size:1.5rem;margin-bottom:-1.5rem;border-radius:inherit;background:var(--tui-background-elevation-1);box-shadow:inset 0 1px #ffffff40}.t-button{position:absolute;top:0;block-size:1.5rem;inline-size:3rem;padding:0;border:0;opacity:0}.t-content{padding:1rem;margin-top:-1rem;border-radius:inherit;background:var(--tui-background-elevation-1)}.t-heading{padding-bottom:.5rem;background:var(--tui-background-elevation-1)}\n"] }]
270
271
  }], propDecorators: { sheet: [{
271
272
  type: ViewChild,
272
273
  args: ['sheet']
@@ -461,11 +462,11 @@ class TuiSheetsHostComponent {
461
462
  }
462
463
  }
463
464
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetsHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
464
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetsHostComponent, selector: "tui-sheets-host", ngImport: i0, template: "<div\n *ngFor=\"let item of sheets\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiFadeIn]=\"options\"\n [@tuiSlideInTop]=\"options\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n [tuiSheetWrapper]=\"item.offset\"\n (click.self)=\"close(item)\"\n>\n <tui-sheet\n tuiScrollRef\n [item]=\"item\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n (close)=\"close(item)\"\n />\n</div>\n<div\n class=\"t-overlay\"\n (click)=\"close(sheets[0])\"\n></div>\n", styles: [":host{position:sticky;bottom:0;display:block;height:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;width:100%;z-index:-1;height:100%;background:#000;opacity:.001;pointer-events:none}.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;width:100%;height:100vh;overflow:hidden}.t-wrapper_visible{overflow:visible}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TuiSheetComponent, selector: "tui-sheet", inputs: ["item"] }, { kind: "directive", type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: ["tuiSheetWrapper"], exportAs: ["tuiSheetWrapper"] }, { kind: "directive", type: TuiSheetCloseDirective, selector: "tui-sheet[close]", outputs: ["close"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
465
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSheetsHostComponent, selector: "tui-sheets-host", ngImport: i0, template: "<div\n *ngFor=\"let item of sheets\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiFadeIn]=\"options\"\n [@tuiSlideInTop]=\"options\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n [tuiSheetWrapper]=\"item.offset\"\n (click.self)=\"close(item)\"\n>\n <tui-sheet\n tuiScrollRef\n [item]=\"item\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n (close)=\"close(item)\"\n />\n</div>\n<div\n class=\"t-overlay\"\n (click)=\"sheets[0] && close(sheets[0])\"\n></div>\n", styles: [":host{position:sticky;bottom:0;display:block;block-size:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;inline-size:100%;z-index:-1;block-size:100%;background:#000;opacity:.001;pointer-events:none}.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;inline-size:100%;block-size:100vh;overflow:hidden}.t-wrapper_visible{overflow:visible}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TuiSheetComponent, selector: "tui-sheet", inputs: ["item"] }, { kind: "directive", type: TuiSheetWrapperDirective, selector: "[tuiSheetWrapper]", inputs: ["tuiSheetWrapper"], exportAs: ["tuiSheetWrapper"] }, { kind: "directive", type: TuiSheetCloseDirective, selector: "tui-sheet[close]", outputs: ["close"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
465
466
  }
466
467
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSheetsHostComponent, decorators: [{
467
468
  type: Component,
468
- args: [{ selector: 'tui-sheets-host', changeDetection: ChangeDetectionStrategy.OnPush, animations: [tuiSlideInTop, tuiFadeIn], template: "<div\n *ngFor=\"let item of sheets\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiFadeIn]=\"options\"\n [@tuiSlideInTop]=\"options\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n [tuiSheetWrapper]=\"item.offset\"\n (click.self)=\"close(item)\"\n>\n <tui-sheet\n tuiScrollRef\n [item]=\"item\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n (close)=\"close(item)\"\n />\n</div>\n<div\n class=\"t-overlay\"\n (click)=\"close(sheets[0])\"\n></div>\n", styles: [":host{position:sticky;bottom:0;display:block;height:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;width:100%;z-index:-1;height:100%;background:#000;opacity:.001;pointer-events:none}.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;width:100%;height:100vh;overflow:hidden}.t-wrapper_visible{overflow:visible}\n"] }]
469
+ args: [{ selector: 'tui-sheets-host', changeDetection: ChangeDetectionStrategy.OnPush, animations: [tuiSlideInTop, tuiFadeIn], template: "<div\n *ngFor=\"let item of sheets\"\n #wrapper=\"tuiSheetWrapper\"\n class=\"t-wrapper\"\n [@tuiFadeIn]=\"options\"\n [@tuiSlideInTop]=\"options\"\n [class.t-wrapper_closeable]=\"item.closeable\"\n [class.t-wrapper_overlay]=\"item.overlay || (wrapper.overlay$ | async)\"\n [class.t-wrapper_visible]=\"wrapper.visible$ | async\"\n [style.height.px]=\"wrapper.height$ | async\"\n [tuiSheetWrapper]=\"item.offset\"\n (click.self)=\"close(item)\"\n>\n <tui-sheet\n tuiScrollRef\n [item]=\"item\"\n [style.height.px]=\"((height$ | async) || 0) - item.offset\"\n (close)=\"close(item)\"\n />\n</div>\n<div\n class=\"t-overlay\"\n (click)=\"sheets[0] && close(sheets[0])\"\n></div>\n", styles: [":host{position:sticky;bottom:0;display:block;block-size:0}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:fixed;top:0;left:0;inline-size:100%;z-index:-1;block-size:100%;background:#000;opacity:.001;pointer-events:none}.t-wrapper_overlay~.t-overlay{opacity:.8;pointer-events:auto;touch-action:none}.t-wrapper{position:absolute;bottom:0;z-index:0;inline-size:100%;block-size:100vh;overflow:hidden}.t-wrapper_visible{overflow:visible}\n"] }]
469
470
  }] });
470
471
 
471
472
  /**