@taiga-ui/legacy 4.0.0-alpha.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 (658) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +22 -0
  3. package/classes/abstract-native-select.d.ts +20 -0
  4. package/classes/abstract-textfield-host.d.ts +19 -0
  5. package/classes/control.d.ts +59 -0
  6. package/classes/index.d.ts +8 -0
  7. package/classes/interactive.d.ts +35 -0
  8. package/classes/multiple-control.d.ts +11 -0
  9. package/classes/named-day.d.ts +11 -0
  10. package/classes/nullable-control.d.ts +10 -0
  11. package/classes/stringifiable-item.d.ts +11 -0
  12. package/components/arrow/arrow.component.d.ts +22 -0
  13. package/components/arrow/arrow.options.d.ts +23 -0
  14. package/components/arrow/arrow.providers.d.ts +24 -0
  15. package/components/arrow/index.d.ts +3 -0
  16. package/components/color-selector/color-edit/color-edit.component.d.ts +21 -0
  17. package/components/color-selector/color-edit/color-edit.module.d.ts +19 -0
  18. package/components/color-selector/color-picker/color-picker.component.d.ts +25 -0
  19. package/components/color-selector/color-picker/color-picker.module.d.ts +13 -0
  20. package/components/color-selector/color-selector.component.d.ts +55 -0
  21. package/components/color-selector/color-selector.module.d.ts +23 -0
  22. package/components/color-selector/flat-picker/flat-picker.component.d.ts +15 -0
  23. package/components/color-selector/flat-picker/flat-picker.module.d.ts +11 -0
  24. package/components/color-selector/index.d.ts +15 -0
  25. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +20 -0
  26. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +11 -0
  27. package/components/color-selector/linear-picker/linear-picker.component.d.ts +13 -0
  28. package/components/color-selector/linear-picker/linear-picker.module.d.ts +11 -0
  29. package/components/color-selector/palette/palette.component.d.ts +13 -0
  30. package/components/color-selector/palette/palette.module.d.ts +12 -0
  31. package/components/color-selector/services/picker.service.d.ts +11 -0
  32. package/components/combo-box/combo-box-strict.directive.d.ts +11 -0
  33. package/components/combo-box/combo-box.component.d.ts +50 -0
  34. package/components/combo-box/combo-box.directive.d.ts +12 -0
  35. package/components/combo-box/combo-box.module.d.ts +19 -0
  36. package/components/combo-box/index.d.ts +4 -0
  37. package/components/index.d.ts +33 -0
  38. package/components/input/index.d.ts +3 -0
  39. package/components/input/input.component.d.ts +30 -0
  40. package/components/input/input.directive.d.ts +11 -0
  41. package/components/input/input.module.d.ts +14 -0
  42. package/components/input-color/index.d.ts +2 -0
  43. package/components/input-color/input-color.component.d.ts +29 -0
  44. package/components/input-color/input-color.module.d.ts +16 -0
  45. package/components/input-copy/index.d.ts +4 -0
  46. package/components/input-copy/input-copy.component.d.ts +33 -0
  47. package/components/input-copy/input-copy.directive.d.ts +11 -0
  48. package/components/input-copy/input-copy.module.d.ts +18 -0
  49. package/components/input-copy/input-copy.options.d.ts +26 -0
  50. package/components/input-date/index.d.ts +3 -0
  51. package/components/input-date/input-date.component.d.ts +64 -0
  52. package/components/input-date/input-date.directive.d.ts +18 -0
  53. package/components/input-date/input-date.module.d.ts +23 -0
  54. package/components/input-date/native-date/native-date.component.d.ts +14 -0
  55. package/components/input-date-multi/index.d.ts +2 -0
  56. package/components/input-date-multi/input-date-multi.component.d.ts +69 -0
  57. package/components/input-date-multi/input-date-multi.module.d.ts +23 -0
  58. package/components/input-date-range/index.d.ts +3 -0
  59. package/components/input-date-range/input-date-range.component.d.ts +70 -0
  60. package/components/input-date-range/input-date-range.directive.d.ts +15 -0
  61. package/components/input-date-range/input-date-range.module.d.ts +21 -0
  62. package/components/input-date-time/index.d.ts +3 -0
  63. package/components/input-date-time/input-date-time.component.d.ts +80 -0
  64. package/components/input-date-time/input-date-time.directive.d.ts +16 -0
  65. package/components/input-date-time/input-date-time.module.d.ts +22 -0
  66. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +9 -0
  67. package/components/input-month/index.d.ts +3 -0
  68. package/components/input-month/input-month.component.d.ts +44 -0
  69. package/components/input-month/input-month.directive.d.ts +18 -0
  70. package/components/input-month/input-month.module.d.ts +18 -0
  71. package/components/input-month-range/index.d.ts +3 -0
  72. package/components/input-month-range/input-month-range.component.d.ts +38 -0
  73. package/components/input-month-range/input-month-range.directive.d.ts +18 -0
  74. package/components/input-month-range/input-month-range.module.d.ts +17 -0
  75. package/components/input-number/index.d.ts +4 -0
  76. package/components/input-number/input-number.component.d.ts +62 -0
  77. package/components/input-number/input-number.directive.d.ts +15 -0
  78. package/components/input-number/input-number.module.d.ts +17 -0
  79. package/components/input-number/input-number.options.d.ts +27 -0
  80. package/components/input-password/index.d.ts +4 -0
  81. package/components/input-password/input-password.component.d.ts +33 -0
  82. package/components/input-password/input-password.directive.d.ts +15 -0
  83. package/components/input-password/input-password.module.d.ts +19 -0
  84. package/components/input-password/input-password.options.d.ts +25 -0
  85. package/components/input-phone/index.d.ts +4 -0
  86. package/components/input-phone/input-phone.component.d.ts +51 -0
  87. package/components/input-phone/input-phone.directive.d.ts +16 -0
  88. package/components/input-phone/input-phone.module.d.ts +15 -0
  89. package/components/input-phone/input-phone.options.d.ts +22 -0
  90. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +9 -0
  91. package/components/input-phone/utils/create-phone-mask-expression.d.ts +7 -0
  92. package/components/input-phone/utils/index.d.ts +2 -0
  93. package/components/input-phone-international/index.d.ts +3 -0
  94. package/components/input-phone-international/input-phone-international.component.d.ts +41 -0
  95. package/components/input-phone-international/input-phone-international.options.d.ts +22 -0
  96. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
  97. package/components/input-range/index.d.ts +2 -0
  98. package/components/input-range/input-range.component.d.ts +55 -0
  99. package/components/input-range/input-range.module.d.ts +18 -0
  100. package/components/input-slider/index.d.ts +2 -0
  101. package/components/input-slider/input-slider.component.d.ts +41 -0
  102. package/components/input-slider/input-slider.module.d.ts +17 -0
  103. package/components/input-tag/index.d.ts +3 -0
  104. package/components/input-tag/input-tag.component.d.ts +97 -0
  105. package/components/input-tag/input-tag.module.d.ts +21 -0
  106. package/components/input-tag/input-tag.options.d.ts +23 -0
  107. package/components/input-time/index.d.ts +4 -0
  108. package/components/input-time/input-time.component.d.ts +63 -0
  109. package/components/input-time/input-time.directive.d.ts +16 -0
  110. package/components/input-time/input-time.module.d.ts +22 -0
  111. package/components/input-time/input-time.options.d.ts +35 -0
  112. package/components/input-time/native-time/native-time.component.d.ts +12 -0
  113. package/components/input-year/index.d.ts +3 -0
  114. package/components/input-year/input-year.component.d.ts +35 -0
  115. package/components/input-year/input-year.directive.d.ts +13 -0
  116. package/components/input-year/input-year.module.d.ts +17 -0
  117. package/components/island/index.d.ts +1 -0
  118. package/components/island/island.directive.d.ts +19 -0
  119. package/components/multi-select/hide-selected.pipe.d.ts +11 -0
  120. package/components/multi-select/index.d.ts +10 -0
  121. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +23 -0
  122. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +8 -0
  123. package/components/multi-select/multi-select.component.d.ts +68 -0
  124. package/components/multi-select/multi-select.directive.d.ts +17 -0
  125. package/components/multi-select/multi-select.module.d.ts +30 -0
  126. package/components/multi-select/multi-select.options.d.ts +23 -0
  127. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +9 -0
  128. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +8 -0
  129. package/components/multi-select/native-multi-select/native-multi-select.d.ts +11 -0
  130. package/components/multi-select-option/index.d.ts +2 -0
  131. package/components/multi-select-option/multi-select-option.component.d.ts +12 -0
  132. package/components/multi-select-option/multi-select-option.module.d.ts +12 -0
  133. package/components/primitive-textfield/index.d.ts +7 -0
  134. package/components/primitive-textfield/primitive-textfield-options.d.ts +22 -0
  135. package/components/primitive-textfield/primitive-textfield-types.d.ts +14 -0
  136. package/components/primitive-textfield/primitive-textfield.component.d.ts +74 -0
  137. package/components/primitive-textfield/primitive-textfield.directive.d.ts +13 -0
  138. package/components/primitive-textfield/primitive-textfield.module.d.ts +20 -0
  139. package/components/primitive-textfield/textfield/textfield.component.d.ts +13 -0
  140. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +22 -0
  141. package/components/select/index.d.ts +6 -0
  142. package/components/select/native-select/native-select-group.component.d.ts +13 -0
  143. package/components/select/native-select/native-select.component.d.ts +12 -0
  144. package/components/select/select.component.d.ts +43 -0
  145. package/components/select/select.directive.d.ts +15 -0
  146. package/components/select/select.module.d.ts +23 -0
  147. package/components/select/select.options.d.ts +22 -0
  148. package/components/select-option/index.d.ts +2 -0
  149. package/components/select-option/select-option.component.d.ts +33 -0
  150. package/components/select-option/select-option.module.d.ts +13 -0
  151. package/components/sheet/components/sheet/sheet.component.d.ts +31 -0
  152. package/components/sheet/components/sheet/sheet.providers.d.ts +2 -0
  153. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +10 -0
  154. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +14 -0
  155. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +15 -0
  156. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +14 -0
  157. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +6 -0
  158. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +14 -0
  159. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +17 -0
  160. package/components/sheet/index.d.ts +14 -0
  161. package/components/sheet/sheet-options.d.ts +24 -0
  162. package/components/sheet/sheet-tokens.d.ts +18 -0
  163. package/components/sheet/sheet.d.ts +19 -0
  164. package/components/sheet/sheet.directive.d.ts +16 -0
  165. package/components/sheet/sheet.module.d.ts +23 -0
  166. package/components/sheet/sheet.service.d.ts +16 -0
  167. package/components/svg/content-processor.d.ts +18 -0
  168. package/components/svg/deprecated-icons.d.ts +4 -0
  169. package/components/svg/index.d.ts +5 -0
  170. package/components/svg/svg-options.d.ts +44 -0
  171. package/components/svg/svg.component.d.ts +49 -0
  172. package/components/svg/svg.service.d.ts +21 -0
  173. package/components/table-bar/index.d.ts +5 -0
  174. package/components/table-bar/table-bar.component.d.ts +13 -0
  175. package/components/table-bar/table-bar.directive.d.ts +7 -0
  176. package/components/table-bar/table-bar.options.d.ts +14 -0
  177. package/components/table-bar/table-bars-host.component.d.ts +6 -0
  178. package/components/table-bar/table-bars.service.d.ts +10 -0
  179. package/components/tag/index.d.ts +3 -0
  180. package/components/tag/tag.component.d.ts +43 -0
  181. package/components/tag/tag.module.d.ts +15 -0
  182. package/components/tag/tag.options.d.ts +25 -0
  183. package/components/textarea/index.d.ts +3 -0
  184. package/components/textarea/textarea.component.d.ts +53 -0
  185. package/components/textarea/textarea.directive.d.ts +11 -0
  186. package/components/textarea/textarea.module.d.ts +20 -0
  187. package/components/tooltip/index.d.ts +2 -0
  188. package/components/tooltip/tooltip.component.d.ts +15 -0
  189. package/components/tooltip/tooltip.module.d.ts +15 -0
  190. package/directives/index.d.ts +5 -0
  191. package/directives/legacy-dropdown-open-monitor/index.d.ts +1 -0
  192. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +9 -0
  193. package/directives/textfield-controller/index.d.ts +14 -0
  194. package/directives/textfield-controller/textfield-appearance.directive.d.ts +14 -0
  195. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +14 -0
  196. package/directives/textfield-controller/textfield-controller.module.d.ts +20 -0
  197. package/directives/textfield-controller/textfield-controller.provider.d.ts +11 -0
  198. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +15 -0
  199. package/directives/textfield-controller/textfield-filler.directive.d.ts +14 -0
  200. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +17 -0
  201. package/directives/textfield-controller/textfield-icon.directive.d.ts +17 -0
  202. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +14 -0
  203. package/directives/textfield-controller/textfield-postfix.directive.d.ts +14 -0
  204. package/directives/textfield-controller/textfield-prefix.directive.d.ts +14 -0
  205. package/directives/textfield-controller/textfield-size.directive.d.ts +15 -0
  206. package/directives/textfield-controller/textfield.controller.d.ts +41 -0
  207. package/directives/textfield-controller/textfield.options.d.ts +25 -0
  208. package/directives/unfinished-validator/index.d.ts +2 -0
  209. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +11 -0
  210. package/directives/unfinished-validator/unfinished.validator.d.ts +7 -0
  211. package/directives/value-accessor/index.d.ts +3 -0
  212. package/directives/value-accessor/value-accessor.directive.d.ts +8 -0
  213. package/directives/value-accessor/value-accessor.module.d.ts +10 -0
  214. package/directives/value-accessor/value-accessor.provider.d.ts +5 -0
  215. package/directives/wrapper/README.md +19 -0
  216. package/directives/wrapper/index.d.ts +2 -0
  217. package/directives/wrapper/wrapper.directive.d.ts +21 -0
  218. package/directives/wrapper/wrapper.module.d.ts +10 -0
  219. package/esm2022/classes/abstract-native-select.mjs +40 -0
  220. package/esm2022/classes/abstract-textfield-host.mjs +37 -0
  221. package/esm2022/classes/control.mjs +176 -0
  222. package/esm2022/classes/index.mjs +9 -0
  223. package/esm2022/classes/interactive.mjs +85 -0
  224. package/esm2022/classes/multiple-control.mjs +21 -0
  225. package/esm2022/classes/named-day.mjs +14 -0
  226. package/esm2022/classes/nullable-control.mjs +18 -0
  227. package/esm2022/classes/stringifiable-item.mjs +14 -0
  228. package/esm2022/classes/taiga-ui-legacy-classes.mjs +5 -0
  229. package/esm2022/components/arrow/arrow.component.mjs +48 -0
  230. package/esm2022/components/arrow/arrow.options.mjs +21 -0
  231. package/esm2022/components/arrow/arrow.providers.mjs +21 -0
  232. package/esm2022/components/arrow/index.mjs +4 -0
  233. package/esm2022/components/arrow/taiga-ui-legacy-components-arrow.mjs +5 -0
  234. package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +62 -0
  235. package/esm2022/components/color-selector/color-edit/color-edit.module.mjs +54 -0
  236. package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +73 -0
  237. package/esm2022/components/color-selector/color-picker/color-picker.module.mjs +24 -0
  238. package/esm2022/components/color-selector/color-selector.component.mjs +250 -0
  239. package/esm2022/components/color-selector/color-selector.module.mjs +66 -0
  240. package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +37 -0
  241. package/esm2022/components/color-selector/flat-picker/flat-picker.module.mjs +22 -0
  242. package/esm2022/components/color-selector/index.mjs +16 -0
  243. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +65 -0
  244. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.module.mjs +22 -0
  245. package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +34 -0
  246. package/esm2022/components/color-selector/linear-picker/linear-picker.module.mjs +22 -0
  247. package/esm2022/components/color-selector/palette/palette.component.mjs +26 -0
  248. package/esm2022/components/color-selector/palette/palette.module.mjs +24 -0
  249. package/esm2022/components/color-selector/services/picker.service.mjs +30 -0
  250. package/esm2022/components/color-selector/taiga-ui-legacy-components-color-selector.mjs +5 -0
  251. package/esm2022/components/combo-box/combo-box-strict.directive.mjs +32 -0
  252. package/esm2022/components/combo-box/combo-box.component.mjs +181 -0
  253. package/esm2022/components/combo-box/combo-box.directive.mjs +26 -0
  254. package/esm2022/components/combo-box/combo-box.module.mjs +70 -0
  255. package/esm2022/components/combo-box/index.mjs +5 -0
  256. package/esm2022/components/combo-box/taiga-ui-legacy-components-combo-box.mjs +5 -0
  257. package/esm2022/components/index.mjs +34 -0
  258. package/esm2022/components/input/index.mjs +4 -0
  259. package/esm2022/components/input/input.component.mjs +92 -0
  260. package/esm2022/components/input/input.directive.mjs +23 -0
  261. package/esm2022/components/input/input.module.mjs +33 -0
  262. package/esm2022/components/input/taiga-ui-legacy-components-input.mjs +5 -0
  263. package/esm2022/components/input-color/index.mjs +3 -0
  264. package/esm2022/components/input-color/input-color.component.mjs +85 -0
  265. package/esm2022/components/input-color/input-color.module.mjs +43 -0
  266. package/esm2022/components/input-color/taiga-ui-legacy-components-input-color.mjs +5 -0
  267. package/esm2022/components/input-copy/index.mjs +5 -0
  268. package/esm2022/components/input-copy/input-copy.component.mjs +106 -0
  269. package/esm2022/components/input-copy/input-copy.directive.mjs +23 -0
  270. package/esm2022/components/input-copy/input-copy.module.mjs +55 -0
  271. package/esm2022/components/input-copy/input-copy.options.mjs +21 -0
  272. package/esm2022/components/input-copy/taiga-ui-legacy-components-input-copy.mjs +5 -0
  273. package/esm2022/components/input-date/index.mjs +4 -0
  274. package/esm2022/components/input-date/input-date.component.mjs +220 -0
  275. package/esm2022/components/input-date/input-date.directive.mjs +41 -0
  276. package/esm2022/components/input-date/input-date.module.mjs +74 -0
  277. package/esm2022/components/input-date/native-date/native-date.component.mjs +51 -0
  278. package/esm2022/components/input-date/taiga-ui-legacy-components-input-date.mjs +5 -0
  279. package/esm2022/components/input-date-multi/index.mjs +3 -0
  280. package/esm2022/components/input-date-multi/input-date-multi.component.mjs +215 -0
  281. package/esm2022/components/input-date-multi/input-date-multi.module.mjs +70 -0
  282. package/esm2022/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.mjs +5 -0
  283. package/esm2022/components/input-date-range/index.mjs +4 -0
  284. package/esm2022/components/input-date-range/input-date-range.component.mjs +267 -0
  285. package/esm2022/components/input-date-range/input-date-range.directive.mjs +34 -0
  286. package/esm2022/components/input-date-range/input-date-range.module.mjs +70 -0
  287. package/esm2022/components/input-date-range/taiga-ui-legacy-components-input-date-range.mjs +5 -0
  288. package/esm2022/components/input-date-time/index.mjs +4 -0
  289. package/esm2022/components/input-date-time/input-date-time.component.mjs +305 -0
  290. package/esm2022/components/input-date-time/input-date-time.directive.mjs +35 -0
  291. package/esm2022/components/input-date-time/input-date-time.module.mjs +77 -0
  292. package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +44 -0
  293. package/esm2022/components/input-date-time/taiga-ui-legacy-components-input-date-time.mjs +5 -0
  294. package/esm2022/components/input-month/index.mjs +4 -0
  295. package/esm2022/components/input-month/input-month.component.mjs +135 -0
  296. package/esm2022/components/input-month/input-month.directive.mjs +44 -0
  297. package/esm2022/components/input-month/input-month.module.mjs +56 -0
  298. package/esm2022/components/input-month/taiga-ui-legacy-components-input-month.mjs +5 -0
  299. package/esm2022/components/input-month-range/index.mjs +4 -0
  300. package/esm2022/components/input-month-range/input-month-range.component.mjs +123 -0
  301. package/esm2022/components/input-month-range/input-month-range.directive.mjs +50 -0
  302. package/esm2022/components/input-month-range/input-month-range.module.mjs +52 -0
  303. package/esm2022/components/input-month-range/taiga-ui-legacy-components-input-month-range.mjs +5 -0
  304. package/esm2022/components/input-number/index.mjs +5 -0
  305. package/esm2022/components/input-number/input-number.component.mjs +263 -0
  306. package/esm2022/components/input-number/input-number.directive.mjs +36 -0
  307. package/esm2022/components/input-number/input-number.module.mjs +47 -0
  308. package/esm2022/components/input-number/input-number.options.mjs +26 -0
  309. package/esm2022/components/input-number/taiga-ui-legacy-components-input-number.mjs +5 -0
  310. package/esm2022/components/input-password/index.mjs +5 -0
  311. package/esm2022/components/input-password/input-password.component.mjs +81 -0
  312. package/esm2022/components/input-password/input-password.directive.mjs +33 -0
  313. package/esm2022/components/input-password/input-password.module.mjs +59 -0
  314. package/esm2022/components/input-password/input-password.options.mjs +21 -0
  315. package/esm2022/components/input-password/taiga-ui-legacy-components-input-password.mjs +5 -0
  316. package/esm2022/components/input-phone/index.mjs +5 -0
  317. package/esm2022/components/input-phone/input-phone.component.mjs +220 -0
  318. package/esm2022/components/input-phone/input-phone.directive.mjs +36 -0
  319. package/esm2022/components/input-phone/input-phone.module.mjs +47 -0
  320. package/esm2022/components/input-phone/input-phone.options.mjs +21 -0
  321. package/esm2022/components/input-phone/taiga-ui-legacy-components-input-phone.mjs +5 -0
  322. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +41 -0
  323. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +17 -0
  324. package/esm2022/components/input-phone/utils/index.mjs +3 -0
  325. package/esm2022/components/input-phone-international/index.mjs +4 -0
  326. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +184 -0
  327. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +20 -0
  328. package/esm2022/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.mjs +5 -0
  329. package/esm2022/components/input-phone-international/utils/extract-value-from-event.mjs +7 -0
  330. package/esm2022/components/input-range/index.mjs +3 -0
  331. package/esm2022/components/input-range/input-range.component.mjs +206 -0
  332. package/esm2022/components/input-range/input-range.module.mjs +54 -0
  333. package/esm2022/components/input-range/taiga-ui-legacy-components-input-range.mjs +5 -0
  334. package/esm2022/components/input-slider/index.mjs +3 -0
  335. package/esm2022/components/input-slider/input-slider.component.mjs +153 -0
  336. package/esm2022/components/input-slider/input-slider.module.mjs +47 -0
  337. package/esm2022/components/input-slider/taiga-ui-legacy-components-input-slider.mjs +5 -0
  338. package/esm2022/components/input-tag/index.mjs +4 -0
  339. package/esm2022/components/input-tag/input-tag.component.mjs +418 -0
  340. package/esm2022/components/input-tag/input-tag.module.mjs +66 -0
  341. package/esm2022/components/input-tag/input-tag.options.mjs +21 -0
  342. package/esm2022/components/input-tag/taiga-ui-legacy-components-input-tag.mjs +5 -0
  343. package/esm2022/components/input-time/index.mjs +5 -0
  344. package/esm2022/components/input-time/input-time.component.mjs +278 -0
  345. package/esm2022/components/input-time/input-time.directive.mjs +38 -0
  346. package/esm2022/components/input-time/input-time.module.mjs +70 -0
  347. package/esm2022/components/input-time/input-time.options.mjs +31 -0
  348. package/esm2022/components/input-time/native-time/native-time.component.mjs +67 -0
  349. package/esm2022/components/input-time/taiga-ui-legacy-components-input-time.mjs +5 -0
  350. package/esm2022/components/input-year/index.mjs +4 -0
  351. package/esm2022/components/input-year/input-year.component.mjs +110 -0
  352. package/esm2022/components/input-year/input-year.directive.mjs +30 -0
  353. package/esm2022/components/input-year/input-year.module.mjs +52 -0
  354. package/esm2022/components/input-year/taiga-ui-legacy-components-input-year.mjs +5 -0
  355. package/esm2022/components/island/index.mjs +2 -0
  356. package/esm2022/components/island/island.directive.mjs +77 -0
  357. package/esm2022/components/island/taiga-ui-legacy-components-island.mjs +5 -0
  358. package/esm2022/components/multi-select/hide-selected.pipe.mjs +43 -0
  359. package/esm2022/components/multi-select/index.mjs +11 -0
  360. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +99 -0
  361. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +65 -0
  362. package/esm2022/components/multi-select/multi-select.component.mjs +207 -0
  363. package/esm2022/components/multi-select/multi-select.directive.mjs +34 -0
  364. package/esm2022/components/multi-select/multi-select.module.mjs +114 -0
  365. package/esm2022/components/multi-select/multi-select.options.mjs +20 -0
  366. package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +60 -0
  367. package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +56 -0
  368. package/esm2022/components/multi-select/native-multi-select/native-multi-select.mjs +19 -0
  369. package/esm2022/components/multi-select/taiga-ui-legacy-components-multi-select.mjs +5 -0
  370. package/esm2022/components/multi-select-option/index.mjs +3 -0
  371. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +28 -0
  372. package/esm2022/components/multi-select-option/multi-select-option.module.mjs +23 -0
  373. package/esm2022/components/multi-select-option/taiga-ui-legacy-components-multi-select-option.mjs +5 -0
  374. package/esm2022/components/primitive-textfield/index.mjs +8 -0
  375. package/esm2022/components/primitive-textfield/primitive-textfield-options.mjs +17 -0
  376. package/esm2022/components/primitive-textfield/primitive-textfield-types.mjs +2 -0
  377. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +253 -0
  378. package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +31 -0
  379. package/esm2022/components/primitive-textfield/primitive-textfield.module.mjs +65 -0
  380. package/esm2022/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.mjs +5 -0
  381. package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +39 -0
  382. package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +71 -0
  383. package/esm2022/components/select/index.mjs +7 -0
  384. package/esm2022/components/select/native-select/native-select-group.component.mjs +60 -0
  385. package/esm2022/components/select/native-select/native-select.component.mjs +56 -0
  386. package/esm2022/components/select/select.component.mjs +119 -0
  387. package/esm2022/components/select/select.directive.mjs +32 -0
  388. package/esm2022/components/select/select.module.mjs +86 -0
  389. package/esm2022/components/select/select.options.mjs +19 -0
  390. package/esm2022/components/select/taiga-ui-legacy-components-select.mjs +5 -0
  391. package/esm2022/components/select-option/index.mjs +3 -0
  392. package/esm2022/components/select-option/select-option.component.mjs +71 -0
  393. package/esm2022/components/select-option/select-option.module.mjs +24 -0
  394. package/esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs +5 -0
  395. package/esm2022/components/sheet/components/sheet/sheet.component.mjs +118 -0
  396. package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +42 -0
  397. package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +27 -0
  398. package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +31 -0
  399. package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +46 -0
  400. package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +38 -0
  401. package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +37 -0
  402. package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +51 -0
  403. package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +76 -0
  404. package/esm2022/components/sheet/index.mjs +15 -0
  405. package/esm2022/components/sheet/sheet-options.mjs +21 -0
  406. package/esm2022/components/sheet/sheet-tokens.mjs +17 -0
  407. package/esm2022/components/sheet/sheet.directive.mjs +38 -0
  408. package/esm2022/components/sheet/sheet.mjs +2 -0
  409. package/esm2022/components/sheet/sheet.module.mjs +74 -0
  410. package/esm2022/components/sheet/sheet.service.mjs +51 -0
  411. package/esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs +5 -0
  412. package/esm2022/components/svg/content-processor.mjs +40 -0
  413. package/esm2022/components/svg/deprecated-icons.mjs +62 -0
  414. package/esm2022/components/svg/index.mjs +6 -0
  415. package/esm2022/components/svg/svg-options.mjs +76 -0
  416. package/esm2022/components/svg/svg.component.mjs +149 -0
  417. package/esm2022/components/svg/svg.service.mjs +64 -0
  418. package/esm2022/components/svg/taiga-ui-legacy-components-svg.mjs +5 -0
  419. package/esm2022/components/table-bar/index.mjs +6 -0
  420. package/esm2022/components/table-bar/table-bar.component.mjs +33 -0
  421. package/esm2022/components/table-bar/table-bar.directive.mjs +21 -0
  422. package/esm2022/components/table-bar/table-bar.options.mjs +16 -0
  423. package/esm2022/components/table-bar/table-bars-host.component.mjs +35 -0
  424. package/esm2022/components/table-bar/table-bars.service.mjs +21 -0
  425. package/esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs +5 -0
  426. package/esm2022/components/tag/index.mjs +4 -0
  427. package/esm2022/components/tag/tag.component.mjs +174 -0
  428. package/esm2022/components/tag/tag.module.mjs +41 -0
  429. package/esm2022/components/tag/tag.options.mjs +22 -0
  430. package/esm2022/components/tag/taiga-ui-legacy-components-tag.mjs +5 -0
  431. package/esm2022/components/taiga-ui-legacy-components.mjs +5 -0
  432. package/esm2022/components/textarea/index.mjs +4 -0
  433. package/esm2022/components/textarea/taiga-ui-legacy-components-textarea.mjs +5 -0
  434. package/esm2022/components/textarea/textarea.component.mjs +192 -0
  435. package/esm2022/components/textarea/textarea.directive.mjs +23 -0
  436. package/esm2022/components/textarea/textarea.module.mjs +67 -0
  437. package/esm2022/components/tooltip/index.mjs +3 -0
  438. package/esm2022/components/tooltip/taiga-ui-legacy-components-tooltip.mjs +5 -0
  439. package/esm2022/components/tooltip/tooltip.component.mjs +50 -0
  440. package/esm2022/components/tooltip/tooltip.module.mjs +27 -0
  441. package/esm2022/directives/index.mjs +6 -0
  442. package/esm2022/directives/legacy-dropdown-open-monitor/index.mjs +2 -0
  443. package/esm2022/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.mjs +40 -0
  444. package/esm2022/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +5 -0
  445. package/esm2022/directives/taiga-ui-legacy-directives.mjs +5 -0
  446. package/esm2022/directives/textfield-controller/index.mjs +15 -0
  447. package/esm2022/directives/textfield-controller/taiga-ui-legacy-directives-textfield-controller.mjs +5 -0
  448. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +37 -0
  449. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +31 -0
  450. package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +75 -0
  451. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +50 -0
  452. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +31 -0
  453. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +31 -0
  454. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +27 -0
  455. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +27 -0
  456. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +35 -0
  457. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +31 -0
  458. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +31 -0
  459. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +31 -0
  460. package/esm2022/directives/textfield-controller/textfield.controller.mjs +48 -0
  461. package/esm2022/directives/textfield-controller/textfield.options.mjs +21 -0
  462. package/esm2022/directives/unfinished-validator/index.mjs +3 -0
  463. package/esm2022/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.mjs +5 -0
  464. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +28 -0
  465. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +18 -0
  466. package/esm2022/directives/value-accessor/index.mjs +4 -0
  467. package/esm2022/directives/value-accessor/taiga-ui-legacy-directives-value-accessor.mjs +5 -0
  468. package/esm2022/directives/value-accessor/value-accessor.directive.mjs +19 -0
  469. package/esm2022/directives/value-accessor/value-accessor.module.mjs +20 -0
  470. package/esm2022/directives/value-accessor/value-accessor.provider.mjs +13 -0
  471. package/esm2022/directives/wrapper/index.mjs +3 -0
  472. package/esm2022/directives/wrapper/taiga-ui-legacy-directives-wrapper.mjs +5 -0
  473. package/esm2022/directives/wrapper/wrapper.directive.mjs +85 -0
  474. package/esm2022/directives/wrapper/wrapper.module.mjs +20 -0
  475. package/esm2022/index.mjs +7 -0
  476. package/esm2022/pipes/format-phone/format-phone.pipe.mjs +53 -0
  477. package/esm2022/pipes/format-phone/index.mjs +2 -0
  478. package/esm2022/pipes/format-phone/taiga-ui-legacy-pipes-format-phone.mjs +5 -0
  479. package/esm2022/pipes/index.mjs +4 -0
  480. package/esm2022/pipes/iso-to-country-code/index.mjs +2 -0
  481. package/esm2022/pipes/iso-to-country-code/iso-to-country-code.pipe.mjs +44 -0
  482. package/esm2022/pipes/iso-to-country-code/taiga-ui-legacy-pipes-iso-to-country-code.mjs +5 -0
  483. package/esm2022/pipes/taiga-ui-legacy-pipes.mjs +5 -0
  484. package/esm2022/pipes/to-country-code/index.mjs +2 -0
  485. package/esm2022/pipes/to-country-code/taiga-ui-legacy-pipes-to-country-code.mjs +5 -0
  486. package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +74 -0
  487. package/esm2022/taiga-ui-legacy.mjs +5 -0
  488. package/esm2022/tokens/countries-masks.mjs +255 -0
  489. package/esm2022/tokens/focusable-item-accessor.mjs +14 -0
  490. package/esm2022/tokens/fonts-ready.mjs +10 -0
  491. package/esm2022/tokens/icons.mjs +7 -0
  492. package/esm2022/tokens/index.mjs +15 -0
  493. package/esm2022/tokens/is-apple.mjs +10 -0
  494. package/esm2022/tokens/is-chromium.mjs +9 -0
  495. package/esm2022/tokens/is-firefox.mjs +10 -0
  496. package/esm2022/tokens/is-stackblitz.mjs +8 -0
  497. package/esm2022/tokens/month-formatter.mjs +18 -0
  498. package/esm2022/tokens/sanitizer.mjs +7 -0
  499. package/esm2022/tokens/taiga-ui-legacy-tokens.mjs +5 -0
  500. package/esm2022/tokens/textfield-appearance.mjs +8 -0
  501. package/esm2022/tokens/textfield-host.mjs +14 -0
  502. package/esm2022/tokens/touch-supported.mjs +8 -0
  503. package/esm2022/tokens/value-accessor.mjs +7 -0
  504. package/esm2022/utils/date-mode-maskito-adapter.mjs +9 -0
  505. package/esm2022/utils/format-phone.mjs +60 -0
  506. package/esm2022/utils/get-border.mjs +23 -0
  507. package/esm2022/utils/get-max-allowed-phone-length.mjs +26 -0
  508. package/esm2022/utils/get-safe-area-size.mjs +18 -0
  509. package/esm2022/utils/icons-path-factory.mjs +22 -0
  510. package/esm2022/utils/index.mjs +14 -0
  511. package/esm2022/utils/is-apple.mjs +9 -0
  512. package/esm2022/utils/is-presumed-html-string.mjs +8 -0
  513. package/esm2022/utils/iso-to-country-code.mjs +16 -0
  514. package/esm2022/utils/not-kz-region.mjs +24 -0
  515. package/esm2022/utils/process-icon.mjs +34 -0
  516. package/esm2022/utils/specific-dropdown-controllers.mjs +9 -0
  517. package/esm2022/utils/status.mjs +2 -0
  518. package/esm2022/utils/taiga-ui-legacy-utils.mjs +5 -0
  519. package/fesm2022/taiga-ui-legacy-classes.mjs +391 -0
  520. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -0
  521. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +93 -0
  522. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -0
  523. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +725 -0
  524. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -0
  525. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +294 -0
  526. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -0
  527. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +127 -0
  528. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +1 -0
  529. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +195 -0
  530. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -0
  531. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +283 -0
  532. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -0
  533. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +363 -0
  534. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -0
  535. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +447 -0
  536. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -0
  537. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +370 -0
  538. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -0
  539. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +218 -0
  540. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -0
  541. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +228 -0
  542. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -0
  543. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +363 -0
  544. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -0
  545. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +185 -0
  546. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -0
  547. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +214 -0
  548. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -0
  549. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +371 -0
  550. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -0
  551. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +259 -0
  552. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -0
  553. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +198 -0
  554. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -0
  555. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +501 -0
  556. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -0
  557. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +465 -0
  558. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -0
  559. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +185 -0
  560. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -0
  561. package/fesm2022/taiga-ui-legacy-components-input.mjs +141 -0
  562. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -0
  563. package/fesm2022/taiga-ui-legacy-components-island.mjs +83 -0
  564. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +1 -0
  565. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +53 -0
  566. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -0
  567. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +644 -0
  568. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -0
  569. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +455 -0
  570. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -0
  571. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +97 -0
  572. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -0
  573. package/fesm2022/taiga-ui-legacy-components-select.mjs +339 -0
  574. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -0
  575. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +564 -0
  576. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -0
  577. package/fesm2022/taiga-ui-legacy-components-svg.mjs +379 -0
  578. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -0
  579. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +115 -0
  580. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -0
  581. package/fesm2022/taiga-ui-legacy-components-tag.mjs +238 -0
  582. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -0
  583. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +276 -0
  584. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -0
  585. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +77 -0
  586. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -0
  587. package/fesm2022/taiga-ui-legacy-components.mjs +38 -0
  588. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -0
  589. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +46 -0
  590. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -0
  591. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +440 -0
  592. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -0
  593. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +50 -0
  594. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -0
  595. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +52 -0
  596. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -0
  597. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +107 -0
  598. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -0
  599. package/fesm2022/taiga-ui-legacy-directives.mjs +10 -0
  600. package/fesm2022/taiga-ui-legacy-directives.mjs.map +1 -0
  601. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +59 -0
  602. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +1 -0
  603. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +50 -0
  604. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +1 -0
  605. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +80 -0
  606. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +1 -0
  607. package/fesm2022/taiga-ui-legacy-pipes.mjs +8 -0
  608. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +1 -0
  609. package/fesm2022/taiga-ui-legacy-tokens.mjs +368 -0
  610. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -0
  611. package/fesm2022/taiga-ui-legacy-utils.mjs +264 -0
  612. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -0
  613. package/fesm2022/taiga-ui-legacy.mjs +11 -0
  614. package/fesm2022/taiga-ui-legacy.mjs.map +1 -0
  615. package/index.d.ts +6 -0
  616. package/package.json +315 -0
  617. package/pipes/format-phone/format-phone.pipe.d.ts +37 -0
  618. package/pipes/format-phone/index.d.ts +1 -0
  619. package/pipes/index.d.ts +3 -0
  620. package/pipes/iso-to-country-code/index.d.ts +1 -0
  621. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +30 -0
  622. package/pipes/to-country-code/index.d.ts +1 -0
  623. package/pipes/to-country-code/to-country-code.pipe.d.ts +38 -0
  624. package/styles/mixins/mixins.less +245 -0
  625. package/styles/mixins/mixins.scss +230 -0
  626. package/styles/mixins/textfield.less +315 -0
  627. package/styles/mixins/textfield.scss +306 -0
  628. package/styles/taiga-ui-local.less +3 -0
  629. package/styles/taiga-ui-local.scss +3 -0
  630. package/tokens/countries-masks.d.ts +8 -0
  631. package/tokens/focusable-item-accessor.d.ts +26 -0
  632. package/tokens/fonts-ready.d.ts +6 -0
  633. package/tokens/icons.d.ts +5 -0
  634. package/tokens/index.d.ts +14 -0
  635. package/tokens/is-apple.d.ts +5 -0
  636. package/tokens/is-chromium.d.ts +5 -0
  637. package/tokens/is-firefox.d.ts +5 -0
  638. package/tokens/is-stackblitz.d.ts +4 -0
  639. package/tokens/month-formatter.d.ts +11 -0
  640. package/tokens/sanitizer.d.ts +7 -0
  641. package/tokens/textfield-appearance.d.ts +6 -0
  642. package/tokens/textfield-host.d.ts +24 -0
  643. package/tokens/touch-supported.d.ts +4 -0
  644. package/tokens/value-accessor.d.ts +7 -0
  645. package/utils/date-mode-maskito-adapter.d.ts +6 -0
  646. package/utils/format-phone.d.ts +30 -0
  647. package/utils/get-border.d.ts +5 -0
  648. package/utils/get-max-allowed-phone-length.d.ts +24 -0
  649. package/utils/get-safe-area-size.d.ts +7 -0
  650. package/utils/icons-path-factory.d.ts +13 -0
  651. package/utils/index.d.ts +13 -0
  652. package/utils/is-apple.d.ts +4 -0
  653. package/utils/is-presumed-html-string.d.ts +4 -0
  654. package/utils/iso-to-country-code.d.ts +13 -0
  655. package/utils/not-kz-region.d.ts +20 -0
  656. package/utils/process-icon.d.ts +4 -0
  657. package/utils/specific-dropdown-controllers.d.ts +4 -0
  658. package/utils/status.d.ts +4 -0
@@ -0,0 +1,455 @@
1
+ import { __decorate } from 'tslib';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, ElementRef, Component, ChangeDetectionStrategy, ViewChild, HostListener, HostBinding, EventEmitter, ContentChildren, Input, Output, Directive, NgModule } from '@angular/core';
4
+ import { tuiInjectElement, tuiRetargetedBoundaryCrossing } from '@taiga-ui/cdk/utils/dom';
5
+ import { tuiIsNativeFocusedIn } from '@taiga-ui/cdk/utils/focus';
6
+ import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
7
+ import { TUI_TEXTFIELD_OPTIONS as TUI_TEXTFIELD_OPTIONS$1 } from '@taiga-ui/core/components/textfield';
8
+ import { TuiHintOptionsDirective } from '@taiga-ui/core/directives/hint';
9
+ import { AbstractTuiInteractive, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
10
+ import { TUI_TEXTFIELD_OPTIONS, TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TUI_TEXTFIELD_DEFAULT_OPTIONS, tuiTextfieldOptionsProvider } from '@taiga-ui/legacy/directives';
11
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_FONTS_READY, tuiAsFocusableItemAccessor, tuiAsTextfieldHost, TUI_TEXTFIELD_HOST } from '@taiga-ui/legacy/tokens';
12
+ import { tuiGetBorder } from '@taiga-ui/legacy/utils';
13
+ import * as i3 from '@taiga-ui/polymorpheus';
14
+ import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
15
+ import { BehaviorSubject, merge, delay, filter, map, distinctUntilChanged, fromEvent } from 'rxjs';
16
+ import * as i1 from '@angular/common';
17
+ import { CommonModule } from '@angular/common';
18
+ import * as i2 from '@angular/forms';
19
+ import { FormsModule } from '@angular/forms';
20
+ import * as i4 from '@taiga-ui/legacy/directives/wrapper';
21
+ import { TuiWrapperModule } from '@taiga-ui/legacy/directives/wrapper';
22
+ import * as i5 from '@taiga-ui/legacy/components/tooltip';
23
+ import { TuiTooltipModule } from '@taiga-ui/legacy/components/tooltip';
24
+ import * as i6 from '@taiga-ui/core/components/icon';
25
+ import { TuiIcon } from '@taiga-ui/core/components/icon';
26
+ import * as i7 from '@taiga-ui/core/directives/appearance';
27
+ import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
28
+ import { TuiIdService } from '@taiga-ui/cdk/services';
29
+
30
+ class TuiValueDecorationComponent {
31
+ constructor() {
32
+ this.textfield = inject(TUI_FOCUSABLE_ITEM_ACCESSOR);
33
+ this.fontsReady$ = inject(TUI_FONTS_READY);
34
+ this.prefix$ = new BehaviorSubject('');
35
+ this.pre$ = merge(this.fontsReady$, this.prefix$).pipe(delay(0), filter(() => !!this.pre?.nativeElement.isConnected), map(() => this.pre?.nativeElement.offsetWidth || 0), distinctUntilChanged());
36
+ }
37
+ ngDoCheck() {
38
+ this.prefix$.next(this.prefix);
39
+ }
40
+ get isContextTable() {
41
+ return this.textfield.appearance === 'table';
42
+ }
43
+ get filler() {
44
+ const { focused, placeholder, exampleText, value, textfield } = this;
45
+ if (placeholder && exampleText) {
46
+ return '';
47
+ }
48
+ return focused ? exampleText || textfield.filler.slice(value.length) : '';
49
+ }
50
+ get value() {
51
+ return this.textfield.value;
52
+ }
53
+ get prefix() {
54
+ return this.decorationsVisible ? this.textfield.prefix : '';
55
+ }
56
+ get postfix() {
57
+ return this.decorationsVisible ? this.computedPostfix : '';
58
+ }
59
+ get placeholder() {
60
+ return this.textfield.nativeFocusableElement?.placeholder || '';
61
+ }
62
+ get exampleText() {
63
+ return !this.value && this.focused ? this.placeholder : '';
64
+ }
65
+ get decorationsVisible() {
66
+ return !!this.value || (this.focused && !this.placeholder);
67
+ }
68
+ get focused() {
69
+ return this.textfield.computedFocused && !this.textfield.readOnly;
70
+ }
71
+ get computedPostfix() {
72
+ return this.textfield.postfix && (this.filler || this.value)
73
+ ? ` ${this.textfield.postfix}`
74
+ : this.textfield.postfix;
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueDecorationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ 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": "this.isContextTable", "class._filler": "this.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 }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiValueDecorationComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'tui-value-decoration', changeDetection: ChangeDetectionStrategy.Default, 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"] }]
82
+ }], propDecorators: { pre: [{
83
+ type: ViewChild,
84
+ args: ['pre', { read: ElementRef, static: true }]
85
+ }], ngDoCheck: [{
86
+ type: HostListener,
87
+ args: ['animationstart']
88
+ }], isContextTable: [{
89
+ type: HostBinding,
90
+ args: ['class._table']
91
+ }], filler: [{
92
+ type: HostBinding,
93
+ args: ['class._filler']
94
+ }] } });
95
+
96
+ /**
97
+ * @deprecated: drop in v5.0
98
+ */
99
+ const TUI_ICON_START_PADDINGS = {
100
+ s: 1.25,
101
+ m: 1.75,
102
+ l: 2.25,
103
+ };
104
+ /**
105
+ * @deprecated: use `tui-textfield` instead of `tui-primitive-textfield`
106
+ */
107
+ class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
108
+ constructor() {
109
+ super(...arguments);
110
+ this.legacyOptions = inject(TUI_TEXTFIELD_OPTIONS);
111
+ this.el = tuiInjectElement();
112
+ this.options = inject(TUI_TEXTFIELD_OPTIONS$1);
113
+ this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
114
+ this.hintOptions = inject(TuiHintOptionsDirective, { optional: true });
115
+ this.autofilled = false;
116
+ this.editable = true;
117
+ /**
118
+ * @deprecated:
119
+ * use `tuiTextfieldOptionsProvider({iconCleaner: `@tui.chevron-up`})`
120
+ */
121
+ this.iconCleaner = this.legacyOptions.iconCleaner;
122
+ this.readOnly = false;
123
+ this.invalid = false;
124
+ this.disabled = false;
125
+ this.value = '';
126
+ this.valueChange = new EventEmitter();
127
+ }
128
+ get prefix() {
129
+ return this.controller.prefix;
130
+ }
131
+ get postfix() {
132
+ return this.controller.postfix;
133
+ }
134
+ get filler() {
135
+ return this.controller.filler;
136
+ }
137
+ get nativeFocusableElement() {
138
+ if (this.computedDisabled || !this.focusableElement) {
139
+ return null;
140
+ }
141
+ const { nativeElement } = this.focusableElement;
142
+ return (nativeElement.previousElementSibling ||
143
+ nativeElement);
144
+ }
145
+ get focused() {
146
+ return tuiIsNativeFocusedIn(this.el);
147
+ }
148
+ get appearance() {
149
+ return this.options.appearance === 'table' ? 'table' : this.controller.appearance;
150
+ }
151
+ onModelChange(value) {
152
+ this.updateValue(value);
153
+ }
154
+ get size() {
155
+ return this.controller.size;
156
+ }
157
+ get computedInvalid() {
158
+ return !this.readOnly && !this.disabled && this.invalid;
159
+ }
160
+ get inputHidden() {
161
+ return !!this.content?.length;
162
+ }
163
+ get borderStart() {
164
+ return this.iconLeftContent ? this.iconPaddingLeft : 0;
165
+ }
166
+ get borderEnd() {
167
+ return tuiGetBorder(!!this.iconContent, this.hasCleaner, this.hasTooltip, this.hasCustomContent, this.size);
168
+ }
169
+ get hasValue() {
170
+ return !!this.value;
171
+ }
172
+ get hasCleaner() {
173
+ return (this.controller.cleaner &&
174
+ this.hasValue &&
175
+ !this.computedDisabled &&
176
+ !this.readOnly);
177
+ }
178
+ get hasTooltip() {
179
+ return !!this.hintOptions?.content && !this.computedDisabled;
180
+ }
181
+ get hasCustomContent() {
182
+ return !!this.controller.customContent;
183
+ }
184
+ get placeholderVisible() {
185
+ const hasDecor = this.nativeFocusableElement?.placeholder ||
186
+ this.prefix ||
187
+ this.postfix ||
188
+ this.filler;
189
+ const showDecor = hasDecor && !this.readOnly && this.computedFocused;
190
+ return !this.hasValue && !showDecor;
191
+ }
192
+ get hasPlaceholder() {
193
+ return this.placeholderRaisable || this.placeholderVisible;
194
+ }
195
+ get placeholderRaised() {
196
+ return (this.placeholderRaisable &&
197
+ ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled));
198
+ }
199
+ get iconContent() {
200
+ return this.controller.icon;
201
+ }
202
+ get iconLeftContent() {
203
+ return this.controller.iconStart;
204
+ }
205
+ get showHint() {
206
+ return (!!this.hintOptions?.content &&
207
+ (this.legacyOptions.hintOnDisabled || !this.computedDisabled));
208
+ }
209
+ // Safari expiration date autofill workaround
210
+ get name() {
211
+ return this.nativeFocusableElement?.autocomplete === 'cc-exp'
212
+ ? 'ccexpiryyear'
213
+ : null;
214
+ }
215
+ get computedId() {
216
+ return this.nativeFocusableElement?.id || '';
217
+ }
218
+ onFocused(focused) {
219
+ this.updateFocused(focused);
220
+ }
221
+ getIndent$(element) {
222
+ return fromEvent(element, 'scroll').pipe(map(() => -1 * Math.max(element.scrollLeft, 0)));
223
+ }
224
+ clear() {
225
+ if (this.nativeFocusableElement) {
226
+ this.nativeFocusableElement.value = '';
227
+ }
228
+ this.updateValue('');
229
+ }
230
+ onMouseDown(event) {
231
+ const { nativeFocusableElement } = this;
232
+ if (!nativeFocusableElement || event.target === nativeFocusableElement) {
233
+ return;
234
+ }
235
+ event.preventDefault();
236
+ nativeFocusableElement.focus();
237
+ }
238
+ onAutofilled(autofilled) {
239
+ this.updateAutofilled(autofilled);
240
+ }
241
+ detectRetargetFromLabel(event) {
242
+ if (tuiRetargetedBoundaryCrossing(event)) {
243
+ event.stopImmediatePropagation();
244
+ }
245
+ }
246
+ get iconPaddingLeft() {
247
+ return TUI_ICON_START_PADDINGS[this.size];
248
+ }
249
+ get placeholderRaisable() {
250
+ return this.size !== 's' && !this.controller.labelOutside;
251
+ }
252
+ updateAutofilled(autofilled) {
253
+ if (this.autofilled === autofilled) {
254
+ return;
255
+ }
256
+ this.autofilled = autofilled;
257
+ }
258
+ updateValue(value) {
259
+ this.value = value;
260
+ this.valueChange.emit(value);
261
+ }
262
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
263
+ 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: { "class._autofilled": "autofilled", "class._label-outside": "options.appearance === \"table\" || controller.labelOutside", "class._readonly": "this.readOnly", "attr.data-size": "this.size", "class._invalid": "this.computedInvalid", "class._hidden": "this.inputHidden", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd" } }, providers: [
264
+ tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
265
+ TEXTFIELD_CONTROLLER_PROVIDER,
266
+ ], 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 [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)}:host[data-size=m]{--tui-height: var(--tui-height-m)}: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}@supports (-webkit-touch-callout: none){.t-input:active{font-size:1rem}}.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: TuiValueDecorationComponent, selector: "tui-value-decoration" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
267
+ }
268
+ __decorate([
269
+ tuiPure
270
+ ], TuiPrimitiveTextfieldComponent.prototype, "getIndent$", null);
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldComponent, decorators: [{
272
+ type: Component,
273
+ args: [{ selector: 'tui-primitive-textfield', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
274
+ tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
275
+ TEXTFIELD_CONTROLLER_PROVIDER,
276
+ ], host: {
277
+ '[class._autofilled]': 'autofilled',
278
+ '[class._label-outside]': 'options.appearance === "table" || controller.labelOutside',
279
+ }, 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 [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)}:host[data-size=m]{--tui-height: var(--tui-height-m)}: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}@supports (-webkit-touch-callout: none){.t-input:active{font-size:1rem}}.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"] }]
280
+ }], propDecorators: { focusableElement: [{
281
+ type: ViewChild,
282
+ args: ['focusableElement']
283
+ }], content: [{
284
+ type: ContentChildren,
285
+ args: [PolymorpheusOutlet, { descendants: true }]
286
+ }], editable: [{
287
+ type: Input
288
+ }], iconCleaner: [{
289
+ type: Input
290
+ }], readOnly: [{
291
+ type: Input
292
+ }, {
293
+ type: HostBinding,
294
+ args: ['class._readonly']
295
+ }], invalid: [{
296
+ type: Input
297
+ }], disabled: [{
298
+ type: Input
299
+ }], value: [{
300
+ type: Input
301
+ }], valueChange: [{
302
+ type: Output
303
+ }], size: [{
304
+ type: HostBinding,
305
+ args: ['attr.data-size']
306
+ }], computedInvalid: [{
307
+ type: HostBinding,
308
+ args: ['class._invalid']
309
+ }], inputHidden: [{
310
+ type: HostBinding,
311
+ args: ['class._hidden']
312
+ }], borderStart: [{
313
+ type: HostBinding,
314
+ args: ['style.--border-start.rem']
315
+ }], borderEnd: [{
316
+ type: HostBinding,
317
+ args: ['style.--border-end.rem']
318
+ }], onFocused: [{
319
+ type: HostListener,
320
+ args: ['focusin', ['true']]
321
+ }, {
322
+ type: HostListener,
323
+ args: ['focusout', ['false']]
324
+ }], getIndent$: [] } });
325
+
326
+ /**
327
+ * @deprecated: use `tui-textfield` instead of `tui-primitive-textfield`
328
+ */
329
+ class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost {
330
+ constructor() {
331
+ super(...arguments);
332
+ this.host = inject(TuiPrimitiveTextfieldComponent);
333
+ }
334
+ get readOnly() {
335
+ return this.host.readOnly || !this.host.editable;
336
+ }
337
+ onValueChange(value) {
338
+ this.host.onModelChange(value);
339
+ }
340
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
341
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield", providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)], usesInheritance: true, ngImport: i0 }); }
342
+ }
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldDirective, decorators: [{
344
+ type: Directive,
345
+ args: [{
346
+ selector: 'tui-primitive-textfield',
347
+ providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],
348
+ }]
349
+ }] });
350
+
351
+ class TuiTextfieldComponent {
352
+ constructor() {
353
+ this.el = tuiInjectElement();
354
+ this.idService = inject(TuiIdService);
355
+ this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
356
+ this.host = inject(TUI_TEXTFIELD_HOST);
357
+ this.host.process(this.el);
358
+ }
359
+ get id() {
360
+ return this.el.id || this.idService.generate();
361
+ }
362
+ get inputMode() {
363
+ return this.el.inputMode || this.host.inputMode;
364
+ }
365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
366
+ 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}@supports (-webkit-touch-callout: none){:host:active{font-size:1rem}}: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 }); }
367
+ }
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
369
+ type: Component,
370
+ args: [{ selector: 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [TEXTFIELD_CONTROLLER_PROVIDER], host: {
371
+ type: 'text',
372
+ '[attr.id]': 'id',
373
+ '[attr.inputMode]': 'inputMode',
374
+ '[attr.aria-invalid]': 'host.invalid',
375
+ '[attr.disabled]': 'host.disabled || null',
376
+ '[tabIndex]': 'host.focusable ? 0 : -1',
377
+ '[readOnly]': 'host.readOnly',
378
+ '[value]': 'host.value',
379
+ '(input)': 'host.onValueChange($event.target.value)',
380
+ }, 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}@supports (-webkit-touch-callout: none){:host:active{font-size:1rem}}: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"] }]
381
+ }], ctorParameters: function () { return []; } });
382
+
383
+ /**
384
+ * @deprecated: drop in v5.0
385
+ */
386
+ class TuiPrimitiveTextfieldModule {
387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
388
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldModule, declarations: [TuiPrimitiveTextfieldComponent,
389
+ TuiPrimitiveTextfieldDirective,
390
+ TuiTextfieldComponent,
391
+ TuiValueDecorationComponent], imports: [CommonModule,
392
+ FormsModule,
393
+ PolymorpheusOutlet,
394
+ PolymorpheusTemplate,
395
+ TuiWrapperModule,
396
+ TuiTooltipModule,
397
+ TuiIcon,
398
+ TuiAppearance], exports: [TuiPrimitiveTextfieldComponent,
399
+ TuiPrimitiveTextfieldDirective,
400
+ TuiTextfieldComponent] }); }
401
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldModule, imports: [CommonModule,
402
+ FormsModule,
403
+ TuiWrapperModule,
404
+ TuiTooltipModule,
405
+ TuiIcon] }); }
406
+ }
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiPrimitiveTextfieldModule, decorators: [{
408
+ type: NgModule,
409
+ args: [{
410
+ imports: [
411
+ CommonModule,
412
+ FormsModule,
413
+ PolymorpheusOutlet,
414
+ PolymorpheusTemplate,
415
+ TuiWrapperModule,
416
+ TuiTooltipModule,
417
+ TuiIcon,
418
+ TuiAppearance,
419
+ ],
420
+ declarations: [
421
+ TuiPrimitiveTextfieldComponent,
422
+ TuiPrimitiveTextfieldDirective,
423
+ TuiTextfieldComponent,
424
+ TuiValueDecorationComponent,
425
+ ],
426
+ exports: [
427
+ TuiPrimitiveTextfieldComponent,
428
+ TuiPrimitiveTextfieldDirective,
429
+ TuiTextfieldComponent,
430
+ ],
431
+ }]
432
+ }] });
433
+
434
+ /**
435
+ * @deprecated:
436
+ * use {@link TUI_TEXTFIELD_DEFAULT_OPTIONS}
437
+ */
438
+ const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS = TUI_TEXTFIELD_DEFAULT_OPTIONS;
439
+ /**
440
+ * @deprecated:
441
+ * use {@link TUI_TEXTFIELD_OPTIONS}
442
+ */
443
+ const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = TUI_TEXTFIELD_OPTIONS;
444
+ /**
445
+ * @deprecated:
446
+ * use {@link tuiTextfieldOptionsProvider}
447
+ */
448
+ const tuiPrimitiveTextfieldOptionsProvider = tuiTextfieldOptionsProvider;
449
+
450
+ /**
451
+ * Generated bundle index. Do not edit.
452
+ */
453
+
454
+ export { TUI_ICON_START_PADDINGS, TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS, TUI_PRIMITIVE_TEXTFIELD_OPTIONS, TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldDirective, TuiPrimitiveTextfieldModule, TuiTextfieldComponent, TuiValueDecorationComponent, tuiPrimitiveTextfieldOptionsProvider };
455
+ //# sourceMappingURL=taiga-ui-legacy-components-primitive-textfield.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-legacy-components-primitive-textfield.mjs","sources":["../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.component.ts","../../../projects/legacy/components/primitive-textfield/value-decoration/value-decoration.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.template.html","../../../projects/legacy/components/primitive-textfield/primitive-textfield.directive.ts","../../../projects/legacy/components/primitive-textfield/textfield/textfield.component.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield.module.ts","../../../projects/legacy/components/primitive-textfield/primitive-textfield-options.ts","../../../projects/legacy/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.ts"],"sourcesContent":["import type {DoCheck} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n ViewChild,\n} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_FONTS_READY} from '@taiga-ui/legacy/tokens';\nimport {BehaviorSubject, delay, distinctUntilChanged, filter, map, merge} from 'rxjs';\n\nimport type {TuiPrimitiveTextfield} from '../primitive-textfield-types';\n\n@Component({\n selector: 'tui-value-decoration',\n templateUrl: './value-decoration.template.html',\n styleUrls: ['./value-decoration.style.less'],\n // It follows Change Detection of PrimitiveTextfield\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild('pre', {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly textfield = inject<TuiPrimitiveTextfield>(\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n );\n\n private readonly fontsReady$ = inject(TUI_FONTS_READY);\n\n private readonly prefix$ = new BehaviorSubject('');\n\n public readonly pre$ = merge(this.fontsReady$, this.prefix$).pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n distinctUntilChanged(),\n );\n\n @HostListener('animationstart')\n public ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n @HostBinding('class._table')\n protected get isContextTable(): boolean {\n return this.textfield.appearance === 'table';\n }\n\n @HostBinding('class._filler')\n protected get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return '';\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : '';\n }\n\n protected get value(): string {\n return this.textfield.value;\n }\n\n protected get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : '';\n }\n\n protected get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : '';\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || '';\n }\n\n private get exampleText(): string {\n return !this.value && this.focused ? this.placeholder : '';\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || (this.focused && !this.placeholder);\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","<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","import type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiRetargetedBoundaryCrossing} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_TEXTFIELD_OPTIONS as OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {TuiHintOptionsDirective} from '@taiga-ui/core/directives/hint';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiInteractive} from '@taiga-ui/legacy/classes';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_OPTIONS as LEGACY_OPTIONS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiGetBorder} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport type {Observable} from 'rxjs';\nimport {fromEvent, map} from 'rxjs';\n\nimport type {TuiPrimitiveTextfield} from './primitive-textfield-types';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport const TUI_ICON_START_PADDINGS: Record<TuiSizeL | TuiSizeS, number> = {\n s: 1.25,\n m: 1.75,\n l: 2.25,\n};\n\n/**\n * @deprecated: use `tui-textfield` instead of `tui-primitive-textfield`\n */\n@Component({\n selector: 'tui-primitive-textfield',\n templateUrl: './primitive-textfield.template.html',\n styleUrls: ['./primitive-textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '[class._autofilled]': 'autofilled',\n '[class._label-outside]':\n 'options.appearance === \"table\" || controller.labelOutside',\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiPrimitiveTextfield\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n private readonly legacyOptions = inject(LEGACY_OPTIONS);\n private readonly el = tuiInjectElement();\n\n @ContentChildren(PolymorpheusOutlet, {descendants: true})\n protected readonly content?: QueryList<unknown>;\n\n protected readonly options = inject(OPTIONS);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly hintOptions = inject(TuiHintOptionsDirective, {optional: true});\n protected autofilled = false;\n\n @Input()\n public editable = true;\n\n /**\n * @deprecated:\n * use `tuiTextfieldOptionsProvider({iconCleaner: `@tui.chevron-up`})`\n */\n @Input()\n public iconCleaner = this.legacyOptions.iconCleaner;\n\n @Input()\n @HostBinding('class._readonly')\n public readOnly = false;\n\n @Input()\n public invalid = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public value = '';\n\n @Output()\n public readonly valueChange = new EventEmitter<string>();\n\n public get prefix(): string {\n return this.controller.prefix;\n }\n\n public get postfix(): string {\n return this.controller.postfix;\n }\n\n public get filler(): string {\n return this.controller.filler;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n const {nativeElement} = this.focusableElement;\n\n return (nativeElement.previousElementSibling ||\n nativeElement) as HTMLInputElement | null;\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el);\n }\n\n public get appearance(): string {\n return this.options.appearance === 'table' ? 'table' : this.controller.appearance;\n }\n\n public onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n @HostBinding('attr.data-size')\n protected get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._invalid')\n protected get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding('class._hidden')\n protected get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n @HostBinding('style.--border-start.rem')\n protected get borderStart(): number {\n return this.iconLeftContent ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding('style.--border-end.rem')\n protected get borderEnd(): number {\n return tuiGetBorder(\n !!this.iconContent,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n this.size,\n );\n }\n\n protected get hasValue(): boolean {\n return !!this.value;\n }\n\n protected get hasCleaner(): boolean {\n return (\n this.controller.cleaner &&\n this.hasValue &&\n !this.computedDisabled &&\n !this.readOnly\n );\n }\n\n protected get hasTooltip(): boolean {\n return !!this.hintOptions?.content && !this.computedDisabled;\n }\n\n protected get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n protected get placeholderVisible(): boolean {\n const hasDecor =\n this.nativeFocusableElement?.placeholder ||\n this.prefix ||\n this.postfix ||\n this.filler;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n protected get hasPlaceholder(): boolean {\n return this.placeholderRaisable || this.placeholderVisible;\n }\n\n protected get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n protected get iconContent(): PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>> {\n return this.controller.icon;\n }\n\n protected get iconLeftContent(): PolymorpheusContent<\n TuiContext<TuiSizeL | TuiSizeS>\n > {\n return this.controller.iconStart;\n }\n\n protected get showHint(): boolean {\n return (\n !!this.hintOptions?.content &&\n (this.legacyOptions.hintOnDisabled || !this.computedDisabled)\n );\n }\n\n // Safari expiration date autofill workaround\n protected get name(): 'ccexpiryyear' | null {\n return this.nativeFocusableElement?.autocomplete === 'cc-exp'\n ? 'ccexpiryyear'\n : null;\n }\n\n protected get computedId(): string {\n return this.nativeFocusableElement?.id || '';\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n protected getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, 'scroll').pipe(\n map(() => -1 * Math.max(element.scrollLeft, 0)),\n );\n }\n\n protected clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = '';\n }\n\n this.updateValue('');\n }\n\n protected onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.focus();\n }\n\n protected onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n protected detectRetargetFromLabel(event: Event): void {\n if (tuiRetargetedBoundaryCrossing(event)) {\n event.stopImmediatePropagation();\n }\n }\n\n private get iconPaddingLeft(): number {\n return TUI_ICON_START_PADDINGS[this.size];\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== 's' && !this.controller.labelOutside;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<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 [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","import {Directive, inject} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n/**\n * @deprecated: use `tui-textfield` instead of `tui-primitive-textfield`\n */\n@Directive({\n selector: 'tui-primitive-textfield',\n providers: [tuiAsTextfieldHost(TuiPrimitiveTextfieldDirective)],\n})\nexport class TuiPrimitiveTextfieldDirective extends AbstractTuiTextfieldHost<any> {\n protected override readonly host = inject(TuiPrimitiveTextfieldComponent);\n\n public override get readOnly(): boolean {\n return this.host.readOnly || !this.host.editable;\n }\n\n public onValueChange(value: string): void {\n this.host.onModelChange(value);\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiTextfieldHost} from '@taiga-ui/legacy/tokens';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/legacy/tokens';\n\n@Component({\n selector: 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]',\n template: '',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TEXTFIELD_CONTROLLER_PROVIDER],\n host: {\n type: 'text',\n '[attr.id]': 'id',\n '[attr.inputMode]': 'inputMode',\n '[attr.aria-invalid]': 'host.invalid',\n '[attr.disabled]': 'host.disabled || null',\n '[tabIndex]': 'host.focusable ? 0 : -1',\n '[readOnly]': 'host.readOnly',\n '[value]': 'host.value',\n '(input)': 'host.onValueChange($event.target.value)',\n },\n})\nexport class TuiTextfieldComponent {\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly idService = inject(TuiIdService);\n protected readonly controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);\n protected readonly host = inject<TuiTextfieldHost>(TUI_TEXTFIELD_HOST);\n\n constructor() {\n this.host.process(this.el);\n }\n\n protected get id(): string {\n return this.el.id || this.idService.generate();\n }\n\n protected get inputMode(): string {\n return this.el.inputMode || this.host.inputMode;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiTooltipModule} from '@taiga-ui/legacy/components/tooltip';\nimport {TuiWrapperModule} from '@taiga-ui/legacy/directives/wrapper';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n/**\n * @deprecated: drop in v5.0\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiWrapperModule,\n TuiTooltipModule,\n TuiIcon,\n TuiAppearance,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","import type {TuiTextfieldOptions} from '@taiga-ui/legacy/directives';\nimport {\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n TUI_TEXTFIELD_OPTIONS,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/legacy/directives';\n\n/**\n * @deprecated:\n * use {@link TuiTextfieldOptions}\n */\nexport type TuiPrimitiveTextfieldOptions = TuiTextfieldOptions;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_DEFAULT_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions =\n TUI_TEXTFIELD_DEFAULT_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link TUI_TEXTFIELD_OPTIONS}\n */\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = TUI_TEXTFIELD_OPTIONS;\n\n/**\n * @deprecated:\n * use {@link tuiTextfieldOptionsProvider}\n */\nexport const tuiPrimitiveTextfieldOptionsProvider = tuiTextfieldOptionsProvider;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["LEGACY_OPTIONS","OPTIONS","i8.TuiValueDecorationComponent"],"mappings":"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"}