@taiga-ui/core 2.21.0 → 2.25.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 (724) hide show
  1. package/README.md +7 -3
  2. package/abstract/abstract-hint.d.ts +3 -1
  3. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-core-abstract.umd.js +4 -2
  5. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-abstract.umd.min.js +1 -1
  7. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-button.umd.js +21 -7
  9. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  11. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  13. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
  15. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-data-list.umd.js +6 -5
  17. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-data-list.umd.min.js +2 -2
  19. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-dialog.umd.js +16 -40
  21. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  23. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +1 -1
  25. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  27. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  29. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  31. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-expand.umd.js +3 -2
  33. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  35. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-hints-host.umd.js +20 -14
  39. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +2 -2
  41. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +2 -15
  43. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  44. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  45. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  47. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  49. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-link.umd.js +1 -1
  51. package/bundles/taiga-ui-core-components-link.umd.min.js +1 -1
  52. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-loader.umd.js +2 -2
  54. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
  56. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  58. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  59. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -2
  60. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  62. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +2 -2
  66. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  67. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +138 -106
  68. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +2 -2
  70. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  72. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  73. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  74. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  76. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +61 -61
  78. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  79. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +2 -2
  80. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-core-components-scrollbar.umd.js +52 -42
  82. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +2 -2
  84. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  86. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  88. package/bundles/taiga-ui-core-components-theme-night.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  90. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  91. package/bundles/taiga-ui-core-components-wrapper.umd.js +1 -1
  92. package/bundles/taiga-ui-core-components-wrapper.umd.js.map +1 -1
  93. package/bundles/taiga-ui-core-components-wrapper.umd.min.js +1 -1
  94. package/bundles/taiga-ui-core-components-wrapper.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-core-components.umd.js +8 -8
  96. package/bundles/taiga-ui-core-components.umd.min.js +1 -1
  97. package/bundles/taiga-ui-core-constants.umd.js +12 -3
  98. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  99. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  100. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-core-directives-border.umd.js +291 -0
  102. package/bundles/taiga-ui-core-directives-border.umd.js.map +1 -0
  103. package/bundles/taiga-ui-core-directives-border.umd.min.js +16 -0
  104. package/bundles/taiga-ui-core-directives-border.umd.min.js.map +1 -0
  105. package/bundles/taiga-ui-core-directives-color.umd.js.map +1 -1
  106. package/bundles/taiga-ui-core-directives-color.umd.min.js.map +1 -1
  107. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  108. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.js.map +1 -1
  110. package/bundles/taiga-ui-core-directives-dropdown-controller.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  112. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-core-directives-hint.umd.js +7 -4
  114. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  116. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +7 -4
  118. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
  120. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  122. package/bundles/taiga-ui-core-directives-mask-accessor.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  124. package/bundles/taiga-ui-core-directives-mode.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +1 -1
  126. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  127. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  128. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  130. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-core-directives-table-mode.umd.js.map +1 -1
  132. package/bundles/taiga-ui-core-directives-table-mode.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -3
  134. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  135. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-core-directives.umd.js +16 -8
  137. package/bundles/taiga-ui-core-directives.umd.js.map +1 -1
  138. package/bundles/taiga-ui-core-directives.umd.min.js +1 -1
  139. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  140. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  141. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -1
  142. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  144. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-core-modules-notifications.umd.js +25 -25
  146. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  147. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  148. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  150. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  152. package/bundles/taiga-ui-core-pipes-format-number.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  154. package/bundles/taiga-ui-core-pipes-month.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-core-pipes-pluralize.umd.js.map +1 -1
  156. package/bundles/taiga-ui-core-pipes-pluralize.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-core-pipes.umd.js +12 -12
  158. package/bundles/taiga-ui-core-pipes.umd.min.js +1 -1
  159. package/bundles/taiga-ui-core-providers.umd.js +9 -9
  160. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  161. package/bundles/taiga-ui-core-providers.umd.min.js +1 -1
  162. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  163. package/bundles/taiga-ui-core-services.umd.min.js.map +1 -1
  164. package/bundles/taiga-ui-core-tokens.umd.js +28 -19
  165. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  166. package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
  167. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-core-utils-dom.umd.js +3 -1
  169. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  170. package/bundles/taiga-ui-core-utils-dom.umd.min.js +1 -1
  171. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-core-utils-mask.umd.js +28 -8
  173. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  174. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  175. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  176. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +2 -4
  177. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  178. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js +1 -1
  179. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  180. package/components/button/button-options.d.ts +10 -0
  181. package/components/button/button.component.d.ts +8 -7
  182. package/components/button/index.d.ts +1 -0
  183. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  184. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  185. package/components/data-list/index.d.ts +1 -1
  186. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  187. package/components/dialog/dialog.directive.d.ts +2 -11
  188. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  189. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  190. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  191. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  192. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  193. package/components/hints-host/index.d.ts +2 -2
  194. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  195. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -3
  196. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  197. package/components/index.d.ts +1 -1
  198. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  199. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  200. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  201. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  202. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  203. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  204. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  205. package/components/primitive-textfield/index.d.ts +1 -0
  206. package/components/primitive-textfield/primitive-textfield.component.d.ts +9 -16
  207. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  208. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +18 -0
  209. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  210. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  211. package/components/scroll-controls/index.d.ts +1 -1
  212. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  213. package/components/scrollbar/index.d.ts +1 -1
  214. package/components/scrollbar/scrollable.directive.d.ts +5 -1
  215. package/components/scrollbar/scrollbar.component.d.ts +4 -3
  216. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  217. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  218. package/components/taiga-ui-core-components.metadata.json +1 -1
  219. package/components/theme-night/taiga-ui-core-components-theme-night.metadata.json +1 -1
  220. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  221. package/components/wrapper/taiga-ui-core-components-wrapper.metadata.json +1 -1
  222. package/constants/events.d.ts +5 -0
  223. package/constants/index.d.ts +1 -1
  224. package/constants/media.d.ts +1 -0
  225. package/constants/regexp.d.ts +1 -0
  226. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  227. package/constants/version.d.ts +1 -1
  228. package/directives/border/border.directive.d.ts +9 -0
  229. package/directives/border/border.module.d.ts +2 -0
  230. package/directives/border/index.d.ts +2 -0
  231. package/directives/border/package.json +13 -0
  232. package/directives/border/taiga-ui-core-directives-border.d.ts +4 -0
  233. package/directives/border/taiga-ui-core-directives-border.metadata.json +1 -0
  234. package/directives/color/index.d.ts +1 -1
  235. package/directives/color/taiga-ui-core-directives-color.metadata.json +1 -1
  236. package/directives/described-by/taiga-ui-core-directives-described-by.metadata.json +1 -1
  237. package/directives/dropdown-controller/taiga-ui-core-directives-dropdown-controller.metadata.json +1 -1
  238. package/directives/hint/hint.directive.d.ts +2 -2
  239. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  240. package/directives/hint-controller/taiga-ui-core-directives-hint-controller.metadata.json +1 -1
  241. package/directives/index.d.ts +2 -1
  242. package/directives/manual-hint/manual-hint.directive.d.ts +2 -1
  243. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  244. package/directives/mask-accessor/taiga-ui-core-directives-mask-accessor.metadata.json +1 -1
  245. package/directives/mode/taiga-ui-core-directives-mode.metadata.json +1 -1
  246. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  247. package/directives/scroll-into-view/taiga-ui-core-directives-scroll-into-view.metadata.json +1 -1
  248. package/directives/table-mode/taiga-ui-core-directives-table-mode.metadata.json +1 -1
  249. package/directives/taiga-ui-core-directives.metadata.json +1 -1
  250. package/directives/textfield-controller/index.d.ts +2 -2
  251. package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.metadata.json +1 -1
  252. package/directives/textfield-controller/textfield-controller.provider.d.ts +1 -1
  253. package/esm2015/abstract/abstract-hint.js +6 -4
  254. package/esm2015/components/button/button-options.js +10 -0
  255. package/esm2015/components/button/button.component.js +12 -8
  256. package/esm2015/components/button/button.module.js +1 -1
  257. package/esm2015/components/button/index.js +2 -1
  258. package/esm2015/components/calendar/calendar.component.js +2 -2
  259. package/esm2015/components/data-list/data-list.component.js +4 -3
  260. package/esm2015/components/data-list/data-list.module.js +2 -2
  261. package/esm2015/components/data-list/index.js +2 -2
  262. package/esm2015/components/data-list/option/option.component.js +4 -4
  263. package/esm2015/components/dialog/dialog.component.js +3 -3
  264. package/esm2015/components/dialog/dialog.directive.js +14 -36
  265. package/esm2015/components/dialog/dialog.module.js +1 -1
  266. package/esm2015/components/dialog/dialog.service.js +1 -1
  267. package/esm2015/components/dropdown-box/dropdown-box.component.js +1 -1
  268. package/esm2015/components/dropdown-box/dropdown-box.module.js +1 -1
  269. package/esm2015/components/error/error.component.js +1 -1
  270. package/esm2015/components/error/error.module.js +1 -1
  271. package/esm2015/components/expand/expand.component.js +4 -3
  272. package/esm2015/components/expand/expand.module.js +2 -2
  273. package/esm2015/components/group/group.component.js +1 -1
  274. package/esm2015/components/group/group.module.js +1 -1
  275. package/esm2015/components/hints-host/hint-box/hint-box.component.js +3 -3
  276. package/esm2015/components/hints-host/hint-box/hint-box.module.js +1 -1
  277. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  278. package/esm2015/components/hints-host/hints-host.module.js +9 -3
  279. package/esm2015/components/hints-host/index.js +3 -3
  280. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +4 -13
  281. package/esm2015/components/hosted-dropdown/hosted-dropdown.module.js +2 -2
  282. package/esm2015/components/index.js +2 -2
  283. package/esm2015/components/label/label.component.js +2 -2
  284. package/esm2015/components/label/label.module.js +1 -1
  285. package/esm2015/components/link/link.component.js +1 -1
  286. package/esm2015/components/loader/loader.component.js +3 -3
  287. package/esm2015/components/loader/loader.module.js +1 -1
  288. package/esm2015/components/notification/notification.component.js +1 -1
  289. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  290. package/esm2015/components/primitive-calendar/primitive-calendar.module.js +1 -1
  291. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +1 -1
  292. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  293. package/esm2015/components/primitive-textfield/index.js +2 -1
  294. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +38 -67
  295. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +7 -2
  296. package/esm2015/components/primitive-textfield/primitive-textfield.providers.js +1 -1
  297. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +65 -0
  298. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  299. package/esm2015/components/root/root.module.js +1 -1
  300. package/esm2015/components/scroll-controls/index.js +2 -2
  301. package/esm2015/components/scroll-controls/scroll-controls.component.js +2 -2
  302. package/esm2015/components/scroll-controls/scroll-controls.module.js +2 -2
  303. package/esm2015/components/scrollbar/index.js +2 -2
  304. package/esm2015/components/scrollbar/scrollable.directive.js +18 -4
  305. package/esm2015/components/scrollbar/scrollbar.component.js +20 -18
  306. package/esm2015/components/scrollbar/scrollbar.module.js +1 -1
  307. package/esm2015/components/svg/svg.module.js +1 -1
  308. package/esm2015/components/theme-night/theme-night.module.js +1 -1
  309. package/esm2015/components/tooltip/tooltip.component.js +1 -1
  310. package/esm2015/components/wrapper/wrapper.component.js +1 -1
  311. package/esm2015/components/wrapper/wrapper.module.js +1 -1
  312. package/esm2015/constants/events.js +6 -1
  313. package/esm2015/constants/index.js +2 -2
  314. package/esm2015/constants/media.js +2 -1
  315. package/esm2015/constants/regexp.js +2 -1
  316. package/esm2015/constants/version.js +2 -2
  317. package/esm2015/directives/border/border.directive.js +42 -0
  318. package/esm2015/directives/border/border.module.js +13 -0
  319. package/esm2015/directives/border/index.js +3 -0
  320. package/esm2015/directives/border/taiga-ui-core-directives-border.js +5 -0
  321. package/esm2015/directives/color/color.module.js +1 -1
  322. package/esm2015/directives/color/index.js +2 -2
  323. package/esm2015/directives/described-by/described-by.module.js +1 -1
  324. package/esm2015/directives/dropdown-controller/dropdown-controller.directive.js +1 -1
  325. package/esm2015/directives/dropdown-controller/dropdown-controller.module.js +1 -1
  326. package/esm2015/directives/dropdown-controller/dropdown-controller.provider.js +1 -1
  327. package/esm2015/directives/dropdown-controller/dropdown-controller.token.js +1 -1
  328. package/esm2015/directives/hint/hint.directive.js +10 -7
  329. package/esm2015/directives/hint/hint.module.js +1 -1
  330. package/esm2015/directives/hint-controller/hint-controller.directive.js +1 -1
  331. package/esm2015/directives/hint-controller/hint-controller.module.js +1 -1
  332. package/esm2015/directives/hint-controller/hint-controller.provider.js +1 -1
  333. package/esm2015/directives/hint-controller/hint-controller.token.js +1 -1
  334. package/esm2015/directives/index.js +3 -2
  335. package/esm2015/directives/manual-hint/manual-hint.directive.js +10 -7
  336. package/esm2015/directives/manual-hint/manual-hint.module.js +1 -1
  337. package/esm2015/directives/mask-accessor/mask-accessor.module.js +1 -1
  338. package/esm2015/directives/mode/mode.module.js +1 -1
  339. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +2 -2
  340. package/esm2015/directives/pointer-hint/pointer-hint.module.js +1 -1
  341. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +1 -1
  342. package/esm2015/directives/table-mode/table-mode.module.js +1 -1
  343. package/esm2015/directives/textfield-controller/index.js +3 -3
  344. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  345. package/esm2015/directives/textfield-controller/textfield-controller.module.js +1 -1
  346. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +2 -2
  347. package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -2
  348. package/esm2015/directives/textfield-controller/textfield-type.directive.js +4 -2
  349. package/esm2015/directives/textfield-controller/textfield.controller.js +1 -1
  350. package/esm2015/interfaces/dialog-context.js +1 -1
  351. package/esm2015/interfaces/index.js +1 -1
  352. package/esm2015/interfaces/media.js +1 -0
  353. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  354. package/esm2015/internal/svg-defs-host/svg-defs-host.module.js +1 -1
  355. package/esm2015/mask/index.js +1 -1
  356. package/esm2015/modules/notifications/index.js +3 -3
  357. package/esm2015/modules/notifications/notification-alert/Notification-alert.js +1 -1
  358. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  359. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +2 -2
  360. package/esm2015/modules/notifications/notifications.module.js +1 -1
  361. package/esm2015/modules/notifications/notifications.service.js +1 -1
  362. package/esm2015/pipes/calendar-sheet/calendar-sheet.module.js +1 -1
  363. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  364. package/esm2015/pipes/calendar-sheet/index.js +2 -2
  365. package/esm2015/pipes/format-number/format-number.pipe.js +1 -1
  366. package/esm2015/pipes/index.js +2 -2
  367. package/esm2015/pipes/month/month.module.js +1 -1
  368. package/esm2015/pipes/pluralize/pluralize.module.js +1 -1
  369. package/esm2015/providers/index.js +2 -2
  370. package/esm2015/services/hint.service.js +1 -1
  371. package/esm2015/tokens/animation-options.js +1 -1
  372. package/esm2015/tokens/index.js +5 -4
  373. package/esm2015/tokens/media.js +9 -0
  374. package/esm2015/tokens/ordered-short-week-days.js +1 -1
  375. package/esm2015/types/marker-handler.js +1 -1
  376. package/esm2015/utils/dom/process-icon.js +4 -2
  377. package/esm2015/utils/mask/create-number-mask.js +28 -10
  378. package/esm2015/utils/miscellaneous/get-border.js +3 -5
  379. package/esm5/abstract/abstract-hint.js +6 -4
  380. package/esm5/components/button/button-options.js +10 -0
  381. package/esm5/components/button/button.component.js +12 -8
  382. package/esm5/components/button/button.module.js +1 -1
  383. package/esm5/components/button/index.js +2 -1
  384. package/esm5/components/calendar/calendar.component.js +2 -2
  385. package/esm5/components/data-list/data-list.component.js +4 -3
  386. package/esm5/components/data-list/data-list.module.js +2 -2
  387. package/esm5/components/data-list/index.js +2 -2
  388. package/esm5/components/data-list/option/option.component.js +4 -4
  389. package/esm5/components/dialog/dialog.component.js +3 -3
  390. package/esm5/components/dialog/dialog.directive.js +18 -43
  391. package/esm5/components/dialog/dialog.module.js +1 -1
  392. package/esm5/components/dialog/dialog.service.js +1 -1
  393. package/esm5/components/dropdown-box/dropdown-box.component.js +1 -1
  394. package/esm5/components/dropdown-box/dropdown-box.module.js +1 -1
  395. package/esm5/components/error/error.component.js +1 -1
  396. package/esm5/components/error/error.module.js +1 -1
  397. package/esm5/components/expand/expand.component.js +4 -3
  398. package/esm5/components/expand/expand.module.js +2 -2
  399. package/esm5/components/group/group.component.js +1 -1
  400. package/esm5/components/group/group.module.js +1 -1
  401. package/esm5/components/hints-host/hint-box/hint-box.component.js +3 -3
  402. package/esm5/components/hints-host/hint-box/hint-box.module.js +1 -1
  403. package/esm5/components/hints-host/hints-host.component.js +3 -3
  404. package/esm5/components/hints-host/hints-host.module.js +9 -3
  405. package/esm5/components/hints-host/index.js +3 -3
  406. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +4 -17
  407. package/esm5/components/hosted-dropdown/hosted-dropdown.module.js +2 -2
  408. package/esm5/components/index.js +2 -2
  409. package/esm5/components/label/label.component.js +2 -2
  410. package/esm5/components/label/label.module.js +1 -1
  411. package/esm5/components/link/link.component.js +1 -1
  412. package/esm5/components/loader/loader.component.js +3 -3
  413. package/esm5/components/loader/loader.module.js +1 -1
  414. package/esm5/components/notification/notification.component.js +1 -1
  415. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -3
  416. package/esm5/components/primitive-calendar/primitive-calendar.module.js +1 -1
  417. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +1 -1
  418. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +2 -2
  419. package/esm5/components/primitive-textfield/index.js +2 -1
  420. package/esm5/components/primitive-textfield/primitive-textfield.component.js +43 -104
  421. package/esm5/components/primitive-textfield/primitive-textfield.module.js +7 -2
  422. package/esm5/components/primitive-textfield/primitive-textfield.providers.js +1 -1
  423. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +99 -0
  424. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  425. package/esm5/components/root/root.module.js +1 -1
  426. package/esm5/components/scroll-controls/index.js +2 -2
  427. package/esm5/components/scroll-controls/scroll-controls.component.js +2 -2
  428. package/esm5/components/scroll-controls/scroll-controls.module.js +2 -2
  429. package/esm5/components/scrollbar/index.js +2 -2
  430. package/esm5/components/scrollbar/scrollable.directive.js +17 -5
  431. package/esm5/components/scrollbar/scrollbar.component.js +20 -22
  432. package/esm5/components/scrollbar/scrollbar.module.js +1 -1
  433. package/esm5/components/svg/svg.module.js +1 -1
  434. package/esm5/components/theme-night/theme-night.module.js +1 -1
  435. package/esm5/components/tooltip/tooltip.component.js +1 -1
  436. package/esm5/components/wrapper/wrapper.component.js +1 -1
  437. package/esm5/components/wrapper/wrapper.module.js +1 -1
  438. package/esm5/constants/events.js +6 -1
  439. package/esm5/constants/index.js +2 -2
  440. package/esm5/constants/media.js +2 -1
  441. package/esm5/constants/regexp.js +2 -1
  442. package/esm5/constants/version.js +2 -2
  443. package/esm5/directives/border/border.directive.js +51 -0
  444. package/esm5/directives/border/border.module.js +16 -0
  445. package/esm5/directives/border/index.js +3 -0
  446. package/esm5/directives/border/taiga-ui-core-directives-border.js +5 -0
  447. package/esm5/directives/color/color.module.js +1 -1
  448. package/esm5/directives/color/index.js +2 -2
  449. package/esm5/directives/described-by/described-by.module.js +1 -1
  450. package/esm5/directives/dropdown-controller/dropdown-controller.directive.js +1 -1
  451. package/esm5/directives/dropdown-controller/dropdown-controller.module.js +1 -1
  452. package/esm5/directives/dropdown-controller/dropdown-controller.provider.js +1 -1
  453. package/esm5/directives/dropdown-controller/dropdown-controller.token.js +1 -1
  454. package/esm5/directives/hint/hint.directive.js +10 -7
  455. package/esm5/directives/hint/hint.module.js +1 -1
  456. package/esm5/directives/hint-controller/hint-controller.directive.js +1 -1
  457. package/esm5/directives/hint-controller/hint-controller.module.js +1 -1
  458. package/esm5/directives/hint-controller/hint-controller.provider.js +1 -1
  459. package/esm5/directives/hint-controller/hint-controller.token.js +1 -1
  460. package/esm5/directives/index.js +3 -2
  461. package/esm5/directives/manual-hint/manual-hint.directive.js +10 -7
  462. package/esm5/directives/manual-hint/manual-hint.module.js +1 -1
  463. package/esm5/directives/mask-accessor/mask-accessor.module.js +1 -1
  464. package/esm5/directives/mode/mode.module.js +1 -1
  465. package/esm5/directives/pointer-hint/pointer-hint.directive.js +2 -2
  466. package/esm5/directives/pointer-hint/pointer-hint.module.js +1 -1
  467. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +1 -1
  468. package/esm5/directives/table-mode/table-mode.module.js +1 -1
  469. package/esm5/directives/textfield-controller/index.js +3 -3
  470. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  471. package/esm5/directives/textfield-controller/textfield-controller.module.js +1 -1
  472. package/esm5/directives/textfield-controller/textfield-controller.provider.js +2 -2
  473. package/esm5/directives/textfield-controller/textfield-size.directive.js +4 -2
  474. package/esm5/directives/textfield-controller/textfield-type.directive.js +4 -2
  475. package/esm5/directives/textfield-controller/textfield.controller.js +1 -1
  476. package/esm5/interfaces/dialog-context.js +1 -1
  477. package/esm5/interfaces/index.js +1 -1
  478. package/esm5/interfaces/media.js +1 -0
  479. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  480. package/esm5/internal/svg-defs-host/svg-defs-host.module.js +1 -1
  481. package/esm5/mask/index.js +1 -1
  482. package/esm5/modules/notifications/index.js +3 -3
  483. package/esm5/modules/notifications/notification-alert/Notification-alert.js +1 -1
  484. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  485. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +2 -2
  486. package/esm5/modules/notifications/notifications.module.js +1 -1
  487. package/esm5/modules/notifications/notifications.service.js +1 -1
  488. package/esm5/pipes/calendar-sheet/calendar-sheet.module.js +1 -1
  489. package/esm5/pipes/calendar-sheet/calendar-sheet.pipe.js +1 -1
  490. package/esm5/pipes/calendar-sheet/index.js +2 -2
  491. package/esm5/pipes/format-number/format-number.pipe.js +1 -1
  492. package/esm5/pipes/index.js +2 -2
  493. package/esm5/pipes/month/month.module.js +1 -1
  494. package/esm5/pipes/pluralize/pluralize.module.js +1 -1
  495. package/esm5/providers/index.js +2 -2
  496. package/esm5/services/hint.service.js +1 -1
  497. package/esm5/tokens/animation-options.js +1 -1
  498. package/esm5/tokens/index.js +5 -4
  499. package/esm5/tokens/media.js +9 -0
  500. package/esm5/tokens/ordered-short-week-days.js +1 -1
  501. package/esm5/types/marker-handler.js +1 -1
  502. package/esm5/utils/dom/process-icon.js +4 -2
  503. package/esm5/utils/mask/create-number-mask.js +30 -10
  504. package/esm5/utils/miscellaneous/get-border.js +3 -5
  505. package/fesm2015/taiga-ui-core-abstract.js +4 -2
  506. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  507. package/fesm2015/taiga-ui-core-components-button.js +21 -9
  508. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  509. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  510. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  511. package/fesm2015/taiga-ui-core-components-data-list.js +6 -5
  512. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  513. package/fesm2015/taiga-ui-core-components-dialog.js +16 -37
  514. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  515. package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
  516. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  517. package/fesm2015/taiga-ui-core-components-error.js +1 -1
  518. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  519. package/fesm2015/taiga-ui-core-components-expand.js +3 -2
  520. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  521. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  522. package/fesm2015/taiga-ui-core-components-hints-host.js +16 -10
  523. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  524. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +3 -12
  525. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  526. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  527. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  528. package/fesm2015/taiga-ui-core-components-link.js +1 -1
  529. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  530. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  531. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  532. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -2
  533. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  534. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  535. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  536. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +102 -69
  537. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  538. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  539. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  540. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  541. package/fesm2015/taiga-ui-core-components-scroll-controls.js +56 -56
  542. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  543. package/fesm2015/taiga-ui-core-components-scrollbar.js +49 -33
  544. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  545. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  546. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  547. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  548. package/fesm2015/taiga-ui-core-components-wrapper.js +1 -1
  549. package/fesm2015/taiga-ui-core-components-wrapper.js.map +1 -1
  550. package/fesm2015/taiga-ui-core-components.js +1 -1
  551. package/fesm2015/taiga-ui-core-constants.js +11 -4
  552. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  553. package/fesm2015/taiga-ui-core-directives-border.js +57 -0
  554. package/fesm2015/taiga-ui-core-directives-border.js.map +1 -0
  555. package/fesm2015/taiga-ui-core-directives-color.js.map +1 -1
  556. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  557. package/fesm2015/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  558. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  559. package/fesm2015/taiga-ui-core-directives-hint.js +9 -6
  560. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  561. package/fesm2015/taiga-ui-core-directives-manual-hint.js +9 -6
  562. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  563. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  564. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  565. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +1 -1
  566. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  567. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  568. package/fesm2015/taiga-ui-core-directives-table-mode.js.map +1 -1
  569. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +9 -3
  570. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  571. package/fesm2015/taiga-ui-core-directives.js +2 -1
  572. package/fesm2015/taiga-ui-core-directives.js.map +1 -1
  573. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  574. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  575. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  576. package/fesm2015/taiga-ui-core-modules-notifications.js +24 -24
  577. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  578. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  579. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  580. package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
  581. package/fesm2015/taiga-ui-core-pipes-pluralize.js.map +1 -1
  582. package/fesm2015/taiga-ui-core-pipes.js +1 -1
  583. package/fesm2015/taiga-ui-core-providers.js +7 -7
  584. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  585. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  586. package/fesm2015/taiga-ui-core-tokens.js +28 -20
  587. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  588. package/fesm2015/taiga-ui-core-utils-dom.js +3 -1
  589. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  590. package/fesm2015/taiga-ui-core-utils-mask.js +27 -9
  591. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  592. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +2 -4
  593. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  594. package/fesm5/taiga-ui-core-abstract.js +4 -2
  595. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  596. package/fesm5/taiga-ui-core-components-button.js +21 -9
  597. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  598. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  599. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  600. package/fesm5/taiga-ui-core-components-data-list.js +6 -5
  601. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  602. package/fesm5/taiga-ui-core-components-dialog.js +20 -44
  603. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  604. package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
  605. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  606. package/fesm5/taiga-ui-core-components-error.js +1 -1
  607. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  608. package/fesm5/taiga-ui-core-components-expand.js +3 -2
  609. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  610. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  611. package/fesm5/taiga-ui-core-components-hints-host.js +16 -10
  612. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  613. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +3 -16
  614. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  615. package/fesm5/taiga-ui-core-components-label.js +1 -1
  616. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  617. package/fesm5/taiga-ui-core-components-link.js +1 -1
  618. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  619. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  620. package/fesm5/taiga-ui-core-components-notification.js +1 -1
  621. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -2
  622. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  623. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  624. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  625. package/fesm5/taiga-ui-core-components-primitive-textfield.js +141 -106
  626. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  627. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  628. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  629. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  630. package/fesm5/taiga-ui-core-components-scroll-controls.js +63 -63
  631. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  632. package/fesm5/taiga-ui-core-components-scrollbar.js +51 -41
  633. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  634. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  635. package/fesm5/taiga-ui-core-components-theme-night.js.map +1 -1
  636. package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
  637. package/fesm5/taiga-ui-core-components-wrapper.js +1 -1
  638. package/fesm5/taiga-ui-core-components-wrapper.js.map +1 -1
  639. package/fesm5/taiga-ui-core-components.js +1 -1
  640. package/fesm5/taiga-ui-core-constants.js +11 -4
  641. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  642. package/fesm5/taiga-ui-core-directives-border.js +69 -0
  643. package/fesm5/taiga-ui-core-directives-border.js.map +1 -0
  644. package/fesm5/taiga-ui-core-directives-color.js.map +1 -1
  645. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  646. package/fesm5/taiga-ui-core-directives-dropdown-controller.js.map +1 -1
  647. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  648. package/fesm5/taiga-ui-core-directives-hint.js +9 -6
  649. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  650. package/fesm5/taiga-ui-core-directives-manual-hint.js +9 -6
  651. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  652. package/fesm5/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  653. package/fesm5/taiga-ui-core-directives-mode.js.map +1 -1
  654. package/fesm5/taiga-ui-core-directives-pointer-hint.js +1 -1
  655. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  656. package/fesm5/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  657. package/fesm5/taiga-ui-core-directives-table-mode.js.map +1 -1
  658. package/fesm5/taiga-ui-core-directives-textfield-controller.js +9 -3
  659. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  660. package/fesm5/taiga-ui-core-directives.js +2 -1
  661. package/fesm5/taiga-ui-core-directives.js.map +1 -1
  662. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  663. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  664. package/fesm5/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  665. package/fesm5/taiga-ui-core-modules-notifications.js +25 -25
  666. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  667. package/fesm5/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  668. package/fesm5/taiga-ui-core-pipes-format-number.js.map +1 -1
  669. package/fesm5/taiga-ui-core-pipes-month.js.map +1 -1
  670. package/fesm5/taiga-ui-core-pipes-pluralize.js.map +1 -1
  671. package/fesm5/taiga-ui-core-pipes.js +1 -1
  672. package/fesm5/taiga-ui-core-providers.js +7 -7
  673. package/fesm5/taiga-ui-core-providers.js.map +1 -1
  674. package/fesm5/taiga-ui-core-services.js.map +1 -1
  675. package/fesm5/taiga-ui-core-tokens.js +28 -20
  676. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  677. package/fesm5/taiga-ui-core-utils-dom.js +3 -1
  678. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  679. package/fesm5/taiga-ui-core-utils-mask.js +30 -10
  680. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  681. package/fesm5/taiga-ui-core-utils-miscellaneous.js +2 -4
  682. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  683. package/interfaces/index.d.ts +2 -1
  684. package/interfaces/media.d.ts +6 -0
  685. package/interfaces/taiga-ui-core-interfaces.metadata.json +1 -1
  686. package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.metadata.json +1 -1
  687. package/internal/svg-defs-host/taiga-ui-core-internal-svg-defs-host.metadata.json +1 -1
  688. package/mask/index.d.ts +1 -1
  689. package/mask/taiga-ui-core-mask.metadata.json +1 -1
  690. package/modules/notifications/index.d.ts +2 -2
  691. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  692. package/package.json +5 -5
  693. package/pipes/calendar-sheet/index.d.ts +1 -1
  694. package/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.metadata.json +1 -1
  695. package/pipes/index.d.ts +1 -1
  696. package/pipes/month/taiga-ui-core-pipes-month.metadata.json +1 -1
  697. package/pipes/pluralize/taiga-ui-core-pipes-pluralize.metadata.json +1 -1
  698. package/pipes/taiga-ui-core-pipes.metadata.json +1 -1
  699. package/providers/index.d.ts +1 -1
  700. package/providers/taiga-ui-core-providers.metadata.json +1 -1
  701. package/services/taiga-ui-core-services.metadata.json +1 -1
  702. package/styles/basic/main.less +2 -4
  703. package/styles/markup/tui-autofill.less +2 -0
  704. package/styles/markup/tui-container-old.less +69 -0
  705. package/styles/markup/tui-form-old.less +141 -0
  706. package/styles/markup/tui-form.less +12 -12
  707. package/styles/markup/tui-group-old.less +322 -0
  708. package/styles/markup/tui-group.less +2 -2
  709. package/styles/markup/tui-row-old.less +157 -0
  710. package/styles/markup/tui-table.less +2 -2
  711. package/styles/mixins/mixins.less +8 -3
  712. package/styles/mixins/picker.less +1 -1
  713. package/styles/mixins/textfield.less +37 -78
  714. package/styles/taiga-ui-global-old.less +18 -0
  715. package/styles/taiga-ui-local-old.less +7 -0
  716. package/styles/theme/variables.less +4 -0
  717. package/styles/theme/wrapper/table.less +4 -0
  718. package/styles/variables/media-old.less +48 -0
  719. package/styles/variables/media.less +4 -4
  720. package/tokens/index.d.ts +4 -3
  721. package/tokens/media.d.ts +3 -0
  722. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  723. package/utils/mask/create-number-mask.d.ts +1 -0
  724. package/utils/miscellaneous/get-border.d.ts +1 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/core/directives/hint-controller'), require('@taiga-ui/core/directives/textfield-controller'), require('@taiga-ui/core/tokens'), require('@taiga-ui/core/utils/miscellaneous'), require('@tinkoff/ng-polymorpheus'), require('rxjs'), require('@taiga-ui/core/providers'), require('@angular/common'), require('@angular/forms'), require('@taiga-ui/core/components/svg'), require('@taiga-ui/core/components/tooltip'), require('@taiga-ui/core/components/wrapper'), require('@taiga-ui/core/directives/described-by'), require('@taiga-ui/core/directives/mask-accessor')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/core/components/primitive-textfield', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/core/directives/hint-controller', '@taiga-ui/core/directives/textfield-controller', '@taiga-ui/core/tokens', '@taiga-ui/core/utils/miscellaneous', '@tinkoff/ng-polymorpheus', 'rxjs', '@taiga-ui/core/providers', '@angular/common', '@angular/forms', '@taiga-ui/core/components/svg', '@taiga-ui/core/components/tooltip', '@taiga-ui/core/components/wrapper', '@taiga-ui/core/directives/described-by', '@taiga-ui/core/directives/mask-accessor'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].core = global['taiga-ui'].core || {}, global['taiga-ui'].core.components = global['taiga-ui'].core.components || {}, global['taiga-ui'].core.components['primitive-textfield'] = {}), global.ng.core, global.cdk, global['taiga-ui'].core.directives['hint-controller'], global['taiga-ui'].core.directives['textfield-controller'], global['taiga-ui'].core.tokens, global['taiga-ui'].core.utils.miscellaneous, global.ngPolymorpheus, global.rxjs, global['taiga-ui'].core.providers, global.ng.common, global.ng.forms, global['taiga-ui'].core.components.svg, global['taiga-ui'].core.components.tooltip, global['taiga-ui'].core.components.wrapper, global['taiga-ui'].core.directives['described-by'], global['taiga-ui'].core.directives['mask-accessor']));
5
- }(this, (function (exports, core, cdk, hintController, textfieldController, tokens, miscellaneous, ngPolymorpheus, rxjs, providers, common, forms, svg, tooltip, wrapper, describedBy, maskAccessor) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@taiga-ui/cdk'), require('@taiga-ui/core/directives/hint-controller'), require('@taiga-ui/core/directives/textfield-controller'), require('@taiga-ui/core/tokens'), require('@taiga-ui/core/utils/miscellaneous'), require('@tinkoff/ng-polymorpheus'), require('rxjs'), require('rxjs/operators'), require('@taiga-ui/core/providers'), require('@angular/common'), require('@angular/forms'), require('@ng-web-apis/mutation-observer'), require('@taiga-ui/core/components/svg'), require('@taiga-ui/core/components/tooltip'), require('@taiga-ui/core/components/wrapper'), require('@taiga-ui/core/directives/border'), require('@taiga-ui/core/directives/described-by'), require('@taiga-ui/core/directives/mask-accessor'), require('@taiga-ui/core/directives')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/core/components/primitive-textfield', ['exports', '@angular/core', '@taiga-ui/cdk', '@taiga-ui/core/directives/hint-controller', '@taiga-ui/core/directives/textfield-controller', '@taiga-ui/core/tokens', '@taiga-ui/core/utils/miscellaneous', '@tinkoff/ng-polymorpheus', 'rxjs', 'rxjs/operators', '@taiga-ui/core/providers', '@angular/common', '@angular/forms', '@ng-web-apis/mutation-observer', '@taiga-ui/core/components/svg', '@taiga-ui/core/components/tooltip', '@taiga-ui/core/components/wrapper', '@taiga-ui/core/directives/border', '@taiga-ui/core/directives/described-by', '@taiga-ui/core/directives/mask-accessor', '@taiga-ui/core/directives'], factory) :
4
+ (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].core = global['taiga-ui'].core || {}, global['taiga-ui'].core.components = global['taiga-ui'].core.components || {}, global['taiga-ui'].core.components['primitive-textfield'] = {}), global.ng.core, global.cdk, global['taiga-ui'].core.directives['hint-controller'], global['taiga-ui'].core.directives['textfield-controller'], global['taiga-ui'].core.tokens, global['taiga-ui'].core.utils.miscellaneous, global.ngPolymorpheus, global.rxjs, global.rxjs.operators, global['taiga-ui'].core.providers, global.ng.common, global.ng.forms, global.mutationObserver, global['taiga-ui'].core.components.svg, global['taiga-ui'].core.components.tooltip, global['taiga-ui'].core.components.wrapper, global['taiga-ui'].core.directives.border, global['taiga-ui'].core.directives['described-by'], global['taiga-ui'].core.directives['mask-accessor'], global['taiga-ui'].core.directives));
5
+ }(this, (function (exports, core, cdk, hintController, textfieldController, tokens, miscellaneous, ngPolymorpheus, rxjs, operators, providers, common, forms, mutationObserver, svg, tooltip, wrapper, border, describedBy, maskAccessor, directives) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -251,6 +251,7 @@
251
251
  _this.readOnly = false;
252
252
  _this.invalid = false;
253
253
  _this.disabled = false;
254
+ _this.prefix = '';
254
255
  _this.postfix = '';
255
256
  _this.value = '';
256
257
  _this.valueChange = new core.EventEmitter();
@@ -310,131 +311,77 @@
310
311
  enumerable: true,
311
312
  configurable: true
312
313
  });
313
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasTooltip", {
314
- get: function () {
315
- return !!this.hintController && !!this.hintController.content && !this.disabled;
316
- },
317
- enumerable: true,
318
- configurable: true
319
- });
320
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasCustomContent", {
314
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasValue", {
321
315
  get: function () {
322
- return !!this.controller.customContent;
316
+ return !!this.value;
323
317
  },
324
318
  enumerable: true,
325
319
  configurable: true
326
320
  });
327
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "iconPaddingLeft", {
321
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasCleaner", {
328
322
  get: function () {
329
- return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;
323
+ return (this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly);
330
324
  },
331
325
  enumerable: true,
332
326
  configurable: true
333
327
  });
334
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "borderLeft", {
328
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasTooltip", {
335
329
  get: function () {
336
- return ((this.iconAlignLeft ? this.iconPaddingLeft : 0) +
337
- miscellaneous.getBorder(miscellaneous.sizeBigger(this.size, 'm'), false));
330
+ var _a;
331
+ return !!((_a = this.hintController) === null || _a === void 0 ? void 0 : _a.content) && !this.disabled;
338
332
  },
339
333
  enumerable: true,
340
334
  configurable: true
341
335
  });
342
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "borderRight", {
336
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasCustomContent", {
343
337
  get: function () {
344
- return miscellaneous.getBorder(miscellaneous.sizeBigger(this.size, 'm'), this.iconAlignRight, this.hasCleaner, this.hasTooltip, this.hasCustomContent);
338
+ return !!this.controller.customContent;
345
339
  },
346
340
  enumerable: true,
347
341
  configurable: true
348
342
  });
349
343
  Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasPlaceholder", {
350
344
  get: function () {
351
- return ((this.big && !this.labelOutside) ||
352
- (!this.hasValue && !this.hasExampleText && !this.hasPostfix));
345
+ var hasDecor = this.controller.exampleText || this.prefix || this.postfix;
346
+ var showDecor = hasDecor && !this.readOnly && this.computedFocused;
347
+ var placeholderVisible = !this.hasValue && !showDecor;
348
+ return this.placeholderRaisable || placeholderVisible;
353
349
  },
354
350
  enumerable: true,
355
351
  configurable: true
356
352
  });
357
353
  Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "placeholderRaised", {
358
354
  get: function () {
359
- return (this.big &&
360
- !this.labelOutside &&
355
+ return (this.placeholderRaisable &&
361
356
  ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled));
362
357
  },
363
358
  enumerable: true,
364
359
  configurable: true
365
360
  });
366
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "iconAlignLeft", {
367
- get: function () {
368
- return this.hasIcon && this.iconAlign === 'left';
369
- },
370
- enumerable: true,
371
- configurable: true
372
- });
373
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "iconAlignRight", {
374
- get: function () {
375
- return this.hasIcon && this.iconAlign === 'right';
376
- },
377
- enumerable: true,
378
- configurable: true
379
- });
380
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasValue", {
381
- get: function () {
382
- return !!this.value;
383
- },
384
- enumerable: true,
385
- configurable: true
386
- });
387
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasCleaner", {
388
- get: function () {
389
- return (this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly);
390
- },
391
- enumerable: true,
392
- configurable: true
393
- });
394
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "rightAligned", {
395
- get: function () {
396
- return (this.appearance === "table" /* Table */ &&
397
- (this.controller.inputMode === 'numeric' ||
398
- this.controller.inputMode === 'decimal'));
399
- },
400
- enumerable: true,
401
- configurable: true
402
- });
403
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasValueDecoration", {
404
- get: function () {
405
- var fillerOrExampleShown = this.computedFocused && !this.readOnly && this.hasFillerOrExampleText;
406
- return fillerOrExampleShown || this.hasPostfix;
407
- },
408
- enumerable: true,
409
- configurable: true
410
- });
411
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasPostfix", {
361
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "borderLeft", {
412
362
  get: function () {
413
- var isPostfixAllowed = this.hasValue || (this.computedFocused && !this.readOnly);
414
- return isPostfixAllowed && !!this.postfix;
363
+ return this.iconAlignLeft ? this.iconPaddingLeft : 0;
415
364
  },
416
365
  enumerable: true,
417
366
  configurable: true
418
367
  });
419
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasFillerOrExampleText", {
368
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "borderRight", {
420
369
  get: function () {
421
- return this.hasValue ? !!this.computedFiller : !!this.controller.exampleText;
370
+ return miscellaneous.getBorder(this.iconAlignRight, this.hasCleaner, this.hasTooltip, this.hasCustomContent);
422
371
  },
423
372
  enumerable: true,
424
373
  configurable: true
425
374
  });
426
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "postfixShifted", {
375
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "iconAlignLeft", {
427
376
  get: function () {
428
- return this.postfix !== '%' && (this.hasFillerOrExampleText || this.hasValue);
377
+ return this.hasIcon && this.iconAlign === 'left';
429
378
  },
430
379
  enumerable: true,
431
380
  configurable: true
432
381
  });
433
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "computedFiller", {
382
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "iconAlignRight", {
434
383
  get: function () {
435
- return this.hasExampleText
436
- ? this.controller.exampleText
437
- : this.filler.slice(this.value.length);
384
+ return this.hasIcon && this.iconAlign === 'right';
438
385
  },
439
386
  enumerable: true,
440
387
  configurable: true
@@ -449,13 +396,9 @@
449
396
  enumerable: true,
450
397
  configurable: true
451
398
  });
452
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "context", {
453
- get: function () {
454
- return this.getContext(this.size);
455
- },
456
- enumerable: true,
457
- configurable: true
458
- });
399
+ TuiPrimitiveTextfieldComponent.prototype.getIndent$ = function (element) {
400
+ return rxjs.fromEvent(element, 'scroll').pipe(operators.map(function () { return -1 * element.scrollLeft; }));
401
+ };
459
402
  TuiPrimitiveTextfieldComponent.prototype.clear = function () {
460
403
  if (this.nativeFocusableElement) {
461
404
  this.nativeFocusableElement.value = '';
@@ -482,33 +425,27 @@
482
425
  TuiPrimitiveTextfieldComponent.prototype.onAutofilled = function (autofilled) {
483
426
  this.updateAutofilled(autofilled);
484
427
  };
485
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "big", {
428
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "iconPaddingLeft", {
486
429
  get: function () {
487
- return this.size !== 's';
430
+ return this.size === 's' ? ICON_PADDING_S : ICON_PADDING;
488
431
  },
489
432
  enumerable: true,
490
433
  configurable: true
491
434
  });
492
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasIcon", {
435
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "placeholderRaisable", {
493
436
  get: function () {
494
- return !!this.iconContent;
437
+ return this.size !== 's' && !this.labelOutside;
495
438
  },
496
439
  enumerable: true,
497
440
  configurable: true
498
441
  });
499
- Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasExampleText", {
442
+ Object.defineProperty(TuiPrimitiveTextfieldComponent.prototype, "hasIcon", {
500
443
  get: function () {
501
- return (!!this.controller.exampleText &&
502
- this.computedFocused &&
503
- !this.hasValue &&
504
- !this.readOnly);
444
+ return !!this.iconContent;
505
445
  },
506
446
  enumerable: true,
507
447
  configurable: true
508
448
  });
509
- TuiPrimitiveTextfieldComponent.prototype.getContext = function ($implicit) {
510
- return { $implicit: $implicit };
511
- };
512
449
  TuiPrimitiveTextfieldComponent.prototype.updateAutofilled = function (autofilled) {
513
450
  if (this.autofilled === autofilled) {
514
451
  return;
@@ -555,6 +492,10 @@
555
492
  core.Input(),
556
493
  cdk.tuiDefaultProp()
557
494
  ], TuiPrimitiveTextfieldComponent.prototype, "disabled", void 0);
495
+ __decorate([
496
+ core.Input(),
497
+ cdk.tuiDefaultProp()
498
+ ], TuiPrimitiveTextfieldComponent.prototype, "prefix", void 0);
558
499
  __decorate([
559
500
  core.Input(),
560
501
  cdk.tuiDefaultProp()
@@ -584,22 +525,19 @@
584
525
  __decorate([
585
526
  core.HostBinding('class._invalid')
586
527
  ], TuiPrimitiveTextfieldComponent.prototype, "computedInvalid", null);
587
- __decorate([
588
- core.HostBinding('class._right-aligned')
589
- ], TuiPrimitiveTextfieldComponent.prototype, "rightAligned", null);
590
528
  __decorate([
591
529
  cdk.tuiPure
592
- ], TuiPrimitiveTextfieldComponent.prototype, "getContext", null);
530
+ ], TuiPrimitiveTextfieldComponent.prototype, "getIndent$", null);
593
531
  TuiPrimitiveTextfieldComponent = __decorate([
594
532
  core.Component({
595
533
  selector: 'tui-primitive-textfield',
596
- template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiPreventDefault=\"click\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"input\"\n [class.input_hidden]=\"inputHidden\"\n [style.borderLeftWidth.rem]=\"borderLeft\"\n [style.borderRightWidth.rem]=\"borderRight\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.maxLength]=\"controller.maxLength\"\n [attr.name]=\"name\"\n [attr.aria-placeholder]=\"controller.exampleText\"\n [attr.aria-invalid]=\"computedInvalid\"\n [autocomplete]=\"controller.autocomplete\"\n [type]=\"controller.type\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"input input_template\"\n [style.paddingLeft.rem]=\"borderLeft\"\n [style.borderRightWidth.rem]=\"borderRight\"\n >\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"content\">\n <div\n polymorpheus-outlet\n *ngIf=\"iconAlignLeft\"\n class=\"icon icon_left\"\n [content]=\"iconContent\"\n [context]=\"context\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <span\n [class.value_visible]=\"isContextTable\"\n aria-hidden=\"true\"\n class=\"value\"\n >\n {{value}}\n </span>\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"placeholder\"\n [class.placeholder_raised]=\"placeholderRaised\"\n [for]=\"id\"\n >\n <ng-content></ng-content>\n </label>\n <div\n *ngIf=\"hasValueDecoration\"\n class=\"value-decoration\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n >\n <span class=\"value-decoration-inner\">\n <span class=\"ghost\">{{value}}</span>\n <span automation-id=\"tui-primitive-textfield__example-text\"\n >{{computedFiller}}</span\n >\n <span\n *ngIf=\"hasPostfix\"\n class=\"postfix\"\n [class.postfix_shifted]=\"postfixShifted\"\n >{{postfix}}</span\n >\n </span>\n </div>\n </div>\n <div\n polymorpheus-outlet\n *ngIf=\"hasCustomContent\"\n class=\"custom-content\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg class=\"custom-icon\" [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n class=\"cleaner\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n src=\"tuiIconCloseLarge\"\n (click.stop)=\"clear()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"id\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <div\n polymorpheus-outlet\n *ngIf=\"iconAlignRight\"\n class=\"icon\"\n [content]=\"iconContent\"\n [context]=\"context\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n </div>\n</tui-wrapper>\n",
534
+ template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiPreventDefault=\"click\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"input\"\n [class.input_hidden]=\"inputHidden\"\n [style.textIndent.px]=\"decor.pre$ | async\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.maxLength]=\"controller.maxLength\"\n [attr.name]=\"name\"\n [attr.aria-placeholder]=\"controller.exampleText\"\n [attr.aria-invalid]=\"computedInvalid\"\n [autocomplete]=\"controller.autocomplete\"\n [type]=\"controller.type\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"input input_template\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n >\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"content\">\n <div\n *ngIf=\"iconAlignLeft\"\n polymorpheus-outlet\n class=\"icon icon_left\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <span\n aria-hidden=\"true\"\n class=\"value\"\n [class.value_visible]=\"isContextTable\"\n >\n {{ value }}\n </span>\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"placeholder\"\n [class.placeholder_raised]=\"placeholderRaised\"\n [for]=\"id\"\n >\n <ng-content></ng-content>\n </label>\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg class=\"custom-icon\" [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"cleaner\"\n (click.stop)=\"clear()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"id\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconAlignRight\"\n polymorpheus-outlet\n class=\"icon\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n </div>\n</tui-wrapper>\n",
597
535
  changeDetection: core.ChangeDetectionStrategy.OnPush,
598
536
  providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,
599
537
  host: {
600
538
  '($.data-mode.attr)': 'mode$',
601
539
  },
602
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m)}:host[data-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:solid transparent;border-width:0 .75rem;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{border-width:0 5rem 0 .75rem}:host[data-tui-host-size='l'] .input{border-width:0 1rem}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{width:114%;transform:translateY(-.625rem) scale(.87)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{width:118%;transform:translateY(-.5rem) scale(.85)}.ghost{visibility:hidden;white-space:pre;text-overflow:clip}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 .75rem;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding-right:.5rem}:host[data-tui-host-size='l'] .content{padding-left:1rem}.wrapper{flex:1;min-width:0;padding-right:.25rem}.value-decoration{display:flex;align-items:center;height:1.25rem;margin:-1.25rem 0;padding:.625rem 0;box-sizing:content-box;color:var(--tui-text-03);letter-spacing:normal;text-transform:none}:host._right-aligned .value-decoration{flex-direction:row-reverse;margin-right:-.25rem}:host[data-tui-host-size='m']._label-outside .value-decoration{margin-top:-1.1875rem}:host[data-mode=onDark] .value-decoration{color:var(--tui-text-03-night)}.value-decoration-inner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.postfix{transition-property:color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;color:var(--tui-text-01)}.postfix_shifted{margin-left:.5ch}:host[data-mode=onDark] .postfix{color:var(--tui-text-01-night)}.placeholder{transition-property:transform,min-width,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;height:1.25rem;font-size:.8125rem;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;color:var(--tui-text-02);transform-origin:left;letter-spacing:normal;text-transform:none}.placeholder_raised{width:114%;transform:translateY(-.625rem) scale(.87)}:host[data-tui-host-size='m'] .placeholder_raised{width:118%;transform:translateY(-.5rem) scale(.85);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.icon_left{margin:0 .5rem 0 -.25rem}:host[data-tui-host-size='s'] .icon_left{margin-right:.25rem}.value{height:0;display:none;visibility:hidden;white-space:pre}.value_visible{display:block}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input_hidden{opacity:0;text-indent:-10em;-webkit-user-select:none}:host[data-tui-host-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;padding-right:0;border:0 solid transparent;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
540
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.value{display:none;height:0;visibility:hidden;white-space:pre}.value_visible{display:block}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input_hidden{opacity:0;text-indent:-10em;-webkit-user-select:none}:host[data-tui-host-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
603
541
  }),
604
542
  __param(0, core.Inject(tokens.TUI_MODE)),
605
543
  __param(1, core.Inject(tokens.TUI_TEXTFIELD_APPEARANCE)),
@@ -609,6 +547,97 @@
609
547
  return TuiPrimitiveTextfieldComponent;
610
548
  }(cdk.AbstractTuiInteractive));
611
549
 
550
+ var TuiValueDecorationComponent = /** @class */ (function () {
551
+ function TuiValueDecorationComponent(textfield, controller) {
552
+ var _this = this;
553
+ this.textfield = textfield;
554
+ this.controller = controller;
555
+ this.pre$ = rxjs.defer(function () { var _a, _b; return (_b = (_a = _this.directive) === null || _a === void 0 ? void 0 : _a.waMutationObserver) !== null && _b !== void 0 ? _b : rxjs.EMPTY; }).pipe(operators.map(function () { var _a, _b; return (_b = (_a = _this.pre) === null || _a === void 0 ? void 0 : _a.nativeElement.offsetWidth) !== null && _b !== void 0 ? _b : 0; }), operators.startWith(0), operators.distinctUntilChanged());
556
+ }
557
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "value", {
558
+ get: function () {
559
+ return this.textfield.value;
560
+ },
561
+ enumerable: true,
562
+ configurable: true
563
+ });
564
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "filler", {
565
+ get: function () {
566
+ return this.focused
567
+ ? this.exampleText || this.textfield.filler.slice(this.value.length)
568
+ : '';
569
+ },
570
+ enumerable: true,
571
+ configurable: true
572
+ });
573
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "prefix", {
574
+ get: function () {
575
+ return this.decorationsVisible ? this.textfield.prefix : '';
576
+ },
577
+ enumerable: true,
578
+ configurable: true
579
+ });
580
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "postfix", {
581
+ get: function () {
582
+ return this.decorationsVisible ? this.computedPostfix : '';
583
+ },
584
+ enumerable: true,
585
+ configurable: true
586
+ });
587
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "exampleText", {
588
+ get: function () {
589
+ return !this.value && this.focused ? this.controller.exampleText : '';
590
+ },
591
+ enumerable: true,
592
+ configurable: true
593
+ });
594
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "decorationsVisible", {
595
+ get: function () {
596
+ return !!this.value || this.focused;
597
+ },
598
+ enumerable: true,
599
+ configurable: true
600
+ });
601
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "focused", {
602
+ get: function () {
603
+ return this.textfield.computedFocused && !this.textfield.readOnly;
604
+ },
605
+ enumerable: true,
606
+ configurable: true
607
+ });
608
+ Object.defineProperty(TuiValueDecorationComponent.prototype, "computedPostfix", {
609
+ get: function () {
610
+ return this.textfield.postfix && (this.filler || this.value)
611
+ ? " " + this.textfield.postfix
612
+ : this.textfield.postfix;
613
+ },
614
+ enumerable: true,
615
+ configurable: true
616
+ });
617
+ TuiValueDecorationComponent.ctorParameters = function () { return [
618
+ { type: TuiPrimitiveTextfieldComponent, decorators: [{ type: core.Inject, args: [TuiPrimitiveTextfieldComponent,] }] },
619
+ { type: directives.TuiTextfieldController, decorators: [{ type: core.Inject, args: [directives.TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] }
620
+ ]; };
621
+ __decorate([
622
+ core.ViewChild('pre', { read: core.ElementRef, static: true })
623
+ ], TuiValueDecorationComponent.prototype, "pre", void 0);
624
+ __decorate([
625
+ core.ViewChild(mutationObserver.MutationObserverDirective, { static: true })
626
+ ], TuiValueDecorationComponent.prototype, "directive", void 0);
627
+ TuiValueDecorationComponent = __decorate([
628
+ core.Component({
629
+ selector: 'tui-value-decoration',
630
+ template: "<span #pre subtree characterData waMutationObserver>{{ prefix }}</span>\n<span class=\"t-ghost\">{{ value }}</span>\n<span class=\"t-filler\">{{ filler }}</span>\n{{ postfix }}\n",
631
+ // It follows Change Detection of PrimitiveTextfield
632
+ changeDetection: core.ChangeDetectionStrategy.Default,
633
+ styles: [":host{display:block;height:1.25rem;margin:-1.25rem 0;padding:.625rem 0;box-sizing:content-box;color:var(--tui-text-01);white-space:nowrap;overflow:hidden}:host-context(tui-textfield[data-mode=onDark]) :host{color:var(--tui-text-01-night)}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip}.t-filler{color:var(--tui-text-03)}:host-context(tui-textfield[data-mode=onDark]) .t-filler{color:var(--tui-text-03-night)}"]
634
+ }),
635
+ __param(0, core.Inject(TuiPrimitiveTextfieldComponent)),
636
+ __param(1, core.Inject(directives.TUI_TEXTFIELD_WATCHED_CONTROLLER))
637
+ ], TuiValueDecorationComponent);
638
+ return TuiValueDecorationComponent;
639
+ }());
640
+
612
641
  var TuiPrimitiveTextfieldModule = /** @class */ (function () {
613
642
  function TuiPrimitiveTextfieldModule() {
614
643
  }
@@ -629,8 +658,10 @@
629
658
  cdk.TuiAutofilledModule,
630
659
  describedBy.TuiDescribedByModule,
631
660
  cdk.TuiPreventDefaultModule,
661
+ border.TuiBorderModule,
662
+ mutationObserver.MutationObserverModule,
632
663
  ],
633
- declarations: [TuiPrimitiveTextfieldComponent],
664
+ declarations: [TuiPrimitiveTextfieldComponent, TuiValueDecorationComponent],
634
665
  exports: [TuiPrimitiveTextfieldComponent],
635
666
  })
636
667
  ], TuiPrimitiveTextfieldModule);
@@ -640,6 +671,7 @@
640
671
  exports.TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = TUI_PRIMITIVE_TEXTFIELD_PROVIDERS;
641
672
  exports.TuiPrimitiveTextfieldComponent = TuiPrimitiveTextfieldComponent;
642
673
  exports.TuiPrimitiveTextfieldModule = TuiPrimitiveTextfieldModule;
674
+ exports.TuiValueDecorationComponent = TuiValueDecorationComponent;
643
675
 
644
676
  Object.defineProperty(exports, '__esModule', { value: true });
645
677