@taiga-ui/kit 4.65.0 → 5.0.0-canary.8b64ec1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1025) hide show
  1. package/README.md +1 -1
  2. package/components/accordion/accordion.component.d.ts +13 -0
  3. package/components/accordion/accordion.d.ts +4 -4
  4. package/components/accordion/accordion.directive.d.ts +11 -10
  5. package/components/accordion/index.d.ts +1 -3
  6. package/components/action-bar/action-bar.component.d.ts +5 -7
  7. package/components/action-bar/index.d.ts +0 -2
  8. package/components/avatar/avatar-labeled.component.d.ts +3 -3
  9. package/components/avatar/avatar-outline.directive.d.ts +3 -3
  10. package/components/avatar/avatar-stack.component.d.ts +2 -2
  11. package/components/avatar/avatar.directive.d.ts +15 -0
  12. package/components/avatar/avatar.options.d.ts +1 -2
  13. package/components/avatar/index.d.ts +1 -1
  14. package/components/badge/badge.directive.d.ts +2 -2
  15. package/components/badge/badge.options.d.ts +1 -3
  16. package/components/badge-notification/badge-notification.component.d.ts +2 -3
  17. package/components/badge-notification/badge-notification.options.d.ts +1 -3
  18. package/components/badged-content/badged-content.directive.d.ts +2 -3
  19. package/components/block/block.directive.d.ts +4 -4
  20. package/components/block/block.options.d.ts +2 -4
  21. package/components/breadcrumbs/breadcrumbs.component.d.ts +6 -7
  22. package/components/breadcrumbs/breadcrumbs.options.d.ts +1 -3
  23. package/components/button-loading/button-loading.component.d.ts +5 -5
  24. package/components/calendar-month/calendar-month.component.d.ts +6 -6
  25. package/components/calendar-month/calendar-month.options.d.ts +1 -1
  26. package/components/calendar-range/calendar-range.component.d.ts +2 -5
  27. package/components/calendar-range/day-range-period.d.ts +2 -1
  28. package/components/carousel/carousel-autoscroll.directive.d.ts +1 -2
  29. package/components/carousel/carousel-scroll.directive.d.ts +1 -1
  30. package/components/carousel/carousel.component.d.ts +15 -18
  31. package/components/carousel/carousel.directive.d.ts +5 -4
  32. package/components/checkbox/checkbox.component.d.ts +7 -18
  33. package/components/checkbox/checkbox.options.d.ts +5 -9
  34. package/components/chip/chip.directive.d.ts +2 -4
  35. package/components/chip/chip.options.d.ts +1 -3
  36. package/components/combo-box/combo-box.d.ts +5 -0
  37. package/components/combo-box/combo-box.directive.d.ts +7 -9
  38. package/components/combo-box/index.d.ts +1 -0
  39. package/components/comment/comment.directive.d.ts +2 -2
  40. package/components/compass/compass.component.d.ts +2 -2
  41. package/components/confirm/confirm.component.d.ts +5 -4
  42. package/components/confirm/confirm.service.d.ts +2 -2
  43. package/{directives → components}/copy/copy.component.d.ts +4 -7
  44. package/{directives → components}/copy/copy.directive.d.ts +4 -6
  45. package/{directives → components}/copy/copy.options.d.ts +2 -2
  46. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +4 -2
  47. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +14 -22
  48. package/components/data-list-wrapper/{data-list-wrapper.module.d.ts → data-list-wrapper.d.ts} +1 -2
  49. package/components/data-list-wrapper/index.d.ts +1 -1
  50. package/components/drawer/drawer.component.d.ts +3 -4
  51. package/components/files/file/file.component.d.ts +16 -29
  52. package/components/files/file/file.options.d.ts +2 -2
  53. package/components/files/files/files.component.d.ts +7 -10
  54. package/components/files/input-files/input-files.component.d.ts +2 -2
  55. package/components/files/input-files/input-files.content.d.ts +7 -8
  56. package/components/files/input-files/input-files.directive.d.ts +2 -2
  57. package/components/files/input-files/input-files.options.d.ts +1 -3
  58. package/components/filter/filter.component.d.ts +9 -12
  59. package/components/fullscreen/fullscreen.component.d.ts +11 -0
  60. package/components/fullscreen/index.d.ts +1 -0
  61. package/components/index.d.ts +2 -5
  62. package/components/input-chip/input-chip.component.d.ts +9 -8
  63. package/components/input-chip/input-chip.d.ts +5 -1
  64. package/components/input-chip/input-chip.directive.d.ts +7 -12
  65. package/components/input-chip/input-chip.options.d.ts +1 -1
  66. package/components/input-color/index.d.ts +1 -0
  67. package/components/input-color/input-color.component.d.ts +10 -13
  68. package/components/input-color/input-color.d.ts +5 -0
  69. package/components/input-color/input-color.options.d.ts +1 -1
  70. package/components/input-date/input-date.component.d.ts +2 -2
  71. package/components/input-date/input-date.d.ts +4 -1
  72. package/components/input-date/input-date.directive.d.ts +21 -22
  73. package/components/input-date/input-date.options.d.ts +3 -3
  74. package/components/input-date-multi/input-date-multi.d.ts +1 -2
  75. package/components/input-date-multi/input-date-multi.directive.d.ts +10 -14
  76. package/components/input-date-range/input-date-range.d.ts +4 -1
  77. package/components/input-date-range/input-date-range.directive.d.ts +9 -10
  78. package/components/input-date-range/input-date-range.options.d.ts +2 -2
  79. package/components/input-date-time/input-date-time.d.ts +4 -1
  80. package/components/input-date-time/input-date-time.directive.d.ts +14 -14
  81. package/components/input-date-time/input-date-time.options.d.ts +2 -2
  82. package/components/input-inline/input-inline.component.d.ts +3 -2
  83. package/components/input-month/input-month.component.d.ts +3 -5
  84. package/components/input-month/input-month.d.ts +4 -1
  85. package/components/input-month/input-month.directive.d.ts +6 -5
  86. package/components/input-month-range/input-month-range.d.ts +4 -1
  87. package/components/input-month-range/input-month-range.directive.d.ts +6 -5
  88. package/components/input-number/index.d.ts +3 -0
  89. package/components/input-number/input-number.d.ts +7 -2
  90. package/components/input-number/input-number.directive.d.ts +11 -28
  91. package/components/input-number/input-number.options.d.ts +5 -8
  92. package/components/input-number/number-mask.directive.d.ts +42 -0
  93. package/components/input-number/quantum.directive.d.ts +11 -9
  94. package/components/input-number/step/input-number-step.component.d.ts +11 -10
  95. package/components/input-number/transformers/bigint.value-transformer.d.ts +11 -0
  96. package/components/input-number/transformers/number.value-transformer.d.ts +11 -0
  97. package/components/input-phone/index.d.ts +1 -0
  98. package/components/input-phone/input-phone.d.ts +5 -0
  99. package/components/input-phone/input-phone.directive.d.ts +12 -14
  100. package/components/input-phone/input-phone.options.d.ts +1 -1
  101. package/components/input-phone-international/index.d.ts +1 -0
  102. package/components/input-phone-international/input-phone-international.component.d.ts +28 -36
  103. package/components/input-phone-international/input-phone-international.d.ts +5 -0
  104. package/components/input-phone-international/input-phone-international.options.d.ts +2 -3
  105. package/components/input-pin/index.d.ts +1 -0
  106. package/components/input-pin/input-pin.component.d.ts +6 -7
  107. package/components/input-pin/input-pin.d.ts +5 -0
  108. package/components/input-range/index.d.ts +0 -1
  109. package/components/input-range/input-range.component.d.ts +24 -61
  110. package/components/input-slider/input-slider.d.ts +4 -1
  111. package/components/input-slider/input-slider.directive.d.ts +5 -5
  112. package/components/input-time/input-time.component.d.ts +1 -3
  113. package/components/input-time/input-time.d.ts +4 -1
  114. package/components/input-time/input-time.directive.d.ts +9 -11
  115. package/components/input-time/input-time.options.d.ts +1 -1
  116. package/components/input-year/input-year.d.ts +4 -1
  117. package/components/input-year/input-year.directive.d.ts +8 -10
  118. package/components/input-year/input-year.options.d.ts +2 -2
  119. package/components/items-with-more/items-with-more.component.d.ts +6 -6
  120. package/components/items-with-more/items-with-more.directive.d.ts +6 -6
  121. package/components/like/like.component.d.ts +4 -11
  122. package/components/like/like.options.d.ts +4 -5
  123. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  124. package/components/line-clamp/line-clamp.component.d.ts +8 -10
  125. package/components/line-clamp/line-clamp.options.d.ts +1 -3
  126. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +6 -8
  127. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +5 -4
  128. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  129. package/components/notification-middle/notification-middle.component.d.ts +2 -2
  130. package/components/notification-middle/notification-middle.directive.d.ts +4 -3
  131. package/components/notification-middle/notification-middle.service.d.ts +7 -3
  132. package/components/pager/pager.component.d.ts +12 -12
  133. package/components/pagination/index.d.ts +1 -0
  134. package/components/pagination/pagination.component.d.ts +25 -55
  135. package/components/pagination/pagination.options.d.ts +7 -0
  136. package/components/pin/pin.directive.d.ts +2 -2
  137. package/components/preview/dialog/preview-dialog.component.d.ts +2 -2
  138. package/components/preview/dialog/preview-dialog.directive.d.ts +3 -3
  139. package/components/preview/dialog/preview-dialog.service.d.ts +5 -2
  140. package/components/preview/index.d.ts +1 -0
  141. package/components/preview/pagination/preview-pagination.component.d.ts +6 -10
  142. package/components/preview/preview.component.d.ts +6 -6
  143. package/components/preview/preview.d.ts +2 -1
  144. package/{tokens/preview-icons.d.ts → components/preview/preview.options.d.ts} +1 -3
  145. package/components/preview/zoom/preview-zoom.component.d.ts +11 -18
  146. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  147. package/components/progress/progress-bar/progress-bar.component.d.ts +3 -4
  148. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +2 -3
  149. package/components/progress/progress-circle/progress-circle.component.d.ts +7 -11
  150. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  151. package/components/progress/progress.options.d.ts +1 -3
  152. package/components/pulse/pulse.component.d.ts +2 -2
  153. package/components/push/push-alert.component.d.ts +4 -3
  154. package/components/push/push.component.d.ts +7 -8
  155. package/components/push/push.directive.d.ts +4 -6
  156. package/components/push/push.options.d.ts +5 -8
  157. package/components/push/push.service.d.ts +6 -2
  158. package/components/radio/radio.component.d.ts +8 -9
  159. package/components/radio/radio.directive.d.ts +2 -2
  160. package/components/radio/radio.options.d.ts +2 -5
  161. package/components/radio-list/radio-list.component.d.ts +11 -9
  162. package/components/range/range-change.directive.d.ts +1 -2
  163. package/components/range/range.component.d.ts +16 -25
  164. package/components/rating/rating.component.d.ts +5 -5
  165. package/components/rating/rating.options.d.ts +1 -3
  166. package/components/routable-dialog/generate-dialogable-route.d.ts +1 -1
  167. package/components/segmented/segmented.component.d.ts +8 -12
  168. package/components/segmented/segmented.directive.d.ts +6 -7
  169. package/components/select/native-select/native-select.component.d.ts +6 -9
  170. package/components/select/select.d.ts +4 -1
  171. package/components/select/select.directive.d.ts +4 -3
  172. package/components/slider/helpers/key-steps.d.ts +1 -2
  173. package/components/slider/helpers/slider-key-steps.directive.d.ts +19 -25
  174. package/components/slider/helpers/slider-readonly.directive.d.ts +2 -4
  175. package/components/slider/helpers/slider-thumb-label.component.d.ts +2 -4
  176. package/components/slider/slider.component.d.ts +4 -7
  177. package/components/slider/slider.options.d.ts +1 -6
  178. package/components/status/status.directive.d.ts +2 -2
  179. package/components/stepper/step.component.d.ts +14 -9
  180. package/components/stepper/stepper.component.d.ts +5 -12
  181. package/components/switch/switch.component.d.ts +8 -19
  182. package/components/switch/switch.options.d.ts +4 -8
  183. package/components/tabs/tabs-horizontal.directive.d.ts +4 -5
  184. package/components/tabs/tabs-vertical.directive.d.ts +2 -2
  185. package/components/tabs/tabs-with-more.component.d.ts +13 -17
  186. package/components/tabs/tabs.directive.d.ts +5 -7
  187. package/components/tabs/tabs.options.d.ts +1 -6
  188. package/components/textarea/index.d.ts +2 -1
  189. package/components/textarea/textarea.component.d.ts +10 -11
  190. package/components/textarea/textarea.d.ts +6 -0
  191. package/components/textarea/textarea.directive.d.ts +13 -0
  192. package/components/textarea/textarea.options.d.ts +1 -1
  193. package/components/tiles/tile-handle.directive.d.ts +2 -1
  194. package/components/tiles/tile.component.d.ts +7 -10
  195. package/components/tiles/tile.service.d.ts +1 -1
  196. package/components/tiles/tiles.component.d.ts +4 -7
  197. package/components/toast/toast.component.d.ts +5 -4
  198. package/components/toast/toast.options.d.ts +9 -7
  199. package/components/toast/toast.service.d.ts +10 -9
  200. package/components/tree/components/tree/tree.component.d.ts +7 -7
  201. package/components/tree/components/tree-item/tree-item.component.d.ts +2 -2
  202. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +9 -7
  203. package/components/tree/directives/tree-children.directive.d.ts +2 -2
  204. package/components/tree/directives/tree-controller.directive.d.ts +4 -5
  205. package/components/tree/directives/tree-item-controller.directive.d.ts +2 -2
  206. package/components/tree/directives/tree-node.directive.d.ts +5 -4
  207. package/components/tree/misc/tree.constants.d.ts +0 -3
  208. package/components/tree/misc/tree.tokens.d.ts +1 -6
  209. package/directives/appearance-proxy/appearance-proxy.directive.d.ts +10 -0
  210. package/directives/appearance-proxy/index.d.ts +1 -0
  211. package/directives/button-select/button-select.directive.d.ts +2 -3
  212. package/directives/chevron/chevron.directive.d.ts +2 -3
  213. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +5 -5
  214. package/directives/fade/fade.directive.d.ts +6 -6
  215. package/directives/fluid-typography/fluid-typography.directive.d.ts +3 -6
  216. package/directives/fluid-typography/fluid-typography.options.d.ts +1 -3
  217. package/directives/highlight/highlight.directive.d.ts +5 -7
  218. package/directives/index.d.ts +1 -4
  219. package/directives/password/password.directive.d.ts +1 -1
  220. package/directives/password/password.options.d.ts +1 -1
  221. package/directives/present/present.directive.d.ts +2 -4
  222. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  223. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  224. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  225. package/directives/tooltip/tooltip.directive.d.ts +3 -3
  226. package/directives/tooltip/tooltip.options.d.ts +1 -4
  227. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +2 -2
  228. package/directives/unmask-handler/unmask-handler.directive.d.ts +3 -3
  229. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -146
  230. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  231. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +24 -40
  232. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  233. package/fesm2022/taiga-ui-kit-components-avatar.mjs +84 -113
  234. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  235. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +11 -18
  236. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-components-badge.mjs +18 -28
  238. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  239. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +10 -13
  240. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  241. package/fesm2022/taiga-ui-kit-components-block.mjs +20 -31
  242. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  243. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +20 -42
  244. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  245. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +19 -28
  246. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  247. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +14 -39
  248. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  249. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +32 -42
  250. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  251. package/fesm2022/taiga-ui-kit-components-carousel.mjs +74 -129
  252. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  253. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +18 -76
  254. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  255. package/fesm2022/taiga-ui-kit-components-chip.mjs +26 -35
  256. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  257. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +45 -50
  258. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  259. package/fesm2022/taiga-ui-kit-components-comment.mjs +13 -20
  260. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  261. package/fesm2022/taiga-ui-kit-components-compass.mjs +9 -11
  262. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  263. package/fesm2022/taiga-ui-kit-components-confirm.mjs +14 -19
  264. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  265. package/fesm2022/taiga-ui-kit-components-copy.mjs +106 -0
  266. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  267. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +25 -79
  268. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  269. package/fesm2022/taiga-ui-kit-components-drawer.mjs +11 -32
  270. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  271. package/fesm2022/taiga-ui-kit-components-files.mjs +120 -257
  272. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  273. package/fesm2022/taiga-ui-kit-components-filter.mjs +21 -43
  274. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  275. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +44 -0
  276. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  277. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +67 -82
  278. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  279. package/fesm2022/taiga-ui-kit-components-input-color.mjs +35 -39
  280. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  281. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +36 -53
  282. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  283. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +37 -37
  284. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  285. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +42 -60
  286. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  287. package/fesm2022/taiga-ui-kit-components-input-date.mjs +62 -77
  288. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  289. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +10 -13
  290. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  291. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +30 -28
  292. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  293. package/fesm2022/taiga-ui-kit-components-input-month.mjs +45 -54
  294. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  295. package/fesm2022/taiga-ui-kit-components-input-number.mjs +270 -216
  296. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  297. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +129 -164
  298. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  299. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +44 -51
  300. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  301. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +26 -24
  302. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  303. package/fesm2022/taiga-ui-kit-components-input-range.mjs +54 -103
  304. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  305. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +42 -41
  306. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  307. package/fesm2022/taiga-ui-kit-components-input-time.mjs +67 -74
  308. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  309. package/fesm2022/taiga-ui-kit-components-input-year.mjs +33 -40
  310. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  311. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +57 -79
  312. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  313. package/fesm2022/taiga-ui-kit-components-like.mjs +40 -33
  314. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  315. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +38 -82
  316. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  317. package/fesm2022/taiga-ui-kit-components-message.mjs +10 -13
  318. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  319. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +65 -80
  320. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  321. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +40 -36
  322. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  323. package/fesm2022/taiga-ui-kit-components-pager.mjs +34 -48
  324. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  325. package/fesm2022/taiga-ui-kit-components-pagination.mjs +78 -153
  326. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  327. package/fesm2022/taiga-ui-kit-components-pin.mjs +15 -19
  328. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  329. package/fesm2022/taiga-ui-kit-components-preview.mjs +100 -165
  330. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  331. package/fesm2022/taiga-ui-kit-components-progress.mjs +70 -112
  332. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  333. package/fesm2022/taiga-ui-kit-components-pulse.mjs +7 -11
  334. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  335. package/fesm2022/taiga-ui-kit-components-push.mjs +55 -75
  336. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  337. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +23 -36
  338. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  339. package/fesm2022/taiga-ui-kit-components-radio.mjs +35 -41
  340. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  341. package/fesm2022/taiga-ui-kit-components-range.mjs +43 -97
  342. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  343. package/fesm2022/taiga-ui-kit-components-rating.mjs +19 -28
  344. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  345. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +13 -9
  346. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  347. package/fesm2022/taiga-ui-kit-components-segmented.mjs +40 -61
  348. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  349. package/fesm2022/taiga-ui-kit-components-select.mjs +70 -70
  350. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  351. package/fesm2022/taiga-ui-kit-components-slider.mjs +97 -128
  352. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  353. package/fesm2022/taiga-ui-kit-components-status.mjs +12 -16
  354. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  355. package/fesm2022/taiga-ui-kit-components-stepper.mjs +63 -90
  356. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  357. package/fesm2022/taiga-ui-kit-components-switch.mjs +22 -64
  358. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  359. package/fesm2022/taiga-ui-kit-components-tabs.mjs +110 -182
  360. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  361. package/fesm2022/taiga-ui-kit-components-textarea.mjs +64 -85
  362. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  363. package/fesm2022/taiga-ui-kit-components-tiles.mjs +62 -107
  364. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  365. package/fesm2022/taiga-ui-kit-components-toast.mjs +61 -68
  366. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  367. package/fesm2022/taiga-ui-kit-components-tree.mjs +95 -146
  368. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  369. package/fesm2022/taiga-ui-kit-components.mjs +2 -5
  370. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  371. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +27 -0
  372. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -0
  373. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +10 -13
  374. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  375. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +10 -18
  376. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  377. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +16 -22
  378. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  379. package/fesm2022/taiga-ui-kit-directives-connected.mjs +10 -16
  380. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  381. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +25 -53
  382. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  383. package/fesm2022/taiga-ui-kit-directives-fade.mjs +35 -47
  384. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  385. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +20 -33
  386. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  387. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +19 -24
  388. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  389. package/fesm2022/taiga-ui-kit-directives-password.mjs +14 -16
  390. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  391. package/fesm2022/taiga-ui-kit-directives-present.mjs +10 -18
  392. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  393. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +16 -21
  394. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  395. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +24 -34
  396. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  397. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +28 -38
  398. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  399. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +19 -24
  400. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  401. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +10 -14
  402. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  403. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +10 -15
  404. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  405. package/fesm2022/taiga-ui-kit-directives.mjs +1 -4
  406. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  407. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +43 -0
  408. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -0
  409. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -4
  410. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  411. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +22 -36
  412. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  413. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +30 -0
  414. package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -0
  415. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +23 -27
  416. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  417. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +28 -0
  418. package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -0
  419. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +10 -8
  420. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  421. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -4
  422. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  423. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -4
  424. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  425. package/fesm2022/taiga-ui-kit-pipes.mjs +3 -1
  426. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  427. package/fesm2022/taiga-ui-kit-tokens.mjs +4 -126
  428. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  429. package/fesm2022/taiga-ui-kit-utils.mjs +4 -16
  430. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  431. package/package.json +61 -290
  432. package/pipes/auto-color/auto-color.pipe.d.ts +13 -0
  433. package/pipes/auto-color/index.d.ts +1 -0
  434. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +5 -2
  435. package/pipes/flag/flag.pipe.d.ts +13 -0
  436. package/pipes/flag/index.d.ts +1 -0
  437. package/pipes/hide-selected/hide-selected.pipe.d.ts +2 -0
  438. package/pipes/index.d.ts +3 -1
  439. package/pipes/initials/index.d.ts +1 -0
  440. package/pipes/initials/initials.pipe.d.ts +7 -0
  441. package/pipes/sort-countries/sort-countries.pipe.d.ts +4 -3
  442. package/pipes/stringify-content/stringify-content.pipe.d.ts +2 -3
  443. package/styles/components/avatar.less +188 -0
  444. package/styles/components/badge.less +8 -24
  445. package/styles/components/block.less +6 -6
  446. package/styles/components/checkbox.less +15 -15
  447. package/styles/components/chip.less +7 -11
  448. package/styles/components/comment.less +15 -17
  449. package/styles/components/like.less +14 -16
  450. package/styles/components/message.less +1 -1
  451. package/styles/components/pin.less +6 -10
  452. package/styles/components/switch.less +12 -9
  453. package/styles/components/toast.less +2 -3
  454. package/tokens/i18n.d.ts +26 -26
  455. package/tokens/index.d.ts +0 -8
  456. package/utils/index.d.ts +0 -2
  457. package/utils/maskito.binding.d.ts +1 -1
  458. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  459. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  460. package/components/accordion/accordion-item.component.d.ts +0 -25
  461. package/components/action-bar/action-bar.d.ts +0 -3
  462. package/components/action-bar/action-bar.directive.d.ts +0 -6
  463. package/components/avatar/avatar.component.d.ts +0 -15
  464. package/components/elastic-container/elastic-container.component.d.ts +0 -8
  465. package/components/elastic-container/elastic-container.directive.d.ts +0 -7
  466. package/components/elastic-container/index.d.ts +0 -2
  467. package/components/floating-container/floating-container.directive.d.ts +0 -7
  468. package/components/floating-container/index.d.ts +0 -1
  469. package/components/input-password/index.d.ts +0 -2
  470. package/components/input-password/input-password.component.d.ts +0 -16
  471. package/components/input-password/input-password.options.d.ts +0 -24
  472. package/components/input-range/input-range.d.ts +0 -3
  473. package/components/pdf-viewer/index.d.ts +0 -4
  474. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  475. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  476. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  477. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  478. package/components/slides/index.d.ts +0 -1
  479. package/components/slides/slides.directive.d.ts +0 -11
  480. package/components/textarea/textarea-limit.directive.d.ts +0 -27
  481. package/directives/button-close/button-close.directive.d.ts +0 -5
  482. package/directives/button-close/index.d.ts +0 -1
  483. package/directives/icon-badge/icon-badge.directive.d.ts +0 -9
  484. package/directives/icon-badge/index.d.ts +0 -1
  485. package/directives/lazy-loading/index.d.ts +0 -2
  486. package/directives/lazy-loading/lazy-loading.directive.d.ts +0 -18
  487. package/directives/lazy-loading/lazy-loading.service.d.ts +0 -12
  488. package/esm2022/components/accordion/accordion-item-content.directive.mjs +0 -16
  489. package/esm2022/components/accordion/accordion-item-eager-content.directive.mjs +0 -15
  490. package/esm2022/components/accordion/accordion-item.component.mjs +0 -85
  491. package/esm2022/components/accordion/accordion.directive.mjs +0 -56
  492. package/esm2022/components/accordion/accordion.mjs +0 -11
  493. package/esm2022/components/accordion/index.mjs +0 -6
  494. package/esm2022/components/accordion/taiga-ui-kit-components-accordion.mjs +0 -5
  495. package/esm2022/components/action-bar/action-bar.component.mjs +0 -36
  496. package/esm2022/components/action-bar/action-bar.directive.mjs +0 -17
  497. package/esm2022/components/action-bar/action-bar.mjs +0 -4
  498. package/esm2022/components/action-bar/index.mjs +0 -4
  499. package/esm2022/components/action-bar/taiga-ui-kit-components-action-bar.mjs +0 -5
  500. package/esm2022/components/avatar/avatar-labeled.component.mjs +0 -47
  501. package/esm2022/components/avatar/avatar-outline.directive.mjs +0 -41
  502. package/esm2022/components/avatar/avatar-stack.component.mjs +0 -19
  503. package/esm2022/components/avatar/avatar.component.mjs +0 -59
  504. package/esm2022/components/avatar/avatar.options.mjs +0 -8
  505. package/esm2022/components/avatar/index.mjs +0 -6
  506. package/esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs +0 -5
  507. package/esm2022/components/badge/badge.directive.mjs +0 -42
  508. package/esm2022/components/badge/badge.options.mjs +0 -13
  509. package/esm2022/components/badge/index.mjs +0 -3
  510. package/esm2022/components/badge/taiga-ui-kit-components-badge.mjs +0 -5
  511. package/esm2022/components/badge-notification/badge-notification.component.mjs +0 -22
  512. package/esm2022/components/badge-notification/badge-notification.options.mjs +0 -12
  513. package/esm2022/components/badge-notification/index.mjs +0 -3
  514. package/esm2022/components/badge-notification/taiga-ui-kit-components-badge-notification.mjs +0 -5
  515. package/esm2022/components/badged-content/badge-content.mjs +0 -7
  516. package/esm2022/components/badged-content/badged-content.component.mjs +0 -30
  517. package/esm2022/components/badged-content/badged-content.directive.mjs +0 -20
  518. package/esm2022/components/badged-content/index.mjs +0 -4
  519. package/esm2022/components/badged-content/taiga-ui-kit-components-badged-content.mjs +0 -5
  520. package/esm2022/components/block/block.directive.mjs +0 -58
  521. package/esm2022/components/block/block.options.mjs +0 -13
  522. package/esm2022/components/block/index.mjs +0 -3
  523. package/esm2022/components/block/taiga-ui-kit-components-block.mjs +0 -5
  524. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +0 -69
  525. package/esm2022/components/breadcrumbs/breadcrumbs.options.mjs +0 -14
  526. package/esm2022/components/breadcrumbs/index.mjs +0 -3
  527. package/esm2022/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.mjs +0 -5
  528. package/esm2022/components/button-loading/button-loading.component.mjs +0 -70
  529. package/esm2022/components/button-loading/index.mjs +0 -2
  530. package/esm2022/components/button-loading/taiga-ui-kit-components-button-loading.mjs +0 -5
  531. package/esm2022/components/calendar-month/calendar-month.component.mjs +0 -186
  532. package/esm2022/components/calendar-month/calendar-month.options.mjs +0 -6
  533. package/esm2022/components/calendar-month/index.mjs +0 -3
  534. package/esm2022/components/calendar-month/taiga-ui-kit-components-calendar-month.mjs +0 -5
  535. package/esm2022/components/calendar-range/calculate-disabled-item-handler.mjs +0 -12
  536. package/esm2022/components/calendar-range/calendar-range.component.mjs +0 -224
  537. package/esm2022/components/calendar-range/day-caps-mapper.mjs +0 -26
  538. package/esm2022/components/calendar-range/day-range-period.mjs +0 -36
  539. package/esm2022/components/calendar-range/index.mjs +0 -5
  540. package/esm2022/components/calendar-range/taiga-ui-kit-components-calendar-range.mjs +0 -5
  541. package/esm2022/components/carousel/carousel-autoscroll.directive.mjs +0 -21
  542. package/esm2022/components/carousel/carousel-buttons.directive.mjs +0 -27
  543. package/esm2022/components/carousel/carousel-scroll.directive.mjs +0 -27
  544. package/esm2022/components/carousel/carousel.component.mjs +0 -166
  545. package/esm2022/components/carousel/carousel.directive.mjs +0 -37
  546. package/esm2022/components/carousel/carousel.mjs +0 -15
  547. package/esm2022/components/carousel/index.mjs +0 -7
  548. package/esm2022/components/carousel/taiga-ui-kit-components-carousel.mjs +0 -5
  549. package/esm2022/components/checkbox/checkbox.component.mjs +0 -74
  550. package/esm2022/components/checkbox/checkbox.options.mjs +0 -17
  551. package/esm2022/components/checkbox/index.mjs +0 -3
  552. package/esm2022/components/checkbox/taiga-ui-kit-components-checkbox.mjs +0 -5
  553. package/esm2022/components/chip/chip.directive.mjs +0 -63
  554. package/esm2022/components/chip/chip.options.mjs +0 -13
  555. package/esm2022/components/chip/index.mjs +0 -3
  556. package/esm2022/components/chip/taiga-ui-kit-components-chip.mjs +0 -5
  557. package/esm2022/components/combo-box/combo-box.directive.mjs +0 -139
  558. package/esm2022/components/combo-box/index.mjs +0 -2
  559. package/esm2022/components/combo-box/taiga-ui-kit-components-combo-box.mjs +0 -5
  560. package/esm2022/components/comment/comment.directive.mjs +0 -35
  561. package/esm2022/components/comment/index.mjs +0 -2
  562. package/esm2022/components/comment/taiga-ui-kit-components-comment.mjs +0 -5
  563. package/esm2022/components/compass/compass.component.mjs +0 -19
  564. package/esm2022/components/compass/index.mjs +0 -2
  565. package/esm2022/components/compass/taiga-ui-kit-components-compass.mjs +0 -5
  566. package/esm2022/components/confirm/confirm.component.mjs +0 -30
  567. package/esm2022/components/confirm/confirm.service.mjs +0 -32
  568. package/esm2022/components/confirm/index.mjs +0 -3
  569. package/esm2022/components/confirm/taiga-ui-kit-components-confirm.mjs +0 -5
  570. package/esm2022/components/data-list-wrapper/data-list-group-wrapper.component.mjs +0 -25
  571. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +0 -86
  572. package/esm2022/components/data-list-wrapper/data-list-wrapper.module.mjs +0 -9
  573. package/esm2022/components/data-list-wrapper/index.mjs +0 -4
  574. package/esm2022/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.mjs +0 -5
  575. package/esm2022/components/drawer/drawer.component.mjs +0 -44
  576. package/esm2022/components/drawer/index.mjs +0 -2
  577. package/esm2022/components/drawer/taiga-ui-kit-components-drawer.mjs +0 -5
  578. package/esm2022/components/elastic-container/elastic-container.component.mjs +0 -28
  579. package/esm2022/components/elastic-container/elastic-container.directive.mjs +0 -48
  580. package/esm2022/components/elastic-container/index.mjs +0 -3
  581. package/esm2022/components/elastic-container/taiga-ui-kit-components-elastic-container.mjs +0 -5
  582. package/esm2022/components/files/file/file.component.mjs +0 -144
  583. package/esm2022/components/files/file/file.options.mjs +0 -16
  584. package/esm2022/components/files/files/files.component.mjs +0 -56
  585. package/esm2022/components/files/files.mjs +0 -15
  586. package/esm2022/components/files/files.types.mjs +0 -2
  587. package/esm2022/components/files/files.utils.mjs +0 -30
  588. package/esm2022/components/files/files.validators.mjs +0 -32
  589. package/esm2022/components/files/index.mjs +0 -13
  590. package/esm2022/components/files/input-files/input-files-validator.directive.mjs +0 -45
  591. package/esm2022/components/files/input-files/input-files.component.mjs +0 -70
  592. package/esm2022/components/files/input-files/input-files.content.mjs +0 -73
  593. package/esm2022/components/files/input-files/input-files.directive.mjs +0 -77
  594. package/esm2022/components/files/input-files/input-files.options.mjs +0 -19
  595. package/esm2022/components/files/pipes/file-rejected.pipe.mjs +0 -51
  596. package/esm2022/components/files/taiga-ui-kit-components-files.mjs +0 -5
  597. package/esm2022/components/filter/filter.component.mjs +0 -65
  598. package/esm2022/components/filter/index.mjs +0 -2
  599. package/esm2022/components/filter/taiga-ui-kit-components-filter.mjs +0 -5
  600. package/esm2022/components/floating-container/floating-container.directive.mjs +0 -37
  601. package/esm2022/components/floating-container/index.mjs +0 -2
  602. package/esm2022/components/floating-container/taiga-ui-kit-components-floating-container.mjs +0 -5
  603. package/esm2022/components/index.mjs +0 -74
  604. package/esm2022/components/input-chip/index.mjs +0 -5
  605. package/esm2022/components/input-chip/input-chip.component.mjs +0 -101
  606. package/esm2022/components/input-chip/input-chip.directive.mjs +0 -143
  607. package/esm2022/components/input-chip/input-chip.mjs +0 -4
  608. package/esm2022/components/input-chip/input-chip.options.mjs +0 -7
  609. package/esm2022/components/input-chip/taiga-ui-kit-components-input-chip.mjs +0 -5
  610. package/esm2022/components/input-color/index.mjs +0 -3
  611. package/esm2022/components/input-color/input-color.component.mjs +0 -89
  612. package/esm2022/components/input-color/input-color.options.mjs +0 -6
  613. package/esm2022/components/input-color/taiga-ui-kit-components-input-color.mjs +0 -5
  614. package/esm2022/components/input-date/date-filler.mjs +0 -20
  615. package/esm2022/components/input-date/index.mjs +0 -6
  616. package/esm2022/components/input-date/input-date.component.mjs +0 -33
  617. package/esm2022/components/input-date/input-date.directive.mjs +0 -167
  618. package/esm2022/components/input-date/input-date.mjs +0 -9
  619. package/esm2022/components/input-date/input-date.options.mjs +0 -11
  620. package/esm2022/components/input-date/taiga-ui-kit-components-input-date.mjs +0 -5
  621. package/esm2022/components/input-date-multi/index.mjs +0 -3
  622. package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +0 -123
  623. package/esm2022/components/input-date-multi/input-date-multi.mjs +0 -9
  624. package/esm2022/components/input-date-multi/taiga-ui-kit-components-input-date-multi.mjs +0 -5
  625. package/esm2022/components/input-date-range/index.mjs +0 -4
  626. package/esm2022/components/input-date-range/input-date-range.directive.mjs +0 -79
  627. package/esm2022/components/input-date-range/input-date-range.mjs +0 -4
  628. package/esm2022/components/input-date-range/input-date-range.options.mjs +0 -12
  629. package/esm2022/components/input-date-range/taiga-ui-kit-components-input-date-range.mjs +0 -5
  630. package/esm2022/components/input-date-time/index.mjs +0 -5
  631. package/esm2022/components/input-date-time/input-date-time.component.mjs +0 -35
  632. package/esm2022/components/input-date-time/input-date-time.directive.mjs +0 -178
  633. package/esm2022/components/input-date-time/input-date-time.mjs +0 -9
  634. package/esm2022/components/input-date-time/input-date-time.options.mjs +0 -20
  635. package/esm2022/components/input-date-time/taiga-ui-kit-components-input-date-time.mjs +0 -5
  636. package/esm2022/components/input-inline/index.mjs +0 -2
  637. package/esm2022/components/input-inline/input-inline.component.mjs +0 -23
  638. package/esm2022/components/input-inline/taiga-ui-kit-components-input-inline.mjs +0 -5
  639. package/esm2022/components/input-month/index.mjs +0 -5
  640. package/esm2022/components/input-month/input-month.component.mjs +0 -53
  641. package/esm2022/components/input-month/input-month.directive.mjs +0 -65
  642. package/esm2022/components/input-month/input-month.mjs +0 -9
  643. package/esm2022/components/input-month/input-month.options.mjs +0 -19
  644. package/esm2022/components/input-month/taiga-ui-kit-components-input-month.mjs +0 -5
  645. package/esm2022/components/input-month-range/index.mjs +0 -4
  646. package/esm2022/components/input-month-range/input-month-range.directive.mjs +0 -86
  647. package/esm2022/components/input-month-range/input-month-range.mjs +0 -7
  648. package/esm2022/components/input-month-range/input-month-range.options.mjs +0 -13
  649. package/esm2022/components/input-month-range/taiga-ui-kit-components-input-month-range.mjs +0 -5
  650. package/esm2022/components/input-number/index.mjs +0 -6
  651. package/esm2022/components/input-number/input-number.directive.mjs +0 -197
  652. package/esm2022/components/input-number/input-number.mjs +0 -9
  653. package/esm2022/components/input-number/input-number.options.mjs +0 -15
  654. package/esm2022/components/input-number/quantum.directive.mjs +0 -69
  655. package/esm2022/components/input-number/step/input-number-step.component.mjs +0 -58
  656. package/esm2022/components/input-number/taiga-ui-kit-components-input-number.mjs +0 -5
  657. package/esm2022/components/input-password/index.mjs +0 -3
  658. package/esm2022/components/input-password/input-password.component.mjs +0 -69
  659. package/esm2022/components/input-password/input-password.options.mjs +0 -24
  660. package/esm2022/components/input-password/taiga-ui-kit-components-input-password.mjs +0 -5
  661. package/esm2022/components/input-phone/index.mjs +0 -3
  662. package/esm2022/components/input-phone/input-phone.directive.mjs +0 -137
  663. package/esm2022/components/input-phone/input-phone.options.mjs +0 -9
  664. package/esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs +0 -5
  665. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +0 -41
  666. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +0 -17
  667. package/esm2022/components/input-phone-international/index.mjs +0 -3
  668. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +0 -210
  669. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +0 -19
  670. package/esm2022/components/input-phone-international/taiga-ui-kit-components-input-phone-international.mjs +0 -5
  671. package/esm2022/components/input-pin/index.mjs +0 -2
  672. package/esm2022/components/input-pin/input-pin.component.mjs +0 -66
  673. package/esm2022/components/input-pin/taiga-ui-kit-components-input-pin.mjs +0 -5
  674. package/esm2022/components/input-range/index.mjs +0 -3
  675. package/esm2022/components/input-range/input-range.component.mjs +0 -185
  676. package/esm2022/components/input-range/input-range.mjs +0 -4
  677. package/esm2022/components/input-range/taiga-ui-kit-components-input-range.mjs +0 -5
  678. package/esm2022/components/input-slider/index.mjs +0 -3
  679. package/esm2022/components/input-slider/input-slider.directive.mjs +0 -109
  680. package/esm2022/components/input-slider/input-slider.mjs +0 -9
  681. package/esm2022/components/input-slider/taiga-ui-kit-components-input-slider.mjs +0 -5
  682. package/esm2022/components/input-time/index.mjs +0 -5
  683. package/esm2022/components/input-time/input-time.component.mjs +0 -64
  684. package/esm2022/components/input-time/input-time.directive.mjs +0 -159
  685. package/esm2022/components/input-time/input-time.mjs +0 -4
  686. package/esm2022/components/input-time/input-time.options.mjs +0 -10
  687. package/esm2022/components/input-time/taiga-ui-kit-components-input-time.mjs +0 -5
  688. package/esm2022/components/input-year/index.mjs +0 -4
  689. package/esm2022/components/input-year/input-year.directive.mjs +0 -103
  690. package/esm2022/components/input-year/input-year.mjs +0 -4
  691. package/esm2022/components/input-year/input-year.options.mjs +0 -12
  692. package/esm2022/components/input-year/taiga-ui-kit-components-input-year.mjs +0 -5
  693. package/esm2022/components/items-with-more/index.mjs +0 -6
  694. package/esm2022/components/items-with-more/items-with-more.component.mjs +0 -77
  695. package/esm2022/components/items-with-more/items-with-more.directive.mjs +0 -46
  696. package/esm2022/components/items-with-more/items-with-more.mjs +0 -11
  697. package/esm2022/components/items-with-more/items-with-more.service.mjs +0 -85
  698. package/esm2022/components/items-with-more/more.directive.mjs +0 -18
  699. package/esm2022/components/items-with-more/taiga-ui-kit-components-items-with-more.mjs +0 -5
  700. package/esm2022/components/like/index.mjs +0 -3
  701. package/esm2022/components/like/like.component.mjs +0 -46
  702. package/esm2022/components/like/like.options.mjs +0 -10
  703. package/esm2022/components/like/taiga-ui-kit-components-like.mjs +0 -5
  704. package/esm2022/components/line-clamp/index.mjs +0 -4
  705. package/esm2022/components/line-clamp/line-clamp-box.component.mjs +0 -25
  706. package/esm2022/components/line-clamp/line-clamp-position.directive.mjs +0 -27
  707. package/esm2022/components/line-clamp/line-clamp.component.mjs +0 -90
  708. package/esm2022/components/line-clamp/line-clamp.options.mjs +0 -15
  709. package/esm2022/components/line-clamp/taiga-ui-kit-components-line-clamp.mjs +0 -5
  710. package/esm2022/components/message/index.mjs +0 -2
  711. package/esm2022/components/message/message.directive.mjs +0 -43
  712. package/esm2022/components/message/taiga-ui-kit-components-message.mjs +0 -5
  713. package/esm2022/components/multi-select/index.mjs +0 -6
  714. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +0 -51
  715. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +0 -18
  716. package/esm2022/components/multi-select/multi-select-native/multi-select-native.component.mjs +0 -57
  717. package/esm2022/components/multi-select/multi-select-option/multi-select-option.component.mjs +0 -47
  718. package/esm2022/components/multi-select/multi-select.mjs +0 -9
  719. package/esm2022/components/multi-select/taiga-ui-kit-components-multi-select.mjs +0 -5
  720. package/esm2022/components/notification-middle/index.mjs +0 -4
  721. package/esm2022/components/notification-middle/notification-middle.component.mjs +0 -57
  722. package/esm2022/components/notification-middle/notification-middle.directive.mjs +0 -21
  723. package/esm2022/components/notification-middle/notification-middle.service.mjs +0 -22
  724. package/esm2022/components/notification-middle/taiga-ui-kit-components-notification-middle.mjs +0 -5
  725. package/esm2022/components/pager/index.mjs +0 -2
  726. package/esm2022/components/pager/pager.component.mjs +0 -97
  727. package/esm2022/components/pager/taiga-ui-kit-components-pager.mjs +0 -5
  728. package/esm2022/components/pagination/index.mjs +0 -2
  729. package/esm2022/components/pagination/pagination.component.mjs +0 -213
  730. package/esm2022/components/pagination/taiga-ui-kit-components-pagination.mjs +0 -5
  731. package/esm2022/components/pdf-viewer/index.mjs +0 -5
  732. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +0 -28
  733. package/esm2022/components/pdf-viewer/pdf-viewer.directive.mjs +0 -21
  734. package/esm2022/components/pdf-viewer/pdf-viewer.options.mjs +0 -17
  735. package/esm2022/components/pdf-viewer/pdf-viewer.service.mjs +0 -22
  736. package/esm2022/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.mjs +0 -5
  737. package/esm2022/components/pin/index.mjs +0 -2
  738. package/esm2022/components/pin/pin.directive.mjs +0 -35
  739. package/esm2022/components/pin/taiga-ui-kit-components-pin.mjs +0 -5
  740. package/esm2022/components/preview/action/preview-action.directive.mjs +0 -30
  741. package/esm2022/components/preview/dialog/index.mjs +0 -4
  742. package/esm2022/components/preview/dialog/preview-dialog.component.mjs +0 -28
  743. package/esm2022/components/preview/dialog/preview-dialog.directive.mjs +0 -21
  744. package/esm2022/components/preview/dialog/preview-dialog.service.mjs +0 -18
  745. package/esm2022/components/preview/dialog/taiga-ui-kit-components-preview-dialog.mjs +0 -5
  746. package/esm2022/components/preview/index.mjs +0 -8
  747. package/esm2022/components/preview/pagination/preview-pagination.component.mjs +0 -49
  748. package/esm2022/components/preview/preview.component.mjs +0 -142
  749. package/esm2022/components/preview/preview.mjs +0 -13
  750. package/esm2022/components/preview/taiga-ui-kit-components-preview.mjs +0 -5
  751. package/esm2022/components/preview/title/preview-title.component.mjs +0 -16
  752. package/esm2022/components/preview/zoom/preview-zoom.component.mjs +0 -84
  753. package/esm2022/components/progress/index.mjs +0 -9
  754. package/esm2022/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.mjs +0 -39
  755. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +0 -25
  756. package/esm2022/components/progress/progress-bar/progress-color-segments.directive.mjs +0 -58
  757. package/esm2022/components/progress/progress-circle/progress-circle.component.mjs +0 -45
  758. package/esm2022/components/progress/progress-label/progress-label.component.mjs +0 -12
  759. package/esm2022/components/progress/progress-segmented/progress-segmented.directive.mjs +0 -34
  760. package/esm2022/components/progress/progress.mjs +0 -15
  761. package/esm2022/components/progress/progress.options.mjs +0 -13
  762. package/esm2022/components/progress/taiga-ui-kit-components-progress.mjs +0 -5
  763. package/esm2022/components/pulse/index.mjs +0 -2
  764. package/esm2022/components/pulse/pulse.component.mjs +0 -34
  765. package/esm2022/components/pulse/taiga-ui-kit-components-pulse.mjs +0 -5
  766. package/esm2022/components/push/index.mjs +0 -7
  767. package/esm2022/components/push/push-alert.component.mjs +0 -29
  768. package/esm2022/components/push/push.component.mjs +0 -39
  769. package/esm2022/components/push/push.directive.mjs +0 -33
  770. package/esm2022/components/push/push.mjs +0 -5
  771. package/esm2022/components/push/push.options.mjs +0 -21
  772. package/esm2022/components/push/push.service.mjs +0 -19
  773. package/esm2022/components/push/taiga-ui-kit-components-push.mjs +0 -5
  774. package/esm2022/components/radio/index.mjs +0 -5
  775. package/esm2022/components/radio/radio.component.mjs +0 -53
  776. package/esm2022/components/radio/radio.directive.mjs +0 -32
  777. package/esm2022/components/radio/radio.mjs +0 -4
  778. package/esm2022/components/radio/radio.options.mjs +0 -13
  779. package/esm2022/components/radio/taiga-ui-kit-components-radio.mjs +0 -5
  780. package/esm2022/components/radio-list/index.mjs +0 -2
  781. package/esm2022/components/radio-list/radio-list.component.mjs +0 -64
  782. package/esm2022/components/radio-list/taiga-ui-kit-components-radio-list.mjs +0 -5
  783. package/esm2022/components/range/index.mjs +0 -3
  784. package/esm2022/components/range/range-change.directive.mjs +0 -78
  785. package/esm2022/components/range/range.component.mjs +0 -164
  786. package/esm2022/components/range/taiga-ui-kit-components-range.mjs +0 -5
  787. package/esm2022/components/rating/index.mjs +0 -3
  788. package/esm2022/components/rating/rating.component.mjs +0 -64
  789. package/esm2022/components/rating/rating.options.mjs +0 -13
  790. package/esm2022/components/rating/taiga-ui-kit-components-rating.mjs +0 -5
  791. package/esm2022/components/routable-dialog/generate-dialogable-route.mjs +0 -17
  792. package/esm2022/components/routable-dialog/index.mjs +0 -3
  793. package/esm2022/components/routable-dialog/routable-dialog.component.mjs +0 -53
  794. package/esm2022/components/routable-dialog/taiga-ui-kit-components-routable-dialog.mjs +0 -5
  795. package/esm2022/components/segmented/index.mjs +0 -3
  796. package/esm2022/components/segmented/segmented.component.mjs +0 -67
  797. package/esm2022/components/segmented/segmented.directive.mjs +0 -65
  798. package/esm2022/components/segmented/taiga-ui-kit-components-segmented.mjs +0 -5
  799. package/esm2022/components/select/index.mjs +0 -5
  800. package/esm2022/components/select/native-select/native-select.component.mjs +0 -76
  801. package/esm2022/components/select/select-option/select-option.component.mjs +0 -51
  802. package/esm2022/components/select/select.directive.mjs +0 -56
  803. package/esm2022/components/select/select.mjs +0 -4
  804. package/esm2022/components/select/taiga-ui-kit-components-select.mjs +0 -5
  805. package/esm2022/components/slider/helpers/key-steps.mjs +0 -36
  806. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +0 -110
  807. package/esm2022/components/slider/helpers/slider-readonly.directive.mjs +0 -75
  808. package/esm2022/components/slider/helpers/slider-thumb-label.component.mjs +0 -38
  809. package/esm2022/components/slider/index.mjs +0 -8
  810. package/esm2022/components/slider/slider.component.mjs +0 -124
  811. package/esm2022/components/slider/slider.mjs +0 -12
  812. package/esm2022/components/slider/slider.options.mjs +0 -16
  813. package/esm2022/components/slider/taiga-ui-kit-components-slider.mjs +0 -5
  814. package/esm2022/components/slides/index.mjs +0 -2
  815. package/esm2022/components/slides/slides.directive.mjs +0 -51
  816. package/esm2022/components/slides/taiga-ui-kit-components-slides.mjs +0 -5
  817. package/esm2022/components/status/index.mjs +0 -2
  818. package/esm2022/components/status/status.directive.mjs +0 -35
  819. package/esm2022/components/status/taiga-ui-kit-components-status.mjs +0 -5
  820. package/esm2022/components/stepper/index.mjs +0 -4
  821. package/esm2022/components/stepper/step.component.mjs +0 -58
  822. package/esm2022/components/stepper/stepper.component.mjs +0 -118
  823. package/esm2022/components/stepper/stepper.mjs +0 -4
  824. package/esm2022/components/stepper/taiga-ui-kit-components-stepper.mjs +0 -5
  825. package/esm2022/components/switch/index.mjs +0 -3
  826. package/esm2022/components/switch/switch.component.mjs +0 -63
  827. package/esm2022/components/switch/switch.options.mjs +0 -15
  828. package/esm2022/components/switch/taiga-ui-kit-components-switch.mjs +0 -5
  829. package/esm2022/components/tabs/index.mjs +0 -9
  830. package/esm2022/components/tabs/tab.directive.mjs +0 -47
  831. package/esm2022/components/tabs/tabs-horizontal.directive.mjs +0 -108
  832. package/esm2022/components/tabs/tabs-vertical.directive.mjs +0 -38
  833. package/esm2022/components/tabs/tabs-with-more.component.mjs +0 -213
  834. package/esm2022/components/tabs/tabs.directive.mjs +0 -79
  835. package/esm2022/components/tabs/tabs.mjs +0 -15
  836. package/esm2022/components/tabs/tabs.options.mjs +0 -19
  837. package/esm2022/components/tabs/tabs.providers.mjs +0 -35
  838. package/esm2022/components/tabs/taiga-ui-kit-components-tabs.mjs +0 -5
  839. package/esm2022/components/taiga-ui-kit-components.mjs +0 -5
  840. package/esm2022/components/textarea/index.mjs +0 -4
  841. package/esm2022/components/textarea/taiga-ui-kit-components-textarea.mjs +0 -5
  842. package/esm2022/components/textarea/textarea-limit.directive.mjs +0 -93
  843. package/esm2022/components/textarea/textarea.component.mjs +0 -58
  844. package/esm2022/components/textarea/textarea.options.mjs +0 -7
  845. package/esm2022/components/tiles/index.mjs +0 -7
  846. package/esm2022/components/tiles/taiga-ui-kit-components-tiles.mjs +0 -5
  847. package/esm2022/components/tiles/tile-handle.directive.mjs +0 -60
  848. package/esm2022/components/tiles/tile.component.mjs +0 -69
  849. package/esm2022/components/tiles/tile.service.mjs +0 -90
  850. package/esm2022/components/tiles/tiles.component.mjs +0 -70
  851. package/esm2022/components/tiles/tiles.mjs +0 -5
  852. package/esm2022/components/tiles/tiles.tokens.mjs +0 -37
  853. package/esm2022/components/toast/index.mjs +0 -6
  854. package/esm2022/components/toast/taiga-ui-kit-components-toast.mjs +0 -5
  855. package/esm2022/components/toast/toast.component.mjs +0 -50
  856. package/esm2022/components/toast/toast.directive.mjs +0 -68
  857. package/esm2022/components/toast/toast.mjs +0 -4
  858. package/esm2022/components/toast/toast.options.mjs +0 -8
  859. package/esm2022/components/toast/toast.service.mjs +0 -54
  860. package/esm2022/components/tree/components/tree/tree.component.mjs +0 -64
  861. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +0 -63
  862. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +0 -44
  863. package/esm2022/components/tree/directives/tree-children.directive.mjs +0 -24
  864. package/esm2022/components/tree/directives/tree-controller.directive.mjs +0 -57
  865. package/esm2022/components/tree/directives/tree-item-controller.directive.mjs +0 -32
  866. package/esm2022/components/tree/directives/tree-node.directive.mjs +0 -32
  867. package/esm2022/components/tree/index.mjs +0 -12
  868. package/esm2022/components/tree/misc/tree.constants.mjs +0 -9
  869. package/esm2022/components/tree/misc/tree.interfaces.mjs +0 -2
  870. package/esm2022/components/tree/misc/tree.service.mjs +0 -31
  871. package/esm2022/components/tree/misc/tree.tokens.mjs +0 -43
  872. package/esm2022/components/tree/taiga-ui-kit-components-tree.mjs +0 -5
  873. package/esm2022/components/tree/tree.mjs +0 -17
  874. package/esm2022/directives/button-close/button-close.directive.mjs +0 -33
  875. package/esm2022/directives/button-close/index.mjs +0 -2
  876. package/esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs +0 -5
  877. package/esm2022/directives/button-group/button-group.directive.mjs +0 -29
  878. package/esm2022/directives/button-group/index.mjs +0 -2
  879. package/esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs +0 -5
  880. package/esm2022/directives/button-select/button-select.directive.mjs +0 -57
  881. package/esm2022/directives/button-select/index.mjs +0 -2
  882. package/esm2022/directives/button-select/taiga-ui-kit-directives-button-select.mjs +0 -5
  883. package/esm2022/directives/chevron/chevron.directive.mjs +0 -45
  884. package/esm2022/directives/chevron/index.mjs +0 -2
  885. package/esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs +0 -5
  886. package/esm2022/directives/connected/connected.directive.mjs +0 -32
  887. package/esm2022/directives/connected/index.mjs +0 -2
  888. package/esm2022/directives/connected/taiga-ui-kit-directives-connected.mjs +0 -5
  889. package/esm2022/directives/copy/copy.component.mjs +0 -54
  890. package/esm2022/directives/copy/copy.directive.mjs +0 -71
  891. package/esm2022/directives/copy/copy.mjs +0 -4
  892. package/esm2022/directives/copy/copy.options.mjs +0 -3
  893. package/esm2022/directives/copy/index.mjs +0 -6
  894. package/esm2022/directives/copy/taiga-ui-kit-directives-copy.mjs +0 -5
  895. package/esm2022/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.mjs +0 -105
  896. package/esm2022/directives/data-list-dropdown-manager/index.mjs +0 -2
  897. package/esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +0 -5
  898. package/esm2022/directives/fade/fade.directive.mjs +0 -92
  899. package/esm2022/directives/fade/index.mjs +0 -2
  900. package/esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs +0 -5
  901. package/esm2022/directives/fluid-typography/fluid-typography.directive.mjs +0 -63
  902. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +0 -13
  903. package/esm2022/directives/fluid-typography/index.mjs +0 -3
  904. package/esm2022/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.mjs +0 -5
  905. package/esm2022/directives/highlight/highlight.directive.mjs +0 -92
  906. package/esm2022/directives/highlight/index.mjs +0 -2
  907. package/esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs +0 -5
  908. package/esm2022/directives/icon-badge/icon-badge.directive.mjs +0 -41
  909. package/esm2022/directives/icon-badge/index.mjs +0 -2
  910. package/esm2022/directives/icon-badge/taiga-ui-kit-directives-icon-badge.mjs +0 -5
  911. package/esm2022/directives/index.mjs +0 -21
  912. package/esm2022/directives/lazy-loading/index.mjs +0 -3
  913. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +0 -58
  914. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +0 -23
  915. package/esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs +0 -5
  916. package/esm2022/directives/password/index.mjs +0 -3
  917. package/esm2022/directives/password/password.directive.mjs +0 -67
  918. package/esm2022/directives/password/password.options.mjs +0 -8
  919. package/esm2022/directives/password/taiga-ui-kit-directives-password.mjs +0 -5
  920. package/esm2022/directives/present/index.mjs +0 -2
  921. package/esm2022/directives/present/present.directive.mjs +0 -33
  922. package/esm2022/directives/present/taiga-ui-kit-directives-present.mjs +0 -5
  923. package/esm2022/directives/sensitive/index.mjs +0 -2
  924. package/esm2022/directives/sensitive/sensitive.directive.mjs +0 -48
  925. package/esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs +0 -5
  926. package/esm2022/directives/shimmer/index.mjs +0 -2
  927. package/esm2022/directives/shimmer/shimmer.directive.mjs +0 -68
  928. package/esm2022/directives/shimmer/taiga-ui-kit-directives-shimmer.mjs +0 -5
  929. package/esm2022/directives/skeleton/index.mjs +0 -2
  930. package/esm2022/directives/skeleton/skeleton.directive.mjs +0 -69
  931. package/esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs +0 -5
  932. package/esm2022/directives/taiga-ui-kit-directives.mjs +0 -5
  933. package/esm2022/directives/tooltip/index.mjs +0 -3
  934. package/esm2022/directives/tooltip/taiga-ui-kit-directives-tooltip.mjs +0 -5
  935. package/esm2022/directives/tooltip/tooltip.directive.mjs +0 -92
  936. package/esm2022/directives/tooltip/tooltip.options.mjs +0 -6
  937. package/esm2022/directives/unfinished-validator/index.mjs +0 -3
  938. package/esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs +0 -5
  939. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +0 -36
  940. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +0 -7
  941. package/esm2022/directives/unmask-handler/index.mjs +0 -2
  942. package/esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs +0 -5
  943. package/esm2022/directives/unmask-handler/unmask-handler.directive.mjs +0 -35
  944. package/esm2022/index.mjs +0 -6
  945. package/esm2022/pipes/emails/emails.options.mjs +0 -13
  946. package/esm2022/pipes/emails/emails.pipe.mjs +0 -26
  947. package/esm2022/pipes/emails/index.mjs +0 -3
  948. package/esm2022/pipes/emails/taiga-ui-kit-pipes-emails.mjs +0 -5
  949. package/esm2022/pipes/field-error/field-error-content-pipe.mjs +0 -42
  950. package/esm2022/pipes/field-error/field-error-pipe.mjs +0 -103
  951. package/esm2022/pipes/field-error/index.mjs +0 -3
  952. package/esm2022/pipes/field-error/taiga-ui-kit-pipes-field-error.mjs +0 -5
  953. package/esm2022/pipes/filter-by-input/filter-by-input.pipe.mjs +0 -68
  954. package/esm2022/pipes/filter-by-input/index.mjs +0 -2
  955. package/esm2022/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.mjs +0 -5
  956. package/esm2022/pipes/hide-selected/hide-selected.pipe.mjs +0 -46
  957. package/esm2022/pipes/hide-selected/index.mjs +0 -2
  958. package/esm2022/pipes/hide-selected/taiga-ui-kit-pipes-hide-selected.mjs +0 -5
  959. package/esm2022/pipes/index.mjs +0 -8
  960. package/esm2022/pipes/sort-countries/index.mjs +0 -2
  961. package/esm2022/pipes/sort-countries/sort-countries.pipe.mjs +0 -23
  962. package/esm2022/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.mjs +0 -5
  963. package/esm2022/pipes/stringify/index.mjs +0 -2
  964. package/esm2022/pipes/stringify/stringify.pipe.mjs +0 -18
  965. package/esm2022/pipes/stringify/taiga-ui-kit-pipes-stringify.mjs +0 -5
  966. package/esm2022/pipes/stringify-content/index.mjs +0 -2
  967. package/esm2022/pipes/stringify-content/stringify-content.pipe.mjs +0 -18
  968. package/esm2022/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.mjs +0 -5
  969. package/esm2022/pipes/taiga-ui-kit-pipes.mjs +0 -5
  970. package/esm2022/taiga-ui-kit.mjs +0 -5
  971. package/esm2022/tokens/calendar-date-stream.mjs +0 -25
  972. package/esm2022/tokens/date-inputs-value-transformers.mjs +0 -21
  973. package/esm2022/tokens/i18n.mjs +0 -75
  974. package/esm2022/tokens/index.mjs +0 -10
  975. package/esm2022/tokens/input-date-options.mjs +0 -13
  976. package/esm2022/tokens/items-handlers.mjs +0 -27
  977. package/esm2022/tokens/mobile-calendar.mjs +0 -13
  978. package/esm2022/tokens/month-formatter.mjs +0 -12
  979. package/esm2022/tokens/preview-icons.mjs +0 -17
  980. package/esm2022/tokens/taiga-ui-kit-tokens.mjs +0 -5
  981. package/esm2022/tokens/validation-errors.mjs +0 -6
  982. package/esm2022/utils/create-time-periods.mjs +0 -12
  983. package/esm2022/utils/index.mjs +0 -7
  984. package/esm2022/utils/inject-value.mjs +0 -11
  985. package/esm2022/utils/is-flat.mjs +0 -4
  986. package/esm2022/utils/maskito.binding.mjs +0 -6
  987. package/esm2022/utils/phone.mjs +0 -6
  988. package/esm2022/utils/taiga-ui-kit-utils.mjs +0 -5
  989. package/esm2022/utils/toggle-day.mjs +0 -6
  990. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +0 -78
  991. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +0 -1
  992. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +0 -43
  993. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +0 -1
  994. package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -96
  995. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
  996. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  997. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  998. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +0 -64
  999. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +0 -1
  1000. package/fesm2022/taiga-ui-kit-components-slides.mjs +0 -57
  1001. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +0 -1
  1002. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +0 -39
  1003. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +0 -1
  1004. package/fesm2022/taiga-ui-kit-directives-copy.mjs +0 -126
  1005. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  1006. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +0 -47
  1007. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +0 -1
  1008. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +0 -82
  1009. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +0 -1
  1010. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
  1011. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
  1012. package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
  1013. package/pipes/field-error/field-error-pipe.d.ts +0 -29
  1014. package/pipes/field-error/index.d.ts +0 -2
  1015. package/tokens/calendar-date-stream.d.ts +0 -10
  1016. package/tokens/date-inputs-value-transformers.d.ts +0 -19
  1017. package/tokens/input-date-options.d.ts +0 -15
  1018. package/tokens/items-handlers.d.ts +0 -26
  1019. package/tokens/mobile-calendar.d.ts +0 -6
  1020. package/tokens/month-formatter.d.ts +0 -5
  1021. package/tokens/validation-errors.d.ts +0 -5
  1022. package/utils/phone.d.ts +0 -3
  1023. package/utils/toggle-day.d.ts +0 -2
  1024. /package/{directives → components}/copy/copy.d.ts +0 -0
  1025. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -1,14 +1,9 @@
1
- import { __decorate } from 'tslib';
2
- import { NgIf } from '@angular/common';
3
1
  import * as i0 from '@angular/core';
4
- import { inject, computed, EventEmitter, signal, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
5
- import { toSignal } from '@angular/core/rxjs-interop';
2
+ import { inject, computed, input, EventEmitter, signal, Input, Output, ChangeDetectionStrategy, Component } from '@angular/core';
6
3
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
7
4
  import { TuiDay, TuiMonthRange, TuiMonth, TUI_FIRST_DAY, TUI_LAST_DAY, TuiYear } from '@taiga-ui/cdk/date-time';
8
5
  import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
9
- import { TuiLet } from '@taiga-ui/cdk/directives/let';
10
- import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
11
- import { tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
6
+ import { tuiNullableSame } from '@taiga-ui/cdk/utils/miscellaneous';
12
7
  import { TuiCalendarYear } from '@taiga-ui/core/components/calendar';
13
8
  import { TuiLink } from '@taiga-ui/core/components/link';
14
9
  import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
@@ -26,13 +21,14 @@ const TODAY = TuiDay.currentLocal();
26
21
  class TuiCalendarMonth {
27
22
  constructor() {
28
23
  this.isYearPickerShown = false;
29
- this.months = toSignal(inject(TUI_CALENDAR_MONTHS));
24
+ this.months = inject(TUI_CALENDAR_MONTHS);
30
25
  this.isRangePicking = computed((x = this.value()) => (!this.options.rangeMode && x instanceof TuiMonthRange && x.isSingleMonth) || // TODO(v5): remove this condition
31
26
  (this.options.rangeMode && x instanceof TuiMonth));
27
+ this.handler = computed(() => this.calculateDisabledItemHandlerWithMinMax(this.disabledItemHandler(), this.value(), this.isRangePicking(), this.min(), this.max(), this.minLength(), this.maxLength()));
32
28
  this.year = TODAY;
33
- this.disabledItemHandler = TUI_FALSE_HANDLER;
34
- this.minLength = null;
35
- this.maxLength = null;
29
+ this.minLength = input(null);
30
+ this.maxLength = input(null);
31
+ this.disabledItemHandler = input(TUI_FALSE_HANDLER);
36
32
  this.monthClick = new EventEmitter();
37
33
  this.hoveredItemChange = new EventEmitter();
38
34
  this.yearChange = new EventEmitter();
@@ -88,9 +84,6 @@ class TuiCalendarMonth {
88
84
  }
89
85
  return min < months && months < max ? 'middle' : null;
90
86
  }
91
- get disabledItemHandlerWithMinMax() {
92
- return this.calculateDisabledItemHandlerWithMinMax(this.disabledItemHandler, this.value(), this.isRangePicking(), this.min(), this.max(), this.minLength, this.maxLength);
93
- }
94
87
  getTuiMonth(monthNumber, yearNumber) {
95
88
  return new TuiMonth(yearNumber, monthNumber);
96
89
  }
@@ -104,7 +97,7 @@ class TuiCalendarMonth {
104
97
  }
105
98
  }
106
99
  onItemClick(month) {
107
- if (!this.disabledItemHandlerWithMinMax(month)) {
100
+ if (!this.handler()(month)) {
108
101
  this.monthClick.emit(month);
109
102
  }
110
103
  }
@@ -144,34 +137,16 @@ class TuiCalendarMonth {
144
137
  this.year = year;
145
138
  this.yearChange.emit(year);
146
139
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarMonth, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.12", type: TuiCalendarMonth, isStandalone: true, selector: "tui-calendar-month", inputs: { year: "year", disabledItemHandler: "disabledItemHandler", minLength: "minLength", maxLength: "maxLength", minSetter: ["min", "minSetter", (x) => x ?? TUI_FIRST_DAY], maxSetter: ["max", "maxSetter", (x) => x ?? TUI_LAST_DAY], valueSetter: ["value", "valueSetter"] }, outputs: { monthClick: "monthClick", hoveredItemChange: "hoveredItemChange", yearChange: "yearChange" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarMonth)], ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n <div\n *tuiRepeatTimes=\"let row of 3\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let column of 4\">\n <div\n *tuiLet=\"getTuiMonth(row * 4 + column, year.year) as item\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandlerWithMinMax(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()?.[row * 4 + column] }}\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;block-size:12rem;inline-size:16rem;padding:1.125rem;box-sizing:content-box}.t-spin{margin-block-end:1rem}.t-cell{inline-size:4rem;border-block-start-width:.75rem;border-block-end-width:.75rem}.t-scrollbar{block-size:inherit;inline-size:inherit}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["rangeMode", "disabledItemHandler", "initialItem", "min", "max", "value"], outputs: ["yearClick"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiCalendarMonth, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiCalendarMonth, isStandalone: true, selector: "tui-calendar-month", inputs: { year: { classPropertyName: "year", publicName: "year", isSignal: false, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, minSetter: { classPropertyName: "minSetter", publicName: "min", isSignal: false, isRequired: false, transformFunction: (x) => x ?? TUI_FIRST_DAY }, maxSetter: { classPropertyName: "maxSetter", publicName: "max", isSignal: false, isRequired: false, transformFunction: (x) => x ?? TUI_LAST_DAY }, valueSetter: { classPropertyName: "valueSetter", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { monthClick: "monthClick", hoveredItemChange: "hoveredItemChange", yearChange: "yearChange" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarMonth)], ngImport: i0, template: "@if (isYearPickerShown) {\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n @for (_ of '-'.repeat(3); track $index) {\n @let row = $index;\n <div class=\"t-row\">\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getTuiMonth(row * 4 + $index, year.year);\n <div\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"handler()(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()[row * 4 + $index] }}\n </div>\n }\n </div>\n }\n}\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-body-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;block-size:12rem;inline-size:16rem;padding:1.125rem;box-sizing:content-box}.t-spin{margin-block-end:1rem}.t-cell{inline-size:4rem;border-block-start-width:.75rem;border-block-end-width:.75rem}.t-scrollbar{block-size:inherit;inline-size:inherit}\n"], dependencies: [{ kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["rangeMode", "disabledItemHandler", "initialItem", "min", "max", "value"], outputs: ["yearClick"] }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
149
142
  }
150
- __decorate([
151
- tuiPure
152
- ], TuiCalendarMonth.prototype, "calculateDisabledItemHandlerWithMinMax", null);
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarMonth, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiCalendarMonth, decorators: [{
154
144
  type: Component,
155
- args: [{ standalone: true, selector: 'tui-calendar-month', imports: [
156
- NgIf,
157
- TuiCalendarYear,
158
- TuiHovered,
159
- TuiLet,
160
- TuiLink,
161
- TuiRepeatTimes,
162
- TuiScrollbar,
163
- TuiSpinButton,
164
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarMonth)], host: {
145
+ args: [{ selector: 'tui-calendar-month', imports: [TuiCalendarYear, TuiHovered, TuiLink, TuiScrollbar, TuiSpinButton], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarMonth)], host: {
165
146
  '[class._picking]': 'isRangePicking()',
166
- }, template: "<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n <div\n *tuiRepeatTimes=\"let row of 3\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let column of 4\">\n <div\n *tuiLet=\"getTuiMonth(row * 4 + column, year.year) as item\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandlerWithMinMax(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()?.[row * 4 + column] }}\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;block-size:12rem;inline-size:16rem;padding:1.125rem;box-sizing:content-box}.t-spin{margin-block-end:1rem}.t-cell{inline-size:4rem;border-block-start-width:.75rem;border-block-end-width:.75rem}.t-scrollbar{block-size:inherit;inline-size:inherit}\n"] }]
147
+ }, template: "@if (isYearPickerShown) {\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n @for (_ of '-'.repeat(3); track $index) {\n @let row = $index;\n <div class=\"t-row\">\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getTuiMonth(row * 4 + $index, year.year);\n <div\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"handler()(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()[row * 4 + $index] }}\n </div>\n }\n </div>\n }\n}\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-body-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;block-size:12rem;inline-size:16rem;padding:1.125rem;box-sizing:content-box}.t-spin{margin-block-end:1rem}.t-cell{inline-size:4rem;border-block-start-width:.75rem;border-block-end-width:.75rem}.t-scrollbar{block-size:inherit;inline-size:inherit}\n"] }]
167
148
  }], propDecorators: { year: [{
168
149
  type: Input
169
- }], disabledItemHandler: [{
170
- type: Input
171
- }], minLength: [{
172
- type: Input
173
- }], maxLength: [{
174
- type: Input
175
150
  }], monthClick: [{
176
151
  type: Output
177
152
  }], hoveredItemChange: [{
@@ -187,7 +162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
187
162
  }], valueSetter: [{
188
163
  type: Input,
189
164
  args: ['value']
190
- }], calculateDisabledItemHandlerWithMinMax: [] } });
165
+ }] } });
191
166
 
192
167
  /**
193
168
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-month.mjs","sources":["../../../projects/kit/components/calendar-month/calendar-month.options.ts","../../../projects/kit/components/calendar-month/calendar-month.component.ts","../../../projects/kit/components/calendar-month/calendar-month.template.html","../../../projects/kit/components/calendar-month/taiga-ui-kit-components-calendar-month.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCalendarMonthOptions {\n rangeMode: boolean;\n}\n\nexport const TUI_CALENDAR_MONTH_DEFAULT_OPTIONS: TuiCalendarMonthOptions = {\n rangeMode: false,\n};\n\nexport const [TUI_CALENDAR_MONTH_OPTIONS, tuiCalendarMonthOptionsProvider] =\n tuiCreateOptions(TUI_CALENDAR_MONTH_DEFAULT_OPTIONS);\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n EventEmitter,\n inject,\n Input,\n Output,\n signal,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiSpinButton} from '@taiga-ui/core/components/spin-button';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TUI_CALENDAR_MONTHS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_CALENDAR_MONTH_OPTIONS} from './calendar-month.options';\n\nconst TODAY = TuiDay.currentLocal();\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-month',\n imports: [\n NgIf,\n TuiCalendarYear,\n TuiHovered,\n TuiLet,\n TuiLink,\n TuiRepeatTimes,\n TuiScrollbar,\n TuiSpinButton,\n ],\n templateUrl: './calendar-month.template.html',\n styleUrls: ['./calendar-month.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiCalendarMonth)],\n host: {\n '[class._picking]': 'isRangePicking()',\n },\n})\nexport class TuiCalendarMonth {\n protected isYearPickerShown = false;\n protected readonly months = toSignal(inject(TUI_CALENDAR_MONTHS));\n protected readonly isRangePicking = computed(\n (x = this.value()) =>\n (!this.options.rangeMode && x instanceof TuiMonthRange && x.isSingleMonth) || // TODO(v5): remove this condition\n (this.options.rangeMode && x instanceof TuiMonth),\n );\n\n @Input()\n public year: TuiYear = TODAY;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiMonth> = TUI_FALSE_HANDLER;\n\n @Input()\n public minLength: number | null = null;\n\n @Input()\n public maxLength: number | null = null;\n\n @Output()\n public readonly monthClick = new EventEmitter<TuiMonth>();\n\n @Output()\n public readonly hoveredItemChange = new EventEmitter<TuiMonth | null>();\n\n @Output()\n public readonly yearChange = new EventEmitter<TuiYear>();\n\n public options = inject(TUI_CALENDAR_MONTH_OPTIONS);\n public readonly min = signal<TuiMonth>(TUI_FIRST_DAY);\n public readonly max = signal<TuiMonth>(TUI_LAST_DAY);\n public readonly value = signal<TuiMonth | TuiMonthRange | null>(null);\n public hoveredItem: TuiMonth | null = null;\n\n // TODO(v5): use signal inputs\n @Input({alias: 'min', transform: (x: TuiMonth | null) => x ?? TUI_FIRST_DAY})\n public set minSetter(x: TuiMonth) {\n this.min.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input({alias: 'max', transform: (x: TuiMonth | null) => x ?? TUI_LAST_DAY})\n public set maxSetter(x: TuiMonth) {\n this.max.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('value')\n public set valueSetter(x: TuiMonth | TuiMonthRange | null) {\n this.value.set(x);\n }\n\n public onNextYear(): void {\n this.updateActiveYear(this.year.append({year: 1}));\n }\n\n public onPreviousYear(): void {\n this.updateActiveYear(this.year.append({year: -1}));\n }\n\n public getItemRange(item: TuiMonth): 'active' | 'end' | 'middle' | 'start' | null {\n const value = this.value();\n const {hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (!this.options.rangeMode && value instanceof TuiMonth) {\n return value?.monthSame(item) ? 'active' : null;\n }\n\n const selectedRange =\n value instanceof TuiMonth ? new TuiMonthRange(value, value) : value;\n const months = item.month + item.year * 12;\n const hovered = hoveredItem ? hoveredItem.month + hoveredItem.year * 12 : null;\n const from = selectedRange.from.month + selectedRange.from.year * 12;\n const to = selectedRange.to.month + selectedRange.to.year * 12;\n const picking = this.isRangePicking() ? hovered : null;\n const min = Math.min(from, to, picking ?? from);\n const max = Math.max(from, to, picking ?? from);\n\n if (min === max && min === months) {\n return 'active';\n }\n\n if (min === months) {\n return 'start';\n }\n\n if (max === months) {\n return 'end';\n }\n\n return min < months && months < max ? 'middle' : null;\n }\n\n protected get disabledItemHandlerWithMinMax(): TuiBooleanHandler<TuiMonth> {\n return this.calculateDisabledItemHandlerWithMinMax(\n this.disabledItemHandler,\n this.value(),\n this.isRangePicking(),\n this.min(),\n this.max(),\n this.minLength,\n this.maxLength,\n );\n }\n\n protected getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth {\n return new TuiMonth(yearNumber, monthNumber);\n }\n\n protected isItemToday(item: TuiMonth): boolean {\n return TODAY.monthSame(item);\n }\n\n protected onPickerYearClick(year: number): void {\n this.isYearPickerShown = false;\n\n if (this.year.year !== year) {\n this.updateActiveYear(new TuiYear(year));\n }\n }\n\n protected onItemClick(month: TuiMonth): void {\n if (!this.disabledItemHandlerWithMinMax(month)) {\n this.monthClick.emit(month);\n }\n }\n\n protected onYearClick(): void {\n this.isYearPickerShown = true;\n }\n\n protected onItemHovered(hovered: boolean, item: TuiMonth): void {\n this.updateHoveredItem(hovered ? item : null);\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateDisabledItemHandlerWithMinMax(\n disabledItemHandler: TuiBooleanHandler<TuiMonth>,\n value: TuiMonth | TuiMonthRange | null,\n isRangePicking: boolean,\n min: TuiMonth,\n max: TuiMonth,\n minLength: number | null,\n maxLength: number | null,\n ): TuiBooleanHandler<TuiMonth> {\n return (item) => {\n const selectedMonth = value instanceof TuiMonthRange ? value.from : value;\n const delta =\n isRangePicking && selectedMonth\n ? Math.abs(\n item.year * 12 +\n item.month -\n selectedMonth.year * 12 -\n selectedMonth.month,\n )\n : 0;\n\n const tooLong = delta && maxLength && delta > maxLength;\n const tooShort = delta && minLength && delta < minLength;\n\n return (\n tooLong ||\n tooShort ||\n item.monthBefore(min) ||\n item.monthAfter(max) ||\n disabledItemHandler(item)\n );\n };\n }\n\n private updateHoveredItem(month: TuiMonth | null): void {\n if (tuiNullableSame(this.hoveredItem, month, (a, b) => a.monthSame(b))) {\n return;\n }\n\n this.hoveredItem = month;\n this.hoveredItemChange.emit(month);\n }\n\n private updateActiveYear(year: TuiYear): void {\n this.year = year;\n this.yearChange.emit(year);\n }\n}\n","<tui-scrollbar\n *ngIf=\"isYearPickerShown; else monthSelect\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #monthSelect>\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n <div\n *tuiRepeatTimes=\"let row of 3\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let column of 4\">\n <div\n *tuiLet=\"getTuiMonth(row * 4 + column, year.year) as item\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandlerWithMinMax(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()?.[row * 4 + column] }}\n </div>\n </ng-container>\n </div>\n</ng-template>\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-calendar-month.mjs","sources":["../../../projects/kit/components/calendar-month/calendar-month.options.ts","../../../projects/kit/components/calendar-month/calendar-month.component.ts","../../../projects/kit/components/calendar-month/calendar-month.template.html","../../../projects/kit/components/calendar-month/taiga-ui-kit-components-calendar-month.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCalendarMonthOptions {\n rangeMode: boolean;\n}\n\nexport const TUI_CALENDAR_MONTH_DEFAULT_OPTIONS: TuiCalendarMonthOptions = {\n rangeMode: false,\n};\n\nexport const [TUI_CALENDAR_MONTH_OPTIONS, tuiCalendarMonthOptionsProvider] =\n tuiCreateOptions(TUI_CALENDAR_MONTH_DEFAULT_OPTIONS);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n EventEmitter,\n inject,\n Input,\n input,\n Output,\n signal,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiSpinButton} from '@taiga-ui/core/components/spin-button';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TUI_CALENDAR_MONTHS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_CALENDAR_MONTH_OPTIONS} from './calendar-month.options';\n\nconst TODAY = TuiDay.currentLocal();\n\n@Component({\n selector: 'tui-calendar-month',\n imports: [TuiCalendarYear, TuiHovered, TuiLink, TuiScrollbar, TuiSpinButton],\n templateUrl: './calendar-month.template.html',\n styleUrl: './calendar-month.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiCalendarMonth)],\n host: {\n '[class._picking]': 'isRangePicking()',\n },\n})\nexport class TuiCalendarMonth {\n protected isYearPickerShown = false;\n protected readonly months = inject(TUI_CALENDAR_MONTHS);\n protected readonly isRangePicking = computed(\n (x = this.value()) =>\n (!this.options.rangeMode && x instanceof TuiMonthRange && x.isSingleMonth) || // TODO(v5): remove this condition\n (this.options.rangeMode && x instanceof TuiMonth),\n );\n\n protected readonly handler = computed(() =>\n this.calculateDisabledItemHandlerWithMinMax(\n this.disabledItemHandler(),\n this.value(),\n this.isRangePicking(),\n this.min(),\n this.max(),\n this.minLength(),\n this.maxLength(),\n ),\n );\n\n @Input()\n public year: TuiYear = TODAY;\n\n public readonly minLength = input<number | null>(null);\n public readonly maxLength = input<number | null>(null);\n public readonly disabledItemHandler =\n input<TuiBooleanHandler<TuiMonth>>(TUI_FALSE_HANDLER);\n\n @Output()\n public readonly monthClick = new EventEmitter<TuiMonth>();\n\n @Output()\n public readonly hoveredItemChange = new EventEmitter<TuiMonth | null>();\n\n @Output()\n public readonly yearChange = new EventEmitter<TuiYear>();\n\n public options = inject(TUI_CALENDAR_MONTH_OPTIONS);\n public readonly min = signal<TuiMonth>(TUI_FIRST_DAY);\n public readonly max = signal<TuiMonth>(TUI_LAST_DAY);\n public readonly value = signal<TuiMonth | TuiMonthRange | null>(null);\n public hoveredItem: TuiMonth | null = null;\n\n // TODO(v5): use signal inputs\n @Input({alias: 'min', transform: (x: TuiMonth | null) => x ?? TUI_FIRST_DAY})\n public set minSetter(x: TuiMonth) {\n this.min.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input({alias: 'max', transform: (x: TuiMonth | null) => x ?? TUI_LAST_DAY})\n public set maxSetter(x: TuiMonth) {\n this.max.set(x);\n }\n\n // TODO(v5): use signal inputs\n @Input('value')\n public set valueSetter(x: TuiMonth | TuiMonthRange | null) {\n this.value.set(x);\n }\n\n public onNextYear(): void {\n this.updateActiveYear(this.year.append({year: 1}));\n }\n\n public onPreviousYear(): void {\n this.updateActiveYear(this.year.append({year: -1}));\n }\n\n public getItemRange(item: TuiMonth): 'active' | 'end' | 'middle' | 'start' | null {\n const value = this.value();\n const {hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (!this.options.rangeMode && value instanceof TuiMonth) {\n return value?.monthSame(item) ? 'active' : null;\n }\n\n const selectedRange =\n value instanceof TuiMonth ? new TuiMonthRange(value, value) : value;\n const months = item.month + item.year * 12;\n const hovered = hoveredItem ? hoveredItem.month + hoveredItem.year * 12 : null;\n const from = selectedRange.from.month + selectedRange.from.year * 12;\n const to = selectedRange.to.month + selectedRange.to.year * 12;\n const picking = this.isRangePicking() ? hovered : null;\n const min = Math.min(from, to, picking ?? from);\n const max = Math.max(from, to, picking ?? from);\n\n if (min === max && min === months) {\n return 'active';\n }\n\n if (min === months) {\n return 'start';\n }\n\n if (max === months) {\n return 'end';\n }\n\n return min < months && months < max ? 'middle' : null;\n }\n\n protected getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth {\n return new TuiMonth(yearNumber, monthNumber);\n }\n\n protected isItemToday(item: TuiMonth): boolean {\n return TODAY.monthSame(item);\n }\n\n protected onPickerYearClick(year: number): void {\n this.isYearPickerShown = false;\n\n if (this.year.year !== year) {\n this.updateActiveYear(new TuiYear(year));\n }\n }\n\n protected onItemClick(month: TuiMonth): void {\n if (!this.handler()(month)) {\n this.monthClick.emit(month);\n }\n }\n\n protected onYearClick(): void {\n this.isYearPickerShown = true;\n }\n\n protected onItemHovered(hovered: boolean, item: TuiMonth): void {\n this.updateHoveredItem(hovered ? item : null);\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n private calculateDisabledItemHandlerWithMinMax(\n disabledItemHandler: TuiBooleanHandler<TuiMonth>,\n value: TuiMonth | TuiMonthRange | null,\n isRangePicking: boolean,\n min: TuiMonth,\n max: TuiMonth,\n minLength: number | null,\n maxLength: number | null,\n ): TuiBooleanHandler<TuiMonth> {\n return (item) => {\n const selectedMonth = value instanceof TuiMonthRange ? value.from : value;\n const delta =\n isRangePicking && selectedMonth\n ? Math.abs(\n item.year * 12 +\n item.month -\n selectedMonth.year * 12 -\n selectedMonth.month,\n )\n : 0;\n\n const tooLong = delta && maxLength && delta > maxLength;\n const tooShort = delta && minLength && delta < minLength;\n\n return (\n tooLong ||\n tooShort ||\n item.monthBefore(min) ||\n item.monthAfter(max) ||\n disabledItemHandler(item)\n );\n };\n }\n\n private updateHoveredItem(month: TuiMonth | null): void {\n if (tuiNullableSame(this.hoveredItem, month, (a, b) => a.monthSame(b))) {\n return;\n }\n\n this.hoveredItem = month;\n this.hoveredItemChange.emit(month);\n }\n\n private updateActiveYear(year: TuiYear): void {\n this.year = year;\n this.yearChange.emit(year);\n }\n}\n","@if (isYearPickerShown) {\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [initialItem]=\"year.year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-spin-button\n class=\"t-spin\"\n [focusable]=\"false\"\n [leftDisabled]=\"year.yearSameOrBefore(min())\"\n [rightDisabled]=\"year.yearSameOrAfter(max())\"\n (leftClick)=\"onPreviousYear()\"\n (rightClick)=\"onNextYear()\"\n >\n <button\n automation-id=\"tui-calendar-month__active-year\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ year.formattedYear }}\n </button>\n </tui-spin-button>\n @for (_ of '-'.repeat(3); track $index) {\n @let row = $index;\n <div class=\"t-row\">\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getTuiMonth(row * 4 + $index, year.year);\n <div\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"handler()(item)\"\n [class.t-cell_today]=\"isItemToday(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ months()[row * 4 + $index] }}\n </div>\n }\n </div>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,20 +1,16 @@
1
1
  import { TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiMonth } from '@taiga-ui/cdk/date-time';
2
- import { __decorate } from 'tslib';
3
- import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
4
2
  import * as i0 from '@angular/core';
5
- import { inject, ChangeDetectorRef, EventEmitter, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
6
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { inject, ChangeDetectorRef, EventEmitter, Input, Output, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { WA_IS_MOBILE } from '@ng-web-apis/platform';
7
5
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
8
- import { tuiWatch } from '@taiga-ui/cdk/observables';
9
6
  import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
10
- import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
11
- import { tuiIsString, tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
12
- import { tuiCalendarSheetOptionsProvider, TuiCalendar } from '@taiga-ui/core/components/calendar';
7
+ import { tuiIsString, tuiNullableSame } from '@taiga-ui/cdk/utils/miscellaneous';
8
+ import { TuiCalendar, tuiCalendarSheetOptionsProvider } from '@taiga-ui/core/components/calendar';
13
9
  import * as i1 from '@taiga-ui/core/components/data-list';
14
10
  import { TuiDataList } from '@taiga-ui/core/components/data-list';
15
11
  import { TuiIcon } from '@taiga-ui/core/components/icon';
16
12
  import { TUI_COMMON_ICONS, tuiAsAuxiliary } from '@taiga-ui/core/tokens';
17
- import { TUI_OTHER_DATE_TEXT, TUI_CALENDAR_DATE_STREAM } from '@taiga-ui/kit/tokens';
13
+ import { TUI_OTHER_DATE_TEXT, TUI_DAY_RANGE_PERIODS } from '@taiga-ui/kit/tokens';
18
14
 
19
15
  const calculateDisabledItemHandler = (disabledItemHandler, value, minLength) => (item) => {
20
16
  if (!value || value instanceof TuiDayRange || !minLength) {
@@ -63,10 +59,10 @@ class TuiCalendarRange {
63
59
  this.previousValue = null;
64
60
  this.hoveredItem = null;
65
61
  this.month = TuiMonth.currentLocal();
66
- this.otherDateText$ = inject(TUI_OTHER_DATE_TEXT);
62
+ this.otherDateText = inject(TUI_OTHER_DATE_TEXT);
67
63
  this.icons = inject(TUI_COMMON_ICONS);
68
64
  this.capsMapper = TUI_DAY_CAPS_MAPPER;
69
- this.mobile = inject(TUI_IS_MOBILE);
65
+ this.mobile = inject(WA_IS_MOBILE);
70
66
  this.disabledItemHandler = TUI_FALSE_HANDLER;
71
67
  this.markerHandler = null;
72
68
  this.items = [];
@@ -88,12 +84,7 @@ class TuiCalendarRange {
88
84
  (max === null || item.range.from.daySameOrBefore(max))),
89
85
  otherDateText || '',
90
86
  ];
91
- inject(TUI_CALENDAR_DATE_STREAM, { optional: true })
92
- ?.pipe(tuiWatch(), takeUntilDestroyed())
93
- .subscribe((value) => {
94
- this.currentValue = value;
95
- this.initDefaultViewedMonth();
96
- });
87
+ this.disabledMapper = (disabledItemHandler, value, minLength) => calculateDisabledItemHandler(disabledItemHandler, value, minLength);
97
88
  }
98
89
  set valueSetter(value) {
99
90
  this.currentValue = value;
@@ -131,9 +122,6 @@ class TuiCalendarRange {
131
122
  ngOnInit() {
132
123
  this.initDefaultViewedMonth();
133
124
  }
134
- get calculatedDisabledItemHandler() {
135
- return this.calculateDisabledItemHandler(this.disabledItemHandler, this.currentValue, this.minLength);
136
- }
137
125
  onEsc(event) {
138
126
  if (event.key !== 'Escape' || !(this.currentValue instanceof TuiDay)) {
139
127
  return;
@@ -189,9 +177,6 @@ class TuiCalendarRange {
189
177
  a.to.daySame(b.to.dayLimit(this.min, this.max)))) ||
190
178
  null));
191
179
  }
192
- calculateDisabledItemHandler(disabledItemHandler, value, minLength) {
193
- return calculateDisabledItemHandler(disabledItemHandler, value, minLength);
194
- }
195
180
  initDefaultViewedMonth() {
196
181
  if (this.currentValue instanceof TuiDay) {
197
182
  this.month = this.currentValue;
@@ -211,25 +196,22 @@ class TuiCalendarRange {
211
196
  findItemByDayRange(dayRange) {
212
197
  return this.items.find((item) => dayRange.daySame(item.range)) ?? null;
213
198
  }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
215
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarRange, isStandalone: true, selector: "tui-calendar-range", inputs: { disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", items: "items", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", item: "item", valueSetter: ["value", "valueSetter"], defaultViewedMonth: "defaultViewedMonth" }, outputs: { valueChange: "valueChange", itemChange: "itemChange" }, host: { listeners: { "document:keydown.capture": "onEsc($event)" }, properties: { "class._mobile": "mobile" } }, providers: [
199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiCalendarRange, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiCalendarRange, isStandalone: true, selector: "tui-calendar-range", inputs: { disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", items: "items", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", item: "item", valueSetter: ["value", "valueSetter"], defaultViewedMonth: "defaultViewedMonth" }, outputs: { valueChange: "valueChange", itemChange: "itemChange" }, host: { listeners: { "document:keydown.capture": "onEsc($event)" }, properties: { "class._mobile": "mobile" } }, providers: [
216
201
  tuiAsAuxiliary(TuiCalendarRange),
217
202
  tuiCalendarSheetOptionsProvider({ rangeMode: true }),
218
- ], usesOnChanges: true, ngImport: i0, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n<tui-calendar\n *ngIf=\"!items.length && !mobile; else presets\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n/>\n<ng-template #presets>\n <tui-data-list\n *ngIf=\"!mobile\"\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n <tui-icon\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n [icon]=\"icons.check\"\n [style.font-size.rem]=\"1\"\n />\n </button>\n </tui-data-list>\n</ng-template>\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}\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: "component", type: TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "component", type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i1.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
203
+ ], usesOnChanges: true, ngImport: i0, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n@if (!items.length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n @for (item of items | tuiMapper: mapper : min : max : minLength : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}.t-check{font-size:1rem;margin-inline-start:auto}\n"], dependencies: [{ kind: "component", type: TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "component", type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
219
204
  }
220
- __decorate([
221
- tuiPure
222
- ], TuiCalendarRange.prototype, "calculateDisabledItemHandler", null);
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarRange, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiCalendarRange, decorators: [{
224
206
  type: Component,
225
- args: [{ standalone: true, selector: 'tui-calendar-range', imports: [AsyncPipe, NgForOf, NgIf, TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
207
+ args: [{ selector: 'tui-calendar-range', imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
226
208
  tuiAsAuxiliary(TuiCalendarRange),
227
209
  tuiCalendarSheetOptionsProvider({ rangeMode: true }),
228
210
  ], host: {
229
211
  '[class._mobile]': 'mobile',
230
212
  '(document:keydown.capture)': 'onEsc($event)',
231
- }, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n<tui-calendar\n *ngIf=\"!items.length && !mobile; else presets\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n/>\n<ng-template #presets>\n <tui-data-list\n *ngIf=\"!mobile\"\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n <tui-icon\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n [icon]=\"icons.check\"\n [style.font-size.rem]=\"1\"\n />\n </button>\n </tui-data-list>\n</ng-template>\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}\n"] }]
232
- }], ctorParameters: function () { return []; }, propDecorators: { disabledItemHandler: [{
213
+ }, template: "<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n@if (!items.length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n @for (item of items | tuiMapper: mapper : min : max : minLength : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n", styles: [":host:not(._mobile){display:flex;min-inline-size:30rem}.t-calendar{border-inline-end:1px solid var(--tui-border-normal)}.t-check{font-size:1rem;margin-inline-start:auto}\n"] }]
214
+ }], propDecorators: { disabledItemHandler: [{
233
215
  type: Input
234
216
  }], markerHandler: [{
235
217
  type: Input
@@ -254,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
254
236
  args: ['value']
255
237
  }], defaultViewedMonth: [{
256
238
  type: Input
257
- }], calculateDisabledItemHandler: [] } });
239
+ }] } });
258
240
 
259
241
  class TuiDayRangePeriod {
260
242
  constructor(range, name, content) {
@@ -266,14 +248,22 @@ class TuiDayRangePeriod {
266
248
  return this.name;
267
249
  }
268
250
  }
269
- function tuiCreateDefaultDayRangePeriods(periodTitles = [
270
- 'For all the time',
271
- 'Today',
272
- 'Yesterday',
273
- 'Current week',
274
- 'Current month',
275
- 'Previous month',
276
- ]) {
251
+ function getDefaultPeriodTitles() {
252
+ try {
253
+ return inject(TUI_DAY_RANGE_PERIODS)();
254
+ }
255
+ catch {
256
+ return [
257
+ 'For all the time',
258
+ 'Today',
259
+ 'Yesterday',
260
+ 'Current week',
261
+ 'Current month',
262
+ 'Previous month',
263
+ ];
264
+ }
265
+ }
266
+ function tuiCreateDefaultDayRangePeriods(periodTitles = getDefaultPeriodTitles()) {
277
267
  const today = TuiDay.currentLocal();
278
268
  const yesterday = today.append({ day: -1 });
279
269
  const startOfWeek = today.append({ day: -today.dayOfWeek() });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {type TuiDay, type TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && !value.isSingleDay) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: !backwards ? -1 : 1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\n type OnInit,\n Output,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiNullableSame, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n type TuiMarkerHandler,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_COMMON_ICONS, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TUI_CALENDAR_DATE_STREAM, TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\nimport {type Observable} from 'rxjs';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport {type TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-range',\n imports: [AsyncPipe, NgForOf, NgIf, TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrls: ['./calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsAuxiliary(TuiCalendarRange),\n tuiCalendarSheetOptionsProvider({rangeMode: true}),\n ],\n host: {\n '[class._mobile]': 'mobile',\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange implements OnInit, OnChanges {\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected currentValue: TuiDay | TuiDayRange | null = null;\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected month: TuiMonth = TuiMonth.currentLocal();\n\n protected readonly otherDateText$ = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n protected readonly mobile = inject(TUI_IS_MOBILE);\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n @Input()\n public item: TuiDayRangePeriod | null = null;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n @Output()\n public readonly itemChange = new EventEmitter<TuiDayRangePeriod | null>();\n\n constructor() {\n inject<Observable<TuiDayRange | null>>(TUI_CALENDAR_DATE_STREAM, {optional: true})\n ?.pipe(tuiWatch(), takeUntilDestroyed())\n .subscribe((value) => {\n this.currentValue = value;\n this.initDefaultViewedMonth();\n });\n }\n\n @Input('value')\n public set valueSetter(value: TuiDayRange | null) {\n this.currentValue = value;\n }\n\n @Input()\n public set defaultViewedMonth(month: TuiMonth) {\n if (!this.currentValue) {\n this.month = month;\n }\n }\n\n public set value(value: TuiDayRange | null) {\n this.cdr.markForCheck();\n this.currentValue = value;\n this.initDefaultViewedMonth();\n }\n\n public get defaultViewedMonth(): TuiMonth {\n return this.month;\n }\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges(): void {\n if (!this.currentValue) {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected get calculatedDisabledItemHandler(): TuiBooleanHandler<TuiDay> {\n return this.calculateDisabledItemHandler(\n this.disabledItemHandler,\n this.currentValue,\n this.minLength,\n );\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.currentValue instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.currentValue = this.previousValue;\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.itemChange.emit(item);\n this.updateValue(item.range.dayLimit(this.min, this.max));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.itemChange.emit(null);\n this.updateValue(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onDayClick(day: TuiDay): void {\n this.previousValue = this.currentValue;\n this.selectedActivePeriod = null;\n\n if (this.currentValue instanceof TuiDay) {\n const range = TuiDayRange.sort(this.currentValue, day);\n\n this.currentValue = range;\n this.itemChange.emit(this.findItemByDayRange(range));\n this.updateValue(range);\n } else {\n this.currentValue = day;\n }\n }\n\n protected updateValue(value: TuiDayRange | null): void {\n this.currentValue = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.item ??\n this.selectedActivePeriod ??\n (this.items.find((item) =>\n tuiNullableSame<TuiDayRange>(\n this.currentValue instanceof TuiDay\n ? new TuiDayRange(this.currentValue, this.currentValue)\n : this.currentValue,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ||\n null)\n );\n }\n\n @tuiPure\n private calculateDisabledItemHandler(\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> {\n return calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n }\n\n private initDefaultViewedMonth(): void {\n if (this.currentValue instanceof TuiDay) {\n this.month = this.currentValue;\n } else if (this.currentValue) {\n this.month = this.items.length\n ? this.currentValue.to\n : this.currentValue.from;\n } else if (this.max && this.month.monthSameOrAfter(this.max)) {\n this.month = this.items.length ? this.max : this.max.append({month: -1});\n } else if (this.min && this.month.monthSameOrBefore(this.min)) {\n this.month = this.min;\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items.find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n<tui-calendar\n *ngIf=\"!items.length && !mobile; else presets\"\n [disabledItemHandler]=\"calculatedDisabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n/>\n<ng-template #presets>\n <tui-data-list\n *ngIf=\"!mobile\"\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n <button\n *ngFor=\"let item of items | tuiMapper: mapper : min : max : minLength : (otherDateText$ | async)\"\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n <tui-icon\n *ngIf=\"isItemActive(item)\"\n automation-id=\"tui-calendar-range__checkmark\"\n [icon]=\"icons.check\"\n [style.font-size.rem]=\"1\"\n />\n </button>\n </tui-data-list>\n</ng-template>\n","import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-calendar-range.mjs","sources":["../../../projects/kit/components/calendar-range/calculate-disabled-item-handler.ts","../../../projects/kit/components/calendar-range/day-caps-mapper.ts","../../../projects/kit/components/calendar-range/calendar-range.component.ts","../../../projects/kit/components/calendar-range/calendar-range.template.html","../../../projects/kit/components/calendar-range/day-range-period.ts","../../../projects/kit/components/calendar-range/taiga-ui-kit-components-calendar-range.ts"],"sourcesContent":["import {type TuiDay, type TuiDayLike, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const calculateDisabledItemHandler: (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n) => TuiBooleanHandler<TuiDay> = (disabledItemHandler, value, minLength) => (item) => {\n if (!value || value instanceof TuiDayRange || !minLength) {\n return disabledItemHandler(item);\n }\n\n const negativeMinLength = Object.fromEntries(\n Object.entries(minLength).map(([key, value]) => [key, -value]),\n );\n const disabledBefore = value.append(negativeMinLength).append({day: 1});\n const disabledAfter = value.append(minLength).append({day: -1});\n const inDisabledRange =\n disabledBefore.dayBefore(item) && disabledAfter.dayAfter(item);\n\n return inDisabledRange || disabledItemHandler(item);\n};\n","import {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n\nexport const TUI_DAY_CAPS_MAPPER: TuiMapper<\n [TuiDay | null, TuiDay | TuiDayRange | null, TuiDayLike | null, boolean],\n TuiDay\n> = (current, value, maxLength, backwards) => {\n if (\n // TODO(v5): replace with `if (!(value instanceof TuiDay) || !maxLength)` (backward compatibility)\n (value instanceof TuiDayRange && !value.isSingleDay) ||\n !value ||\n !maxLength\n ) {\n return backwards ? current || TUI_FIRST_DAY : current || TUI_LAST_DAY;\n }\n\n const negativeMaxLength = Object.fromEntries(\n Object.entries(maxLength).map(([key, value]) => [key, -value]),\n );\n\n // TODO(v5): `value instanceof TuiDay` always `true`\n const from = value instanceof TuiDay ? value : value.from;\n const dateShift = from\n .append(backwards ? negativeMaxLength : maxLength)\n .append({day: !backwards ? -1 : 1});\n\n if (backwards) {\n return dateShift.dayBefore(current || TUI_FIRST_DAY)\n ? current || TUI_FIRST_DAY\n : dateShift;\n }\n\n if (!current) {\n return dateShift;\n }\n\n return dateShift.dayAfter(current) ? current : dateShift;\n};\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\n type OnInit,\n Output,\n} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiCalendar,\n tuiCalendarSheetOptionsProvider,\n type TuiMarkerHandler,\n} from '@taiga-ui/core/components/calendar';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_COMMON_ICONS, tuiAsAuxiliary} from '@taiga-ui/core/tokens';\nimport {TUI_OTHER_DATE_TEXT} from '@taiga-ui/kit/tokens';\n\nimport {calculateDisabledItemHandler} from './calculate-disabled-item-handler';\nimport {TUI_DAY_CAPS_MAPPER} from './day-caps-mapper';\nimport {type TuiDayRangePeriod} from './day-range-period';\n\n@Component({\n selector: 'tui-calendar-range',\n imports: [TuiCalendar, TuiDataList, TuiIcon, TuiMapperPipe],\n templateUrl: './calendar-range.template.html',\n styleUrl: './calendar-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsAuxiliary(TuiCalendarRange),\n tuiCalendarSheetOptionsProvider({rangeMode: true}),\n ],\n host: {\n '[class._mobile]': 'mobile',\n '(document:keydown.capture)': 'onEsc($event)',\n },\n})\nexport class TuiCalendarRange implements OnInit, OnChanges {\n /**\n * @deprecated use `item`\n */\n private selectedPeriod: TuiDayRangePeriod | null = null;\n private readonly cdr = inject(ChangeDetectorRef);\n\n protected currentValue: TuiDay | TuiDayRange | null = null;\n protected previousValue: TuiDay | TuiDayRange | null = null;\n protected hoveredItem: TuiDay | null = null;\n protected month: TuiMonth = TuiMonth.currentLocal();\n\n protected readonly otherDateText = inject(TUI_OTHER_DATE_TEXT);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly capsMapper = TUI_DAY_CAPS_MAPPER;\n protected readonly mobile = inject(WA_IS_MOBILE);\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n @Input()\n public item: TuiDayRangePeriod | null = null;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiDayRange | null>();\n\n @Output()\n public readonly itemChange = new EventEmitter<TuiDayRangePeriod | null>();\n\n @Input('value')\n public set valueSetter(value: TuiDayRange | null) {\n this.currentValue = value;\n }\n\n @Input()\n public set defaultViewedMonth(month: TuiMonth) {\n if (!this.currentValue) {\n this.month = month;\n }\n }\n\n public set value(value: TuiDayRange | null) {\n this.cdr.markForCheck();\n this.currentValue = value;\n this.initDefaultViewedMonth();\n }\n\n public get defaultViewedMonth(): TuiMonth {\n return this.month;\n }\n\n /**\n * @deprecated use `item`\n */\n public get selectedActivePeriod(): TuiDayRangePeriod | null {\n return this.selectedPeriod;\n }\n\n /**\n * @deprecated use `item`\n */\n public set selectedActivePeriod(period: TuiDayRangePeriod | null) {\n this.selectedPeriod = period;\n }\n\n public ngOnChanges(): void {\n if (!this.currentValue) {\n this.initDefaultViewedMonth();\n }\n }\n\n public ngOnInit(): void {\n this.initDefaultViewedMonth();\n }\n\n protected onEsc(event: KeyboardEvent): void {\n if (event.key !== 'Escape' || !(this.currentValue instanceof TuiDay)) {\n return;\n }\n\n event.stopPropagation();\n this.currentValue = this.previousValue;\n }\n\n protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth> = (\n value,\n month,\n ) => value.append({month});\n\n protected readonly mapper: TuiMapper<\n [\n readonly TuiDayRangePeriod[],\n TuiDay | null,\n TuiDay | null,\n TuiDayLike | null,\n string | null | undefined,\n ],\n ReadonlyArray<TuiDayRangePeriod | string>\n > = (items, min, max, minLength, otherDateText) => [\n ...items.filter(\n (item) =>\n (minLength === null ||\n item.range.from\n .append(minLength)\n .append({day: -1})\n .daySameOrBefore(item.range.to)) &&\n (min === null || item.range.to.daySameOrAfter(min)) &&\n (max === null || item.range.from.daySameOrBefore(max)),\n ),\n otherDateText || '',\n ];\n\n protected readonly disabledMapper = (\n disabledItemHandler: TuiBooleanHandler<TuiDay>,\n value: TuiDay | TuiDayRange | null,\n minLength: TuiDayLike | null,\n ): TuiBooleanHandler<TuiDay> =>\n calculateDisabledItemHandler(disabledItemHandler, value, minLength);\n\n protected isItemActive(item: TuiDayRangePeriod | string): boolean {\n const {activePeriod} = this;\n\n return (\n (tuiIsString(item) && activePeriod === null) ||\n activePeriod === item ||\n activePeriod?.toString() === item.toString()\n );\n }\n\n protected onItemSelect(item: TuiDayRangePeriod | string): void {\n if (!tuiIsString(item)) {\n this.selectedActivePeriod = item;\n this.itemChange.emit(item);\n this.updateValue(item.range.dayLimit(this.min, this.max));\n } else if (this.activePeriod !== null) {\n this.selectedActivePeriod = null;\n this.itemChange.emit(null);\n this.updateValue(null);\n }\n\n this.initDefaultViewedMonth();\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onDayClick(day: TuiDay): void {\n this.previousValue = this.currentValue;\n this.selectedActivePeriod = null;\n\n if (this.currentValue instanceof TuiDay) {\n const range = TuiDayRange.sort(this.currentValue, day);\n\n this.currentValue = range;\n this.itemChange.emit(this.findItemByDayRange(range));\n this.updateValue(range);\n } else {\n this.currentValue = day;\n }\n }\n\n protected updateValue(value: TuiDayRange | null): void {\n this.currentValue = value;\n this.valueChange.emit(value);\n }\n\n private get activePeriod(): TuiDayRangePeriod | null {\n return (\n this.item ??\n this.selectedActivePeriod ??\n (this.items.find((item) =>\n tuiNullableSame<TuiDayRange>(\n this.currentValue instanceof TuiDay\n ? new TuiDayRange(this.currentValue, this.currentValue)\n : this.currentValue,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ||\n null)\n );\n }\n\n private initDefaultViewedMonth(): void {\n if (this.currentValue instanceof TuiDay) {\n this.month = this.currentValue;\n } else if (this.currentValue) {\n this.month = this.items.length\n ? this.currentValue.to\n : this.currentValue.from;\n } else if (this.max && this.month.monthSameOrAfter(this.max)) {\n this.month = this.items.length ? this.max : this.max.append({month: -1});\n } else if (this.min && this.month.monthSameOrBefore(this.min)) {\n this.month = this.min;\n }\n }\n\n private findItemByDayRange(dayRange: TuiDayRange): TuiDayRangePeriod | null {\n return this.items.find((item) => dayRange.daySame(item.range)) ?? null;\n }\n}\n","<tui-calendar\n automation-id=\"tui-calendar-range__calendar\"\n [class.t-calendar]=\"!mobile\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [maxViewedMonth]=\"items.length || mobile ? null : (defaultViewedMonth | tuiMapper: monthOffset : -1)\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [month]=\"defaultViewedMonth\"\n [showAdjacent]=\"!!items.length || mobile\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n/>\n@if (!items.length && !mobile) {\n <tui-calendar\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledMapper : currentValue : minLength\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max | tuiMapper: capsMapper : currentValue : maxLength : false\"\n [min]=\"min | tuiMapper: capsMapper : currentValue : maxLength : true\"\n [minViewedMonth]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [month]=\"defaultViewedMonth | tuiMapper: monthOffset : 1\"\n [showAdjacent]=\"false\"\n [value]=\"currentValue\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event.append({month: -1}))\"\n />\n} @else {\n @if (!mobile) {\n <tui-data-list\n automation-id=\"tui-calendar-range__menu\"\n role=\"menu\"\n [style.flex]=\"1\"\n >\n @for (item of items | tuiMapper: mapper : min : max : minLength : otherDateText(); track item) {\n <button\n automation-id=\"tui-calendar-range__menu__item\"\n role=\"menuitemradio\"\n tuiOption\n type=\"button\"\n [attr.aria-checked]=\"isItemActive(item)\"\n (click)=\"onItemSelect(item)\"\n (pointerdown.prevent.zoneless)=\"(0)\"\n >\n {{ item }}\n @if (isItemActive(item)) {\n <tui-icon\n automation-id=\"tui-calendar-range__checkmark\"\n class=\"t-check\"\n [icon]=\"icons.check\"\n />\n }\n </button>\n }\n </tui-data-list>\n }\n}\n","import {inject} from '@angular/core';\nimport {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {type TuiLanguageKit} from '@taiga-ui/i18n/types';\nimport {TUI_DAY_RANGE_PERIODS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiDayRangePeriod {\n constructor(\n public readonly range: TuiDayRange,\n private readonly name: string,\n public readonly content?: PolymorpheusContent<TuiContext<TuiDayRange>>,\n ) {}\n\n public toString(): string {\n return this.name;\n }\n}\n\nfunction getDefaultPeriodTitles(): TuiLanguageKit['dayRangePeriods'] {\n try {\n return inject(TUI_DAY_RANGE_PERIODS)();\n } catch {\n return [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ];\n }\n}\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: TuiLanguageKit['dayRangePeriods'] = getDefaultPeriodTitles(),\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}