@taiga-ui/core 4.51.0 → 4.52.0-canary.0ec45da

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 (498) hide show
  1. package/classes/driver.d.ts +1 -1
  2. package/components/alert/alert.component.d.ts +5 -6
  3. package/components/alert/alert.directive.d.ts +4 -3
  4. package/components/alert/alert.interfaces.d.ts +3 -2
  5. package/components/alert/alert.service.d.ts +6 -2
  6. package/components/alert/alert.tokens.d.ts +1 -7
  7. package/components/alert/index.d.ts +0 -1
  8. package/components/button/button.directive.d.ts +2 -3
  9. package/components/button/button.options.d.ts +1 -1
  10. package/components/calendar/calendar-sheet.component.d.ts +1 -6
  11. package/components/cell/cell.directive.d.ts +9 -0
  12. package/components/cell/cell.options.d.ts +6 -0
  13. package/components/cell/index.d.ts +2 -0
  14. package/components/data-list/data-list.component.d.ts +1 -1
  15. package/components/dialog/active-zone-adapter.directive.d.ts +11 -0
  16. package/components/dialog/dialog.component.d.ts +6 -11
  17. package/components/dialog/dialog.directive.d.ts +5 -4
  18. package/components/dialog/dialog.factory.d.ts +1 -1
  19. package/components/dialog/dialog.options.d.ts +26 -0
  20. package/components/dialog/{dialog-close.service.d.ts → dialog.providers.d.ts} +4 -1
  21. package/components/dialog/dialog.service.d.ts +6 -3
  22. package/components/dialog/index.d.ts +2 -3
  23. package/components/error/error.component.d.ts +6 -8
  24. package/components/error/error.d.ts +4 -0
  25. package/components/error/error.directive.d.ts +19 -0
  26. package/components/error/error.pipe.d.ts +10 -0
  27. package/components/error/index.d.ts +3 -0
  28. package/components/expand/expand.component.d.ts +9 -28
  29. package/components/expand/index.d.ts +0 -2
  30. package/components/header/header.directive.d.ts +17 -0
  31. package/components/header/index.d.ts +1 -0
  32. package/components/icon/icon.component.d.ts +6 -8
  33. package/components/index.d.ts +3 -1
  34. package/components/link/link.directive.d.ts +2 -2
  35. package/components/loader/loader.component.d.ts +7 -7
  36. package/components/modal/index.d.ts +2 -0
  37. package/components/modal/modal.component.d.ts +17 -0
  38. package/components/modal/modal.service.d.ts +13 -0
  39. package/components/notification/notification.directive.d.ts +7 -11
  40. package/components/notification/notification.options.d.ts +1 -1
  41. package/components/root/root.component.d.ts +4 -6
  42. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  43. package/components/spin-button/spin-button.component.d.ts +8 -9
  44. package/components/textfield/index.d.ts +1 -3
  45. package/components/textfield/textfield-content.directive.d.ts +3 -2
  46. package/components/textfield/textfield-icon.d.ts +3 -3
  47. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +7 -9
  48. package/components/textfield/textfield.component.d.ts +13 -13
  49. package/components/textfield/textfield.d.ts +2 -3
  50. package/components/textfield/textfield.directive.d.ts +11 -14
  51. package/components/textfield/textfield.options.d.ts +8 -11
  52. package/directives/appearance/appearance.directive.d.ts +5 -13
  53. package/directives/appearance/appearance.options.d.ts +1 -1
  54. package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
  55. package/directives/dropdown/dropdown-context.directive.d.ts +2 -0
  56. package/directives/dropdown/dropdown.d.ts +2 -2
  57. package/directives/dropdown/dropdown.directive.d.ts +1 -2
  58. package/directives/dropdown/index.d.ts +1 -3
  59. package/directives/hint/hint-describe.directive.d.ts +4 -6
  60. package/directives/hint/hint-host.directive.d.ts +2 -2
  61. package/directives/hint/hint-hover.directive.d.ts +3 -4
  62. package/directives/hint/hint-manual.directive.d.ts +2 -2
  63. package/directives/hint/hint-options.directive.d.ts +3 -3
  64. package/directives/hint/hint-overflow.directive.d.ts +2 -2
  65. package/directives/hint/hint-position.directive.d.ts +4 -5
  66. package/directives/hint/hint-unstyled.component.d.ts +2 -7
  67. package/directives/hint/hint.component.d.ts +10 -11
  68. package/directives/hint/hint.directive.d.ts +9 -11
  69. package/directives/hint/index.d.ts +0 -2
  70. package/directives/icons/icons.bindings.d.ts +5 -0
  71. package/directives/icons/icons.directive.d.ts +8 -14
  72. package/directives/icons/index.d.ts +1 -0
  73. package/directives/index.d.ts +1 -1
  74. package/directives/notification/index.d.ts +2 -0
  75. package/directives/notification/notification.directive.d.ts +11 -0
  76. package/directives/notification/notification.service.d.ts +12 -0
  77. package/directives/popup/popup.directive.d.ts +6 -5
  78. package/directives/popup/popup.service.d.ts +1 -1
  79. package/directives/popup/popups.component.d.ts +2 -2
  80. package/directives/title/title.directive.d.ts +2 -3
  81. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-classes.mjs +3 -3
  83. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-alert.mjs +60 -100
  85. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-components-button.mjs +13 -21
  87. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-components-calendar.mjs +24 -27
  89. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  91. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  92. package/fesm2022/taiga-ui-core-components-data-list.mjs +32 -34
  93. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-components-dialog.mjs +125 -94
  95. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-components-error.mjs +109 -26
  97. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-core-components-expand.mjs +34 -132
  99. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-components-header.mjs +42 -0
  101. package/fesm2022/taiga-ui-core-components-header.mjs.map +1 -0
  102. package/fesm2022/taiga-ui-core-components-icon.mjs +22 -30
  103. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-core-components-label.mjs +10 -13
  105. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-components-link.mjs +13 -18
  107. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-core-components-loader.mjs +15 -29
  109. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
  111. package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
  112. package/fesm2022/taiga-ui-core-components-notification.mjs +24 -53
  113. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-core-components-root.mjs +20 -51
  115. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +28 -28
  117. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-core-components-spin-button.mjs +16 -29
  119. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-core-components-textfield.mjs +171 -300
  121. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-core-components.mjs +3 -1
  123. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-directives-appearance.mjs +26 -63
  125. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-directives-date-format.mjs +5 -5
  127. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +96 -131
  129. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-directives-group.mjs +10 -13
  131. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-directives-hint.mjs +145 -244
  133. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-core-directives-icons.mjs +41 -41
  135. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +12 -12
  137. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-core-directives-notification.mjs +73 -0
  139. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +1 -0
  140. package/fesm2022/taiga-ui-core-directives-number-format.mjs +5 -5
  141. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-core-directives-popup.mjs +20 -27
  143. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-core-directives-title.mjs +13 -19
  145. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-core-directives.mjs +1 -1
  147. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +3 -3
  148. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +3 -3
  150. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-core-pipes-flag.mjs +3 -3
  152. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +3 -3
  154. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +3 -3
  156. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-core-pipes-initials.mjs +3 -3
  158. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-core-pipes-month.mjs +5 -4
  160. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +3 -3
  162. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-core-pipes.mjs +0 -1
  164. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-core-services.mjs +18 -18
  166. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-core-tokens.mjs +31 -17
  168. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +50 -4
  172. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  173. package/package.json +27 -123
  174. package/pipes/index.d.ts +0 -1
  175. package/styles/components/appearance.less +6 -0
  176. package/styles/components/button.less +0 -2
  177. package/styles/components/icon.less +37 -12
  178. package/styles/components/icons.less +45 -7
  179. package/styles/components/link.less +1 -3
  180. package/styles/mixins/mixins.less +1 -2
  181. package/styles/mixins/mixins.scss +1 -2
  182. package/styles/mixins/slider.less +21 -16
  183. package/styles/theme/appearance/outline.less +1 -2
  184. package/styles/theme/appearance/textfield.less +1 -2
  185. package/tokens/i18n.d.ts +7 -7
  186. package/tokens/icon-resolver.d.ts +1 -4
  187. package/tokens/index.d.ts +1 -0
  188. package/tokens/validation-errors.d.ts +4 -0
  189. package/types/index.d.ts +0 -1
  190. package/utils/miscellaneous/index.d.ts +1 -0
  191. package/utils/miscellaneous/provide-taiga.d.ts +13 -0
  192. package/components/alert/alerts.component.d.ts +0 -12
  193. package/components/dialog/dialog.interfaces.d.ts +0 -34
  194. package/components/dialog/dialog.tokens.d.ts +0 -15
  195. package/components/expand/expand-content.directive.d.ts +0 -8
  196. package/components/expand/expand.d.ts +0 -6
  197. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  198. package/components/fullscreen/index.d.ts +0 -1
  199. package/components/textfield/select.directive.d.ts +0 -19
  200. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  201. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  202. package/directives/dropdown/dropdown.service.d.ts +0 -6
  203. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  204. package/directives/hint/hint.service.d.ts +0 -13
  205. package/directives/hint/hints.component.d.ts +0 -12
  206. package/directives/surface/index.d.ts +0 -1
  207. package/directives/surface/surface.directive.d.ts +0 -8
  208. package/esm2022/animations/animations.mjs +0 -363
  209. package/esm2022/animations/index.mjs +0 -2
  210. package/esm2022/animations/taiga-ui-core-animations.mjs +0 -5
  211. package/esm2022/classes/accessors.mjs +0 -31
  212. package/esm2022/classes/driver.mjs +0 -36
  213. package/esm2022/classes/index.mjs +0 -4
  214. package/esm2022/classes/taiga-ui-core-classes.mjs +0 -5
  215. package/esm2022/classes/vehicle.mjs +0 -7
  216. package/esm2022/components/alert/alert.component.mjs +0 -43
  217. package/esm2022/components/alert/alert.directive.mjs +0 -21
  218. package/esm2022/components/alert/alert.interfaces.mjs +0 -2
  219. package/esm2022/components/alert/alert.service.mjs +0 -18
  220. package/esm2022/components/alert/alert.tokens.mjs +0 -51
  221. package/esm2022/components/alert/alerts.component.mjs +0 -34
  222. package/esm2022/components/alert/index.mjs +0 -6
  223. package/esm2022/components/alert/taiga-ui-core-components-alert.mjs +0 -5
  224. package/esm2022/components/button/button.directive.mjs +0 -43
  225. package/esm2022/components/button/button.options.mjs +0 -7
  226. package/esm2022/components/button/index.mjs +0 -3
  227. package/esm2022/components/button/taiga-ui-core-components-button.mjs +0 -5
  228. package/esm2022/components/calendar/calendar-sheet.component.mjs +0 -167
  229. package/esm2022/components/calendar/calendar-sheet.options.mjs +0 -12
  230. package/esm2022/components/calendar/calendar-spin.component.mjs +0 -53
  231. package/esm2022/components/calendar/calendar-year.component.mjs +0 -128
  232. package/esm2022/components/calendar/calendar.component.mjs +0 -147
  233. package/esm2022/components/calendar/index.mjs +0 -6
  234. package/esm2022/components/calendar/taiga-ui-core-components-calendar.mjs +0 -5
  235. package/esm2022/components/data-list/data-list.component.mjs +0 -139
  236. package/esm2022/components/data-list/data-list.directive.mjs +0 -19
  237. package/esm2022/components/data-list/data-list.mjs +0 -14
  238. package/esm2022/components/data-list/data-list.tokens.mjs +0 -18
  239. package/esm2022/components/data-list/index.mjs +0 -9
  240. package/esm2022/components/data-list/opt-group.directive.mjs +0 -21
  241. package/esm2022/components/data-list/option/option-content.mjs +0 -36
  242. package/esm2022/components/data-list/option/option-legacy.component.mjs +0 -90
  243. package/esm2022/components/data-list/option/option.directive.mjs +0 -109
  244. package/esm2022/components/data-list/taiga-ui-core-components-data-list.mjs +0 -5
  245. package/esm2022/components/dialog/dialog-close.service.mjs +0 -41
  246. package/esm2022/components/dialog/dialog.component.mjs +0 -63
  247. package/esm2022/components/dialog/dialog.directive.mjs +0 -21
  248. package/esm2022/components/dialog/dialog.factory.mjs +0 -15
  249. package/esm2022/components/dialog/dialog.interfaces.mjs +0 -2
  250. package/esm2022/components/dialog/dialog.service.mjs +0 -18
  251. package/esm2022/components/dialog/dialog.tokens.mjs +0 -33
  252. package/esm2022/components/dialog/dialogs.component.mjs +0 -29
  253. package/esm2022/components/dialog/index.mjs +0 -8
  254. package/esm2022/components/dialog/taiga-ui-core-components-dialog.mjs +0 -5
  255. package/esm2022/components/error/error.component.mjs +0 -34
  256. package/esm2022/components/error/index.mjs +0 -2
  257. package/esm2022/components/error/taiga-ui-core-components-error.mjs +0 -5
  258. package/esm2022/components/expand/expand-content.directive.mjs +0 -18
  259. package/esm2022/components/expand/expand.component.mjs +0 -124
  260. package/esm2022/components/expand/expand.mjs +0 -7
  261. package/esm2022/components/expand/index.mjs +0 -4
  262. package/esm2022/components/expand/taiga-ui-core-components-expand.mjs +0 -5
  263. package/esm2022/components/fullscreen/fullscreen.component.mjs +0 -67
  264. package/esm2022/components/fullscreen/index.mjs +0 -2
  265. package/esm2022/components/fullscreen/taiga-ui-core-components-fullscreen.mjs +0 -5
  266. package/esm2022/components/icon/icon.component.mjs +0 -35
  267. package/esm2022/components/icon/icon.pipe.mjs +0 -19
  268. package/esm2022/components/icon/index.mjs +0 -3
  269. package/esm2022/components/icon/taiga-ui-core-components-icon.mjs +0 -5
  270. package/esm2022/components/index.mjs +0 -18
  271. package/esm2022/components/label/index.mjs +0 -2
  272. package/esm2022/components/label/label.directive.mjs +0 -41
  273. package/esm2022/components/label/taiga-ui-core-components-label.mjs +0 -5
  274. package/esm2022/components/link/index.mjs +0 -3
  275. package/esm2022/components/link/link.directive.mjs +0 -47
  276. package/esm2022/components/link/link.options.mjs +0 -13
  277. package/esm2022/components/link/taiga-ui-core-components-link.mjs +0 -5
  278. package/esm2022/components/loader/index.mjs +0 -3
  279. package/esm2022/components/loader/loader.component.mjs +0 -46
  280. package/esm2022/components/loader/loader.options.mjs +0 -18
  281. package/esm2022/components/loader/taiga-ui-core-components-loader.mjs +0 -5
  282. package/esm2022/components/notification/index.mjs +0 -3
  283. package/esm2022/components/notification/notification.directive.mjs +0 -81
  284. package/esm2022/components/notification/notification.options.mjs +0 -23
  285. package/esm2022/components/notification/taiga-ui-core-components-notification.mjs +0 -5
  286. package/esm2022/components/root/index.mjs +0 -2
  287. package/esm2022/components/root/root.component.mjs +0 -85
  288. package/esm2022/components/root/taiga-ui-core-components-root.mjs +0 -5
  289. package/esm2022/components/scrollbar/index.mjs +0 -9
  290. package/esm2022/components/scrollbar/scroll-controls.component.mjs +0 -32
  291. package/esm2022/components/scrollbar/scroll-into-view.directive.mjs +0 -43
  292. package/esm2022/components/scrollbar/scroll-ref.directive.mjs +0 -19
  293. package/esm2022/components/scrollbar/scrollable.directive.mjs +0 -26
  294. package/esm2022/components/scrollbar/scrollbar.component.mjs +0 -72
  295. package/esm2022/components/scrollbar/scrollbar.directive.mjs +0 -93
  296. package/esm2022/components/scrollbar/scrollbar.options.mjs +0 -6
  297. package/esm2022/components/scrollbar/scrollbar.service.mjs +0 -46
  298. package/esm2022/components/scrollbar/taiga-ui-core-components-scrollbar.mjs +0 -5
  299. package/esm2022/components/spin-button/index.mjs +0 -2
  300. package/esm2022/components/spin-button/spin-button.component.mjs +0 -51
  301. package/esm2022/components/spin-button/taiga-ui-core-components-spin-button.mjs +0 -5
  302. package/esm2022/components/taiga-ui-core-components.mjs +0 -5
  303. package/esm2022/components/textfield/index.mjs +0 -16
  304. package/esm2022/components/textfield/select-like.directive.mjs +0 -42
  305. package/esm2022/components/textfield/select.directive.mjs +0 -65
  306. package/esm2022/components/textfield/taiga-ui-core-components-textfield.mjs +0 -5
  307. package/esm2022/components/textfield/textfield-accessor.mjs +0 -7
  308. package/esm2022/components/textfield/textfield-auxiliary.mjs +0 -7
  309. package/esm2022/components/textfield/textfield-content.directive.mjs +0 -22
  310. package/esm2022/components/textfield/textfield-dropdown.directive.mjs +0 -43
  311. package/esm2022/components/textfield/textfield-icon.mjs +0 -10
  312. package/esm2022/components/textfield/textfield-multi/textfield-item.component.mjs +0 -34
  313. package/esm2022/components/textfield/textfield-multi/textfield-multi.component.mjs +0 -137
  314. package/esm2022/components/textfield/textfield.component.mjs +0 -177
  315. package/esm2022/components/textfield/textfield.directive.mjs +0 -131
  316. package/esm2022/components/textfield/textfield.mjs +0 -19
  317. package/esm2022/components/textfield/textfield.options.mjs +0 -63
  318. package/esm2022/components/textfield/with-native-picker.directive.mjs +0 -24
  319. package/esm2022/directives/appearance/appearance.bindings.mjs +0 -15
  320. package/esm2022/directives/appearance/appearance.directive.mjs +0 -79
  321. package/esm2022/directives/appearance/appearance.options.mjs +0 -12
  322. package/esm2022/directives/appearance/index.mjs +0 -5
  323. package/esm2022/directives/appearance/taiga-ui-core-directives-appearance.mjs +0 -5
  324. package/esm2022/directives/appearance/with-appearance.mjs +0 -27
  325. package/esm2022/directives/date-format/date-format.directive.mjs +0 -31
  326. package/esm2022/directives/date-format/index.mjs +0 -2
  327. package/esm2022/directives/date-format/taiga-ui-core-directives-date-format.mjs +0 -5
  328. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +0 -70
  329. package/esm2022/directives/dropdown/dropdown-hover.directive.mjs +0 -70
  330. package/esm2022/directives/dropdown/dropdown-hover.options.mjs +0 -17
  331. package/esm2022/directives/dropdown/dropdown-limit-width.mjs +0 -37
  332. package/esm2022/directives/dropdown/dropdown-manual.directive.mjs +0 -27
  333. package/esm2022/directives/dropdown/dropdown-open-legacy.directive.mjs +0 -33
  334. package/esm2022/directives/dropdown/dropdown-open.directive.mjs +0 -169
  335. package/esm2022/directives/dropdown/dropdown-options.directive.mjs +0 -73
  336. package/esm2022/directives/dropdown/dropdown-portal.directive.mjs +0 -34
  337. package/esm2022/directives/dropdown/dropdown-position-sided.directive.mjs +0 -69
  338. package/esm2022/directives/dropdown/dropdown-position.directive.mjs +0 -88
  339. package/esm2022/directives/dropdown/dropdown-selection.directive.mjs +0 -159
  340. package/esm2022/directives/dropdown/dropdown.bindings.mjs +0 -19
  341. package/esm2022/directives/dropdown/dropdown.component.mjs +0 -92
  342. package/esm2022/directives/dropdown/dropdown.directive.mjs +0 -110
  343. package/esm2022/directives/dropdown/dropdown.driver.mjs +0 -32
  344. package/esm2022/directives/dropdown/dropdown.mjs +0 -29
  345. package/esm2022/directives/dropdown/dropdown.providers.mjs +0 -10
  346. package/esm2022/directives/dropdown/dropdown.service.mjs +0 -15
  347. package/esm2022/directives/dropdown/dropdowns.component.mjs +0 -24
  348. package/esm2022/directives/dropdown/index.mjs +0 -22
  349. package/esm2022/directives/dropdown/taiga-ui-core-directives-dropdown.mjs +0 -5
  350. package/esm2022/directives/dropdown/with-dropdown-open.directive.mjs +0 -23
  351. package/esm2022/directives/group/group.directive.mjs +0 -53
  352. package/esm2022/directives/group/group.options.mjs +0 -15
  353. package/esm2022/directives/group/index.mjs +0 -3
  354. package/esm2022/directives/group/taiga-ui-core-directives-group.mjs +0 -5
  355. package/esm2022/directives/hint/hint-describe.directive.mjs +0 -50
  356. package/esm2022/directives/hint/hint-driver.directive.mjs +0 -19
  357. package/esm2022/directives/hint/hint-host.directive.mjs +0 -27
  358. package/esm2022/directives/hint/hint-hover.directive.mjs +0 -59
  359. package/esm2022/directives/hint/hint-manual.directive.mjs +0 -33
  360. package/esm2022/directives/hint/hint-options.directive.mjs +0 -86
  361. package/esm2022/directives/hint/hint-overflow.directive.mjs +0 -38
  362. package/esm2022/directives/hint/hint-pointer.directive.mjs +0 -33
  363. package/esm2022/directives/hint/hint-position.directive.mjs +0 -112
  364. package/esm2022/directives/hint/hint-unstyled.component.mjs +0 -39
  365. package/esm2022/directives/hint/hint.component.mjs +0 -127
  366. package/esm2022/directives/hint/hint.directive.mjs +0 -99
  367. package/esm2022/directives/hint/hint.mjs +0 -27
  368. package/esm2022/directives/hint/hint.providers.mjs +0 -9
  369. package/esm2022/directives/hint/hint.service.mjs +0 -29
  370. package/esm2022/directives/hint/hints.component.mjs +0 -34
  371. package/esm2022/directives/hint/index.mjs +0 -17
  372. package/esm2022/directives/hint/taiga-ui-core-directives-hint.mjs +0 -5
  373. package/esm2022/directives/icons/icons.directive.mjs +0 -56
  374. package/esm2022/directives/icons/index.mjs +0 -3
  375. package/esm2022/directives/icons/taiga-ui-core-directives-icons.mjs +0 -5
  376. package/esm2022/directives/icons/with-icons.mjs +0 -22
  377. package/esm2022/directives/index.mjs +0 -12
  378. package/esm2022/directives/items-handlers/index.mjs +0 -4
  379. package/esm2022/directives/items-handlers/items-handlers.directive.mjs +0 -63
  380. package/esm2022/directives/items-handlers/items-handlers.tokens.mjs +0 -27
  381. package/esm2022/directives/items-handlers/items-handlers.validator.mjs +0 -32
  382. package/esm2022/directives/items-handlers/taiga-ui-core-directives-items-handlers.mjs +0 -5
  383. package/esm2022/directives/number-format/index.mjs +0 -2
  384. package/esm2022/directives/number-format/number-format.directive.mjs +0 -31
  385. package/esm2022/directives/number-format/taiga-ui-core-directives-number-format.mjs +0 -5
  386. package/esm2022/directives/popup/index.mjs +0 -4
  387. package/esm2022/directives/popup/popup.directive.mjs +0 -31
  388. package/esm2022/directives/popup/popup.service.mjs +0 -15
  389. package/esm2022/directives/popup/popups.component.mjs +0 -20
  390. package/esm2022/directives/popup/taiga-ui-core-directives-popup.mjs +0 -5
  391. package/esm2022/directives/surface/index.mjs +0 -2
  392. package/esm2022/directives/surface/surface.directive.mjs +0 -44
  393. package/esm2022/directives/surface/taiga-ui-core-directives-surface.mjs +0 -5
  394. package/esm2022/directives/taiga-ui-core-directives.mjs +0 -5
  395. package/esm2022/directives/title/index.mjs +0 -2
  396. package/esm2022/directives/title/taiga-ui-core-directives-title.mjs +0 -5
  397. package/esm2022/directives/title/title.directive.mjs +0 -37
  398. package/esm2022/index.mjs +0 -9
  399. package/esm2022/pipes/auto-color/auto-color.pipe.mjs +0 -19
  400. package/esm2022/pipes/auto-color/index.mjs +0 -2
  401. package/esm2022/pipes/auto-color/taiga-ui-core-pipes-auto-color.mjs +0 -5
  402. package/esm2022/pipes/calendar-sheet/calendar-sheet.pipe.mjs +0 -54
  403. package/esm2022/pipes/calendar-sheet/index.mjs +0 -2
  404. package/esm2022/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.mjs +0 -5
  405. package/esm2022/pipes/calendar-sheet/utils.mjs +0 -36
  406. package/esm2022/pipes/fallback-src/fallback-src.pipe.mjs +0 -23
  407. package/esm2022/pipes/fallback-src/index.mjs +0 -2
  408. package/esm2022/pipes/fallback-src/taiga-ui-core-pipes-fallback-src.mjs +0 -5
  409. package/esm2022/pipes/flag/flag.pipe.mjs +0 -26
  410. package/esm2022/pipes/flag/index.mjs +0 -2
  411. package/esm2022/pipes/flag/taiga-ui-core-pipes-flag.mjs +0 -5
  412. package/esm2022/pipes/format-date/format-date.pipe.mjs +0 -22
  413. package/esm2022/pipes/format-date/index.mjs +0 -2
  414. package/esm2022/pipes/format-date/taiga-ui-core-pipes-format-date.mjs +0 -5
  415. package/esm2022/pipes/format-number/format-number.pipe.mjs +0 -36
  416. package/esm2022/pipes/format-number/index.mjs +0 -2
  417. package/esm2022/pipes/format-number/taiga-ui-core-pipes-format-number.mjs +0 -5
  418. package/esm2022/pipes/index.mjs +0 -10
  419. package/esm2022/pipes/initials/index.mjs +0 -2
  420. package/esm2022/pipes/initials/initials.pipe.mjs +0 -23
  421. package/esm2022/pipes/initials/taiga-ui-core-pipes-initials.mjs +0 -5
  422. package/esm2022/pipes/month/index.mjs +0 -2
  423. package/esm2022/pipes/month/month.pipe.mjs +0 -23
  424. package/esm2022/pipes/month/taiga-ui-core-pipes-month.mjs +0 -5
  425. package/esm2022/pipes/order-week-days/index.mjs +0 -2
  426. package/esm2022/pipes/order-week-days/order-week-days.pipe.mjs +0 -30
  427. package/esm2022/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.mjs +0 -5
  428. package/esm2022/pipes/taiga-ui-core-pipes.mjs +0 -5
  429. package/esm2022/services/breakpoint.service.mjs +0 -31
  430. package/esm2022/services/dark-theme.service.mjs +0 -24
  431. package/esm2022/services/format-date.service.mjs +0 -24
  432. package/esm2022/services/index.mjs +0 -6
  433. package/esm2022/services/position.service.mjs +0 -26
  434. package/esm2022/services/taiga-ui-core-services.mjs +0 -5
  435. package/esm2022/services/visual-viewport.service.mjs +0 -29
  436. package/esm2022/taiga-ui-core.mjs +0 -5
  437. package/esm2022/tokens/animations-speed.mjs +0 -9
  438. package/esm2022/tokens/assets-path.mjs +0 -11
  439. package/esm2022/tokens/auxiliary.mjs +0 -9
  440. package/esm2022/tokens/common-icons.mjs +0 -18
  441. package/esm2022/tokens/dark-mode.mjs +0 -41
  442. package/esm2022/tokens/date-format.mjs +0 -20
  443. package/esm2022/tokens/day-type-handler.mjs +0 -8
  444. package/esm2022/tokens/first-day-of-week.mjs +0 -9
  445. package/esm2022/tokens/i18n.mjs +0 -45
  446. package/esm2022/tokens/icon-resolver.mjs +0 -22
  447. package/esm2022/tokens/icon.mjs +0 -8
  448. package/esm2022/tokens/icons.mjs +0 -21
  449. package/esm2022/tokens/index.mjs +0 -21
  450. package/esm2022/tokens/media.mjs +0 -12
  451. package/esm2022/tokens/number-format.mjs +0 -24
  452. package/esm2022/tokens/reduced-motion.mjs +0 -7
  453. package/esm2022/tokens/scroll-ref.mjs +0 -6
  454. package/esm2022/tokens/selection-stream.mjs +0 -14
  455. package/esm2022/tokens/spin-icons.mjs +0 -8
  456. package/esm2022/tokens/taiga-ui-core-tokens.mjs +0 -5
  457. package/esm2022/tokens/theme.mjs +0 -5
  458. package/esm2022/tokens/viewport.mjs +0 -35
  459. package/esm2022/types/direction.mjs +0 -2
  460. package/esm2022/types/index.mjs +0 -2
  461. package/esm2022/types/interactive-state.mjs +0 -2
  462. package/esm2022/types/orientation.mjs +0 -2
  463. package/esm2022/types/point.mjs +0 -2
  464. package/esm2022/types/portal-item.mjs +0 -2
  465. package/esm2022/types/range-state.mjs +0 -2
  466. package/esm2022/types/size.mjs +0 -13
  467. package/esm2022/types/taiga-ui-core-types.mjs +0 -5
  468. package/esm2022/types/value-content-context.mjs +0 -2
  469. package/esm2022/utils/dom/check-fixed-position.mjs +0 -9
  470. package/esm2022/utils/dom/get-viewport.mjs +0 -24
  471. package/esm2022/utils/dom/get-word-range.mjs +0 -51
  472. package/esm2022/utils/dom/index.mjs +0 -4
  473. package/esm2022/utils/dom/taiga-ui-core-utils-dom.mjs +0 -5
  474. package/esm2022/utils/format/format-number.mjs +0 -47
  475. package/esm2022/utils/format/get-fractional-part-padded.mjs +0 -16
  476. package/esm2022/utils/format/index.mjs +0 -5
  477. package/esm2022/utils/format/number-to-string-without-exp.mjs +0 -18
  478. package/esm2022/utils/format/string-hash-to-hsl.mjs +0 -21
  479. package/esm2022/utils/format/taiga-ui-core-utils-format.mjs +0 -5
  480. package/esm2022/utils/index.mjs +0 -4
  481. package/esm2022/utils/miscellaneous/font-scaling.mjs +0 -11
  482. package/esm2022/utils/miscellaneous/index.mjs +0 -7
  483. package/esm2022/utils/miscellaneous/is-editing-key.mjs +0 -18
  484. package/esm2022/utils/miscellaneous/is-obscured.mjs +0 -8
  485. package/esm2022/utils/miscellaneous/override-options.mjs +0 -11
  486. package/esm2022/utils/miscellaneous/size-bigger.mjs +0 -19
  487. package/esm2022/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.mjs +0 -5
  488. package/esm2022/utils/miscellaneous/to-animation-options.mjs +0 -16
  489. package/esm2022/utils/taiga-ui-core-utils.mjs +0 -5
  490. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -73
  491. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  492. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  493. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  494. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
  495. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
  496. package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
  497. package/pipes/fallback-src/index.d.ts +0 -1
  498. package/types/portal-item.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/select-like.directive.ts","../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/textfield-accessor.ts","../../../projects/core/components/textfield/textfield-dropdown.directive.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield.directive.ts","../../../projects/core/components/textfield/select.directive.ts","../../../projects/core/components/textfield/select.template.html","../../../projects/core/components/textfield/textfield-multi/textfield-item.component.ts","../../../projects/core/components/textfield/textfield-multi/textfield-multi.component.ts","../../../projects/core/components/textfield/textfield-multi/textfield-multi.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/textfield-auxiliary.ts","../../../projects/core/components/textfield/textfield-content.directive.ts","../../../projects/core/components/textfield/textfield-icon.ts","../../../projects/core/components/textfield/with-native-picker.directive.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import {Directive, inject} from '@angular/core';\nimport {TUI_IS_ANDROID} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n@Directive({\n standalone: true,\n selector: '[tuiSelectLike]',\n host: {\n tuiSelectLike: '',\n inputmode: 'none',\n spellcheck: 'false',\n autocomplete: 'off',\n // Click on cleaner icon does not trigger `beforeinput` event --> handle all kind of deletion in input event\n '(beforeinput)': '$event.inputType.includes(\"delete\") || $event.preventDefault()',\n '(input.capture)': '$event.inputType?.includes(\"delete\") && clear()',\n // Hide Android text select handle (bubble marker below transparent caret)\n '(mousedown)': 'prevent($event)',\n },\n})\nexport class TuiSelectLike {\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly isAndroid = inject(TUI_IS_ANDROID);\n\n protected clear(): void {\n this.el.value = '';\n }\n\n protected prevent(event: MouseEvent): void {\n if (!this.isAndroid) {\n return;\n }\n\n event.preventDefault();\n this.el.focus();\n }\n}\n","import {\n Directive,\n inject,\n InjectionToken,\n Input,\n Optional,\n type Provider,\n signal,\n SkipSelf,\n type WritableSignal,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nconst DEFAULT = {\n appearance: 'textfield',\n size: 'l',\n cleaner: true,\n} as const;\n\nexport interface TuiTextfieldOptions {\n readonly appearance: WritableSignal<string>;\n readonly size: WritableSignal<TuiSizeL | TuiSizeS>;\n readonly cleaner: WritableSignal<boolean>;\n}\n\nexport const TUI_TEXTFIELD_OPTIONS = new InjectionToken<TuiTextfieldOptions>(\n ngDevMode ? 'TUI_TEXTFIELD_OPTIONS' : '',\n {\n factory: () => ({\n appearance: signal(DEFAULT.appearance),\n size: signal(DEFAULT.size),\n cleaner: signal(DEFAULT.cleaner),\n }),\n },\n);\n\nexport function tuiTextfieldOptionsProvider(\n options: Partial<TuiTextfieldOptions>,\n): Provider {\n return {\n provide: TUI_TEXTFIELD_OPTIONS,\n deps: [[new Optional(), new SkipSelf(), TUI_TEXTFIELD_OPTIONS]],\n useFactory: (parent: TuiTextfieldOptions | null) => ({\n appearance: signal(parent?.appearance() ?? DEFAULT.appearance),\n size: signal(parent?.size() ?? DEFAULT.size),\n cleaner: signal(parent?.cleaner() ?? DEFAULT.cleaner),\n ...options,\n }),\n };\n}\n\n@Directive({\n standalone: true,\n selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n // TODO: refactor to signal inputs after Angular update\n public appearance = signal(this.options.appearance());\n public size = signal(this.options.size());\n public cleaner = signal(this.options.cleaner());\n\n @Input()\n public set tuiTextfieldAppearance(appearance: string) {\n this.appearance.set(appearance);\n }\n\n @Input()\n public set tuiTextfieldSize(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\n\n @Input()\n public set tuiTextfieldCleaner(enabled: boolean) {\n this.cleaner.set(enabled);\n }\n}\n","import {InjectionToken, type Provider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiTextfieldAccessor<T = unknown> {\n setValue(value: T | T[] | null): void;\n}\n\nexport const TUI_TEXTFIELD_ACCESSOR = new InjectionToken<TuiTextfieldAccessor>(\n ngDevMode ? 'TUI_TEXTFIELD_ACCESSOR' : '',\n);\n\nexport function tuiAsTextfieldAccessor(accessor: Type<TuiTextfieldAccessor>): Provider {\n return tuiProvide(TUI_TEXTFIELD_ACCESSOR, accessor);\n}\n","import {isPlatformBrowser} from '@angular/common';\nimport {Directive, inject, type OnDestroy, PLATFORM_ID, TemplateRef} from '@angular/core';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\n\n// TODO: Change selector to tuiDropdown in v5 and move to TuiDropdown\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTextfieldDropdown]',\n})\nexport class TuiTextfieldDropdownDirective implements OnDestroy {\n private readonly directive = inject(TuiDropdownDirective);\n\n constructor() {\n this.directive.tuiDropdown = inject(TemplateRef);\n\n if (\n isPlatformBrowser(inject(PLATFORM_ID)) &&\n this.directive.el.matches(':focus-within')\n ) {\n this.directive.toggle(true);\n }\n }\n\n public ngOnDestroy(): void {\n this.directive.tuiDropdown = null;\n }\n}\n\n/**\n * @deprecated remove in v5\n */\n@Directive({\n standalone: true,\n})\nexport class TuiWithTextfieldDropdown {}\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n Input,\n type QueryList,\n signal,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n tuiAsDataListHost,\n type TuiDataListHost,\n TuiWithOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiDropdownDirective,\n TuiDropdownFixed,\n TuiDropdownOpen,\n tuiDropdownOpen,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiWithItemsHandlers} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_AUXILIARY, TUI_CLEAR_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {ReplaySubject, startWith, switchMap} from 'rxjs';\n\nimport {TuiTextfieldBase} from './textfield.directive';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {TUI_TEXTFIELD_ACCESSOR, type TuiTextfieldAccessor} from './textfield-accessor';\nimport {TuiWithTextfieldDropdown} from './textfield-dropdown.directive';\n\n// TODO: Remove base class in v5\n@Directive()\nexport class TuiTextfieldBaseComponent<T>\n implements TuiDataListHost<T>, AfterContentInit\n{\n // TODO: refactor to signal inputs after Angular update\n private readonly filler = signal('');\n private readonly autoId = tuiInjectId();\n private readonly focusedIn = tuiFocusedIn(tuiInjectElement());\n private readonly contentReady$ = new ReplaySubject<boolean>(1);\n private readonly inputQuery = signal<ElementRef<HTMLInputElement> | undefined>(\n undefined,\n );\n\n @ViewChild('ghost')\n protected readonly ghost?: ElementRef<HTMLElement>;\n\n @ContentChild(forwardRef(() => TuiLabel), {read: ElementRef})\n protected readonly label?: ElementRef<HTMLElement>;\n\n @ContentChildren(TUI_AUXILIARY, {descendants: true})\n protected readonly auxiliaryQuery: QueryList<object> = EMPTY_QUERY;\n\n protected readonly open = tuiDropdownOpen();\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly dropdownOpen = inject(TuiDropdownOpen);\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly clear = toSignal(inject(TUI_CLEAR_WORD));\n\n protected readonly computedFiller = computed((value = this.value()) => {\n const filler = value + this.filler().slice(value.length);\n\n return filler.length > value.length ? filler : '';\n });\n\n protected readonly showFiller = computed<boolean>(\n () =>\n this.focused() &&\n !!this.computedFiller() &&\n (!!this.value() || !this.input?.nativeElement.placeholder),\n );\n\n @ViewChild('vcr', {read: ViewContainerRef, static: true})\n public readonly vcr?: ViewContainerRef;\n\n @ContentChild(TUI_TEXTFIELD_ACCESSOR, {descendants: true})\n public readonly accessor?: TuiTextfieldAccessor<T>;\n\n @ContentChild(NgControl)\n public readonly control?: NgControl;\n\n @ContentChild(TuiControl)\n public readonly cva?: TuiControl<unknown>;\n\n // TODO: Replace with signal query when Angular is updated v5\n @ContentChild(forwardRef(() => TuiTextfieldBase), {\n read: ElementRef,\n static: true,\n })\n public readonly input?: ElementRef<HTMLInputElement>;\n\n @Input()\n public content: PolymorpheusContent<TuiContext<T>>;\n\n public readonly focused = computed(() => this.open() || this.focusedIn());\n public readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n public readonly el = tuiInjectElement();\n public readonly value = tuiValue(this.inputQuery);\n\n // TODO: Refactor to signal queries when Angular is updated\n public readonly auxiliaries = toSignal<readonly object[]>(\n this.contentReady$.pipe(\n switchMap(() => tuiQueryListChanges(this.auxiliaryQuery)),\n startWith([]),\n ),\n {requireSync: true},\n );\n\n @Input('filler')\n public set fillerSetter(filler: string) {\n this.filler.set(filler);\n }\n\n public get id(): string {\n return this.input?.nativeElement.id || this.autoId;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.options.size();\n }\n\n public ngAfterContentInit(): void {\n this.contentReady$.next(true);\n this.inputQuery.set(this.input);\n }\n\n public handleOption(option: T): void {\n this.accessor?.setValue(option);\n this.open.set(false);\n }\n\n protected get hasLabel(): boolean {\n return Boolean(this.label?.nativeElement?.childNodes.length);\n }\n\n protected onResize({contentRect}: ResizeObserverEntry): void {\n this.el.style.setProperty('--t-side', tuiPx(contentRect.width));\n }\n\n // Click on ::before,::after pseudo-elements ([iconStart] / [iconEnd])\n protected onIconClick(): void {\n this.input?.nativeElement.focus();\n\n if (\n !this.dropdownOpen.tuiDropdownEnabled ||\n this.input?.nativeElement.matches('input:read-only,textarea:read-only')\n ) {\n return;\n }\n\n this.open.update((open) => !open);\n\n try {\n this.input?.nativeElement.showPicker?.();\n } catch {\n // Empty catch block - silently ignore showPicker errors\n }\n }\n\n protected onScroll(element: HTMLElement): void {\n if (this.input?.nativeElement === element) {\n this.ghost?.nativeElement.scrollTo({\n left: this.input.nativeElement.scrollLeft,\n });\n }\n }\n}\n\n@Component({\n standalone: true,\n selector: 'tui-textfield:not([multi])',\n imports: [AsyncPipe, NgIf, PolymorpheusOutlet, TuiButton, WaResizeObserver],\n templateUrl: './textfield.template.html',\n styles: ['@import \"@taiga-ui/core/styles/components/textfield.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n tuiAsDataListHost(TuiTextfieldComponent),\n ],\n hostDirectives: [\n TuiDropdownDirective,\n TuiDropdownFixed,\n TuiWithDropdownOpen,\n TuiWithIcons,\n TuiWithItemsHandlers,\n TuiWithOptionContent,\n TuiWithTextfieldDropdown,\n ],\n host: {\n '[attr.data-size]': 'options.size()',\n '[class._with-label]': 'hasLabel',\n '[class._with-template]': 'content && control?.value != null',\n '[class._disabled]': 'input?.nativeElement?.disabled',\n '(click.self.prevent)': '0',\n '(pointerdown.self.prevent)': 'onIconClick()',\n '(scroll.capture.zoneless)': 'onScroll($event.target)',\n '(tuiActiveZoneChange)': '!$event && cva?.onTouched()',\n },\n})\nexport class TuiTextfieldComponent<T> extends TuiTextfieldBaseComponent<T> {}\n","<ng-container *ngIf=\"control?.control?.valueChanges | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (pointerdown.prevent)=\"input?.nativeElement?.focus()\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue(null)\"\n (pointerdown.zoneless.prevent)=\"input?.nativeElement?.focus()\"\n >\n {{ clear() }}\n </button>\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n<span\n *ngIf=\"control?.value != null\"\n class=\"t-template\"\n>\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller()\"\n #ghost\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller()\"\n/>\n","import {computed, Directive, inject, Input, type OnChanges, signal} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiAppearance,\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceMode,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {tuiAsTextfieldAccessor, type TuiTextfieldAccessor} from './textfield-accessor';\n\n// TODO: Drop in v5 after updated Angular and hostDirectives inherit\n@Directive({\n standalone: true,\n providers: [tuiAsTextfieldAccessor(TuiTextfieldBase)],\n host: {\n tuiTextfield: '',\n '[id]': 'textfield.id',\n '[readOnly]': 'readOnly',\n '[class._empty]': 'value() === \"\"',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n },\n})\nexport class TuiTextfieldBase<T> implements OnChanges, TuiTextfieldAccessor<T> {\n // TODO: refactor to signal inputs after Angular update\n private readonly focused = signal<boolean | null>(null);\n\n protected readonly control = inject(NgControl, {optional: true});\n protected readonly a = tuiAppearance(inject(TUI_TEXTFIELD_OPTIONS).appearance, {});\n protected readonly s = tuiAppearanceState(null, {});\n protected readonly m = tuiAppearanceMode(this.mode, {});\n protected readonly f = tuiAppearanceFocus(\n computed(() => this.focused() ?? this.textfield.focused()),\n {},\n );\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n protected readonly textfield: TuiTextfieldComponent<T> =\n inject(TuiTextfieldComponent);\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid: boolean | null = null;\n\n public readonly value = tuiValue(this.el);\n\n @Input('focused')\n public set focusedSetter(focused: boolean | null) {\n this.focused.set(focused);\n }\n\n @Input('state')\n public set stateSetter(state: TuiInteractiveState | null) {\n this.s.set(state);\n }\n\n public get mode(): string | null {\n if (this.readOnly) {\n return 'readonly';\n }\n\n if (this.invalid === false) {\n return 'valid';\n }\n\n if (this.invalid) {\n return 'invalid';\n }\n\n return null;\n }\n\n // TODO: refactor to signal inputs after Angular update\n public ngOnChanges(): void {\n this.m.set(this.mode);\n }\n\n public setValue(value: T | null): void {\n this.el.focus();\n this.el.select();\n\n if (value == null) {\n this.el.ownerDocument.execCommand('delete');\n } else {\n this.el.ownerDocument.execCommand(\n 'insertText',\n false,\n this.handlers.stringify()(value),\n );\n }\n }\n}\n\n@Directive({\n standalone: true,\n // TODO: Remove :not in v.5\n selector:\n 'input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])',\n providers: [\n tuiAsTextfieldAccessor(TuiTextfieldDirective),\n tuiProvide(TuiTextfieldBase, TuiTextfieldDirective),\n ],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n})\nexport class TuiTextfieldDirective<T> extends TuiTextfieldBase<T> {}\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiTextfieldDirective,\n inputs: ['invalid', 'focused', 'readOnly', 'state'],\n },\n ],\n})\nexport class TuiWithTextfield {}\n","import {CommonModule, DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {WA_NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\n\nimport {TuiTextfieldBase} from './textfield.directive';\nimport {tuiAsTextfieldAccessor} from './textfield-accessor';\n\n/**\n * @deprecated use {@link TuiSelect} from @taiga-ui/kit instead, drop in v5\n */\n@Component({\n standalone: true,\n selector: 'select[tuiTextfield]',\n imports: [CommonModule],\n templateUrl: './select.template.html',\n // We want this template to follow change detection to parent textfield.\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [tuiAsTextfieldAccessor(TuiSelect)],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'textfield.id',\n '[class._empty]': 'stringified === \"\"',\n '[attr.aria-label]': 'ariaLabel',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n '(keydown.space.prevent)': '0',\n '(keydown.enter.prevent)': '0',\n '(keydown.backspace)': 'setValue(\"\")',\n '(mousedown.prevent)': 'focus()',\n '(keydown.control.c)': 'onCopy()',\n '(keydown.meta.c)': 'onCopy()',\n },\n})\nexport class TuiSelect<T> extends TuiTextfieldBase<T> {\n private readonly nav = inject(WA_NAVIGATOR);\n private readonly doc = inject(DOCUMENT);\n\n @Input()\n public placeholder = '';\n\n public override setValue(value: T): void {\n this.control?.control?.setValue(value);\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n }\n\n public focus(): void {\n this.el.classList.add('_ios-fix');\n this.el.focus();\n this.el.classList.remove('_ios-fix');\n }\n\n protected get ariaLabel(): string | null {\n return this.doc.querySelector(`label[for=\"${this.el.id}\"]`)\n ? null\n : this.el.getAttribute('aria-label') || this.placeholder;\n }\n\n protected get stringified(): string {\n return this.handlers.stringify()(this.control?.value ?? '');\n }\n\n protected async onCopy(): Promise<void> {\n await this.nav.clipboard.writeText(this.stringified);\n }\n}\n","<option\n *ngIf=\"placeholder && !stringified; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [stringified]\"\n selected\n [value]=\"item\"\n >\n {{ item }}\n </option>\n</ng-template>\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {\n injectContext,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldMultiComponent} from './textfield-multi.component';\n\nexport interface TuiTextfieldItem<T> {\n readonly item: T;\n readonly index: number;\n}\n\n/*\n * Internal wrapper for polymorpheus-context\n */\n@Component({\n standalone: true,\n selector: 'tui-textfield-item',\n imports: [PolymorpheusOutlet],\n template:\n '<ng-container *polymorpheusOutlet=\"content as text; context: context\">{{ text }}</ng-container>',\n styleUrls: ['./textfield-item.style.less'],\n // TODO: Set to OnPush in v5 when textfield.item becomes a signal\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n '[class._string]': '!textfield.item',\n '[class._disabled]': 'handlers.disabledItemHandler()(context.$implicit.item)',\n '(pointerdown.self.prevent)': '0',\n '(keydown.arrowLeft.prevent)': 'el.previousElementSibling?.firstChild?.focus()',\n '(keydown.arrowRight.prevent)': 'el.nextElementSibling?.firstChild?.focus()',\n },\n})\nexport class TuiTextfieldItemComponent<T> {\n protected readonly el = tuiInjectElement();\n protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n protected readonly context = injectContext<TuiContext<TuiTextfieldItem<T>>>();\n protected readonly textfield: TuiTextfieldMultiComponent<T> = inject(\n TuiTextfieldMultiComponent,\n );\n\n protected get content(): PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>> {\n return (\n this.textfield.item ?? this.handlers.stringify()(this.context.$implicit.item)\n );\n }\n}\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n inject,\n Input,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiArrayToggle, tuiProvide, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n tuiAsDataListHost,\n type TuiDataListHost,\n TuiWithOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollControls} from '@taiga-ui/core/components/scrollbar';\nimport {\n TUI_ITEMS_HANDLERS,\n TuiWithAppearance,\n TuiWithItemsHandlers,\n} from '@taiga-ui/core/directives';\nimport {\n TuiDropdownDirective,\n TuiDropdownFixed,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {filter, fromEvent} from 'rxjs';\n\nimport {TuiTextfieldBaseComponent, TuiTextfieldComponent} from '../textfield.component';\nimport {TuiWithTextfieldDropdown} from '../textfield-dropdown.directive';\nimport {\n type TuiTextfieldItem,\n TuiTextfieldItemComponent,\n} from './textfield-item.component';\n\n@Component({\n standalone: true,\n selector: 'tui-textfield[multi]',\n imports: [\n AsyncPipe,\n NgForOf,\n NgIf,\n PolymorpheusOutlet,\n TuiButton,\n TuiScrollControls,\n WaResizeObserver,\n ],\n templateUrl: './textfield-multi.template.html',\n styleUrls: ['./textfield-multi.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n tuiAsDataListHost(TuiTextfieldMultiComponent),\n tuiProvide(TuiTextfieldComponent, TuiTextfieldMultiComponent),\n tuiProvide(TUI_SCROLL_REF, ElementRef),\n ],\n hostDirectives: [\n TuiDropdownFixed,\n TuiDropdownDirective,\n TuiWithDropdownOpen,\n TuiWithTextfieldDropdown,\n TuiWithIcons,\n TuiWithItemsHandlers,\n TuiWithOptionContent,\n TuiWithAppearance,\n ],\n host: {\n class: 'tui-interactive',\n '[attr.data-state]': 'control?.disabled ? \"disabled\" : null',\n '[class._empty]': '!control?.value?.length',\n '[style.--t-item-height.px]': 'height()',\n '[style.--t-rows]': 'rows',\n '(click.prevent)': 'onClick($event.target)',\n '(tuiActiveZoneChange)':\n '!$event && (el.scrollTo({left: 0}) || cva?.onTouched())',\n // TODO: Remove in v5\n '[attr.data-size]': 'options.size()',\n '[class._with-label]': 'hasLabel',\n '[class._with-template]': 'content && control?.value != null',\n '[class._disabled]': 'input?.nativeElement?.disabled',\n '(pointerdown.self.prevent)': 'onIconClick()',\n '(scroll.capture.zoneless)': 'onScroll($event.target)',\n },\n})\nexport class TuiTextfieldMultiComponent<T>\n extends TuiTextfieldBaseComponent<T>\n implements TuiDataListHost<T>, AfterContentInit\n{\n protected readonly height = signal<number | null>(null);\n protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n protected readonly component: PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>> =\n new PolymorpheusComponent(TuiTextfieldItemComponent);\n\n protected readonly sub = fromEvent(this.el, 'scroll')\n .pipe(\n filter(() => this.rows === 1),\n tuiZonefree(),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n this.el.style.setProperty('--t-scroll', tuiPx(-1 * this.el.scrollLeft));\n });\n\n @ContentChild(TuiItem, {read: TemplateRef, descendants: true})\n public readonly item?: TemplateRef<unknown>;\n\n @Input()\n public rows = 100;\n\n public override handleOption(option: T): void {\n this.accessor?.setValue(\n tuiArrayToggle(\n this.control?.value ?? [],\n option,\n this.handlers.identityMatcher(),\n ),\n );\n }\n\n protected get placeholder(): string {\n const placeholder = this.input?.nativeElement.matches('input')\n ? this.input.nativeElement.placeholder\n : this.computedFiller();\n const value = this.computedFiller() || this.value();\n const longer = value.length > placeholder.length ? value : placeholder;\n\n return this.focused() ? longer : '';\n }\n\n protected onItems({target}: ResizeObserverEntry): void {\n const height =\n this.rows > 1 && this.control?.value?.length\n ? (target.querySelector('tui-textfield-item')?.clientHeight ?? 0)\n : null;\n\n if (height !== 0) {\n this.height.set(height);\n }\n }\n\n protected onLeft(event: any): void {\n if (this.value() || !tuiIsElement(event.currentTarget)) {\n return;\n }\n\n event.preventDefault();\n event.currentTarget.previousElementSibling?.firstElementChild?.focus();\n }\n\n protected onClick(target: HTMLElement): void {\n if (\n target === this.el ||\n !this.cva?.interactive() ||\n (!this.el.matches('[tuiChevron]') &&\n !this.el.querySelector('select, [tuiInputDateMulti]')) ||\n target.matches('input:read-only,input[inputmode=\"none\"]')\n ) {\n return;\n }\n\n this.open.update((open) => !open);\n\n try {\n this.input?.nativeElement.showPicker?.();\n } catch {\n // Empty catch block - silently ignore showPicker errors\n }\n }\n}\n","<ng-container *ngIf=\"control?.control?.valueChanges | async\" />\n<tui-scroll-controls\n *ngIf=\"rows > 1\"\n class=\"t-scrollbar\"\n/>\n\n<div\n class=\"t-items\"\n [class.t-items_horizontal]=\"rows === 1\"\n (click)=\"input?.nativeElement?.focus()\"\n (pointerdown.self.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onItems($event[0])\"\n>\n <ng-content select=\"label\" />\n <ng-template\n *ngFor=\"let item of control?.value; let index = index\"\n [polymorpheusOutlet]=\"component\"\n [polymorpheusOutletContext]=\"{$implicit: {item, index}}\"\n />\n <span\n class=\"t-input\"\n (keydown.arrowLeft)=\"onLeft($event)\"\n >\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <span class=\"t-ghost\">{{ placeholder }}</span>\n <input\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [class.t-filler_hidden]=\"!showFiller()\"\n [value]=\"computedFiller()\"\n />\n </span>\n</div>\n\n<span\n class=\"t-content\"\n (click.stop)=\"input?.nativeElement?.focus()\"\n (pointerdown.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner()\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue([])\"\n >\n {{ clear() }}\n </button>\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n\n<span\n *ngIf=\"control?.value != null\"\n class=\"t-template\"\n>\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n</span>\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\n\nimport {TuiSelect} from './select.directive';\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\nimport {TuiTextfieldDropdownDirective} from './textfield-dropdown.directive';\nimport {TuiTextfieldMultiComponent} from './textfield-multi/textfield-multi.component';\n\nexport const TuiTextfield = [\n TuiItem,\n TuiLabel,\n TuiSelect,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiTextfieldOptionsDirective,\n TuiTextfieldDropdownDirective,\n TuiTextfieldMultiComponent,\n] as const;\n","import {computed, inject, type Signal} from '@angular/core';\n\nimport {TuiTextfieldComponent} from './textfield.component';\n\nexport function tuiInjectAuxiliary<T>(\n predicate: (auxiliary: any, index: number) => boolean,\n): Signal<T | null> {\n const {auxiliaries} = inject(TuiTextfieldComponent);\n\n return computed(() => (auxiliaries().find(predicate) ?? null) as T | null);\n}\n","import {Directive, type DoCheck, inject, TemplateRef} from '@angular/core';\n\nimport {TuiTextfieldComponent} from './textfield.component';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTextfieldContent]',\n})\nexport class TuiTextfieldContent implements DoCheck {\n private readonly ref = inject(TuiTextfieldComponent).vcr?.createEmbeddedView(\n inject(TemplateRef),\n );\n\n public ngDoCheck(): void {\n this.ref?.detectChanges();\n }\n}\n","import {computed, inject, type ProviderToken, type Signal} from '@angular/core';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\nexport function tuiTextfieldIconBinding(\n token: ProviderToken<{icon: TuiHandler<TuiSizeL | TuiSizeS, string>}>,\n): Signal<string> {\n const textfield = inject(TUI_TEXTFIELD_OPTIONS);\n const options = inject(token);\n\n return tuiDirectiveBinding(\n TuiIcons,\n 'iconEnd',\n computed(() => options.icon(textfield.size())),\n {},\n );\n}\n","import {Directive} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Use it instead of host binding\n * host: { '[type]': '\"text\"' }\n * ___\n * From Angular 19+ all effects are called before host bindings.\n * If effects inside `tuiValue` will be called before `<input />` get `type=\"text\"`,\n * it will cause loss of initial value\n */\n@Directive({standalone: true})\nexport class TuiWithNativePicker {\n constructor() {\n tuiInjectElement<HTMLInputElement>().type = 'text';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5.TuiWithTextfieldDropdown","i1","i2","i3","TUI_ITEMS_HANDLERS","TuiWithItemsHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/select-like.directive.ts","../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/textfield-accessor.ts","../../../projects/core/components/textfield/textfield.directive.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield-multi/textfield-item.component.ts","../../../projects/core/components/textfield/textfield-multi/textfield-multi.component.ts","../../../projects/core/components/textfield/textfield-multi/textfield-multi.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/textfield-auxiliary.ts","../../../projects/core/components/textfield/textfield-content.directive.ts","../../../projects/core/components/textfield/textfield-icon.ts","../../../projects/core/components/textfield/with-native-picker.directive.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import {Directive, inject} from '@angular/core';\nimport {TUI_IS_ANDROID} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n@Directive({\n standalone: true,\n selector: '[tuiSelectLike]',\n host: {\n tuiSelectLike: '',\n inputmode: 'none',\n spellcheck: 'false',\n autocomplete: 'off',\n // Click on cleaner icon does not trigger `beforeinput` event --> handle all kind of deletion in input event\n '(beforeinput)': '$event.inputType.includes(\"delete\") || $event.preventDefault()',\n '(input.capture)': '$event.inputType?.includes(\"delete\") && clear()',\n // Hide Android text select handle (bubble marker below transparent caret)\n '(mousedown)': 'prevent($event)',\n },\n})\nexport class TuiSelectLike {\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly isAndroid = inject(TUI_IS_ANDROID);\n\n protected clear(): void {\n this.el.value = '';\n }\n\n protected prevent(event: MouseEvent): void {\n if (!this.isAndroid) {\n return;\n }\n\n event.preventDefault();\n this.el.focus();\n }\n}\n","import {\n Directive,\n inject,\n InjectionToken,\n input,\n Optional,\n type Provider,\n type Signal,\n signal,\n SkipSelf,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nconst DEFAULT = {appearance: 'textfield', size: 'l', cleaner: true} as const;\n\nexport interface TuiTextfieldOptions {\n readonly appearance: Signal<string>;\n readonly size: Signal<TuiSizeL | TuiSizeS>;\n readonly cleaner: Signal<boolean>;\n}\n\nexport const TUI_TEXTFIELD_OPTIONS = new InjectionToken<TuiTextfieldOptions>(\n ngDevMode ? 'TUI_TEXTFIELD_OPTIONS' : '',\n {\n factory: () => ({\n appearance: signal(DEFAULT.appearance),\n size: signal(DEFAULT.size),\n cleaner: signal(DEFAULT.cleaner),\n }),\n },\n);\n\nexport function tuiTextfieldOptionsProvider(\n options: Partial<TuiTextfieldOptions>,\n): Provider {\n return {\n provide: TUI_TEXTFIELD_OPTIONS,\n deps: [[new Optional(), new SkipSelf(), TUI_TEXTFIELD_OPTIONS]],\n useFactory: (parent: TuiTextfieldOptions | null) => ({\n appearance: signal(parent?.appearance() ?? DEFAULT.appearance),\n size: signal(parent?.size() ?? DEFAULT.size),\n cleaner: signal(parent?.cleaner() ?? DEFAULT.cleaner),\n ...options,\n }),\n };\n}\n\n@Directive({\n standalone: true,\n selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n public readonly appearance = input(this.options.appearance(), {\n alias: 'tuiTextfieldAppearance',\n });\n\n public readonly size = input(this.options.size(), {\n alias: 'tuiTextfieldSize',\n transform: (size: TuiSizeL | TuiSizeS | ''): TuiSizeL | TuiSizeS =>\n size || DEFAULT.size,\n });\n\n public readonly cleaner = input(this.options.cleaner(), {\n alias: 'tuiTextfieldCleaner',\n });\n}\n","import {InjectionToken, type Provider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiTextfieldAccessor<T = unknown> {\n setValue(value: T | T[] | null): void;\n}\n\nexport const TUI_TEXTFIELD_ACCESSOR = new InjectionToken<TuiTextfieldAccessor>(\n ngDevMode ? 'TUI_TEXTFIELD_ACCESSOR' : '',\n);\n\nexport function tuiAsTextfieldAccessor(accessor: Type<TuiTextfieldAccessor>): Provider {\n return tuiProvide(TUI_TEXTFIELD_ACCESSOR, accessor);\n}\n","import {computed, Directive, inject, input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiAppearance,\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceMode,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {tuiAsTextfieldAccessor, type TuiTextfieldAccessor} from './textfield-accessor';\n\n// TODO: Drop in v5 after updated Angular and hostDirectives inherit\n@Directive({\n standalone: true,\n providers: [tuiAsTextfieldAccessor(TuiTextfieldBase)],\n host: {\n tuiTextfield: '',\n '[id]': 'textfield.id',\n '[readOnly]': 'readOnly()',\n '[class._empty]': 'value() === \"\"',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n },\n})\nexport class TuiTextfieldBase<T> implements TuiTextfieldAccessor<T> {\n protected readonly control = inject(NgControl, {optional: true});\n protected readonly a = tuiAppearance(inject(TUI_TEXTFIELD_OPTIONS).appearance, {});\n protected readonly s = tuiAppearanceState(\n computed(() => this.state()),\n {},\n );\n\n protected readonly m = tuiAppearanceMode(\n computed(() => this.mode()),\n {},\n );\n\n protected readonly f = tuiAppearanceFocus(\n computed(() => this.focused() ?? this.textfield.focused()),\n {},\n );\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n protected readonly textfield: TuiTextfieldComponent<T> =\n inject(TuiTextfieldComponent);\n\n public readonly readOnly = input(false);\n\n public readonly invalid = input<boolean | null>(null);\n\n public readonly value = tuiValue(this.el);\n\n public readonly focused = input<boolean | null>(null);\n\n public readonly state = input<TuiInteractiveState | null>(null);\n\n public readonly mode = computed<string | null>(() => {\n if (this.readOnly()) {\n return 'readonly';\n }\n\n if (this.invalid() === false) {\n return 'valid';\n }\n\n if (this.invalid()) {\n return 'invalid';\n }\n\n return null;\n });\n\n public setValue(value: T | null): void {\n this.el.focus();\n this.el.select();\n\n if (value == null) {\n this.el.ownerDocument.execCommand('delete');\n\n // see https://github.com/taiga-family/taiga-ui/issues/11634\n // ensure non-erasable affixes actually deleted\n this.el.value = '';\n } else {\n this.el.ownerDocument.execCommand(\n 'insertText',\n false,\n this.handlers.stringify()(value),\n );\n }\n }\n}\n\n@Directive({\n standalone: true,\n selector: 'input[tuiTextfield]',\n providers: [\n tuiAsTextfieldAccessor(TuiTextfieldDirective),\n tuiProvide(TuiTextfieldBase, TuiTextfieldDirective),\n ],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n})\nexport class TuiTextfieldDirective<T> extends TuiTextfieldBase<T> {}\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiTextfieldDirective,\n inputs: ['invalid', 'focused', 'readOnly', 'state'],\n },\n ],\n})\nexport class TuiWithTextfield {}\n","import {AsyncPipe} from '@angular/common';\nimport {\n type AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n input,\n type QueryList,\n signal,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiValue} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n tuiAsDataListHost,\n type TuiDataListHost,\n TuiWithOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiDropdownDirective,\n TuiDropdownFixed,\n TuiDropdownOpen,\n tuiDropdownOpen,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TuiWithItemsHandlers} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_AUXILIARY, TUI_CLEAR_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {ReplaySubject, startWith, switchMap, take} from 'rxjs';\n\nimport {TuiTextfieldBase} from './textfield.directive';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\nimport {TUI_TEXTFIELD_ACCESSOR, type TuiTextfieldAccessor} from './textfield-accessor';\n\n// TODO: Remove base class in v5\n@Directive()\nexport class TuiTextfieldBaseComponent<T>\n implements TuiDataListHost<T>, AfterContentChecked\n{\n private readonly autoId = tuiInjectId();\n private readonly focusedIn = tuiFocusedIn(tuiInjectElement());\n private readonly contentReady$ = new ReplaySubject<boolean>(1);\n private readonly inputQuery = signal<ElementRef<HTMLInputElement> | undefined>(\n undefined,\n );\n\n @ViewChild('ghost')\n protected readonly ghost?: ElementRef<HTMLElement>;\n\n @ContentChild(forwardRef(() => TuiLabel), {read: ElementRef})\n protected readonly label?: ElementRef<HTMLElement>;\n\n @ContentChildren(TUI_AUXILIARY, {descendants: true})\n protected readonly auxiliaryQuery: QueryList<object> = EMPTY_QUERY;\n\n // TODO: Added just to avoid breaking anything until we refactor to signal queries\n @ContentChild(forwardRef(() => TuiTextfieldBase), {read: ElementRef})\n // eslint-disable-next-line @typescript-eslint/naming-convention\n protected readonly _input?: ElementRef<HTMLInputElement>;\n\n protected readonly open = tuiDropdownOpen();\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly dropdownOpen = inject(TuiDropdownOpen);\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly clear = inject(TUI_CLEAR_WORD);\n\n protected readonly computedFiller = computed((value = this.value()) => {\n const filler = value + this.filler().slice(value.length);\n\n return filler.length > value.length ? filler : '';\n });\n\n protected readonly showFiller = computed<boolean>(\n () =>\n this.focused() &&\n !!this.computedFiller() &&\n (!!this.value() || !this.input?.nativeElement.placeholder),\n );\n\n @ViewChild('vcr', {read: ViewContainerRef, static: true})\n public readonly vcr?: ViewContainerRef;\n\n @ContentChild(TUI_TEXTFIELD_ACCESSOR, {descendants: true})\n public readonly accessor?: TuiTextfieldAccessor<T>;\n\n @ContentChild(NgControl)\n public readonly control?: NgControl;\n\n @ContentChild(TuiControl)\n public readonly cva?: TuiControl<unknown>;\n\n // TODO: Replace with signal query when Angular is updated v5\n @ContentChild(forwardRef(() => TuiTextfieldBase), {\n read: ElementRef,\n static: true,\n })\n public readonly input?: ElementRef<HTMLInputElement>;\n\n public readonly content = input<PolymorpheusContent<TuiContext<T>>>();\n\n public readonly focused = computed(() => this.open() || this.focusedIn());\n public readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n public readonly el = tuiInjectElement();\n public readonly value = tuiValue(this.inputQuery);\n\n // TODO: Refactor to signal queries when Angular is updated\n public readonly auxiliaries = toSignal<readonly object[]>(\n this.contentReady$.pipe(\n take(1),\n switchMap(() => tuiQueryListChanges(this.auxiliaryQuery)),\n startWith([]),\n ),\n {requireSync: true},\n );\n\n public readonly filler = input('');\n\n public get id(): string {\n return this.input?.nativeElement.id || this.autoId;\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.options.size();\n }\n\n public ngAfterContentChecked(): void {\n this.contentReady$.next(true);\n this.inputQuery.set(this._input);\n }\n\n public handleOption(option: T): void {\n this.accessor?.setValue(option);\n this.open.set(false);\n }\n\n protected get hasLabel(): boolean {\n return Boolean(this.label?.nativeElement?.childNodes.length);\n }\n\n protected onResize({contentRect}: ResizeObserverEntry): void {\n this.el.style.setProperty('--t-side', tuiPx(contentRect.width));\n }\n\n // Click on ::before,::after pseudo-elements ([iconStart] / [iconEnd])\n protected onIconClick(): void {\n this.input?.nativeElement.focus();\n\n if (\n !this.dropdownOpen.tuiDropdownEnabled ||\n this.input?.nativeElement.matches('input:read-only,textarea:read-only')\n ) {\n return;\n }\n\n this.open.update((open) => !open);\n\n try {\n this.input?.nativeElement.showPicker?.();\n } catch {\n // Empty catch block - silently ignore showPicker errors\n }\n }\n\n protected onScroll(element: HTMLElement): void {\n if (this.input?.nativeElement === element) {\n this.ghost?.nativeElement.scrollTo({\n left: this.input.nativeElement.scrollLeft,\n });\n }\n }\n}\n\n@Component({\n selector: 'tui-textfield:not([multi])',\n imports: [AsyncPipe, PolymorpheusOutlet, TuiButton, WaResizeObserver],\n templateUrl: './textfield.template.html',\n styles: '@import \"@taiga-ui/core/styles/components/textfield.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n tuiAsDataListHost(TuiTextfieldComponent),\n ],\n hostDirectives: [\n TuiDropdownDirective,\n TuiDropdownFixed,\n TuiTransitioned,\n TuiWithDropdownOpen,\n TuiWithIcons,\n TuiWithItemsHandlers,\n TuiWithOptionContent,\n ],\n host: {\n '[attr.data-size]': 'options.size()',\n '[class._with-label]': 'hasLabel',\n '[class._with-template]': 'content() && control?.value != null',\n '[class._disabled]': 'input?.nativeElement?.disabled',\n '(click.self.prevent)': '0',\n '(pointerdown.self.prevent)': 'onIconClick()',\n '(scroll.capture.zoneless)': 'onScroll($event.target)',\n '(tuiActiveZoneChange)': '!$event && cva?.onTouched()',\n },\n})\nexport class TuiTextfieldComponent<T> extends TuiTextfieldBaseComponent<T> {}\n","@if (control?.control?.valueChanges | async) {}\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"textarea\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (pointerdown)=\"input?.nativeElement?.focus()\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n <ng-container #vcr />\n @if (options.cleaner()) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue(null)\"\n (pointerdown.zoneless.prevent)=\"input?.nativeElement?.focus()\"\n >\n {{ clear() }}\n </button>\n }\n <ng-content select=\"tui-icon\" />\n</span>\n@if (control?.value != null) {\n <span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n </span>\n}\n@if (showFiller()) {\n <input\n #ghost\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller()\"\n />\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {\n injectContext,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldMultiComponent} from './textfield-multi.component';\n\nexport interface TuiTextfieldItem<T> {\n readonly item: T;\n readonly index: number;\n}\n\n/*\n * Internal wrapper for polymorpheus-context\n */\n@Component({\n selector: 'tui-textfield-item',\n imports: [PolymorpheusOutlet],\n template:\n '<ng-container *polymorpheusOutlet=\"content as text; context: context\">{{ text }}</ng-container>',\n styleUrl: './textfield-item.style.less',\n // TODO: Set to OnPush in v5 when textfield.item becomes a signal\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n '[class._string]': '!textfield.item',\n '[class._disabled]': 'handlers.disabledItemHandler()(context.$implicit.item)',\n '(pointerdown.self.prevent)': '0',\n '(keydown.arrowLeft.prevent)': 'el.previousElementSibling?.firstChild?.focus()',\n '(keydown.arrowRight.prevent)': 'el.nextElementSibling?.firstChild?.focus()',\n },\n})\nexport class TuiTextfieldItemComponent<T> {\n protected readonly el = tuiInjectElement();\n protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n protected readonly context = injectContext<TuiContext<TuiTextfieldItem<T>>>();\n protected readonly textfield: TuiTextfieldMultiComponent<T> = inject(\n TuiTextfieldMultiComponent,\n );\n\n protected get content(): PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>> {\n return (\n this.textfield.item ?? this.handlers.stringify()(this.context.$implicit.item)\n );\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n inject,\n input,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiArrayToggle, tuiProvide, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {\n tuiAsDataListHost,\n TuiWithOptionContent,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiScrollControls} from '@taiga-ui/core/components/scrollbar';\nimport {\n TUI_ITEMS_HANDLERS,\n TuiWithAppearance,\n TuiWithItemsHandlers,\n} from '@taiga-ui/core/directives';\nimport {\n TuiDropdownDirective,\n TuiDropdownFixed,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {filter, fromEvent} from 'rxjs';\n\nimport {TuiTextfieldBaseComponent, TuiTextfieldComponent} from '../textfield.component';\nimport {\n type TuiTextfieldItem,\n TuiTextfieldItemComponent,\n} from './textfield-item.component';\n\n@Component({\n selector: 'tui-textfield[multi]',\n imports: [\n AsyncPipe,\n PolymorpheusOutlet,\n TuiButton,\n TuiScrollControls,\n WaResizeObserver,\n ],\n templateUrl: './textfield-multi.template.html',\n styleUrl: './textfield-multi.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider({size: 'xs', appearance: 'icon'}),\n tuiAsDataListHost(TuiTextfieldMultiComponent),\n tuiProvide(TuiTextfieldComponent, TuiTextfieldMultiComponent),\n tuiProvide(TUI_SCROLL_REF, ElementRef),\n ],\n hostDirectives: [\n TuiDropdownFixed,\n TuiDropdownDirective,\n TuiWithDropdownOpen,\n TuiWithIcons,\n TuiWithItemsHandlers,\n TuiWithOptionContent,\n TuiWithAppearance,\n ],\n host: {\n class: 'tui-interactive',\n '[attr.data-state]': 'control?.disabled ? \"disabled\" : null',\n '[class._empty]': '!control?.value?.length',\n '[style.--t-item-height.px]': 'height()',\n '[style.--t-rows]': 'rows()',\n '(click.prevent)': 'onClick($event.target)',\n '(tuiActiveZoneChange)':\n '!$event && (el.scrollTo({left: 0}) || cva?.onTouched())',\n // TODO: Remove in v5\n '[attr.data-size]': 'options.size()',\n '[class._with-label]': 'hasLabel',\n '[class._with-template]': 'content() && control?.value != null',\n '[class._disabled]': 'input?.nativeElement?.disabled',\n '(pointerdown.self.prevent)': 'onIconClick()',\n '(scroll.capture.zoneless)': 'onScroll($event.target)',\n },\n})\nexport class TuiTextfieldMultiComponent<T> extends TuiTextfieldBaseComponent<T> {\n protected readonly height = signal<number | null>(null);\n protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n protected readonly component: PolymorpheusContent<TuiContext<TuiTextfieldItem<T>>> =\n new PolymorpheusComponent(TuiTextfieldItemComponent);\n\n protected readonly sub = fromEvent(this.el, 'scroll')\n .pipe(\n filter(() => this.rows() === 1),\n tuiZonefree(),\n takeUntilDestroyed(),\n )\n .subscribe(() => {\n this.el.style.setProperty('--t-scroll', tuiPx(-1 * this.el.scrollLeft));\n });\n\n @ContentChild(TuiItem, {read: TemplateRef, descendants: true})\n public readonly item?: TemplateRef<unknown>;\n\n public readonly rows = input(100);\n\n public override handleOption(option: T): void {\n this.accessor?.setValue(\n tuiArrayToggle(\n this.control?.value ?? [],\n option,\n this.handlers.identityMatcher(),\n ),\n );\n }\n\n protected get placeholder(): string {\n const placeholder = this.input?.nativeElement.matches('input')\n ? this.input.nativeElement.placeholder\n : this.computedFiller();\n const value = this.computedFiller() || this.value();\n const longer = value.length > placeholder.length ? value : placeholder;\n\n return this.focused() ? longer : '';\n }\n\n protected onItems({target}: ResizeObserverEntry): void {\n const height =\n this.rows() > 1 && this.control?.value?.length\n ? (target.querySelector('tui-textfield-item')?.clientHeight ?? 0)\n : null;\n\n if (height !== 0) {\n this.height.set(height);\n }\n }\n\n protected onLeft(event: any): void {\n if (this.value() || !tuiIsElement(event.currentTarget)) {\n return;\n }\n\n event.preventDefault();\n event.currentTarget.previousElementSibling?.firstElementChild?.focus();\n }\n\n protected onClick(target: HTMLElement): void {\n if (\n target === this.el ||\n !this.cva?.interactive() ||\n (!this.el.matches('[tuiChevron]') &&\n !this.el.querySelector('select, [tuiInputDateMulti]')) ||\n target.matches('input:read-only,input[inputmode=\"none\"]')\n ) {\n return;\n }\n\n this.open.update((open) => !open);\n\n try {\n this.input?.nativeElement.showPicker?.();\n } catch {\n // Empty catch block - silently ignore showPicker errors\n }\n }\n}\n","@if (control?.control?.valueChanges | async) {}\n@if (rows() > 1) {\n <tui-scroll-controls class=\"t-scrollbar\" />\n}\n\n<div\n class=\"t-items\"\n [class.t-items_horizontal]=\"rows() === 1\"\n (click)=\"input?.nativeElement?.focus()\"\n (pointerdown.self.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onItems($event[0])\"\n>\n <ng-content select=\"label\" />\n @for (item of control?.value; track item) {\n <ng-template\n [polymorpheusOutlet]=\"component\"\n [polymorpheusOutletContext]=\"{$implicit: {item, index: $index}}\"\n />\n }\n <span\n class=\"t-input\"\n (keydown.arrowLeft)=\"onLeft($event)\"\n >\n <ng-content select=\"input\" />\n <ng-content select=\"select\" />\n <span class=\"t-ghost\">{{ placeholder }}</span>\n <input\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [class.t-filler_hidden]=\"!showFiller()\"\n [value]=\"computedFiller()\"\n />\n </span>\n</div>\n\n<span\n class=\"t-content\"\n (click.stop)=\"input?.nativeElement?.focus()\"\n (pointerdown.zoneless.prevent)=\"(0)\"\n (waResizeObserver)=\"$event[0] && onResize($event[0])\"\n>\n <ng-content />\n @if (options.cleaner()) {\n <button\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-clear\"\n [iconStart]=\"icons.close\"\n (click)=\"accessor?.setValue([])\"\n >\n {{ clear() }}\n </button>\n }\n <ng-container #vcr />\n <ng-content select=\"tui-icon\" />\n</span>\n\n@if (control?.value != null) {\n <span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: control?.value}\">\n {{ text }}\n </ng-container>\n </span>\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {TuiDropdownContent} from '@taiga-ui/core/directives/dropdown';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\nimport {TuiTextfieldMultiComponent} from './textfield-multi/textfield-multi.component';\n\nexport const TuiTextfield = [\n TuiItem,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiTextfieldOptionsDirective,\n TuiTextfieldMultiComponent,\n TuiDropdownContent,\n] as const;\n","import {computed, inject, type Signal} from '@angular/core';\n\nimport {TuiTextfieldComponent} from './textfield.component';\n\nexport function tuiInjectAuxiliary<T>(\n predicate: (auxiliary: any, index: number) => boolean,\n): Signal<T | null> {\n const {auxiliaries} = inject(TuiTextfieldComponent);\n\n return computed(() => (auxiliaries().find(predicate) ?? null) as T | null);\n}\n","import {\n Directive,\n type DoCheck,\n inject,\n type OnDestroy,\n TemplateRef,\n} from '@angular/core';\n\nimport {TuiTextfieldComponent} from './textfield.component';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiTextfieldContent]',\n})\nexport class TuiTextfieldContent implements DoCheck, OnDestroy {\n private readonly ref = inject(TuiTextfieldComponent).vcr?.createEmbeddedView(\n inject(TemplateRef),\n );\n\n public ngDoCheck(): void {\n this.ref?.detectChanges();\n }\n\n public ngOnDestroy(): void {\n this.ref?.destroy();\n }\n}\n","import {computed, inject, type ProviderToken, type Signal} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\nexport function tuiTextfieldIcon(\n token: ProviderToken<{icon: TuiStringHandler<TuiSizeL | TuiSizeS>}>,\n): Signal<string> {\n const {size} = inject(TUI_TEXTFIELD_OPTIONS);\n const {icon} = inject(token);\n\n return tuiIconEnd(\n computed(() => icon(size())),\n {},\n );\n}\n","import {Directive} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Use it instead of host binding\n * host: { '[type]': '\"text\"' }\n * ___\n * From Angular 19+ all effects are called before host bindings.\n * If effects inside `tuiValue` will be called before `<input />` get `type=\"text\"`,\n * it will cause loss of initial value\n */\n@Directive({standalone: true})\nexport class TuiWithNativePicker {\n constructor() {\n tuiInjectElement<HTMLInputElement>().type = 'text';\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","TUI_ITEMS_HANDLERS","i3","i4","TuiWithItemsHandlers"],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  export * from '@taiga-ui/core/components/alert';
2
2
  export * from '@taiga-ui/core/components/button';
3
3
  export * from '@taiga-ui/core/components/calendar';
4
+ export * from '@taiga-ui/core/components/cell';
4
5
  export * from '@taiga-ui/core/components/data-list';
5
6
  export * from '@taiga-ui/core/components/dialog';
6
7
  export * from '@taiga-ui/core/components/error';
7
8
  export * from '@taiga-ui/core/components/expand';
8
- export * from '@taiga-ui/core/components/fullscreen';
9
+ export * from '@taiga-ui/core/components/header';
9
10
  export * from '@taiga-ui/core/components/icon';
10
11
  export * from '@taiga-ui/core/components/label';
11
12
  export * from '@taiga-ui/core/components/link';
12
13
  export * from '@taiga-ui/core/components/loader';
14
+ export * from '@taiga-ui/core/components/modal';
13
15
  export * from '@taiga-ui/core/components/notification';
14
16
  export * from '@taiga-ui/core/components/root';
15
17
  export * from '@taiga-ui/core/components/scrollbar';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components.mjs","sources":["../../../projects/core/components/taiga-ui-core-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-core-components.mjs","sources":["../../../projects/core/components/taiga-ui-core-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
@@ -1,10 +1,8 @@
1
1
  import { tuiProvide, tuiWithStyles, tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, ChangeDetectorRef, computed, signal, effect, Directive, Input } from '@angular/core';
4
- import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
3
+ import { InjectionToken, ChangeDetectionStrategy, ViewEncapsulation, Component, computed, input, inject, Directive } from '@angular/core';
5
4
  import * as i1 from '@taiga-ui/cdk/directives/transitioned';
6
5
  import { TuiTransitioned } from '@taiga-ui/cdk/directives/transitioned';
7
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
8
6
 
9
7
  const TUI_APPEARANCE_DEFAULT_OPTIONS = {
10
8
  appearance: '',
@@ -16,94 +14,59 @@ function tuiAppearanceOptionsProvider(token) {
16
14
  return tuiProvide(TUI_APPEARANCE_OPTIONS, token);
17
15
  }
18
16
 
19
- class TuiAppearanceStyles {
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppearanceStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiAppearanceStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-appearance" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAppearance]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;-webkit-appearance:none;appearance:none;outline:.125rem solid transparent;outline-offset:-.125rem;transition-property:color,background-color,opacity,box-shadow,border-color,border-radius,filter}[tuiAppearance]:focus-visible:not([data-focus=false]){outline-color:var(--tui-border-focus)}[tuiAppearance][data-focus=true]{outline-color:var(--tui-border-focus)}[tuiAppearance][tuiWrapper]:not(._focused):has(:focus-visible),[tuiAppearance][tuiWrapper]._focused{outline-color:var(--tui-border-focus)}[tuiAppearance]:disabled:not([data-state]),[tuiAppearance][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}[tuiAppearance][tuiWrapper]:disabled:not([data-state]),[tuiAppearance][tuiWrapper][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
+ class Styles {
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-appearance" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAppearance]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;-webkit-appearance:none;appearance:none;outline:.125rem solid transparent;outline-offset:-.125rem;transition-property:color,background-color,opacity,box-shadow,border-color,border-radius,filter}[tuiAppearance]:before,[tuiAppearance]:after{transition-duration:inherit;transition-timing-function:ease-in-out}[tuiAppearance]:focus-visible:not([data-focus=false]){outline-color:var(--tui-border-focus)}[tuiAppearance][data-focus=true]{outline-color:var(--tui-border-focus)}[tuiAppearance][tuiWrapper]:not(._focused):has(:focus-visible),[tuiAppearance][tuiWrapper]._focused{outline-color:var(--tui-border-focus)}[tuiAppearance]:disabled:not([data-state]),[tuiAppearance][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}[tuiAppearance][tuiWrapper]:disabled:not([data-state]),[tuiAppearance][tuiWrapper][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
20
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppearanceStyles, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
24
22
  type: Component,
25
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
26
- class: 'tui-appearance',
27
- }, styles: ["[tuiAppearance]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;-webkit-appearance:none;appearance:none;outline:.125rem solid transparent;outline-offset:-.125rem;transition-property:color,background-color,opacity,box-shadow,border-color,border-radius,filter}[tuiAppearance]:focus-visible:not([data-focus=false]){outline-color:var(--tui-border-focus)}[tuiAppearance][data-focus=true]{outline-color:var(--tui-border-focus)}[tuiAppearance][tuiWrapper]:not(._focused):has(:focus-visible),[tuiAppearance][tuiWrapper]._focused{outline-color:var(--tui-border-focus)}[tuiAppearance]:disabled:not([data-state]),[tuiAppearance][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}[tuiAppearance][tuiWrapper]:disabled:not([data-state]),[tuiAppearance][tuiWrapper][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}\n"] }]
23
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-appearance' }, styles: ["[tuiAppearance]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;-webkit-appearance:none;appearance:none;outline:.125rem solid transparent;outline-offset:-.125rem;transition-property:color,background-color,opacity,box-shadow,border-color,border-radius,filter}[tuiAppearance]:before,[tuiAppearance]:after{transition-duration:inherit;transition-timing-function:ease-in-out}[tuiAppearance]:focus-visible:not([data-focus=false]){outline-color:var(--tui-border-focus)}[tuiAppearance][data-focus=true]{outline-color:var(--tui-border-focus)}[tuiAppearance][tuiWrapper]:not(._focused):has(:focus-visible),[tuiAppearance][tuiWrapper]._focused{outline-color:var(--tui-border-focus)}[tuiAppearance]:disabled:not([data-state]),[tuiAppearance][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}[tuiAppearance][tuiWrapper]:disabled:not([data-state]),[tuiAppearance][tuiWrapper][data-state=disabled]{cursor:initial;opacity:var(--tui-disabled-opacity)}\n"] }]
28
24
  }] });
29
25
  class TuiAppearance {
30
26
  constructor() {
31
- this.cdr = inject(ChangeDetectorRef, { skipSelf: true });
32
- this.el = tuiInjectElement();
33
- this.nothing = tuiWithStyles(TuiAppearanceStyles);
34
- this.modes = computed((mode = this.mode()) => !mode || tuiIsString(mode) ? mode : mode.join(' '));
35
- // TODO: refactor to signal inputs after Angular update
36
- this.appearance = signal(inject(TUI_APPEARANCE_OPTIONS).appearance);
37
- this.state = signal(null);
38
- this.focus = signal(null);
39
- this.mode = signal(null);
40
- // TODO: Remove when Angular is updated
41
- this.update = effect(() => {
42
- this.mode();
43
- this.state();
44
- this.focus();
45
- if (this.el.matches('tui-textfield[multi]')) {
46
- this.cdr.detectChanges();
47
- }
48
- }, TUI_ALLOW_SIGNAL_WRITES);
27
+ this.nothing = tuiWithStyles(Styles);
28
+ this.modes = computed((mode = this.tuiAppearanceMode()) => !mode || tuiIsString(mode) ? mode : mode.join(' '));
29
+ this.tuiAppearance = input(inject(TUI_APPEARANCE_OPTIONS).appearance);
30
+ this.tuiAppearanceState = input(null);
31
+ this.tuiAppearanceFocus = input(null);
32
+ this.tuiAppearanceMode = input(null);
49
33
  }
50
- set tuiAppearance(appearance) {
51
- this.appearance.set(appearance);
52
- }
53
- set tuiAppearanceState(state) {
54
- this.state.set(state);
55
- }
56
- set tuiAppearanceFocus(focus) {
57
- this.focus.set(focus);
58
- }
59
- set tuiAppearanceMode(mode) {
60
- this.mode.set(mode);
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppearance, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
63
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAppearance, isStandalone: true, selector: "[tuiAppearance]", inputs: { tuiAppearance: "tuiAppearance", tuiAppearanceState: "tuiAppearanceState", tuiAppearanceFocus: "tuiAppearanceFocus", tuiAppearanceMode: "tuiAppearanceMode" }, host: { attributes: { "tuiAppearance": "" }, properties: { "attr.data-appearance": "appearance()", "attr.data-state": "state()", "attr.data-focus": "focus()", "attr.data-mode": "modes()" } }, hostDirectives: [{ directive: i1.TuiTransitioned }], ngImport: i0 }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppearance, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiAppearance, isStandalone: true, selector: "[tuiAppearance]", inputs: { tuiAppearance: { classPropertyName: "tuiAppearance", publicName: "tuiAppearance", isSignal: true, isRequired: false, transformFunction: null }, tuiAppearanceState: { classPropertyName: "tuiAppearanceState", publicName: "tuiAppearanceState", isSignal: true, isRequired: false, transformFunction: null }, tuiAppearanceFocus: { classPropertyName: "tuiAppearanceFocus", publicName: "tuiAppearanceFocus", isSignal: true, isRequired: false, transformFunction: null }, tuiAppearanceMode: { classPropertyName: "tuiAppearanceMode", publicName: "tuiAppearanceMode", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiAppearance": "" }, properties: { "attr.data-appearance": "tuiAppearance()", "attr.data-state": "tuiAppearanceState()", "attr.data-focus": "tuiAppearanceFocus()", "attr.data-mode": "modes()" } }, hostDirectives: [{ directive: i1.TuiTransitioned }], ngImport: i0 }); }
64
36
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppearance, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppearance, decorators: [{
66
38
  type: Directive,
67
39
  args: [{
68
- standalone: true,
69
40
  selector: '[tuiAppearance]',
70
41
  hostDirectives: [TuiTransitioned],
71
42
  host: {
72
43
  tuiAppearance: '',
73
- '[attr.data-appearance]': 'appearance()',
74
- '[attr.data-state]': 'state()',
75
- '[attr.data-focus]': 'focus()',
44
+ '[attr.data-appearance]': 'tuiAppearance()',
45
+ '[attr.data-state]': 'tuiAppearanceState()',
46
+ '[attr.data-focus]': 'tuiAppearanceFocus()',
76
47
  '[attr.data-mode]': 'modes()',
77
48
  },
78
49
  }]
79
- }], propDecorators: { tuiAppearance: [{
80
- type: Input
81
- }], tuiAppearanceState: [{
82
- type: Input
83
- }], tuiAppearanceFocus: [{
84
- type: Input
85
- }], tuiAppearanceMode: [{
86
- type: Input
87
- }] } });
50
+ }] });
88
51
 
89
52
  function tuiAppearance(value, options) {
90
- return tuiDirectiveBinding(TuiAppearance, 'appearance', value, options);
53
+ return tuiDirectiveBinding(TuiAppearance, 'tuiAppearance', value, options);
91
54
  }
92
55
  function tuiAppearanceState(value, options) {
93
- return tuiDirectiveBinding(TuiAppearance, 'state', value, options);
56
+ return tuiDirectiveBinding(TuiAppearance, 'tuiAppearanceState', value, options);
94
57
  }
95
58
  function tuiAppearanceFocus(value, options) {
96
- return tuiDirectiveBinding(TuiAppearance, 'focus', value, options);
59
+ return tuiDirectiveBinding(TuiAppearance, 'tuiAppearanceFocus', value, options);
97
60
  }
98
61
  function tuiAppearanceMode(value, options) {
99
- return tuiDirectiveBinding(TuiAppearance, 'mode', value, options);
62
+ return tuiDirectiveBinding(TuiAppearance, 'tuiAppearanceMode', value, options);
100
63
  }
101
64
 
102
65
  class TuiWithAppearance {
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiWithAppearance, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
104
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiWithAppearance, isStandalone: true, hostDirectives: [{ directive: TuiAppearance, inputs: ["tuiAppearance", "appearance", "tuiAppearanceState", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceFocus", "tuiAppearanceMode", "tuiAppearanceMode"] }], ngImport: i0 }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithAppearance, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
67
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiWithAppearance, isStandalone: true, hostDirectives: [{ directive: TuiAppearance, inputs: ["tuiAppearance", "appearance", "tuiAppearanceState", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceFocus", "tuiAppearanceMode", "tuiAppearanceMode"] }], ngImport: i0 }); }
105
68
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiWithAppearance, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithAppearance, decorators: [{
107
70
  type: Directive,
108
71
  args: [{
109
72
  standalone: true,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-appearance.mjs","sources":["../../../projects/core/directives/appearance/appearance.options.ts","../../../projects/core/directives/appearance/appearance.directive.ts","../../../projects/core/directives/appearance/appearance.bindings.ts","../../../projects/core/directives/appearance/with-appearance.ts","../../../projects/core/directives/appearance/taiga-ui-core-directives-appearance.ts"],"sourcesContent":["import {type ExistingProvider, InjectionToken, type ProviderToken} from '@angular/core';\nimport {type TuiLooseUnion} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * Bundled appearances for autocomplete purposes, not exported on purpose\n */\ntype Appearance = TuiLooseUnion<\n | 'accent'\n | 'action-destructive'\n | 'action-grayscale'\n | 'action'\n | 'flat-destructive'\n | 'flat-grayscale'\n | 'flat'\n | 'floating'\n | 'glass'\n | 'icon'\n | 'info'\n | 'negative'\n | 'neutral'\n | 'outline-destructive'\n | 'outline-grayscale'\n | 'outline'\n | 'positive'\n | 'primary-destructive'\n | 'primary-grayscale'\n | 'primary'\n | 'secondary-destructive'\n | 'secondary-grayscale'\n | 'secondary'\n | 'textfield'\n | 'warning'\n>;\n\nexport interface TuiAppearanceOptions {\n readonly appearance: Appearance;\n}\n\nexport const TUI_APPEARANCE_DEFAULT_OPTIONS: TuiAppearanceOptions = {\n appearance: '',\n};\n\nexport const TUI_APPEARANCE_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_APPEARANCE_OPTIONS' : '',\n {\n factory: () => TUI_APPEARANCE_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiAppearanceOptionsProvider(\n token: ProviderToken<TuiAppearanceOptions>,\n): ExistingProvider {\n return tuiProvide(TUI_APPEARANCE_OPTIONS, token);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n Directive,\n effect,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TUI_APPEARANCE_OPTIONS, type TuiAppearanceOptions} from './appearance.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/core/styles/components/appearance.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-appearance',\n },\n})\nclass TuiAppearanceStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiAppearance]',\n hostDirectives: [TuiTransitioned],\n host: {\n tuiAppearance: '',\n '[attr.data-appearance]': 'appearance()',\n '[attr.data-state]': 'state()',\n '[attr.data-focus]': 'focus()',\n '[attr.data-mode]': 'modes()',\n },\n})\nexport class TuiAppearance {\n private readonly cdr = inject(ChangeDetectorRef, {skipSelf: true});\n private readonly el = tuiInjectElement();\n\n protected readonly nothing = tuiWithStyles(TuiAppearanceStyles);\n protected readonly modes = computed((mode = this.mode()) =>\n !mode || tuiIsString(mode) ? mode : mode.join(' '),\n );\n\n // TODO: refactor to signal inputs after Angular update\n public readonly appearance = signal(inject(TUI_APPEARANCE_OPTIONS).appearance);\n public readonly state = signal<TuiInteractiveState | null>(null);\n public readonly focus = signal<boolean | null>(null);\n public readonly mode = signal<string | readonly string[] | null>(null);\n\n // TODO: Remove when Angular is updated\n public readonly update = effect(() => {\n this.mode();\n this.state();\n this.focus();\n\n if (this.el.matches('tui-textfield[multi]')) {\n this.cdr.detectChanges();\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n @Input()\n public set tuiAppearance(appearance: TuiAppearanceOptions['appearance']) {\n this.appearance.set(appearance);\n }\n\n @Input()\n public set tuiAppearanceState(state: TuiInteractiveState | null) {\n this.state.set(state);\n }\n\n @Input()\n public set tuiAppearanceFocus(focus: boolean | null) {\n this.focus.set(focus);\n }\n\n @Input()\n public set tuiAppearanceMode(mode: string | readonly string[] | null) {\n this.mode.set(mode);\n }\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiAppearance} from './appearance.directive';\n\ntype A = string;\n\ntype S = TuiInteractiveState | null;\n\ntype F = boolean | null;\n\ntype M = string | readonly string[] | null;\n\nexport function tuiAppearance(\n value: A | WritableSignal<A>,\n options?: InjectOptions,\n): WritableSignal<A>;\nexport function tuiAppearance(value: Signal<A>, options?: InjectOptions): Signal<A>;\nexport function tuiAppearance(value: A | Signal<A>, options?: InjectOptions): Signal<A> {\n return tuiDirectiveBinding(TuiAppearance, 'appearance', value, options);\n}\n\nexport function tuiAppearanceState(\n value: S | WritableSignal<S>,\n options?: InjectOptions,\n): WritableSignal<S>;\nexport function tuiAppearanceState(value: Signal<S>, options?: InjectOptions): Signal<S>;\nexport function tuiAppearanceState(\n value: S | Signal<S>,\n options?: InjectOptions,\n): Signal<S> {\n return tuiDirectiveBinding(TuiAppearance, 'state', value, options);\n}\n\nexport function tuiAppearanceFocus(\n value: F | WritableSignal<F>,\n options?: InjectOptions,\n): WritableSignal<F>;\nexport function tuiAppearanceFocus(value: Signal<F>, options?: InjectOptions): Signal<F>;\nexport function tuiAppearanceFocus(\n value: F | Signal<F>,\n options?: InjectOptions,\n): Signal<F> {\n return tuiDirectiveBinding(TuiAppearance, 'focus', value, options);\n}\n\nexport function tuiAppearanceMode(\n value: M | WritableSignal<M>,\n options?: InjectOptions,\n): WritableSignal<M>;\nexport function tuiAppearanceMode(value: Signal<M>, options?: InjectOptions): Signal<M>;\nexport function tuiAppearanceMode(\n value: M | Signal<M>,\n options?: InjectOptions,\n): Signal<M> {\n return tuiDirectiveBinding(TuiAppearance, 'mode', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiAppearance} from './appearance.directive';\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiAppearance,\n inputs: [\n 'tuiAppearance: appearance',\n 'tuiAppearanceState',\n 'tuiAppearanceFocus',\n 'tuiAppearanceMode',\n ],\n },\n ],\n})\nexport class TuiWithAppearance {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiAppearance"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-appearance.mjs","sources":["../../../projects/core/directives/appearance/appearance.options.ts","../../../projects/core/directives/appearance/appearance.directive.ts","../../../projects/core/directives/appearance/appearance.bindings.ts","../../../projects/core/directives/appearance/with-appearance.ts","../../../projects/core/directives/appearance/taiga-ui-core-directives-appearance.ts"],"sourcesContent":["import {type ExistingProvider, InjectionToken, type ProviderToken} from '@angular/core';\nimport {type TuiLooseUnion} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\n/**\n * Bundled appearances for autocomplete purposes, not exported on purpose\n */\ntype Appearance = TuiLooseUnion<\n | 'accent'\n | 'action-destructive'\n | 'action-grayscale'\n | 'action'\n | 'flat-destructive'\n | 'flat-grayscale'\n | 'flat'\n | 'floating'\n | 'glass'\n | 'icon'\n | 'info'\n | 'negative'\n | 'neutral'\n | 'outline-destructive'\n | 'outline-grayscale'\n | 'outline'\n | 'positive'\n | 'primary-destructive'\n | 'primary-grayscale'\n | 'primary'\n | 'secondary-destructive'\n | 'secondary-grayscale'\n | 'secondary'\n | 'textfield'\n | 'warning'\n>;\n\nexport interface TuiAppearanceOptions {\n readonly appearance: Appearance | '';\n}\n\nexport const TUI_APPEARANCE_DEFAULT_OPTIONS: TuiAppearanceOptions = {\n appearance: '',\n};\n\nexport const TUI_APPEARANCE_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_APPEARANCE_OPTIONS' : '',\n {\n factory: () => TUI_APPEARANCE_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiAppearanceOptionsProvider(\n token: ProviderToken<TuiAppearanceOptions>,\n): ExistingProvider {\n return tuiProvide(TUI_APPEARANCE_OPTIONS, token);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiIsString, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TUI_APPEARANCE_OPTIONS} from './appearance.options';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/appearance.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-appearance'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiAppearance]',\n hostDirectives: [TuiTransitioned],\n host: {\n tuiAppearance: '',\n '[attr.data-appearance]': 'tuiAppearance()',\n '[attr.data-state]': 'tuiAppearanceState()',\n '[attr.data-focus]': 'tuiAppearanceFocus()',\n '[attr.data-mode]': 'modes()',\n },\n})\nexport class TuiAppearance {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly modes = computed((mode = this.tuiAppearanceMode()) =>\n !mode || tuiIsString(mode) ? mode : mode.join(' '),\n );\n\n public readonly tuiAppearance = input(inject(TUI_APPEARANCE_OPTIONS).appearance);\n public readonly tuiAppearanceState = input<TuiInteractiveState | null>(null);\n public readonly tuiAppearanceFocus = input<boolean | null>(null);\n public readonly tuiAppearanceMode = input<string | readonly string[] | null>(null);\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiAppearance} from './appearance.directive';\n\ntype A = string;\n\ntype S = TuiInteractiveState | null;\n\ntype F = boolean | null;\n\ntype M = string | readonly string[] | null;\n\nexport function tuiAppearance(\n value: A | WritableSignal<A>,\n options?: InjectOptions,\n): WritableSignal<A>;\nexport function tuiAppearance(value: Signal<A>, options?: InjectOptions): Signal<A>;\nexport function tuiAppearance(value: A | Signal<A>, options?: InjectOptions): Signal<A> {\n return tuiDirectiveBinding(TuiAppearance, 'tuiAppearance', value, options);\n}\n\nexport function tuiAppearanceState(\n value: S | WritableSignal<S>,\n options?: InjectOptions,\n): WritableSignal<S>;\nexport function tuiAppearanceState(value: Signal<S>, options?: InjectOptions): Signal<S>;\nexport function tuiAppearanceState(\n value: S | Signal<S>,\n options?: InjectOptions,\n): Signal<S> {\n return tuiDirectiveBinding(TuiAppearance, 'tuiAppearanceState', value, options);\n}\n\nexport function tuiAppearanceFocus(\n value: F | WritableSignal<F>,\n options?: InjectOptions,\n): WritableSignal<F>;\nexport function tuiAppearanceFocus(value: Signal<F>, options?: InjectOptions): Signal<F>;\nexport function tuiAppearanceFocus(\n value: F | Signal<F>,\n options?: InjectOptions,\n): Signal<F> {\n return tuiDirectiveBinding(TuiAppearance, 'tuiAppearanceFocus', value, options);\n}\n\nexport function tuiAppearanceMode(\n value: M | WritableSignal<M>,\n options?: InjectOptions,\n): WritableSignal<M>;\nexport function tuiAppearanceMode(value: Signal<M>, options?: InjectOptions): Signal<M>;\nexport function tuiAppearanceMode(\n value: M | Signal<M>,\n options?: InjectOptions,\n): Signal<M> {\n return tuiDirectiveBinding(TuiAppearance, 'tuiAppearanceMode', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiAppearance} from './appearance.directive';\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiAppearance,\n inputs: [\n 'tuiAppearance: appearance',\n 'tuiAppearanceState',\n 'tuiAppearanceFocus',\n 'tuiAppearanceMode',\n ],\n },\n ],\n})\nexport class TuiWithAppearance {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiAppearance"],"mappings":";;;;;;AAuCa,MAAA,8BAA8B,GAAyB;AAChE,IAAA,UAAU,EAAE,EAAE;;AAGL,MAAA,sBAAsB,GAAG,IAAI,cAAc,CACpD,SAAS,GAAG,wBAAwB,GAAG,EAAE,EACzC;AACI,IAAA,OAAO,EAAE,MAAM,8BAA8B;AAChD,CAAA;AAGC,SAAU,4BAA4B,CACxC,KAA0C,EAAA;AAE1C,IAAA,OAAO,UAAU,CAAC,sBAAsB,EAAE,KAAK,CAAC;AACpD;;ACvCA,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,oHANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+gCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,gBAAgB,EAAC,EAAA,MAAA,EAAA,CAAA,+gCAAA,CAAA,EAAA;;MAetB,aAAa,CAAA;AAX1B,IAAA,WAAA,GAAA;AAYuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,KAChE,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACrD;QAEe,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,UAAU,CAAC;AAChE,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAA6B,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAiB,IAAI,CAAC;AAChD,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAoC,IAAI,CAAC;AACrF;+GAVY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAXzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,cAAc,EAAE,CAAC,eAAe,CAAC;AACjC,oBAAA,IAAI,EAAE;AACF,wBAAA,aAAa,EAAE,EAAE;AACjB,wBAAA,wBAAwB,EAAE,iBAAiB;AAC3C,wBAAA,mBAAmB,EAAE,sBAAsB;AAC3C,wBAAA,mBAAmB,EAAE,sBAAsB;AAC3C,wBAAA,kBAAkB,EAAE,SAAS;AAChC,qBAAA;AACJ,iBAAA;;;ACfe,SAAA,aAAa,CAAC,KAAoB,EAAE,OAAuB,EAAA;IACvE,OAAO,mBAAmB,CAAC,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC;AAC9E;AAOgB,SAAA,kBAAkB,CAC9B,KAAoB,EACpB,OAAuB,EAAA;IAEvB,OAAO,mBAAmB,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC;AACnF;AAOgB,SAAA,kBAAkB,CAC9B,KAAoB,EACpB,OAAuB,EAAA;IAEvB,OAAO,mBAAmB,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC;AACnF;AAOgB,SAAA,iBAAiB,CAC7B,KAAoB,EACpB,OAAuB,EAAA;IAEvB,OAAO,mBAAmB,CAAC,aAAa,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC;AAClF;;MCvCa,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,aAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,aAAa;AACxB,4BAAA,MAAM,EAAE;gCACJ,2BAA2B;gCAC3B,oBAAoB;gCACpB,oBAAoB;gCACpB,mBAAmB;AACtB,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACjBD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Directive, Input } from '@angular/core';
2
+ import { inject, Input, Directive } from '@angular/core';
3
3
  import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import { TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
5
5
  import { Observable, combineLatest, map, ReplaySubject } from 'rxjs';
@@ -15,17 +15,17 @@ class TuiDateFormat extends Observable {
15
15
  set tuiDateFormat(format) {
16
16
  this.settings.next(format);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDateFormat, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDateFormat, isStandalone: true, selector: "[tuiDateFormat]", inputs: { tuiDateFormat: "tuiDateFormat" }, providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)], usesInheritance: true, ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDateFormat, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDateFormat, isStandalone: true, selector: "[tuiDateFormat]", inputs: { tuiDateFormat: "tuiDateFormat" }, providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)], usesInheritance: true, ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDateFormat, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDateFormat, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  standalone: true,
25
25
  selector: '[tuiDateFormat]',
26
26
  providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)],
27
27
  }]
28
- }], ctorParameters: function () { return []; }, propDecorators: { tuiDateFormat: [{
28
+ }], ctorParameters: () => [], propDecorators: { tuiDateFormat: [{
29
29
  type: Input
30
30
  }] } });
31
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-date-format.mjs","sources":["../../../projects/core/directives/date-format/date-format.directive.ts","../../../projects/core/directives/date-format/taiga-ui-core-directives-date-format.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DATE_FORMAT, type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\nimport {combineLatest, map, Observable, ReplaySubject} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDateFormat]',\n providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)],\n})\nexport class TuiDateFormat extends Observable<TuiDateFormatSettings> {\n private readonly settings = new ReplaySubject<Partial<TuiDateFormatSettings>>(1);\n private readonly parent = inject(TUI_DATE_FORMAT, {skipSelf: true});\n\n constructor() {\n super((subscriber) =>\n combineLatest([this.parent, this.settings])\n .pipe(map(([parent, settings]) => ({...parent, ...settings})))\n .subscribe(subscriber),\n );\n }\n\n @Input()\n public set tuiDateFormat(format: Partial<TuiDateFormatSettings>) {\n this.settings.next(format);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA,MAKa,aAAc,SAAQ,UAAiC,CAAA;AAIhE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KACb,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC,CAAC,CAAC,CAAC;AAC7D,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B,CAAC;AARW,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAiC,CAAC,CAAC,CAAC;QAChE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;KAQnE;IAED,IACW,aAAa,CAAC,MAAsC,EAAA;AAC3D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC9B;+GAfQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAFX,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAE9C,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,eAAe,gBAAgB,CAAC;AAC1D,iBAAA,CAAA;0EAcc,aAAa,EAAA,CAAA;sBADvB,KAAK;;;ACtBV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-date-format.mjs","sources":["../../../projects/core/directives/date-format/date-format.directive.ts","../../../projects/core/directives/date-format/taiga-ui-core-directives-date-format.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DATE_FORMAT, type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\nimport {combineLatest, map, Observable, ReplaySubject} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDateFormat]',\n providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)],\n})\nexport class TuiDateFormat extends Observable<TuiDateFormatSettings> {\n private readonly settings = new ReplaySubject<Partial<TuiDateFormatSettings>>(1);\n private readonly parent = inject(TUI_DATE_FORMAT, {skipSelf: true});\n\n constructor() {\n super((subscriber) =>\n combineLatest([this.parent, this.settings])\n .pipe(map(([parent, settings]) => ({...parent, ...settings})))\n .subscribe(subscriber),\n );\n }\n\n @Input()\n public set tuiDateFormat(format: Partial<TuiDateFormatSettings>) {\n this.settings.next(format);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,aAAc,SAAQ,UAAiC,CAAA;AAIhE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KACb,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC,CAAC,CAAC;AAC5D,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B;AARY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAiC,CAAC,CAAC;QAC/D,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;IAUnE,IACW,aAAa,CAAC,MAAsC,EAAA;AAC3D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;+GAdrB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAFX,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE9C,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,eAAe,gBAAgB,CAAC;AAC1D,iBAAA;wDAcc,aAAa,EAAA,CAAA;sBADvB;;;ACtBL;;AAEG;;;;"}