@taiga-ui/kit 4.66.0 → 5.0.0-canary.2e92594

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 (1025) hide show
  1. package/README.md +1 -1
  2. package/components/accordion/accordion.component.d.ts +13 -0
  3. package/components/accordion/accordion.d.ts +4 -4
  4. package/components/accordion/accordion.directive.d.ts +11 -10
  5. package/components/accordion/index.d.ts +1 -3
  6. package/components/action-bar/action-bar.component.d.ts +5 -7
  7. package/components/action-bar/index.d.ts +0 -2
  8. package/components/avatar/avatar-labeled.component.d.ts +3 -3
  9. package/components/avatar/avatar-outline.directive.d.ts +3 -3
  10. package/components/avatar/avatar-stack.component.d.ts +2 -2
  11. package/components/avatar/avatar.directive.d.ts +15 -0
  12. package/components/avatar/avatar.options.d.ts +1 -2
  13. package/components/avatar/index.d.ts +1 -1
  14. package/components/badge/badge.directive.d.ts +2 -2
  15. package/components/badge/badge.options.d.ts +1 -3
  16. package/components/badge-notification/badge-notification.component.d.ts +2 -3
  17. package/components/badge-notification/badge-notification.options.d.ts +1 -3
  18. package/components/badged-content/badged-content.directive.d.ts +2 -3
  19. package/components/block/block.directive.d.ts +4 -4
  20. package/components/block/block.options.d.ts +2 -4
  21. package/components/breadcrumbs/breadcrumbs.component.d.ts +6 -7
  22. package/components/breadcrumbs/breadcrumbs.options.d.ts +1 -3
  23. package/components/button-loading/button-loading.component.d.ts +5 -5
  24. package/components/calendar-month/calendar-month.component.d.ts +6 -6
  25. package/components/calendar-month/calendar-month.options.d.ts +1 -1
  26. package/components/calendar-range/calendar-range.component.d.ts +2 -5
  27. package/components/calendar-range/day-range-period.d.ts +2 -1
  28. package/components/carousel/carousel-autoscroll.directive.d.ts +1 -2
  29. package/components/carousel/carousel-scroll.directive.d.ts +1 -1
  30. package/components/carousel/carousel.component.d.ts +15 -18
  31. package/components/carousel/carousel.directive.d.ts +5 -4
  32. package/components/checkbox/checkbox.component.d.ts +7 -18
  33. package/components/checkbox/checkbox.options.d.ts +5 -9
  34. package/components/chip/chip.directive.d.ts +2 -4
  35. package/components/chip/chip.options.d.ts +1 -3
  36. package/components/combo-box/combo-box.d.ts +5 -0
  37. package/components/combo-box/combo-box.directive.d.ts +7 -9
  38. package/components/combo-box/index.d.ts +1 -0
  39. package/components/comment/comment.directive.d.ts +2 -2
  40. package/components/compass/compass.component.d.ts +2 -2
  41. package/components/confirm/confirm.component.d.ts +5 -4
  42. package/components/confirm/confirm.service.d.ts +2 -2
  43. package/{directives → components}/copy/copy.component.d.ts +4 -7
  44. package/{directives → components}/copy/copy.directive.d.ts +4 -6
  45. package/{directives → components}/copy/copy.options.d.ts +2 -2
  46. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +4 -2
  47. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +14 -22
  48. package/components/data-list-wrapper/{data-list-wrapper.module.d.ts → data-list-wrapper.d.ts} +1 -2
  49. package/components/data-list-wrapper/index.d.ts +1 -1
  50. package/components/drawer/drawer.component.d.ts +3 -4
  51. package/components/files/file/file.component.d.ts +16 -29
  52. package/components/files/file/file.options.d.ts +2 -2
  53. package/components/files/files/files.component.d.ts +7 -10
  54. package/components/files/input-files/input-files.component.d.ts +2 -2
  55. package/components/files/input-files/input-files.content.d.ts +7 -8
  56. package/components/files/input-files/input-files.directive.d.ts +2 -2
  57. package/components/files/input-files/input-files.options.d.ts +1 -3
  58. package/components/filter/filter.component.d.ts +9 -12
  59. package/components/fullscreen/fullscreen.component.d.ts +11 -0
  60. package/components/fullscreen/index.d.ts +1 -0
  61. package/components/index.d.ts +2 -5
  62. package/components/input-chip/input-chip.component.d.ts +9 -8
  63. package/components/input-chip/input-chip.d.ts +5 -1
  64. package/components/input-chip/input-chip.directive.d.ts +7 -12
  65. package/components/input-chip/input-chip.options.d.ts +1 -1
  66. package/components/input-color/index.d.ts +1 -0
  67. package/components/input-color/input-color.component.d.ts +10 -13
  68. package/components/input-color/input-color.d.ts +5 -0
  69. package/components/input-color/input-color.options.d.ts +1 -1
  70. package/components/input-date/input-date.component.d.ts +2 -2
  71. package/components/input-date/input-date.d.ts +4 -1
  72. package/components/input-date/input-date.directive.d.ts +21 -22
  73. package/components/input-date/input-date.options.d.ts +3 -3
  74. package/components/input-date-multi/input-date-multi.d.ts +1 -2
  75. package/components/input-date-multi/input-date-multi.directive.d.ts +10 -14
  76. package/components/input-date-range/input-date-range.d.ts +4 -1
  77. package/components/input-date-range/input-date-range.directive.d.ts +9 -10
  78. package/components/input-date-range/input-date-range.options.d.ts +2 -2
  79. package/components/input-date-time/input-date-time.d.ts +4 -1
  80. package/components/input-date-time/input-date-time.directive.d.ts +14 -14
  81. package/components/input-date-time/input-date-time.options.d.ts +2 -2
  82. package/components/input-inline/input-inline.component.d.ts +3 -2
  83. package/components/input-month/input-month.component.d.ts +3 -5
  84. package/components/input-month/input-month.d.ts +4 -1
  85. package/components/input-month/input-month.directive.d.ts +6 -5
  86. package/components/input-month-range/input-month-range.d.ts +4 -1
  87. package/components/input-month-range/input-month-range.directive.d.ts +6 -5
  88. package/components/input-number/index.d.ts +3 -0
  89. package/components/input-number/input-number.d.ts +7 -2
  90. package/components/input-number/input-number.directive.d.ts +11 -28
  91. package/components/input-number/input-number.options.d.ts +5 -8
  92. package/components/input-number/number-mask.directive.d.ts +42 -0
  93. package/components/input-number/quantum.directive.d.ts +11 -9
  94. package/components/input-number/step/input-number-step.component.d.ts +11 -10
  95. package/components/input-number/transformers/bigint.value-transformer.d.ts +11 -0
  96. package/components/input-number/transformers/number.value-transformer.d.ts +11 -0
  97. package/components/input-phone/index.d.ts +1 -0
  98. package/components/input-phone/input-phone.d.ts +5 -0
  99. package/components/input-phone/input-phone.directive.d.ts +12 -14
  100. package/components/input-phone/input-phone.options.d.ts +1 -1
  101. package/components/input-phone-international/index.d.ts +1 -0
  102. package/components/input-phone-international/input-phone-international.component.d.ts +28 -36
  103. package/components/input-phone-international/input-phone-international.d.ts +5 -0
  104. package/components/input-phone-international/input-phone-international.options.d.ts +2 -3
  105. package/components/input-pin/index.d.ts +1 -0
  106. package/components/input-pin/input-pin.component.d.ts +6 -7
  107. package/components/input-pin/input-pin.d.ts +5 -0
  108. package/components/input-range/index.d.ts +0 -1
  109. package/components/input-range/input-range.component.d.ts +24 -61
  110. package/components/input-slider/input-slider.d.ts +4 -1
  111. package/components/input-slider/input-slider.directive.d.ts +5 -5
  112. package/components/input-time/input-time.component.d.ts +1 -3
  113. package/components/input-time/input-time.d.ts +4 -1
  114. package/components/input-time/input-time.directive.d.ts +9 -11
  115. package/components/input-time/input-time.options.d.ts +1 -1
  116. package/components/input-year/input-year.d.ts +4 -1
  117. package/components/input-year/input-year.directive.d.ts +8 -10
  118. package/components/input-year/input-year.options.d.ts +2 -2
  119. package/components/items-with-more/items-with-more.component.d.ts +6 -6
  120. package/components/items-with-more/items-with-more.directive.d.ts +6 -6
  121. package/components/like/like.component.d.ts +4 -11
  122. package/components/like/like.options.d.ts +4 -5
  123. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  124. package/components/line-clamp/line-clamp.component.d.ts +8 -10
  125. package/components/line-clamp/line-clamp.options.d.ts +1 -3
  126. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +6 -8
  127. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +5 -4
  128. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  129. package/components/notification-middle/notification-middle.component.d.ts +2 -2
  130. package/components/notification-middle/notification-middle.directive.d.ts +4 -3
  131. package/components/notification-middle/notification-middle.service.d.ts +7 -3
  132. package/components/pager/pager.component.d.ts +12 -12
  133. package/components/pagination/index.d.ts +1 -0
  134. package/components/pagination/pagination.component.d.ts +25 -55
  135. package/components/pagination/pagination.options.d.ts +7 -0
  136. package/components/pin/pin.directive.d.ts +2 -2
  137. package/components/preview/dialog/preview-dialog.component.d.ts +2 -2
  138. package/components/preview/dialog/preview-dialog.directive.d.ts +3 -3
  139. package/components/preview/dialog/preview-dialog.service.d.ts +5 -2
  140. package/components/preview/index.d.ts +1 -0
  141. package/components/preview/pagination/preview-pagination.component.d.ts +6 -10
  142. package/components/preview/preview.component.d.ts +6 -6
  143. package/components/preview/preview.d.ts +2 -1
  144. package/{tokens/preview-icons.d.ts → components/preview/preview.options.d.ts} +1 -3
  145. package/components/preview/zoom/preview-zoom.component.d.ts +11 -18
  146. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  147. package/components/progress/progress-bar/progress-bar.component.d.ts +3 -4
  148. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +2 -3
  149. package/components/progress/progress-circle/progress-circle.component.d.ts +7 -11
  150. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  151. package/components/progress/progress.options.d.ts +1 -3
  152. package/components/pulse/pulse.component.d.ts +2 -2
  153. package/components/push/push-alert.component.d.ts +4 -3
  154. package/components/push/push.component.d.ts +7 -8
  155. package/components/push/push.directive.d.ts +4 -6
  156. package/components/push/push.options.d.ts +5 -8
  157. package/components/push/push.service.d.ts +6 -2
  158. package/components/radio/radio.component.d.ts +8 -9
  159. package/components/radio/radio.directive.d.ts +2 -2
  160. package/components/radio/radio.options.d.ts +2 -5
  161. package/components/radio-list/radio-list.component.d.ts +11 -9
  162. package/components/range/range-change.directive.d.ts +1 -2
  163. package/components/range/range.component.d.ts +16 -25
  164. package/components/rating/rating.component.d.ts +5 -5
  165. package/components/rating/rating.options.d.ts +1 -3
  166. package/components/routable-dialog/generate-dialogable-route.d.ts +1 -1
  167. package/components/segmented/segmented.component.d.ts +8 -12
  168. package/components/segmented/segmented.directive.d.ts +6 -7
  169. package/components/select/native-select/native-select.component.d.ts +6 -9
  170. package/components/select/select.d.ts +4 -1
  171. package/components/select/select.directive.d.ts +4 -3
  172. package/components/slider/helpers/key-steps.d.ts +1 -2
  173. package/components/slider/helpers/slider-key-steps.directive.d.ts +19 -25
  174. package/components/slider/helpers/slider-readonly.directive.d.ts +2 -4
  175. package/components/slider/helpers/slider-thumb-label.component.d.ts +2 -4
  176. package/components/slider/slider.component.d.ts +4 -7
  177. package/components/slider/slider.options.d.ts +1 -6
  178. package/components/status/status.directive.d.ts +2 -2
  179. package/components/stepper/step.component.d.ts +14 -9
  180. package/components/stepper/stepper.component.d.ts +5 -12
  181. package/components/switch/switch.component.d.ts +8 -19
  182. package/components/switch/switch.options.d.ts +4 -8
  183. package/components/tabs/tabs-horizontal.directive.d.ts +4 -5
  184. package/components/tabs/tabs-vertical.directive.d.ts +2 -2
  185. package/components/tabs/tabs-with-more.component.d.ts +13 -17
  186. package/components/tabs/tabs.directive.d.ts +5 -7
  187. package/components/tabs/tabs.options.d.ts +1 -6
  188. package/components/textarea/index.d.ts +2 -1
  189. package/components/textarea/textarea.component.d.ts +10 -11
  190. package/components/textarea/textarea.d.ts +6 -0
  191. package/components/textarea/textarea.directive.d.ts +13 -0
  192. package/components/textarea/textarea.options.d.ts +1 -1
  193. package/components/tiles/tile-handle.directive.d.ts +2 -1
  194. package/components/tiles/tile.component.d.ts +7 -10
  195. package/components/tiles/tile.service.d.ts +1 -1
  196. package/components/tiles/tiles.component.d.ts +4 -7
  197. package/components/toast/toast.component.d.ts +5 -4
  198. package/components/toast/toast.options.d.ts +9 -7
  199. package/components/toast/toast.service.d.ts +10 -9
  200. package/components/tree/components/tree/tree.component.d.ts +7 -7
  201. package/components/tree/components/tree-item/tree-item.component.d.ts +2 -2
  202. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +9 -7
  203. package/components/tree/directives/tree-children.directive.d.ts +2 -2
  204. package/components/tree/directives/tree-controller.directive.d.ts +4 -5
  205. package/components/tree/directives/tree-item-controller.directive.d.ts +2 -2
  206. package/components/tree/directives/tree-node.directive.d.ts +5 -4
  207. package/components/tree/misc/tree.constants.d.ts +0 -3
  208. package/components/tree/misc/tree.tokens.d.ts +1 -6
  209. package/directives/appearance-proxy/appearance-proxy.directive.d.ts +10 -0
  210. package/directives/appearance-proxy/index.d.ts +1 -0
  211. package/directives/button-select/button-select.directive.d.ts +2 -3
  212. package/directives/chevron/chevron.directive.d.ts +2 -3
  213. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +5 -5
  214. package/directives/fade/fade.directive.d.ts +6 -6
  215. package/directives/fluid-typography/fluid-typography.directive.d.ts +3 -6
  216. package/directives/fluid-typography/fluid-typography.options.d.ts +1 -3
  217. package/directives/highlight/highlight.directive.d.ts +5 -7
  218. package/directives/index.d.ts +1 -4
  219. package/directives/password/password.directive.d.ts +1 -1
  220. package/directives/password/password.options.d.ts +1 -1
  221. package/directives/present/present.directive.d.ts +2 -4
  222. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  223. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  224. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  225. package/directives/tooltip/tooltip.directive.d.ts +3 -3
  226. package/directives/tooltip/tooltip.options.d.ts +1 -4
  227. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +2 -2
  228. package/directives/unmask-handler/unmask-handler.directive.d.ts +3 -3
  229. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -146
  230. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  231. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +24 -40
  232. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  233. package/fesm2022/taiga-ui-kit-components-avatar.mjs +84 -113
  234. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  235. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +11 -18
  236. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-components-badge.mjs +18 -28
  238. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  239. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +10 -13
  240. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  241. package/fesm2022/taiga-ui-kit-components-block.mjs +20 -31
  242. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  243. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +20 -42
  244. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  245. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +19 -28
  246. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  247. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +14 -39
  248. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  249. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +32 -42
  250. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  251. package/fesm2022/taiga-ui-kit-components-carousel.mjs +74 -129
  252. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  253. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +18 -76
  254. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  255. package/fesm2022/taiga-ui-kit-components-chip.mjs +26 -35
  256. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  257. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +45 -50
  258. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  259. package/fesm2022/taiga-ui-kit-components-comment.mjs +13 -20
  260. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  261. package/fesm2022/taiga-ui-kit-components-compass.mjs +9 -11
  262. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  263. package/fesm2022/taiga-ui-kit-components-confirm.mjs +14 -19
  264. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  265. package/fesm2022/taiga-ui-kit-components-copy.mjs +106 -0
  266. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  267. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +25 -79
  268. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  269. package/fesm2022/taiga-ui-kit-components-drawer.mjs +11 -32
  270. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  271. package/fesm2022/taiga-ui-kit-components-files.mjs +120 -257
  272. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  273. package/fesm2022/taiga-ui-kit-components-filter.mjs +21 -43
  274. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  275. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +44 -0
  276. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  277. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +67 -82
  278. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  279. package/fesm2022/taiga-ui-kit-components-input-color.mjs +35 -39
  280. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  281. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +36 -53
  282. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  283. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +37 -37
  284. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  285. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +42 -60
  286. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  287. package/fesm2022/taiga-ui-kit-components-input-date.mjs +62 -77
  288. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  289. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +10 -13
  290. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  291. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +30 -28
  292. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  293. package/fesm2022/taiga-ui-kit-components-input-month.mjs +45 -54
  294. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  295. package/fesm2022/taiga-ui-kit-components-input-number.mjs +270 -216
  296. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  297. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +129 -164
  298. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  299. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +44 -51
  300. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  301. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +26 -24
  302. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  303. package/fesm2022/taiga-ui-kit-components-input-range.mjs +54 -103
  304. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  305. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +42 -41
  306. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  307. package/fesm2022/taiga-ui-kit-components-input-time.mjs +67 -74
  308. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  309. package/fesm2022/taiga-ui-kit-components-input-year.mjs +33 -40
  310. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  311. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +51 -73
  312. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  313. package/fesm2022/taiga-ui-kit-components-like.mjs +40 -33
  314. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  315. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +38 -82
  316. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  317. package/fesm2022/taiga-ui-kit-components-message.mjs +10 -13
  318. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  319. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +64 -79
  320. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  321. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +40 -36
  322. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  323. package/fesm2022/taiga-ui-kit-components-pager.mjs +30 -44
  324. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  325. package/fesm2022/taiga-ui-kit-components-pagination.mjs +78 -153
  326. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  327. package/fesm2022/taiga-ui-kit-components-pin.mjs +15 -19
  328. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  329. package/fesm2022/taiga-ui-kit-components-preview.mjs +100 -165
  330. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  331. package/fesm2022/taiga-ui-kit-components-progress.mjs +67 -109
  332. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  333. package/fesm2022/taiga-ui-kit-components-pulse.mjs +7 -11
  334. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  335. package/fesm2022/taiga-ui-kit-components-push.mjs +55 -75
  336. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  337. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +23 -36
  338. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  339. package/fesm2022/taiga-ui-kit-components-radio.mjs +35 -41
  340. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  341. package/fesm2022/taiga-ui-kit-components-range.mjs +43 -97
  342. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  343. package/fesm2022/taiga-ui-kit-components-rating.mjs +19 -28
  344. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  345. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +13 -9
  346. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  347. package/fesm2022/taiga-ui-kit-components-segmented.mjs +33 -60
  348. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  349. package/fesm2022/taiga-ui-kit-components-select.mjs +70 -70
  350. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  351. package/fesm2022/taiga-ui-kit-components-slider.mjs +97 -128
  352. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  353. package/fesm2022/taiga-ui-kit-components-status.mjs +12 -16
  354. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  355. package/fesm2022/taiga-ui-kit-components-stepper.mjs +61 -88
  356. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  357. package/fesm2022/taiga-ui-kit-components-switch.mjs +22 -64
  358. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  359. package/fesm2022/taiga-ui-kit-components-tabs.mjs +100 -172
  360. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  361. package/fesm2022/taiga-ui-kit-components-textarea.mjs +64 -85
  362. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  363. package/fesm2022/taiga-ui-kit-components-tiles.mjs +54 -99
  364. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  365. package/fesm2022/taiga-ui-kit-components-toast.mjs +61 -68
  366. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  367. package/fesm2022/taiga-ui-kit-components-tree.mjs +95 -146
  368. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  369. package/fesm2022/taiga-ui-kit-components.mjs +2 -5
  370. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  371. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +27 -0
  372. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -0
  373. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +10 -13
  374. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  375. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +10 -18
  376. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  377. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +16 -22
  378. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  379. package/fesm2022/taiga-ui-kit-directives-connected.mjs +10 -16
  380. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  381. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +25 -53
  382. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  383. package/fesm2022/taiga-ui-kit-directives-fade.mjs +28 -40
  384. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  385. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +14 -27
  386. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  387. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +16 -21
  388. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  389. package/fesm2022/taiga-ui-kit-directives-password.mjs +14 -16
  390. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  391. package/fesm2022/taiga-ui-kit-directives-present.mjs +10 -18
  392. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  393. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +13 -18
  394. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  395. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +24 -34
  396. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  397. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +28 -38
  398. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  399. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +19 -24
  400. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  401. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +10 -14
  402. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  403. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +10 -15
  404. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  405. package/fesm2022/taiga-ui-kit-directives.mjs +1 -4
  406. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  407. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +43 -0
  408. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -0
  409. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -4
  410. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  411. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +22 -36
  412. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  413. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +30 -0
  414. package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -0
  415. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +23 -27
  416. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  417. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +28 -0
  418. package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -0
  419. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +10 -8
  420. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  421. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -4
  422. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  423. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -4
  424. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  425. package/fesm2022/taiga-ui-kit-pipes.mjs +3 -1
  426. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  427. package/fesm2022/taiga-ui-kit-tokens.mjs +4 -126
  428. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  429. package/fesm2022/taiga-ui-kit-utils.mjs +4 -16
  430. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  431. package/package.json +141 -370
  432. package/pipes/auto-color/auto-color.pipe.d.ts +13 -0
  433. package/pipes/auto-color/index.d.ts +1 -0
  434. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +5 -2
  435. package/pipes/flag/flag.pipe.d.ts +13 -0
  436. package/pipes/flag/index.d.ts +1 -0
  437. package/pipes/hide-selected/hide-selected.pipe.d.ts +2 -0
  438. package/pipes/index.d.ts +3 -1
  439. package/pipes/initials/index.d.ts +1 -0
  440. package/pipes/initials/initials.pipe.d.ts +7 -0
  441. package/pipes/sort-countries/sort-countries.pipe.d.ts +4 -3
  442. package/pipes/stringify-content/stringify-content.pipe.d.ts +2 -3
  443. package/styles/components/avatar.less +188 -0
  444. package/styles/components/badge.less +8 -24
  445. package/styles/components/block.less +6 -6
  446. package/styles/components/checkbox.less +15 -15
  447. package/styles/components/chip.less +7 -11
  448. package/styles/components/comment.less +15 -17
  449. package/styles/components/like.less +14 -16
  450. package/styles/components/message.less +1 -1
  451. package/styles/components/pin.less +6 -10
  452. package/styles/components/switch.less +12 -9
  453. package/styles/components/toast.less +2 -3
  454. package/tokens/i18n.d.ts +26 -26
  455. package/tokens/index.d.ts +0 -8
  456. package/utils/index.d.ts +0 -2
  457. package/utils/maskito.binding.d.ts +1 -1
  458. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  459. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  460. package/components/accordion/accordion-item.component.d.ts +0 -25
  461. package/components/action-bar/action-bar.d.ts +0 -3
  462. package/components/action-bar/action-bar.directive.d.ts +0 -6
  463. package/components/avatar/avatar.component.d.ts +0 -15
  464. package/components/elastic-container/elastic-container.component.d.ts +0 -8
  465. package/components/elastic-container/elastic-container.directive.d.ts +0 -7
  466. package/components/elastic-container/index.d.ts +0 -2
  467. package/components/floating-container/floating-container.directive.d.ts +0 -7
  468. package/components/floating-container/index.d.ts +0 -1
  469. package/components/input-password/index.d.ts +0 -2
  470. package/components/input-password/input-password.component.d.ts +0 -16
  471. package/components/input-password/input-password.options.d.ts +0 -24
  472. package/components/input-range/input-range.d.ts +0 -3
  473. package/components/pdf-viewer/index.d.ts +0 -4
  474. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  475. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  476. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  477. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  478. package/components/slides/index.d.ts +0 -1
  479. package/components/slides/slides.directive.d.ts +0 -11
  480. package/components/textarea/textarea-limit.directive.d.ts +0 -27
  481. package/directives/button-close/button-close.directive.d.ts +0 -5
  482. package/directives/button-close/index.d.ts +0 -1
  483. package/directives/icon-badge/icon-badge.directive.d.ts +0 -9
  484. package/directives/icon-badge/index.d.ts +0 -1
  485. package/directives/lazy-loading/index.d.ts +0 -2
  486. package/directives/lazy-loading/lazy-loading.directive.d.ts +0 -18
  487. package/directives/lazy-loading/lazy-loading.service.d.ts +0 -12
  488. package/esm2022/components/accordion/accordion-item-content.directive.mjs +0 -16
  489. package/esm2022/components/accordion/accordion-item-eager-content.directive.mjs +0 -15
  490. package/esm2022/components/accordion/accordion-item.component.mjs +0 -85
  491. package/esm2022/components/accordion/accordion.directive.mjs +0 -56
  492. package/esm2022/components/accordion/accordion.mjs +0 -11
  493. package/esm2022/components/accordion/index.mjs +0 -6
  494. package/esm2022/components/accordion/taiga-ui-kit-components-accordion.mjs +0 -5
  495. package/esm2022/components/action-bar/action-bar.component.mjs +0 -36
  496. package/esm2022/components/action-bar/action-bar.directive.mjs +0 -17
  497. package/esm2022/components/action-bar/action-bar.mjs +0 -4
  498. package/esm2022/components/action-bar/index.mjs +0 -4
  499. package/esm2022/components/action-bar/taiga-ui-kit-components-action-bar.mjs +0 -5
  500. package/esm2022/components/avatar/avatar-labeled.component.mjs +0 -47
  501. package/esm2022/components/avatar/avatar-outline.directive.mjs +0 -41
  502. package/esm2022/components/avatar/avatar-stack.component.mjs +0 -19
  503. package/esm2022/components/avatar/avatar.component.mjs +0 -59
  504. package/esm2022/components/avatar/avatar.options.mjs +0 -8
  505. package/esm2022/components/avatar/index.mjs +0 -6
  506. package/esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs +0 -5
  507. package/esm2022/components/badge/badge.directive.mjs +0 -42
  508. package/esm2022/components/badge/badge.options.mjs +0 -13
  509. package/esm2022/components/badge/index.mjs +0 -3
  510. package/esm2022/components/badge/taiga-ui-kit-components-badge.mjs +0 -5
  511. package/esm2022/components/badge-notification/badge-notification.component.mjs +0 -22
  512. package/esm2022/components/badge-notification/badge-notification.options.mjs +0 -12
  513. package/esm2022/components/badge-notification/index.mjs +0 -3
  514. package/esm2022/components/badge-notification/taiga-ui-kit-components-badge-notification.mjs +0 -5
  515. package/esm2022/components/badged-content/badge-content.mjs +0 -7
  516. package/esm2022/components/badged-content/badged-content.component.mjs +0 -30
  517. package/esm2022/components/badged-content/badged-content.directive.mjs +0 -20
  518. package/esm2022/components/badged-content/index.mjs +0 -4
  519. package/esm2022/components/badged-content/taiga-ui-kit-components-badged-content.mjs +0 -5
  520. package/esm2022/components/block/block.directive.mjs +0 -58
  521. package/esm2022/components/block/block.options.mjs +0 -13
  522. package/esm2022/components/block/index.mjs +0 -3
  523. package/esm2022/components/block/taiga-ui-kit-components-block.mjs +0 -5
  524. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +0 -69
  525. package/esm2022/components/breadcrumbs/breadcrumbs.options.mjs +0 -14
  526. package/esm2022/components/breadcrumbs/index.mjs +0 -3
  527. package/esm2022/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.mjs +0 -5
  528. package/esm2022/components/button-loading/button-loading.component.mjs +0 -70
  529. package/esm2022/components/button-loading/index.mjs +0 -2
  530. package/esm2022/components/button-loading/taiga-ui-kit-components-button-loading.mjs +0 -5
  531. package/esm2022/components/calendar-month/calendar-month.component.mjs +0 -186
  532. package/esm2022/components/calendar-month/calendar-month.options.mjs +0 -6
  533. package/esm2022/components/calendar-month/index.mjs +0 -3
  534. package/esm2022/components/calendar-month/taiga-ui-kit-components-calendar-month.mjs +0 -5
  535. package/esm2022/components/calendar-range/calculate-disabled-item-handler.mjs +0 -12
  536. package/esm2022/components/calendar-range/calendar-range.component.mjs +0 -224
  537. package/esm2022/components/calendar-range/day-caps-mapper.mjs +0 -26
  538. package/esm2022/components/calendar-range/day-range-period.mjs +0 -36
  539. package/esm2022/components/calendar-range/index.mjs +0 -5
  540. package/esm2022/components/calendar-range/taiga-ui-kit-components-calendar-range.mjs +0 -5
  541. package/esm2022/components/carousel/carousel-autoscroll.directive.mjs +0 -21
  542. package/esm2022/components/carousel/carousel-buttons.directive.mjs +0 -27
  543. package/esm2022/components/carousel/carousel-scroll.directive.mjs +0 -27
  544. package/esm2022/components/carousel/carousel.component.mjs +0 -166
  545. package/esm2022/components/carousel/carousel.directive.mjs +0 -37
  546. package/esm2022/components/carousel/carousel.mjs +0 -15
  547. package/esm2022/components/carousel/index.mjs +0 -7
  548. package/esm2022/components/carousel/taiga-ui-kit-components-carousel.mjs +0 -5
  549. package/esm2022/components/checkbox/checkbox.component.mjs +0 -74
  550. package/esm2022/components/checkbox/checkbox.options.mjs +0 -17
  551. package/esm2022/components/checkbox/index.mjs +0 -3
  552. package/esm2022/components/checkbox/taiga-ui-kit-components-checkbox.mjs +0 -5
  553. package/esm2022/components/chip/chip.directive.mjs +0 -63
  554. package/esm2022/components/chip/chip.options.mjs +0 -13
  555. package/esm2022/components/chip/index.mjs +0 -3
  556. package/esm2022/components/chip/taiga-ui-kit-components-chip.mjs +0 -5
  557. package/esm2022/components/combo-box/combo-box.directive.mjs +0 -139
  558. package/esm2022/components/combo-box/index.mjs +0 -2
  559. package/esm2022/components/combo-box/taiga-ui-kit-components-combo-box.mjs +0 -5
  560. package/esm2022/components/comment/comment.directive.mjs +0 -35
  561. package/esm2022/components/comment/index.mjs +0 -2
  562. package/esm2022/components/comment/taiga-ui-kit-components-comment.mjs +0 -5
  563. package/esm2022/components/compass/compass.component.mjs +0 -19
  564. package/esm2022/components/compass/index.mjs +0 -2
  565. package/esm2022/components/compass/taiga-ui-kit-components-compass.mjs +0 -5
  566. package/esm2022/components/confirm/confirm.component.mjs +0 -30
  567. package/esm2022/components/confirm/confirm.service.mjs +0 -32
  568. package/esm2022/components/confirm/index.mjs +0 -3
  569. package/esm2022/components/confirm/taiga-ui-kit-components-confirm.mjs +0 -5
  570. package/esm2022/components/data-list-wrapper/data-list-group-wrapper.component.mjs +0 -25
  571. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +0 -86
  572. package/esm2022/components/data-list-wrapper/data-list-wrapper.module.mjs +0 -9
  573. package/esm2022/components/data-list-wrapper/index.mjs +0 -4
  574. package/esm2022/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.mjs +0 -5
  575. package/esm2022/components/drawer/drawer.component.mjs +0 -44
  576. package/esm2022/components/drawer/index.mjs +0 -2
  577. package/esm2022/components/drawer/taiga-ui-kit-components-drawer.mjs +0 -5
  578. package/esm2022/components/elastic-container/elastic-container.component.mjs +0 -28
  579. package/esm2022/components/elastic-container/elastic-container.directive.mjs +0 -48
  580. package/esm2022/components/elastic-container/index.mjs +0 -3
  581. package/esm2022/components/elastic-container/taiga-ui-kit-components-elastic-container.mjs +0 -5
  582. package/esm2022/components/files/file/file.component.mjs +0 -144
  583. package/esm2022/components/files/file/file.options.mjs +0 -16
  584. package/esm2022/components/files/files/files.component.mjs +0 -56
  585. package/esm2022/components/files/files.mjs +0 -15
  586. package/esm2022/components/files/files.types.mjs +0 -2
  587. package/esm2022/components/files/files.utils.mjs +0 -30
  588. package/esm2022/components/files/files.validators.mjs +0 -32
  589. package/esm2022/components/files/index.mjs +0 -13
  590. package/esm2022/components/files/input-files/input-files-validator.directive.mjs +0 -45
  591. package/esm2022/components/files/input-files/input-files.component.mjs +0 -70
  592. package/esm2022/components/files/input-files/input-files.content.mjs +0 -73
  593. package/esm2022/components/files/input-files/input-files.directive.mjs +0 -77
  594. package/esm2022/components/files/input-files/input-files.options.mjs +0 -19
  595. package/esm2022/components/files/pipes/file-rejected.pipe.mjs +0 -51
  596. package/esm2022/components/files/taiga-ui-kit-components-files.mjs +0 -5
  597. package/esm2022/components/filter/filter.component.mjs +0 -65
  598. package/esm2022/components/filter/index.mjs +0 -2
  599. package/esm2022/components/filter/taiga-ui-kit-components-filter.mjs +0 -5
  600. package/esm2022/components/floating-container/floating-container.directive.mjs +0 -37
  601. package/esm2022/components/floating-container/index.mjs +0 -2
  602. package/esm2022/components/floating-container/taiga-ui-kit-components-floating-container.mjs +0 -5
  603. package/esm2022/components/index.mjs +0 -74
  604. package/esm2022/components/input-chip/index.mjs +0 -5
  605. package/esm2022/components/input-chip/input-chip.component.mjs +0 -101
  606. package/esm2022/components/input-chip/input-chip.directive.mjs +0 -143
  607. package/esm2022/components/input-chip/input-chip.mjs +0 -4
  608. package/esm2022/components/input-chip/input-chip.options.mjs +0 -7
  609. package/esm2022/components/input-chip/taiga-ui-kit-components-input-chip.mjs +0 -5
  610. package/esm2022/components/input-color/index.mjs +0 -3
  611. package/esm2022/components/input-color/input-color.component.mjs +0 -89
  612. package/esm2022/components/input-color/input-color.options.mjs +0 -6
  613. package/esm2022/components/input-color/taiga-ui-kit-components-input-color.mjs +0 -5
  614. package/esm2022/components/input-date/date-filler.mjs +0 -20
  615. package/esm2022/components/input-date/index.mjs +0 -6
  616. package/esm2022/components/input-date/input-date.component.mjs +0 -33
  617. package/esm2022/components/input-date/input-date.directive.mjs +0 -167
  618. package/esm2022/components/input-date/input-date.mjs +0 -9
  619. package/esm2022/components/input-date/input-date.options.mjs +0 -11
  620. package/esm2022/components/input-date/taiga-ui-kit-components-input-date.mjs +0 -5
  621. package/esm2022/components/input-date-multi/index.mjs +0 -3
  622. package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +0 -123
  623. package/esm2022/components/input-date-multi/input-date-multi.mjs +0 -9
  624. package/esm2022/components/input-date-multi/taiga-ui-kit-components-input-date-multi.mjs +0 -5
  625. package/esm2022/components/input-date-range/index.mjs +0 -4
  626. package/esm2022/components/input-date-range/input-date-range.directive.mjs +0 -79
  627. package/esm2022/components/input-date-range/input-date-range.mjs +0 -4
  628. package/esm2022/components/input-date-range/input-date-range.options.mjs +0 -12
  629. package/esm2022/components/input-date-range/taiga-ui-kit-components-input-date-range.mjs +0 -5
  630. package/esm2022/components/input-date-time/index.mjs +0 -5
  631. package/esm2022/components/input-date-time/input-date-time.component.mjs +0 -35
  632. package/esm2022/components/input-date-time/input-date-time.directive.mjs +0 -178
  633. package/esm2022/components/input-date-time/input-date-time.mjs +0 -9
  634. package/esm2022/components/input-date-time/input-date-time.options.mjs +0 -20
  635. package/esm2022/components/input-date-time/taiga-ui-kit-components-input-date-time.mjs +0 -5
  636. package/esm2022/components/input-inline/index.mjs +0 -2
  637. package/esm2022/components/input-inline/input-inline.component.mjs +0 -23
  638. package/esm2022/components/input-inline/taiga-ui-kit-components-input-inline.mjs +0 -5
  639. package/esm2022/components/input-month/index.mjs +0 -5
  640. package/esm2022/components/input-month/input-month.component.mjs +0 -53
  641. package/esm2022/components/input-month/input-month.directive.mjs +0 -65
  642. package/esm2022/components/input-month/input-month.mjs +0 -9
  643. package/esm2022/components/input-month/input-month.options.mjs +0 -19
  644. package/esm2022/components/input-month/taiga-ui-kit-components-input-month.mjs +0 -5
  645. package/esm2022/components/input-month-range/index.mjs +0 -4
  646. package/esm2022/components/input-month-range/input-month-range.directive.mjs +0 -86
  647. package/esm2022/components/input-month-range/input-month-range.mjs +0 -7
  648. package/esm2022/components/input-month-range/input-month-range.options.mjs +0 -13
  649. package/esm2022/components/input-month-range/taiga-ui-kit-components-input-month-range.mjs +0 -5
  650. package/esm2022/components/input-number/index.mjs +0 -6
  651. package/esm2022/components/input-number/input-number.directive.mjs +0 -197
  652. package/esm2022/components/input-number/input-number.mjs +0 -9
  653. package/esm2022/components/input-number/input-number.options.mjs +0 -15
  654. package/esm2022/components/input-number/quantum.directive.mjs +0 -69
  655. package/esm2022/components/input-number/step/input-number-step.component.mjs +0 -58
  656. package/esm2022/components/input-number/taiga-ui-kit-components-input-number.mjs +0 -5
  657. package/esm2022/components/input-password/index.mjs +0 -3
  658. package/esm2022/components/input-password/input-password.component.mjs +0 -69
  659. package/esm2022/components/input-password/input-password.options.mjs +0 -24
  660. package/esm2022/components/input-password/taiga-ui-kit-components-input-password.mjs +0 -5
  661. package/esm2022/components/input-phone/index.mjs +0 -3
  662. package/esm2022/components/input-phone/input-phone.directive.mjs +0 -137
  663. package/esm2022/components/input-phone/input-phone.options.mjs +0 -9
  664. package/esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs +0 -5
  665. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +0 -41
  666. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +0 -17
  667. package/esm2022/components/input-phone-international/index.mjs +0 -3
  668. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +0 -210
  669. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +0 -19
  670. package/esm2022/components/input-phone-international/taiga-ui-kit-components-input-phone-international.mjs +0 -5
  671. package/esm2022/components/input-pin/index.mjs +0 -2
  672. package/esm2022/components/input-pin/input-pin.component.mjs +0 -66
  673. package/esm2022/components/input-pin/taiga-ui-kit-components-input-pin.mjs +0 -5
  674. package/esm2022/components/input-range/index.mjs +0 -3
  675. package/esm2022/components/input-range/input-range.component.mjs +0 -185
  676. package/esm2022/components/input-range/input-range.mjs +0 -4
  677. package/esm2022/components/input-range/taiga-ui-kit-components-input-range.mjs +0 -5
  678. package/esm2022/components/input-slider/index.mjs +0 -3
  679. package/esm2022/components/input-slider/input-slider.directive.mjs +0 -109
  680. package/esm2022/components/input-slider/input-slider.mjs +0 -9
  681. package/esm2022/components/input-slider/taiga-ui-kit-components-input-slider.mjs +0 -5
  682. package/esm2022/components/input-time/index.mjs +0 -5
  683. package/esm2022/components/input-time/input-time.component.mjs +0 -64
  684. package/esm2022/components/input-time/input-time.directive.mjs +0 -159
  685. package/esm2022/components/input-time/input-time.mjs +0 -4
  686. package/esm2022/components/input-time/input-time.options.mjs +0 -10
  687. package/esm2022/components/input-time/taiga-ui-kit-components-input-time.mjs +0 -5
  688. package/esm2022/components/input-year/index.mjs +0 -4
  689. package/esm2022/components/input-year/input-year.directive.mjs +0 -103
  690. package/esm2022/components/input-year/input-year.mjs +0 -4
  691. package/esm2022/components/input-year/input-year.options.mjs +0 -12
  692. package/esm2022/components/input-year/taiga-ui-kit-components-input-year.mjs +0 -5
  693. package/esm2022/components/items-with-more/index.mjs +0 -6
  694. package/esm2022/components/items-with-more/items-with-more.component.mjs +0 -77
  695. package/esm2022/components/items-with-more/items-with-more.directive.mjs +0 -46
  696. package/esm2022/components/items-with-more/items-with-more.mjs +0 -11
  697. package/esm2022/components/items-with-more/items-with-more.service.mjs +0 -85
  698. package/esm2022/components/items-with-more/more.directive.mjs +0 -18
  699. package/esm2022/components/items-with-more/taiga-ui-kit-components-items-with-more.mjs +0 -5
  700. package/esm2022/components/like/index.mjs +0 -3
  701. package/esm2022/components/like/like.component.mjs +0 -46
  702. package/esm2022/components/like/like.options.mjs +0 -10
  703. package/esm2022/components/like/taiga-ui-kit-components-like.mjs +0 -5
  704. package/esm2022/components/line-clamp/index.mjs +0 -4
  705. package/esm2022/components/line-clamp/line-clamp-box.component.mjs +0 -25
  706. package/esm2022/components/line-clamp/line-clamp-position.directive.mjs +0 -27
  707. package/esm2022/components/line-clamp/line-clamp.component.mjs +0 -90
  708. package/esm2022/components/line-clamp/line-clamp.options.mjs +0 -15
  709. package/esm2022/components/line-clamp/taiga-ui-kit-components-line-clamp.mjs +0 -5
  710. package/esm2022/components/message/index.mjs +0 -2
  711. package/esm2022/components/message/message.directive.mjs +0 -43
  712. package/esm2022/components/message/taiga-ui-kit-components-message.mjs +0 -5
  713. package/esm2022/components/multi-select/index.mjs +0 -6
  714. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +0 -51
  715. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +0 -18
  716. package/esm2022/components/multi-select/multi-select-native/multi-select-native.component.mjs +0 -57
  717. package/esm2022/components/multi-select/multi-select-option/multi-select-option.component.mjs +0 -47
  718. package/esm2022/components/multi-select/multi-select.mjs +0 -9
  719. package/esm2022/components/multi-select/taiga-ui-kit-components-multi-select.mjs +0 -5
  720. package/esm2022/components/notification-middle/index.mjs +0 -4
  721. package/esm2022/components/notification-middle/notification-middle.component.mjs +0 -57
  722. package/esm2022/components/notification-middle/notification-middle.directive.mjs +0 -21
  723. package/esm2022/components/notification-middle/notification-middle.service.mjs +0 -22
  724. package/esm2022/components/notification-middle/taiga-ui-kit-components-notification-middle.mjs +0 -5
  725. package/esm2022/components/pager/index.mjs +0 -2
  726. package/esm2022/components/pager/pager.component.mjs +0 -97
  727. package/esm2022/components/pager/taiga-ui-kit-components-pager.mjs +0 -5
  728. package/esm2022/components/pagination/index.mjs +0 -2
  729. package/esm2022/components/pagination/pagination.component.mjs +0 -213
  730. package/esm2022/components/pagination/taiga-ui-kit-components-pagination.mjs +0 -5
  731. package/esm2022/components/pdf-viewer/index.mjs +0 -5
  732. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +0 -28
  733. package/esm2022/components/pdf-viewer/pdf-viewer.directive.mjs +0 -21
  734. package/esm2022/components/pdf-viewer/pdf-viewer.options.mjs +0 -17
  735. package/esm2022/components/pdf-viewer/pdf-viewer.service.mjs +0 -22
  736. package/esm2022/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.mjs +0 -5
  737. package/esm2022/components/pin/index.mjs +0 -2
  738. package/esm2022/components/pin/pin.directive.mjs +0 -35
  739. package/esm2022/components/pin/taiga-ui-kit-components-pin.mjs +0 -5
  740. package/esm2022/components/preview/action/preview-action.directive.mjs +0 -30
  741. package/esm2022/components/preview/dialog/index.mjs +0 -4
  742. package/esm2022/components/preview/dialog/preview-dialog.component.mjs +0 -28
  743. package/esm2022/components/preview/dialog/preview-dialog.directive.mjs +0 -21
  744. package/esm2022/components/preview/dialog/preview-dialog.service.mjs +0 -18
  745. package/esm2022/components/preview/dialog/taiga-ui-kit-components-preview-dialog.mjs +0 -5
  746. package/esm2022/components/preview/index.mjs +0 -8
  747. package/esm2022/components/preview/pagination/preview-pagination.component.mjs +0 -49
  748. package/esm2022/components/preview/preview.component.mjs +0 -142
  749. package/esm2022/components/preview/preview.mjs +0 -13
  750. package/esm2022/components/preview/taiga-ui-kit-components-preview.mjs +0 -5
  751. package/esm2022/components/preview/title/preview-title.component.mjs +0 -16
  752. package/esm2022/components/preview/zoom/preview-zoom.component.mjs +0 -84
  753. package/esm2022/components/progress/index.mjs +0 -9
  754. package/esm2022/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.mjs +0 -39
  755. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +0 -25
  756. package/esm2022/components/progress/progress-bar/progress-color-segments.directive.mjs +0 -58
  757. package/esm2022/components/progress/progress-circle/progress-circle.component.mjs +0 -45
  758. package/esm2022/components/progress/progress-label/progress-label.component.mjs +0 -12
  759. package/esm2022/components/progress/progress-segmented/progress-segmented.directive.mjs +0 -34
  760. package/esm2022/components/progress/progress.mjs +0 -15
  761. package/esm2022/components/progress/progress.options.mjs +0 -13
  762. package/esm2022/components/progress/taiga-ui-kit-components-progress.mjs +0 -5
  763. package/esm2022/components/pulse/index.mjs +0 -2
  764. package/esm2022/components/pulse/pulse.component.mjs +0 -34
  765. package/esm2022/components/pulse/taiga-ui-kit-components-pulse.mjs +0 -5
  766. package/esm2022/components/push/index.mjs +0 -7
  767. package/esm2022/components/push/push-alert.component.mjs +0 -29
  768. package/esm2022/components/push/push.component.mjs +0 -39
  769. package/esm2022/components/push/push.directive.mjs +0 -33
  770. package/esm2022/components/push/push.mjs +0 -5
  771. package/esm2022/components/push/push.options.mjs +0 -21
  772. package/esm2022/components/push/push.service.mjs +0 -19
  773. package/esm2022/components/push/taiga-ui-kit-components-push.mjs +0 -5
  774. package/esm2022/components/radio/index.mjs +0 -5
  775. package/esm2022/components/radio/radio.component.mjs +0 -53
  776. package/esm2022/components/radio/radio.directive.mjs +0 -32
  777. package/esm2022/components/radio/radio.mjs +0 -4
  778. package/esm2022/components/radio/radio.options.mjs +0 -13
  779. package/esm2022/components/radio/taiga-ui-kit-components-radio.mjs +0 -5
  780. package/esm2022/components/radio-list/index.mjs +0 -2
  781. package/esm2022/components/radio-list/radio-list.component.mjs +0 -64
  782. package/esm2022/components/radio-list/taiga-ui-kit-components-radio-list.mjs +0 -5
  783. package/esm2022/components/range/index.mjs +0 -3
  784. package/esm2022/components/range/range-change.directive.mjs +0 -78
  785. package/esm2022/components/range/range.component.mjs +0 -164
  786. package/esm2022/components/range/taiga-ui-kit-components-range.mjs +0 -5
  787. package/esm2022/components/rating/index.mjs +0 -3
  788. package/esm2022/components/rating/rating.component.mjs +0 -64
  789. package/esm2022/components/rating/rating.options.mjs +0 -13
  790. package/esm2022/components/rating/taiga-ui-kit-components-rating.mjs +0 -5
  791. package/esm2022/components/routable-dialog/generate-dialogable-route.mjs +0 -17
  792. package/esm2022/components/routable-dialog/index.mjs +0 -3
  793. package/esm2022/components/routable-dialog/routable-dialog.component.mjs +0 -53
  794. package/esm2022/components/routable-dialog/taiga-ui-kit-components-routable-dialog.mjs +0 -5
  795. package/esm2022/components/segmented/index.mjs +0 -3
  796. package/esm2022/components/segmented/segmented.component.mjs +0 -73
  797. package/esm2022/components/segmented/segmented.directive.mjs +0 -65
  798. package/esm2022/components/segmented/taiga-ui-kit-components-segmented.mjs +0 -5
  799. package/esm2022/components/select/index.mjs +0 -5
  800. package/esm2022/components/select/native-select/native-select.component.mjs +0 -76
  801. package/esm2022/components/select/select-option/select-option.component.mjs +0 -51
  802. package/esm2022/components/select/select.directive.mjs +0 -56
  803. package/esm2022/components/select/select.mjs +0 -4
  804. package/esm2022/components/select/taiga-ui-kit-components-select.mjs +0 -5
  805. package/esm2022/components/slider/helpers/key-steps.mjs +0 -36
  806. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +0 -110
  807. package/esm2022/components/slider/helpers/slider-readonly.directive.mjs +0 -75
  808. package/esm2022/components/slider/helpers/slider-thumb-label.component.mjs +0 -38
  809. package/esm2022/components/slider/index.mjs +0 -8
  810. package/esm2022/components/slider/slider.component.mjs +0 -124
  811. package/esm2022/components/slider/slider.mjs +0 -12
  812. package/esm2022/components/slider/slider.options.mjs +0 -16
  813. package/esm2022/components/slider/taiga-ui-kit-components-slider.mjs +0 -5
  814. package/esm2022/components/slides/index.mjs +0 -2
  815. package/esm2022/components/slides/slides.directive.mjs +0 -51
  816. package/esm2022/components/slides/taiga-ui-kit-components-slides.mjs +0 -5
  817. package/esm2022/components/status/index.mjs +0 -2
  818. package/esm2022/components/status/status.directive.mjs +0 -35
  819. package/esm2022/components/status/taiga-ui-kit-components-status.mjs +0 -5
  820. package/esm2022/components/stepper/index.mjs +0 -4
  821. package/esm2022/components/stepper/step.component.mjs +0 -58
  822. package/esm2022/components/stepper/stepper.component.mjs +0 -118
  823. package/esm2022/components/stepper/stepper.mjs +0 -4
  824. package/esm2022/components/stepper/taiga-ui-kit-components-stepper.mjs +0 -5
  825. package/esm2022/components/switch/index.mjs +0 -3
  826. package/esm2022/components/switch/switch.component.mjs +0 -63
  827. package/esm2022/components/switch/switch.options.mjs +0 -15
  828. package/esm2022/components/switch/taiga-ui-kit-components-switch.mjs +0 -5
  829. package/esm2022/components/tabs/index.mjs +0 -9
  830. package/esm2022/components/tabs/tab.directive.mjs +0 -47
  831. package/esm2022/components/tabs/tabs-horizontal.directive.mjs +0 -108
  832. package/esm2022/components/tabs/tabs-vertical.directive.mjs +0 -38
  833. package/esm2022/components/tabs/tabs-with-more.component.mjs +0 -213
  834. package/esm2022/components/tabs/tabs.directive.mjs +0 -79
  835. package/esm2022/components/tabs/tabs.mjs +0 -15
  836. package/esm2022/components/tabs/tabs.options.mjs +0 -19
  837. package/esm2022/components/tabs/tabs.providers.mjs +0 -35
  838. package/esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs +0 -5
  839. package/esm2022/components/taiga-ui-kit-components.mjs +0 -5
  840. package/esm2022/components/textarea/index.mjs +0 -4
  841. package/esm2022/components/textarea/taiga-ui-kit-components-textarea.mjs +0 -5
  842. package/esm2022/components/textarea/textarea-limit.directive.mjs +0 -93
  843. package/esm2022/components/textarea/textarea.component.mjs +0 -58
  844. package/esm2022/components/textarea/textarea.options.mjs +0 -7
  845. package/esm2022/components/tiles/index.mjs +0 -7
  846. package/esm2022/components/tiles/taiga-ui-kit-components-tiles.mjs +0 -5
  847. package/esm2022/components/tiles/tile-handle.directive.mjs +0 -60
  848. package/esm2022/components/tiles/tile.component.mjs +0 -69
  849. package/esm2022/components/tiles/tile.service.mjs +0 -90
  850. package/esm2022/components/tiles/tiles.component.mjs +0 -70
  851. package/esm2022/components/tiles/tiles.mjs +0 -5
  852. package/esm2022/components/tiles/tiles.tokens.mjs +0 -37
  853. package/esm2022/components/toast/index.mjs +0 -6
  854. package/esm2022/components/toast/taiga-ui-kit-components-toast.mjs +0 -5
  855. package/esm2022/components/toast/toast.component.mjs +0 -50
  856. package/esm2022/components/toast/toast.directive.mjs +0 -68
  857. package/esm2022/components/toast/toast.mjs +0 -4
  858. package/esm2022/components/toast/toast.options.mjs +0 -8
  859. package/esm2022/components/toast/toast.service.mjs +0 -54
  860. package/esm2022/components/tree/components/tree/tree.component.mjs +0 -64
  861. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +0 -63
  862. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +0 -44
  863. package/esm2022/components/tree/directives/tree-children.directive.mjs +0 -24
  864. package/esm2022/components/tree/directives/tree-controller.directive.mjs +0 -57
  865. package/esm2022/components/tree/directives/tree-item-controller.directive.mjs +0 -32
  866. package/esm2022/components/tree/directives/tree-node.directive.mjs +0 -32
  867. package/esm2022/components/tree/index.mjs +0 -12
  868. package/esm2022/components/tree/misc/tree.constants.mjs +0 -9
  869. package/esm2022/components/tree/misc/tree.interfaces.mjs +0 -2
  870. package/esm2022/components/tree/misc/tree.service.mjs +0 -31
  871. package/esm2022/components/tree/misc/tree.tokens.mjs +0 -43
  872. package/esm2022/components/tree/taiga-ui-kit-components-tree.mjs +0 -5
  873. package/esm2022/components/tree/tree.mjs +0 -17
  874. package/esm2022/directives/button-close/button-close.directive.mjs +0 -33
  875. package/esm2022/directives/button-close/index.mjs +0 -2
  876. package/esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs +0 -5
  877. package/esm2022/directives/button-group/button-group.directive.mjs +0 -29
  878. package/esm2022/directives/button-group/index.mjs +0 -2
  879. package/esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs +0 -5
  880. package/esm2022/directives/button-select/button-select.directive.mjs +0 -57
  881. package/esm2022/directives/button-select/index.mjs +0 -2
  882. package/esm2022/directives/button-select/taiga-ui-kit-directives-button-select.mjs +0 -5
  883. package/esm2022/directives/chevron/chevron.directive.mjs +0 -45
  884. package/esm2022/directives/chevron/index.mjs +0 -2
  885. package/esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs +0 -5
  886. package/esm2022/directives/connected/connected.directive.mjs +0 -32
  887. package/esm2022/directives/connected/index.mjs +0 -2
  888. package/esm2022/directives/connected/taiga-ui-kit-directives-connected.mjs +0 -5
  889. package/esm2022/directives/copy/copy.component.mjs +0 -54
  890. package/esm2022/directives/copy/copy.directive.mjs +0 -71
  891. package/esm2022/directives/copy/copy.mjs +0 -4
  892. package/esm2022/directives/copy/copy.options.mjs +0 -3
  893. package/esm2022/directives/copy/index.mjs +0 -6
  894. package/esm2022/directives/copy/taiga-ui-kit-directives-copy.mjs +0 -5
  895. package/esm2022/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.mjs +0 -105
  896. package/esm2022/directives/data-list-dropdown-manager/index.mjs +0 -2
  897. package/esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +0 -5
  898. package/esm2022/directives/fade/fade.directive.mjs +0 -92
  899. package/esm2022/directives/fade/index.mjs +0 -2
  900. package/esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs +0 -5
  901. package/esm2022/directives/fluid-typography/fluid-typography.directive.mjs +0 -63
  902. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +0 -13
  903. package/esm2022/directives/fluid-typography/index.mjs +0 -3
  904. package/esm2022/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.mjs +0 -5
  905. package/esm2022/directives/highlight/highlight.directive.mjs +0 -92
  906. package/esm2022/directives/highlight/index.mjs +0 -2
  907. package/esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs +0 -5
  908. package/esm2022/directives/icon-badge/icon-badge.directive.mjs +0 -41
  909. package/esm2022/directives/icon-badge/index.mjs +0 -2
  910. package/esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs +0 -5
  911. package/esm2022/directives/index.mjs +0 -21
  912. package/esm2022/directives/lazy-loading/index.mjs +0 -3
  913. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +0 -57
  914. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +0 -23
  915. package/esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs +0 -5
  916. package/esm2022/directives/password/index.mjs +0 -3
  917. package/esm2022/directives/password/password.directive.mjs +0 -67
  918. package/esm2022/directives/password/password.options.mjs +0 -8
  919. package/esm2022/directives/password/taiga-ui-kit-directives-password.mjs +0 -5
  920. package/esm2022/directives/present/index.mjs +0 -2
  921. package/esm2022/directives/present/present.directive.mjs +0 -33
  922. package/esm2022/directives/present/taiga-ui-kit-directives-present.mjs +0 -5
  923. package/esm2022/directives/sensitive/index.mjs +0 -2
  924. package/esm2022/directives/sensitive/sensitive.directive.mjs +0 -48
  925. package/esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs +0 -5
  926. package/esm2022/directives/shimmer/index.mjs +0 -2
  927. package/esm2022/directives/shimmer/shimmer.directive.mjs +0 -68
  928. package/esm2022/directives/shimmer/taiga-ui-kit-directives-shimmer.mjs +0 -5
  929. package/esm2022/directives/skeleton/index.mjs +0 -2
  930. package/esm2022/directives/skeleton/skeleton.directive.mjs +0 -69
  931. package/esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs +0 -5
  932. package/esm2022/directives/taiga-ui-kit-directives.mjs +0 -5
  933. package/esm2022/directives/tooltip/index.mjs +0 -3
  934. package/esm2022/directives/tooltip/taiga-ui-kit-directives-tooltip.mjs +0 -5
  935. package/esm2022/directives/tooltip/tooltip.directive.mjs +0 -92
  936. package/esm2022/directives/tooltip/tooltip.options.mjs +0 -6
  937. package/esm2022/directives/unfinished-validator/index.mjs +0 -3
  938. package/esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs +0 -5
  939. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +0 -36
  940. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +0 -7
  941. package/esm2022/directives/unmask-handler/index.mjs +0 -2
  942. package/esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs +0 -5
  943. package/esm2022/directives/unmask-handler/unmask-handler.directive.mjs +0 -35
  944. package/esm2022/index.mjs +0 -6
  945. package/esm2022/pipes/emails/emails.options.mjs +0 -13
  946. package/esm2022/pipes/emails/emails.pipe.mjs +0 -26
  947. package/esm2022/pipes/emails/index.mjs +0 -3
  948. package/esm2022/pipes/emails/taiga-ui-kit-pipes-emails.mjs +0 -5
  949. package/esm2022/pipes/field-error/field-error-content-pipe.mjs +0 -42
  950. package/esm2022/pipes/field-error/field-error-pipe.mjs +0 -103
  951. package/esm2022/pipes/field-error/index.mjs +0 -3
  952. package/esm2022/pipes/field-error/taiga-ui-kit-pipes-field-error.mjs +0 -5
  953. package/esm2022/pipes/filter-by-input/filter-by-input.pipe.mjs +0 -68
  954. package/esm2022/pipes/filter-by-input/index.mjs +0 -2
  955. package/esm2022/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.mjs +0 -5
  956. package/esm2022/pipes/hide-selected/hide-selected.pipe.mjs +0 -46
  957. package/esm2022/pipes/hide-selected/index.mjs +0 -2
  958. package/esm2022/pipes/hide-selected/taiga-ui-kit-pipes-hide-selected.mjs +0 -5
  959. package/esm2022/pipes/index.mjs +0 -8
  960. package/esm2022/pipes/sort-countries/index.mjs +0 -2
  961. package/esm2022/pipes/sort-countries/sort-countries.pipe.mjs +0 -23
  962. package/esm2022/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.mjs +0 -5
  963. package/esm2022/pipes/stringify/index.mjs +0 -2
  964. package/esm2022/pipes/stringify/stringify.pipe.mjs +0 -18
  965. package/esm2022/pipes/stringify/taiga-ui-kit-pipes-stringify.mjs +0 -5
  966. package/esm2022/pipes/stringify-content/index.mjs +0 -2
  967. package/esm2022/pipes/stringify-content/stringify-content.pipe.mjs +0 -18
  968. package/esm2022/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.mjs +0 -5
  969. package/esm2022/pipes/taiga-ui-kit-pipes.mjs +0 -5
  970. package/esm2022/taiga-ui-kit.mjs +0 -5
  971. package/esm2022/tokens/calendar-date-stream.mjs +0 -25
  972. package/esm2022/tokens/date-inputs-value-transformers.mjs +0 -21
  973. package/esm2022/tokens/i18n.mjs +0 -75
  974. package/esm2022/tokens/index.mjs +0 -10
  975. package/esm2022/tokens/input-date-options.mjs +0 -13
  976. package/esm2022/tokens/items-handlers.mjs +0 -27
  977. package/esm2022/tokens/mobile-calendar.mjs +0 -13
  978. package/esm2022/tokens/month-formatter.mjs +0 -12
  979. package/esm2022/tokens/preview-icons.mjs +0 -17
  980. package/esm2022/tokens/taiga-ui-kit-tokens.mjs +0 -5
  981. package/esm2022/tokens/validation-errors.mjs +0 -6
  982. package/esm2022/utils/create-time-periods.mjs +0 -12
  983. package/esm2022/utils/index.mjs +0 -7
  984. package/esm2022/utils/inject-value.mjs +0 -11
  985. package/esm2022/utils/is-flat.mjs +0 -4
  986. package/esm2022/utils/maskito.binding.mjs +0 -6
  987. package/esm2022/utils/phone.mjs +0 -6
  988. package/esm2022/utils/taiga-ui-kit-utils.mjs +0 -5
  989. package/esm2022/utils/toggle-day.mjs +0 -6
  990. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +0 -78
  991. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +0 -1
  992. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +0 -43
  993. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +0 -1
  994. package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -96
  995. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
  996. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  997. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  998. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +0 -64
  999. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +0 -1
  1000. package/fesm2022/taiga-ui-kit-components-slides.mjs +0 -57
  1001. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +0 -1
  1002. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +0 -39
  1003. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +0 -1
  1004. package/fesm2022/taiga-ui-kit-directives-copy.mjs +0 -126
  1005. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  1006. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +0 -47
  1007. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +0 -1
  1008. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +0 -81
  1009. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +0 -1
  1010. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
  1011. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
  1012. package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
  1013. package/pipes/field-error/field-error-pipe.d.ts +0 -29
  1014. package/pipes/field-error/index.d.ts +0 -2
  1015. package/tokens/calendar-date-stream.d.ts +0 -10
  1016. package/tokens/date-inputs-value-transformers.d.ts +0 -19
  1017. package/tokens/input-date-options.d.ts +0 -15
  1018. package/tokens/items-handlers.d.ts +0 -26
  1019. package/tokens/mobile-calendar.d.ts +0 -6
  1020. package/tokens/month-formatter.d.ts +0 -5
  1021. package/tokens/validation-errors.d.ts +0 -5
  1022. package/utils/phone.d.ts +0 -3
  1023. package/utils/toggle-day.d.ts +0 -2
  1024. /package/{directives → components}/copy/copy.d.ts +0 -0
  1025. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-tabs.mjs","sources":["../../../projects/kit/components/tabs/tab.directive.ts","../../../projects/kit/components/tabs/tabs.options.ts","../../../projects/kit/components/tabs/tabs.directive.ts","../../../projects/kit/components/tabs/tabs-horizontal.directive.ts","../../../projects/kit/components/tabs/tabs-vertical.directive.ts","../../../projects/kit/components/tabs/tabs.providers.ts","../../../projects/kit/components/tabs/tabs-with-more.component.ts","../../../projects/kit/components/tabs/tabs-with-more.template.html","../../../projects/kit/components/tabs/tabs.ts","../../../projects/kit/components/tabs/taiga-ui-kit-components-tabs.ts"],"sourcesContent":["import {Directive, inject, type OnDestroy} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterLinkActive} from '@angular/router';\nimport {WaMutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {EMPTY, filter, merge, switchMap, take} from 'rxjs';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\n\n@Directive({\n standalone: true,\n selector:\n 'a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]',\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n },\n})\nexport class TuiTab implements OnDestroy {\n private readonly el = tuiInjectElement();\n private readonly rla = inject(RouterLinkActive, {optional: true});\n private readonly observer =\n this.rla &&\n inject(WaMutationObserverService, {optional: true})?.pipe(\n filter(() => !!this.rla?.isActive),\n );\n\n protected readonly sub = merge(\n this.observer || EMPTY,\n this.rla?.isActiveChange.pipe(filter(Boolean)) || EMPTY,\n this.el.matches('button')\n ? tuiTypedFromEvent(this.el, 'click').pipe(\n // Delaying execution until after all other click callbacks\n switchMap(() =>\n tuiTypedFromEvent(this.el.parentElement!, 'click').pipe(take(1)),\n ),\n )\n : EMPTY,\n )\n .pipe(takeUntilDestroyed())\n .subscribe(() =>\n this.el.dispatchEvent(new CustomEvent(TUI_TAB_ACTIVATE, {bubbles: true})),\n );\n\n public ngOnDestroy(): void {\n if (tuiIsNativeFocused(this.el)) {\n this.el.blur();\n }\n }\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiTabsOptions {\n readonly exposeActive: boolean;\n readonly itemsLimit: number;\n readonly minMoreWidth: number;\n readonly underline: boolean | string;\n readonly size: TuiSizeL;\n}\n\nexport const TUI_TABS_DEFAULT_OPTIONS: TuiTabsOptions = {\n underline: true,\n exposeActive: true,\n itemsLimit: Infinity,\n minMoreWidth: 0,\n size: 'l',\n};\n\n/**\n * Default parameters for Tabs component\n */\nexport const TUI_TABS_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_TABS_OPTIONS' : '', {\n factory: () => TUI_TABS_DEFAULT_OPTIONS,\n});\n\nexport function tuiTabsOptionsProvider(options: Partial<TuiTabsOptions>): Provider {\n return tuiProvideOptions(TUI_TABS_OPTIONS, options, TUI_TABS_DEFAULT_OPTIONS);\n}\n","import {\n afterNextRender,\n type AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n inject,\n INJECTOR,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\n\nimport {TUI_TAB_ACTIVATE} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./tabs.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-tabs',\n },\n})\nclass TuiTabsStyles {}\n\n@Directive({\n standalone: true,\n host: {\n '[attr.data-size]': 'size',\n [`(${TUI_TAB_ACTIVATE})`]: 'onActivate($event, $event.target)',\n },\n})\nexport class TuiTabsDirective implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = tuiWithStyles(TuiTabsStyles);\n\n @Input()\n public size: TuiSizeL = inject(TUI_TABS_OPTIONS).size;\n\n @Input()\n public activeItemIndex = 0;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public get tabs(): readonly HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('[tuiTab]'));\n }\n\n public get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n public moveFocus(current: HTMLElement, step: number): void {\n const {tabs} = this;\n\n tuiMoveFocus(tabs.indexOf(current), tabs, step);\n }\n\n public ngAfterViewChecked(): void {\n afterNextRender(\n () => {\n this.markTabAsActive();\n },\n {injector: this.injector},\n );\n }\n\n protected onActivate(event: Event, element: HTMLElement): void {\n const index = this.tabs.findIndex((tab) => tab === element);\n\n event.stopPropagation();\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexChange.emit(index);\n this.activeItemIndex = index;\n }\n\n protected markTabAsActive(): void {\n const {tabs, activeElement} = this;\n\n tabs.forEach((nativeElement) => {\n const active = nativeElement === activeElement;\n\n nativeElement.classList.toggle('_active', active);\n nativeElement.setAttribute('tabIndex', active ? '0' : '-1');\n });\n }\n}\n","import {\n type AfterViewChecked,\n ContentChildren,\n Directive,\n forwardRef,\n inject,\n Input,\n type QueryList,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n WaMutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])',\n providers: [\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[class._underline]': 'underline',\n '[style.--t-color]':\n \"underline === true ? 'var(--tui-background-accent-1)' : underline\",\n '(animationend)': 'refresh()',\n '(keydown.arrowRight.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowLeft.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsHorizontal implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly tabs = inject(TuiTabsDirective);\n\n @ContentChildren(forwardRef(() => TuiTab))\n protected readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n protected readonly sub = inject(WaMutationObserverService, {self: true})\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => this.refresh());\n\n @Input()\n public underline = this.options.underline;\n\n public ngAfterViewChecked(): void {\n this.scrollTo(this.tabs.activeItemIndex);\n this.refresh();\n }\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n\n protected refresh(): void {\n const {activeElement} = this.tabs;\n\n if (activeElement && !activeElement.isConnected) {\n return;\n }\n\n const {offsetLeft = 0, offsetWidth = 0} = activeElement || {};\n\n this.el.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.el.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n\n @tuiPure\n private scrollTo(index: number): void {\n const element = this.tabs.tabs[index];\n\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n\n if (offsetLeft < this.el.scrollLeft) {\n this.el.scrollLeft = offsetLeft;\n }\n\n if (offsetLeft + offsetWidth > this.el.scrollLeft + this.el.offsetWidth) {\n this.el.scrollLeft = offsetLeft + offsetWidth - this.el.offsetWidth;\n }\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport {TuiTabsDirective} from './tabs.directive';\n\n@Directive({\n standalone: true,\n selector: 'tui-tabs[vertical], nav[tuiTabs][vertical]',\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[attr.data-vertical]': 'vertical',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsVertical {\n private readonly tabs = inject(TuiTabsDirective);\n\n @Input()\n public vertical: TuiHorizontalDirection = 'left';\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ElementRef,\n InjectionToken,\n type Provider,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n WaMutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\nimport {debounceTime, filter, merge, type Observable, startWith, tap} from 'rxjs';\n\nexport const TUI_TABS_REFRESH = new InjectionToken<Observable<unknown>>(\n ngDevMode ? 'TUI_TABS_REFRESH' : '',\n);\n\nexport const TUI_TABS_PROVIDERS: Provider[] = [\n WaResizeObserverService,\n WaMutationObserverService,\n tuiDropdownOptionsProvider({align: 'right'}),\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n subtree: true,\n characterData: true,\n },\n },\n {\n provide: TUI_TABS_REFRESH,\n deps: [\n WaResizeObserverService,\n WaMutationObserverService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: (\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n cdr: ChangeDetectorRef,\n ): Observable<unknown> =>\n merge(resize$, mutations$.pipe(tap(() => cdr.detectChanges()))).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntilDestroyed(),\n ),\n },\n];\n","import {AsyncPipe, NgFor, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewChecked,\n type AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n type QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable, tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiToInt} from '@taiga-ui/cdk/utils/math';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {filter, map, tap} from 'rxjs';\n\nimport {TuiTab} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\nimport {TUI_TABS_PROVIDERS, TUI_TABS_REFRESH} from './tabs.providers';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n imports: [\n AsyncPipe,\n NgFor,\n NgIf,\n NgTemplateOutlet,\n PolymorpheusOutlet,\n TuiChevron,\n TuiDropdown,\n TuiTab,\n TuiTabsHorizontal,\n ],\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABS_PROVIDERS,\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiTabsWithMore implements AfterViewChecked, AfterViewInit {\n @ViewChild(TuiTab, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n @ViewChild(TuiTabsHorizontal, {read: ElementRef})\n private readonly dir?: ElementRef<HTMLButtonElement>;\n\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly refresh$ = inject(TUI_TABS_REFRESH);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private maxIndex = Infinity;\n\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected readonly moreWord$ = inject(TUI_MORE_WORD);\n protected open = false;\n\n @Input()\n public size: TuiSizeL = this.options.size;\n\n @Input()\n public moreContent: PolymorpheusContent;\n\n @Input()\n public dropdownContent: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public underline = this.options.underline;\n\n @Input()\n public itemsLimit = this.options.itemsLimit;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public activeItemIndex = 0;\n\n @Input('activeItemIndex')\n public set itemIndex(activeItemIndex: number) {\n this.activeItemIndex = activeItemIndex;\n this.maxIndex = this.getMaxIndex();\n }\n\n public get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset =\n this.itemsLimit - 1 > this.activeItemIndex || !this.options.exposeActive\n ? 1\n : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n public ngAfterViewInit(): void {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n tap(() => this.refresh()),\n filter((maxIndex) => this.maxIndex !== maxIndex),\n )\n .subscribe((maxIndex) => {\n this.maxIndex = maxIndex;\n this.cdr.detectChanges();\n });\n }\n\n public ngAfterViewChecked(): void {\n this.refresh();\n }\n\n // TODO: Improve performance\n protected get tabs(): readonly HTMLElement[] {\n return Array.from<HTMLElement>(this.el.querySelectorAll('[tuiTab]'));\n }\n\n protected get activeElement(): HTMLElement | null {\n const {tabs} = this;\n const safeActiveIndex = tuiClamp(this.activeItemIndex || 0, 0, tabs.length - 2);\n\n return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex\n ? tabs[safeActiveIndex] || null\n : this.moreButton?.nativeElement || null;\n }\n\n protected get isMoreAlone(): boolean {\n return this.lastVisibleIndex < 0 && !this.options.exposeActive;\n }\n\n protected get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n protected get isMoreFocusable(): boolean {\n return !!this.moreButton && tuiIsNativeFocused(this.moreButton.nativeElement);\n }\n\n protected get isMoreActive(): boolean {\n return (\n this.open ||\n (!this.options.exposeActive && this.lastVisibleIndex < this.activeItemIndex)\n );\n }\n\n protected onActiveItemIndexChange(activeItemIndex: number): void {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n protected onClick(index: number): void {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n protected onArrowRight(event: Event): void {\n if (tuiIsElement(event.target) && tuiIsNativeFocused(event.target)) {\n this.focusMore();\n }\n }\n\n protected onArrowLeft(): void {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n tabs[index]?.focus();\n\n if (tuiIsNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n protected onWrapperArrow(\n event: Event,\n wrapper: HTMLElement,\n previous: boolean,\n ): void {\n const button: HTMLButtonElement = event.target as HTMLButtonElement;\n const target = tuiGetClosestFocusable({initial: button, root: wrapper, previous});\n\n if (target) {\n target.focus();\n }\n }\n\n protected isOverflown(index: number): boolean {\n return index !== this.activeItemIndex || !this.options.exposeActive;\n }\n\n protected shouldShow(index: number): boolean {\n return index > this.lastVisibleIndex && this.isOverflown(index);\n }\n\n private get margin(): number {\n return this.size === 'l' ? 24 : 16;\n }\n\n private focusMore(): void {\n if (this.moreButton) {\n this.moreButton.nativeElement.focus();\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex, margin} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {exposeActive, minMoreWidth} = this.options;\n const {clientWidth} = this.el;\n const active = tabs[activeItemIndex];\n const activeWidth = active?.scrollWidth ?? 0;\n const moreWidth = Math.max(tabs[tabs.length - 1]?.scrollWidth ?? 0, minMoreWidth);\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, {scrollWidth}) => acc + scrollWidth, 0) +\n maxIndex * margin -\n (tabs[tabs.length - 1]?.scrollWidth ?? 0);\n\n if (Number.isNaN(total) || total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= (tabs[maxIndex]?.scrollWidth ?? 0) + margin;\n maxIndex--;\n\n const activeDisplaced = exposeActive && activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + margin : 0;\n const currentWidth = total + activeOffset + moreWidth + margin;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = tuiToInt(this.maxIndex === maxIndex - 1);\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return -1;\n }\n\n private updateActiveItemIndex(activeItemIndex: number): void {\n this.itemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n }\n\n private refresh(): void {\n const {offsetLeft = 0, offsetWidth = 0} = this.activeElement || {};\n\n this.dir?.nativeElement.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.dir?.nativeElement.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<tui-tabs\n class=\"t-tabs\"\n [activeItemIndex]=\"activeItemIndex\"\n [size]=\"size\"\n [underline]=\"underline\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n />\n <ng-template #hidden>\n <div\n class=\"t-flex\"\n [class.t-overflown]=\"isOverflown(index)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </div>\n </ng-template>\n </ng-container>\n</tui-tabs>\n\n<button\n *ngIf=\"moreContent; else chevron\"\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n>\n <ng-container *polymorpheusOutlet=\"moreContent as text\">\n {{ text }}\n </ng-container>\n</button>\n<ng-template #chevron>\n <button\n tuiChevron\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n {{ moreWord$ | async }}\n </button>\n</ng-template>\n<ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n [attr.data-size]=\"size\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n class=\"t-dropdown-item\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container *ngIf=\"shouldShow(index)\">\n <ng-container *polymorpheusOutlet=\"item\" />\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-content />\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\nimport {TuiTabsVertical} from './tabs-vertical.directive';\nimport {TuiTabsWithMore} from './tabs-with-more.component';\n\nexport const TuiTabs = [\n TuiItem,\n TuiTab,\n TuiTabsDirective,\n TuiTabsHorizontal,\n TuiTabsVertical,\n TuiTabsWithMore,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiTabsDirective","i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-tabs.mjs","sources":["../../../projects/kit/components/tabs/tab.directive.ts","../../../projects/kit/components/tabs/tabs.options.ts","../../../projects/kit/components/tabs/tabs.directive.ts","../../../projects/kit/components/tabs/tabs-horizontal.directive.ts","../../../projects/kit/components/tabs/tabs-vertical.directive.ts","../../../projects/kit/components/tabs/tabs.providers.ts","../../../projects/kit/components/tabs/tabs-with-more.component.ts","../../../projects/kit/components/tabs/tabs-with-more.template.html","../../../projects/kit/components/tabs/tabs.ts","../../../projects/kit/components/tabs/taiga-ui-kit-components-tabs.ts"],"sourcesContent":["import {Directive, inject, type OnDestroy} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterLinkActive} from '@angular/router';\nimport {WaMutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {EMPTY, filter, merge, switchMap, take} from 'rxjs';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\n\n@Directive({\n selector:\n 'a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]',\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n },\n})\nexport class TuiTab implements OnDestroy {\n private readonly el = tuiInjectElement();\n private readonly rla = inject(RouterLinkActive, {optional: true});\n private readonly observer =\n this.rla &&\n inject(WaMutationObserverService, {optional: true})?.pipe(\n filter(() => !!this.rla?.isActive),\n );\n\n protected readonly sub = merge(\n this.observer || EMPTY,\n this.rla?.isActiveChange.pipe(filter(Boolean)) || EMPTY,\n this.el.matches('button')\n ? tuiTypedFromEvent(this.el, 'click').pipe(\n // Delaying execution until after all other click callbacks\n switchMap(() =>\n tuiTypedFromEvent(this.el.parentElement!, 'click').pipe(take(1)),\n ),\n )\n : EMPTY,\n )\n .pipe(takeUntilDestroyed())\n .subscribe(() =>\n this.el.dispatchEvent(new CustomEvent(TUI_TAB_ACTIVATE, {bubbles: true})),\n );\n\n public ngOnDestroy(): void {\n if (tuiIsFocused(this.el)) {\n this.el.blur();\n }\n }\n}\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiTabsOptions {\n readonly exposeActive: boolean;\n readonly itemsLimit: number;\n readonly minMoreWidth: number;\n readonly underline: boolean | string;\n readonly size: TuiSizeL;\n}\n\nexport const TUI_TABS_DEFAULT_OPTIONS: TuiTabsOptions = {\n underline: true,\n exposeActive: true,\n itemsLimit: Infinity,\n minMoreWidth: 0,\n size: 'l',\n};\n\nexport const [TUI_TABS_OPTIONS, tuiTabsOptionsProvider] = tuiCreateOptions(\n TUI_TABS_DEFAULT_OPTIONS,\n);\n","import {\n afterNextRender,\n type AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n INJECTOR,\n input,\n model,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TUI_TAB_ACTIVATE} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Component({\n template: '',\n styleUrl: './tabs.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-tabs'},\n})\nclass Styles {}\n\n@Directive({\n host: {\n '[attr.data-size]': 'size()',\n [`(${TUI_TAB_ACTIVATE}.stop)`]: 'onActivate($event.target)',\n },\n})\nexport class TuiTabsDirective implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_TABS_OPTIONS).size);\n public readonly activeItemIndex = model(0);\n\n public get tabs(): readonly HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('[tuiTab]'));\n }\n\n public get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex()] || null;\n }\n\n public moveFocus(current: HTMLElement, step: number): void {\n const {tabs} = this;\n\n tuiMoveFocus(tabs.indexOf(current), tabs, step);\n }\n\n public ngAfterViewChecked(): void {\n afterNextRender(\n () => {\n this.markTabAsActive();\n },\n {injector: this.injector},\n );\n }\n\n protected onActivate(element: HTMLElement): void {\n this.activeItemIndex.set(this.tabs.findIndex((tab) => tab === element));\n }\n\n protected markTabAsActive(): void {\n const {tabs, activeElement} = this;\n\n tabs.forEach((nativeElement) => {\n const active = nativeElement === activeElement;\n\n nativeElement.classList.toggle('_active', active);\n nativeElement.setAttribute('tabIndex', active ? '0' : '-1');\n });\n }\n}\n","import {type AfterViewChecked, Directive, effect, inject, input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Directive({\n selector: 'tui-tabs:not([vertical])',\n providers: [\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[class._underline]': 'underline()',\n '[style.--t-color]':\n \"underline() === true ? 'var(--tui-background-accent-1)' : underline()\",\n '(animationend)': 'refresh()',\n '(keydown.arrowRight.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowLeft.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsHorizontal implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly tabs = inject(TuiTabsDirective);\n\n protected readonly sub = inject(WaMutationObserverService, {self: true})\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => this.refresh());\n\n public readonly underline = input(this.options.underline);\n\n constructor() {\n effect(() => {\n const index = this.tabs.activeItemIndex();\n const element = this.tabs.tabs[index];\n\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n\n if (offsetLeft < this.el.scrollLeft) {\n this.el.scrollLeft = offsetLeft;\n }\n\n if (offsetLeft + offsetWidth > this.el.scrollLeft + this.el.offsetWidth) {\n this.el.scrollLeft = offsetLeft + offsetWidth - this.el.offsetWidth;\n }\n });\n }\n\n public ngAfterViewChecked(): void {\n this.refresh();\n }\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n\n protected refresh(): void {\n const {activeElement} = this.tabs;\n\n if (activeElement && !activeElement.isConnected) {\n return;\n }\n\n const {offsetLeft = 0, offsetWidth = 0} = activeElement || {};\n\n this.el.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.el.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport {TuiTabsDirective} from './tabs.directive';\n\n@Directive({\n selector: 'tui-tabs[vertical]',\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[attr.data-vertical]': 'vertical()',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsVertical {\n private readonly tabs = inject(TuiTabsDirective);\n\n public readonly vertical = input<TuiHorizontalDirection>('start');\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ElementRef,\n InjectionToken,\n type Provider,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiDropdownOptionsProvider} from '@taiga-ui/core/portals/dropdown';\nimport {debounceTime, filter, merge, type Observable, startWith, tap} from 'rxjs';\n\nexport const TUI_TABS_REFRESH = new InjectionToken<Observable<unknown>>(\n ngDevMode ? 'TUI_TABS_REFRESH' : '',\n);\n\nexport const TUI_TABS_PROVIDERS: Provider[] = [\n WaResizeObserverService,\n WaMutationObserverService,\n tuiDropdownOptionsProvider({align: 'end'}),\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n subtree: true,\n characterData: true,\n },\n },\n {\n provide: TUI_TABS_REFRESH,\n deps: [\n WaResizeObserverService,\n WaMutationObserverService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: (\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n cdr: ChangeDetectorRef,\n ): Observable<unknown> =>\n merge(resize$, mutations$.pipe(tap(() => cdr.detectChanges()))).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntilDestroyed(),\n ),\n },\n];\n","import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewChecked,\n type AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n model,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable, tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiToInt} from '@taiga-ui/cdk/utils/math';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiDropdown} from '@taiga-ui/core/portals/dropdown';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {filter, map, tap} from 'rxjs';\n\nimport {TuiTab} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\nimport {TUI_TABS_PROVIDERS, TUI_TABS_REFRESH} from './tabs.providers';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\n\n@Component({\n selector: 'tui-tabs-with-more',\n imports: [\n NgTemplateOutlet,\n PolymorpheusOutlet,\n TuiChevron,\n TuiDropdown,\n TuiTab,\n TuiTabsHorizontal,\n ],\n templateUrl: './tabs-with-more.template.html',\n styleUrl: './tabs-with-more.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABS_PROVIDERS,\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiTabsWithMore implements AfterViewChecked, AfterViewInit {\n private readonly moreButton = viewChild(TuiTab, {read: ElementRef});\n private readonly dir = viewChild(TuiTabsHorizontal, {read: ElementRef});\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly refresh$ = inject(TUI_TABS_REFRESH);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private maxIndex = Infinity;\n\n protected readonly items = contentChildren(TuiItem, {read: TemplateRef});\n protected readonly moreWord = inject(TUI_MORE_WORD);\n protected open = false;\n protected readonly sync = effect(() => {\n this.activeItemIndex();\n this.maxIndex = this.getMaxIndex();\n });\n\n public readonly activeItemIndex = model(0);\n public readonly size = input(this.options.size);\n public readonly underline = input(this.options.underline);\n public readonly itemsLimit = input(this.options.itemsLimit);\n public readonly moreContent = input<PolymorpheusContent>();\n public readonly dropdownContent =\n input<PolymorpheusContent<TuiContext<TuiActiveZone>>>();\n\n public get lastVisibleIndex(): number {\n if (this.itemsLimit() + 1 >= this.items().length) {\n return this.maxIndex;\n }\n\n const offset =\n this.itemsLimit() - 1 > this.activeItemIndex() || !this.options.exposeActive\n ? 1\n : 2;\n\n return Math.min(this.itemsLimit() - offset, this.maxIndex);\n }\n\n public ngAfterViewInit(): void {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n tap(() => this.refresh()),\n filter((maxIndex) => this.maxIndex !== maxIndex),\n )\n .subscribe((maxIndex) => {\n this.maxIndex = maxIndex;\n this.cdr.detectChanges();\n });\n }\n\n public ngAfterViewChecked(): void {\n this.refresh();\n }\n\n // TODO: Improve performance\n protected get tabs(): readonly HTMLElement[] {\n return Array.from<HTMLElement>(this.el.querySelectorAll('[tuiTab]'));\n }\n\n protected get activeElement(): HTMLElement | null {\n const {tabs} = this;\n const safeActiveIndex = tuiClamp(this.activeItemIndex() || 0, 0, tabs.length - 2);\n\n return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex\n ? tabs[safeActiveIndex] || null\n : this.moreButton()?.nativeElement || null;\n }\n\n protected get isMoreAlone(): boolean {\n return this.lastVisibleIndex < 0 && !this.options.exposeActive;\n }\n\n protected get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items().length - 1;\n }\n\n protected get isMoreFocusable(): boolean {\n return tuiIsFocused(this.moreButton()?.nativeElement);\n }\n\n protected get isMoreActive(): boolean {\n return (\n this.open ||\n (!this.options.exposeActive && this.lastVisibleIndex < this.activeItemIndex())\n );\n }\n\n protected onClick(index: number): void {\n this.open = false;\n this.focusMore();\n this.activeItemIndex.set(index);\n }\n\n protected onArrowRight(event: Event): void {\n if (tuiIsElement(event.target) && tuiIsFocused(event.target)) {\n this.focusMore();\n }\n }\n\n protected onArrowLeft(): void {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n tabs[index]?.focus();\n\n if (tuiIsFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n protected onWrapperArrow(\n event: Event,\n wrapper: HTMLElement,\n previous: boolean,\n ): void {\n const button: HTMLButtonElement = event.target as HTMLButtonElement;\n const target = tuiGetClosestFocusable({initial: button, root: wrapper, previous});\n\n if (target) {\n target.focus();\n }\n }\n\n protected isOverflown(index: number): boolean {\n return index !== this.activeItemIndex() || !this.options.exposeActive;\n }\n\n protected shouldShow(index: number): boolean {\n return index > this.lastVisibleIndex && this.isOverflown(index);\n }\n\n // TODO drop comment after fix issue: https://github.com/typescript-eslint/typescript-eslint/issues/11771\n // eslint-disable-next-line @typescript-eslint/no-unused-private-class-members\n private get margin(): number {\n return this.size() === 'l' ? 24 : 16;\n }\n\n private focusMore(): void {\n this.moreButton()?.nativeElement.focus();\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex, margin} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {exposeActive, minMoreWidth} = this.options;\n const {clientWidth} = this.el;\n const active = tabs[activeItemIndex()];\n const activeWidth = active?.scrollWidth ?? 0;\n const moreWidth = Math.max(tabs[tabs.length - 1]?.scrollWidth ?? 0, minMoreWidth);\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, {scrollWidth}) => acc + scrollWidth, 0) +\n maxIndex * margin -\n (tabs[tabs.length - 1]?.scrollWidth ?? 0);\n\n if (Number.isNaN(total) || total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= (tabs[maxIndex]?.scrollWidth ?? 0) + margin;\n maxIndex--;\n\n const activeDisplaced = exposeActive && activeItemIndex() > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + margin : 0;\n const currentWidth = total + activeOffset + moreWidth + margin;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = tuiToInt(this.maxIndex === maxIndex - 1);\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return -1;\n }\n\n private refresh(): void {\n const {offsetLeft = 0, offsetWidth = 0} = this.activeElement || {};\n\n this.dir()?.nativeElement.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.dir()?.nativeElement.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","<tui-tabs\n class=\"t-tabs\"\n [size]=\"size()\"\n [underline]=\"underline()\"\n [(activeItemIndex)]=\"activeItemIndex\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n>\n @for (item of items(); track item) {\n @if ($index <= lastVisibleIndex) {\n <ng-container [ngTemplateOutlet]=\"item\" />\n } @else {\n <div\n class=\"t-flex\"\n [class.t-overflown]=\"isOverflown($index)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </div>\n }\n }\n</tui-tabs>\n\n@if (moreContent()) {\n <button\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent() || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent() as text\">\n {{ text }}\n </ng-container>\n </button>\n} @else {\n <button\n tuiChevron\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent() || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n {{ moreWord() }}\n </button>\n}\n<ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n [attr.data-size]=\"size()\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n >\n @for (item of items(); track item) {\n <div\n class=\"t-dropdown-item\"\n (tui-tab-activate)=\"onClick($index)\"\n >\n @if (shouldShow($index)) {\n <ng-container *polymorpheusOutlet=\"item\" />\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-content />\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\nimport {TuiTabsVertical} from './tabs-vertical.directive';\nimport {TuiTabsWithMore} from './tabs-with-more.component';\n\nexport const TuiTabs = [\n TuiItem,\n TuiTab,\n TuiTabsDirective,\n TuiTabsHorizontal,\n TuiTabsVertical,\n TuiTabsWithMore,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiTabsDirective","i1"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { NgIf } from '@angular/common';
1
+ import { TuiLabel } from '@taiga-ui/core/components/label';
2
+ import { TuiTextfieldComponent, TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
3
+ import { TuiDropdownContent } from '@taiga-ui/core/portals/dropdown';
2
4
  import * as i0 from '@angular/core';
3
- import { inject, ViewContainerRef, ElementRef, TemplateRef, Component, ChangeDetectionStrategy, ViewChild, Input, signal, Directive } from '@angular/core';
4
- import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
5
+ import { viewChild, TemplateRef, inject, ViewContainerRef, ElementRef, input, ChangeDetectionStrategy, Component, signal, Directive } from '@angular/core';
6
+ import { WA_IS_MOBILE } from '@ng-web-apis/platform';
7
+ import { tuiCreateOptions, tuiProvide } from '@taiga-ui/cdk/utils/di';
5
8
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
7
- import { TuiScrollControls } from '@taiga-ui/core/components/scrollbar';
8
- import * as i1 from '@taiga-ui/core/components/textfield';
9
- import { TuiTextfieldComponent, TuiWithTextfield, TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/components/textfield';
10
- import { TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
9
+ import * as i1 from '@taiga-ui/core/components/input';
10
+ import { TuiWithInput } from '@taiga-ui/core/components/input';
11
+ import { TuiScrollControls, TUI_SCROLL_REF } from '@taiga-ui/core/components/scrollbar';
11
12
  import { PolymorpheusOutlet, injectContext, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
12
- import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
13
13
  import { Validators, NG_VALIDATORS } from '@angular/forms';
14
14
 
15
15
  const [TUI_TEXTAREA_OPTIONS, tuiTextareaOptionsProvider] = tuiCreateOptions({
@@ -18,102 +18,76 @@ const [TUI_TEXTAREA_OPTIONS, tuiTextareaOptionsProvider] = tuiCreateOptions({
18
18
  content: ({ $implicit }) => $implicit,
19
19
  });
20
20
 
21
- class TuiTextarea {
21
+ class TuiTextareaComponent {
22
22
  constructor() {
23
+ this.template = viewChild.required(TemplateRef);
23
24
  this.options = inject(TUI_TEXTAREA_OPTIONS);
24
25
  this.vcr = inject(ViewContainerRef);
26
+ this.text = viewChild('text', { read: ElementRef });
25
27
  this.el = tuiInjectElement();
26
28
  this.textfield = inject((TuiTextfieldComponent));
27
- this.isMobile = inject(TUI_IS_MOBILE);
28
- this.min = this.options.min;
29
- this.max = this.options.max;
30
- this.content = this.options.content;
29
+ this.isMobile = inject(WA_IS_MOBILE);
30
+ this.min = input(this.options.min);
31
+ this.max = input(this.options.max);
32
+ this.content = input(this.options.content);
31
33
  }
32
34
  ngAfterViewInit() {
33
- if (this.template) {
34
- this.vcr.createEmbeddedView(this.template);
35
- }
35
+ this.vcr.createEmbeddedView(this.template());
36
36
  }
37
37
  onScroll() {
38
- this.text?.nativeElement.scrollTo({ top: this.el.scrollTop });
38
+ this.text()?.nativeElement.scrollTo({ top: this.el.scrollTop });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextarea, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextarea, isStandalone: true, selector: "textarea[tuiTextarea]", inputs: { min: "min", max: "max", content: "content" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "scroll.zoneless": "onScroll()", "scroll.once": "onScroll()" }, properties: { "class._mobile": "isMobile" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "text", first: true, predicate: ["text"], descendants: true }], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: "<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block-start:.5rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block-start:.875rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block-start:1.125rem;padding-block-end:.375rem}:host{word-break:break-word;border:0 solid transparent}:host[data-appearance=table]{border-block-start:1px solid transparent;border-block-end:none!important}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;top:0;left:0;bottom:0;right:0;top:.25rem;bottom:.25rem;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:calc(100% - var(--t-start) - var(--t-end) - var(--t-side, 0rem));white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}.t-hack{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px transparent}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiTextareaComponent, isStandalone: true, selector: "textarea[tuiTextarea]", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "scroll.zoneless": "onScroll()", "scroll.once": "onScroll()" }, properties: { "class._mobile": "isMobile" } }, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "text", first: true, predicate: ["text"], descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.TuiWithInput }], ngImport: i0, template: "<ng-template>\n @if (!isMobile) {\n <tui-scroll-controls\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n }\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max()\"\n [style.min-height.em]=\"1.25 * min()\"\n >\n <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block:.5rem .25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block:.875rem .25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block:1.125rem .375rem}:host{word-break:break-word;border:0 solid transparent}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;inset:.25rem 0;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:calc(100% - var(--t-start) - var(--t-end) - var(--t-side, 0rem));white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side, 0rem));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextarea, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ standalone: true, selector: 'textarea[tuiTextarea]', imports: [NgIf, PolymorpheusOutlet, TuiScrollControls], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], hostDirectives: [TuiWithTextfield], host: {
45
+ args: [{ selector: 'textarea[tuiTextarea]', imports: [PolymorpheusOutlet, TuiScrollControls], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)], hostDirectives: [TuiWithInput], host: {
46
46
  ngSkipHydration: 'true',
47
47
  '[class._mobile]': 'isMobile',
48
48
  '(scroll.zoneless)': 'onScroll()',
49
49
  // To trigger CD for #text
50
50
  '(scroll.once)': 'onScroll()',
51
- }, template: "<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block-start:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block-start:.5rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block-start:.875rem;padding-block-end:.25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block-start:1.125rem;padding-block-end:.375rem}:host{word-break:break-word;border:0 solid transparent}:host[data-appearance=table]{border-block-start:1px solid transparent;border-block-end:none!important}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;top:0;left:0;bottom:0;right:0;top:.25rem;bottom:.25rem;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:calc(100% - var(--t-start) - var(--t-end) - var(--t-side, 0rem));white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}.t-hack{transition-property:box-shadow;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px transparent}\n"] }]
52
- }], propDecorators: { template: [{
53
- type: ViewChild,
54
- args: [TemplateRef]
55
- }], text: [{
56
- type: ViewChild,
57
- args: ['text']
58
- }], min: [{
59
- type: Input
60
- }], max: [{
61
- type: Input
62
- }], content: [{
63
- type: Input
64
- }] } });
51
+ }, template: "<ng-template>\n @if (!isMobile) {\n <tui-scroll-controls\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n }\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max()\"\n [style.min-height.em]=\"1.25 * min()\"\n >\n <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n</ng-template>\n", styles: [":host-context(tui-textfield._with-label[data-size=\"m\"]._with-label[data-size=\"m\"]){border-block-start-width:calc(.5rem + var(--t-height) / 3);padding-block:0}:host-context(tui-textfield._with-label[data-size=\"l\"]._with-label[data-size=\"l\"]){border-block-start-width:calc(.625rem + var(--t-height) / 3);padding-block:0}:host-context(tui-textfield[data-size=\"s\"]){padding-block:.5rem .25rem}:host-context(tui-textfield[data-size=\"m\"]){padding-block:.875rem .25rem}:host-context(tui-textfield[data-size=\"l\"]){padding-block:1.125rem .375rem}:host{word-break:break-word;border:0 solid transparent}:host:not(._mobile){scrollbar-width:none;-ms-overflow-style:none}:host:not(._mobile)::-webkit-scrollbar,:host:not(._mobile)::-webkit-scrollbar-thumb{display:none}.t-scroll{position:absolute;inset:.25rem 0;min-block-size:0}::ng-deep tui-textfield._with-label[data-size=m] .t-scroll{top:calc(.5rem + var(--t-height) / 3)}::ng-deep tui-textfield._with-label[data-size=l] .t-scroll{top:calc(.625rem + var(--t-height) / 3)}.t-ghost{position:relative;z-index:1;order:1;inline-size:calc(100% - var(--t-start) - var(--t-end) - var(--t-side, 0rem));white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;padding-inline-start:var(--t-start);padding-inline-end:calc(var(--t-end) + var(--t-side, 0rem));pointer-events:none;box-sizing:content-box;overflow:hidden;color:transparent}.t-ghost:after{content:\" \"}::ng-deep tui-textfield._with-label[data-size=m] textarea~.t-ghost{margin-block-start:-1.375rem;padding-block-end:.3125rem}::ng-deep tui-textfield._with-label[data-size=l] textarea~.t-ghost{margin-block-start:-1.75rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=s] textarea~.t-ghost{margin-block-start:-1.5rem;padding-block-end:.5rem}::ng-deep tui-textfield[data-size=m] textarea~.t-ghost{margin-block-start:-2rem;padding-block-end:.875rem}::ng-deep tui-textfield[data-size=l] textarea~.t-ghost{margin-block-start:-2.5rem;padding-block-end:1rem}\n"] }]
52
+ }] });
65
53
 
66
- class TuiTextareaLimitComponent {
54
+ class TuiTextareaCounter {
67
55
  constructor() {
68
- this.limit = inject(TuiTextareaLimit).limit;
69
- this.context = injectContext();
56
+ this.limit = signal(0);
57
+ this.length = signal(0);
70
58
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaLimitComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextareaLimitComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
73
- <span [textContent]="context.$implicit.slice(0, limit())"></span>
74
- <span
75
- style="background: linear-gradient(transparent 0.25rem, var(--tui-status-negative-pale) 0.25rem, var(--tui-status-negative-pale) 100%)"
76
- [textContent]="context.$implicit.slice(limit())"
77
- ></span>
78
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaCounter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TuiTextareaCounter, isStandalone: true, selector: "ng-component", ngImport: i0, template: '{{ length() }} / {{ limit() }}', isInline: true, styles: [":host{z-index:1;inline-size:100%;order:2;text-align:end;pointer-events:none;padding-block-end:.75rem;font:var(--tui-font-ui-xs);color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
61
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaLimitComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaCounter, decorators: [{
81
63
  type: Component,
82
- args: [{
83
- standalone: true,
84
- template: `
85
- <span [textContent]="context.$implicit.slice(0, limit())"></span>
86
- <span
87
- style="background: linear-gradient(transparent 0.25rem, var(--tui-status-negative-pale) 0.25rem, var(--tui-status-negative-pale) 100%)"
88
- [textContent]="context.$implicit.slice(limit())"
89
- ></span>
90
- `,
91
- changeDetection: ChangeDetectionStrategy.OnPush,
92
- }]
64
+ args: [{ template: '{{ length() }} / {{ limit() }}', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{z-index:1;inline-size:100%;order:2;text-align:end;pointer-events:none;padding-block-end:.75rem;font:var(--tui-font-ui-xs);color:var(--tui-text-secondary)}\n"] }]
93
65
  }] });
94
- class TuiTextareaCounterComponent {
66
+ class TuiTextareaLimit {
95
67
  constructor() {
96
- this.limit = signal(0);
97
- this.length = signal(0);
68
+ this.limit = inject(TuiTextareaDirective).limit;
69
+ this.context = injectContext();
98
70
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaCounterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextareaCounterComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '{{ length() }} / {{ limit() }}', isInline: true, styles: [":host{z-index:1;inline-size:100%;order:2;text-align:end;pointer-events:none;padding-block-end:.75rem;font:var(--tui-font-text-ui-xs);color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaLimit, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TuiTextareaLimit, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
73
+ <span [textContent]="context.$implicit.slice(0, limit())"></span>
74
+ <span [textContent]="context.$implicit.slice(limit())"></span>
75
+ `, isInline: true, styles: ["span:last-child{background:linear-gradient(transparent .25rem,var(--tui-status-negative-pale) .25rem,var(--tui-status-negative-pale) 100%)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
76
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaCounterComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaLimit, decorators: [{
103
78
  type: Component,
104
- args: [{ standalone: true, template: '{{ length() }} / {{ limit() }}', changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{z-index:1;inline-size:100%;order:2;text-align:end;pointer-events:none;padding-block-end:.75rem;font:var(--tui-font-text-ui-xs);color:var(--tui-text-secondary)}\n"] }]
79
+ args: [{ template: `
80
+ <span [textContent]="context.$implicit.slice(0, limit())"></span>
81
+ <span [textContent]="context.$implicit.slice(limit())"></span>
82
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["span:last-child{background:linear-gradient(transparent .25rem,var(--tui-status-negative-pale) .25rem,var(--tui-status-negative-pale) 100%)}\n"] }]
105
83
  }] });
106
- const COMPONENT = new PolymorpheusComponent(TuiTextareaLimitComponent);
107
- class TuiTextareaLimit {
84
+ const COMPONENT = new PolymorpheusComponent(TuiTextareaLimit);
85
+ class TuiTextareaDirective {
108
86
  constructor() {
109
87
  this.textfield = inject(TuiTextfieldComponent);
110
- this.ref = inject(ViewContainerRef).createComponent(TuiTextareaCounterComponent);
88
+ this.ref = inject(ViewContainerRef).createComponent(TuiTextareaCounter);
111
89
  this.size = inject(TUI_TEXTFIELD_OPTIONS).size;
112
- this.limit = signal(0);
113
- }
114
- // TODO: Use signal inputs in v5
115
- set limitSetter(limit) {
116
- this.limit.set(limit);
90
+ this.limit = input(0);
117
91
  }
118
92
  ngDoCheck() {
119
93
  this.ref.instance.length.set(this.textfield.value().length);
@@ -122,33 +96,38 @@ class TuiTextareaLimit {
122
96
  validate(control) {
123
97
  return Validators.maxLength(this.limit())(control);
124
98
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaLimit, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiTextareaLimit, isStandalone: true, selector: "[tuiTextarea][limit]", inputs: { limitSetter: ["limit", "limitSetter"] }, host: { properties: { "style.border-block-end-width.rem": "size() === \"l\" ? 1.875 : 1.75" } }, providers: [
127
- tuiProvide(NG_VALIDATORS, TuiTextareaLimit, true),
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
100
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiTextareaDirective, isStandalone: true, selector: "[tuiTextarea][limit]", inputs: { limit: { classPropertyName: "limit", publicName: "limit", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.border-block-end-width.rem": "size() === \"l\" ? 1.875 : 1.75" } }, providers: [
101
+ tuiProvide(NG_VALIDATORS, TuiTextareaDirective, true),
128
102
  tuiTextareaOptionsProvider({ content: COMPONENT }),
129
103
  ], ngImport: i0 }); }
130
104
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextareaLimit, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiTextareaDirective, decorators: [{
132
106
  type: Directive,
133
107
  args: [{
134
- standalone: true,
135
108
  selector: '[tuiTextarea][limit]',
136
109
  providers: [
137
- tuiProvide(NG_VALIDATORS, TuiTextareaLimit, true),
110
+ tuiProvide(NG_VALIDATORS, TuiTextareaDirective, true),
138
111
  tuiTextareaOptionsProvider({ content: COMPONENT }),
139
112
  ],
140
113
  host: {
141
114
  '[style.border-block-end-width.rem]': 'size() === "l" ? 1.875 : 1.75',
142
115
  },
143
116
  }]
144
- }], propDecorators: { limitSetter: [{
145
- type: Input,
146
- args: ['limit']
147
- }] } });
117
+ }] });
118
+
119
+ const TuiTextarea = [
120
+ TuiTextareaComponent,
121
+ TuiTextareaDirective,
122
+ TuiLabel,
123
+ TuiTextfieldComponent,
124
+ TuiTextfieldOptionsDirective,
125
+ TuiDropdownContent,
126
+ ];
148
127
 
149
128
  /**
150
129
  * Generated bundle index. Do not edit.
151
130
  */
152
131
 
153
- export { TUI_TEXTAREA_OPTIONS, TuiTextarea, TuiTextareaCounterComponent, TuiTextareaLimit, TuiTextareaLimitComponent, tuiTextareaOptionsProvider };
132
+ export { TUI_TEXTAREA_OPTIONS, TuiTextarea, TuiTextareaComponent, TuiTextareaDirective, tuiTextareaOptionsProvider };
154
133
  //# sourceMappingURL=taiga-ui-kit-components-textarea.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-textarea.mjs","sources":["../../../projects/kit/components/textarea/textarea.options.ts","../../../projects/kit/components/textarea/textarea.component.ts","../../../projects/kit/components/textarea/textarea.template.html","../../../projects/kit/components/textarea/textarea-limit.directive.ts","../../../projects/kit/components/textarea/taiga-ui-kit-components-textarea.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiTextareaOptions {\n min: number;\n max: number;\n content: PolymorpheusContent<TuiContext<string>>;\n}\n\nexport const [TUI_TEXTAREA_OPTIONS, tuiTextareaOptionsProvider] =\n tuiCreateOptions<TuiTextareaOptions>({\n min: 1,\n max: 3,\n content: ({$implicit}) => $implicit,\n });\n","import {NgIf} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Input,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollControls} from '@taiga-ui/core/components/scrollbar';\nimport {\n TuiTextfieldComponent,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TEXTAREA_OPTIONS, type TuiTextareaOptions} from './textarea.options';\n\n@Component({\n standalone: true,\n selector: 'textarea[tuiTextarea]',\n imports: [NgIf, PolymorpheusOutlet, TuiScrollControls],\n templateUrl: './textarea.template.html',\n styleUrls: ['./textarea.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)],\n hostDirectives: [TuiWithTextfield],\n host: {\n ngSkipHydration: 'true',\n '[class._mobile]': 'isMobile',\n '(scroll.zoneless)': 'onScroll()',\n // To trigger CD for #text\n '(scroll.once)': 'onScroll()',\n },\n})\nexport class TuiTextarea implements AfterViewInit {\n @ViewChild(TemplateRef)\n private readonly template?: TemplateRef<any>;\n\n private readonly options = inject(TUI_TEXTAREA_OPTIONS);\n private readonly vcr = inject(ViewContainerRef);\n\n @ViewChild('text')\n protected readonly text?: ElementRef<HTMLElement>;\n\n protected readonly el = tuiInjectElement<HTMLTextAreaElement>();\n protected readonly textfield = inject(TuiTextfieldComponent<string>);\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n\n @Input()\n public min = this.options.min;\n\n @Input()\n public max = this.options.max;\n\n @Input()\n public content: TuiTextareaOptions['content'] = this.options.content;\n\n public ngAfterViewInit(): void {\n if (this.template) {\n this.vcr.createEmbeddedView(this.template);\n }\n }\n\n protected onScroll(): void {\n this.text?.nativeElement.scrollTo({top: this.el.scrollTop});\n }\n}\n","<ng-template #template>\n <tui-scroll-controls\n *ngIf=\"!isMobile\"\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max\"\n [style.min-height.em]=\"1.25 * min\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n <span class=\"t-hack\"></span>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n type DoCheck,\n inject,\n Input,\n signal,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n type AbstractControl,\n NG_VALIDATORS,\n type ValidationErrors,\n type Validator,\n Validators,\n} from '@angular/forms';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {injectContext, PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {tuiTextareaOptionsProvider} from './textarea.options';\n\n@Component({\n standalone: true,\n template: `\n <span [textContent]=\"context.$implicit.slice(0, limit())\"></span>\n <span\n style=\"background: linear-gradient(transparent 0.25rem, var(--tui-status-negative-pale) 0.25rem, var(--tui-status-negative-pale) 100%)\"\n [textContent]=\"context.$implicit.slice(limit())\"\n ></span>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextareaLimitComponent {\n protected readonly limit = inject(TuiTextareaLimit).limit;\n protected readonly context = injectContext<TuiContext<string>>();\n}\n\n@Component({\n standalone: true,\n template: '{{ length() }} / {{ limit() }}',\n styleUrls: ['./textarea-limit.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextareaCounterComponent {\n public readonly limit = signal(0);\n public readonly length = signal(0);\n}\n\nconst COMPONENT = new PolymorpheusComponent(TuiTextareaLimitComponent);\n\n@Directive({\n standalone: true,\n selector: '[tuiTextarea][limit]',\n providers: [\n tuiProvide(NG_VALIDATORS, TuiTextareaLimit, true),\n tuiTextareaOptionsProvider({content: COMPONENT}),\n ],\n host: {\n '[style.border-block-end-width.rem]': 'size() === \"l\" ? 1.875 : 1.75',\n },\n})\nexport class TuiTextareaLimit implements Validator, DoCheck {\n private readonly textfield = inject(TuiTextfieldComponent);\n private readonly ref = inject(ViewContainerRef).createComponent(\n TuiTextareaCounterComponent,\n );\n\n public readonly size = inject(TUI_TEXTFIELD_OPTIONS).size;\n public readonly limit = signal(0);\n\n // TODO: Use signal inputs in v5\n @Input('limit')\n public set limitSetter(limit: number) {\n this.limit.set(limit);\n }\n\n public ngDoCheck(): void {\n this.ref.instance.length.set(this.textfield.value().length);\n this.ref.instance.limit.set(this.limit());\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n return Validators.maxLength(this.limit())(control);\n }\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-kit-components-textarea.mjs","sources":["../../../projects/kit/components/textarea/textarea.options.ts","../../../projects/kit/components/textarea/textarea.component.ts","../../../projects/kit/components/textarea/textarea.template.html","../../../projects/kit/components/textarea/textarea.directive.ts","../../../projects/kit/components/textarea/textarea.ts","../../../projects/kit/components/textarea/taiga-ui-kit-components-textarea.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiTextareaOptions {\n min: number;\n max: number;\n content: PolymorpheusContent<TuiContext<string>>;\n}\n\nexport const [TUI_TEXTAREA_OPTIONS, tuiTextareaOptionsProvider] =\n tuiCreateOptions<TuiTextareaOptions>({\n min: 1,\n max: 3,\n content: ({$implicit}) => $implicit,\n });\n","import {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {TUI_SCROLL_REF, TuiScrollControls} from '@taiga-ui/core/components/scrollbar';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_TEXTAREA_OPTIONS} from './textarea.options';\n\n@Component({\n selector: 'textarea[tuiTextarea]',\n imports: [PolymorpheusOutlet, TuiScrollControls],\n templateUrl: './textarea.template.html',\n styleUrl: './textarea.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_SCROLL_REF, ElementRef)],\n hostDirectives: [TuiWithInput],\n host: {\n ngSkipHydration: 'true',\n '[class._mobile]': 'isMobile',\n '(scroll.zoneless)': 'onScroll()',\n // To trigger CD for #text\n '(scroll.once)': 'onScroll()',\n },\n})\nexport class TuiTextareaComponent implements AfterViewInit {\n private readonly template = viewChild.required(TemplateRef);\n private readonly options = inject(TUI_TEXTAREA_OPTIONS);\n private readonly vcr = inject(ViewContainerRef);\n private readonly text = viewChild('text', {read: ElementRef});\n\n protected readonly el = tuiInjectElement<HTMLTextAreaElement>();\n protected readonly textfield = inject(TuiTextfieldComponent<string>);\n protected readonly isMobile = inject(WA_IS_MOBILE);\n\n public readonly min = input(this.options.min);\n public readonly max = input(this.options.max);\n public readonly content = input(this.options.content);\n\n public ngAfterViewInit(): void {\n this.vcr.createEmbeddedView(this.template());\n }\n\n protected onScroll(): void {\n this.text()?.nativeElement.scrollTo({top: this.el.scrollTop});\n }\n}\n","<ng-template>\n @if (!isMobile) {\n <tui-scroll-controls\n class=\"t-scroll\"\n (click.prevent)=\"(0)\"\n />\n }\n <span\n #text\n aria-hidden=\"true\"\n class=\"t-ghost\"\n [style.max-height.em]=\"1.25 * max()\"\n [style.min-height.em]=\"1.25 * min()\"\n >\n <ng-container *polymorpheusOutlet=\"content() as text; context: {$implicit: el.value}\">{{ text }}</ng-container>\n </span>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n type DoCheck,\n inject,\n input,\n signal,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n type AbstractControl,\n NG_VALIDATORS,\n type ValidationErrors,\n type Validator,\n Validators,\n} from '@angular/forms';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {injectContext, PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {tuiTextareaOptionsProvider} from './textarea.options';\n\n@Component({\n template: '{{ length() }} / {{ limit() }}',\n styles: `\n :host {\n z-index: 1;\n inline-size: 100%;\n order: 2;\n text-align: end;\n pointer-events: none;\n padding-block-end: 0.75rem;\n font: var(--tui-font-ui-xs);\n color: var(--tui-text-secondary);\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nclass TuiTextareaCounter {\n public readonly limit = signal(0);\n public readonly length = signal(0);\n}\n\n@Component({\n template: `\n <span [textContent]=\"context.$implicit.slice(0, limit())\"></span>\n <span [textContent]=\"context.$implicit.slice(limit())\"></span>\n `,\n styles: `\n span:last-child {\n background: linear-gradient(\n transparent 0.25rem,\n var(--tui-status-negative-pale) 0.25rem,\n var(--tui-status-negative-pale) 100%\n );\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nclass TuiTextareaLimit {\n protected readonly limit = inject(TuiTextareaDirective).limit;\n protected readonly context = injectContext<TuiContext<string>>();\n}\n\nconst COMPONENT = new PolymorpheusComponent(TuiTextareaLimit);\n\n@Directive({\n selector: '[tuiTextarea][limit]',\n providers: [\n tuiProvide(NG_VALIDATORS, TuiTextareaDirective, true),\n tuiTextareaOptionsProvider({content: COMPONENT}),\n ],\n host: {\n '[style.border-block-end-width.rem]': 'size() === \"l\" ? 1.875 : 1.75',\n },\n})\nexport class TuiTextareaDirective implements Validator, DoCheck {\n private readonly textfield = inject(TuiTextfieldComponent);\n private readonly ref = inject(ViewContainerRef).createComponent(TuiTextareaCounter);\n\n public readonly size = inject(TUI_TEXTFIELD_OPTIONS).size;\n public readonly limit = input(0);\n\n public ngDoCheck(): void {\n this.ref.instance.length.set(this.textfield.value().length);\n this.ref.instance.limit.set(this.limit());\n }\n\n public validate(control: AbstractControl): ValidationErrors | null {\n return Validators.maxLength(this.limit())(control);\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiTextareaComponent} from './textarea.component';\nimport {TuiTextareaDirective} from './textarea.directive';\n\nexport const TuiTextarea = [\n TuiTextareaComponent,\n TuiTextareaDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}