@taiga-ui/kit 4.51.0 → 4.52.0-canary.1acd1eb

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 (849) hide show
  1. package/components/accordion/accordion.component.d.ts +13 -0
  2. package/components/accordion/accordion.d.ts +4 -4
  3. package/components/accordion/accordion.directive.d.ts +11 -10
  4. package/components/accordion/index.d.ts +1 -3
  5. package/components/action-bar/action-bar.component.d.ts +5 -7
  6. package/components/action-bar/index.d.ts +0 -2
  7. package/components/avatar/avatar-outline.directive.d.ts +3 -3
  8. package/components/avatar/avatar.directive.d.ts +15 -0
  9. package/components/avatar/avatar.options.d.ts +1 -4
  10. package/components/avatar/index.d.ts +1 -1
  11. package/components/badge/badge.directive.d.ts +2 -2
  12. package/components/block/block.directive.d.ts +4 -4
  13. package/components/block/block.options.d.ts +1 -1
  14. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  15. package/components/calendar-month/calendar-month.options.d.ts +1 -1
  16. package/components/calendar-range/calendar-range.component.d.ts +1 -2
  17. package/components/checkbox/checkbox.component.d.ts +7 -18
  18. package/components/checkbox/checkbox.options.d.ts +5 -9
  19. package/components/chip/chip.directive.d.ts +2 -4
  20. package/components/comment/comment.directive.d.ts +2 -2
  21. package/components/confirm/confirm.component.d.ts +2 -1
  22. package/components/confirm/confirm.service.d.ts +2 -1
  23. package/{directives → components}/copy/copy.component.d.ts +1 -1
  24. package/{directives → components}/copy/copy.directive.d.ts +2 -2
  25. package/{directives → components}/copy/copy.options.d.ts +2 -2
  26. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +2 -0
  27. package/components/files/file/file.options.d.ts +1 -1
  28. package/components/files/files/files.component.d.ts +2 -2
  29. package/components/floating-container/floating-container.directive.d.ts +2 -2
  30. package/components/fullscreen/fullscreen.component.d.ts +14 -0
  31. package/components/fullscreen/index.d.ts +1 -0
  32. package/components/index.d.ts +4 -2
  33. package/components/input-chip/input-chip.options.d.ts +1 -1
  34. package/components/input-color/input-color.component.d.ts +2 -1
  35. package/components/input-color/input-color.options.d.ts +1 -1
  36. package/components/input-date/input-date.directive.d.ts +1 -1
  37. package/components/input-date/input-date.options.d.ts +1 -1
  38. package/components/input-number/input-number.options.d.ts +1 -1
  39. package/components/input-number/quantum.directive.d.ts +2 -2
  40. package/components/input-number/step/input-number-step.component.d.ts +1 -1
  41. package/components/input-phone/input-phone.options.d.ts +1 -1
  42. package/components/input-phone-international/input-phone-international.component.d.ts +24 -30
  43. package/components/input-pin/input-pin.component.d.ts +1 -1
  44. package/components/input-range/input-range.component.d.ts +9 -12
  45. package/components/input-slider/input-slider.directive.d.ts +2 -4
  46. package/components/input-time/input-time.directive.d.ts +1 -0
  47. package/components/input-time/input-time.options.d.ts +1 -1
  48. package/components/like/like.component.d.ts +4 -11
  49. package/components/like/like.options.d.ts +3 -4
  50. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  51. package/components/line-clamp/line-clamp.component.d.ts +12 -18
  52. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +3 -3
  53. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  54. package/components/notification-middle/index.d.ts +3 -0
  55. package/components/notification-middle/notification-middle.component.d.ts +16 -0
  56. package/components/notification-middle/notification-middle.directive.d.ts +7 -0
  57. package/components/notification-middle/notification-middle.service.d.ts +7 -0
  58. package/components/pager/pager.component.d.ts +1 -1
  59. package/components/pagination/pagination.component.d.ts +1 -1
  60. package/components/pin/pin.directive.d.ts +2 -2
  61. package/components/preview/pagination/preview-pagination.component.d.ts +1 -1
  62. package/components/preview/preview.component.d.ts +1 -1
  63. package/components/preview/zoom/preview-zoom.component.d.ts +1 -1
  64. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  65. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  66. package/components/push/push-alert.component.d.ts +4 -3
  67. package/components/push/push.component.d.ts +2 -2
  68. package/components/push/push.directive.d.ts +4 -6
  69. package/components/push/push.options.d.ts +4 -8
  70. package/components/push/push.service.d.ts +6 -2
  71. package/components/radio/radio.component.d.ts +7 -8
  72. package/components/radio/radio.directive.d.ts +2 -2
  73. package/components/radio/radio.options.d.ts +2 -5
  74. package/components/range/range-change.directive.d.ts +1 -1
  75. package/components/range/range.component.d.ts +0 -5
  76. package/components/rating/rating.component.d.ts +5 -5
  77. package/components/rating/rating.options.d.ts +5 -3
  78. package/components/segmented/segmented.component.d.ts +5 -5
  79. package/components/slider/helpers/key-steps.d.ts +1 -2
  80. package/components/slider/helpers/slider-key-steps.directive.d.ts +12 -21
  81. package/components/slides/slides.directive.d.ts +4 -4
  82. package/components/status/status.directive.d.ts +2 -2
  83. package/components/switch/switch.component.d.ts +7 -19
  84. package/components/switch/switch.options.d.ts +4 -8
  85. package/components/tabs/tabs-with-more.component.d.ts +1 -1
  86. package/components/textarea/textarea-limit.directive.d.ts +4 -6
  87. package/components/textarea/textarea.options.d.ts +1 -1
  88. package/components/toast/index.d.ts +5 -0
  89. package/components/toast/toast.component.d.ts +18 -0
  90. package/components/toast/toast.d.ts +3 -0
  91. package/components/toast/toast.directive.d.ts +7 -0
  92. package/components/toast/toast.options.d.ts +9 -0
  93. package/components/toast/toast.service.d.ts +17 -0
  94. package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
  95. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +2 -7
  96. package/directives/button-select/button-select.directive.d.ts +1 -2
  97. package/directives/chevron/chevron.directive.d.ts +2 -3
  98. package/directives/fade/fade.directive.d.ts +1 -0
  99. package/directives/highlight/highlight.directive.d.ts +2 -2
  100. package/directives/index.d.ts +0 -2
  101. package/directives/password/password.options.d.ts +1 -1
  102. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  103. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  104. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  105. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  106. package/directives/tooltip/tooltip.options.d.ts +2 -2
  107. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -145
  108. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +22 -38
  110. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-avatar.mjs +81 -100
  112. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +4 -4
  114. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-badge.mjs +15 -21
  116. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +8 -8
  118. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-kit-components-block.mjs +17 -24
  120. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +9 -12
  122. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +4 -5
  124. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +7 -10
  126. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +10 -11
  128. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-carousel.mjs +21 -23
  130. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +19 -76
  132. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-chip.mjs +22 -27
  134. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +9 -9
  136. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-kit-components-comment.mjs +13 -20
  138. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-kit-components-compass.mjs +4 -4
  140. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-kit-components-confirm.mjs +14 -16
  142. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-components-copy.mjs +120 -0
  144. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  145. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +21 -14
  146. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-drawer.mjs +7 -7
  148. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +8 -8
  150. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-files.mjs +41 -42
  152. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-kit-components-filter.mjs +7 -16
  154. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +13 -19
  156. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +63 -0
  158. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  159. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +22 -19
  160. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-kit-components-input-color.mjs +12 -15
  162. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +7 -8
  164. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +4 -4
  166. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +9 -11
  168. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-components-input-date.mjs +18 -20
  170. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +6 -6
  172. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +8 -9
  174. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  175. package/fesm2022/taiga-ui-kit-components-input-month.mjs +14 -16
  176. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  177. package/fesm2022/taiga-ui-kit-components-input-number.mjs +33 -32
  178. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +108 -134
  180. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +11 -13
  182. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  183. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +9 -8
  184. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-components-input-range.mjs +35 -39
  186. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +28 -42
  188. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-input-time.mjs +32 -16
  190. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components-input-year.mjs +8 -9
  192. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +18 -18
  194. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-components-like.mjs +40 -33
  196. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  197. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +38 -83
  198. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  199. package/fesm2022/taiga-ui-kit-components-message.mjs +10 -12
  200. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +45 -44
  202. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  203. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +90 -0
  204. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -0
  205. package/fesm2022/taiga-ui-kit-components-pager.mjs +8 -8
  206. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  207. package/fesm2022/taiga-ui-kit-components-pagination.mjs +8 -9
  208. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  209. package/fesm2022/taiga-ui-kit-components-pin.mjs +15 -19
  210. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  211. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +13 -13
  212. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  213. package/fesm2022/taiga-ui-kit-components-preview.mjs +38 -40
  214. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  215. package/fesm2022/taiga-ui-kit-components-progress.mjs +39 -52
  216. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  217. package/fesm2022/taiga-ui-kit-components-pulse.mjs +4 -4
  218. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  219. package/fesm2022/taiga-ui-kit-components-push.mjs +50 -57
  220. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +7 -8
  222. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  223. package/fesm2022/taiga-ui-kit-components-radio.mjs +34 -39
  224. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  225. package/fesm2022/taiga-ui-kit-components-range.mjs +12 -21
  226. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  227. package/fesm2022/taiga-ui-kit-components-rating.mjs +17 -22
  228. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  229. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +5 -5
  230. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  231. package/fesm2022/taiga-ui-kit-components-segmented.mjs +8 -8
  232. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  233. package/fesm2022/taiga-ui-kit-components-select.mjs +41 -34
  234. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  235. package/fesm2022/taiga-ui-kit-components-slider.mjs +71 -70
  236. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-components-slides.mjs +14 -22
  238. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
  239. package/fesm2022/taiga-ui-kit-components-status.mjs +12 -16
  240. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  241. package/fesm2022/taiga-ui-kit-components-stepper.mjs +12 -12
  242. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  243. package/fesm2022/taiga-ui-kit-components-switch.mjs +19 -65
  244. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  245. package/fesm2022/taiga-ui-kit-components-tabs.mjs +35 -38
  246. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  247. package/fesm2022/taiga-ui-kit-components-textarea.mjs +19 -28
  248. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  249. package/fesm2022/taiga-ui-kit-components-tiles.mjs +13 -13
  250. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  251. package/fesm2022/taiga-ui-kit-components-toast.mjs +165 -0
  252. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -0
  253. package/fesm2022/taiga-ui-kit-components-tree.mjs +37 -53
  254. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  255. package/fesm2022/taiga-ui-kit-components.mjs +4 -2
  256. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  257. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +3 -3
  258. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
  259. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +10 -13
  260. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  261. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +5 -12
  262. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  263. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +13 -20
  264. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  265. package/fesm2022/taiga-ui-kit-directives-connected.mjs +10 -15
  266. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  267. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +4 -4
  268. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  269. package/fesm2022/taiga-ui-kit-directives-fade.mjs +11 -14
  270. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  271. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +4 -4
  272. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  273. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +5 -5
  274. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  275. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +8 -9
  276. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  277. package/fesm2022/taiga-ui-kit-directives-password.mjs +8 -11
  278. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  279. package/fesm2022/taiga-ui-kit-directives-present.mjs +4 -4
  280. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  281. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +13 -18
  282. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  283. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +24 -34
  284. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  285. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +27 -38
  286. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  287. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +15 -20
  288. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  289. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +6 -7
  290. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  291. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +4 -4
  292. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  293. package/fesm2022/taiga-ui-kit-directives.mjs +0 -2
  294. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  295. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  296. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  297. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +3 -3
  298. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  299. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +3 -3
  300. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  301. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +5 -4
  302. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  303. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  304. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  305. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  306. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  307. package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
  308. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  309. package/fesm2022/taiga-ui-kit-tokens.mjs +7 -10
  310. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  311. package/fesm2022/taiga-ui-kit-utils.mjs +1 -1
  312. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  313. package/package.json +33 -246
  314. package/pipes/index.d.ts +0 -1
  315. package/styles/components/avatar.less +188 -0
  316. package/styles/components/badge.less +4 -18
  317. package/styles/components/block.less +1 -1
  318. package/styles/components/checkbox.less +17 -16
  319. package/styles/components/chip.less +19 -4
  320. package/styles/components/like.less +15 -17
  321. package/styles/components/pin.less +3 -7
  322. package/styles/components/radio.less +2 -2
  323. package/styles/components/switch.less +12 -12
  324. package/styles/components/toast.less +44 -0
  325. package/tokens/i18n.d.ts +25 -26
  326. package/tokens/index.d.ts +0 -1
  327. package/tokens/input-date-options.d.ts +1 -1
  328. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  329. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  330. package/components/accordion/accordion-item.component.d.ts +0 -25
  331. package/components/action-bar/action-bar.d.ts +0 -3
  332. package/components/action-bar/action-bar.directive.d.ts +0 -6
  333. package/components/avatar/avatar.component.d.ts +0 -15
  334. package/components/input-password/index.d.ts +0 -2
  335. package/components/input-password/input-password.component.d.ts +0 -16
  336. package/components/input-password/input-password.options.d.ts +0 -24
  337. package/components/pdf-viewer/index.d.ts +0 -4
  338. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  339. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  340. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  341. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  342. package/directives/icon-badge/icon-badge.directive.d.ts +0 -9
  343. package/directives/icon-badge/index.d.ts +0 -1
  344. package/esm2022/components/accordion/accordion-item-content.directive.mjs +0 -16
  345. package/esm2022/components/accordion/accordion-item-eager-content.directive.mjs +0 -15
  346. package/esm2022/components/accordion/accordion-item.component.mjs +0 -85
  347. package/esm2022/components/accordion/accordion.directive.mjs +0 -56
  348. package/esm2022/components/accordion/accordion.mjs +0 -11
  349. package/esm2022/components/accordion/index.mjs +0 -6
  350. package/esm2022/components/accordion/taiga-ui-kit-components-accordion.mjs +0 -5
  351. package/esm2022/components/action-bar/action-bar.component.mjs +0 -36
  352. package/esm2022/components/action-bar/action-bar.directive.mjs +0 -17
  353. package/esm2022/components/action-bar/action-bar.mjs +0 -4
  354. package/esm2022/components/action-bar/index.mjs +0 -4
  355. package/esm2022/components/action-bar/taiga-ui-kit-components-action-bar.mjs +0 -5
  356. package/esm2022/components/avatar/avatar-labeled.component.mjs +0 -47
  357. package/esm2022/components/avatar/avatar-outline.directive.mjs +0 -41
  358. package/esm2022/components/avatar/avatar-stack.component.mjs +0 -19
  359. package/esm2022/components/avatar/avatar.component.mjs +0 -59
  360. package/esm2022/components/avatar/avatar.options.mjs +0 -14
  361. package/esm2022/components/avatar/index.mjs +0 -6
  362. package/esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs +0 -5
  363. package/esm2022/components/badge/badge.directive.mjs +0 -42
  364. package/esm2022/components/badge/badge.options.mjs +0 -13
  365. package/esm2022/components/badge/index.mjs +0 -3
  366. package/esm2022/components/badge/taiga-ui-kit-components-badge.mjs +0 -5
  367. package/esm2022/components/badge-notification/badge-notification.component.mjs +0 -22
  368. package/esm2022/components/badge-notification/badge-notification.options.mjs +0 -12
  369. package/esm2022/components/badge-notification/index.mjs +0 -3
  370. package/esm2022/components/badge-notification/taiga-ui-kit-components-badge-notification.mjs +0 -5
  371. package/esm2022/components/badged-content/badge-content.mjs +0 -7
  372. package/esm2022/components/badged-content/badged-content.component.mjs +0 -30
  373. package/esm2022/components/badged-content/badged-content.directive.mjs +0 -20
  374. package/esm2022/components/badged-content/index.mjs +0 -4
  375. package/esm2022/components/badged-content/taiga-ui-kit-components-badged-content.mjs +0 -5
  376. package/esm2022/components/block/block.directive.mjs +0 -58
  377. package/esm2022/components/block/block.options.mjs +0 -13
  378. package/esm2022/components/block/index.mjs +0 -3
  379. package/esm2022/components/block/taiga-ui-kit-components-block.mjs +0 -5
  380. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +0 -69
  381. package/esm2022/components/breadcrumbs/breadcrumbs.options.mjs +0 -14
  382. package/esm2022/components/breadcrumbs/index.mjs +0 -3
  383. package/esm2022/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.mjs +0 -5
  384. package/esm2022/components/button-loading/button-loading.component.mjs +0 -70
  385. package/esm2022/components/button-loading/index.mjs +0 -2
  386. package/esm2022/components/button-loading/taiga-ui-kit-components-button-loading.mjs +0 -5
  387. package/esm2022/components/calendar-month/calendar-month.component.mjs +0 -186
  388. package/esm2022/components/calendar-month/calendar-month.options.mjs +0 -6
  389. package/esm2022/components/calendar-month/index.mjs +0 -3
  390. package/esm2022/components/calendar-month/taiga-ui-kit-components-calendar-month.mjs +0 -5
  391. package/esm2022/components/calendar-range/calculate-disabled-item-handler.mjs +0 -12
  392. package/esm2022/components/calendar-range/calendar-range.component.mjs +0 -224
  393. package/esm2022/components/calendar-range/day-caps-mapper.mjs +0 -26
  394. package/esm2022/components/calendar-range/day-range-period.mjs +0 -36
  395. package/esm2022/components/calendar-range/index.mjs +0 -5
  396. package/esm2022/components/calendar-range/taiga-ui-kit-components-calendar-range.mjs +0 -5
  397. package/esm2022/components/carousel/carousel-autoscroll.directive.mjs +0 -21
  398. package/esm2022/components/carousel/carousel-buttons.directive.mjs +0 -27
  399. package/esm2022/components/carousel/carousel-scroll.directive.mjs +0 -27
  400. package/esm2022/components/carousel/carousel.component.mjs +0 -166
  401. package/esm2022/components/carousel/carousel.directive.mjs +0 -37
  402. package/esm2022/components/carousel/carousel.mjs +0 -15
  403. package/esm2022/components/carousel/index.mjs +0 -7
  404. package/esm2022/components/carousel/taiga-ui-kit-components-carousel.mjs +0 -5
  405. package/esm2022/components/checkbox/checkbox.component.mjs +0 -74
  406. package/esm2022/components/checkbox/checkbox.options.mjs +0 -17
  407. package/esm2022/components/checkbox/index.mjs +0 -3
  408. package/esm2022/components/checkbox/taiga-ui-kit-components-checkbox.mjs +0 -5
  409. package/esm2022/components/chip/chip.directive.mjs +0 -63
  410. package/esm2022/components/chip/chip.options.mjs +0 -13
  411. package/esm2022/components/chip/index.mjs +0 -3
  412. package/esm2022/components/chip/taiga-ui-kit-components-chip.mjs +0 -5
  413. package/esm2022/components/combo-box/combo-box.directive.mjs +0 -139
  414. package/esm2022/components/combo-box/index.mjs +0 -2
  415. package/esm2022/components/combo-box/taiga-ui-kit-components-combo-box.mjs +0 -5
  416. package/esm2022/components/comment/comment.directive.mjs +0 -35
  417. package/esm2022/components/comment/index.mjs +0 -2
  418. package/esm2022/components/comment/taiga-ui-kit-components-comment.mjs +0 -5
  419. package/esm2022/components/compass/compass.component.mjs +0 -19
  420. package/esm2022/components/compass/index.mjs +0 -2
  421. package/esm2022/components/compass/taiga-ui-kit-components-compass.mjs +0 -5
  422. package/esm2022/components/confirm/confirm.component.mjs +0 -29
  423. package/esm2022/components/confirm/confirm.service.mjs +0 -32
  424. package/esm2022/components/confirm/index.mjs +0 -3
  425. package/esm2022/components/confirm/taiga-ui-kit-components-confirm.mjs +0 -5
  426. package/esm2022/components/data-list-wrapper/data-list-group-wrapper.component.mjs +0 -25
  427. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +0 -86
  428. package/esm2022/components/data-list-wrapper/data-list-wrapper.module.mjs +0 -9
  429. package/esm2022/components/data-list-wrapper/index.mjs +0 -4
  430. package/esm2022/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.mjs +0 -5
  431. package/esm2022/components/drawer/drawer.component.mjs +0 -44
  432. package/esm2022/components/drawer/index.mjs +0 -2
  433. package/esm2022/components/drawer/taiga-ui-kit-components-drawer.mjs +0 -5
  434. package/esm2022/components/elastic-container/elastic-container.component.mjs +0 -28
  435. package/esm2022/components/elastic-container/elastic-container.directive.mjs +0 -48
  436. package/esm2022/components/elastic-container/index.mjs +0 -3
  437. package/esm2022/components/elastic-container/taiga-ui-kit-components-elastic-container.mjs +0 -5
  438. package/esm2022/components/files/file/file.component.mjs +0 -144
  439. package/esm2022/components/files/file/file.options.mjs +0 -16
  440. package/esm2022/components/files/files/files.component.mjs +0 -49
  441. package/esm2022/components/files/files.mjs +0 -15
  442. package/esm2022/components/files/files.types.mjs +0 -2
  443. package/esm2022/components/files/files.utils.mjs +0 -30
  444. package/esm2022/components/files/files.validators.mjs +0 -32
  445. package/esm2022/components/files/index.mjs +0 -13
  446. package/esm2022/components/files/input-files/input-files-validator.directive.mjs +0 -45
  447. package/esm2022/components/files/input-files/input-files.component.mjs +0 -70
  448. package/esm2022/components/files/input-files/input-files.content.mjs +0 -73
  449. package/esm2022/components/files/input-files/input-files.directive.mjs +0 -77
  450. package/esm2022/components/files/input-files/input-files.options.mjs +0 -19
  451. package/esm2022/components/files/pipes/file-rejected.pipe.mjs +0 -51
  452. package/esm2022/components/files/taiga-ui-kit-components-files.mjs +0 -5
  453. package/esm2022/components/filter/filter.component.mjs +0 -65
  454. package/esm2022/components/filter/index.mjs +0 -2
  455. package/esm2022/components/filter/taiga-ui-kit-components-filter.mjs +0 -5
  456. package/esm2022/components/floating-container/floating-container.directive.mjs +0 -37
  457. package/esm2022/components/floating-container/index.mjs +0 -2
  458. package/esm2022/components/floating-container/taiga-ui-kit-components-floating-container.mjs +0 -5
  459. package/esm2022/components/index.mjs +0 -72
  460. package/esm2022/components/input-chip/index.mjs +0 -5
  461. package/esm2022/components/input-chip/input-chip.component.mjs +0 -101
  462. package/esm2022/components/input-chip/input-chip.directive.mjs +0 -138
  463. package/esm2022/components/input-chip/input-chip.mjs +0 -4
  464. package/esm2022/components/input-chip/input-chip.options.mjs +0 -7
  465. package/esm2022/components/input-chip/taiga-ui-kit-components-input-chip.mjs +0 -5
  466. package/esm2022/components/input-color/index.mjs +0 -3
  467. package/esm2022/components/input-color/input-color.component.mjs +0 -89
  468. package/esm2022/components/input-color/input-color.options.mjs +0 -6
  469. package/esm2022/components/input-color/taiga-ui-kit-components-input-color.mjs +0 -5
  470. package/esm2022/components/input-date/date-filler.mjs +0 -20
  471. package/esm2022/components/input-date/index.mjs +0 -6
  472. package/esm2022/components/input-date/input-date.component.mjs +0 -33
  473. package/esm2022/components/input-date/input-date.directive.mjs +0 -167
  474. package/esm2022/components/input-date/input-date.mjs +0 -9
  475. package/esm2022/components/input-date/input-date.options.mjs +0 -11
  476. package/esm2022/components/input-date/taiga-ui-kit-components-input-date.mjs +0 -5
  477. package/esm2022/components/input-date-multi/index.mjs +0 -3
  478. package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +0 -123
  479. package/esm2022/components/input-date-multi/input-date-multi.mjs +0 -9
  480. package/esm2022/components/input-date-multi/taiga-ui-kit-components-input-date-multi.mjs +0 -5
  481. package/esm2022/components/input-date-range/index.mjs +0 -4
  482. package/esm2022/components/input-date-range/input-date-range.directive.mjs +0 -79
  483. package/esm2022/components/input-date-range/input-date-range.mjs +0 -4
  484. package/esm2022/components/input-date-range/input-date-range.options.mjs +0 -12
  485. package/esm2022/components/input-date-range/taiga-ui-kit-components-input-date-range.mjs +0 -5
  486. package/esm2022/components/input-date-time/index.mjs +0 -5
  487. package/esm2022/components/input-date-time/input-date-time.component.mjs +0 -35
  488. package/esm2022/components/input-date-time/input-date-time.directive.mjs +0 -178
  489. package/esm2022/components/input-date-time/input-date-time.mjs +0 -9
  490. package/esm2022/components/input-date-time/input-date-time.options.mjs +0 -20
  491. package/esm2022/components/input-date-time/taiga-ui-kit-components-input-date-time.mjs +0 -5
  492. package/esm2022/components/input-inline/index.mjs +0 -2
  493. package/esm2022/components/input-inline/input-inline.component.mjs +0 -23
  494. package/esm2022/components/input-inline/taiga-ui-kit-components-input-inline.mjs +0 -5
  495. package/esm2022/components/input-month/index.mjs +0 -5
  496. package/esm2022/components/input-month/input-month.component.mjs +0 -53
  497. package/esm2022/components/input-month/input-month.directive.mjs +0 -65
  498. package/esm2022/components/input-month/input-month.mjs +0 -9
  499. package/esm2022/components/input-month/input-month.options.mjs +0 -19
  500. package/esm2022/components/input-month/taiga-ui-kit-components-input-month.mjs +0 -5
  501. package/esm2022/components/input-month-range/index.mjs +0 -4
  502. package/esm2022/components/input-month-range/input-month-range.directive.mjs +0 -86
  503. package/esm2022/components/input-month-range/input-month-range.mjs +0 -7
  504. package/esm2022/components/input-month-range/input-month-range.options.mjs +0 -13
  505. package/esm2022/components/input-month-range/taiga-ui-kit-components-input-month-range.mjs +0 -5
  506. package/esm2022/components/input-number/index.mjs +0 -6
  507. package/esm2022/components/input-number/input-number.directive.mjs +0 -196
  508. package/esm2022/components/input-number/input-number.mjs +0 -9
  509. package/esm2022/components/input-number/input-number.options.mjs +0 -15
  510. package/esm2022/components/input-number/quantum.directive.mjs +0 -68
  511. package/esm2022/components/input-number/step/input-number-step.component.mjs +0 -58
  512. package/esm2022/components/input-number/taiga-ui-kit-components-input-number.mjs +0 -5
  513. package/esm2022/components/input-password/index.mjs +0 -3
  514. package/esm2022/components/input-password/input-password.component.mjs +0 -69
  515. package/esm2022/components/input-password/input-password.options.mjs +0 -24
  516. package/esm2022/components/input-password/taiga-ui-kit-components-input-password.mjs +0 -5
  517. package/esm2022/components/input-phone/index.mjs +0 -3
  518. package/esm2022/components/input-phone/input-phone.directive.mjs +0 -137
  519. package/esm2022/components/input-phone/input-phone.options.mjs +0 -9
  520. package/esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs +0 -5
  521. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +0 -41
  522. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +0 -17
  523. package/esm2022/components/input-phone-international/index.mjs +0 -3
  524. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +0 -210
  525. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +0 -19
  526. package/esm2022/components/input-phone-international/taiga-ui-kit-components-input-phone-international.mjs +0 -5
  527. package/esm2022/components/input-pin/index.mjs +0 -2
  528. package/esm2022/components/input-pin/input-pin.component.mjs +0 -65
  529. package/esm2022/components/input-pin/taiga-ui-kit-components-input-pin.mjs +0 -5
  530. package/esm2022/components/input-range/index.mjs +0 -3
  531. package/esm2022/components/input-range/input-range.component.mjs +0 -166
  532. package/esm2022/components/input-range/input-range.mjs +0 -4
  533. package/esm2022/components/input-range/taiga-ui-kit-components-input-range.mjs +0 -5
  534. package/esm2022/components/input-slider/index.mjs +0 -3
  535. package/esm2022/components/input-slider/input-slider.directive.mjs +0 -114
  536. package/esm2022/components/input-slider/input-slider.mjs +0 -9
  537. package/esm2022/components/input-slider/taiga-ui-kit-components-input-slider.mjs +0 -5
  538. package/esm2022/components/input-time/index.mjs +0 -5
  539. package/esm2022/components/input-time/input-time.component.mjs +0 -64
  540. package/esm2022/components/input-time/input-time.directive.mjs +0 -159
  541. package/esm2022/components/input-time/input-time.mjs +0 -4
  542. package/esm2022/components/input-time/input-time.options.mjs +0 -10
  543. package/esm2022/components/input-time/taiga-ui-kit-components-input-time.mjs +0 -5
  544. package/esm2022/components/input-year/index.mjs +0 -4
  545. package/esm2022/components/input-year/input-year.directive.mjs +0 -103
  546. package/esm2022/components/input-year/input-year.mjs +0 -4
  547. package/esm2022/components/input-year/input-year.options.mjs +0 -12
  548. package/esm2022/components/input-year/taiga-ui-kit-components-input-year.mjs +0 -5
  549. package/esm2022/components/items-with-more/index.mjs +0 -6
  550. package/esm2022/components/items-with-more/items-with-more.component.mjs +0 -77
  551. package/esm2022/components/items-with-more/items-with-more.directive.mjs +0 -46
  552. package/esm2022/components/items-with-more/items-with-more.mjs +0 -11
  553. package/esm2022/components/items-with-more/items-with-more.service.mjs +0 -85
  554. package/esm2022/components/items-with-more/more.directive.mjs +0 -18
  555. package/esm2022/components/items-with-more/taiga-ui-kit-components-items-with-more.mjs +0 -5
  556. package/esm2022/components/like/index.mjs +0 -3
  557. package/esm2022/components/like/like.component.mjs +0 -46
  558. package/esm2022/components/like/like.options.mjs +0 -10
  559. package/esm2022/components/like/taiga-ui-kit-components-like.mjs +0 -5
  560. package/esm2022/components/line-clamp/index.mjs +0 -4
  561. package/esm2022/components/line-clamp/line-clamp-box.component.mjs +0 -25
  562. package/esm2022/components/line-clamp/line-clamp-position.directive.mjs +0 -27
  563. package/esm2022/components/line-clamp/line-clamp.component.mjs +0 -95
  564. package/esm2022/components/line-clamp/line-clamp.options.mjs +0 -15
  565. package/esm2022/components/line-clamp/taiga-ui-kit-components-line-clamp.mjs +0 -5
  566. package/esm2022/components/message/index.mjs +0 -2
  567. package/esm2022/components/message/message.directive.mjs +0 -43
  568. package/esm2022/components/message/taiga-ui-kit-components-message.mjs +0 -5
  569. package/esm2022/components/multi-select/index.mjs +0 -6
  570. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +0 -50
  571. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +0 -18
  572. package/esm2022/components/multi-select/multi-select-native/multi-select-native.component.mjs +0 -56
  573. package/esm2022/components/multi-select/multi-select-option/multi-select-option.component.mjs +0 -47
  574. package/esm2022/components/multi-select/multi-select.mjs +0 -9
  575. package/esm2022/components/multi-select/taiga-ui-kit-components-multi-select.mjs +0 -5
  576. package/esm2022/components/pager/index.mjs +0 -2
  577. package/esm2022/components/pager/pager.component.mjs +0 -97
  578. package/esm2022/components/pager/taiga-ui-kit-components-pager.mjs +0 -5
  579. package/esm2022/components/pagination/index.mjs +0 -2
  580. package/esm2022/components/pagination/pagination.component.mjs +0 -213
  581. package/esm2022/components/pagination/taiga-ui-kit-components-pagination.mjs +0 -5
  582. package/esm2022/components/pdf-viewer/index.mjs +0 -5
  583. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +0 -28
  584. package/esm2022/components/pdf-viewer/pdf-viewer.directive.mjs +0 -21
  585. package/esm2022/components/pdf-viewer/pdf-viewer.options.mjs +0 -17
  586. package/esm2022/components/pdf-viewer/pdf-viewer.service.mjs +0 -22
  587. package/esm2022/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.mjs +0 -5
  588. package/esm2022/components/pin/index.mjs +0 -2
  589. package/esm2022/components/pin/pin.directive.mjs +0 -35
  590. package/esm2022/components/pin/taiga-ui-kit-components-pin.mjs +0 -5
  591. package/esm2022/components/preview/action/preview-action.directive.mjs +0 -30
  592. package/esm2022/components/preview/dialog/index.mjs +0 -4
  593. package/esm2022/components/preview/dialog/preview-dialog.component.mjs +0 -28
  594. package/esm2022/components/preview/dialog/preview-dialog.directive.mjs +0 -21
  595. package/esm2022/components/preview/dialog/preview-dialog.service.mjs +0 -18
  596. package/esm2022/components/preview/dialog/taiga-ui-kit-components-preview-dialog.mjs +0 -5
  597. package/esm2022/components/preview/index.mjs +0 -8
  598. package/esm2022/components/preview/pagination/preview-pagination.component.mjs +0 -49
  599. package/esm2022/components/preview/preview.component.mjs +0 -142
  600. package/esm2022/components/preview/preview.mjs +0 -13
  601. package/esm2022/components/preview/taiga-ui-kit-components-preview.mjs +0 -5
  602. package/esm2022/components/preview/title/preview-title.component.mjs +0 -16
  603. package/esm2022/components/preview/zoom/preview-zoom.component.mjs +0 -81
  604. package/esm2022/components/progress/index.mjs +0 -9
  605. package/esm2022/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.mjs +0 -39
  606. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +0 -25
  607. package/esm2022/components/progress/progress-bar/progress-color-segments.directive.mjs +0 -40
  608. package/esm2022/components/progress/progress-circle/progress-circle.component.mjs +0 -45
  609. package/esm2022/components/progress/progress-label/progress-label.component.mjs +0 -12
  610. package/esm2022/components/progress/progress-segmented/progress-segmented.directive.mjs +0 -34
  611. package/esm2022/components/progress/progress.mjs +0 -15
  612. package/esm2022/components/progress/progress.options.mjs +0 -13
  613. package/esm2022/components/progress/taiga-ui-kit-components-progress.mjs +0 -5
  614. package/esm2022/components/pulse/index.mjs +0 -2
  615. package/esm2022/components/pulse/pulse.component.mjs +0 -34
  616. package/esm2022/components/pulse/taiga-ui-kit-components-pulse.mjs +0 -5
  617. package/esm2022/components/push/index.mjs +0 -7
  618. package/esm2022/components/push/push-alert.component.mjs +0 -29
  619. package/esm2022/components/push/push.component.mjs +0 -39
  620. package/esm2022/components/push/push.directive.mjs +0 -33
  621. package/esm2022/components/push/push.mjs +0 -5
  622. package/esm2022/components/push/push.options.mjs +0 -21
  623. package/esm2022/components/push/push.service.mjs +0 -19
  624. package/esm2022/components/push/taiga-ui-kit-components-push.mjs +0 -5
  625. package/esm2022/components/radio/index.mjs +0 -5
  626. package/esm2022/components/radio/radio.component.mjs +0 -53
  627. package/esm2022/components/radio/radio.directive.mjs +0 -32
  628. package/esm2022/components/radio/radio.mjs +0 -4
  629. package/esm2022/components/radio/radio.options.mjs +0 -13
  630. package/esm2022/components/radio/taiga-ui-kit-components-radio.mjs +0 -5
  631. package/esm2022/components/radio-list/index.mjs +0 -2
  632. package/esm2022/components/radio-list/radio-list.component.mjs +0 -64
  633. package/esm2022/components/radio-list/taiga-ui-kit-components-radio-list.mjs +0 -5
  634. package/esm2022/components/range/index.mjs +0 -3
  635. package/esm2022/components/range/range-change.directive.mjs +0 -78
  636. package/esm2022/components/range/range.component.mjs +0 -164
  637. package/esm2022/components/range/taiga-ui-kit-components-range.mjs +0 -5
  638. package/esm2022/components/rating/index.mjs +0 -3
  639. package/esm2022/components/rating/rating.component.mjs +0 -65
  640. package/esm2022/components/rating/rating.options.mjs +0 -13
  641. package/esm2022/components/rating/taiga-ui-kit-components-rating.mjs +0 -5
  642. package/esm2022/components/routable-dialog/generate-dialogable-route.mjs +0 -17
  643. package/esm2022/components/routable-dialog/index.mjs +0 -3
  644. package/esm2022/components/routable-dialog/routable-dialog.component.mjs +0 -53
  645. package/esm2022/components/routable-dialog/taiga-ui-kit-components-routable-dialog.mjs +0 -5
  646. package/esm2022/components/segmented/index.mjs +0 -3
  647. package/esm2022/components/segmented/segmented.component.mjs +0 -67
  648. package/esm2022/components/segmented/segmented.directive.mjs +0 -65
  649. package/esm2022/components/segmented/taiga-ui-kit-components-segmented.mjs +0 -5
  650. package/esm2022/components/select/index.mjs +0 -5
  651. package/esm2022/components/select/native-select/native-select.component.mjs +0 -57
  652. package/esm2022/components/select/select-option/select-option.component.mjs +0 -51
  653. package/esm2022/components/select/select.directive.mjs +0 -56
  654. package/esm2022/components/select/select.mjs +0 -4
  655. package/esm2022/components/select/taiga-ui-kit-components-select.mjs +0 -5
  656. package/esm2022/components/slider/helpers/key-steps.mjs +0 -36
  657. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +0 -110
  658. package/esm2022/components/slider/helpers/slider-readonly.directive.mjs +0 -75
  659. package/esm2022/components/slider/helpers/slider-thumb-label.component.mjs +0 -38
  660. package/esm2022/components/slider/index.mjs +0 -8
  661. package/esm2022/components/slider/slider.component.mjs +0 -124
  662. package/esm2022/components/slider/slider.mjs +0 -12
  663. package/esm2022/components/slider/slider.options.mjs +0 -16
  664. package/esm2022/components/slider/taiga-ui-kit-components-slider.mjs +0 -5
  665. package/esm2022/components/slides/index.mjs +0 -2
  666. package/esm2022/components/slides/slides.directive.mjs +0 -51
  667. package/esm2022/components/slides/taiga-ui-kit-components-slides.mjs +0 -5
  668. package/esm2022/components/status/index.mjs +0 -2
  669. package/esm2022/components/status/status.directive.mjs +0 -35
  670. package/esm2022/components/status/taiga-ui-kit-components-status.mjs +0 -5
  671. package/esm2022/components/stepper/index.mjs +0 -4
  672. package/esm2022/components/stepper/step.component.mjs +0 -58
  673. package/esm2022/components/stepper/stepper.component.mjs +0 -118
  674. package/esm2022/components/stepper/stepper.mjs +0 -4
  675. package/esm2022/components/stepper/taiga-ui-kit-components-stepper.mjs +0 -5
  676. package/esm2022/components/switch/index.mjs +0 -3
  677. package/esm2022/components/switch/switch.component.mjs +0 -63
  678. package/esm2022/components/switch/switch.options.mjs +0 -15
  679. package/esm2022/components/switch/taiga-ui-kit-components-switch.mjs +0 -5
  680. package/esm2022/components/tabs/index.mjs +0 -9
  681. package/esm2022/components/tabs/tab.directive.mjs +0 -47
  682. package/esm2022/components/tabs/tabs-horizontal.directive.mjs +0 -108
  683. package/esm2022/components/tabs/tabs-vertical.directive.mjs +0 -38
  684. package/esm2022/components/tabs/tabs-with-more.component.mjs +0 -211
  685. package/esm2022/components/tabs/tabs.directive.mjs +0 -79
  686. package/esm2022/components/tabs/tabs.mjs +0 -15
  687. package/esm2022/components/tabs/tabs.options.mjs +0 -19
  688. package/esm2022/components/tabs/tabs.providers.mjs +0 -35
  689. package/esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs +0 -5
  690. package/esm2022/components/taiga-ui-kit-components.mjs +0 -5
  691. package/esm2022/components/textarea/index.mjs +0 -4
  692. package/esm2022/components/textarea/taiga-ui-kit-components-textarea.mjs +0 -5
  693. package/esm2022/components/textarea/textarea-limit.directive.mjs +0 -94
  694. package/esm2022/components/textarea/textarea.component.mjs +0 -58
  695. package/esm2022/components/textarea/textarea.options.mjs +0 -7
  696. package/esm2022/components/tiles/index.mjs +0 -7
  697. package/esm2022/components/tiles/taiga-ui-kit-components-tiles.mjs +0 -5
  698. package/esm2022/components/tiles/tile-handle.directive.mjs +0 -60
  699. package/esm2022/components/tiles/tile.component.mjs +0 -69
  700. package/esm2022/components/tiles/tile.service.mjs +0 -90
  701. package/esm2022/components/tiles/tiles.component.mjs +0 -70
  702. package/esm2022/components/tiles/tiles.mjs +0 -5
  703. package/esm2022/components/tiles/tiles.tokens.mjs +0 -37
  704. package/esm2022/components/tree/components/tree/tree.component.mjs +0 -64
  705. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +0 -63
  706. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +0 -44
  707. package/esm2022/components/tree/directives/tree-children.directive.mjs +0 -24
  708. package/esm2022/components/tree/directives/tree-controller.directive.mjs +0 -57
  709. package/esm2022/components/tree/directives/tree-item-controller.directive.mjs +0 -32
  710. package/esm2022/components/tree/directives/tree-node.directive.mjs +0 -32
  711. package/esm2022/components/tree/index.mjs +0 -12
  712. package/esm2022/components/tree/misc/tree.constants.mjs +0 -9
  713. package/esm2022/components/tree/misc/tree.interfaces.mjs +0 -2
  714. package/esm2022/components/tree/misc/tree.service.mjs +0 -31
  715. package/esm2022/components/tree/misc/tree.tokens.mjs +0 -43
  716. package/esm2022/components/tree/taiga-ui-kit-components-tree.mjs +0 -5
  717. package/esm2022/components/tree/tree.mjs +0 -17
  718. package/esm2022/directives/button-close/button-close.directive.mjs +0 -33
  719. package/esm2022/directives/button-close/index.mjs +0 -2
  720. package/esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs +0 -5
  721. package/esm2022/directives/button-group/button-group.directive.mjs +0 -29
  722. package/esm2022/directives/button-group/index.mjs +0 -2
  723. package/esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs +0 -5
  724. package/esm2022/directives/button-select/button-select.directive.mjs +0 -48
  725. package/esm2022/directives/button-select/index.mjs +0 -2
  726. package/esm2022/directives/button-select/taiga-ui-kit-directives-button-select.mjs +0 -5
  727. package/esm2022/directives/chevron/chevron.directive.mjs +0 -45
  728. package/esm2022/directives/chevron/index.mjs +0 -2
  729. package/esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs +0 -5
  730. package/esm2022/directives/connected/connected.directive.mjs +0 -32
  731. package/esm2022/directives/connected/index.mjs +0 -2
  732. package/esm2022/directives/connected/taiga-ui-kit-directives-connected.mjs +0 -5
  733. package/esm2022/directives/copy/copy.component.mjs +0 -48
  734. package/esm2022/directives/copy/copy.directive.mjs +0 -71
  735. package/esm2022/directives/copy/copy.mjs +0 -4
  736. package/esm2022/directives/copy/copy.options.mjs +0 -3
  737. package/esm2022/directives/copy/index.mjs +0 -6
  738. package/esm2022/directives/copy/taiga-ui-kit-directives-copy.mjs +0 -5
  739. package/esm2022/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.mjs +0 -105
  740. package/esm2022/directives/data-list-dropdown-manager/index.mjs +0 -2
  741. package/esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +0 -5
  742. package/esm2022/directives/fade/fade.directive.mjs +0 -92
  743. package/esm2022/directives/fade/index.mjs +0 -2
  744. package/esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs +0 -5
  745. package/esm2022/directives/fluid-typography/fluid-typography.directive.mjs +0 -63
  746. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +0 -13
  747. package/esm2022/directives/fluid-typography/index.mjs +0 -3
  748. package/esm2022/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.mjs +0 -5
  749. package/esm2022/directives/highlight/highlight.directive.mjs +0 -92
  750. package/esm2022/directives/highlight/index.mjs +0 -2
  751. package/esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs +0 -5
  752. package/esm2022/directives/icon-badge/icon-badge.directive.mjs +0 -41
  753. package/esm2022/directives/icon-badge/index.mjs +0 -2
  754. package/esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs +0 -5
  755. package/esm2022/directives/index.mjs +0 -21
  756. package/esm2022/directives/lazy-loading/index.mjs +0 -3
  757. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +0 -58
  758. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +0 -23
  759. package/esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs +0 -5
  760. package/esm2022/directives/password/index.mjs +0 -3
  761. package/esm2022/directives/password/password.directive.mjs +0 -67
  762. package/esm2022/directives/password/password.options.mjs +0 -8
  763. package/esm2022/directives/password/taiga-ui-kit-directives-password.mjs +0 -5
  764. package/esm2022/directives/present/index.mjs +0 -2
  765. package/esm2022/directives/present/present.directive.mjs +0 -33
  766. package/esm2022/directives/present/taiga-ui-kit-directives-present.mjs +0 -5
  767. package/esm2022/directives/sensitive/index.mjs +0 -2
  768. package/esm2022/directives/sensitive/sensitive.directive.mjs +0 -48
  769. package/esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs +0 -5
  770. package/esm2022/directives/shimmer/index.mjs +0 -2
  771. package/esm2022/directives/shimmer/shimmer.directive.mjs +0 -68
  772. package/esm2022/directives/shimmer/taiga-ui-kit-directives-shimmer.mjs +0 -5
  773. package/esm2022/directives/skeleton/index.mjs +0 -2
  774. package/esm2022/directives/skeleton/skeleton.directive.mjs +0 -69
  775. package/esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs +0 -5
  776. package/esm2022/directives/taiga-ui-kit-directives.mjs +0 -5
  777. package/esm2022/directives/tooltip/index.mjs +0 -3
  778. package/esm2022/directives/tooltip/taiga-ui-kit-directives-tooltip.mjs +0 -5
  779. package/esm2022/directives/tooltip/tooltip.directive.mjs +0 -92
  780. package/esm2022/directives/tooltip/tooltip.options.mjs +0 -6
  781. package/esm2022/directives/unfinished-validator/index.mjs +0 -3
  782. package/esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs +0 -5
  783. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +0 -36
  784. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +0 -7
  785. package/esm2022/directives/unmask-handler/index.mjs +0 -2
  786. package/esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs +0 -5
  787. package/esm2022/directives/unmask-handler/unmask-handler.directive.mjs +0 -35
  788. package/esm2022/index.mjs +0 -6
  789. package/esm2022/pipes/emails/emails.options.mjs +0 -13
  790. package/esm2022/pipes/emails/emails.pipe.mjs +0 -26
  791. package/esm2022/pipes/emails/index.mjs +0 -3
  792. package/esm2022/pipes/emails/taiga-ui-kit-pipes-emails.mjs +0 -5
  793. package/esm2022/pipes/field-error/field-error-content-pipe.mjs +0 -42
  794. package/esm2022/pipes/field-error/field-error-pipe.mjs +0 -103
  795. package/esm2022/pipes/field-error/index.mjs +0 -3
  796. package/esm2022/pipes/field-error/taiga-ui-kit-pipes-field-error.mjs +0 -5
  797. package/esm2022/pipes/filter-by-input/filter-by-input.pipe.mjs +0 -68
  798. package/esm2022/pipes/filter-by-input/index.mjs +0 -2
  799. package/esm2022/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.mjs +0 -5
  800. package/esm2022/pipes/hide-selected/hide-selected.pipe.mjs +0 -46
  801. package/esm2022/pipes/hide-selected/index.mjs +0 -2
  802. package/esm2022/pipes/hide-selected/taiga-ui-kit-pipes-hide-selected.mjs +0 -5
  803. package/esm2022/pipes/index.mjs +0 -8
  804. package/esm2022/pipes/sort-countries/index.mjs +0 -2
  805. package/esm2022/pipes/sort-countries/sort-countries.pipe.mjs +0 -23
  806. package/esm2022/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.mjs +0 -5
  807. package/esm2022/pipes/stringify/index.mjs +0 -2
  808. package/esm2022/pipes/stringify/stringify.pipe.mjs +0 -18
  809. package/esm2022/pipes/stringify/taiga-ui-kit-pipes-stringify.mjs +0 -5
  810. package/esm2022/pipes/stringify-content/index.mjs +0 -2
  811. package/esm2022/pipes/stringify-content/stringify-content.pipe.mjs +0 -18
  812. package/esm2022/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.mjs +0 -5
  813. package/esm2022/pipes/taiga-ui-kit-pipes.mjs +0 -5
  814. package/esm2022/taiga-ui-kit.mjs +0 -5
  815. package/esm2022/tokens/calendar-date-stream.mjs +0 -25
  816. package/esm2022/tokens/date-inputs-value-transformers.mjs +0 -21
  817. package/esm2022/tokens/i18n.mjs +0 -75
  818. package/esm2022/tokens/index.mjs +0 -10
  819. package/esm2022/tokens/input-date-options.mjs +0 -13
  820. package/esm2022/tokens/items-handlers.mjs +0 -27
  821. package/esm2022/tokens/mobile-calendar.mjs +0 -13
  822. package/esm2022/tokens/month-formatter.mjs +0 -12
  823. package/esm2022/tokens/preview-icons.mjs +0 -17
  824. package/esm2022/tokens/taiga-ui-kit-tokens.mjs +0 -5
  825. package/esm2022/tokens/validation-errors.mjs +0 -6
  826. package/esm2022/utils/create-time-periods.mjs +0 -12
  827. package/esm2022/utils/index.mjs +0 -7
  828. package/esm2022/utils/inject-value.mjs +0 -11
  829. package/esm2022/utils/is-flat.mjs +0 -4
  830. package/esm2022/utils/maskito.binding.mjs +0 -6
  831. package/esm2022/utils/phone.mjs +0 -6
  832. package/esm2022/utils/taiga-ui-kit-utils.mjs +0 -5
  833. package/esm2022/utils/toggle-day.mjs +0 -6
  834. package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -96
  835. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
  836. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  837. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  838. package/fesm2022/taiga-ui-kit-directives-copy.mjs +0 -120
  839. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  840. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +0 -47
  841. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +0 -1
  842. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
  843. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
  844. package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
  845. package/pipes/field-error/field-error-pipe.d.ts +0 -29
  846. package/pipes/field-error/index.d.ts +0 -2
  847. package/tokens/validation-errors.d.ts +0 -5
  848. /package/{directives → components}/copy/copy.d.ts +0 -0
  849. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-slider.mjs","sources":["../../../projects/kit/components/input-slider/input-slider.directive.ts","../../../projects/kit/components/input-slider/input-slider.ts","../../../projects/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n TuiNonNullableValueTransformer,\n TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiInjectAuxiliary} from '@taiga-ui/core/components/textfield';\nimport {\n TuiInputNumberDirective,\n tuiInputNumberOptionsProvider,\n TuiWithQuantumValueTransformer,\n} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {filter, fromEvent} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputSlider]',\n providers: [\n tuiInputNumberOptionsProvider({\n valueTransformer: new TuiNonNullableValueTransformer(),\n }),\n ],\n hostDirectives: [\n {\n directive: TuiInputNumberDirective,\n inputs: ['min', 'max', 'prefix', 'postfix', 'invalid', 'readOnly'],\n },\n TuiWithQuantumValueTransformer,\n ],\n host: {\n '(blur)': 'inputNumber.setValue(value() ?? null)',\n '(keydown.arrowUp)': 'onStep(1)',\n '(keydown.arrowDown)': 'onStep(-1)',\n },\n})\nexport class TuiInputSliderDirective {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly element = tuiInjectElement<HTMLInputElement>();\n private readonly slider = tuiInjectAuxiliary<TuiSliderComponent>(\n (x) => x instanceof TuiSliderComponent,\n );\n\n private readonly controlTransformer = inject<\n TuiValueTransformer<number | null, number>\n >(TuiValueTransformer, {self: true});\n\n private readonly keyStepsTransformer = computed(\n () => this.slider()?.keySteps?.transformer() ?? TUI_IDENTITY_VALUE_TRANSFORMER,\n );\n\n protected readonly inputNumber = inject(TuiInputNumberDirective, {self: true});\n protected readonly value = computed(() =>\n this.controlTransformer.toControlValue(this.inputNumber.value()),\n );\n\n protected readonly nothing = tuiWithStyles(TuiInputSliderStyles);\n\n protected readonly textfieldToSliderSync = effect(() => {\n const slider = this.slider();\n\n if (!slider) {\n return;\n }\n\n if (\n slider.keySteps?.transformer() &&\n Number.isFinite(slider.keySteps?.totalSteps)\n ) {\n // TODO(v5): move all if-condition body inside `TuiSliderKeyStepsBase`\n slider.min = 0;\n slider.step = 1;\n slider.max = slider.keySteps?.totalSteps ?? 100;\n } else {\n slider.min = this.inputNumber.min();\n slider.max = this.inputNumber.max();\n }\n\n slider.value = this.keyStepsTransformer().fromControlValue(this.value());\n slider.el.disabled = !this.inputNumber.interactive();\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly sliderInitEffect = effect((onCleanup) => {\n const slider = this.slider();\n\n if (!slider) {\n return;\n }\n\n slider.el.style.setProperty('--tui-slider-track-color', 'transparent');\n\n if (slider.keySteps) {\n slider.keySteps.value = this.value;\n }\n\n const subscription = fromEvent(slider.el, 'input', (x) => x.target)\n .pipe(filter(tuiIsElement), filter(tuiIsInput))\n .subscribe((x) => this.onSliderInput(x.valueAsNumber));\n\n onCleanup(() => subscription.unsubscribe());\n });\n\n protected onStep(coefficient: number): void {\n const slider = this.slider();\n\n if (slider && this.inputNumber.interactive()) {\n const newValue = tuiClamp(\n slider.keySteps?.takeStep(coefficient) ??\n slider.value + coefficient * slider.step,\n this.inputNumber.min(),\n this.inputNumber.max(),\n );\n\n this.inputNumber.setValue(newValue);\n }\n }\n\n private onSliderInput(value: number): void {\n this.inputNumber.setValue(this.keyStepsTransformer().toControlValue(value));\n\n if (!this.isMobile) {\n this.element.focus();\n }\n }\n}\n\n@Component({\n standalone: true,\n template: '',\n styles: [\n // TODO: tui-textfield:has([tuiInputSlider]) .t-clear\n 'tui-textfield [tuiInputSlider] ~ .t-content .t-clear {display: none !important}',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-input-slider',\n },\n})\nclass TuiInputSliderStyles {}\n","import {\n TuiSliderComponent,\n TuiSliderKeySteps,\n TuiSliderKeyStepsBase,\n} from '@taiga-ui/kit/components/slider';\n\nimport {TuiInputSliderDirective} from './input-slider.directive';\n\nexport const TuiInputSlider = [\n TuiSliderComponent,\n TuiSliderKeyStepsBase,\n TuiSliderKeySteps,\n TuiInputSliderDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA4BA,MAqBa,uBAAuB,CAAA;AArBpC,IAAA,WAAA,GAAA;AAsBqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACjC,IAAO,CAAA,OAAA,GAAG,gBAAgB,EAAoB,CAAC;AAC/C,QAAA,IAAA,CAAA,MAAM,GAAG,kBAAkB,CACxC,CAAC,CAAC,KAAK,CAAC,YAAY,kBAAkB,CACzC,CAAC;QAEe,IAAkB,CAAA,kBAAA,GAAG,MAAM,CAE1C,mBAAmB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAEpB,QAAA,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,8BAA8B,CACjF,CAAC;QAEiB,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAC5D,IAAK,CAAA,KAAA,GAAG,QAAQ,CAAC,MAChC,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CACnE,CAAC;AAEiB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE9C,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,MAAK;AACnD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE7B,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;AACV,aAAA;AAED,YAAA,IACI,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;gBAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC9C;;AAEE,gBAAA,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;AACf,gBAAA,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,GAAG,CAAC;AACnD,aAAA;AAAM,iBAAA;gBACH,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AACvC,aAAA;AAED,YAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACzE,YAAA,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;SACxD,EAAE,uBAAuB,CAAC,CAAC;AAET,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,CAAC,SAAS,KAAI;AACvD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAE7B,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;AACV,aAAA;YAED,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;YAEvE,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACtC,aAAA;AAED,YAAA,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;iBAC9D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9C,iBAAA,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAE3D,SAAS,CAAC,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;AAwBN,KAAA;AAtBa,IAAA,MAAM,CAAC,WAAmB,EAAA;AAChC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE7B,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CACrB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;gBAClC,MAAM,CAAC,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC,IAAI,EAC5C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,EACtB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CACzB,CAAC;AAEF,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,SAAA;KACJ;AAEO,IAAA,aAAa,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAE5E,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACxB,SAAA;KACJ;+GAvFQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAlBrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,uCAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,6BAA6B,CAAC;gBAC1B,gBAAgB,EAAE,IAAI,8BAA8B,EAAE;aACzD,CAAC;AACL,SAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAcQ,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBArBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,SAAS,EAAE;AACP,wBAAA,6BAA6B,CAAC;4BAC1B,gBAAgB,EAAE,IAAI,8BAA8B,EAAE;yBACzD,CAAC;AACL,qBAAA;AACD,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,uBAAuB;AAClC,4BAAA,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;AACrE,yBAAA;wBACD,8BAA8B;AACjC,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,uCAAuC;AACjD,wBAAA,mBAAmB,EAAE,WAAW;AAChC,wBAAA,qBAAqB,EAAE,YAAY;AACtC,qBAAA;AACJ,iBAAA,CAAA;;AA2FD,MAaM,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,sHAXZ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAWV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbzB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAKG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,kBAAkB;AAC5B,qBAAA,EAAA,MAAA,EAAA,CAAA,8EAAA,CAAA,EAAA,CAAA;;;AC9IQ,MAAA,cAAc,GAAG;IAC1B,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;;;ACZ3B;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-slider.mjs","sources":["../../../projects/kit/components/input-slider/input-slider.directive.ts","../../../projects/kit/components/input-slider/input-slider.ts","../../../projects/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiNonNullableValueTransformer, TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiInjectAuxiliary} from '@taiga-ui/core/components/textfield';\nimport {\n TuiInputNumberDirective,\n tuiInputNumberOptionsProvider,\n TuiWithQuantumValueTransformer,\n} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {filter, fromEvent, switchMap, tap} from 'rxjs';\n\n@Component({\n template: '',\n styles: [\n // TODO: tui-textfield:has([tuiInputSlider]) .t-clear\n 'tui-textfield [tuiInputSlider] ~ .t-content .t-clear {display: none !important}',\n // TODO: tui-textfield:has([tuiInputSlider]) [tuiSlider]:disabled\n 'tui-textfield [tuiInputSlider] ~ [tuiSlider]:disabled {display: none}',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-input-slider'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'input[tuiInputSlider]',\n providers: [\n tuiInputNumberOptionsProvider({\n valueTransformer: new TuiNonNullableValueTransformer(),\n }),\n ],\n hostDirectives: [\n {\n directive: TuiInputNumberDirective,\n inputs: ['min', 'max', 'prefix', 'postfix', 'invalid', 'readOnly'],\n },\n TuiWithQuantumValueTransformer,\n ],\n host: {\n '(blur)': 'inputNumber.setValue(value() ?? null)',\n '(keydown.arrowUp)': 'onStep(1)',\n '(keydown.arrowDown)': 'onStep(-1)',\n },\n})\nexport class TuiInputSliderDirective {\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly slider = tuiInjectAuxiliary<TuiSliderComponent>(\n (x) => x instanceof TuiSliderComponent,\n );\n\n private readonly controlTransformer = inject<\n TuiValueTransformer<number | null, number>\n >(TuiValueTransformer, {self: true});\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly inputNumber = inject(TuiInputNumberDirective, {self: true});\n protected readonly value = computed(() =>\n this.controlTransformer.toControlValue(this.inputNumber.value()),\n );\n\n protected readonly textfieldToSliderSync = effect(() => {\n const slider = this.slider();\n\n if (!slider) {\n return;\n }\n\n if (!slider.keySteps?.transformer()) {\n slider.min = this.inputNumber.min();\n slider.max = this.inputNumber.max();\n slider.value = this.value();\n } else {\n slider.keySteps?.setControlValue(this.value());\n }\n\n slider.el.disabled = !this.inputNumber.interactive();\n });\n\n protected readonly sliderInitEffect = effect((onCleanup) => {\n const slider = this.slider();\n\n if (!slider) {\n return;\n }\n\n slider.el.style.setProperty('--tui-slider-track-color', 'transparent');\n slider.el.setAttribute('tabindex', '-1');\n\n if (slider.keySteps) {\n slider.keySteps.controlValue = this.value;\n }\n\n const subscription = fromEvent(slider.el, 'input')\n .pipe(\n tap(() =>\n this.inputNumber.setValue(\n slider.keySteps?.getControlValue() ?? slider.el.valueAsNumber,\n ),\n ),\n filter(() => !this.isMobile),\n switchMap(() =>\n fromEvent(this.el.ownerDocument, 'pointerup', {once: true}),\n ),\n )\n .subscribe(() => this.el.focus());\n\n onCleanup(() => subscription.unsubscribe());\n });\n\n protected onStep(coefficient: number): void {\n const slider = this.slider();\n\n if (slider && this.inputNumber.interactive()) {\n const newValue = tuiClamp(\n slider.keySteps?.takeStep(coefficient) ??\n slider.value + coefficient * slider.step,\n this.inputNumber.min(),\n this.inputNumber.max(),\n );\n\n this.inputNumber.setValue(newValue);\n }\n }\n}\n","import {\n TuiSliderComponent,\n TuiSliderKeySteps,\n TuiSliderKeyStepsBase,\n} from '@taiga-ui/kit/components/slider';\n\nimport {TuiInputSliderDirective} from './input-slider.directive';\n\nexport const TuiInputSlider = [\n TuiSliderComponent,\n TuiSliderKeyStepsBase,\n TuiSliderKeySteps,\n TuiInputSliderDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
- import { NgIf } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
- import { inject, signal, computed, untracked, Directive, Input, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, signal, computed, untracked, Input, Directive, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
4
3
  import { TuiControl, tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
5
4
  import { TuiTime } from '@taiga-ui/cdk/date-time';
6
5
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
7
6
  import * as i1 from '@taiga-ui/core/components/textfield';
8
- import { TuiTextfieldDirective, tuiTextfieldIconBinding, TuiTextfieldComponent, TuiWithNativePicker, tuiAsTextfieldAccessor, TuiWithTextfield, TuiTextfieldContent } from '@taiga-ui/core/components/textfield';
9
- import { toSignal } from '@angular/core/rxjs-interop';
7
+ import { TuiTextfieldDirective, tuiTextfieldIcon, TuiTextfieldComponent, TuiWithNativePicker, tuiAsTextfieldAccessor, TuiWithTextfield, TuiTextfieldContent } from '@taiga-ui/core/components/textfield';
10
8
  import * as i2 from '@maskito/angular';
11
9
  import { MaskitoDirective } from '@maskito/angular';
12
10
  import { maskitoTimeOptionsGenerator, maskitoSelectionChangeHandler, maskitoCaretGuard, maskitoAddOnFocusPlugin, maskitoRemoveOnBlurPlugin } from '@maskito/kit';
@@ -36,10 +34,10 @@ class TuiInputTimeDirective extends TuiControl {
36
34
  this.dropdown = inject(TuiDropdownDirective);
37
35
  this.open = tuiDropdownOpen();
38
36
  this.options = inject(TUI_INPUT_TIME_OPTIONS);
39
- this.fillers = toSignal(inject(TUI_TIME_TEXTS));
37
+ this.fillers = inject(TUI_TIME_TEXTS);
40
38
  this.prefix = signal('');
41
39
  this.postfix = signal('');
42
- this.icon = tuiTextfieldIconBinding(TUI_INPUT_TIME_OPTIONS);
40
+ this.icon = tuiTextfieldIcon(TUI_INPUT_TIME_OPTIONS);
43
41
  this.dropdownEnabled = tuiDropdownEnabled(computed(() => !this.native && this.interactive()));
44
42
  this.filler = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed((filler = this.fillers()?.[this.timeMode()] ?? '') => this.postfix() ? '' : this.prefix() + filler), {});
45
43
  this.mask = tuiMaskito(computed(() => this.computeMask({
@@ -100,6 +98,22 @@ class TuiInputTimeDirective extends TuiControl {
100
98
  toggle() {
101
99
  this.open.update((x) => !x);
102
100
  }
101
+ onBlur(valueWithAffixes) {
102
+ const value = valueWithAffixes
103
+ .replace(this.prefix(), '')
104
+ .replace(this.postfix(), '');
105
+ if (value && !this.value()) {
106
+ const time = TuiTime.fromString(value);
107
+ const newValue = this.accept.length
108
+ ? this.findNearestTime(time, this.accept)
109
+ : time;
110
+ this.control?.control?.updateValueAndValidity({ emitEvent: false });
111
+ this.onChange(newValue);
112
+ if (newValue) {
113
+ this.textfield.value.set(this.stringify(newValue));
114
+ }
115
+ }
116
+ }
103
117
  computeMask(params) {
104
118
  const options = maskitoTimeOptionsGenerator(params);
105
119
  const { mode, prefix, postfix } = params;
@@ -126,8 +140,8 @@ class TuiInputTimeDirective extends TuiControl {
126
140
  stringify(time) {
127
141
  return this.prefix() + (time?.toString(this.timeMode()) || '') + this.postfix();
128
142
  }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
130
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputTimeDirective, isStandalone: true, selector: "input[tuiInputTime]", inputs: { accept: "accept", modeSetter: ["mode", "modeSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { attributes: { "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
144
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiInputTimeDirective, isStandalone: true, selector: "input[tuiInputTime]", inputs: { accept: "accept", modeSetter: ["mode", "modeSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { attributes: { "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)", "blur": "onBlur($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
131
145
  tuiAsControl(TuiInputTimeDirective),
132
146
  tuiAsTextfieldAccessor(TuiInputTimeDirective),
133
147
  tuiAsAuxiliary(TuiInputTimeDirective),
@@ -135,7 +149,7 @@ class TuiInputTimeDirective extends TuiControl {
135
149
  tuiAsOptionContent(TuiSelectOption),
136
150
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
137
151
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeDirective, decorators: [{
152
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTimeDirective, decorators: [{
139
153
  type: Directive,
140
154
  args: [{
141
155
  standalone: true,
@@ -153,6 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
153
167
  '[disabled]': 'disabled()',
154
168
  '(click)': 'toggle()',
155
169
  '(input)': 'onInput($event.target.value)',
170
+ '(blur)': 'onBlur($event.target.value)',
156
171
  },
157
172
  }]
158
173
  }], propDecorators: { accept: [{
@@ -190,12 +205,13 @@ class TuiNativeTimePicker {
190
205
  const timeString = time ? time.toString('HH:MM:SS.MSS') : '';
191
206
  return dateString + timeString;
192
207
  }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
194
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeTimePicker, host: { properties: { "attr.list": "null" } }, ngImport: i0 }); }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNativeTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
209
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiNativeTimePicker, isStandalone: false, host: { properties: { "attr.list": "null" } }, ngImport: i0 }); }
195
210
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeTimePicker, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNativeTimePicker, decorators: [{
197
212
  type: Directive,
198
213
  args: [{
214
+ standalone: false,
199
215
  host: {
200
216
  '[attr.list]': 'null',
201
217
  },
@@ -213,12 +229,12 @@ class TuiInputTimeComponent extends TuiNativeTimePicker {
213
229
  setValue(value) {
214
230
  this.host.setValue(TuiTime.fromString(value));
215
231
  }
216
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
217
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputTimeComponent, isStandalone: true, selector: "input[tuiInputTime][type=\"time\"]", host: { attributes: { "ngSkipHydration": "true" } }, usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithNativePicker }], ngImport: i0, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
232
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
233
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiInputTimeComponent, isStandalone: true, selector: "input[tuiInputTime][type=\"time\"]", host: { attributes: { "ngSkipHydration": "true" } }, usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithNativePicker }], ngImport: i0, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
218
234
  }
219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
220
236
  type: Component,
221
- args: [{ standalone: true, selector: 'input[tuiInputTime][type="time"]', imports: [NgIf, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiWithNativePicker], host: { ngSkipHydration: 'true' }, template: "<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
237
+ args: [{ selector: 'input[tuiInputTime][type="time"]', imports: [TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiWithNativePicker], host: { ngSkipHydration: 'true' }, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputTime]~.t-content input[type=time]{position:absolute;right:0;left:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0}tui-textfield input[tuiInputTime]~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;inline-size:100%;block-size:100%}\n"] }]
222
238
  }] });
223
239
 
224
240
  const TuiInputTime = [TuiInputTimeDirective, TuiInputTimeComponent];
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-time.mjs","sources":["../../../projects/kit/components/input-time/input-time.options.ts","../../../projects/kit/components/input-time/input-time.directive.ts","../../../projects/kit/components/input-time/input-time.component.ts","../../../projects/kit/components/input-time/input-time.template.html","../../../projects/kit/components/input-time/input-time.ts","../../../projects/kit/components/input-time/taiga-ui-kit-components-input-time.ts"],"sourcesContent":["import {type MaskitoTimeParams} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {type TuiTime} from '@taiga-ui/cdk/date-time';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiInputTimeOptions\n extends Required<\n Pick<MaskitoTimeParams, 'mode' | 'timeSegmentMaxValues' | 'timeSegmentMinValues'>\n > {\n readonly icon: TuiHandler<TuiSizeL | TuiSizeS, string>;\n readonly valueTransformer: TuiValueTransformer<TuiTime | null, any> | null;\n}\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: () => '@tui.clock',\n mode: 'HH:MM',\n timeSegmentMaxValues: {},\n timeSegmentMinValues: {},\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_TIME_OPTIONS, tuiInputTimeOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, inject, Input, signal, untracked} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoAddOnFocusPlugin,\n maskitoCaretGuard,\n maskitoRemoveOnBlurPlugin,\n maskitoSelectionChangeHandler,\n type MaskitoTimeMode,\n maskitoTimeOptionsGenerator,\n type MaskitoTimeParams,\n} from '@maskito/kit';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {TuiTime} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {\n tuiAsTextfieldAccessor,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n tuiTextfieldIconBinding,\n TuiWithNativePicker,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n tuiDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\nimport {TUI_TIME_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_TIME_OPTIONS} from './input-time.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputTime]',\n providers: [\n tuiAsControl(TuiInputTimeDirective),\n tuiAsTextfieldAccessor(TuiInputTimeDirective),\n tuiAsAuxiliary(TuiInputTimeDirective),\n tuiValueTransformerFrom(TUI_INPUT_TIME_OPTIONS),\n tuiAsOptionContent(TuiSelectOption),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective],\n host: {\n inputmode: 'numeric',\n '[disabled]': 'disabled()',\n '(click)': 'toggle()',\n '(input)': 'onInput($event.target.value)',\n },\n})\nexport class TuiInputTimeDirective\n extends TuiControl<TuiTime | null>\n implements TuiTextfieldAccessor<TuiTime | null>\n{\n private readonly textfield = inject(TuiTextfieldDirective);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly open = tuiDropdownOpen();\n private readonly options = inject(TUI_INPUT_TIME_OPTIONS);\n private readonly fillers = toSignal(inject(TUI_TIME_TEXTS));\n private readonly prefix = signal('');\n private readonly postfix = signal('');\n\n protected readonly icon = tuiTextfieldIconBinding(TUI_INPUT_TIME_OPTIONS);\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly filler = tuiDirectiveBinding(\n TuiTextfieldComponent,\n 'fillerSetter',\n computed((filler = this.fillers()?.[this.timeMode()] ?? '') =>\n this.postfix() ? '' : this.prefix() + filler,\n ),\n {},\n );\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n this.computeMask({\n ...this.options,\n mode: this.timeMode(),\n step: this.interactive() && !this.dropdown._content() ? 1 : 0,\n prefix: this.prefix(),\n postfix: this.postfix(),\n }),\n ),\n );\n\n @Input()\n public accept: readonly TuiTime[] = [];\n\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && inject(TUI_IS_MOBILE);\n\n public readonly timeMode = signal(this.options.mode);\n\n // TODO(v5): use signal inputs\n @Input('mode')\n public set modeSetter(x: MaskitoTimeMode) {\n this.timeMode.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('prefix')\n public set prefixSetter(x: string) {\n this.prefix.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('postfix')\n public set postfixSetter(x: string) {\n this.postfix.set(x);\n }\n\n public setValue(value: TuiTime | null): void {\n this.onChange(value);\n\n if (value) {\n this.textfield.value.set(this.stringify(value));\n } else {\n this.textfield.setValue(value);\n }\n\n if (!value && this.dropdownEnabled()) {\n this.open.set(true);\n }\n }\n\n public override writeValue(value: TuiTime | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n untracked(() => this.textfield.value.set(this.stringify(this.value())));\n }\n }\n\n protected onInput(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n const time =\n value.length === this.timeMode().length ? TuiTime.fromString(value) : null;\n const newValue =\n this.accept.length && time ? this.findNearestTime(time, this.accept) : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue && newValue !== time) {\n this.textfield.value.set(this.stringify(newValue));\n }\n }\n\n protected toggle(): void {\n this.open.update((x) => !x);\n }\n\n private computeMask(params: Required<MaskitoTimeParams>): MaskitoOptions {\n const options = maskitoTimeOptionsGenerator(params);\n const {mode, prefix, postfix} = params;\n const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {\n element.inputMode =\n element.selectionStart! >= mode.indexOf(' AA') ? 'text' : 'numeric';\n });\n const caretGuardPlugin = maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]);\n\n return {\n ...options,\n plugins: options.plugins.concat(\n caretGuardPlugin,\n maskitoAddOnFocusPlugin(prefix + postfix),\n maskitoRemoveOnBlurPlugin(prefix + postfix),\n mode.includes('AA') ? inputModeSwitchPlugin : [],\n ),\n };\n }\n\n private findNearestTime(value: TuiTime, items: readonly TuiTime[]): TuiTime | null {\n // eslint-disable-next-line no-restricted-syntax\n return items.reduce((previous, current) =>\n Math.abs(current.valueOf() - value.valueOf()) <\n Math.abs(previous.valueOf() - value.valueOf())\n ? current\n : previous,\n );\n }\n\n private stringify(time: TuiTime | null): string {\n return this.prefix() + (time?.toString(this.timeMode()) || '') + this.postfix();\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type MaskitoTimeMode} from '@maskito/kit';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {type TuiDay, TuiTime} from '@taiga-ui/cdk/date-time';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TuiTextfieldContent,\n TuiTextfieldDirective,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputTimeDirective} from './input-time.directive';\n\n@Directive({\n host: {\n '[attr.list]': 'null',\n },\n})\nexport abstract class TuiNativeTimePicker {\n protected readonly list = tuiInjectElement().getAttribute('list');\n\n protected getStep(timeMode: MaskitoTimeMode): number {\n switch (timeMode) {\n case 'HH:MM:SS':\n case 'HH:MM:SS AA':\n return 1;\n case 'HH:MM:SS.MSS':\n case 'HH:MM:SS.MSS AA':\n return 0.001;\n default:\n return 60;\n }\n }\n\n protected toISOString(\n value: TuiTime | readonly [TuiDay, TuiTime | null] | null,\n ): string {\n const [day, time] = Array.isArray(value) ? value : [null, value];\n const dateString = day ? day.toJSON() + (time ? 'T' : '') : '';\n const timeString = time ? time.toString('HH:MM:SS.MSS') : '';\n\n return dateString + timeString;\n }\n}\n\n@Component({\n standalone: true,\n selector: 'input[tuiInputTime][type=\"time\"]',\n imports: [NgIf, TuiTextfieldContent],\n templateUrl: './input-time.template.html',\n styleUrls: ['./input-time.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithNativePicker],\n host: {ngSkipHydration: 'true'},\n})\nexport class TuiInputTimeComponent extends TuiNativeTimePicker {\n private readonly control: TuiControl<TuiTime | null> = inject(TuiControl);\n\n protected readonly host = inject(TuiInputTimeDirective);\n\n protected readonly textfield = inject(TuiTextfieldDirective);\n protected readonly value = computed(() => this.toISOString(this.control.value()));\n\n protected readonly step = computed(() => this.getStep(this.host.timeMode()));\n\n protected setValue(value: string): void {\n this.host.setValue(TuiTime.fromString(value));\n }\n}\n","<ng-container *ngIf=\"host.native\">\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n</ng-container>\n","import {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\n\nexport const TuiInputTime = [TuiInputTimeDirective, TuiInputTimeComponent] as const;\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-input-time.mjs","sources":["../../../projects/kit/components/input-time/input-time.options.ts","../../../projects/kit/components/input-time/input-time.directive.ts","../../../projects/kit/components/input-time/input-time.component.ts","../../../projects/kit/components/input-time/input-time.template.html","../../../projects/kit/components/input-time/input-time.ts","../../../projects/kit/components/input-time/taiga-ui-kit-components-input-time.ts"],"sourcesContent":["import {type MaskitoTimeParams} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {type TuiTime} from '@taiga-ui/cdk/date-time';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiInputTimeOptions\n extends Required<\n Pick<MaskitoTimeParams, 'mode' | 'timeSegmentMaxValues' | 'timeSegmentMinValues'>\n > {\n readonly icon: TuiHandler<TuiSizeL | TuiSizeS, string>;\n readonly valueTransformer: TuiValueTransformer<TuiTime | null, any> | null;\n}\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: () => '@tui.clock',\n mode: 'HH:MM',\n timeSegmentMaxValues: {},\n timeSegmentMinValues: {},\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_TIME_OPTIONS, tuiInputTimeOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, inject, Input, signal, untracked} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoAddOnFocusPlugin,\n maskitoCaretGuard,\n maskitoRemoveOnBlurPlugin,\n maskitoSelectionChangeHandler,\n type MaskitoTimeMode,\n maskitoTimeOptionsGenerator,\n type MaskitoTimeParams,\n} from '@maskito/kit';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {TuiTime} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {\n tuiAsTextfieldAccessor,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n tuiTextfieldIcon,\n TuiWithNativePicker,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n tuiDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\nimport {TUI_TIME_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_TIME_OPTIONS} from './input-time.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputTime]',\n providers: [\n tuiAsControl(TuiInputTimeDirective),\n tuiAsTextfieldAccessor(TuiInputTimeDirective),\n tuiAsAuxiliary(TuiInputTimeDirective),\n tuiValueTransformerFrom(TUI_INPUT_TIME_OPTIONS),\n tuiAsOptionContent(TuiSelectOption),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective],\n host: {\n inputmode: 'numeric',\n '[disabled]': 'disabled()',\n '(click)': 'toggle()',\n '(input)': 'onInput($event.target.value)',\n '(blur)': 'onBlur($event.target.value)',\n },\n})\nexport class TuiInputTimeDirective\n extends TuiControl<TuiTime | null>\n implements TuiTextfieldAccessor<TuiTime | null>\n{\n private readonly textfield = inject(TuiTextfieldDirective);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly open = tuiDropdownOpen();\n private readonly options = inject(TUI_INPUT_TIME_OPTIONS);\n private readonly fillers = inject(TUI_TIME_TEXTS);\n private readonly prefix = signal('');\n private readonly postfix = signal('');\n\n protected readonly icon = tuiTextfieldIcon(TUI_INPUT_TIME_OPTIONS);\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly filler = tuiDirectiveBinding(\n TuiTextfieldComponent,\n 'fillerSetter',\n computed((filler = this.fillers()?.[this.timeMode()] ?? '') =>\n this.postfix() ? '' : this.prefix() + filler,\n ),\n {},\n );\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n this.computeMask({\n ...this.options,\n mode: this.timeMode(),\n step: this.interactive() && !this.dropdown._content() ? 1 : 0,\n prefix: this.prefix(),\n postfix: this.postfix(),\n }),\n ),\n );\n\n @Input()\n public accept: readonly TuiTime[] = [];\n\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && inject(TUI_IS_MOBILE);\n\n public readonly timeMode = signal(this.options.mode);\n\n // TODO(v5): use signal inputs\n @Input('mode')\n public set modeSetter(x: MaskitoTimeMode) {\n this.timeMode.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('prefix')\n public set prefixSetter(x: string) {\n this.prefix.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('postfix')\n public set postfixSetter(x: string) {\n this.postfix.set(x);\n }\n\n public setValue(value: TuiTime | null): void {\n this.onChange(value);\n\n if (value) {\n this.textfield.value.set(this.stringify(value));\n } else {\n this.textfield.setValue(value);\n }\n\n if (!value && this.dropdownEnabled()) {\n this.open.set(true);\n }\n }\n\n public override writeValue(value: TuiTime | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n untracked(() => this.textfield.value.set(this.stringify(this.value())));\n }\n }\n\n protected onInput(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n const time =\n value.length === this.timeMode().length ? TuiTime.fromString(value) : null;\n const newValue =\n this.accept.length && time ? this.findNearestTime(time, this.accept) : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue && newValue !== time) {\n this.textfield.value.set(this.stringify(newValue));\n }\n }\n\n protected toggle(): void {\n this.open.update((x) => !x);\n }\n\n protected onBlur(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n\n if (value && !this.value()) {\n const time = TuiTime.fromString(value);\n\n const newValue = this.accept.length\n ? this.findNearestTime(time, this.accept)\n : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue) {\n this.textfield.value.set(this.stringify(newValue));\n }\n }\n }\n\n private computeMask(params: Required<MaskitoTimeParams>): MaskitoOptions {\n const options = maskitoTimeOptionsGenerator(params);\n const {mode, prefix, postfix} = params;\n const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {\n element.inputMode =\n element.selectionStart! >= mode.indexOf(' AA') ? 'text' : 'numeric';\n });\n const caretGuardPlugin = maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]);\n\n return {\n ...options,\n plugins: options.plugins.concat(\n caretGuardPlugin,\n maskitoAddOnFocusPlugin(prefix + postfix),\n maskitoRemoveOnBlurPlugin(prefix + postfix),\n mode.includes('AA') ? inputModeSwitchPlugin : [],\n ),\n };\n }\n\n private findNearestTime(value: TuiTime, items: readonly TuiTime[]): TuiTime | null {\n // eslint-disable-next-line no-restricted-syntax\n return items.reduce((previous, current) =>\n Math.abs(current.valueOf() - value.valueOf()) <\n Math.abs(previous.valueOf() - value.valueOf())\n ? current\n : previous,\n );\n }\n\n private stringify(time: TuiTime | null): string {\n return this.prefix() + (time?.toString(this.timeMode()) || '') + this.postfix();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type MaskitoTimeMode} from '@maskito/kit';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {type TuiDay, TuiTime} from '@taiga-ui/cdk/date-time';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TuiTextfieldContent,\n TuiTextfieldDirective,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputTimeDirective} from './input-time.directive';\n\n@Directive({\n standalone: false,\n host: {\n '[attr.list]': 'null',\n },\n})\nexport abstract class TuiNativeTimePicker {\n protected readonly list = tuiInjectElement().getAttribute('list');\n\n protected getStep(timeMode: MaskitoTimeMode): number {\n switch (timeMode) {\n case 'HH:MM:SS':\n case 'HH:MM:SS AA':\n return 1;\n case 'HH:MM:SS.MSS':\n case 'HH:MM:SS.MSS AA':\n return 0.001;\n default:\n return 60;\n }\n }\n\n protected toISOString(\n value: TuiTime | readonly [TuiDay, TuiTime | null] | null,\n ): string {\n const [day, time] = Array.isArray(value) ? value : [null, value];\n const dateString = day ? day.toJSON() + (time ? 'T' : '') : '';\n const timeString = time ? time.toString('HH:MM:SS.MSS') : '';\n\n return dateString + timeString;\n }\n}\n\n@Component({\n selector: 'input[tuiInputTime][type=\"time\"]',\n imports: [TuiTextfieldContent],\n templateUrl: './input-time.template.html',\n styleUrl: './input-time.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithNativePicker],\n host: {ngSkipHydration: 'true'},\n})\nexport class TuiInputTimeComponent extends TuiNativeTimePicker {\n private readonly control: TuiControl<TuiTime | null> = inject(TuiControl);\n\n protected readonly host = inject(TuiInputTimeDirective);\n\n protected readonly textfield = inject(TuiTextfieldDirective);\n protected readonly value = computed(() => this.toISOString(this.control.value()));\n\n protected readonly step = computed(() => this.getStep(this.host.timeMode()));\n\n protected setValue(value: string): void {\n this.host.setValue(TuiTime.fromString(value));\n }\n}\n","@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n","import {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\n\nexport const TuiInputTime = [TuiInputTimeDirective, TuiInputTimeComponent] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import { TuiCalendarYear } from '@taiga-ui/core/components/calendar';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, computed, signal, effect, Directive, Input } from '@angular/core';
3
+ import { InjectionToken, inject, computed, signal, effect, Input, Directive } from '@angular/core';
4
4
  import * as i2 from '@maskito/angular';
5
5
  import { MaskitoDirective } from '@maskito/angular';
6
6
  import { maskitoNumberOptionsGenerator } from '@maskito/kit';
7
7
  import { TUI_IDENTITY_VALUE_TRANSFORMER, TuiControl, tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
8
- import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
9
8
  import * as i1 from '@taiga-ui/core/components/textfield';
10
- import { TuiTextfieldDirective, tuiInjectAuxiliary, tuiTextfieldIconBinding, TuiWithTextfield } from '@taiga-ui/core/components/textfield';
9
+ import { TuiTextfieldDirective, tuiInjectAuxiliary, tuiTextfieldIcon, TuiWithTextfield } from '@taiga-ui/core/components/textfield';
11
10
  import * as i3 from '@taiga-ui/core/directives/dropdown';
12
11
  import { tuiDropdownOpen, tuiDropdownEnabled, TuiDropdownAuto } from '@taiga-ui/core/directives/dropdown';
13
12
  import { tuiMaskito } from '@taiga-ui/kit/utils';
@@ -31,14 +30,14 @@ class TuiInputYearDirective extends TuiControl {
31
30
  this.initialItem = computed(() => this.value() ?? this.calendar()?.initialItem() ?? null);
32
31
  this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendarYear);
33
32
  this.dropdownEnabled = tuiDropdownEnabled(this.interactive);
34
- this.icon = tuiTextfieldIconBinding(TUI_INPUT_YEAR_OPTIONS);
33
+ this.icon = tuiTextfieldIcon(TUI_INPUT_YEAR_OPTIONS);
35
34
  this.min = signal(this.options.min.year);
36
35
  this.max = signal(this.options.max.year);
37
36
  /**
38
37
  * TODO: move to [value]="value()" after update to Angular 17+
39
38
  * something wrong with change detection on host binding
40
39
  */
41
- this.valueEffect = effect(() => this.textfield.value.set(this.value()?.toString() ?? ''), TUI_ALLOW_SIGNAL_WRITES);
40
+ this.valueEffect = effect(() => this.textfield.value.set(this.value()?.toString() ?? ''));
42
41
  this.mask = tuiMaskito(computed(() => maskitoNumberOptionsGenerator({
43
42
  min: this.min(),
44
43
  max: this.max(),
@@ -52,7 +51,7 @@ class TuiInputYearDirective extends TuiControl {
52
51
  calendar.min.set(this.min());
53
52
  calendar.max.set(this.max());
54
53
  }
55
- }, TUI_ALLOW_SIGNAL_WRITES);
54
+ });
56
55
  this.calendarOutEffect = effect((onCleanup) => {
57
56
  const subscription = this.calendar()?.yearClick.subscribe((year) => {
58
57
  this.onChange(year);
@@ -78,13 +77,13 @@ class TuiInputYearDirective extends TuiControl {
78
77
  const value = Number(raw);
79
78
  this.onChange(!raw || Number.isNaN(value) ? null : value);
80
79
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputYearDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputYearDirective, isStandalone: true, selector: "input[tuiInputYear]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { attributes: { "maxlength": "4", "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputYearDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiInputYearDirective, isStandalone: true, selector: "input[tuiInputYear]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { attributes: { "maxlength": "4", "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
83
82
  tuiAsControl(TuiInputYearDirective),
84
83
  tuiValueTransformerFrom(TUI_INPUT_YEAR_OPTIONS),
85
84
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
86
85
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputYearDirective, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputYearDirective, decorators: [{
88
87
  type: Directive,
89
88
  args: [{
90
89
  standalone: true,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-year.mjs","sources":["../../../projects/kit/components/input-year/input-year.options.ts","../../../projects/kit/components/input-year/input-year.directive.ts","../../../projects/kit/components/input-year/input-year.ts","../../../projects/kit/components/input-year/taiga-ui-kit-components-input-year.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW,\n TUI_INPUT_DATE_OPTIONS_NEW,\n type TuiInputDateOptionsNew,\n} from '@taiga-ui/kit/components/input-date';\n\nexport interface TuiInputYearOptions\n extends Omit<TuiInputDateOptionsNew, 'valueTransformer'> {\n readonly valueTransformer: TuiValueTransformer<number | null, any>;\n}\n\nexport const TUI_INPUT_YEAR_OPTIONS = new InjectionToken<TuiInputYearOptions>(\n ngDevMode ? 'TUI_INPUT_YEAR_OPTIONS' : '',\n {\n factory: () => ({\n ...inject(TUI_INPUT_DATE_OPTIONS_NEW),\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n }),\n },\n);\n\nexport const tuiInputInputYearOptionsProvider = (\n options: Partial<TuiInputYearOptions>,\n): FactoryProvider =>\n tuiProvideOptions(\n TUI_INPUT_YEAR_OPTIONS,\n options,\n TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW,\n );\n","import {computed, Directive, effect, inject, Input, signal} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoNumberOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\nimport {\n tuiInjectAuxiliary,\n TuiTextfieldDirective,\n tuiTextfieldIconBinding,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdownAuto,\n tuiDropdownEnabled,\n tuiDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_YEAR_OPTIONS} from './input-year.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputYear]',\n providers: [\n tuiAsControl(TuiInputYearDirective),\n tuiValueTransformerFrom(TUI_INPUT_YEAR_OPTIONS),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective, TuiDropdownAuto],\n host: {\n maxlength: '4',\n inputmode: 'numeric',\n '[disabled]': 'disabled()',\n '(click)': 'toggle()',\n '(input)': 'onInput($event.target.value)',\n },\n})\nexport class TuiInputYearDirective extends TuiControl<number | null> {\n private readonly options = inject(TUI_INPUT_YEAR_OPTIONS);\n private readonly textfield = inject(TuiTextfieldDirective);\n private readonly open = tuiDropdownOpen();\n\n private readonly initialItem = computed(\n () => this.value() ?? this.calendar()?.initialItem() ?? null,\n );\n\n protected readonly calendar = tuiInjectAuxiliary<TuiCalendarYear>(\n (x) => x instanceof TuiCalendarYear,\n );\n\n protected readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n protected readonly icon = tuiTextfieldIconBinding(TUI_INPUT_YEAR_OPTIONS);\n protected readonly min = signal(this.options.min.year);\n protected readonly max = signal(this.options.max.year);\n\n /**\n * TODO: move to [value]=\"value()\" after update to Angular 17+\n * something wrong with change detection on host binding\n */\n protected readonly valueEffect = effect(\n () => this.textfield.value.set(this.value()?.toString() ?? ''),\n TUI_ALLOW_SIGNAL_WRITES,\n );\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n maskitoNumberOptionsGenerator({\n min: this.min(),\n max: this.max(),\n thousandSeparator: '',\n }),\n ),\n );\n\n protected readonly calendarInEffect = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n calendar.initialItemSetter = this.initialItem();\n calendar.value.set(this.value());\n calendar.min.set(this.min());\n calendar.max.set(this.max());\n }\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly calendarOutEffect = effect((onCleanup) => {\n const subscription = this.calendar()?.yearClick.subscribe((year) => {\n this.onChange(year);\n this.open.set(false);\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n // TODO(v5): use signal inputs\n @Input('min')\n public set minSetter(x: number) {\n this.min.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('max')\n public set maxSetter(x: number) {\n this.max.set(x);\n }\n\n protected toggle(): void {\n if (this.interactive()) {\n this.open.update((x) => !x);\n }\n }\n\n protected onInput(raw: string): void {\n const value = Number(raw);\n\n this.onChange(!raw || Number.isNaN(value) ? null : value);\n }\n}\n","import {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\n\nimport {TuiInputYearDirective} from './input-year.directive';\n\nexport const TuiInputYear = [TuiInputYearDirective, TuiCalendarYear] as const;\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-input-year.mjs","sources":["../../../projects/kit/components/input-year/input-year.options.ts","../../../projects/kit/components/input-year/input-year.directive.ts","../../../projects/kit/components/input-year/input-year.ts","../../../projects/kit/components/input-year/taiga-ui-kit-components-input-year.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW,\n TUI_INPUT_DATE_OPTIONS_NEW,\n type TuiInputDateOptionsNew,\n} from '@taiga-ui/kit/components/input-date';\n\nexport interface TuiInputYearOptions\n extends Omit<TuiInputDateOptionsNew, 'valueTransformer'> {\n readonly valueTransformer: TuiValueTransformer<number | null, any>;\n}\n\nexport const TUI_INPUT_YEAR_OPTIONS = new InjectionToken<TuiInputYearOptions>(\n ngDevMode ? 'TUI_INPUT_YEAR_OPTIONS' : '',\n {\n factory: () => ({\n ...inject(TUI_INPUT_DATE_OPTIONS_NEW),\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n }),\n },\n);\n\nexport const tuiInputInputYearOptionsProvider = (\n options: Partial<TuiInputYearOptions>,\n): FactoryProvider =>\n tuiProvideOptions(\n TUI_INPUT_YEAR_OPTIONS,\n options,\n TUI_INPUT_DATE_DEFAULT_OPTIONS_NEW,\n );\n","import {computed, Directive, effect, inject, Input, signal} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoNumberOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\nimport {\n tuiInjectAuxiliary,\n TuiTextfieldDirective,\n tuiTextfieldIcon,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdownAuto,\n tuiDropdownEnabled,\n tuiDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_YEAR_OPTIONS} from './input-year.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputYear]',\n providers: [\n tuiAsControl(TuiInputYearDirective),\n tuiValueTransformerFrom(TUI_INPUT_YEAR_OPTIONS),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective, TuiDropdownAuto],\n host: {\n maxlength: '4',\n inputmode: 'numeric',\n '[disabled]': 'disabled()',\n '(click)': 'toggle()',\n '(input)': 'onInput($event.target.value)',\n },\n})\nexport class TuiInputYearDirective extends TuiControl<number | null> {\n private readonly options = inject(TUI_INPUT_YEAR_OPTIONS);\n private readonly textfield = inject(TuiTextfieldDirective);\n private readonly open = tuiDropdownOpen();\n\n private readonly initialItem = computed(\n () => this.value() ?? this.calendar()?.initialItem() ?? null,\n );\n\n protected readonly calendar = tuiInjectAuxiliary<TuiCalendarYear>(\n (x) => x instanceof TuiCalendarYear,\n );\n\n protected readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n protected readonly icon = tuiTextfieldIcon(TUI_INPUT_YEAR_OPTIONS);\n protected readonly min = signal(this.options.min.year);\n protected readonly max = signal(this.options.max.year);\n\n /**\n * TODO: move to [value]=\"value()\" after update to Angular 17+\n * something wrong with change detection on host binding\n */\n protected readonly valueEffect = effect(() =>\n this.textfield.value.set(this.value()?.toString() ?? ''),\n );\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n maskitoNumberOptionsGenerator({\n min: this.min(),\n max: this.max(),\n thousandSeparator: '',\n }),\n ),\n );\n\n protected readonly calendarInEffect = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n calendar.initialItemSetter = this.initialItem();\n calendar.value.set(this.value());\n calendar.min.set(this.min());\n calendar.max.set(this.max());\n }\n });\n\n protected readonly calendarOutEffect = effect((onCleanup) => {\n const subscription = this.calendar()?.yearClick.subscribe((year) => {\n this.onChange(year);\n this.open.set(false);\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n // TODO(v5): use signal inputs\n @Input('min')\n public set minSetter(x: number) {\n this.min.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('max')\n public set maxSetter(x: number) {\n this.max.set(x);\n }\n\n protected toggle(): void {\n if (this.interactive()) {\n this.open.update((x) => !x);\n }\n }\n\n protected onInput(raw: string): void {\n const value = Number(raw);\n\n this.onChange(!raw || Number.isNaN(value) ? null : value);\n }\n}\n","import {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\n\nimport {TuiInputYearDirective} from './input-year.directive';\n\nexport const TuiInputYear = [TuiInputYearDirective, TuiCalendarYear] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
- import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
2
+ import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Directive, Input, inject, Injectable, TemplateRef, Component, ChangeDetectionStrategy, ContentChildren, ContentChild, Output } from '@angular/core';
4
+ import { Input, Directive, inject, Injectable, TemplateRef, Output, ContentChild, ContentChildren, ChangeDetectionStrategy, Component } from '@angular/core';
5
5
  import { toSignal } from '@angular/core/rxjs-interop';
6
6
  import { MutationObserverService, WA_MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
7
7
  import { ResizeObserverService } from '@ng-web-apis/resize-observer';
@@ -30,10 +30,10 @@ class TuiItemsWithMoreDirective {
30
30
  maxWidth() {
31
31
  return Math.max(...Array.from(this.el.children, ({ clientWidth }) => clientWidth));
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiItemsWithMoreDirective, isStandalone: true, inputs: { itemsLimit: "itemsLimit", required: "required", linesLimit: "linesLimit", side: "side" }, host: { properties: { "class._multiline": "linesLimit > 1", "style.--t-min-width.px": "maxWidth()" } }, usesOnChanges: true, ngImport: i0 }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiItemsWithMoreDirective, isStandalone: true, inputs: { itemsLimit: "itemsLimit", required: "required", linesLimit: "linesLimit", side: "side" }, host: { properties: { "class._multiline": "linesLimit > 1", "style.--t-min-width.px": "maxWidth()" } }, usesOnChanges: true, ngImport: i0 }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreDirective, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreDirective, decorators: [{
37
37
  type: Directive,
38
38
  args: [{
39
39
  standalone: true,
@@ -120,21 +120,21 @@ class TuiItemsWithMoreService extends Observable {
120
120
  const index = firstItemLastRow + this.getOverflowIndex(lastRow);
121
121
  return Math.min(itemsLimit - 1, index);
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
124
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreService }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
124
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreService }); }
125
125
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreService, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreService, decorators: [{
127
127
  type: Injectable
128
- }], ctorParameters: function () { return []; } });
128
+ }], ctorParameters: () => [] });
129
129
 
130
130
  class TuiMore {
131
131
  static ngTemplateContextGuard(_dir, _ctx) {
132
132
  return true;
133
133
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiMore, isStandalone: true, selector: "[tuiMore]", ngImport: i0 }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiMore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiMore, isStandalone: true, selector: "[tuiMore]", ngImport: i0 }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiMore, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiMore, decorators: [{
138
138
  type: Directive,
139
139
  args: [{
140
140
  standalone: true,
@@ -161,8 +161,8 @@ class TuiItemsWithMoreComponent {
161
161
  return ((index > this.lastIndex() && index !== required && computedSide === 'end') ||
162
162
  (index < this.lastIndex() && index !== required && computedSide === 'start'));
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
165
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiItemsWithMoreComponent, isStandalone: true, selector: "tui-items-with-more", outputs: { lastIndexChange: "lastIndexChange" }, providers: [
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
165
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiItemsWithMoreComponent, isStandalone: true, selector: "tui-items-with-more", outputs: { lastIndexChange: "lastIndexChange" }, providers: [
166
166
  MutationObserverService,
167
167
  ResizeObserverService,
168
168
  TuiItemsWithMoreService,
@@ -174,11 +174,11 @@ class TuiItemsWithMoreComponent {
174
174
  subtree: true,
175
175
  },
176
176
  },
177
- ], queries: [{ propertyName: "more", first: true, predicate: TuiMore, descendants: true, read: TemplateRef }, { propertyName: "items", predicate: TuiItem, descendants: true, read: TemplateRef }], hostDirectives: [{ directive: TuiItemsWithMoreDirective, inputs: ["itemsLimit", "itemsLimit", "required", "required", "side", "side", "linesLimit", "linesLimit"] }], ngImport: i0, template: "<ng-container *ngIf=\"items.changes | async\" />\n<ng-container\n *ngIf=\"directive.side === 'start'\"\n [ngTemplateOutlet]=\"template\"\n/>\n<div\n *ngFor=\"let item of items; let index = index\"\n class=\"t-item\"\n [class.t-item_hidden]=\"isHidden(index)\"\n>\n <ng-container *ngTemplateOutlet=\"item\" />\n</div>\n<ng-container\n *ngIf=\"directive.side === 'end'\"\n [ngTemplateOutlet]=\"template\"\n/>\n<ng-template #template>\n <span\n *ngIf=\"!isMoreHidden\"\n class=\"t-item t-item_more\"\n >\n <ng-container\n [ngTemplateOutlet]=\"more || null\"\n [ngTemplateOutletContext]=\"{$implicit: lastIndex()}\"\n />\n </span>\n</ng-template>\n", styles: [":host{position:relative;display:flex;min-inline-size:0;flex:1;align-items:center;white-space:nowrap}:host._multiline{flex-wrap:wrap}.t-item{flex:0 0 auto}.t-item_hidden{position:absolute;bottom:0;visibility:hidden}:host._multiline .t-item_more:not(:empty){min-inline-size:var(--t-min-width, 0)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
177
+ ], queries: [{ propertyName: "more", first: true, predicate: TuiMore, descendants: true, read: TemplateRef }, { propertyName: "items", predicate: TuiItem, descendants: true, read: TemplateRef }], hostDirectives: [{ directive: TuiItemsWithMoreDirective, inputs: ["itemsLimit", "itemsLimit", "required", "required", "side", "side", "linesLimit", "linesLimit"] }], ngImport: i0, template: "@if (items.changes | async) {}\n@if (directive.side === 'start') {\n <ng-container [ngTemplateOutlet]=\"template\" />\n}\n@for (item of items; track item) {\n <div\n class=\"t-item\"\n [class.t-item_hidden]=\"isHidden($index)\"\n >\n <ng-container *ngTemplateOutlet=\"item\" />\n </div>\n}\n@if (directive.side === 'end') {\n <ng-container [ngTemplateOutlet]=\"template\" />\n}\n<ng-template #template>\n @if (!isMoreHidden) {\n <span class=\"t-item t-item_more\">\n <ng-container\n [ngTemplateOutlet]=\"more || null\"\n [ngTemplateOutletContext]=\"{$implicit: lastIndex()}\"\n />\n </span>\n }\n</ng-template>\n", styles: [":host{position:relative;display:flex;min-inline-size:0;flex:1;align-items:center;white-space:nowrap;gap:0!important}:host._multiline{flex-wrap:wrap}.t-item{flex:0 0 auto;max-inline-size:100%}.t-item_hidden{position:absolute;bottom:0;visibility:hidden}:host._multiline .t-item_more:not(:empty){min-inline-size:var(--t-min-width, 0)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiItemsWithMoreComponent, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemsWithMoreComponent, decorators: [{
180
180
  type: Component,
181
- args: [{ standalone: true, selector: 'tui-items-with-more', imports: [AsyncPipe, NgForOf, NgIf, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
181
+ args: [{ selector: 'tui-items-with-more', imports: [AsyncPipe, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
182
182
  MutationObserverService,
183
183
  ResizeObserverService,
184
184
  TuiItemsWithMoreService,
@@ -195,7 +195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
195
195
  directive: TuiItemsWithMoreDirective,
196
196
  inputs: ['itemsLimit', 'required', 'side', 'linesLimit'],
197
197
  },
198
- ], template: "<ng-container *ngIf=\"items.changes | async\" />\n<ng-container\n *ngIf=\"directive.side === 'start'\"\n [ngTemplateOutlet]=\"template\"\n/>\n<div\n *ngFor=\"let item of items; let index = index\"\n class=\"t-item\"\n [class.t-item_hidden]=\"isHidden(index)\"\n>\n <ng-container *ngTemplateOutlet=\"item\" />\n</div>\n<ng-container\n *ngIf=\"directive.side === 'end'\"\n [ngTemplateOutlet]=\"template\"\n/>\n<ng-template #template>\n <span\n *ngIf=\"!isMoreHidden\"\n class=\"t-item t-item_more\"\n >\n <ng-container\n [ngTemplateOutlet]=\"more || null\"\n [ngTemplateOutletContext]=\"{$implicit: lastIndex()}\"\n />\n </span>\n</ng-template>\n", styles: [":host{position:relative;display:flex;min-inline-size:0;flex:1;align-items:center;white-space:nowrap}:host._multiline{flex-wrap:wrap}.t-item{flex:0 0 auto}.t-item_hidden{position:absolute;bottom:0;visibility:hidden}:host._multiline .t-item_more:not(:empty){min-inline-size:var(--t-min-width, 0)}\n"] }]
198
+ ], template: "@if (items.changes | async) {}\n@if (directive.side === 'start') {\n <ng-container [ngTemplateOutlet]=\"template\" />\n}\n@for (item of items; track item) {\n <div\n class=\"t-item\"\n [class.t-item_hidden]=\"isHidden($index)\"\n >\n <ng-container *ngTemplateOutlet=\"item\" />\n </div>\n}\n@if (directive.side === 'end') {\n <ng-container [ngTemplateOutlet]=\"template\" />\n}\n<ng-template #template>\n @if (!isMoreHidden) {\n <span class=\"t-item t-item_more\">\n <ng-container\n [ngTemplateOutlet]=\"more || null\"\n [ngTemplateOutletContext]=\"{$implicit: lastIndex()}\"\n />\n </span>\n }\n</ng-template>\n", styles: [":host{position:relative;display:flex;min-inline-size:0;flex:1;align-items:center;white-space:nowrap;gap:0!important}:host._multiline{flex-wrap:wrap}.t-item{flex:0 0 auto;max-inline-size:100%}.t-item_hidden{position:absolute;bottom:0;visibility:hidden}:host._multiline .t-item_more:not(:empty){min-inline-size:var(--t-min-width, 0)}\n"] }]
199
199
  }], propDecorators: { items: [{
200
200
  type: ContentChildren,
201
201
  args: [TuiItem, { read: TemplateRef, descendants: true }]