@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
@@ -31,7 +31,7 @@ class TuiNativeMultiSelectGroupComponent extends AbstractTuiNativeMultiSelect {
31
31
  deps: [TuiNativeMultiSelectGroupComponent],
32
32
  useFactory: ({ datalist }) => datalist,
33
33
  },
34
- ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["labels"] }, { kind: "directive", type: i5.TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: i7.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiDataListGroupWrapperComponent, selector: "tui-data-list-wrapper[labels]", inputs: ["labels"] }, { kind: "directive", type: i5.TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: i7.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
35
  }
36
36
  export { TuiNativeMultiSelectGroupComponent };
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMultiSelectGroupComponent, decorators: [{
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
51
  '(change)': 'onValueChange($event.target.selectedOptions)',
52
52
  '(click.stop.silent)': '0',
53
53
  '(mousedown.stop.silent)': '0',
54
- }, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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"] }]
54
+ }, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n [labels]=\"labels\"\n/>\n<optgroup\n *ngFor=\"let group of items; let index = index\"\n [label]=\"labels[index]\"\n>\n <option\n *ngFor=\"let option of group\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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"] }]
55
55
  }], propDecorators: { items: [{
56
56
  type: Input
57
57
  }], labels: [{
@@ -29,7 +29,7 @@ class TuiNativeMultiSelectComponent extends AbstractTuiNativeMultiSelect {
29
29
  deps: [TuiNativeMultiSelectComponent],
30
30
  useFactory: ({ datalist }) => datalist,
31
31
  },
32
- ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i5.TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: i7.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i5.TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: i7.TuiStringifyContentPipe, name: "tuiStringifyContent" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
33
  }
34
34
  export { TuiNativeMultiSelectComponent };
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeMultiSelectComponent, decorators: [{
@@ -49,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
49
49
  '(change)': 'onValueChange($event.target.selectedOptions)',
50
50
  '(click.stop.silent)': '0',
51
51
  '(mousedown.stop.silent)': '0',
52
- }, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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"] }]
52
+ }, template: "<ng-container *ngIf=\"control.control?.valueChanges | async\" />\n\n<tui-data-list-wrapper\n *tuiDataList\n tuiMultiSelectGroup\n [disabledItemHandler]=\"disabledItemHandler || host.disableItemHandler\"\n [itemContent]=\"stringify | tuiStringifyContent\"\n [items]=\"items\"\n/>\n<option\n *ngFor=\"let option of items\"\n [disabled]=\"disabledItemHandler ? disabledItemHandler(option) : host.disableItemHandler(option)\"\n [selected]=\"option | tuiMapper: selectedMapper : control.value\"\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"] }]
53
53
  }], propDecorators: { items: [{
54
54
  type: Input
55
55
  }] } });
@@ -162,6 +162,12 @@ class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
162
162
  event.preventDefault();
163
163
  nativeFocusableElement.focus();
164
164
  }
165
+ transitionStartHandler({ propertyName, target }) {
166
+ const matchedAutofill = propertyName.includes('box-shadow') && target?.matches('input');
167
+ if (matchedAutofill) {
168
+ this.onAutofilled(!this.autofilled);
169
+ }
170
+ }
165
171
  onAutofilled(autofilled) {
166
172
  this.updateAutofilled(autofilled);
167
173
  }
@@ -187,10 +193,10 @@ class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
187
193
  this.valueChange.emit(value);
188
194
  }
189
195
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
190
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: { editable: "editable", iconCleaner: "iconCleaner", readOnly: "readOnly", invalid: "invalid", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "attr.data-size": "size", "class._readonly": "readOnly", "class._hidden": "inputHidden", "class._invalid": "computedInvalid", "class._autofilled": "autofilled", "style.--border-start.rem": "borderStart", "style.--border-end.rem": "borderEnd", "class._label-outside": "options.appearance() === \"table\" || controller.labelOutside" } }, providers: [
196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: { editable: "editable", iconCleaner: "iconCleaner", readOnly: "readOnly", invalid: "invalid", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)", "transitionstart.capture": "transitionStartHandler($event)" }, properties: { "attr.data-size": "size", "class._readonly": "readOnly", "class._hidden": "inputHidden", "class._invalid": "computedInvalid", "class._autofilled": "autofilled", "style.--border-start.rem": "borderStart", "style.--border-end.rem": "borderEnd", "class._label-outside": "options.appearance() === \"table\" || controller.labelOutside" } }, providers: [
191
197
  tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
192
198
  TEXTFIELD_CONTROLLER_PROVIDER,
193
- ], queries: [{ propertyName: "content", predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\" />\n<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\" />\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content />\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n />\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\n </div>\n <span\n *ngIf=\"hasCleaner\"\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n [style.border]=\"'0.25rem solid transparent'\"\n />\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:left;border-radius:var(--tui-radius-m);height:var(--tui-height);min-height:var(--tui-height);max-height:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-width:0;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border:.25rem solid transparent}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host._autofilled[data-size=s] .t-placeholder,:host._autofilled._label-outside .t-placeholder,:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host[data-size=s] tui-icon{border:.25rem solid transparent}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "component", type: i5.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "component", type: i6.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i7.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus"] }, { kind: "component", type: i8.TuiValueDecorationComponent, selector: "tui-value-decoration" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
199
+ ], queries: [{ propertyName: "content", predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\" />\n<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\" />\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content />\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n />\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\n </div>\n <span\n *ngIf=\"hasCleaner\"\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n [style.border]=\"'0.25rem solid transparent'\"\n />\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:start;border-radius:var(--tui-radius-m);block-size:var(--tui-height);min-block-size:var(--tui-height);max-block-size:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;block-size:100%;inline-size:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-inline-size:0;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;inline-size:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}.t-cleaner{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border:.25rem solid transparent}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host ::ng-deep input{transition:box-shadow .01s}:host._autofilled[data-size=s] .t-placeholder,:host._autofilled._label-outside .t-placeholder,:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host[data-size=s] tui-icon{border:.25rem solid transparent}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-inline-size:2rem;block-size:2rem;pointer-events:none}.t-custom-icon{inline-size:2rem;block-size:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;inline-size:calc(100% - 1rem);max-inline-size:calc(100% - 1rem);align-items:center;pointer-events:none;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "component", type: i5.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }, { kind: "component", type: i6.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i7.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus"] }, { kind: "component", type: i8.TuiValueDecorationComponent, selector: "tui-value-decoration" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
194
200
  }
195
201
  __decorate([
196
202
  tuiPure
@@ -212,7 +218,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
212
218
  '[class._label-outside]': 'options.appearance() === "table" || controller.labelOutside',
213
219
  '(focusin)': 'onFocused(true)',
214
220
  '(focusout)': 'onFocused(false)',
215
- }, template: "<ng-container *ngIf=\"content?.changes | async\" />\n<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\" />\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content />\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n />\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\n </div>\n <span\n *ngIf=\"hasCleaner\"\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n [style.border]=\"'0.25rem solid transparent'\"\n />\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:left;border-radius:var(--tui-radius-m);height:var(--tui-height);min-height:var(--tui-height);max-height:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-width:0;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border:.25rem solid transparent}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host._autofilled[data-size=s] .t-placeholder,:host._autofilled._label-outside .t-placeholder,:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host[data-size=s] tui-icon{border:.25rem solid transparent}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"] }]
221
+ '(transitionstart.capture)': 'transitionStartHandler($event)',
222
+ }, template: "<ng-container *ngIf=\"content?.changes | async\" />\n<ng-container *ngIf=\"hintOptions?.change$ | async\" />\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly || !editable\"\n [tabIndex]=\"computedFocusable ? 0 : -1\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\" />\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content />\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n />\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-icon\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [icon]=\"src\"\n />\n </div>\n <span\n *ngIf=\"hasCleaner\"\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-icon\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [icon]=\"src.toString()\"\n [style.border]=\"'0.25rem solid transparent'\"\n />\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n />\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-icon\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [icon]=\"src.toString()\"\n />\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:block;text-align:start;border-radius:var(--tui-radius-m);block-size:var(--tui-height);min-block-size:var(--tui-height);max-block-size:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s);font:var(--tui-font-text-s)}:host[data-size=m]{--tui-height: var(--tui-height-m);font:var(--tui-font-text-s)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}.t-input[inputMode=none]{caret-color:transparent}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) .t-input{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;block-size:100%;inline-size:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-inline-size:0;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;inline-size:100%;-webkit-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-text-negative)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-tertiary)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-primary)}.t-cleaner{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto;border:.25rem solid transparent}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;inline-size:1.5rem;block-size:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{margin-inline-end:-.125rem}:host[data-size=s] .t-icons{margin-inline-end:-.375rem}:host:not([data-size=s]) .t-icons>:not(:first-child){margin-inline-start:.25rem}:host ::ng-deep input{transition:box-shadow .01s}:host._autofilled[data-size=s] .t-placeholder,:host._autofilled._label-outside .t-placeholder,:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host[data-size=s] tui-icon{border:.25rem solid transparent}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-inline-size:2rem;block-size:2rem;pointer-events:none}.t-custom-icon{inline-size:2rem;block-size:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;inline-size:calc(100% - 1rem);max-inline-size:calc(100% - 1rem);align-items:center;pointer-events:none;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"] }]
216
223
  }], propDecorators: { focusableElement: [{
217
224
  type: ViewChild,
218
225
  args: ['focusableElement']
@@ -234,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
234
241
  }], valueChange: [{
235
242
  type: Output
236
243
  }], getIndent$: [] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3ByaW1pdGl2ZS10ZXh0ZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZC9wcmltaXRpdmUtdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQUMscUJBQXFCLElBQUksT0FBTyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixxQkFBcUIsSUFBSSxjQUFjLEVBQ3ZDLGdDQUFnQyxHQUNuQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxPQUFPLEVBQUMsa0JBQWtCLEVB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QkEwSUcsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtFbGVtZW50UmVmLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnQsIHR1aVJldGFyZ2V0ZWRCb3VuZGFyeUNyb3NzaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZElufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9PUFRJT05TIGFzIE9QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VHVpSGludE9wdGlvbnNEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY2xhc3Nlcyc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyBhcyBMRUdBQ1lfT1BUSU9OUyxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9kaXJlY3RpdmVzJztcbmltcG9ydCB7dHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0Qm9yZGVyfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3V0aWxzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkfSBmcm9tICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0lDT05fU1RBUlRfUEFERElOR1M6IFJlY29yZDxUdWlTaXplTCB8IFR1aVNpemVTLCBudW1iZXI+ID0ge1xuICAgIHM6IDEuMjUsXG4gICAgbTogMS43NSxcbiAgICBsOiAyLjI1LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL3RleHRmaWVsZFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXRleHRmaWVsZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUtdGV4dGZpZWxkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnW2NsYXNzLl9yZWFkb25seV0nOiAncmVhZE9ubHknLFxuICAgICAgICAnW2NsYXNzLl9oaWRkZW5dJzogJ2lucHV0SGlkZGVuJyxcbiAgICAgICAgJ1tjbGFzcy5faW52YWxpZF0nOiAnY29tcHV0ZWRJbnZhbGlkJyxcbiAgICAgICAgJ1tjbGFzcy5fYXV0b2ZpbGxlZF0nOiAnYXV0b2ZpbGxlZCcsXG4gICAgICAgICdbc3R5bGUuLS1ib3JkZXItc3RhcnQucmVtXSc6ICdib3JkZXJTdGFydCcsXG4gICAgICAgICdbc3R5bGUuLS1ib3JkZXItZW5kLnJlbV0nOiAnYm9yZGVyRW5kJyxcbiAgICAgICAgJ1tjbGFzcy5fbGFiZWwtb3V0c2lkZV0nOlxuICAgICAgICAgICAgJ29wdGlvbnMuYXBwZWFyYW5jZSgpID09PSBcInRhYmxlXCIgfHwgY29udHJvbGxlci5sYWJlbE91dHNpZGUnLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ29uRm9jdXNlZCh0cnVlKScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ29uRm9jdXNlZChmYWxzZSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpUHJpbWl0aXZlVGV4dGZpZWxkXG57XG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWN5T3B0aW9ucyA9IGluamVjdChMRUdBQ1lfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0LCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZW50PzogUXVlcnlMaXN0PHVua25vd24+O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoaW50T3B0aW9ucyA9IGluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIGF1dG9maWxsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkOlxuICAgICAqIHVzZSBgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtpY29uQ2xlYW5lcjogYEB0dWkuY2hldnJvbi11cGB9KWBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uQ2xlYW5lciA9IHRoaXMubGVnYWN5T3B0aW9ucy5pY29uQ2xlYW5lcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWUgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHVibGljIGdldCBwcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5wcmVmaXg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwb3N0Zml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIucG9zdGZpeDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpbGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmZpbGxlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiAobmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIHx8XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50KSBhcyBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hcHBlYXJhbmNlKCkgPT09ICd0YWJsZSdcbiAgICAgICAgICAgID8gJ3RhYmxlJ1xuICAgICAgICAgICAgOiB0aGlzLmNvbnRyb2xsZXIuYXBwZWFyYW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5pbnZhbGlkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaW5wdXRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udGVudD8ubGVuZ3RoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYm9yZGVyU3RhcnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbkxlZnRDb250ZW50ID8gdGhpcy5pY29uUGFkZGluZ0xlZnQgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYm9yZGVyRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRCb3JkZXIoXG4gICAgICAgICAgICAhIXRoaXMuaWNvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIsXG4gICAgICAgICAgICB0aGlzLmhhc1Rvb2x0aXAsXG4gICAgICAgICAgICB0aGlzLmhhc0N1c3RvbUNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLnNpemUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuY2xlYW5lciAmJlxuICAgICAgICAgICAgdGhpcy5oYXNWYWx1ZSAmJlxuICAgICAgICAgICAgIXRoaXMuY29tcHV0ZWREaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0N1c3RvbUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbGxlci5jdXN0b21Db250ZW50O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgcGxhY2Vob2xkZXJWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNEZWNvciA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LnBsYWNlaG9sZGVyIHx8XG4gICAgICAgICAgICB0aGlzLnByZWZpeCB8fFxuICAgICAgICAgICAgdGhpcy5wb3N0Zml4IHx8XG4gICAgICAgICAgICB0aGlzLmZpbGxlcjtcbiAgICAgICAgY29uc3Qgc2hvd0RlY29yID0gaGFzRGVjb3IgJiYgIXRoaXMucmVhZE9ubHkgJiYgdGhpcy5jb21wdXRlZEZvY3VzZWQ7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLmhhc1ZhbHVlICYmICFzaG93RGVjb3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXJSYWlzYWJsZSB8fCB0aGlzLnBsYWNlaG9sZGVyVmlzaWJsZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlIHx8IHRoaXMuYXV0b2ZpbGxlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGljb25Db250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpY29uTGVmdENvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPlxuICAgID4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb25TdGFydDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNob3dIaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50ICYmXG4gICAgICAgICAgICAodGhpcy5sZWdhY3lPcHRpb25zLmhpbnRPbkRpc2FibGVkIHx8ICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgcHJvdGVjdGVkIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmF1dG9jb21wbGV0ZSA9PT0gJ2NjLWV4cCdcbiAgICAgICAgICAgID8gJ2NjZXhwaXJ5eWVhcidcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uaWQgfHwgJyc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcm90ZWN0ZWQgZ2V0SW5kZW50JChlbGVtZW50OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gLTEgKiBNYXRoLm1heChlbGVtZW50LnNjcm9sbExlZnQsIDApKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcztcblxuICAgICAgICBpZiAoIW5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgZXZlbnQudGFyZ2V0ID09PSBuYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXV0b2ZpbGxlZChhdXRvZmlsbGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQXV0b2ZpbGxlZChhdXRvZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGV0ZWN0UmV0YXJnZXRGcm9tTGFiZWwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlSZXRhcmdldGVkQm91bmRhcnlDcm9zc2luZyhldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaWNvblBhZGRpbmdMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUVUlfSUNPTl9TVEFSVF9QQURESU5HU1t0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBsYWNlaG9sZGVyUmFpc2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgIT09ICdzJyAmJiAhdGhpcy5jb250cm9sbGVyLmxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUF1dG9maWxsZWQoYXV0b2ZpbGxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvZmlsbGVkID09PSBhdXRvZmlsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmF1dG9maWxsZWQgPSBhdXRvZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQ/LmNoYW5nZXMgfCBhc3luY1wiIC8+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaGludE9wdGlvbnM/LmNoYW5nZSQgfCBhc3luY1wiIC8+XG48ZGl2XG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX193cmFwcGVyXCJcbiAgICB0dWlXcmFwcGVyXG4gICAgW2FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW2hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3N0eWxlLi0tdGV4dC1pbmRlbnQucHhdPVwiZGVjb3IucHJlJCB8IGFzeW5jXCJcbiAgICAoY2xpY2sucHJldmVudC5zaWxlbnQpPVwiZGV0ZWN0UmV0YXJnZXRGcm9tTGFiZWwoJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2VsZWN0XCIgLz5cbiAgICA8aW5wdXRcbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19uYXRpdmUtaW5wdXRcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXRcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgIWVkaXRhYmxlXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImNvbXB1dGVkRm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWVcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQgdC1pbnB1dF90ZW1wbGF0ZVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaWNvbkxlZnRDb250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uIHQtaWNvbl9sZWZ0IHQtdGV4dGZpZWxkLWljb25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkxlZnRDb250ZW50IGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgIHR1aUFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJzcmMudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgICAgIFtmb3JdPVwiY29tcHV0ZWRJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyLXZhbHVlLWRlY29yYXRpb25cIj5cbiAgICAgICAgICAgICAgICA8dHVpLXZhbHVlLWRlY29yYXRpb25cbiAgICAgICAgICAgICAgICAgICAgI2RlY29yXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWUtZGVjb3JhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC12YWx1ZS1kZWNvcmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaGFzLXZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnRleHRJbmRlbnQucHhdPVwiZ2V0SW5kZW50JChmb2N1c2FibGVFbGVtZW50KSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC1pY29uc1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzQ3VzdG9tQ29udGVudFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jdXN0b20tY29udGVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWN1c3RvbS1jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRyb2xsZXIuY3VzdG9tQ29udGVudCBhcyBzcmNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY3VzdG9tLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzcmNcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNDbGVhbmVyXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jbGVhbmVyXCJcbiAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNsZWFuZXJcIlxuICAgICAgICAgICAgICAgIChjbGljay5zdG9wKT1cImNsZWFyKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xlYW5lciB8fCBjb250cm9sbGVyLm9wdGlvbnMuaWNvbkNsZWFuZXIgYXMgc3JjO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwic3JjLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyXT1cIicwLjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0hpbnRcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtjb250ZW50XT1cImhpbnRPcHRpb25zPy5jb250ZW50XCJcbiAgICAgICAgICAgICAgICBbZGVzY3JpYmVJZF09XCJjb21wdXRlZElkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpY29uQ29udGVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24gdC10ZXh0ZmllbGQtaWNvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uQ29udGVudCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICAgICAgdHVpQXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzcmMudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXRleHRmaWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkL3ByaW1pdGl2ZS10ZXh0ZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZC9wcmltaXRpdmUtdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQUMscUJBQXFCLElBQUksT0FBTyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUNILDZCQUE2QixFQUM3QixxQkFBcUIsSUFBSSxjQUFjLEVBQ3ZDLGdDQUFnQyxHQUNuQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQUlwQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBd0M7SUFDeEUsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxJQUFJO0NBQ1YsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1Bd0JhLDhCQUNULFNBQVEsc0JBQXNCO0lBekJsQzs7UUErQnFCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBS3RCLFlBQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ3RELGdCQUFXLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDekUsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUd0QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXZCOzs7V0FHRztRQUVJLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFHN0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUdGLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQTZNNUQ7SUEzTUcsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFFOUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0I7WUFDeEMsYUFBYSxDQUE0QixDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxPQUFPO1lBQ3hDLENBQUMsQ0FBQyxPQUFPO1lBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDZCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQWMsV0FBVztRQUNyQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxZQUFZLENBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxJQUFJLENBQ1osQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBYyxVQUFVO1FBQ3BCLE9BQU8sQ0FDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87WUFDdkIsSUFBSSxDQUFDLFFBQVE7WUFDYixDQUFDLElBQUksQ0FBQyxnQkFBZ0I7WUFDdEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQWMsVUFBVTtRQUNwQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBYyxnQkFBZ0I7UUFDMUIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQWMsa0JBQWtCO1FBQzVCLE1BQU0sUUFBUSxHQUNWLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxXQUFXO1lBQ3hDLElBQUksQ0FBQyxNQUFNO1lBQ1gsSUFBSSxDQUFDLE9BQU87WUFDWixJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUVyRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBYyxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUMvRCxDQUFDO0lBRUQsSUFBYyxpQkFBaUI7UUFDM0IsT0FBTyxDQUNILElBQUksQ0FBQyxtQkFBbUI7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ2pGLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQWMsZUFBZTtRQUd6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU87WUFDM0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNoRSxDQUFDO0lBQ04sQ0FBQztJQUVELDZDQUE2QztJQUM3QyxJQUFjLElBQUk7UUFDZCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLEtBQUssUUFBUTtZQUN6RCxDQUFDLENBQUMsY0FBYztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQWMsVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFHUyxVQUFVLENBQUMsT0FBb0I7UUFDckMsT0FBTyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ04sQ0FBQztJQUVTLFNBQVMsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxLQUFLO1FBQ1gsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDMUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBaUI7UUFDbkMsTUFBTSxFQUFDLHNCQUFzQixFQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXRDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLHNCQUFzQixFQUFFO1lBQ3BFLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRVMsc0JBQXNCLENBQUMsRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFrQjtRQUNwRSxNQUFNLGVBQWUsR0FDakIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSyxNQUFrQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRixJQUFJLGVBQWUsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVTLFlBQVksQ0FBQyxVQUFtQjtRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVTLHVCQUF1QixDQUFDLEtBQVk7UUFDMUMsSUFBSSw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0QyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFRCxJQUFZLGVBQWU7UUFDdkIsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVksbUJBQW1CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztJQUM5RCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBbUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUNoQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzsrR0FyUFEsOEJBQThCO21HQUE5Qiw4QkFBOEIseXRCQW5CNUI7WUFDUCwwQkFBMEIsQ0FBQyw4QkFBOEIsQ0FBQztZQUMxRCw2QkFBNkI7U0FDaEMsa0RBMEJnQixrQkFBa0IsNkxDN0V2Qyx3MElBd0hBOztBRDZIYztJQURULE9BQU87Z0VBS1A7U0F0TFEsOEJBQThCOzRGQUE5Qiw4QkFBOEI7a0JBeEIxQyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCwwQkFBMEIsZ0NBQWdDO3dCQUMxRCw2QkFBNkI7cUJBQ2hDLFFBQ0s7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0IsaUJBQWlCLEVBQUUsYUFBYTt3QkFDaEMsa0JBQWtCLEVBQUUsaUJBQWlCO3dCQUNyQyxxQkFBcUIsRUFBRSxZQUFZO3dCQUNuQyw0QkFBNEIsRUFBRSxhQUFhO3dCQUMzQywwQkFBMEIsRUFBRSxXQUFXO3dCQUN2Qyx3QkFBd0IsRUFDcEIsNkRBQTZEO3dCQUNqRSxXQUFXLEVBQUUsaUJBQWlCO3dCQUM5QixZQUFZLEVBQUUsa0JBQWtCO3dCQUNoQywyQkFBMkIsRUFBRSxnQ0FBZ0M7cUJBQ2hFOzhCQU9nQixnQkFBZ0I7c0JBRGhDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQU9WLE9BQU87c0JBRHpCLGVBQWU7dUJBQUMsa0JBQWtCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQVNqRCxRQUFRO3NCQURkLEtBQUs7Z0JBUUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSVUsV0FBVztzQkFEMUIsTUFBTTtnQkEwSUcsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtFbGVtZW50UmVmLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnQsIHR1aVJldGFyZ2V0ZWRCb3VuZGFyeUNyb3NzaW5nfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZElufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9PUFRJT05TIGFzIE9QVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VHVpSGludE9wdGlvbnNEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY2xhc3Nlcyc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyBhcyBMRUdBQ1lfT1BUSU9OUyxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9kaXJlY3RpdmVzJztcbmltcG9ydCB7dHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0Qm9yZGVyfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3V0aWxzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkfSBmcm9tICcuL3ByaW1pdGl2ZS10ZXh0ZmllbGQtdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgVFVJX0lDT05fU1RBUlRfUEFERElOR1M6IFJlY29yZDxUdWlTaXplTCB8IFR1aVNpemVTLCBudW1iZXI+ID0ge1xuICAgIHM6IDEuMjUsXG4gICAgbTogMS43NSxcbiAgICBsOiAyLjI1LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL3RleHRmaWVsZFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXRleHRmaWVsZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUtdGV4dGZpZWxkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnW2NsYXNzLl9yZWFkb25seV0nOiAncmVhZE9ubHknLFxuICAgICAgICAnW2NsYXNzLl9oaWRkZW5dJzogJ2lucHV0SGlkZGVuJyxcbiAgICAgICAgJ1tjbGFzcy5faW52YWxpZF0nOiAnY29tcHV0ZWRJbnZhbGlkJyxcbiAgICAgICAgJ1tjbGFzcy5fYXV0b2ZpbGxlZF0nOiAnYXV0b2ZpbGxlZCcsXG4gICAgICAgICdbc3R5bGUuLS1ib3JkZXItc3RhcnQucmVtXSc6ICdib3JkZXJTdGFydCcsXG4gICAgICAgICdbc3R5bGUuLS1ib3JkZXItZW5kLnJlbV0nOiAnYm9yZGVyRW5kJyxcbiAgICAgICAgJ1tjbGFzcy5fbGFiZWwtb3V0c2lkZV0nOlxuICAgICAgICAgICAgJ29wdGlvbnMuYXBwZWFyYW5jZSgpID09PSBcInRhYmxlXCIgfHwgY29udHJvbGxlci5sYWJlbE91dHNpZGUnLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ29uRm9jdXNlZCh0cnVlKScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ29uRm9jdXNlZChmYWxzZSknLFxuICAgICAgICAnKHRyYW5zaXRpb25zdGFydC5jYXB0dXJlKSc6ICd0cmFuc2l0aW9uU3RhcnRIYW5kbGVyKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpUHJpbWl0aXZlVGV4dGZpZWxkXG57XG4gICAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlRWxlbWVudCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWN5T3B0aW9ucyA9IGluamVjdChMRUdBQ1lfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0LCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZW50PzogUXVlcnlMaXN0PHVua25vd24+O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoaW50T3B0aW9ucyA9IGluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIGF1dG9maWxsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkOlxuICAgICAqIHVzZSBgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtpY29uQ2xlYW5lcjogYEB0dWkuY2hldnJvbi11cGB9KWBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uQ2xlYW5lciA9IHRoaXMubGVnYWN5T3B0aW9ucy5pY29uQ2xlYW5lcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWUgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHVibGljIGdldCBwcmVmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5wcmVmaXg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwb3N0Zml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIucG9zdGZpeDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZpbGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmZpbGxlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5jb21wdXRlZERpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5mb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiAobmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIHx8XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50KSBhcyBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hcHBlYXJhbmNlKCkgPT09ICd0YWJsZSdcbiAgICAgICAgICAgID8gJ3RhYmxlJ1xuICAgICAgICAgICAgOiB0aGlzLmNvbnRyb2xsZXIuYXBwZWFyYW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5pbnZhbGlkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaW5wdXRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udGVudD8ubGVuZ3RoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYm9yZGVyU3RhcnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWNvbkxlZnRDb250ZW50ID8gdGhpcy5pY29uUGFkZGluZ0xlZnQgOiAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYm9yZGVyRW5kKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRCb3JkZXIoXG4gICAgICAgICAgICAhIXRoaXMuaWNvbkNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLmhhc0NsZWFuZXIsXG4gICAgICAgICAgICB0aGlzLmhhc1Rvb2x0aXAsXG4gICAgICAgICAgICB0aGlzLmhhc0N1c3RvbUNvbnRlbnQsXG4gICAgICAgICAgICB0aGlzLnNpemUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0NsZWFuZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuY2xlYW5lciAmJlxuICAgICAgICAgICAgdGhpcy5oYXNWYWx1ZSAmJlxuICAgICAgICAgICAgIXRoaXMuY29tcHV0ZWREaXNhYmxlZCAmJlxuICAgICAgICAgICAgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludE9wdGlvbnM/LmNvbnRlbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0N1c3RvbUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY29udHJvbGxlci5jdXN0b21Db250ZW50O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgcGxhY2Vob2xkZXJWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNEZWNvciA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LnBsYWNlaG9sZGVyIHx8XG4gICAgICAgICAgICB0aGlzLnByZWZpeCB8fFxuICAgICAgICAgICAgdGhpcy5wb3N0Zml4IHx8XG4gICAgICAgICAgICB0aGlzLmZpbGxlcjtcbiAgICAgICAgY29uc3Qgc2hvd0RlY29yID0gaGFzRGVjb3IgJiYgIXRoaXMucmVhZE9ubHkgJiYgdGhpcy5jb21wdXRlZEZvY3VzZWQ7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLmhhc1ZhbHVlICYmICFzaG93RGVjb3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBoYXNQbGFjZWhvbGRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXJSYWlzYWJsZSB8fCB0aGlzLnBsYWNlaG9sZGVyVmlzaWJsZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlclJhaXNhYmxlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlIHx8IHRoaXMuYXV0b2ZpbGxlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGljb25Db250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpY29uTGVmdENvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPlxuICAgID4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLmljb25TdGFydDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNob3dIaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmhpbnRPcHRpb25zPy5jb250ZW50ICYmXG4gICAgICAgICAgICAodGhpcy5sZWdhY3lPcHRpb25zLmhpbnRPbkRpc2FibGVkIHx8ICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgcHJvdGVjdGVkIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmF1dG9jb21wbGV0ZSA9PT0gJ2NjLWV4cCdcbiAgICAgICAgICAgID8gJ2NjZXhwaXJ5eWVhcidcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8uaWQgfHwgJyc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcm90ZWN0ZWQgZ2V0SW5kZW50JChlbGVtZW50OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gLTEgKiBNYXRoLm1heChlbGVtZW50LnNjcm9sbExlZnQsIDApKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKCcnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcztcblxuICAgICAgICBpZiAoIW5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgZXZlbnQudGFyZ2V0ID09PSBuYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyYW5zaXRpb25TdGFydEhhbmRsZXIoe3Byb3BlcnR5TmFtZSwgdGFyZ2V0fTogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWRBdXRvZmlsbCA9XG4gICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW5jbHVkZXMoJ2JveC1zaGFkb3cnKSAmJiAodGFyZ2V0IGFzIEVsZW1lbnQpPy5tYXRjaGVzKCdpbnB1dCcpO1xuXG4gICAgICAgIGlmIChtYXRjaGVkQXV0b2ZpbGwpIHtcbiAgICAgICAgICAgIHRoaXMub25BdXRvZmlsbGVkKCF0aGlzLmF1dG9maWxsZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXV0b2ZpbGxlZChhdXRvZmlsbGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQXV0b2ZpbGxlZChhdXRvZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGV0ZWN0UmV0YXJnZXRGcm9tTGFiZWwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlSZXRhcmdldGVkQm91bmRhcnlDcm9zc2luZyhldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaWNvblBhZGRpbmdMZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUVUlfSUNPTl9TVEFSVF9QQURESU5HU1t0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBsYWNlaG9sZGVyUmFpc2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgIT09ICdzJyAmJiAhdGhpcy5jb250cm9sbGVyLmxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUF1dG9maWxsZWQoYXV0b2ZpbGxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvZmlsbGVkID09PSBhdXRvZmlsbGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmF1dG9maWxsZWQgPSBhdXRvZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRlbnQ/LmNoYW5nZXMgfCBhc3luY1wiIC8+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaGludE9wdGlvbnM/LmNoYW5nZSQgfCBhc3luY1wiIC8+XG48ZGl2XG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX193cmFwcGVyXCJcbiAgICB0dWlXcmFwcGVyXG4gICAgW2FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW2hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3N0eWxlLi0tdGV4dC1pbmRlbnQucHhdPVwiZGVjb3IucHJlJCB8IGFzeW5jXCJcbiAgICAoY2xpY2sucHJldmVudC5zaWxlbnQpPVwiZGV0ZWN0UmV0YXJnZXRGcm9tTGFiZWwoJGV2ZW50KVwiXG4gICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2VsZWN0XCIgLz5cbiAgICA8aW5wdXRcbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19uYXRpdmUtaW5wdXRcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXRcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkgfHwgIWVkaXRhYmxlXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImNvbXB1dGVkRm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJpbnB1dEhpZGRlblwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWVcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQgdC1pbnB1dF90ZW1wbGF0ZVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiaWNvbkxlZnRDb250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uIHQtaWNvbl9sZWZ0IHQtdGV4dGZpZWxkLWljb25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaWNvbkxlZnRDb250ZW50IGFzIHNyYzsgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cIlxuICAgICAgICAgICAgICAgIHR1aUFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJzcmMudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNQbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MudC1wbGFjZWhvbGRlcl9yYWlzZWRdPVwicGxhY2Vob2xkZXJSYWlzZWRcIlxuICAgICAgICAgICAgICAgIFtmb3JdPVwiY29tcHV0ZWRJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC13cmFwcGVyLXZhbHVlLWRlY29yYXRpb25cIj5cbiAgICAgICAgICAgICAgICA8dHVpLXZhbHVlLWRlY29yYXRpb25cbiAgICAgICAgICAgICAgICAgICAgI2RlY29yXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdmFsdWUtZGVjb3JhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC12YWx1ZS1kZWNvcmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaGFzLXZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnRleHRJbmRlbnQucHhdPVwiZ2V0SW5kZW50JChmb2N1c2FibGVFbGVtZW50KSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC1pY29uc1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzQ3VzdG9tQ29udGVudFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jdXN0b20tY29udGVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWN1c3RvbS1jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHVpLWljb25cbiAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRyb2xsZXIuY3VzdG9tQ29udGVudCBhcyBzcmNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY3VzdG9tLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzcmNcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNDbGVhbmVyXCJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUtdGV4dGZpZWxkX19jbGVhbmVyXCJcbiAgICAgICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNsZWFuZXJcIlxuICAgICAgICAgICAgICAgIChjbGljay5zdG9wKT1cImNsZWFyKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uQ2xlYW5lciB8fCBjb250cm9sbGVyLm9wdGlvbnMuaWNvbkNsZWFuZXIgYXMgc3JjO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogeyRpbXBsaWNpdDogc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwic3JjLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm9yZGVyXT1cIicwLjI1cmVtIHNvbGlkIHRyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDx0dWktdG9vbHRpcFxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0hpbnRcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXRleHRmaWVsZF9fdG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtjb250ZW50XT1cImhpbnRPcHRpb25zPy5jb250ZW50XCJcbiAgICAgICAgICAgICAgICBbZGVzY3JpYmVJZF09XCJjb21wdXRlZElkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpY29uQ29udGVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb24gdC10ZXh0ZmllbGQtaWNvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHR1aS1pY29uXG4gICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpY29uQ29udGVudCBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgICAgICAgICAgdHVpQXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJzcmMudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,25 +1,25 @@
1
1
  import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
2
- import { TuiIdService } from '@taiga-ui/cdk/services';
2
+ import { tuiInjectId } from '@taiga-ui/cdk/services';
3
3
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
4
  import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_TEXTFIELD_WATCHED_CONTROLLER, } from '@taiga-ui/legacy/directives';
5
5
  import { TUI_TEXTFIELD_HOST } from '@taiga-ui/legacy/tokens';
6
6
  import * as i0 from "@angular/core";
7
7
  class TuiTextfieldComponent {
8
8
  constructor() {
9
+ this.autoId = tuiInjectId();
9
10
  this.el = tuiInjectElement();
10
- this.idService = inject(TuiIdService);
11
11
  this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
12
12
  this.host = inject(TUI_TEXTFIELD_HOST);
13
13
  this.host.process(this.el);
14
14
  }
15
15
  get id() {
16
- return this.el.id || this.idService.generate();
16
+ return this.el.id || this.autoId;
17
17
  }
18
18
  get inputMode() {
19
19
  return this.el.inputMode || this.host.inputMode;
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]", host: { attributes: { "type": "text" }, listeners: { "input": "host.onValueChange($event.target.value)" }, properties: { "attr.id": "id", "attr.inputMode": "inputMode", "attr.aria-invalid": "host.invalid", "attr.disabled": "host.disabled || null", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [TEXTFIELD_CONTROLLER_PROVIDER], ngImport: i0, template: '', isInline: true, styles: [":host{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}:host[inputMode=none]{caret-color:transparent}:host:-webkit-autofill,:host:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}:host::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) :host::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) :host::placeholder,:host-context(tui-textarea._focused:not(._readonly)) :host::placeholder,:host-context(tui-text-area._focused:not(._readonly)) :host::placeholder{opacity:1}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-textarea._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) :host{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-textarea._ios),textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]", host: { attributes: { "type": "text" }, listeners: { "input": "host.onValueChange($event.target.value)" }, properties: { "attr.id": "id", "attr.inputMode": "inputMode", "attr.aria-invalid": "host.invalid", "attr.disabled": "host.disabled || null", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [TEXTFIELD_CONTROLLER_PROVIDER], ngImport: i0, template: '', isInline: true, styles: [":host{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}:host[inputMode=none]{caret-color:transparent}:host:-webkit-autofill,:host:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}:host::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) :host::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) :host::placeholder,:host-context(tui-textarea._focused:not(._readonly)) :host::placeholder,:host-context(tui-text-area._focused:not(._readonly)) :host::placeholder{opacity:1}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-textarea._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) :host{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-textarea._ios),textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  export { TuiTextfieldComponent };
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
@@ -34,6 +34,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
34
34
  '[readOnly]': 'host.readOnly',
35
35
  '[value]': 'host.value',
36
36
  '(input)': 'host.onValueChange($event.target.value)',
37
- }, styles: [":host{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}:host[inputMode=none]{caret-color:transparent}:host:-webkit-autofill,:host:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}:host::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) :host::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) :host::placeholder,:host-context(tui-textarea._focused:not(._readonly)) :host::placeholder,:host-context(tui-text-area._focused:not(._readonly)) :host::placeholder{opacity:1}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-textarea._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) :host{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-textarea._ios),textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"] }]
37
+ }, styles: [":host{padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);color:var(--tui-text-primary);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{-webkit-text-fill-color:var(--tui-text-primary)!important;border-color:var(--tui-service-autofill-background);box-shadow:0 0 0 100rem var(--tui-service-autofill-background) inset!important}:host[inputMode=none]{caret-color:transparent}:host:-webkit-autofill,:host:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}:host::placeholder{color:var(--tui-text-tertiary);opacity:0}:host._focused:not(._readonly) :host::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) :host::placeholder,:host-context(tui-textarea._focused:not(._readonly)) :host::placeholder,:host-context(tui-text-area._focused:not(._readonly)) :host::placeholder{opacity:1}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-textarea._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=l]:not(._label-outside) :host{padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-textarea._ios),textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"] }]
38
38
  }], ctorParameters: function () { return []; } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQvdGV4dGZpZWxkL3RleHRmaWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsZ0NBQWdDLEdBQ25DLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRTNELE1Ba0JhLHFCQUFxQjtJQU05QjtRQUxpQixPQUFFLEdBQUcsZ0JBQWdCLEVBQW9CLENBQUM7UUFDMUMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQixlQUFVLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDdEQsU0FBSSxHQUFHLE1BQU0sQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQztRQUduRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQWMsRUFBRTtRQUNaLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBYyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQzsrR0FoQlEscUJBQXFCO21HQUFyQixxQkFBcUIseWFBYm5CLENBQUMsNkJBQTZCLENBQUMsMEJBSGhDLEVBQUU7O1NBZ0JILHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQWxCakMsU0FBUzsrQkFDSSx5REFBeUQsWUFDekQsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsNkJBQTZCLENBQUMsUUFDcEM7d0JBQ0YsSUFBSSxFQUFFLE1BQU07d0JBQ1osV0FBVyxFQUFFLElBQUk7d0JBQ2pCLGtCQUFrQixFQUFFLFdBQVc7d0JBQy9CLHFCQUFxQixFQUFFLGNBQWM7d0JBQ3JDLGlCQUFpQixFQUFFLHVCQUF1Qjt3QkFDMUMsWUFBWSxFQUFFLHlCQUF5Qjt3QkFDdkMsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLFNBQVMsRUFBRSxZQUFZO3dCQUN2QixTQUFTLEVBQUUseUNBQXlDO3FCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpSWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9kaXJlY3RpdmVzJztcbmltcG9ydCB0eXBlIHtUdWlUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3Rva2Vucyc7XG5pbXBvcnQge1RVSV9URVhURklFTERfSE9TVH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aVRleHRmaWVsZExlZ2FjeV0sIHRleHRhcmVhW3R1aVRleHRmaWVsZExlZ2FjeV0nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXh0ZmllbGQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1RFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgICAgICdbYXR0ci5pbnB1dE1vZGVdJzogJ2lucHV0TW9kZScsXG4gICAgICAgICdbYXR0ci5hcmlhLWludmFsaWRdJzogJ2hvc3QuaW52YWxpZCcsXG4gICAgICAgICdbYXR0ci5kaXNhYmxlZF0nOiAnaG9zdC5kaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1t0YWJJbmRleF0nOiAnaG9zdC5mb2N1c2FibGUgPyAwIDogLTEnLFxuICAgICAgICAnW3JlYWRPbmx5XSc6ICdob3N0LnJlYWRPbmx5JyxcbiAgICAgICAgJ1t2YWx1ZV0nOiAnaG9zdC52YWx1ZScsXG4gICAgICAgICcoaW5wdXQpJzogJ2hvc3Qub25WYWx1ZUNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWRTZXJ2aWNlID0gaW5qZWN0KFR1aUlkU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBob3N0ID0gaW5qZWN0PFR1aVRleHRmaWVsZEhvc3Q+KFRVSV9URVhURklFTERfSE9TVCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5ob3N0LnByb2Nlc3ModGhpcy5lbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5pZCB8fCB0aGlzLmlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaW5wdXRNb2RlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLmlucHV0TW9kZSB8fCB0aGlzLmhvc3QuaW5wdXRNb2RlO1xuICAgIH1cbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQvdGV4dGZpZWxkL3RleHRmaWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IsZ0NBQWdDLEdBQ25DLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRTNELE1Ba0JhLHFCQUFxQjtJQU05QjtRQUxpQixXQUFNLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDdkIsT0FBRSxHQUFHLGdCQUFnQixFQUFvQixDQUFDO1FBQ3hDLGVBQVUsR0FBRyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUN0RCxTQUFJLEdBQUcsTUFBTSxDQUFtQixrQkFBa0IsQ0FBQyxDQUFDO1FBR25FLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBYyxFQUFFO1FBQ1osT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNwRCxDQUFDOytHQWhCUSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5YUFibkIsQ0FBQyw2QkFBNkIsQ0FBQywwQkFIaEMsRUFBRTs7U0FnQkgscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBbEJqQyxTQUFTOytCQUNJLHlEQUF5RCxZQUN6RCxFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyw2QkFBNkIsQ0FBQyxRQUNwQzt3QkFDRixJQUFJLEVBQUUsTUFBTTt3QkFDWixXQUFXLEVBQUUsSUFBSTt3QkFDakIsa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IscUJBQXFCLEVBQUUsY0FBYzt3QkFDckMsaUJBQWlCLEVBQUUsdUJBQXVCO3dCQUMxQyxZQUFZLEVBQUUseUJBQXlCO3dCQUN2QyxZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLFlBQVk7d0JBQ3ZCLFNBQVMsRUFBRSx5Q0FBeUM7cUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlJbmplY3RJZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9zZXJ2aWNlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcyc7XG5pbXBvcnQgdHlwZSB7VHVpVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1R9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvdG9rZW5zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlUZXh0ZmllbGRMZWdhY3ldLCB0ZXh0YXJlYVt0dWlUZXh0ZmllbGRMZWdhY3ldJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dGZpZWxkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2F0dHIuaW5wdXRNb2RlXSc6ICdpbnB1dE1vZGUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1pbnZhbGlkXSc6ICdob3N0LmludmFsaWQnLFxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2hvc3QuZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgICAgICdbdGFiSW5kZXhdJzogJ2hvc3QuZm9jdXNhYmxlID8gMCA6IC0xJyxcbiAgICAgICAgJ1tyZWFkT25seV0nOiAnaG9zdC5yZWFkT25seScsXG4gICAgICAgICdbdmFsdWVdJzogJ2hvc3QudmFsdWUnLFxuICAgICAgICAnKGlucHV0KSc6ICdob3N0Lm9uVmFsdWVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWQgPSB0dWlJbmplY3RJZCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBob3N0ID0gaW5qZWN0PFR1aVRleHRmaWVsZEhvc3Q+KFRVSV9URVhURklFTERfSE9TVCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5ob3N0LnByb2Nlc3ModGhpcy5lbCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5pZCB8fCB0aGlzLmF1dG9JZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlucHV0TW9kZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5pbnB1dE1vZGUgfHwgdGhpcy5ob3N0LmlucHV0TW9kZTtcbiAgICB9XG59XG4iXX0=
@@ -49,7 +49,7 @@ class TuiValueDecorationComponent {
49
49
  : this.textfield.postfix;
50
50
  }
51
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueDecorationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiValueDecorationComponent, selector: "tui-value-decoration", host: { listeners: { "animationstart": "ngDoCheck()" }, properties: { "class._table": "isContextTable", "class._filler": "filler" } }, viewQueries: [{ propertyName: "pre", first: true, predicate: ["pre"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<span\n #pre\n class=\"t-prefix\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\n [textContent]=\"postfix\"\n></span>\n", styles: [":host{position:absolute;display:block;width:100%;line-height:var(--tui-height);margin-top:calc(var(--tui-height) / -2);box-sizing:content-box;color:var(--tui-text-tertiary);animation:tuiPresent 1s;white-space:nowrap}:host._table{position:static;margin-top:0}:host._filler{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)) :host{line-height:calc(var(--tui-height) - .25rem)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-prefix,.t-postfix{white-space:pre;color:var(--tui-text-primary)}.t-filler{max-width:100%;white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.Default }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiValueDecorationComponent, selector: "tui-value-decoration", host: { listeners: { "animationstart": "ngDoCheck()" }, properties: { "class._table": "isContextTable", "class._filler": "filler" } }, viewQueries: [{ propertyName: "pre", first: true, predicate: ["pre"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<span\n #pre\n class=\"t-prefix\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\n [textContent]=\"postfix\"\n></span>\n", styles: [":host{position:absolute;display:block;inline-size:100%;line-height:var(--tui-height);margin-top:calc(var(--tui-height) / -2);box-sizing:content-box;color:var(--tui-text-tertiary);animation:tuiPresent 1s;white-space:nowrap}:host._table{position:static;margin-top:0}:host._filler{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)) :host{line-height:calc(var(--tui-height) - .25rem)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-prefix,.t-postfix{white-space:pre;color:var(--tui-text-primary)}.t-filler{max-inline-size:100%;white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.Default }); }
53
53
  }
54
54
  export { TuiValueDecorationComponent };
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueDecorationComponent, decorators: [{
@@ -58,7 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
58
  '[class._table]': 'isContextTable',
59
59
  '[class._filler]': 'filler',
60
60
  '(animationstart)': 'ngDoCheck()',
61
- }, template: "<span\n #pre\n class=\"t-prefix\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\n [textContent]=\"postfix\"\n></span>\n", styles: [":host{position:absolute;display:block;width:100%;line-height:var(--tui-height);margin-top:calc(var(--tui-height) / -2);box-sizing:content-box;color:var(--tui-text-tertiary);animation:tuiPresent 1s;white-space:nowrap}:host._table{position:static;margin-top:0}:host._filler{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)) :host{line-height:calc(var(--tui-height) - .25rem)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-prefix,.t-postfix{white-space:pre;color:var(--tui-text-primary)}.t-filler{max-width:100%;white-space:nowrap}\n"] }]
61
+ }, template: "<span\n #pre\n class=\"t-prefix\"\n [textContent]=\"prefix\"\n></span>\n<span\n class=\"t-ghost\"\n [textContent]=\"value\"\n></span>\n<span\n class=\"t-filler\"\n [textContent]=\"filler\"\n></span>\n<span\n class=\"t-postfix\"\n [textContent]=\"postfix\"\n></span>\n", styles: [":host{position:absolute;display:block;inline-size:100%;line-height:var(--tui-height);margin-top:calc(var(--tui-height) / -2);box-sizing:content-box;color:var(--tui-text-tertiary);animation:tuiPresent 1s;white-space:nowrap}:host._table{position:static;margin-top:0}:host._filler{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)) :host{line-height:calc(var(--tui-height) - .25rem)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-prefix,.t-postfix{white-space:pre;color:var(--tui-text-primary)}.t-filler{max-inline-size:100%;white-space:nowrap}\n"] }]
62
62
  }], propDecorators: { pre: [{
63
63
  type: ViewChild,
64
64
  args: ['pre', { read: ElementRef, static: true }]
@@ -32,7 +32,7 @@ class TuiNativeSelectGroupComponent extends AbstractTuiNativeSelect {
32
32
  deps: [TuiNativeSelectGroupComponent],
33
33
  useFactory: ({ datalist }) => datalist,
34
34
  },
35
- ], 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 }); }
35
+ ], 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 }); }
36
36
  }
37
37
  export { TuiNativeSelectGroupComponent };
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeSelectGroupComponent, decorators: [{
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
51
51
  '[tabIndex]': 'host.focusable ? 0 : -1',
52
52
  '[value]': 'host.value',
53
53
  '(change)': 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',
54
- }, 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"] }]
54
+ }, 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"] }]
55
55
  }], propDecorators: { items: [{
56
56
  type: Input
57
57
  }], labels: [{
@@ -30,7 +30,7 @@ class TuiNativeSelectComponent extends AbstractTuiNativeSelect {
30
30
  deps: [TuiNativeSelectComponent],
31
31
  useFactory: ({ datalist }) => datalist,
32
32
  },
33
- ], 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 }); }
33
+ ], 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 }); }
34
34
  }
35
35
  export { TuiNativeSelectComponent };
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeSelectComponent, decorators: [{
@@ -49,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
49
49
  '[tabIndex]': 'host.focusable ? 0 : -1',
50
50
  '[value]': 'host.value',
51
51
  '(change)': 'onValueChange($event.target.options.selectedIndex - (emptyOption ? 1 : 0))',
52
- }, 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"] }]
52
+ }, 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"] }]
53
53
  }], propDecorators: { items: [{
54
54
  type: Input
55
55
  }] } });