@taiga-ui/core 4.52.0-canary.6c67ccf → 4.52.0-canary.6de148b

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 (318) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/components/button/button.directive.d.ts +2 -2
  4. package/components/button/button.options.d.ts +1 -1
  5. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  6. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +1 -1
  7. package/components/calendar/calendar-spin.component.d.ts +1 -0
  8. package/components/calendar/calendar-year.component.d.ts +1 -1
  9. package/components/calendar/index.d.ts +2 -0
  10. package/components/cell/cell.directive.d.ts +9 -0
  11. package/components/cell/cell.options.d.ts +6 -0
  12. package/components/cell/index.d.ts +2 -0
  13. package/components/data-list/data-list.component.d.ts +8 -12
  14. package/components/data-list/data-list.d.ts +3 -4
  15. package/components/data-list/data-list.tokens.d.ts +1 -23
  16. package/components/data-list/index.d.ts +3 -4
  17. package/components/data-list/opt-group.directive.d.ts +2 -2
  18. package/components/data-list/option-content.directive.d.ts +14 -0
  19. package/components/data-list/option-with-value.directive.d.ts +9 -0
  20. package/components/data-list/option.directive.d.ts +19 -0
  21. package/components/error/error.component.d.ts +6 -8
  22. package/components/error/error.d.ts +4 -0
  23. package/components/error/error.directive.d.ts +19 -0
  24. package/components/error/error.pipe.d.ts +10 -0
  25. package/components/error/index.d.ts +3 -0
  26. package/components/expand/expand.component.d.ts +9 -28
  27. package/components/expand/index.d.ts +0 -2
  28. package/components/icon/icon.component.d.ts +3 -3
  29. package/components/index.d.ts +3 -3
  30. package/components/input/index.d.ts +2 -0
  31. package/components/input/input.d.ts +2 -0
  32. package/components/input/input.directive.d.ts +30 -0
  33. package/components/link/link.directive.d.ts +2 -2
  34. package/components/link/link.options.d.ts +1 -3
  35. package/components/loader/loader.component.d.ts +7 -7
  36. package/components/loader/loader.options.d.ts +1 -3
  37. package/components/notification/index.d.ts +3 -0
  38. package/components/notification/notification.component.d.ts +14 -0
  39. package/components/notification/notification.d.ts +3 -0
  40. package/components/notification/notification.directive.d.ts +7 -12
  41. package/components/notification/notification.options.d.ts +10 -7
  42. package/components/notification/notification.service.d.ts +17 -0
  43. package/components/root/root.component.d.ts +4 -6
  44. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  45. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  46. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  47. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  48. package/components/spin-button/spin-button.component.d.ts +8 -9
  49. package/components/textfield/index.d.ts +1 -4
  50. package/components/textfield/textfield-icon.d.ts +3 -3
  51. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  52. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +10 -15
  53. package/components/textfield/textfield.component.d.ts +23 -37
  54. package/components/textfield/textfield.d.ts +2 -4
  55. package/components/textfield/textfield.options.d.ts +8 -11
  56. package/{directives → components}/title/title.directive.d.ts +2 -3
  57. package/directives/appearance/appearance.directive.d.ts +5 -13
  58. package/directives/appearance/appearance.options.d.ts +1 -1
  59. package/directives/date-format/date-format.directive.d.ts +3 -7
  60. package/directives/group/group.directive.d.ts +7 -7
  61. package/directives/group/group.options.d.ts +1 -3
  62. package/directives/icons/icons.bindings.d.ts +5 -0
  63. package/directives/icons/icons.directive.d.ts +6 -14
  64. package/directives/icons/index.d.ts +1 -0
  65. package/directives/index.d.ts +0 -5
  66. package/directives/number-format/number-format.directive.d.ts +3 -7
  67. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-classes.mjs +6 -8
  69. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-button.mjs +11 -18
  71. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-calendar.mjs +125 -27
  73. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  75. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  76. package/fesm2022/taiga-ui-core-components-data-list.mjs +106 -275
  77. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-error.mjs +109 -24
  79. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-expand.mjs +33 -131
  81. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-icon.mjs +5 -6
  83. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-input.mjs +95 -0
  85. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  86. package/fesm2022/taiga-ui-core-components-label.mjs +6 -9
  87. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-components-link.mjs +14 -23
  89. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-components-loader.mjs +14 -32
  91. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-core-components-notification.mjs +107 -64
  93. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-components-root.mjs +19 -50
  95. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +36 -45
  97. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-core-components-spin-button.mjs +14 -27
  99. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-components-textfield.mjs +109 -408
  101. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-components-title.mjs +37 -0
  103. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -0
  104. package/fesm2022/taiga-ui-core-components.mjs +3 -3
  105. package/fesm2022/taiga-ui-core-directives-appearance.mjs +27 -64
  106. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
  108. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-core-directives-group.mjs +23 -38
  110. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-core-directives-icons.mjs +30 -40
  112. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +3 -6
  114. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
  116. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  118. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +19 -13
  120. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-core-pipes.mjs +0 -8
  122. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  124. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  125. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  126. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  127. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +137 -289
  128. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  129. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +119 -219
  130. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  131. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  132. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  133. package/fesm2022/taiga-ui-core-portals-popup.mjs +56 -0
  134. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  135. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  136. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  137. package/fesm2022/taiga-ui-core-services.mjs +3 -23
  138. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-core-tokens.mjs +28 -26
  140. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  143. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +55 -18
  145. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-core.mjs +1 -0
  147. package/fesm2022/taiga-ui-core.mjs.map +1 -1
  148. package/index.d.ts +1 -0
  149. package/package.json +83 -104
  150. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  151. package/pipes/index.d.ts +0 -8
  152. package/portals/alert/alert.directive.d.ts +11 -0
  153. package/portals/alert/alert.service.d.ts +12 -0
  154. package/portals/alert/index.d.ts +2 -0
  155. package/portals/dialog/dialog.component.d.ts +14 -0
  156. package/portals/dialog/dialog.directive.d.ts +8 -0
  157. package/{components → portals}/dialog/dialog.factory.d.ts +1 -1
  158. package/portals/dialog/dialog.options.d.ts +25 -0
  159. package/{components/dialog/dialog-close.service.d.ts → portals/dialog/dialog.providers.d.ts} +2 -0
  160. package/portals/dialog/dialog.service.d.ts +10 -0
  161. package/portals/dialog/index.d.ts +6 -0
  162. package/portals/dropdown/dropdown-content.directive.d.ts +9 -0
  163. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  164. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  165. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  166. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  167. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  168. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
  169. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  170. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  171. package/{directives → portals}/dropdown/dropdown.d.ts +2 -3
  172. package/{directives → portals}/dropdown/dropdown.directive.d.ts +6 -8
  173. package/{directives → portals}/dropdown/index.d.ts +1 -4
  174. package/{directives → portals}/hint/hint-describe.directive.d.ts +4 -6
  175. package/{directives → portals}/hint/hint-host.directive.d.ts +2 -2
  176. package/{directives → portals}/hint/hint-hover.directive.d.ts +3 -4
  177. package/{directives → portals}/hint/hint-manual.directive.d.ts +2 -2
  178. package/{directives → portals}/hint/hint-options.directive.d.ts +3 -3
  179. package/{directives → portals}/hint/hint-overflow.directive.d.ts +2 -2
  180. package/{directives → portals}/hint/hint-position.directive.d.ts +4 -5
  181. package/{directives → portals}/hint/hint-unstyled.component.d.ts +2 -7
  182. package/portals/hint/hint.component.d.ts +29 -0
  183. package/portals/hint/hint.directive.d.ts +24 -0
  184. package/{directives → portals}/hint/index.d.ts +0 -2
  185. package/portals/index.d.ts +6 -0
  186. package/portals/modal/index.d.ts +2 -0
  187. package/portals/modal/modal.component.d.ts +17 -0
  188. package/portals/modal/modal.service.d.ts +13 -0
  189. package/portals/popup/popup.directive.d.ts +12 -0
  190. package/{directives → portals}/popup/popup.service.d.ts +1 -1
  191. package/{directives → portals}/popup/popups.component.d.ts +2 -2
  192. package/services/index.d.ts +0 -1
  193. package/styles/components/button.less +0 -2
  194. package/styles/components/icons.less +4 -4
  195. package/styles/components/link.less +1 -0
  196. package/styles/components/textfield.less +10 -7
  197. package/styles/mixins/appearance.less +1 -1
  198. package/styles/mixins/mixins.less +0 -6
  199. package/styles/mixins/mixins.scss +0 -6
  200. package/styles/mixins/slider.less +21 -16
  201. package/styles/mixins/slider.scss +1 -2
  202. package/styles/theme/variables.less +2 -4
  203. package/tokens/common-icons.d.ts +1 -3
  204. package/tokens/date-format.d.ts +2 -3
  205. package/tokens/i18n.d.ts +7 -7
  206. package/tokens/icon-resolver.d.ts +0 -4
  207. package/tokens/icons.d.ts +0 -4
  208. package/tokens/index.d.ts +1 -0
  209. package/tokens/number-format.d.ts +2 -3
  210. package/tokens/validation-errors.d.ts +4 -0
  211. package/types/index.d.ts +0 -3
  212. package/types/size.d.ts +0 -11
  213. package/utils/format/index.d.ts +0 -1
  214. package/utils/miscellaneous/get-duration.d.ts +2 -0
  215. package/utils/miscellaneous/index.d.ts +2 -1
  216. package/utils/miscellaneous/provide-taiga.d.ts +13 -0
  217. package/components/alert/alert.component.d.ts +0 -15
  218. package/components/alert/alert.directive.d.ts +0 -7
  219. package/components/alert/alert.interfaces.d.ts +0 -12
  220. package/components/alert/alert.service.d.ts +0 -7
  221. package/components/alert/alert.tokens.d.ts +0 -12
  222. package/components/alert/alerts.component.d.ts +0 -12
  223. package/components/alert/index.d.ts +0 -6
  224. package/components/data-list/data-list.directive.d.ts +0 -7
  225. package/components/data-list/option/option-content.d.ts +0 -16
  226. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  227. package/components/data-list/option/option.directive.d.ts +0 -27
  228. package/components/dialog/dialog.component.d.ts +0 -20
  229. package/components/dialog/dialog.directive.d.ts +0 -7
  230. package/components/dialog/dialog.interfaces.d.ts +0 -34
  231. package/components/dialog/dialog.service.d.ts +0 -7
  232. package/components/dialog/dialog.tokens.d.ts +0 -15
  233. package/components/dialog/dialogs.component.d.ts +0 -8
  234. package/components/dialog/index.d.ts +0 -8
  235. package/components/expand/expand-content.directive.d.ts +0 -8
  236. package/components/expand/expand.d.ts +0 -6
  237. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  238. package/components/fullscreen/index.d.ts +0 -1
  239. package/components/textfield/select.directive.d.ts +0 -19
  240. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  241. package/components/textfield/textfield.directive.d.ts +0 -38
  242. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  243. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  244. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  245. package/directives/dropdown/dropdown.service.d.ts +0 -6
  246. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  247. package/directives/hint/hint.component.d.ts +0 -30
  248. package/directives/hint/hint.directive.d.ts +0 -26
  249. package/directives/hint/hint.service.d.ts +0 -13
  250. package/directives/hint/hints.component.d.ts +0 -12
  251. package/directives/popup/popup.directive.d.ts +0 -11
  252. package/directives/surface/index.d.ts +0 -1
  253. package/directives/surface/surface.directive.d.ts +0 -8
  254. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
  255. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  256. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -195
  257. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  258. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -66
  259. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  260. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  262. package/fesm2022/taiga-ui-core-directives-popup.mjs +0 -63
  263. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  264. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  265. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  266. package/fesm2022/taiga-ui-core-directives-title.mjs +0 -43
  267. package/fesm2022/taiga-ui-core-directives-title.mjs.map +0 -1
  268. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  269. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  270. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  271. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  272. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
  273. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
  274. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  275. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  276. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  277. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  278. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  279. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  280. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  281. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  282. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  283. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  284. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  285. package/pipes/auto-color/index.d.ts +0 -1
  286. package/pipes/calendar-sheet/index.d.ts +0 -1
  287. package/pipes/calendar-sheet/utils.d.ts +0 -20
  288. package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
  289. package/pipes/fallback-src/index.d.ts +0 -1
  290. package/pipes/flag/flag.pipe.d.ts +0 -14
  291. package/pipes/flag/index.d.ts +0 -1
  292. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  293. package/pipes/format-date/index.d.ts +0 -1
  294. package/pipes/initials/index.d.ts +0 -1
  295. package/pipes/initials/initials.pipe.d.ts +0 -7
  296. package/pipes/month/index.d.ts +0 -1
  297. package/pipes/month/month.pipe.d.ts +0 -10
  298. package/pipes/order-week-days/index.d.ts +0 -1
  299. package/services/format-date.service.d.ts +0 -8
  300. package/types/portal-item.d.ts +0 -9
  301. package/types/range-state.d.ts +0 -4
  302. package/types/value-content-context.d.ts +0 -4
  303. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  304. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  305. /package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +0 -0
  306. /package/{directives → components}/title/index.d.ts +0 -0
  307. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  308. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  309. /package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -0
  310. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  311. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  312. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  313. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  314. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  315. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  316. /package/{directives → portals}/hint/hint.d.ts +0 -0
  317. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  318. /package/{directives → portals}/popup/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-date-format.mjs","sources":["../../../projects/core/directives/date-format/date-format.directive.ts","../../../projects/core/directives/date-format/taiga-ui-core-directives-date-format.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DATE_FORMAT, type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\nimport {combineLatest, map, Observable, ReplaySubject} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDateFormat]',\n providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)],\n})\nexport class TuiDateFormat extends Observable<TuiDateFormatSettings> {\n private readonly settings = new ReplaySubject<Partial<TuiDateFormatSettings>>(1);\n private readonly parent = inject(TUI_DATE_FORMAT, {skipSelf: true});\n\n constructor() {\n super((subscriber) =>\n combineLatest([this.parent, this.settings])\n .pipe(map(([parent, settings]) => ({...parent, ...settings})))\n .subscribe(subscriber),\n );\n }\n\n @Input()\n public set tuiDateFormat(format: Partial<TuiDateFormatSettings>) {\n this.settings.next(format);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,aAAc,SAAQ,UAAiC,CAAA;AAIhE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KACb,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC,CAAC,CAAC;AAC5D,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B;AARY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAiC,CAAC,CAAC;QAC/D,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;IAUnE,IACW,aAAa,CAAC,MAAsC,EAAA;AAC3D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;+GAdrB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAFX,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE9C,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,eAAe,gBAAgB,CAAC;AAC1D,iBAAA;wDAcc,aAAa,EAAA,CAAA;sBADvB;;;ACtBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-date-format.mjs","sources":["../../../projects/core/directives/date-format/date-format.directive.ts","../../../projects/core/directives/date-format/taiga-ui-core-directives-date-format.ts"],"sourcesContent":["import {computed, Directive, inject, input} from '@angular/core';\nimport {TUI_DATE_FORMAT, type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: '[tuiDateFormat]',\n providers: [\n {\n provide: TUI_DATE_FORMAT,\n useFactory: () => {\n const parent = inject(TUI_DATE_FORMAT, {skipSelf: true});\n const format = inject(TuiDateFormat).tuiDateFormat;\n\n return computed(() => ({...parent(), ...format()}));\n },\n },\n ],\n})\nexport class TuiDateFormat {\n public readonly tuiDateFormat = input.required<Partial<TuiDateFormatSettings>>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAiBa,aAAa,CAAA;AAd1B,IAAA,WAAA,GAAA;AAeoB,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAkC;AACnF,IAAA;+GAFY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAZX;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,MAAK;AACb,oBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;oBACxD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa;AAElD,oBAAA,OAAO,QAAQ,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAC,CAAC,CAAC;gBACvD,CAAC;AACJ,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEQ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAdzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,eAAe;4BACxB,UAAU,EAAE,MAAK;AACb,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AACxD,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAA,aAAA,CAAe,CAAC,aAAa;AAElD,gCAAA,OAAO,QAAQ,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAC,CAAC,CAAC;4BACvD,CAAC;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;AChBD;;AAEG;;;;"}
@@ -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,60 +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
- class TuiGroupStyles {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGroupStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiGroupStyles, 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 }); }
14
+ class Styles {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ 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 }); }
21
17
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGroupStyles, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
23
19
  type: Component,
24
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
25
- class: 'tui-group',
26
- }, 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)}.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"] }]
27
21
  }] });
28
22
  class TuiGroup {
29
23
  constructor() {
30
24
  this.options = inject(TUI_GROUP_OPTIONS);
31
- this.nothing = tuiWithStyles(TuiGroupStyles);
32
- this.orientation = this.options.orientation;
33
- this.collapsed = this.options.collapsed;
34
- this.rounded = this.options.rounded;
35
- this.size = this.options.size;
25
+ this.nothing = tuiWithStyles(Styles);
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);
36
30
  }
37
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
- 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 }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", 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 }); }
39
33
  }
40
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiGroup, decorators: [{
41
35
  type: Directive,
42
36
  args: [{
43
- standalone: true,
44
37
  selector: '[tuiGroup]:not(ng-container)',
45
38
  host: {
46
39
  tuiGroup: '',
47
- '[attr.data-orientation]': 'orientation',
48
- '[attr.data-size]': 'size',
49
- '[style.--t-group-radius]': 'rounded ? null : 0',
50
- '[style.--t-group-margin.rem]': 'collapsed ? null : 0.125',
51
- '[style.--t-group-mask]': 'collapsed ? null : "none"',
52
- '[style.--t-group-mask-start]': 'collapsed ? null : "none"',
53
- '[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"',
54
47
  },
55
48
  }]
56
- }], propDecorators: { orientation: [{
57
- type: Input
58
- }], collapsed: [{
59
- type: Input
60
- }], rounded: [{
61
- type: Input
62
- }], size: [{
63
- type: Input
64
- }] } });
49
+ }] });
65
50
 
66
51
  /**
67
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 standalone: true,\n template: '',\n styleUrls: ['./group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-group',\n },\n})\nclass TuiGroupStyles {}\n\n@Directive({\n standalone: true,\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(TuiGroupStyles);\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 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 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,68 +1,59 @@
1
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
1
2
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, computed, signal, inject, Input, Directive } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, computed, input, inject, Directive } from '@angular/core';
3
4
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
- import { tuiInjectIconResolver, tuiGetIconMode, TUI_ICON_START, TUI_ICON_END } from '@taiga-ui/core/tokens';
5
+ import { tuiInjectIconResolver, tuiGetIconMode, TUI_ICON_END, TUI_ICON_START } from '@taiga-ui/core/tokens';
5
6
 
6
- class TuiIconsStyles {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiIconsStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiIconsStyles, 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, none);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, none);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 / contain padding-box}[tuiIcons][data-icon-end=img]:after{mask:none;background:var(--t-icon-end) no-repeat center / contain 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 }); }
7
+ const OPT = { self: true, optional: true };
8
+ class Styles {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ 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
11
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiIconsStyles, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
11
13
  type: Component,
12
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
13
- class: 'tui-icons',
14
- }, 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, none);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, none);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 / contain padding-box}[tuiIcons][data-icon-end=img]:after{mask:none;background:var(--t-icon-end) no-repeat center / contain 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}[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"] }]
15
15
  }] });
16
16
  class TuiIcons {
17
17
  constructor() {
18
18
  this.resolver = tuiInjectIconResolver();
19
- this.nothing = tuiWithStyles(TuiIconsStyles);
20
- this.startResource = computed(() => this.resolve(this.iconStart()));
21
- this.endResource = computed(() => this.resolve(this.iconEnd()));
22
- this.startMode = computed(() => tuiGetIconMode(this.iconStart()?.toString()));
19
+ this.nothing = tuiWithStyles(Styles);
20
+ this.start = computed(() => this.resolve(this.iconStart()));
21
+ this.end = computed(() => this.resolve(this.iconEnd()));
22
+ this.startMode = computed(() => tuiGetIconMode(this.iconStart()));
23
23
  this.endMode = computed(() => tuiGetIconMode(this.iconEnd()));
24
- this.iconStart = signal(inject(TUI_ICON_START, { self: true, optional: true }) || '');
25
- this.iconEnd = signal(inject(TUI_ICON_END, { self: true, optional: true }) || '');
26
- }
27
- // TODO(v5): use signal inputs
28
- set iconStartSetter(x) {
29
- this.iconStart.set(x);
30
- }
31
- // TODO(v5): use signal inputs
32
- set iconEndSetter(x) {
33
- this.iconEnd.set(x);
24
+ this.iconEnd = input(inject(TUI_ICON_END, OPT));
25
+ this.iconStart = input(inject(TUI_ICON_START, OPT));
34
26
  }
35
27
  resolve(icon) {
36
28
  if (!icon) {
37
29
  return null;
38
30
  }
39
- const iconStr = icon.toString();
40
- return tuiGetIconMode(iconStr) === 'font'
41
- ? `'${this.resolver(iconStr)}'`
42
- : `url(${this.resolver(iconStr)})`;
31
+ return tuiGetIconMode(icon) === 'font'
32
+ ? `'${this.resolver(icon)}'`
33
+ : `url(${this.resolver(icon)})`;
43
34
  }
44
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiIcons, isStandalone: true, inputs: { iconStartSetter: ["iconStart", "iconStartSetter"], iconEndSetter: ["iconEnd", "iconEndSetter"] }, host: { attributes: { "tuiIcons": "" }, properties: { "style.--t-icon-start": "startResource()", "style.--t-icon-end": "endResource()", "attr.data-icon-start": "startMode()", "attr.data-icon-end": "endMode()" } }, ngImport: i0 }); }
36
+ 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 }); }
46
37
  }
47
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiIcons, decorators: [{
48
39
  type: Directive,
49
40
  args: [{
50
- standalone: true,
51
41
  host: {
52
42
  tuiIcons: '',
53
- '[style.--t-icon-start]': 'startResource()',
54
- '[style.--t-icon-end]': 'endResource()',
43
+ '[style.--t-icon-start]': 'start()',
44
+ '[style.--t-icon-end]': 'end()',
55
45
  '[attr.data-icon-start]': 'startMode()',
56
46
  '[attr.data-icon-end]': 'endMode()',
57
47
  },
58
48
  }]
59
- }], propDecorators: { iconStartSetter: [{
60
- type: Input,
61
- args: ['iconStart']
62
- }], iconEndSetter: [{
63
- type: Input,
64
- args: ['iconEnd']
65
- }] } });
49
+ }] });
50
+
51
+ function tuiIconStart(value, options) {
52
+ return tuiDirectiveBinding(TuiIcons, 'iconStart', value, options);
53
+ }
54
+ function tuiIconEnd(value, options = {}) {
55
+ return tuiDirectiveBinding(TuiIcons, 'iconEnd', value, options);
56
+ }
66
57
 
67
58
  class TuiWithIcons {
68
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithIcons, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -71,7 +62,6 @@ class TuiWithIcons {
71
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithIcons, decorators: [{
72
63
  type: Directive,
73
64
  args: [{
74
- standalone: true,
75
65
  hostDirectives: [
76
66
  {
77
67
  directive: TuiIcons,
@@ -85,5 +75,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
85
75
  * Generated bundle index. Do not edit.
86
76
  */
87
77
 
88
- export { TuiIcons, TuiWithIcons };
78
+ export { TuiIcons, TuiWithIcons, tuiIconEnd, tuiIconStart };
89
79
  //# sourceMappingURL=taiga-ui-core-directives-icons.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-icons.mjs","sources":["../../../projects/core/directives/icons/icons.directive.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 signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type SafeResourceUrl} from '@angular/platform-browser';\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\n/**\n * Workaround for {@link TuiAvatar} to properly handle icon color in {@link TuiAppearance}\n */\ntype Icon = SafeResourceUrl | string | null | undefined;\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/core/styles/components/icons.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-icons',\n },\n})\nclass TuiIconsStyles {}\n\n@Directive({\n standalone: true,\n host: {\n tuiIcons: '',\n '[style.--t-icon-start]': 'startResource()',\n '[style.--t-icon-end]': 'endResource()',\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(TuiIconsStyles);\n protected readonly startResource = computed(() => this.resolve(this.iconStart()));\n protected readonly endResource = computed(() => this.resolve(this.iconEnd()));\n protected readonly startMode = computed(() =>\n tuiGetIconMode(this.iconStart()?.toString()),\n );\n\n protected readonly endMode = computed(() => tuiGetIconMode(this.iconEnd()));\n\n public readonly iconStart = signal<Icon>(\n inject(TUI_ICON_START, {self: true, optional: true}) || '',\n );\n\n public readonly iconEnd = signal<string>(\n inject(TUI_ICON_END, {self: true, optional: true}) || '',\n );\n\n // TODO(v5): use signal inputs\n @Input('iconStart')\n public set iconStartSetter(x: Icon) {\n this.iconStart.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('iconEnd')\n public set iconEndSetter(x: string) {\n this.iconEnd.set(x);\n }\n\n public resolve(icon: Icon): string | null {\n if (!icon) {\n return null;\n }\n\n const iconStr = icon.toString();\n\n return tuiGetIconMode(iconStr) === 'font'\n ? `'${this.resolver(iconStr)}'`\n : `url(${this.resolver(iconStr)})`;\n }\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":"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"}
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,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, InjectionToken, Optional, SkipSelf, inject, Input, Directive, effect } from '@angular/core';
3
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
4
- import { TUI_FALSE_HANDLER, TUI_DEFAULT_IDENTITY_MATCHER, TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
3
+ import { tuiProvide } from '@taiga-ui/cdk/utils/di';
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';
7
7
 
@@ -57,7 +57,6 @@ class TuiItemsHandlersDirective {
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersDirective, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
- standalone: true,
61
60
  providers: [tuiProvide(TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective)],
62
61
  }]
63
62
  }], propDecorators: { stringifySetter: [{
@@ -77,7 +76,6 @@ class TuiWithItemsHandlers {
77
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithItemsHandlers, decorators: [{
78
77
  type: Directive,
79
78
  args: [{
80
- standalone: true,
81
79
  hostDirectives: [
82
80
  {
83
81
  directive: TuiItemsHandlersDirective,
@@ -94,7 +92,7 @@ class TuiItemsHandlersValidator extends TuiValidator {
94
92
  this.update = effect(() => {
95
93
  this.handlers.disabledItemHandler();
96
94
  this.onChange();
97
- }, TUI_ALLOW_SIGNAL_WRITES);
95
+ });
98
96
  this.disabledItemHandler = (value) => Array.isArray(value)
99
97
  ? value.some((item) => this.handlers.disabledItemHandler()(item))
100
98
  : Boolean(value) && this.handlers.disabledItemHandler()(value);
@@ -106,7 +104,6 @@ class TuiItemsHandlersValidator extends TuiValidator {
106
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsHandlersValidator, decorators: [{
107
105
  type: Directive,
108
106
  args: [{
109
- standalone: true,
110
107
  providers: [tuiProvide(NG_VALIDATORS, TuiItemsHandlersValidator, true)],
111
108
  }]
112
109
  }] });
@@ -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 {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\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 }, TUI_ALLOW_SIGNAL_WRITES);\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 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/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 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 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 });
14
- }
15
- set tuiNumberFormat(format) {
16
- this.settings.next(format);
7
+ this.tuiNumberFormat = input.required();
17
8
  }
18
9
  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 }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", 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
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", 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,IAAA;+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,EAAA,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,EAfb;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;gBACP,CAAC;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,CAAA,eAAA,CAAiB,CAAC,eAAe;AAEtD,gCAAA,OAAO,QAAQ,CAAC,OAAO;AACnB,oCAAA,GAAG,MAAM,EAAE;AACX,oCAAA,GAAG,MAAM,EAAE;AACd,iCAAA,CAAC,CAAC;4BACP,CAAC;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
6
  export * from '@taiga-ui/core/directives/number-format';
9
- export * from '@taiga-ui/core/directives/popup';
10
- export * from '@taiga-ui/core/directives/surface';
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"}