@taiga-ui/kit 4.52.0-canary.974ca4b → 4.52.0-canary.9c7b1f0

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 (407) hide show
  1. package/components/avatar/avatar-labeled.component.d.ts +3 -3
  2. package/components/avatar/avatar-stack.component.d.ts +2 -2
  3. package/components/badge-notification/badge-notification.component.d.ts +2 -3
  4. package/components/badged-content/badged-content.directive.d.ts +2 -3
  5. package/components/breadcrumbs/breadcrumbs.component.d.ts +6 -7
  6. package/components/button-loading/button-loading.component.d.ts +5 -5
  7. package/components/calendar-range/calendar-range.component.d.ts +0 -1
  8. package/components/calendar-range/day-range-period.d.ts +2 -1
  9. package/components/carousel/carousel-autoscroll.directive.d.ts +1 -2
  10. package/components/carousel/carousel-scroll.directive.d.ts +1 -1
  11. package/components/carousel/carousel.component.d.ts +15 -18
  12. package/components/carousel/carousel.directive.d.ts +5 -4
  13. package/components/combo-box/combo-box.d.ts +5 -0
  14. package/components/combo-box/combo-box.directive.d.ts +7 -9
  15. package/components/combo-box/index.d.ts +1 -0
  16. package/components/compass/compass.component.d.ts +2 -2
  17. package/components/confirm/confirm.component.d.ts +3 -2
  18. package/components/confirm/confirm.service.d.ts +1 -1
  19. package/components/copy/copy.component.d.ts +3 -4
  20. package/components/copy/copy.directive.d.ts +2 -4
  21. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +2 -2
  22. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +14 -22
  23. package/components/data-list-wrapper/{data-list-wrapper.module.d.ts → data-list-wrapper.d.ts} +1 -2
  24. package/components/data-list-wrapper/index.d.ts +1 -1
  25. package/components/drawer/drawer.component.d.ts +3 -4
  26. package/components/files/file/file.component.d.ts +16 -29
  27. package/components/files/files/files.component.d.ts +5 -8
  28. package/components/files/input-files/input-files.component.d.ts +2 -2
  29. package/components/files/input-files/input-files.content.d.ts +7 -8
  30. package/components/files/input-files/input-files.directive.d.ts +2 -2
  31. package/components/filter/filter.component.d.ts +9 -12
  32. package/components/fullscreen/fullscreen.component.d.ts +5 -8
  33. package/components/index.d.ts +0 -3
  34. package/components/input-chip/input-chip.component.d.ts +9 -8
  35. package/components/input-chip/input-chip.d.ts +5 -1
  36. package/components/input-chip/input-chip.directive.d.ts +7 -12
  37. package/components/input-color/index.d.ts +1 -0
  38. package/components/input-color/input-color.component.d.ts +8 -12
  39. package/components/input-color/input-color.d.ts +5 -0
  40. package/components/input-date/input-date.component.d.ts +2 -2
  41. package/components/input-date/input-date.d.ts +4 -1
  42. package/components/input-date/input-date.directive.d.ts +21 -22
  43. package/components/input-date/input-date.options.d.ts +3 -3
  44. package/components/input-date-multi/input-date-multi.d.ts +1 -2
  45. package/components/input-date-multi/input-date-multi.directive.d.ts +10 -14
  46. package/components/input-date-range/input-date-range.d.ts +4 -1
  47. package/components/input-date-range/input-date-range.directive.d.ts +9 -10
  48. package/components/input-date-range/input-date-range.options.d.ts +2 -2
  49. package/components/input-date-time/input-date-time.d.ts +4 -1
  50. package/components/input-date-time/input-date-time.directive.d.ts +14 -14
  51. package/components/input-date-time/input-date-time.options.d.ts +2 -2
  52. package/components/input-inline/input-inline.component.d.ts +3 -2
  53. package/components/input-month/input-month.component.d.ts +3 -5
  54. package/components/input-month/input-month.d.ts +4 -1
  55. package/components/input-month/input-month.directive.d.ts +6 -5
  56. package/components/input-month-range/input-month-range.d.ts +4 -1
  57. package/components/input-month-range/input-month-range.directive.d.ts +6 -5
  58. package/components/input-number/index.d.ts +3 -0
  59. package/components/input-number/input-number.d.ts +7 -2
  60. package/components/input-number/input-number.directive.d.ts +11 -24
  61. package/components/input-number/input-number.options.d.ts +4 -7
  62. package/components/input-number/number-mask.directive.d.ts +42 -0
  63. package/components/input-number/quantum.directive.d.ts +10 -8
  64. package/components/input-number/step/input-number-step.component.d.ts +10 -9
  65. package/components/input-number/transformers/bigint.value-transformer.d.ts +11 -0
  66. package/components/input-number/transformers/number.value-transformer.d.ts +11 -0
  67. package/components/input-phone/index.d.ts +1 -0
  68. package/components/input-phone/input-phone.d.ts +5 -0
  69. package/components/input-phone/input-phone.directive.d.ts +12 -14
  70. package/components/input-phone-international/index.d.ts +1 -0
  71. package/components/input-phone-international/input-phone-international.component.d.ts +14 -16
  72. package/components/input-phone-international/input-phone-international.d.ts +5 -0
  73. package/components/input-phone-international/input-phone-international.options.d.ts +1 -0
  74. package/components/input-pin/index.d.ts +1 -0
  75. package/components/input-pin/input-pin.component.d.ts +5 -6
  76. package/components/input-pin/input-pin.d.ts +5 -0
  77. package/components/input-range/index.d.ts +0 -1
  78. package/components/input-range/input-range.component.d.ts +22 -52
  79. package/components/input-slider/input-slider.d.ts +4 -1
  80. package/components/input-slider/input-slider.directive.d.ts +4 -3
  81. package/components/input-time/input-time.component.d.ts +1 -3
  82. package/components/input-time/input-time.d.ts +4 -1
  83. package/components/input-time/input-time.directive.d.ts +5 -5
  84. package/components/input-year/input-year.d.ts +4 -1
  85. package/components/input-year/input-year.directive.d.ts +8 -10
  86. package/components/input-year/input-year.options.d.ts +2 -2
  87. package/components/items-with-more/items-with-more.component.d.ts +6 -6
  88. package/components/items-with-more/items-with-more.directive.d.ts +6 -6
  89. package/components/like/like.options.d.ts +1 -1
  90. package/components/line-clamp/line-clamp-box.component.d.ts +1 -1
  91. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +4 -6
  92. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +5 -4
  93. package/components/notification-middle/notification-middle.service.d.ts +1 -1
  94. package/components/pager/pager.component.d.ts +12 -12
  95. package/components/pagination/pagination.component.d.ts +22 -52
  96. package/components/pagination/pagination.options.d.ts +3 -6
  97. package/components/preview/dialog/preview-dialog.service.d.ts +1 -1
  98. package/components/preview/index.d.ts +1 -0
  99. package/components/preview/pagination/preview-pagination.component.d.ts +6 -10
  100. package/components/preview/preview.component.d.ts +6 -6
  101. package/components/preview/zoom/preview-zoom.component.d.ts +11 -17
  102. package/components/progress/progress-bar/progress-bar.component.d.ts +3 -4
  103. package/components/progress/progress-circle/progress-circle.component.d.ts +7 -11
  104. package/components/pulse/pulse.component.d.ts +2 -2
  105. package/components/push/push-alert.component.d.ts +2 -2
  106. package/components/push/push.component.d.ts +6 -7
  107. package/components/push/push.options.d.ts +4 -3
  108. package/components/push/push.service.d.ts +2 -2
  109. package/components/radio/radio.component.d.ts +1 -1
  110. package/components/radio-list/radio-list.component.d.ts +11 -9
  111. package/components/range/range.component.d.ts +3 -4
  112. package/components/rating/rating.component.d.ts +1 -1
  113. package/components/routable-dialog/generate-dialogable-route.d.ts +1 -1
  114. package/components/segmented/segmented.component.d.ts +4 -6
  115. package/components/segmented/segmented.directive.d.ts +6 -7
  116. package/components/select/native-select/native-select.component.d.ts +4 -4
  117. package/components/select/select.d.ts +4 -1
  118. package/components/select/select.directive.d.ts +4 -3
  119. package/components/slider/helpers/slider-key-steps.directive.d.ts +6 -5
  120. package/components/slider/helpers/slider-readonly.directive.d.ts +2 -4
  121. package/components/slider/helpers/slider-thumb-label.component.d.ts +2 -4
  122. package/components/slider/slider.component.d.ts +4 -7
  123. package/components/stepper/step.component.d.ts +14 -9
  124. package/components/stepper/stepper.component.d.ts +5 -12
  125. package/components/switch/switch.component.d.ts +1 -0
  126. package/components/tabs/tabs-horizontal.directive.d.ts +4 -5
  127. package/components/tabs/tabs-vertical.directive.d.ts +2 -2
  128. package/components/tabs/tabs-with-more.component.d.ts +12 -16
  129. package/components/tabs/tabs.directive.d.ts +5 -7
  130. package/components/textarea/index.d.ts +2 -1
  131. package/components/textarea/textarea.component.d.ts +10 -11
  132. package/components/textarea/textarea.d.ts +6 -0
  133. package/components/textarea/textarea.directive.d.ts +13 -0
  134. package/components/tiles/tile.component.d.ts +7 -10
  135. package/components/tiles/tile.service.d.ts +1 -1
  136. package/components/tiles/tiles.component.d.ts +4 -7
  137. package/components/toast/toast.component.d.ts +2 -2
  138. package/components/toast/toast.options.d.ts +4 -3
  139. package/components/toast/toast.service.d.ts +2 -2
  140. package/components/tree/components/tree/tree.component.d.ts +7 -7
  141. package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
  142. package/components/tree/directives/tree-children.directive.d.ts +2 -2
  143. package/components/tree/directives/tree-controller.directive.d.ts +4 -5
  144. package/components/tree/directives/tree-item-controller.directive.d.ts +2 -2
  145. package/components/tree/directives/tree-node.directive.d.ts +5 -4
  146. package/directives/appearance-proxy/appearance-proxy.directive.d.ts +10 -0
  147. package/directives/appearance-proxy/index.d.ts +1 -0
  148. package/directives/button-select/button-select.directive.d.ts +1 -1
  149. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +5 -5
  150. package/directives/fade/fade.directive.d.ts +5 -6
  151. package/directives/highlight/highlight.directive.d.ts +4 -4
  152. package/directives/index.d.ts +1 -2
  153. package/directives/password/password.directive.d.ts +1 -1
  154. package/directives/present/present.directive.d.ts +2 -4
  155. package/directives/tooltip/tooltip.directive.d.ts +1 -1
  156. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +2 -2
  157. package/directives/unmask-handler/unmask-handler.directive.d.ts +3 -3
  158. package/fesm2022/taiga-ui-kit-components-accordion.mjs +8 -8
  159. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +7 -7
  161. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-components-avatar.mjs +33 -47
  163. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  164. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +8 -10
  165. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-kit-components-badge.mjs +7 -7
  167. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +9 -11
  168. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-components-block.mjs +7 -7
  170. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +16 -30
  172. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +18 -26
  174. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  175. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +5 -13
  176. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  177. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +23 -23
  178. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-components-carousel.mjs +69 -116
  180. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +4 -5
  182. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  183. package/fesm2022/taiga-ui-kit-components-chip.mjs +7 -7
  184. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +40 -44
  185. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  186. package/fesm2022/taiga-ui-kit-components-comment.mjs +7 -7
  187. package/fesm2022/taiga-ui-kit-components-compass.mjs +7 -9
  188. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-confirm.mjs +10 -11
  190. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components-copy.mjs +19 -32
  192. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +24 -85
  194. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-components-drawer.mjs +15 -32
  196. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  197. package/fesm2022/taiga-ui-kit-components-files.mjs +111 -231
  198. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  199. package/fesm2022/taiga-ui-kit-components-filter.mjs +21 -34
  200. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +23 -42
  202. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
  203. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +63 -75
  204. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  205. package/fesm2022/taiga-ui-kit-components-input-color.mjs +27 -28
  206. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  207. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +34 -46
  208. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  209. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +37 -36
  210. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  211. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +40 -55
  212. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  213. package/fesm2022/taiga-ui-kit-components-input-date.mjs +52 -58
  214. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  215. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +10 -12
  216. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  217. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +26 -22
  218. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  219. package/fesm2022/taiga-ui-kit-components-input-month.mjs +39 -45
  220. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-components-input-number.mjs +261 -182
  222. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  223. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +61 -67
  224. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  225. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +37 -41
  226. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  227. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +24 -22
  228. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  229. package/fesm2022/taiga-ui-kit-components-input-range.mjs +42 -69
  230. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  231. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +27 -17
  232. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  233. package/fesm2022/taiga-ui-kit-components-input-time.mjs +38 -39
  234. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  235. package/fesm2022/taiga-ui-kit-components-input-year.mjs +31 -36
  236. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +50 -70
  238. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  239. package/fesm2022/taiga-ui-kit-components-like.mjs +3 -3
  240. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  241. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +14 -14
  242. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  243. package/fesm2022/taiga-ui-kit-components-message.mjs +7 -7
  244. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  245. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +37 -52
  246. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  247. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +12 -12
  248. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  249. package/fesm2022/taiga-ui-kit-components-pager.mjs +30 -44
  250. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  251. package/fesm2022/taiga-ui-kit-components-pagination.mjs +65 -150
  252. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  253. package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
  254. package/fesm2022/taiga-ui-kit-components-preview.mjs +77 -145
  255. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  256. package/fesm2022/taiga-ui-kit-components-progress.mjs +44 -63
  257. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  258. package/fesm2022/taiga-ui-kit-components-pulse.mjs +7 -11
  259. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  260. package/fesm2022/taiga-ui-kit-components-push.mjs +27 -40
  261. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  262. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +23 -35
  263. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  264. package/fesm2022/taiga-ui-kit-components-radio.mjs +6 -6
  265. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  266. package/fesm2022/taiga-ui-kit-components-range.mjs +19 -29
  267. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  268. package/fesm2022/taiga-ui-kit-components-rating.mjs +4 -4
  269. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  270. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +4 -4
  271. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  272. package/fesm2022/taiga-ui-kit-components-segmented.mjs +31 -57
  273. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  274. package/fesm2022/taiga-ui-kit-components-select.mjs +52 -28
  275. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  276. package/fesm2022/taiga-ui-kit-components-slider.mjs +49 -67
  277. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  278. package/fesm2022/taiga-ui-kit-components-status.mjs +6 -6
  279. package/fesm2022/taiga-ui-kit-components-stepper.mjs +61 -88
  280. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  281. package/fesm2022/taiga-ui-kit-components-switch.mjs +10 -6
  282. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  283. package/fesm2022/taiga-ui-kit-components-tabs.mjs +87 -144
  284. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  285. package/fesm2022/taiga-ui-kit-components-textarea.mjs +60 -71
  286. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  287. package/fesm2022/taiga-ui-kit-components-tiles.mjs +36 -68
  288. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  289. package/fesm2022/taiga-ui-kit-components-toast.mjs +27 -28
  290. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  291. package/fesm2022/taiga-ui-kit-components-tree.mjs +63 -93
  292. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  293. package/fesm2022/taiga-ui-kit-components.mjs +0 -3
  294. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  295. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +27 -0
  296. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -0
  297. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +7 -7
  298. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  299. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +6 -6
  300. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  301. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +10 -9
  302. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  303. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -7
  304. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  305. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +25 -52
  306. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  307. package/fesm2022/taiga-ui-kit-directives-fade.mjs +25 -34
  308. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  309. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  310. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +16 -20
  311. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  312. package/fesm2022/taiga-ui-kit-directives-password.mjs +10 -8
  313. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  314. package/fesm2022/taiga-ui-kit-directives-present.mjs +10 -17
  315. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  316. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +6 -6
  317. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +6 -6
  318. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +7 -6
  319. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  320. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +8 -8
  321. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  322. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +8 -10
  323. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  324. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +10 -14
  325. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  326. package/fesm2022/taiga-ui-kit-directives.mjs +1 -2
  327. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  328. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +43 -0
  329. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -0
  330. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  331. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +22 -35
  332. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  333. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +30 -0
  334. package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -0
  335. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +23 -26
  336. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  337. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +28 -0
  338. package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -0
  339. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +10 -8
  340. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  341. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  342. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  343. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  344. package/fesm2022/taiga-ui-kit-pipes.mjs +3 -0
  345. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  346. package/fesm2022/taiga-ui-kit-tokens.mjs +4 -108
  347. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  348. package/fesm2022/taiga-ui-kit-utils.mjs +3 -15
  349. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  350. package/package.json +40 -44
  351. package/pipes/auto-color/auto-color.pipe.d.ts +13 -0
  352. package/pipes/auto-color/index.d.ts +1 -0
  353. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +5 -2
  354. package/pipes/flag/flag.pipe.d.ts +13 -0
  355. package/pipes/flag/index.d.ts +1 -0
  356. package/pipes/hide-selected/hide-selected.pipe.d.ts +2 -0
  357. package/pipes/index.d.ts +3 -0
  358. package/pipes/initials/index.d.ts +1 -0
  359. package/pipes/initials/initials.pipe.d.ts +7 -0
  360. package/pipes/sort-countries/sort-countries.pipe.d.ts +4 -3
  361. package/pipes/stringify-content/stringify-content.pipe.d.ts +2 -3
  362. package/styles/components/avatar.less +14 -14
  363. package/styles/components/badge.less +3 -3
  364. package/styles/components/block.less +4 -4
  365. package/styles/components/chip.less +3 -3
  366. package/styles/components/comment.less +1 -1
  367. package/styles/components/message.less +1 -1
  368. package/styles/components/pin.less +3 -3
  369. package/styles/components/switch.less +3 -2
  370. package/styles/components/toast.less +1 -1
  371. package/tokens/i18n.d.ts +1 -0
  372. package/tokens/index.d.ts +0 -7
  373. package/utils/index.d.ts +0 -2
  374. package/utils/maskito.binding.d.ts +1 -1
  375. package/components/elastic-container/elastic-container.component.d.ts +0 -8
  376. package/components/elastic-container/elastic-container.directive.d.ts +0 -7
  377. package/components/elastic-container/index.d.ts +0 -2
  378. package/components/floating-container/floating-container.directive.d.ts +0 -7
  379. package/components/floating-container/index.d.ts +0 -1
  380. package/components/input-range/input-range.d.ts +0 -3
  381. package/components/slides/index.d.ts +0 -1
  382. package/components/slides/slides.directive.d.ts +0 -11
  383. package/components/textarea/textarea-limit.directive.d.ts +0 -26
  384. package/directives/button-close/button-close.directive.d.ts +0 -6
  385. package/directives/button-close/index.d.ts +0 -1
  386. package/directives/lazy-loading/index.d.ts +0 -2
  387. package/directives/lazy-loading/lazy-loading.directive.d.ts +0 -18
  388. package/directives/lazy-loading/lazy-loading.service.d.ts +0 -12
  389. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +0 -77
  390. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +0 -1
  391. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +0 -37
  392. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +0 -1
  393. package/fesm2022/taiga-ui-kit-components-slides.mjs +0 -49
  394. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +0 -1
  395. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +0 -47
  396. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +0 -1
  397. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +0 -80
  398. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +0 -1
  399. package/tokens/calendar-date-stream.d.ts +0 -10
  400. package/tokens/date-inputs-value-transformers.d.ts +0 -19
  401. package/tokens/input-date-options.d.ts +0 -15
  402. package/tokens/items-handlers.d.ts +0 -20
  403. package/tokens/mobile-calendar.d.ts +0 -6
  404. package/tokens/month-formatter.d.ts +0 -5
  405. package/utils/phone.d.ts +0 -3
  406. package/utils/toggle-day.d.ts +0 -2
  407. /package/{tokens/preview-icons.d.ts → components/preview/preview.options.d.ts} +0 -0
@@ -9,7 +9,7 @@ import { TuiLoader, tuiLoaderOptionsProvider } from '@taiga-ui/core/components/l
9
9
  import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
10
10
  import * as i1$1 from '@taiga-ui/cdk/portals';
11
11
  import { tuiAsPortal, TuiPortalDirective } from '@taiga-ui/cdk/portals';
12
- import { TuiModalService } from '@taiga-ui/core/components/modal';
12
+ import { TuiModalService } from '@taiga-ui/core/portals/modal';
13
13
 
14
14
  class TuiNotificationMiddleComponent {
15
15
  constructor() {
@@ -26,15 +26,15 @@ class TuiNotificationMiddleComponent {
26
26
  ? this.context.closable()
27
27
  : this.context.closable;
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
31
31
  <tui-loader class="t-loader" />
32
32
  <ng-container *polymorpheusOutlet="context.content as text">
33
33
  {{ text }}
34
34
  </ng-container>
35
- `, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-text-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ `, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-body-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'tui-notification-middle', imports: [PolymorpheusOutlet, TuiLoader], template: `
40
40
  <tui-loader class="t-loader" />
@@ -49,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
49
49
  '(document:click.capture)': 'onClick($event.target)',
50
50
  '(document:keydown.esc)': 'onClick($event.currentTarget)',
51
51
  '(waResizeObserver)': 'el.style.setProperty("--t-width", el.clientWidth + "px")',
52
- }, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-text-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"] }]
52
+ }, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-font-body-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"] }]
53
53
  }] });
54
54
 
55
55
  class TuiNotificationMiddleService extends TuiModalService {
@@ -58,10 +58,10 @@ class TuiNotificationMiddleService extends TuiModalService {
58
58
  this.options = { closable: false };
59
59
  this.content = TuiNotificationMiddleComponent;
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{
67
67
  providedIn: 'root',
@@ -72,10 +72,10 @@ class TuiNotificationMiddle {
72
72
  constructor() {
73
73
  this.tuiNotificationMiddleOptions = input({});
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
79
79
  type: Directive,
80
80
  args: [{
81
81
  selector: 'ng-template[tuiNotificationMiddle]',
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-notification-middle.mjs","sources":["../../../projects/kit/components/notification-middle/notification-middle.component.ts","../../../projects/kit/components/notification-middle/notification-middle.service.ts","../../../projects/kit/components/notification-middle/notification-middle.directive.ts","../../../projects/kit/components/notification-middle/taiga-ui-kit-components-notification-middle.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, isSignal, type Signal} from '@angular/core';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiLoader, tuiLoaderOptionsProvider} from '@taiga-ui/core/components/loader';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nexport interface TuiNotificationMiddleOptions {\n closable: Signal<boolean> | boolean;\n}\n\n@Component({\n selector: 'tui-notification-middle',\n imports: [PolymorpheusOutlet, TuiLoader],\n template: `\n <tui-loader class=\"t-loader\" />\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n `,\n styleUrl: './notification-middle.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiLoaderOptionsProvider({size: 'l'})],\n hostDirectives: [\n TuiAnimated,\n {directive: WaResizeObserver, outputs: ['waResizeObserver']},\n ],\n host: {\n class: 'tui-backdrop-hidden',\n '(document:click.capture)': 'onClick($event.target)',\n '(document:keydown.esc)': 'onClick($event.currentTarget)',\n '(waResizeObserver)': 'el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")',\n },\n})\nexport class TuiNotificationMiddleComponent {\n protected readonly el = tuiInjectElement();\n protected readonly context =\n injectContext<TuiPortalContext<TuiNotificationMiddleOptions>>();\n\n protected onClick(target: HTMLElement): void {\n if (this.closable && !this.el.contains(target)) {\n this.context.$implicit.complete();\n }\n }\n\n private get closable(): boolean {\n return isSignal(this.context.closable)\n ? this.context.closable()\n : this.context.closable;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TuiModalService} from '@taiga-ui/core/components/modal';\n\nimport {\n TuiNotificationMiddleComponent,\n type TuiNotificationMiddleOptions,\n} from './notification-middle.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiNotificationMiddleService extends TuiModalService<TuiNotificationMiddleOptions> {\n protected readonly options = {closable: false};\n protected readonly content = TuiNotificationMiddleComponent;\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiNotificationMiddleOptions} from './notification-middle.component';\nimport {TuiNotificationMiddleService} from './notification-middle.service';\n\n@Directive({\n selector: 'ng-template[tuiNotificationMiddle]',\n providers: [tuiAsPortal(TuiNotificationMiddleService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: [\n 'options: tuiNotificationMiddleOptions',\n 'open: tuiNotificationMiddle',\n ],\n outputs: ['openChange: tuiNotificationMiddleChange'],\n },\n ],\n})\nexport class TuiNotificationMiddle {\n public readonly tuiNotificationMiddleOptions = input<\n Partial<TuiNotificationMiddleOptions>\n >({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-notification-middle.mjs","sources":["../../../projects/kit/components/notification-middle/notification-middle.component.ts","../../../projects/kit/components/notification-middle/notification-middle.service.ts","../../../projects/kit/components/notification-middle/notification-middle.directive.ts","../../../projects/kit/components/notification-middle/taiga-ui-kit-components-notification-middle.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, isSignal, type Signal} from '@angular/core';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiLoader, tuiLoaderOptionsProvider} from '@taiga-ui/core/components/loader';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nexport interface TuiNotificationMiddleOptions {\n closable: Signal<boolean> | boolean;\n}\n\n@Component({\n selector: 'tui-notification-middle',\n imports: [PolymorpheusOutlet, TuiLoader],\n template: `\n <tui-loader class=\"t-loader\" />\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n `,\n styleUrl: './notification-middle.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiLoaderOptionsProvider({size: 'l'})],\n hostDirectives: [\n TuiAnimated,\n {directive: WaResizeObserver, outputs: ['waResizeObserver']},\n ],\n host: {\n class: 'tui-backdrop-hidden',\n '(document:click.capture)': 'onClick($event.target)',\n '(document:keydown.esc)': 'onClick($event.currentTarget)',\n '(waResizeObserver)': 'el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")',\n },\n})\nexport class TuiNotificationMiddleComponent {\n protected readonly el = tuiInjectElement();\n protected readonly context =\n injectContext<TuiPortalContext<TuiNotificationMiddleOptions>>();\n\n protected onClick(target: HTMLElement): void {\n if (this.closable && !this.el.contains(target)) {\n this.context.$implicit.complete();\n }\n }\n\n private get closable(): boolean {\n return isSignal(this.context.closable)\n ? this.context.closable()\n : this.context.closable;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TuiModalService} from '@taiga-ui/core/portals/modal';\n\nimport {\n TuiNotificationMiddleComponent,\n type TuiNotificationMiddleOptions,\n} from './notification-middle.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiNotificationMiddleService extends TuiModalService<TuiNotificationMiddleOptions> {\n protected readonly options = {closable: false};\n protected readonly content = TuiNotificationMiddleComponent;\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiNotificationMiddleOptions} from './notification-middle.component';\nimport {TuiNotificationMiddleService} from './notification-middle.service';\n\n@Directive({\n selector: 'ng-template[tuiNotificationMiddle]',\n providers: [tuiAsPortal(TuiNotificationMiddleService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: [\n 'options: tuiNotificationMiddleOptions',\n 'open: tuiNotificationMiddle',\n ],\n outputs: ['openChange: tuiNotificationMiddleChange'],\n },\n ],\n})\nexport class TuiNotificationMiddle {\n public readonly tuiNotificationMiddleOptions = input<\n Partial<TuiNotificationMiddleOptions>\n >({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,23 +1,24 @@
1
1
  import { NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { signal, inject, Input, ViewChildren, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { viewChildren, signal, computed, inject, input, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { FormsModule } from '@angular/forms';
6
5
  import { MutationObserverService, WA_MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
7
- import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
8
6
  import { tuiWatch } from '@taiga-ui/cdk/observables';
9
7
  import { delay, map } from 'rxjs';
10
8
 
11
9
  class TuiPager {
12
10
  constructor() {
13
- this.start = 0;
14
- this.end = 0;
11
+ this.items = viewChildren('item');
12
+ this.start = signal(0);
13
+ this.end = signal(0);
15
14
  this.left = signal(0);
15
+ this.gap = computed(() => (this.size() === 'm' ? 9 : 7));
16
16
  this.maxWidth = toSignal(inject(MutationObserverService, { self: true }).pipe(delay(0), map(() => this.visibleWidth), tuiWatch(), takeUntilDestroyed()), { initialValue: 0 });
17
- this.max = 6;
18
- this.count = this.max;
19
- this.size = 'm';
20
- this.index = 0;
17
+ this.max = input(6);
18
+ this.count = input(6);
19
+ this.size = input('m');
20
+ this.valueContent = input();
21
+ this.index = input(0);
21
22
  }
22
23
  ngOnChanges() {
23
24
  this.move();
@@ -25,31 +26,29 @@ class TuiPager {
25
26
  ngAfterViewInit() {
26
27
  this.move();
27
28
  }
28
- get gap() {
29
- return this.size === 'm' ? 9 : 7;
30
- }
31
29
  get visibleRange() {
32
- const max = this.max > this.count ? this.count : this.max;
33
- const start = Math.min(Math.max(this.index - Math.floor(max / 2), 0), this.count - max);
30
+ const max = this.max() > this.count() ? this.count() : this.max();
31
+ const start = Math.min(Math.max(this.index() - Math.floor(max / 2), 0), this.count() - max);
34
32
  return [start, start + (max - 1)];
35
33
  }
36
34
  get visibleWidth() {
37
- return ((this.items?.map((item) => item.nativeElement.offsetWidth ?? 0) ?? [])
38
- .slice(this.start, this.end + 1)
39
- .reduce((sum, item) => sum + item + this.gap, 0) - this.gap);
35
+ return (this.items()
36
+ .map((item) => item.nativeElement.offsetWidth)
37
+ .slice(this.start(), this.end() + 1)
38
+ .reduce((sum, item) => sum + item + this.gap(), 0) - this.gap());
40
39
  }
41
40
  move() {
42
41
  const [start, end] = this.visibleRange;
43
- this.start = start;
44
- this.end = end;
45
- let left = this.start * this.gap;
46
- for (let i = 0; i < this.start; i++) {
47
- left += this.items?.get(i)?.nativeElement.offsetWidth ?? 0;
42
+ this.start.set(start);
43
+ this.end.set(end);
44
+ let left = this.start() * this.gap();
45
+ for (let i = 0; i < this.start(); i++) {
46
+ left += this.items()[i]?.nativeElement.offsetWidth ?? 0;
48
47
  }
49
48
  this.left.set(-1 * left);
50
49
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiPager, isStandalone: true, selector: "tui-pager", inputs: { max: "max", count: "count", size: "size", valueContent: "valueContent", index: "index" }, host: { properties: { "attr.data-size": "size", "style.--t-gap.px": "gap", "style.max-width.px": "maxWidth()" } }, providers: [
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: TuiPager, isStandalone: true, selector: "tui-pager", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, valueContent: { classPropertyName: "valueContent", publicName: "valueContent", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "style.--t-gap.px": "gap()", "style.max-width.px": "maxWidth()" } }, providers: [
53
52
  MutationObserverService,
54
53
  {
55
54
  provide: WA_MUTATION_OBSERVER_INIT,
@@ -60,11 +59,11 @@ class TuiPager {
60
59
  subtree: true,
61
60
  },
62
61
  },
63
- ], viewQueries: [{ propertyName: "items", predicate: ["item"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n <div\n *tuiRepeatTimes=\"let i of count\"\n #item\n class=\"t-item\"\n [attr.data-index]=\"i\"\n [class._active]=\"i === index\"\n [class._last]=\"i === count - 1\"\n [class._post-active]=\"i === index + 1\"\n [class._pre-active]=\"i === index - 1\"\n [class._pre-last]=\"i === count - 2\"\n [class._visible]=\"i >= start && i <= end\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent || null; context: {$implicit: i}\" />\n </div>\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
+ ], viewQueries: [{ propertyName: "items", predicate: ["item"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
63
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPager, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiPager, decorators: [{
66
65
  type: Component,
67
- args: [{ selector: 'tui-pager', imports: [FormsModule, NgTemplateOutlet, TuiRepeatTimes], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
66
+ args: [{ selector: 'tui-pager', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
68
67
  MutationObserverService,
69
68
  {
70
69
  provide: WA_MUTATION_OBSERVER_INIT,
@@ -76,24 +75,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
76
75
  },
77
76
  },
78
77
  ], host: {
79
- '[attr.data-size]': 'size',
80
- '[style.--t-gap.px]': 'gap',
78
+ '[attr.data-size]': 'size()',
79
+ '[style.--t-gap.px]': 'gap()',
81
80
  '[style.max-width.px]': 'maxWidth()',
82
- }, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n <div\n *tuiRepeatTimes=\"let i of count\"\n #item\n class=\"t-item\"\n [attr.data-index]=\"i\"\n [class._active]=\"i === index\"\n [class._last]=\"i === count - 1\"\n [class._post-active]=\"i === index + 1\"\n [class._pre-active]=\"i === index - 1\"\n [class._pre-last]=\"i === count - 2\"\n [class._visible]=\"i >= start && i <= end\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent || null; context: {$implicit: i}\" />\n </div>\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}\n"] }]
83
- }], propDecorators: { items: [{
84
- type: ViewChildren,
85
- args: ['item']
86
- }], max: [{
87
- type: Input
88
- }], count: [{
89
- type: Input
90
- }], size: [{
91
- type: Input
92
- }], valueContent: [{
93
- type: Input
94
- }], index: [{
95
- type: Input
96
- }] } });
81
+ }, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}\n"] }]
82
+ }] });
97
83
 
98
84
  /**
99
85
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pager.mjs","sources":["../../../projects/kit/components/pager/pager.component.ts","../../../projects/kit/components/pager/pager.component.html","../../../projects/kit/components/pager/taiga-ui-kit-components-pager.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n type ElementRef,\n inject,\n Input,\n type OnChanges,\n type QueryList,\n signal,\n type TemplateRef,\n ViewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {delay, map} from 'rxjs';\n\n@Component({\n selector: 'tui-pager',\n imports: [FormsModule, NgTemplateOutlet, TuiRepeatTimes],\n templateUrl: './pager.component.html',\n styleUrl: './pager.styles.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributeOldValue: true,\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n ],\n host: {\n '[attr.data-size]': 'size',\n '[style.--t-gap.px]': 'gap',\n '[style.max-width.px]': 'maxWidth()',\n },\n})\nexport class TuiPager implements OnChanges, AfterViewInit {\n @ViewChildren('item')\n protected items?: QueryList<ElementRef<HTMLElement>>;\n\n protected start = 0;\n protected end = 0;\n protected left = signal(0);\n protected readonly maxWidth = toSignal(\n inject(MutationObserverService, {self: true}).pipe(\n delay(0),\n map(() => this.visibleWidth),\n tuiWatch(),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n @Input()\n public max = 6;\n\n @Input()\n public count = this.max;\n\n @Input()\n public size: TuiSizeS = 'm';\n\n @Input()\n public valueContent?: TemplateRef<unknown>;\n\n @Input()\n public index = 0;\n\n public ngOnChanges(): void {\n this.move();\n }\n\n public ngAfterViewInit(): void {\n this.move();\n }\n\n protected get gap(): number {\n return this.size === 'm' ? 9 : 7;\n }\n\n private get visibleRange(): [start: number, end: number] {\n const max = this.max > this.count ? this.count : this.max;\n\n const start = Math.min(\n Math.max(this.index - Math.floor(max / 2), 0),\n this.count - max,\n );\n\n return [start, start + (max - 1)];\n }\n\n private get visibleWidth(): number {\n return (\n (this.items?.map((item) => item.nativeElement.offsetWidth ?? 0) ?? [])\n .slice(this.start, this.end + 1)\n .reduce((sum, item) => sum + item + this.gap, 0) - this.gap\n );\n }\n\n private move(): void {\n const [start, end] = this.visibleRange;\n\n this.start = start;\n this.end = end;\n\n let left = this.start * this.gap;\n\n for (let i = 0; i < this.start; i++) {\n left += this.items?.get(i)?.nativeElement.offsetWidth ?? 0;\n }\n\n this.left.set(-1 * left);\n }\n}\n","<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n <div\n *tuiRepeatTimes=\"let i of count\"\n #item\n class=\"t-item\"\n [attr.data-index]=\"i\"\n [class._active]=\"i === index\"\n [class._last]=\"i === count - 1\"\n [class._post-active]=\"i === index + 1\"\n [class._pre-active]=\"i === index - 1\"\n [class._pre-last]=\"i === count - 2\"\n [class._visible]=\"i >= start && i <= end\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent || null; context: {$implicit: i}\" />\n </div>\n</div>\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-pager.mjs","sources":["../../../projects/kit/components/pager/pager.component.ts","../../../projects/kit/components/pager/pager.component.html","../../../projects/kit/components/pager/taiga-ui-kit-components-pager.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n type OnChanges,\n signal,\n type TemplateRef,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {delay, map} from 'rxjs';\n\n@Component({\n selector: 'tui-pager',\n imports: [NgTemplateOutlet],\n templateUrl: './pager.component.html',\n styleUrl: './pager.styles.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributeOldValue: true,\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[style.--t-gap.px]': 'gap()',\n '[style.max-width.px]': 'maxWidth()',\n },\n})\nexport class TuiPager implements OnChanges, AfterViewInit {\n protected readonly items = viewChildren<ElementRef<HTMLElement>>('item');\n protected readonly start = signal(0);\n protected readonly end = signal(0);\n protected readonly left = signal(0);\n protected readonly gap = computed(() => (this.size() === 'm' ? 9 : 7));\n protected readonly maxWidth = toSignal(\n inject(MutationObserverService, {self: true}).pipe(\n delay(0),\n map(() => this.visibleWidth),\n tuiWatch(),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n public readonly max = input(6);\n public readonly count = input(6);\n public readonly size = input<TuiSizeS>('m');\n public readonly valueContent = input<TemplateRef<unknown>>();\n public readonly index = input(0);\n\n public ngOnChanges(): void {\n this.move();\n }\n\n public ngAfterViewInit(): void {\n this.move();\n }\n\n private get visibleRange(): [start: number, end: number] {\n const max = this.max() > this.count() ? this.count() : this.max();\n const start = Math.min(\n Math.max(this.index() - Math.floor(max / 2), 0),\n this.count() - max,\n );\n\n return [start, start + (max - 1)];\n }\n\n private get visibleWidth(): number {\n return (\n this.items()\n .map((item) => item.nativeElement.offsetWidth)\n .slice(this.start(), this.end() + 1)\n .reduce((sum, item) => sum + item + this.gap(), 0) - this.gap()\n );\n }\n\n private move(): void {\n const [start, end] = this.visibleRange;\n\n this.start.set(start);\n this.end.set(end);\n\n let left = this.start() * this.gap();\n\n for (let i = 0; i < this.start(); i++) {\n left += this.items()[i]?.nativeElement.offsetWidth ?? 0;\n }\n\n this.left.set(-1 * left);\n }\n}\n","<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}