@taiga-ui/core 4.52.0-canary.ece97e9 → 4.52.0-canary.efbd0d4

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 (306) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +2 -2
  3. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  4. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  5. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +2 -2
  6. package/components/calendar/calendar-spin.component.d.ts +1 -0
  7. package/components/calendar/calendar-year.component.d.ts +1 -1
  8. package/components/calendar/calendar.options.d.ts +9 -0
  9. package/components/calendar/index.d.ts +3 -0
  10. package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +1 -1
  11. package/components/data-list/data-list.component.d.ts +7 -11
  12. package/components/data-list/data-list.d.ts +3 -4
  13. package/components/data-list/data-list.tokens.d.ts +1 -23
  14. package/components/data-list/index.d.ts +3 -4
  15. package/components/data-list/opt-group.directive.d.ts +2 -2
  16. package/components/data-list/option-content.directive.d.ts +14 -0
  17. package/components/data-list/option-with-value.directive.d.ts +9 -0
  18. package/components/data-list/option.directive.d.ts +19 -0
  19. package/components/icon/icon.component.d.ts +2 -2
  20. package/components/index.d.ts +2 -4
  21. package/components/input/index.d.ts +2 -0
  22. package/components/input/input.d.ts +5 -0
  23. package/components/input/input.directive.d.ts +29 -0
  24. package/components/label/label.directive.d.ts +1 -1
  25. package/components/link/index.d.ts +0 -1
  26. package/components/link/link.directive.d.ts +8 -6
  27. package/components/loader/loader.options.d.ts +1 -3
  28. package/components/notification/index.d.ts +3 -0
  29. package/components/notification/notification.component.d.ts +14 -0
  30. package/components/notification/notification.d.ts +3 -0
  31. package/components/notification/notification.directive.d.ts +4 -5
  32. package/components/notification/notification.options.d.ts +10 -7
  33. package/components/notification/notification.service.d.ts +17 -0
  34. package/components/root/root.component.d.ts +1 -1
  35. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  36. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  37. package/components/spin-button/spin-button.component.d.ts +1 -1
  38. package/components/textfield/index.d.ts +0 -1
  39. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  40. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -13
  41. package/components/textfield/textfield.component.d.ts +20 -32
  42. package/components/textfield/textfield.d.ts +2 -3
  43. package/directives/date-format/date-format.directive.d.ts +3 -7
  44. package/directives/group/group.directive.d.ts +7 -7
  45. package/directives/group/group.options.d.ts +1 -3
  46. package/directives/index.d.ts +0 -5
  47. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  48. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  49. package/directives/number-format/number-format.directive.d.ts +3 -7
  50. package/fesm2022/taiga-ui-core-classes.mjs +9 -11
  51. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  53. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-core-components-calendar.mjs +137 -32
  55. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  57. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-core-components-data-list.mjs +110 -279
  59. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-core-components-error.mjs +12 -11
  61. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  63. package/fesm2022/taiga-ui-core-components-icon.mjs +10 -11
  64. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-components-input.mjs +103 -0
  66. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  67. package/fesm2022/taiga-ui-core-components-label.mjs +11 -13
  68. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-core-components-link.mjs +13 -28
  70. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-core-components-loader.mjs +7 -12
  72. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-core-components-notification.mjs +99 -29
  74. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-core-components-root.mjs +9 -13
  76. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +42 -51
  78. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-components-spin-button.mjs +6 -6
  80. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-core-components-textfield.mjs +100 -262
  82. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  83. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +8 -8
  84. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  85. package/fesm2022/taiga-ui-core-components.mjs +2 -4
  86. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-core-directives-appearance.mjs +16 -16
  88. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-core-directives-date-format.mjs +26 -20
  90. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-core-directives-group.mjs +23 -35
  92. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-core-directives-icons.mjs +12 -12
  94. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +16 -40
  96. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-directives-number-format.mjs +32 -20
  98. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  100. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -15
  102. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  104. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  106. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  107. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  108. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  109. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +171 -302
  110. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  111. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +67 -69
  112. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  113. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  114. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  115. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +11 -11
  116. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  117. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  118. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  119. package/fesm2022/taiga-ui-core-services.mjs +15 -79
  120. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-core-tokens.mjs +51 -60
  122. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  124. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +19 -19
  126. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-core.mjs +1 -1
  128. package/index.d.ts +1 -1
  129. package/package.json +65 -95
  130. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  131. package/pipes/index.d.ts +0 -7
  132. package/{directives/notification/notification.directive.d.ts → portals/alert/alert.directive.d.ts} +3 -3
  133. package/{directives/notification/notification.service.d.ts → portals/alert/alert.service.d.ts} +3 -3
  134. package/portals/alert/index.d.ts +2 -0
  135. package/{components → portals}/dialog/dialog.component.d.ts +2 -3
  136. package/{components → portals}/dialog/dialog.options.d.ts +2 -3
  137. package/{components → portals}/dialog/dialog.providers.d.ts +1 -2
  138. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  139. package/{components → portals}/dialog/index.d.ts +0 -1
  140. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  141. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  142. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  143. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  144. package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -4
  145. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  146. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
  147. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  148. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  149. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  150. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  151. package/{directives → portals}/dropdown/index.d.ts +0 -1
  152. package/{directives → portals}/hint/hint-position.directive.d.ts +3 -3
  153. package/{directives → portals}/hint/hint.directive.d.ts +1 -1
  154. package/portals/index.d.ts +6 -0
  155. package/{components → portals}/modal/modal.component.d.ts +3 -3
  156. package/{components → portals}/modal/modal.service.d.ts +3 -3
  157. package/services/index.d.ts +0 -3
  158. package/styles/components/appearance.less +5 -0
  159. package/styles/components/button.less +10 -20
  160. package/styles/components/icon.less +11 -0
  161. package/styles/components/icons.less +2 -1
  162. package/styles/components/label.less +3 -12
  163. package/styles/components/link.less +9 -24
  164. package/styles/components/notification.less +21 -22
  165. package/styles/components/textfield.less +129 -211
  166. package/styles/components/title.less +8 -8
  167. package/styles/mixins/appearance.less +10 -26
  168. package/styles/mixins/appearance.scss +8 -24
  169. package/styles/mixins/date-picker.less +1 -1
  170. package/styles/mixins/mixins.less +0 -5
  171. package/styles/mixins/mixins.scss +0 -5
  172. package/styles/mixins/picker.less +1 -1
  173. package/styles/mixins/picker.scss +1 -1
  174. package/styles/mixins/slider.less +1 -1
  175. package/styles/mixins/slider.scss +2 -3
  176. package/styles/taiga-ui-local.less +0 -1
  177. package/styles/taiga-ui-local.scss +0 -1
  178. package/styles/taiga-ui-theme.less +0 -1
  179. package/styles/theme/appearance/outline.less +9 -18
  180. package/styles/theme/appearance/primary.less +2 -4
  181. package/styles/theme/appearance/secondary.less +6 -14
  182. package/styles/theme/appearance/status.less +0 -4
  183. package/styles/theme/appearance/table.less +36 -35
  184. package/styles/theme/appearance/textfield.less +30 -27
  185. package/styles/theme/appearance.less +0 -1
  186. package/styles/theme/variables.less +16 -19
  187. package/tokens/breakpoint.d.ts +4 -0
  188. package/tokens/common-icons.d.ts +3 -3
  189. package/tokens/date-format.d.ts +2 -3
  190. package/tokens/icons.d.ts +0 -4
  191. package/tokens/index.d.ts +1 -4
  192. package/tokens/number-format.d.ts +2 -3
  193. package/types/index.d.ts +0 -2
  194. package/types/point.d.ts +1 -1
  195. package/types/size.d.ts +0 -11
  196. package/utils/format/index.d.ts +0 -1
  197. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  198. package/utils/miscellaneous/get-duration.d.ts +2 -0
  199. package/utils/miscellaneous/index.d.ts +1 -1
  200. package/animations/animations.d.ts +0 -109
  201. package/animations/index.d.ts +0 -1
  202. package/components/alert/alert.component.d.ts +0 -14
  203. package/components/alert/alert.directive.d.ts +0 -8
  204. package/components/alert/alert.interfaces.d.ts +0 -13
  205. package/components/alert/alert.service.d.ts +0 -11
  206. package/components/alert/alert.tokens.d.ts +0 -6
  207. package/components/alert/index.d.ts +0 -5
  208. package/components/data-list/data-list.directive.d.ts +0 -7
  209. package/components/data-list/option/option-content.d.ts +0 -16
  210. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  211. package/components/data-list/option/option.directive.d.ts +0 -27
  212. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  213. package/components/dialog/dialogs.component.d.ts +0 -8
  214. package/components/header/header.directive.d.ts +0 -17
  215. package/components/header/index.d.ts +0 -1
  216. package/components/link/link.options.d.ts +0 -12
  217. package/components/textfield/textfield.directive.d.ts +0 -35
  218. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  219. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  220. package/directives/notification/index.d.ts +0 -2
  221. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  222. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  223. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -110
  224. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  225. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -227
  226. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  227. package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
  228. package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
  229. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  230. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  231. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  232. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  233. package/fesm2022/taiga-ui-core-directives-notification.mjs +0 -73
  234. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  236. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  237. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  238. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  239. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  240. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  241. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  242. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  243. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  244. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  245. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  246. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -30
  247. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  248. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  249. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  250. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  251. package/pipes/auto-color/index.d.ts +0 -1
  252. package/pipes/calendar-sheet/index.d.ts +0 -1
  253. package/pipes/calendar-sheet/utils.d.ts +0 -20
  254. package/pipes/flag/flag.pipe.d.ts +0 -14
  255. package/pipes/flag/index.d.ts +0 -1
  256. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  257. package/pipes/format-date/index.d.ts +0 -1
  258. package/pipes/initials/index.d.ts +0 -1
  259. package/pipes/initials/initials.pipe.d.ts +0 -7
  260. package/pipes/month/index.d.ts +0 -1
  261. package/pipes/month/month.pipe.d.ts +0 -10
  262. package/pipes/order-week-days/index.d.ts +0 -1
  263. package/services/breakpoint.service.d.ts +0 -16
  264. package/services/dark-theme.service.d.ts +0 -10
  265. package/services/format-date.service.d.ts +0 -8
  266. package/styles/mixins/wrapper.less +0 -64
  267. package/styles/mixins/wrapper.scss +0 -61
  268. package/styles/theme/appearance/opposite.less +0 -17
  269. package/styles/theme/wrapper.less +0 -211
  270. package/tokens/day-type-handler.d.ts +0 -7
  271. package/tokens/first-day-of-week.d.ts +0 -5
  272. package/tokens/scroll-ref.d.ts +0 -2
  273. package/tokens/spin-icons.d.ts +0 -6
  274. package/types/range-state.d.ts +0 -4
  275. package/types/value-content-context.d.ts +0 -4
  276. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  277. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  278. /package/{directives → components}/title/index.d.ts +0 -0
  279. /package/{directives → components}/title/title.directive.d.ts +0 -0
  280. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  281. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  282. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  283. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  284. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  285. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  286. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  287. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  288. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  289. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  290. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  291. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  292. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  293. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  294. /package/{directives → portals}/hint/hint-options.directive.d.ts +0 -0
  295. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  296. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  297. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  298. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  299. /package/{directives → portals}/hint/hint.d.ts +0 -0
  300. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  301. /package/{directives → portals}/hint/index.d.ts +0 -0
  302. /package/{components → portals}/modal/index.d.ts +0 -0
  303. /package/{directives → portals}/popup/index.d.ts +0 -0
  304. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  305. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  306. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
3
- import { tuiProvideOptions, tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, input, Directive } from '@angular/core';
3
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
4
5
 
5
6
  const TUI_GROUP_DEFAULT_OPTIONS = {
6
7
  size: 'l',
@@ -8,57 +9,44 @@ const TUI_GROUP_DEFAULT_OPTIONS = {
8
9
  rounded: true,
9
10
  orientation: 'horizontal',
10
11
  };
11
- const TUI_GROUP_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_GROUP_OPTIONS' : '', {
12
- factory: () => TUI_GROUP_DEFAULT_OPTIONS,
13
- });
14
- function tuiGroupOptionsProvider(options) {
15
- return tuiProvideOptions(TUI_GROUP_OPTIONS, options, TUI_GROUP_DEFAULT_OPTIONS);
16
- }
12
+ const [TUI_GROUP_OPTIONS, tuiGroupOptionsProvider] = tuiCreateOptions(TUI_GROUP_DEFAULT_OPTIONS);
17
13
 
18
14
  class Styles {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-group" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiGroup]{position:relative;display:flex;transform:translateZ(0);--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px;--t-group-mask: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-end: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px);--t-group-mask-start: linear-gradient(to right, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) )}[tuiGroup]>*{z-index:1;flex:1 1 0;min-inline-size:0;mask:var(--t-group-mask);mask-clip:no-clip}[tuiGroup]>*:disabled,[tuiGroup]>*._disabled{z-index:0}[tuiGroup]>*:invalid:not([data-mode]),[tuiGroup]>*[data-mode~=invalid]{z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:invalid:not([data-mode])),[tuiGroup]>*:has([data-mode~=invalid]){z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:focus-visible){z-index:3;--t-group-mask: none}[tuiGroup]>*:has([data-focus=true]){z-index:3;--t-group-mask: none}[tuiGroup]>*:checked:not([data-mode]),[tuiGroup]>*[data-mode~=checked]{z-index:4;--t-group-mask: none}[tuiGroup]>*:has([tuiBlock]:checked){z-index:4;--t-group-mask: none}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[tuiGroup]>*:last-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[tuiGroup]>*:only-child{border-radius:var(--t-group-radius);mask:none}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:first-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:last-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:only-child{border-radius:var(--t-group-radius);mask:none}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column;--t-group-mask: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-start: linear-gradient(to bottom, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) );--t-group-mask-end: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px)}[tuiGroup][data-orientation=vertical]>*{min-block-size:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}.tui-group{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-m)}.tui-group>*{flex:1 1 0;min-inline-size:0}.tui-group>*:not(:last-child){margin-inline-end:.125rem}.tui-group.tui-group>*:nth-child(n){border-radius:0}.tui-group_radius_large{--t-group-radius: var(--tui-radius-l)}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>*:not(:last-child){margin:0 -1px 0 0}.tui-group_collapsed>*._readonly,.tui-group_collapsed>*._disabled,.tui-group_collapsed>*._readonly:hover,.tui-group_collapsed>*._disabled:hover{z-index:0}.tui-group_collapsed>*._invalid{z-index:2}.tui-group_collapsed>*._invalid:hover,.tui-group_collapsed>*._invalid._hovered,.tui-group_collapsed>*._invalid._pressed{z-index:4}.tui-group_collapsed>*:hover,.tui-group_collapsed>*._hovered,.tui-group_collapsed>*._pressed{z-index:3}.tui-group_collapsed>*._hosted_dropdown_focused,.tui-group_collapsed>*._focus-visible,.tui-group_collapsed>*._focused.ng-touched,.tui-group_collapsed>*._focused.ng-untouched{z-index:5}.tui-group_collapsed>*._active,.tui-group_collapsed>*[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>*:has([tuiBlock]:checked){z-index:6}.tui-group_collapsed>*._focus-visible._focused,.tui-group_collapsed>*._focus-visible._active,.tui-group_collapsed>*._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-block-size:auto;flex:0 0 auto}.tui-group_orientation_vertical>*:not(:last-child){margin-inline-end:0;margin-block-end:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>*:not(:last-child){margin:0 0 -1px}.tui-group_rounded.tui-group_orientation_horizontal>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_horizontal>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:first-child{border-top-left-radius:var(--t-group-radius);border-top-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:last-child{border-bottom-left-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group__auto-width-item{min-inline-size:auto;flex:0 0 auto}.tui-group__inherit-item{border-radius:inherit!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-group" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiGroup]{position:relative;display:flex;transform:translateZ(0);--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px;--t-group-mask: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-end: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px);--t-group-mask-start: linear-gradient(to right, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) )}[tuiGroup]>*{z-index:1;flex:1 1 0;min-inline-size:0;mask:var(--t-group-mask);mask-clip:no-clip}[tuiGroup]>*:disabled,[tuiGroup]>*._disabled{z-index:0}[tuiGroup]>*:invalid:not([data-mode]),[tuiGroup]>*[data-mode~=invalid]{z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:invalid:not([data-mode])),[tuiGroup]>*:has([data-mode~=invalid]){z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:focus-visible){z-index:3;--t-group-mask: none}[tuiGroup]>*:has([data-focus=true]){z-index:3;--t-group-mask: none}[tuiGroup]>*:checked:not([data-mode]),[tuiGroup]>*[data-mode~=checked]{z-index:4;--t-group-mask: none}[tuiGroup]>*:has([tuiBlock]:checked){z-index:4;--t-group-mask: none}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[tuiGroup]>*:last-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[tuiGroup]>*:only-child{border-radius:var(--t-group-radius);mask:none}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:first-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:last-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:only-child{border-radius:var(--t-group-radius);mask:none}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column;--t-group-mask: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-start: linear-gradient(to bottom, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) );--t-group-mask-end: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px)}[tuiGroup][data-orientation=vertical]>*{min-block-size:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
17
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, decorators: [{
23
19
  type: Component,
24
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-group' }, styles: ["[tuiGroup]{position:relative;display:flex;transform:translateZ(0);--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px;--t-group-mask: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-end: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px);--t-group-mask-start: linear-gradient(to right, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) )}[tuiGroup]>*{z-index:1;flex:1 1 0;min-inline-size:0;mask:var(--t-group-mask);mask-clip:no-clip}[tuiGroup]>*:disabled,[tuiGroup]>*._disabled{z-index:0}[tuiGroup]>*:invalid:not([data-mode]),[tuiGroup]>*[data-mode~=invalid]{z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:invalid:not([data-mode])),[tuiGroup]>*:has([data-mode~=invalid]){z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:focus-visible){z-index:3;--t-group-mask: none}[tuiGroup]>*:has([data-focus=true]){z-index:3;--t-group-mask: none}[tuiGroup]>*:checked:not([data-mode]),[tuiGroup]>*[data-mode~=checked]{z-index:4;--t-group-mask: none}[tuiGroup]>*:has([tuiBlock]:checked){z-index:4;--t-group-mask: none}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[tuiGroup]>*:last-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[tuiGroup]>*:only-child{border-radius:var(--t-group-radius);mask:none}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:first-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:last-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:only-child{border-radius:var(--t-group-radius);mask:none}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column;--t-group-mask: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-start: linear-gradient(to bottom, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) );--t-group-mask-end: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px)}[tuiGroup][data-orientation=vertical]>*{min-block-size:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}.tui-group{position:relative;display:flex;isolation:isolate;--t-group-radius: var(--tui-radius-m)}.tui-group>*{flex:1 1 0;min-inline-size:0}.tui-group>*:not(:last-child){margin-inline-end:.125rem}.tui-group.tui-group>*:nth-child(n){border-radius:0}.tui-group_radius_large{--t-group-radius: var(--tui-radius-l)}.tui-group_collapsed>*{z-index:1}.tui-group_collapsed>*:not(:last-child){margin:0 -1px 0 0}.tui-group_collapsed>*._readonly,.tui-group_collapsed>*._disabled,.tui-group_collapsed>*._readonly:hover,.tui-group_collapsed>*._disabled:hover{z-index:0}.tui-group_collapsed>*._invalid{z-index:2}.tui-group_collapsed>*._invalid:hover,.tui-group_collapsed>*._invalid._hovered,.tui-group_collapsed>*._invalid._pressed{z-index:4}.tui-group_collapsed>*:hover,.tui-group_collapsed>*._hovered,.tui-group_collapsed>*._pressed{z-index:3}.tui-group_collapsed>*._hosted_dropdown_focused,.tui-group_collapsed>*._focus-visible,.tui-group_collapsed>*._focused.ng-touched,.tui-group_collapsed>*._focused.ng-untouched{z-index:5}.tui-group_collapsed>*._active,.tui-group_collapsed>*[data-appearance=whiteblock-active]{z-index:6}.tui-group_collapsed>*:has([tuiBlock]:checked){z-index:6}.tui-group_collapsed>*._focus-visible._focused,.tui-group_collapsed>*._focus-visible._active,.tui-group_collapsed>*._focus-visible[data-appearance=whiteblock-active]{z-index:7}.tui-group_orientation_vertical{display:inline-flex;flex-direction:column}.tui-group_orientation_vertical>*{min-block-size:auto;flex:0 0 auto}.tui-group_orientation_vertical>*:not(:last-child){margin-inline-end:0;margin-block-end:.125rem}.tui-group_orientation_vertical.tui-group_collapsed>*:not(:last-child){margin:0 0 -1px}.tui-group_rounded.tui-group_orientation_horizontal>*:first-child{border-top-left-radius:var(--t-group-radius);border-bottom-left-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_horizontal>*:last-child{border-top-right-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:first-child{border-top-left-radius:var(--t-group-radius);border-top-right-radius:var(--t-group-radius)}.tui-group_rounded.tui-group_orientation_vertical>*:last-child{border-bottom-left-radius:var(--t-group-radius);border-bottom-right-radius:var(--t-group-radius)}.tui-group__auto-width-item{min-inline-size:auto;flex:0 0 auto}.tui-group__inherit-item{border-radius:inherit!important}\n"] }]
20
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-group' }, styles: ["[tuiGroup]{position:relative;display:flex;transform:translateZ(0);--t-group-radius: var(--tui-radius-l);--t-group-margin: -1px;--t-group-mask: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-end: linear-gradient(to right, rgba(0, 0, 0, .5) 1px, #000 2px);--t-group-mask-start: linear-gradient(to right, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) )}[tuiGroup]>*{z-index:1;flex:1 1 0;min-inline-size:0;mask:var(--t-group-mask);mask-clip:no-clip}[tuiGroup]>*:disabled,[tuiGroup]>*._disabled{z-index:0}[tuiGroup]>*:invalid:not([data-mode]),[tuiGroup]>*[data-mode~=invalid]{z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:invalid:not([data-mode])),[tuiGroup]>*:has([data-mode~=invalid]){z-index:2;--t-group-mask: none}[tuiGroup]>*:has(:focus-visible){z-index:3;--t-group-mask: none}[tuiGroup]>*:has([data-focus=true]){z-index:3;--t-group-mask: none}[tuiGroup]>*:checked:not([data-mode]),[tuiGroup]>*[data-mode~=checked]{z-index:4;--t-group-mask: none}[tuiGroup]>*:has([tuiBlock]:checked){z-index:4;--t-group-mask: none}[tuiGroup]>*:not(:last-child){margin-inline-end:var(--t-group-margin)}[tuiGroup]>*:nth-child(n){border-radius:0}[tuiGroup]>*:first-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[tuiGroup]>*:last-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[tuiGroup]>*:only-child{border-radius:var(--t-group-radius);mask:none}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:first-child{border-radius:0 var(--t-group-radius) var(--t-group-radius) 0;-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:last-child{border-radius:var(--t-group-radius) 0 0 var(--t-group-radius);-webkit-mask-image:var(--t-group-mask-start);mask-image:var(--t-group-mask-start)}[dir=rtl] [tuiGroup]:not([data-orientation=vertical])>*:only-child{border-radius:var(--t-group-radius);mask:none}[tuiGroup][data-size=s],[tuiGroup][data-size=m]{--t-group-radius: var(--tui-radius-m)}[tuiGroup][data-orientation=vertical]{display:inline-flex;flex-direction:column;--t-group-mask: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px, #000 calc(100% - 2px) , rgba(0, 0, 0, .5));--t-group-mask-start: linear-gradient(to bottom, #000 calc(100% - 2px) , rgba(0, 0, 0, .5) calc(100% - 1px) );--t-group-mask-end: linear-gradient(to bottom, rgba(0, 0, 0, .5) 1px, #000 2px)}[tuiGroup][data-orientation=vertical]>*{min-block-size:auto;flex:0 0 auto}[tuiGroup][data-orientation=vertical]>*:not(:last-child){margin-inline-end:0;margin-block-end:var(--t-group-margin)}[tuiGroup][data-orientation=vertical]>*:first-child{border-radius:var(--t-group-radius) var(--t-group-radius) 0 0}[tuiGroup][data-orientation=vertical]>*:last-child{border-radius:0 0 var(--t-group-radius) var(--t-group-radius)}[tuiGroup][data-orientation=vertical]>*:only-child{border-radius:var(--t-group-radius)}\n"] }]
25
21
  }] });
26
22
  class TuiGroup {
27
23
  constructor() {
28
24
  this.options = inject(TUI_GROUP_OPTIONS);
29
25
  this.nothing = tuiWithStyles(Styles);
30
- this.orientation = this.options.orientation;
31
- this.collapsed = this.options.collapsed;
32
- this.rounded = this.options.rounded;
33
- this.size = this.options.size;
26
+ this.orientation = input(this.options.orientation);
27
+ this.collapsed = input(this.options.collapsed);
28
+ this.rounded = input(this.options.rounded);
29
+ this.size = input(this.options.size);
34
30
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiGroup, isStandalone: true, selector: "[tuiGroup]:not(ng-container)", inputs: { orientation: "orientation", collapsed: "collapsed", rounded: "rounded", size: "size" }, host: { attributes: { "tuiGroup": "" }, properties: { "attr.data-orientation": "orientation", "attr.data-size": "size", "style.--t-group-radius": "rounded ? null : 0", "style.--t-group-margin.rem": "collapsed ? null : 0.125", "style.--t-group-mask": "collapsed ? null : \"none\"", "style.--t-group-mask-start": "collapsed ? null : \"none\"", "style.--t-group-mask-end": "collapsed ? null : \"none\"" } }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiGroup, isStandalone: true, selector: "[tuiGroup]:not(ng-container)", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiGroup": "" }, properties: { "attr.data-orientation": "orientation()", "attr.data-size": "size()", "style.--t-group-radius": "rounded() ? null : 0", "style.--t-group-margin.rem": "collapsed() ? null : 0.125", "style.--t-group-mask": "collapsed() ? null : \"none\"", "style.--t-group-mask-start": "collapsed() ? null : \"none\"", "style.--t-group-mask-end": "collapsed() ? null : \"none\"" } }, ngImport: i0 }); }
37
33
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGroup, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiGroup, decorators: [{
39
35
  type: Directive,
40
36
  args: [{
41
37
  selector: '[tuiGroup]:not(ng-container)',
42
38
  host: {
43
39
  tuiGroup: '',
44
- '[attr.data-orientation]': 'orientation',
45
- '[attr.data-size]': 'size',
46
- '[style.--t-group-radius]': 'rounded ? null : 0',
47
- '[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',
48
- '[style.--t-group-mask]': 'collapsed ? null : "none"',
49
- '[style.--t-group-mask-start]': 'collapsed ? null : "none"',
50
- '[style.--t-group-mask-end]': 'collapsed ? null : "none"',
40
+ '[attr.data-orientation]': 'orientation()',
41
+ '[attr.data-size]': 'size()',
42
+ '[style.--t-group-radius]': 'rounded() ? null : 0',
43
+ '[style.--t-group-margin.rem]': 'collapsed() ? null : 0.125',
44
+ '[style.--t-group-mask]': 'collapsed() ? null : "none"',
45
+ '[style.--t-group-mask-start]': 'collapsed() ? null : "none"',
46
+ '[style.--t-group-mask-end]': 'collapsed() ? null : "none"',
51
47
  },
52
48
  }]
53
- }], propDecorators: { orientation: [{
54
- type: Input
55
- }], collapsed: [{
56
- type: Input
57
- }], rounded: [{
58
- type: Input
59
- }], size: [{
60
- type: Input
61
- }] } });
49
+ }] });
62
50
 
63
51
  /**
64
52
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-group.mjs","sources":["../../../projects/core/directives/group/group.options.ts","../../../projects/core/directives/group/group.directive.ts","../../../projects/core/directives/group/taiga-ui-core-directives-group.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation, type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiGroupOptions {\n readonly size: TuiSizeL;\n readonly collapsed: boolean;\n readonly rounded: boolean;\n readonly orientation: TuiOrientation;\n}\n\nexport const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions = {\n size: 'l',\n collapsed: false,\n rounded: true,\n orientation: 'horizontal',\n};\n\nexport const TUI_GROUP_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_GROUP_OPTIONS' : '',\n {\n factory: () => TUI_GROUP_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiGroupOptionsProvider(options: Partial<TuiGroupOptions>): Provider {\n return tuiProvideOptions(TUI_GROUP_OPTIONS, options, TUI_GROUP_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation, type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_GROUP_OPTIONS} from './group.options';\n\n@Component({\n template: '',\n styleUrl: './group.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-group'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n tuiGroup: '',\n '[attr.data-orientation]': 'orientation',\n '[attr.data-size]': 'size',\n '[style.--t-group-radius]': 'rounded ? null : 0',\n '[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',\n '[style.--t-group-mask]': 'collapsed ? null : \"none\"',\n '[style.--t-group-mask-start]': 'collapsed ? null : \"none\"',\n '[style.--t-group-mask-end]': 'collapsed ? null : \"none\"',\n },\n})\nexport class TuiGroup {\n private readonly options = inject(TUI_GROUP_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n @Input()\n public orientation: TuiOrientation = this.options.orientation;\n\n @Input()\n public collapsed = this.options.collapsed;\n\n @Input()\n public rounded = this.options.rounded;\n\n @Input()\n public size: TuiSizeL | TuiSizeS = this.options.size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-group.mjs","sources":["../../../projects/core/directives/group/group.options.ts","../../../projects/core/directives/group/group.directive.ts","../../../projects/core/directives/group/taiga-ui-core-directives-group.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiOrientation, type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiGroupOptions {\n readonly size: TuiSizeL;\n readonly collapsed: boolean;\n readonly rounded: boolean;\n readonly orientation: TuiOrientation;\n}\n\nexport const TUI_GROUP_DEFAULT_OPTIONS: TuiGroupOptions = {\n size: 'l',\n collapsed: false,\n rounded: true,\n orientation: 'horizontal',\n};\n\nexport const [TUI_GROUP_OPTIONS, tuiGroupOptionsProvider] = tuiCreateOptions(\n TUI_GROUP_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiOrientation, type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_GROUP_OPTIONS} from './group.options';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/group.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-group'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiGroup]:not(ng-container)',\n host: {\n tuiGroup: '',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-size]': 'size()',\n '[style.--t-group-radius]': 'rounded() ? null : 0',\n '[style.--t-group-margin.rem]': 'collapsed() ? null : 0.125',\n '[style.--t-group-mask]': 'collapsed() ? null : \"none\"',\n '[style.--t-group-mask-start]': 'collapsed() ? null : \"none\"',\n '[style.--t-group-mask-end]': 'collapsed() ? null : \"none\"',\n },\n})\nexport class TuiGroup {\n protected readonly options = inject(TUI_GROUP_OPTIONS);\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly orientation = input<TuiOrientation>(this.options.orientation);\n public readonly collapsed = input(this.options.collapsed);\n public readonly rounded = input(this.options.rounded);\n public readonly size = input<TuiSizeL | TuiSizeS>(this.options.size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,17 @@
1
- import { tuiWithStyles, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
2
2
  import * as i0 from '@angular/core';
3
3
  import { ChangeDetectionStrategy, ViewEncapsulation, Component, computed, input, inject, Directive } from '@angular/core';
4
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
5
  import { tuiInjectIconResolver, tuiGetIconMode, TUI_ICON_END, TUI_ICON_START } from '@taiga-ui/core/tokens';
5
6
 
6
7
  const OPT = { self: true, optional: true };
7
8
  class Styles {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icons" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";inline-size:1em;block-size:1em;line-height:1em;font-size:var(--tui-icon-size, 1.5rem);flex-shrink:0;box-sizing:content-box;background:currentColor}[tuiIcons]:before{display:var(--t-icon-start);mask:var(--t-icon-start) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%),100% padding-box}[tuiIcons]:after{display:var(--t-icon-end);mask:var(--t-icon-end) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%) padding-box}[tuiIcons][data-icon-start=img]:before{mask:none;background:var(--t-icon-start) no-repeat center / 1em padding-box}[tuiIcons][data-icon-end=img]:after{mask:none;background:var(--t-icon-end) no-repeat center / 1em padding-box}[tuiIcons][data-icon-start=font]:before,[tuiIcons][data-icon-end=font]:after{display:grid;mask:none;background:none;font:1.3em/1 var(--tui-font-icon, inherit);text-align:center;place-content:center;text-transform:none}[tuiIcons][data-icon-start=font]:before{content:var(--t-icon-start)}[tuiIcons][data-icon-end=font]:after{content:var(--t-icon-end)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icons" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";inline-size:1em;block-size:1em;line-height:1em;font-size:var(--tui-icon-size, 1.5rem);flex-shrink:0;box-sizing:content-box;background:currentColor;zoom:calc(100%*min(max(var(--tui-font-offset) - 10px,0px),1px)/.8px)}[tuiIcons]:before{display:var(--t-icon-start);mask:var(--t-icon-start) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%),100% padding-box}[tuiIcons]:after{display:var(--t-icon-end);mask:var(--t-icon-end) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%) padding-box}[tuiIcons][data-icon-start=img]:before{mask:none;background:var(--t-icon-start) no-repeat center / 1em padding-box}[tuiIcons][data-icon-end=img]:after{mask:none;background:var(--t-icon-end) no-repeat center / 1em padding-box}[tuiIcons][data-icon-start=font]:before,[tuiIcons][data-icon-end=font]:after{display:grid;mask:none;background:none;font:1.5em / 1 var(--tui-font-icon, inherit);text-align:center;place-content:center;text-transform:none}[tuiIcons][data-icon-start=font]:before{content:var(--t-icon-start)}[tuiIcons][data-icon-end=font]:after{content:var(--t-icon-end)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
11
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, decorators: [{
12
13
  type: Component,
13
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-icons' }, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";inline-size:1em;block-size:1em;line-height:1em;font-size:var(--tui-icon-size, 1.5rem);flex-shrink:0;box-sizing:content-box;background:currentColor}[tuiIcons]:before{display:var(--t-icon-start);mask:var(--t-icon-start) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%),100% padding-box}[tuiIcons]:after{display:var(--t-icon-end);mask:var(--t-icon-end) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%) padding-box}[tuiIcons][data-icon-start=img]:before{mask:none;background:var(--t-icon-start) no-repeat center / 1em padding-box}[tuiIcons][data-icon-end=img]:after{mask:none;background:var(--t-icon-end) no-repeat center / 1em padding-box}[tuiIcons][data-icon-start=font]:before,[tuiIcons][data-icon-end=font]:after{display:grid;mask:none;background:none;font:1.3em/1 var(--tui-font-icon, inherit);text-align:center;place-content:center;text-transform:none}[tuiIcons][data-icon-start=font]:before{content:var(--t-icon-start)}[tuiIcons][data-icon-end=font]:after{content:var(--t-icon-end)}\n"] }]
14
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-icons' }, styles: ["[tuiIcons]{--t-icon-start: none;--t-icon-end: none}[tuiIcons]:before,[tuiIcons]:after{content:\"\";inline-size:1em;block-size:1em;line-height:1em;font-size:var(--tui-icon-size, 1.5rem);flex-shrink:0;box-sizing:content-box;background:currentColor;zoom:calc(100%*min(max(var(--tui-font-offset) - 10px,0px),1px)/.8px)}[tuiIcons]:before{display:var(--t-icon-start);mask:var(--t-icon-start) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%),100% padding-box}[tuiIcons]:after{display:var(--t-icon-end);mask:var(--t-icon-end) no-repeat center / calc(min(1em,100%) + 10 * var(--tui-stroke-width, .125rem)) min(1em,100%) padding-box}[tuiIcons][data-icon-start=img]:before{mask:none;background:var(--t-icon-start) no-repeat center / 1em padding-box}[tuiIcons][data-icon-end=img]:after{mask:none;background:var(--t-icon-end) no-repeat center / 1em padding-box}[tuiIcons][data-icon-start=font]:before,[tuiIcons][data-icon-end=font]:after{display:grid;mask:none;background:none;font:1.5em / 1 var(--tui-font-icon, inherit);text-align:center;place-content:center;text-transform:none}[tuiIcons][data-icon-start=font]:before{content:var(--t-icon-start)}[tuiIcons][data-icon-end=font]:after{content:var(--t-icon-end)}\n"] }]
14
15
  }] });
15
16
  class TuiIcons {
16
17
  constructor() {
@@ -31,10 +32,10 @@ class TuiIcons {
31
32
  ? `'${this.resolver(icon)}'`
32
33
  : `url(${this.resolver(icon)})`;
33
34
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiIcons, isStandalone: true, inputs: { iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, iconStart: { classPropertyName: "iconStart", publicName: "iconStart", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiIcons": "" }, properties: { "style.--t-icon-start": "start()", "style.--t-icon-end": "end()", "attr.data-icon-start": "startMode()", "attr.data-icon-end": "endMode()" } }, ngImport: i0 }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiIcons, isStandalone: true, inputs: { iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null }, iconStart: { classPropertyName: "iconStart", publicName: "iconStart", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiIcons": "" }, properties: { "style.--t-icon-start": "start()", "style.--t-icon-end": "end()", "attr.data-icon-start": "startMode()", "attr.data-icon-end": "endMode()" } }, ngImport: i0 }); }
36
37
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiIcons, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiIcons, decorators: [{
38
39
  type: Directive,
39
40
  args: [{
40
41
  host: {
@@ -55,13 +56,12 @@ function tuiIconEnd(value, options = {}) {
55
56
  }
56
57
 
57
58
  class TuiWithIcons {
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiWithIcons, isStandalone: true, hostDirectives: [{ directive: TuiIcons, inputs: ["iconStart", "iconStart", "iconEnd", "iconEnd"] }], ngImport: i0 }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiWithIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiWithIcons, isStandalone: true, hostDirectives: [{ directive: TuiIcons, inputs: ["iconStart", "iconStart", "iconEnd", "iconEnd"] }], ngImport: i0 }); }
60
61
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithIcons, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiWithIcons, decorators: [{
62
63
  type: Directive,
63
64
  args: [{
64
- standalone: true,
65
65
  hostDirectives: [
66
66
  {
67
67
  directive: TuiIcons,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.ts","../../../projects/core/directives/icons/icons.bindings.ts","../../../projects/core/directives/icons/with-icons.ts","../../../projects/core/directives/icons/taiga-ui-core-directives-icons.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_ICON_END,\n TUI_ICON_START,\n tuiGetIconMode,\n tuiInjectIconResolver,\n} from '@taiga-ui/core/tokens';\n\nconst OPT = {self: true, optional: true} as const;\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/icons.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-icons'},\n})\nclass Styles {}\n\n@Directive({\n host: {\n tuiIcons: '',\n '[style.--t-icon-start]': 'start()',\n '[style.--t-icon-end]': 'end()',\n '[attr.data-icon-start]': 'startMode()',\n '[attr.data-icon-end]': 'endMode()',\n },\n})\nexport class TuiIcons {\n private readonly resolver: TuiStringHandler<string> = tuiInjectIconResolver();\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly start = computed(() => this.resolve(this.iconStart()));\n protected readonly end = computed(() => this.resolve(this.iconEnd()));\n protected readonly startMode = computed(() => tuiGetIconMode(this.iconStart()));\n protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n public readonly iconEnd = input(inject<string | undefined>(TUI_ICON_END, OPT));\n public readonly iconStart = input(inject<string | undefined>(TUI_ICON_START, OPT));\n\n public resolve(icon?: string | null): string | null {\n if (!icon) {\n return null;\n }\n\n return tuiGetIconMode(icon) === 'font'\n ? `'${this.resolver(icon)}'`\n : `url(${this.resolver(icon)})`;\n }\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiIcons} from './icons.directive';\n\nexport function tuiIconStart(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconStart(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconStart(\n value: Signal<string> | string,\n options?: InjectOptions,\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconStart', value, options);\n}\n\nexport function tuiIconEnd(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconEnd(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconEnd(\n value: Signal<string> | string,\n options: InjectOptions = {},\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconEnd', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiIcons} from './icons.directive';\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiIcons,\n inputs: ['iconStart', 'iconEnd'],\n },\n ],\n})\nexport class TuiWithIcons {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiIcons"],"mappings":";;;;;AAkBA,MAAM,GAAG,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAU;AAEjD,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,+GANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wpCAAA,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,WAAW,EAAC,EAAA,MAAA,EAAA,CAAA,wpCAAA,CAAA,EAAA;;MAajB,QAAQ,CAAA;AATrB,IAAA,WAAA,GAAA;QAUqB,IAAQ,CAAA,QAAA,GAA6B,qBAAqB,EAAE;AAE1D,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACtD,QAAA,IAAA,CAAA,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5D,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3D,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC,MAAM,CAAqB,YAAY,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,MAAM,CAAqB,cAAc,EAAE,GAAG,CAAC,CAAC;AAWrF;AATU,IAAA,OAAO,CAAC,IAAoB,EAAA;QAC/B,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,OAAO,IAAI;;AAGf,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK;cAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAG,CAAA;cAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG;;+GAnB9B,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,wBAAwB,EAAE,SAAS;AACnC,wBAAA,sBAAsB,EAAE,OAAO;AAC/B,wBAAA,wBAAwB,EAAE,aAAa;AACvC,wBAAA,sBAAsB,EAAE,WAAW;AACtC,qBAAA;AACJ,iBAAA;;;ACxBe,SAAA,YAAY,CACxB,KAA8B,EAC9B,OAAuB,EAAA;IAEvB,OAAO,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC;AACrE;SAUgB,UAAU,CACtB,KAA8B,EAC9B,UAAyB,EAAE,EAAA;IAE3B,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;AACnE;;MCpBa,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,QAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;AACnC,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.ts","../../../projects/core/directives/icons/icons.bindings.ts","../../../projects/core/directives/icons/with-icons.ts","../../../projects/core/directives/icons/taiga-ui-core-directives-icons.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_ICON_END,\n TUI_ICON_START,\n tuiGetIconMode,\n tuiInjectIconResolver,\n} from '@taiga-ui/core/tokens';\n\nconst OPT = {self: true, optional: true} as const;\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/icons.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-icons'},\n})\nclass Styles {}\n\n@Directive({\n host: {\n tuiIcons: '',\n '[style.--t-icon-start]': 'start()',\n '[style.--t-icon-end]': 'end()',\n '[attr.data-icon-start]': 'startMode()',\n '[attr.data-icon-end]': 'endMode()',\n },\n})\nexport class TuiIcons {\n private readonly resolver: TuiStringHandler<string> = tuiInjectIconResolver();\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly start = computed(() => this.resolve(this.iconStart()));\n protected readonly end = computed(() => this.resolve(this.iconEnd()));\n protected readonly startMode = computed(() => tuiGetIconMode(this.iconStart()));\n protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n public readonly iconEnd = input(inject<string | undefined>(TUI_ICON_END, OPT));\n public readonly iconStart = input(inject<string | undefined>(TUI_ICON_START, OPT));\n\n public resolve(icon?: string | null): string | null {\n if (!icon) {\n return null;\n }\n\n return tuiGetIconMode(icon) === 'font'\n ? `'${this.resolver(icon)}'`\n : `url(${this.resolver(icon)})`;\n }\n}\n","import {type InjectOptions, type Signal, type WritableSignal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiIcons} from './icons.directive';\n\nexport function tuiIconStart(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconStart(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconStart(\n value: Signal<string> | string,\n options?: InjectOptions,\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconStart', value, options);\n}\n\nexport function tuiIconEnd(\n value: WritableSignal<string> | string,\n options?: InjectOptions,\n): WritableSignal<string>;\nexport function tuiIconEnd(\n value: Signal<string>,\n options?: InjectOptions,\n): Signal<string>;\nexport function tuiIconEnd(\n value: Signal<string> | string,\n options: InjectOptions = {},\n): Signal<string> {\n return tuiDirectiveBinding(TuiIcons, 'iconEnd', value, options);\n}\n","import {Directive} from '@angular/core';\n\nimport {TuiIcons} from './icons.directive';\n\n@Directive({\n hostDirectives: [\n {\n directive: TuiIcons,\n inputs: ['iconStart', 'iconEnd'],\n },\n ],\n})\nexport class TuiWithIcons {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiIcons"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, InjectionToken, Optional, SkipSelf, inject, Input, Directive, effect } from '@angular/core';
3
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ import { signal, InjectionToken, Optional, SkipSelf, inject, input, Directive, effect } from '@angular/core';
3
+ import { tuiProvide } from '@taiga-ui/cdk/utils/di';
4
4
  import { TUI_FALSE_HANDLER, TUI_DEFAULT_IDENTITY_MATCHER } from '@taiga-ui/cdk/constants';
5
5
  import { NG_VALIDATORS } from '@angular/forms';
6
6
  import { TuiValidator } from '@taiga-ui/cdk/directives/validator';
@@ -32,52 +32,29 @@ function tuiItemsHandlersProvider(options) {
32
32
 
33
33
  class TuiItemsHandlersDirective {
34
34
  constructor() {
35
- this.defaultHandlers = inject(TUI_ITEMS_HANDLERS, {
35
+ this.handlers = inject(TUI_ITEMS_HANDLERS, {
36
36
  skipSelf: true,
37
37
  });
38
- this.stringify = signal(this.defaultHandlers.stringify());
39
- this.identityMatcher = signal(this.defaultHandlers.identityMatcher());
40
- this.disabledItemHandler = signal(this.defaultHandlers.disabledItemHandler());
38
+ this.stringify = input(this.handlers.stringify());
39
+ this.identityMatcher = input(this.handlers.identityMatcher());
40
+ this.disabledItemHandler = input(this.handlers.disabledItemHandler());
41
41
  }
42
- // TODO(v5): use signal inputs
43
- set stringifySetter(x) {
44
- this.stringify.set(x);
45
- }
46
- // TODO(v5): use signal inputs
47
- set identityMatcherSetter(x) {
48
- this.identityMatcher.set(x);
49
- }
50
- // TODO(v5): use signal inputs
51
- set disabledItemHandlerSetter(x) {
52
- this.disabledItemHandler.set(x);
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiItemsHandlersDirective, isStandalone: true, inputs: { stringifySetter: ["stringify", "stringifySetter"], identityMatcherSetter: ["identityMatcher", "identityMatcherSetter"], disabledItemHandlerSetter: ["disabledItemHandler", "disabledItemHandlerSetter"] }, providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)], ngImport: i0 }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiItemsHandlersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
43
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiItemsHandlersDirective, isStandalone: true, inputs: { stringify: { classPropertyName: "stringify", publicName: "stringify", isSignal: true, isRequired: false, transformFunction: null }, identityMatcher: { classPropertyName: "identityMatcher", publicName: "identityMatcher", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)], ngImport: i0 }); }
56
44
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersDirective, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiItemsHandlersDirective, decorators: [{
58
46
  type: Directive,
59
47
  args: [{
60
- standalone: true,
61
48
  providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],
62
49
  }]
63
- }], propDecorators: { stringifySetter: [{
64
- type: Input,
65
- args: ['stringify']
66
- }], identityMatcherSetter: [{
67
- type: Input,
68
- args: ['identityMatcher']
69
- }], disabledItemHandlerSetter: [{
70
- type: Input,
71
- args: ['disabledItemHandler']
72
- }] } });
50
+ }] });
73
51
  class TuiWithItemsHandlers {
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithItemsHandlers, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiWithItemsHandlers, isStandalone: true, hostDirectives: [{ directive: TuiItemsHandlersDirective, inputs: ["stringify", "stringify", "identityMatcher", "identityMatcher", "disabledItemHandler", "disabledItemHandler"] }], ngImport: i0 }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiWithItemsHandlers, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiWithItemsHandlers, isStandalone: true, hostDirectives: [{ directive: TuiItemsHandlersDirective, inputs: ["stringify", "stringify", "identityMatcher", "identityMatcher", "disabledItemHandler", "disabledItemHandler"] }], ngImport: i0 }); }
76
54
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithItemsHandlers, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiWithItemsHandlers, decorators: [{
78
56
  type: Directive,
79
57
  args: [{
80
- standalone: true,
81
58
  hostDirectives: [
82
59
  {
83
60
  directive: TuiItemsHandlersDirective,
@@ -100,13 +77,12 @@ class TuiItemsHandlersValidator extends TuiValidator {
100
77
  : Boolean(value) && this.handlers.disabledItemHandler()(value);
101
78
  this.validate = ({ value }) => this.disabledItemHandler(value) ? { tuiDisabledItem: value } : null;
102
79
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
104
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiItemsHandlersValidator, isStandalone: true, providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)], usesInheritance: true, ngImport: i0 }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiItemsHandlersValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiItemsHandlersValidator, isStandalone: true, providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)], usesInheritance: true, ngImport: i0 }); }
105
82
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersValidator, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiItemsHandlersValidator, decorators: [{
107
84
  type: Directive,
108
85
  args: [{
109
- standalone: true,
110
86
  providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],
111
87
  }]
112
88
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-items-handlers.mjs","sources":["../../../projects/core/directives/items-handlers/items-handlers.tokens.ts","../../../projects/core/directives/items-handlers/items-handlers.directive.ts","../../../projects/core/directives/items-handlers/items-handlers.validator.ts","../../../projects/core/directives/items-handlers/taiga-ui-core-directives-items-handlers.ts"],"sourcesContent":["import {\n InjectionToken,\n Optional,\n type Provider,\n signal,\n SkipSelf,\n type WritableSignal,\n} from '@angular/core';\nimport {TUI_DEFAULT_IDENTITY_MATCHER, TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\n\nexport interface TuiItemsHandlers<T> {\n readonly disabledItemHandler: WritableSignal<TuiBooleanHandler<T>>;\n readonly identityMatcher: WritableSignal<TuiIdentityMatcher<T>>;\n readonly stringify: WritableSignal<TuiStringHandler<T>>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: signal(String),\n identityMatcher: signal(TUI_DEFAULT_IDENTITY_MATCHER),\n disabledItemHandler: signal(TUI_FALSE_HANDLER),\n};\n\n/**\n * Default items handlers for components\n */\nexport const TUI_ITEMS_HANDLERS = new InjectionToken(\n ngDevMode ? 'TUI_ITEMS_HANDLERS' : '',\n {\n factory: () => TUI_DEFAULT_ITEMS_HANDLERS,\n },\n);\n\nexport function tuiItemsHandlersProvider<T>(\n options: Partial<TuiItemsHandlers<T>>,\n): Provider {\n return {\n provide: TUI_ITEMS_HANDLERS,\n deps: [[new Optional(), new SkipSelf(), TUI_ITEMS_HANDLERS]],\n useFactory: (parent: TuiItemsHandlers<T> | null): TuiItemsHandlers<T> => ({\n stringify: signal(\n parent?.stringify() ?? TUI_DEFAULT_ITEMS_HANDLERS.stringify(),\n ),\n identityMatcher: signal(\n parent?.identityMatcher() ?? TUI_DEFAULT_ITEMS_HANDLERS.identityMatcher(),\n ),\n disabledItemHandler: signal(\n parent?.disabledItemHandler() ??\n TUI_DEFAULT_ITEMS_HANDLERS.disabledItemHandler(),\n ),\n ...options,\n }),\n };\n}\n","import {Directive, inject, Input, signal} from '@angular/core';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from './items-handlers.tokens';\n\n@Directive({\n standalone: true,\n providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],\n})\nexport class TuiItemsHandlersDirective<T> implements TuiItemsHandlers<T> {\n private readonly defaultHandlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS, {\n skipSelf: true,\n });\n\n public readonly stringify = signal(this.defaultHandlers.stringify());\n public readonly identityMatcher = signal(this.defaultHandlers.identityMatcher());\n public readonly disabledItemHandler = signal(\n this.defaultHandlers.disabledItemHandler(),\n );\n\n // TODO(v5): use signal inputs\n @Input('stringify')\n public set stringifySetter(x: TuiStringHandler<T>) {\n this.stringify.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('identityMatcher')\n public set identityMatcherSetter(x: TuiIdentityMatcher<T>) {\n this.identityMatcher.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('disabledItemHandler')\n public set disabledItemHandlerSetter(x: TuiBooleanHandler<T>) {\n this.disabledItemHandler.set(x);\n }\n}\n\n@Directive({\n standalone: true,\n hostDirectives: [\n {\n directive: TuiItemsHandlersDirective,\n inputs: ['stringify', 'identityMatcher', 'disabledItemHandler'],\n },\n ],\n})\nexport class TuiWithItemsHandlers {}\n","import {Directive, effect, inject} from '@angular/core';\nimport {NG_VALIDATORS, type ValidatorFn} from '@angular/forms';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiItemsHandlersDirective} from './items-handlers.directive';\n\n@Directive({\n standalone: true,\n providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],\n})\nexport class TuiItemsHandlersValidator extends TuiValidator {\n private readonly handlers = inject(TuiItemsHandlersDirective);\n\n protected readonly update = effect(() => {\n this.handlers.disabledItemHandler();\n this.onChange();\n });\n\n public disabledItemHandler: TuiBooleanHandler<any> = (value) =>\n Array.isArray(value)\n ? value.some((item) => this.handlers.disabledItemHandler()(item))\n : Boolean(value) && this.handlers.disabledItemHandler()(value);\n\n public override validate: ValidatorFn = ({value}) =>\n this.disabledItemHandler(value) ? {tuiDisabledItem: value} : null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-items-handlers.mjs","sources":["../../../projects/core/directives/items-handlers/items-handlers.tokens.ts","../../../projects/core/directives/items-handlers/items-handlers.directive.ts","../../../projects/core/directives/items-handlers/items-handlers.validator.ts","../../../projects/core/directives/items-handlers/taiga-ui-core-directives-items-handlers.ts"],"sourcesContent":["import {\n InjectionToken,\n Optional,\n type Provider,\n type Signal,\n signal,\n SkipSelf,\n} from '@angular/core';\nimport {TUI_DEFAULT_IDENTITY_MATCHER, TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n type TuiBooleanHandler,\n type TuiIdentityMatcher,\n type TuiStringHandler,\n} from '@taiga-ui/cdk/types';\n\nexport interface TuiItemsHandlers<T> {\n readonly disabledItemHandler: Signal<TuiBooleanHandler<T>>;\n readonly identityMatcher: Signal<TuiIdentityMatcher<T>>;\n readonly stringify: Signal<TuiStringHandler<T>>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: signal(String),\n identityMatcher: signal(TUI_DEFAULT_IDENTITY_MATCHER),\n disabledItemHandler: signal(TUI_FALSE_HANDLER),\n};\n\n/**\n * Default items handlers for components\n */\nexport const TUI_ITEMS_HANDLERS = new InjectionToken(\n ngDevMode ? 'TUI_ITEMS_HANDLERS' : '',\n {\n factory: () => TUI_DEFAULT_ITEMS_HANDLERS,\n },\n);\n\nexport function tuiItemsHandlersProvider<T>(\n options: Partial<TuiItemsHandlers<T>>,\n): Provider {\n return {\n provide: TUI_ITEMS_HANDLERS,\n deps: [[new Optional(), new SkipSelf(), TUI_ITEMS_HANDLERS]],\n useFactory: (parent: TuiItemsHandlers<T> | null): TuiItemsHandlers<T> => ({\n stringify: signal(\n parent?.stringify() ?? TUI_DEFAULT_ITEMS_HANDLERS.stringify(),\n ),\n identityMatcher: signal(\n parent?.identityMatcher() ?? TUI_DEFAULT_ITEMS_HANDLERS.identityMatcher(),\n ),\n disabledItemHandler: signal(\n parent?.disabledItemHandler() ??\n TUI_DEFAULT_ITEMS_HANDLERS.disabledItemHandler(),\n ),\n ...options,\n }),\n };\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TUI_ITEMS_HANDLERS, type TuiItemsHandlers} from './items-handlers.tokens';\n\n@Directive({\n providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],\n})\nexport class TuiItemsHandlersDirective<T> implements TuiItemsHandlers<T> {\n private readonly handlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS, {\n skipSelf: true,\n });\n\n public readonly stringify = input(this.handlers.stringify());\n public readonly identityMatcher = input(this.handlers.identityMatcher());\n public readonly disabledItemHandler = input(this.handlers.disabledItemHandler());\n}\n\n@Directive({\n hostDirectives: [\n {\n directive: TuiItemsHandlersDirective,\n inputs: ['stringify', 'identityMatcher', 'disabledItemHandler'],\n },\n ],\n})\nexport class TuiWithItemsHandlers {}\n","import {Directive, effect, inject} from '@angular/core';\nimport {NG_VALIDATORS, type ValidatorFn} from '@angular/forms';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TuiItemsHandlersDirective} from './items-handlers.directive';\n\n@Directive({\n providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],\n})\nexport class TuiItemsHandlersValidator extends TuiValidator {\n private readonly handlers = inject(TuiItemsHandlersDirective);\n\n protected readonly update = effect(() => {\n this.handlers.disabledItemHandler();\n this.onChange();\n });\n\n public disabledItemHandler: TuiBooleanHandler<any> = (value) =>\n Array.isArray(value)\n ? value.some((item) => this.handlers.disabledItemHandler()(item))\n : Boolean(value) && this.handlers.disabledItemHandler()(value);\n\n public override validate: ValidatorFn = ({value}) =>\n this.disabledItemHandler(value) ? {tuiDisabledItem: value} : null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,33 +1,45 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Input, Directive } from '@angular/core';
3
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ import { input, inject, computed, Directive } from '@angular/core';
4
3
  import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
5
- import { Observable, combineLatest, map, ReplaySubject } from 'rxjs';
6
4
 
7
- class TuiNumberFormat extends Observable {
5
+ class TuiNumberFormat {
8
6
  constructor() {
9
- super((subscriber) => combineLatest([this.parent, this.settings])
10
- .pipe(map(([parent, settings]) => ({ ...parent, ...settings })))
11
- .subscribe(subscriber));
12
- this.settings = new ReplaySubject(1);
13
- this.parent = inject(TUI_NUMBER_FORMAT, { skipSelf: true });
7
+ this.tuiNumberFormat = input.required();
14
8
  }
15
- set tuiNumberFormat(format) {
16
- this.settings.next(format);
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNumberFormat, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiNumberFormat, isStandalone: true, selector: "[tuiNumberFormat]", inputs: { tuiNumberFormat: "tuiNumberFormat" }, providers: [tuiProvide(TUI_NUMBER_FORMAT, TuiNumberFormat)], usesInheritance: true, ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNumberFormat, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiNumberFormat, isStandalone: true, selector: "[tuiNumberFormat]", inputs: { tuiNumberFormat: { classPropertyName: "tuiNumberFormat", publicName: "tuiNumberFormat", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
11
+ {
12
+ provide: TUI_NUMBER_FORMAT,
13
+ useFactory: () => {
14
+ const parent = inject(TUI_NUMBER_FORMAT, { skipSelf: true });
15
+ const format = inject(TuiNumberFormat).tuiNumberFormat;
16
+ return computed(() => ({
17
+ ...parent(),
18
+ ...format(),
19
+ }));
20
+ },
21
+ },
22
+ ], ngImport: i0 }); }
20
23
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNumberFormat, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNumberFormat, decorators: [{
22
25
  type: Directive,
23
26
  args: [{
24
- standalone: true,
25
27
  selector: '[tuiNumberFormat]',
26
- providers: [tuiProvide(TUI_NUMBER_FORMAT, TuiNumberFormat)],
28
+ providers: [
29
+ {
30
+ provide: TUI_NUMBER_FORMAT,
31
+ useFactory: () => {
32
+ const parent = inject(TUI_NUMBER_FORMAT, { skipSelf: true });
33
+ const format = inject(TuiNumberFormat).tuiNumberFormat;
34
+ return computed(() => ({
35
+ ...parent(),
36
+ ...format(),
37
+ }));
38
+ },
39
+ },
40
+ ],
27
41
  }]
28
- }], ctorParameters: () => [], propDecorators: { tuiNumberFormat: [{
29
- type: Input
30
- }] } });
42
+ }] });
31
43
 
32
44
  /**
33
45
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-number-format.mjs","sources":["../../../projects/core/directives/number-format/number-format.directive.ts","../../../projects/core/directives/number-format/taiga-ui-core-directives-number-format.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_NUMBER_FORMAT, type TuiNumberFormatSettings} from '@taiga-ui/core/tokens';\nimport {combineLatest, map, Observable, ReplaySubject} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiNumberFormat]',\n providers: [tuiProvide(TUI_NUMBER_FORMAT, TuiNumberFormat)],\n})\nexport class TuiNumberFormat extends Observable<TuiNumberFormatSettings> {\n private readonly settings = new ReplaySubject<Partial<TuiNumberFormatSettings>>(1);\n private readonly parent = inject(TUI_NUMBER_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 tuiNumberFormat(format: Partial<TuiNumberFormatSettings>) {\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,eAAgB,SAAQ,UAAmC,CAAA;AAIpE,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,CAAmC,CAAC,CAAC;QACjE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;IAUrE,IACW,eAAe,CAAC,MAAwC,EAAA;AAC/D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;+GAdrB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAFb,CAAC,UAAU,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAElD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,iBAAiB,kBAAkB,CAAC;AAC9D,iBAAA;wDAcc,eAAe,EAAA,CAAA;sBADzB;;;ACtBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-number-format.mjs","sources":["../../../projects/core/directives/number-format/number-format.directive.ts","../../../projects/core/directives/number-format/taiga-ui-core-directives-number-format.ts"],"sourcesContent":["import {computed, Directive, inject, input} from '@angular/core';\nimport {TUI_NUMBER_FORMAT, type TuiNumberFormatSettings} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: '[tuiNumberFormat]',\n providers: [\n {\n provide: TUI_NUMBER_FORMAT,\n useFactory: () => {\n const parent = inject(TUI_NUMBER_FORMAT, {skipSelf: true});\n const format = inject(TuiNumberFormat).tuiNumberFormat;\n\n return computed(() => ({\n ...parent(),\n ...format(),\n }));\n },\n },\n ],\n})\nexport class TuiNumberFormat {\n public readonly tuiNumberFormat = input.required<Partial<TuiNumberFormatSettings>>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAoBa,eAAe,CAAA;AAjB5B,IAAA,WAAA,GAAA;AAkBoB,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAoC;AACvF;+GAFY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAfb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,UAAU,EAAE,MAAK;AACb,oBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,eAAe;AAEtD,oBAAA,OAAO,QAAQ,CAAC,OAAO;AACnB,wBAAA,GAAG,MAAM,EAAE;AACX,wBAAA,GAAG,MAAM,EAAE;AACd,qBAAA,CAAC,CAAC;iBACN;AACJ,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,UAAU,EAAE,MAAK;AACb,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC1D,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAiB,eAAA,CAAA,CAAC,eAAe;AAEtD,gCAAA,OAAO,QAAQ,CAAC,OAAO;AACnB,oCAAA,GAAG,MAAM,EAAE;AACX,oCAAA,GAAG,MAAM,EAAE;AACd,iCAAA,CAAC,CAAC;6BACN;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACnBD;;AAEG;;;;"}
@@ -1,14 +1,9 @@
1
1
  export * from '@taiga-ui/core/directives/appearance';
2
2
  export * from '@taiga-ui/core/directives/date-format';
3
- export * from '@taiga-ui/core/directives/dropdown';
4
3
  export * from '@taiga-ui/core/directives/group';
5
- export * from '@taiga-ui/core/directives/hint';
6
4
  export * from '@taiga-ui/core/directives/icons';
7
5
  export * from '@taiga-ui/core/directives/items-handlers';
8
- export * from '@taiga-ui/core/directives/notification';
9
6
  export * from '@taiga-ui/core/directives/number-format';
10
- export * from '@taiga-ui/core/directives/popup';
11
- export * from '@taiga-ui/core/directives/title';
12
7
 
13
8
  /**
14
9
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives.mjs","sources":["../../../projects/core/directives/taiga-ui-core-directives.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-directives.mjs","sources":["../../../projects/core/directives/taiga-ui-core-directives.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;AAEG"}
@@ -1,36 +1,42 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Pipe } from '@angular/core';
2
+ import { inject, signal, computed, untracked, Pipe } from '@angular/core';
3
3
  import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
4
4
  import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
5
- import { map } from 'rxjs';
6
5
 
7
6
  class TuiFormatNumberPipe {
8
7
  constructor() {
9
- this.numberFormat = inject(TUI_NUMBER_FORMAT);
8
+ this.format = inject(TUI_NUMBER_FORMAT);
9
+ this.value = signal(NaN);
10
+ this.settings = signal({});
11
+ this.formatted = computed(() => tuiFormatNumber(this.value(), {
12
+ ...this.format(),
13
+ precision: Number.isNaN(this.format().precision)
14
+ ? Infinity
15
+ : this.format().precision,
16
+ ...this.settings(),
17
+ }));
10
18
  }
11
19
  /**
12
- * Formats number adding thousand separators and correct decimal separator
20
+ * Formats number adding a thousand separators and correct decimal separator
13
21
  * padding decimal part with zeroes to given length
14
22
  * @param value number
15
23
  * @param settings See {@link TuiNumberFormatSettings}
16
24
  */
17
25
  transform(value, settings = {}) {
18
- return this.numberFormat.pipe(map((format) => tuiFormatNumber(value, {
19
- ...format,
20
- precision: Number.isNaN(format.precision)
21
- ? Infinity
22
- : format.precision,
23
- ...settings,
24
- })));
26
+ untracked(() => {
27
+ this.value.set(value);
28
+ this.settings.set(settings);
29
+ });
30
+ return this.formatted();
25
31
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
27
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, isStandalone: true, name: "tuiFormatNumber" }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiFormatNumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
33
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: TuiFormatNumberPipe, isStandalone: true, name: "tuiFormatNumber", pure: false }); }
28
34
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFormatNumberPipe, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiFormatNumberPipe, decorators: [{
30
36
  type: Pipe,
31
37
  args: [{
32
- standalone: true,
33
38
  name: 'tuiFormatNumber',
39
+ pure: false,
34
40
  }]
35
41
  }] });
36
42