@taiga-ui/kit 4.52.0-canary.5601aa6 → 4.52.0-canary.58fe47a

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 (346) 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-outline.directive.d.ts +3 -3
  9. package/components/badge/badge.directive.d.ts +2 -2
  10. package/components/badge/badge.options.d.ts +1 -3
  11. package/components/badge-notification/badge-notification.options.d.ts +1 -3
  12. package/components/block/block.directive.d.ts +4 -4
  13. package/components/block/block.options.d.ts +2 -4
  14. package/components/breadcrumbs/breadcrumbs.options.d.ts +1 -3
  15. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  16. package/components/calendar-range/calendar-range.component.d.ts +1 -2
  17. package/components/chip/chip.directive.d.ts +2 -4
  18. package/components/chip/chip.options.d.ts +1 -3
  19. package/components/comment/comment.directive.d.ts +2 -2
  20. package/components/confirm/confirm.component.d.ts +4 -2
  21. package/components/confirm/confirm.service.d.ts +2 -1
  22. package/{directives → components}/copy/copy.component.d.ts +2 -2
  23. package/{directives → components}/copy/copy.directive.d.ts +2 -2
  24. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +4 -2
  25. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +14 -22
  26. package/components/data-list-wrapper/{data-list-wrapper.module.d.ts → data-list-wrapper.d.ts} +1 -2
  27. package/components/data-list-wrapper/index.d.ts +1 -1
  28. package/components/files/file/file.options.d.ts +1 -1
  29. package/components/files/files/files.component.d.ts +2 -2
  30. package/components/files/input-files/input-files.options.d.ts +1 -3
  31. package/components/floating-container/floating-container.directive.d.ts +2 -2
  32. package/components/fullscreen/fullscreen.component.d.ts +14 -0
  33. package/components/fullscreen/index.d.ts +1 -0
  34. package/components/index.d.ts +3 -1
  35. package/components/input-chip/input-chip.component.d.ts +8 -7
  36. package/components/input-chip/input-chip.directive.d.ts +5 -10
  37. package/components/input-date/input-date.directive.d.ts +1 -3
  38. package/components/input-date-multi/input-date-multi.directive.d.ts +9 -13
  39. package/components/input-number/input-number.directive.d.ts +5 -9
  40. package/components/input-number/quantum.directive.d.ts +1 -1
  41. package/components/input-number/step/input-number-step.component.d.ts +1 -1
  42. package/components/input-phone-international/input-phone-international.component.d.ts +24 -30
  43. package/components/input-phone-international/input-phone-international.options.d.ts +1 -3
  44. package/components/input-pin/input-pin.component.d.ts +1 -1
  45. package/components/input-range/input-range.component.d.ts +9 -12
  46. package/components/input-slider/input-slider.directive.d.ts +3 -5
  47. package/components/input-time/input-time.directive.d.ts +6 -8
  48. package/components/like/like.component.d.ts +2 -2
  49. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  50. package/components/line-clamp/line-clamp.component.d.ts +8 -10
  51. package/components/line-clamp/line-clamp.options.d.ts +1 -3
  52. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +6 -8
  53. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  54. package/components/notification-middle/notification-middle.component.d.ts +2 -2
  55. package/components/notification-middle/notification-middle.directive.d.ts +4 -3
  56. package/components/notification-middle/notification-middle.service.d.ts +7 -3
  57. package/components/pagination/index.d.ts +1 -0
  58. package/components/pagination/pagination.component.d.ts +3 -2
  59. package/components/pagination/pagination.options.d.ts +10 -0
  60. package/components/pin/pin.directive.d.ts +2 -2
  61. package/components/preview/dialog/preview-dialog.component.d.ts +2 -2
  62. package/components/preview/dialog/preview-dialog.directive.d.ts +3 -3
  63. package/components/preview/dialog/preview-dialog.service.d.ts +5 -2
  64. package/components/preview/pagination/preview-pagination.component.d.ts +1 -1
  65. package/components/preview/preview.component.d.ts +1 -1
  66. package/components/preview/preview.d.ts +2 -1
  67. package/components/preview/zoom/preview-zoom.component.d.ts +1 -1
  68. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  69. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +4 -4
  70. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  71. package/components/progress/progress.options.d.ts +1 -3
  72. package/components/push/push-alert.component.d.ts +4 -3
  73. package/components/push/push.component.d.ts +1 -1
  74. package/components/push/push.directive.d.ts +4 -6
  75. package/components/push/push.options.d.ts +5 -8
  76. package/components/push/push.service.d.ts +6 -2
  77. package/components/radio-list/radio-list.component.d.ts +5 -3
  78. package/components/range/range-change.directive.d.ts +1 -2
  79. package/components/range/range.component.d.ts +16 -24
  80. package/components/rating/rating.component.d.ts +1 -1
  81. package/components/rating/rating.options.d.ts +1 -3
  82. package/components/segmented/segmented.component.d.ts +4 -6
  83. package/components/segmented/segmented.directive.d.ts +6 -7
  84. package/components/select/native-select/native-select.component.d.ts +4 -5
  85. package/components/slider/helpers/key-steps.d.ts +1 -2
  86. package/components/slider/helpers/slider-key-steps.directive.d.ts +12 -21
  87. package/components/slider/slider.options.d.ts +1 -6
  88. package/components/slides/slides.directive.d.ts +4 -4
  89. package/components/status/status.directive.d.ts +2 -2
  90. package/components/stepper/step.component.d.ts +6 -8
  91. package/components/stepper/stepper.component.d.ts +6 -11
  92. package/components/tabs/tabs-with-more.component.d.ts +1 -1
  93. package/components/tabs/tabs.options.d.ts +1 -6
  94. package/components/textarea/textarea-limit.directive.d.ts +4 -5
  95. package/components/toast/index.d.ts +5 -0
  96. package/components/toast/toast.component.d.ts +18 -0
  97. package/components/toast/toast.d.ts +3 -0
  98. package/components/toast/toast.directive.d.ts +7 -0
  99. package/components/toast/toast.options.d.ts +10 -0
  100. package/components/toast/toast.service.d.ts +17 -0
  101. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +8 -1
  102. package/components/tree/misc/tree.constants.d.ts +0 -3
  103. package/components/tree/misc/tree.tokens.d.ts +1 -6
  104. package/directives/button-close/button-close.directive.d.ts +2 -1
  105. package/directives/button-select/button-select.directive.d.ts +3 -3
  106. package/directives/chevron/chevron.directive.d.ts +2 -3
  107. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +5 -5
  108. package/directives/fade/fade.directive.d.ts +2 -2
  109. package/directives/fluid-typography/fluid-typography.directive.d.ts +3 -6
  110. package/directives/fluid-typography/fluid-typography.options.d.ts +1 -3
  111. package/directives/index.d.ts +0 -1
  112. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  113. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  114. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  115. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  116. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -145
  117. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +22 -38
  119. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-kit-components-avatar.mjs +22 -33
  121. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +4 -9
  123. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-kit-components-badge.mjs +14 -25
  125. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +0 -1
  127. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-components-block.mjs +18 -29
  129. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +6 -12
  131. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  133. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +4 -15
  135. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +4 -5
  137. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-kit-components-carousel.mjs +3 -9
  139. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +3 -4
  141. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-kit-components-chip.mjs +16 -32
  143. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +5 -6
  145. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-kit-components-comment.mjs +11 -18
  147. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-kit-components-compass.mjs +3 -3
  149. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  150. package/fesm2022/taiga-ui-kit-components-confirm.mjs +8 -11
  151. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  152. package/fesm2022/{taiga-ui-kit-directives-copy.mjs → taiga-ui-kit-components-copy.mjs} +13 -16
  153. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  154. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +19 -74
  155. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-kit-components-drawer.mjs +2 -2
  157. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  158. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +0 -1
  159. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-kit-components-files.mjs +21 -28
  161. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-components-filter.mjs +1 -1
  163. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  164. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +11 -17
  165. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +63 -0
  167. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  168. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +45 -63
  169. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +27 -46
  172. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +3 -4
  174. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  175. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +6 -8
  176. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  177. package/fesm2022/taiga-ui-kit-components-input-date.mjs +15 -26
  178. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -3
  180. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +4 -6
  182. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  183. package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -6
  184. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-components-input-number.mjs +30 -54
  186. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +103 -131
  188. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +3 -5
  190. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +3 -4
  192. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-components-input-range.mjs +29 -25
  194. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +26 -41
  196. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  197. package/fesm2022/taiga-ui-kit-components-input-time.mjs +30 -37
  198. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  199. package/fesm2022/taiga-ui-kit-components-input-year.mjs +3 -5
  200. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +2 -4
  202. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  203. package/fesm2022/taiga-ui-kit-components-like.mjs +4 -4
  204. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  205. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +29 -73
  206. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  207. package/fesm2022/taiga-ui-kit-components-message.mjs +6 -9
  208. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  209. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +27 -38
  210. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  211. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +32 -28
  212. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  213. package/fesm2022/taiga-ui-kit-components-pager.mjs +4 -6
  214. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  215. package/fesm2022/taiga-ui-kit-components-pagination.mjs +20 -11
  216. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  217. package/fesm2022/taiga-ui-kit-components-pin.mjs +13 -17
  218. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  219. package/fesm2022/taiga-ui-kit-components-preview.mjs +37 -29
  220. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-components-progress.mjs +61 -66
  222. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  223. package/fesm2022/taiga-ui-kit-components-pulse.mjs +1 -1
  224. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  225. package/fesm2022/taiga-ui-kit-components-push.mjs +40 -47
  226. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  227. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +6 -6
  228. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  229. package/fesm2022/taiga-ui-kit-components-radio.mjs +3 -4
  230. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  231. package/fesm2022/taiga-ui-kit-components-range.mjs +36 -80
  232. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  233. package/fesm2022/taiga-ui-kit-components-rating.mjs +4 -9
  234. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  235. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +7 -3
  236. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-components-segmented.mjs +28 -55
  238. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  239. package/fesm2022/taiga-ui-kit-components-select.mjs +37 -41
  240. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  241. package/fesm2022/taiga-ui-kit-components-slider.mjs +62 -70
  242. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  243. package/fesm2022/taiga-ui-kit-components-slides.mjs +12 -20
  244. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
  245. package/fesm2022/taiga-ui-kit-components-status.mjs +10 -14
  246. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  247. package/fesm2022/taiga-ui-kit-components-stepper.mjs +41 -75
  248. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  249. package/fesm2022/taiga-ui-kit-components-switch.mjs +3 -4
  250. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  251. package/fesm2022/taiga-ui-kit-components-tabs.mjs +15 -26
  252. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  253. package/fesm2022/taiga-ui-kit-components-textarea.mjs +8 -18
  254. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  255. package/fesm2022/taiga-ui-kit-components-tiles.mjs +2 -3
  256. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  257. package/fesm2022/taiga-ui-kit-components-toast.mjs +165 -0
  258. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -0
  259. package/fesm2022/taiga-ui-kit-components-tree.mjs +39 -43
  260. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  261. package/fesm2022/taiga-ui-kit-components.mjs +3 -1
  262. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  263. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +13 -5
  264. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
  265. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -9
  266. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  267. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +14 -13
  268. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  269. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +13 -19
  270. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  271. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -13
  272. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  273. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +22 -50
  274. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  275. package/fesm2022/taiga-ui-kit-directives-fade.mjs +13 -15
  276. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  277. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +12 -25
  278. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  279. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +0 -1
  280. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  281. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +0 -1
  282. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  283. package/fesm2022/taiga-ui-kit-directives-password.mjs +7 -9
  284. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  285. package/fesm2022/taiga-ui-kit-directives-present.mjs +0 -1
  286. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  287. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +11 -16
  288. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  289. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +22 -32
  290. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  291. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +25 -36
  292. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  293. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +13 -18
  294. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  295. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +2 -3
  296. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  297. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +1 -2
  298. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  299. package/fesm2022/taiga-ui-kit-directives.mjs +0 -1
  300. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  301. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +0 -1
  302. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  303. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +0 -1
  304. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  305. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +1 -2
  306. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  307. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +2 -2
  308. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  309. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +0 -1
  310. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  311. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +0 -1
  312. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  313. package/fesm2022/taiga-ui-kit-tokens.mjs +5 -18
  314. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  315. package/fesm2022/taiga-ui-kit-utils.mjs +1 -1
  316. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  317. package/package.json +26 -22
  318. package/pipes/stringify-content/stringify-content.pipe.d.ts +2 -3
  319. package/styles/components/badge.less +1 -0
  320. package/styles/components/checkbox.less +1 -1
  321. package/styles/components/chip.less +12 -1
  322. package/styles/components/pin.less +0 -1
  323. package/styles/components/radio.less +1 -1
  324. package/styles/components/switch.less +1 -1
  325. package/styles/components/toast.less +44 -0
  326. package/tokens/i18n.d.ts +25 -26
  327. package/tokens/items-handlers.d.ts +1 -7
  328. package/tokens/preview-icons.d.ts +1 -3
  329. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  330. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  331. package/components/accordion/accordion-item.component.d.ts +0 -25
  332. package/components/action-bar/action-bar.d.ts +0 -3
  333. package/components/action-bar/action-bar.directive.d.ts +0 -6
  334. package/components/pdf-viewer/index.d.ts +0 -4
  335. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  336. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  337. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  338. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  339. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  340. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  341. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +0 -64
  342. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +0 -1
  343. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  344. /package/{directives → components}/copy/copy.d.ts +0 -0
  345. /package/{directives → components}/copy/copy.options.d.ts +0 -0
  346. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -0,0 +1,10 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { type TuiPositionOptions } from '@taiga-ui/core/directives/alert';
3
+ export interface TuiToastOptions<I> extends TuiPositionOptions {
4
+ readonly autoClose: number;
5
+ readonly closable: boolean;
6
+ readonly appearance: string;
7
+ readonly data?: I;
8
+ }
9
+ export declare const TUI_TOAST_CONCURRENCY: InjectionToken<1 | 2>;
10
+ export declare const TUI_TOAST_OPTIONS: InjectionToken<TuiToastOptions<any>>, tuiToastOptionsProvider: (item: Partial<TuiToastOptions<any>> | (() => Partial<TuiToastOptions<any>>)) => import("@angular/core").FactoryProvider;
@@ -0,0 +1,17 @@
1
+ import { TuiAlertService } from '@taiga-ui/core/directives/alert';
2
+ import { TuiToastComponent } from './toast.component';
3
+ import { type TuiToastOptions } from './toast.options';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@taiga-ui/cdk/portals";
6
+ export declare class TuiToastService extends TuiAlertService<TuiToastOptions<any>> {
7
+ protected readonly options: TuiToastOptions<any>;
8
+ protected readonly component: typeof TuiToastComponent;
9
+ constructor();
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiToastService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiToastService>;
12
+ }
13
+ export declare class TuiToastTemplate<T> {
14
+ readonly tuiToastOptions: import("@angular/core").InputSignal<Partial<TuiToastOptions<T>>>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiToastTemplate<any>, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiToastTemplate<any>, "ng-template[tuiToast]", never, { "tuiToastOptions": { "alias": "tuiToastOptions"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiPortalDirective; inputs: { "options": "tuiToastOptions"; "open": "tuiToast"; }; outputs: { "openChange": "tuiToastChange"; }; }]>;
17
+ }
@@ -1,12 +1,19 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { PolymorpheusComponent, type PolymorpheusContent } from '@taiga-ui/polymorpheus';
1
3
  import { type TuiTreeItemContext } from '../../misc/tree.interfaces';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class TuiTreeItemContent {
4
6
  private readonly controller;
5
7
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
6
- protected readonly more: import("@angular/core").Signal<string | undefined>;
8
+ protected readonly more: import("@angular/core").Signal<string>;
7
9
  protected readonly context: TuiTreeItemContext;
8
10
  protected get isExpandable(): boolean;
9
11
  protected onClick(): void;
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTreeItemContent, never>;
11
13
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiTreeItemContent, "ng-component", never, {}, {}, never, never, true, never>;
12
14
  }
15
+ export declare const TUI_TREE_ITEM_CONTENT: PolymorpheusComponent<TuiTreeItemContent>;
16
+ /**
17
+ * Content for a tree item
18
+ */
19
+ export declare const TUI_TREE_CONTENT: InjectionToken<PolymorpheusContent<TuiTreeItemContext>>;
@@ -1,5 +1,2 @@
1
- import { PolymorpheusComponent } from '@taiga-ui/polymorpheus';
2
- import { TuiTreeItemContent } from '../components/tree-item-content/tree-item-content.component';
3
1
  import { type TuiTreeController } from './tree.interfaces';
4
- export declare const TUI_TREE_ITEM_CONTENT: PolymorpheusComponent<TuiTreeItemContent>;
5
2
  export declare const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController;
@@ -1,6 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
- import { type TuiTreeAccessor, type TuiTreeItemContext, type TuiTreeLoader } from './tree.interfaces';
2
+ import { type TuiTreeAccessor, type TuiTreeLoader } from './tree.interfaces';
4
3
  /**
5
4
  * Controller for tracking value - TuiTreeItemComponent pairs
6
5
  */
@@ -25,10 +24,6 @@ export declare const TUI_TREE_START: InjectionToken<unknown>;
25
24
  * A service to load tree progressively
26
25
  */
27
26
  export declare const TUI_TREE_LOADER: InjectionToken<TuiTreeLoader<unknown>>;
28
- /**
29
- * Content for a tree item
30
- */
31
- export declare const TUI_TREE_CONTENT: InjectionToken<PolymorpheusContent<TuiTreeItemContext>>;
32
27
  /**
33
28
  * Nesting level of current TreeView node
34
29
  */
@@ -1,5 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
+ import * as i1 from "@taiga-ui/core/components/button";
2
3
  export declare class TuiButtonClose {
3
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiButtonClose, never>;
4
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiButtonClose, "[tuiIconButton][tuiButtonClose]", never, {}, {}, never, never, true, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiButtonClose, "[tuiButtonClose]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiButton; inputs: { "size": "size"; }; outputs: {}; }]>;
5
6
  }
@@ -3,11 +3,11 @@ import { type TuiDataListHost } from '@taiga-ui/core/components/data-list';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@taiga-ui/core/directives/dropdown";
5
5
  import * as i2 from "@taiga-ui/cdk/directives/native-validator";
6
- import * as i3 from "@taiga-ui/core/components/textfield";
7
- export declare class TuiButtonSelect<T> extends TuiControl<T> implements TuiDataListHost<T> {
6
+ export declare class TuiButtonSelect<T> extends TuiControl<T | T[]> implements TuiDataListHost<T> {
8
7
  private readonly open;
8
+ private readonly handlers;
9
9
  readonly size = "s";
10
10
  handleOption(option: T): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiButtonSelect<any>, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiButtonSelect<any>, "button[tuiButtonSelect]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }]>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiButtonSelect<any>, "button[tuiButtonSelect]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }]>;
13
13
  }
@@ -6,8 +6,7 @@ export declare class TuiChevron {
6
6
  private readonly dropdown;
7
7
  protected readonly nothing: undefined;
8
8
  protected readonly toggle: import("@angular/core").EffectRef;
9
- readonly chevron: import("@angular/core").WritableSignal<boolean | "">;
10
- set tuiChevron(chevron: boolean | '');
9
+ readonly rotated: import("@angular/core").InputSignal<boolean | "">;
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiChevron, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiChevron, "[tuiChevron]", never, { "tuiChevron": { "alias": "tuiChevron"; "required": false; }; }, {}, never, never, true, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiChevron, "[tuiChevron]", never, { "rotated": { "alias": "tuiChevron"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
12
  }
@@ -1,14 +1,14 @@
1
1
  import { type AfterViewInit } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDataListDropdownManager implements AfterViewInit {
4
+ private readonly destroyRef;
4
5
  private readonly dropdowns;
5
6
  private readonly els;
6
- private readonly destroyRef;
7
+ private readonly elements$;
8
+ private readonly right$;
9
+ private readonly immediate$;
10
+ private readonly debounce$;
7
11
  ngAfterViewInit(): void;
8
- private get elements$();
9
- private get right$();
10
- private get immediate$();
11
- private get debounce$();
12
12
  private notInDropdown;
13
13
  private tryToFocus;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDataListDropdownManager, never>;
@@ -1,7 +1,7 @@
1
1
  import { type TuiOrientation } from '@taiga-ui/core/types';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@taiga-ui/cdk/directives/transitioned";
4
3
  export declare class TuiFade {
4
+ protected readonly nothing: undefined;
5
5
  lineHeight: string | null;
6
6
  size: string;
7
7
  offset: string;
@@ -9,5 +9,5 @@ export declare class TuiFade {
9
9
  constructor();
10
10
  private isEnd;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiFade, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFade, "[tuiFade]", never, { "lineHeight": { "alias": "tuiFadeHeight"; "required": false; }; "size": { "alias": "tuiFadeSize"; "required": false; }; "offset": { "alias": "tuiFadeOffset"; "required": false; }; "orientation": { "alias": "tuiFade"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiTransitioned; inputs: {}; outputs: {}; }]>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFade, "[tuiFade]", never, { "lineHeight": { "alias": "tuiFadeHeight"; "required": false; }; "size": { "alias": "tuiFadeSize"; "required": false; }; "offset": { "alias": "tuiFadeOffset"; "required": false; }; "orientation": { "alias": "tuiFade"; "required": false; }; }, {}, never, never, true, never>;
13
13
  }
@@ -1,12 +1,9 @@
1
- import { type OnChanges } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
- export declare class TuiFluidTypography implements OnChanges {
4
- private readonly changes$;
2
+ export declare class TuiFluidTypography {
5
3
  private readonly el;
6
4
  private readonly options;
5
+ readonly tuiFluidTypography: import("@angular/core").InputSignal<"" | readonly [min: number, max: number]>;
7
6
  protected readonly sub: import("rxjs").Subscription;
8
- tuiFluidTypography: readonly [min: number, max: number] | '';
9
- ngOnChanges(): void;
10
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiFluidTypography, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFluidTypography, "[tuiFluidTypography]", never, { "tuiFluidTypography": { "alias": "tuiFluidTypography"; "required": false; }; }, {}, never, never, true, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiFluidTypography, "[tuiFluidTypography]", never, { "tuiFluidTypography": { "alias": "tuiFluidTypography"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
9
  }
@@ -1,8 +1,6 @@
1
- import { InjectionToken, type Provider } from '@angular/core';
2
1
  export interface TuiFluidTypographyOptions {
3
2
  readonly min: number;
4
3
  readonly max: number;
5
4
  }
6
5
  export declare const TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS: TuiFluidTypographyOptions;
7
- export declare const TUI_FLUID_TYPOGRAPHY_OPTIONS: InjectionToken<TuiFluidTypographyOptions>;
8
- export declare function tuiFluidTypographyOptionsProvider(options: Partial<TuiFluidTypographyOptions>): Provider;
6
+ export declare const TUI_FLUID_TYPOGRAPHY_OPTIONS: import("@angular/core").InjectionToken<TuiFluidTypographyOptions>, tuiFluidTypographyOptionsProvider: (item: Partial<TuiFluidTypographyOptions> | (() => Partial<TuiFluidTypographyOptions>)) => import("@angular/core").FactoryProvider;
@@ -3,7 +3,6 @@ export * from '@taiga-ui/kit/directives/button-group';
3
3
  export * from '@taiga-ui/kit/directives/button-select';
4
4
  export * from '@taiga-ui/kit/directives/chevron';
5
5
  export * from '@taiga-ui/kit/directives/connected';
6
- export * from '@taiga-ui/kit/directives/copy';
7
6
  export * from '@taiga-ui/kit/directives/data-list-dropdown-manager';
8
7
  export * from '@taiga-ui/kit/directives/fade';
9
8
  export * from '@taiga-ui/kit/directives/fluid-typography';
@@ -3,7 +3,7 @@ export declare class TuiSensitive {
3
3
  protected readonly nothing: undefined;
4
4
  protected readonly offset: number;
5
5
  protected readonly height: import("@angular/core").Signal<number | undefined>;
6
- tuiSensitive: boolean | null;
6
+ readonly tuiSensitive: import("@angular/core").InputSignal<boolean | null>;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiSensitive, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSensitive, "[tuiSensitive]", never, { "tuiSensitive": { "alias": "tuiSensitive"; "required": false; }; }, {}, never, never, true, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSensitive, "[tuiSensitive]", never, { "tuiSensitive": { "alias": "tuiSensitive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
9
  }
@@ -4,10 +4,10 @@ export declare class TuiShimmer implements OnChanges {
4
4
  private readonly isBrowser;
5
5
  private readonly el;
6
6
  private animation?;
7
- protected disabled: boolean;
8
7
  protected readonly nothing: undefined;
9
- shimmer: boolean;
8
+ protected disabled: boolean;
9
+ readonly tuiShimmer: import("@angular/core").InputSignal<boolean>;
10
10
  ngOnChanges(): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiShimmer, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiShimmer, "[tuiShimmer]", never, { "shimmer": { "alias": "tuiShimmer"; "required": false; }; }, {}, never, never, true, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiShimmer, "[tuiShimmer]", never, { "tuiShimmer": { "alias": "tuiShimmer"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
13
  }
@@ -5,9 +5,9 @@ export declare class TuiSkeleton implements OnChanges {
5
5
  private readonly el;
6
6
  private readonly duration;
7
7
  protected readonly nothing: undefined;
8
- tuiSkeleton: boolean | number | string;
8
+ protected readonly placeholder: import("@angular/core").Signal<string | null>;
9
+ readonly tuiSkeleton: import("@angular/core").InputSignal<string | number | boolean>;
9
10
  ngOnChanges({ tuiSkeleton }: SimpleChanges): void;
10
- protected getPlaceholder(value: boolean | number | string): string | null;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiSkeleton, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSkeleton, "[tuiSkeleton]", never, { "tuiSkeleton": { "alias": "tuiSkeleton"; "required": false; }; }, {}, never, never, true, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSkeleton, "[tuiSkeleton]", never, { "tuiSkeleton": { "alias": "tuiSkeleton"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13
13
  }
@@ -10,9 +10,9 @@ export declare class TuiTooltip implements DoCheck {
10
10
  private readonly driver;
11
11
  protected readonly nothing: undefined;
12
12
  protected readonly state: Signal<unknown>;
13
- size: TuiSizeS;
13
+ readonly size: import("@angular/core").InputSignal<TuiSizeS>;
14
14
  ngDoCheck(): void;
15
15
  protected onClick(event: MouseEvent): void;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTooltip, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTooltip, "tui-icon[tuiTooltip]", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiHintDescribe; inputs: { "tuiHintDescribe": "tuiTooltipDescribe"; }; outputs: {}; }, { directive: typeof i2.TuiHintDirective; inputs: { "tuiHint": "tuiTooltip"; "tuiHintAppearance": "tuiHintAppearance"; "tuiHintContext": "tuiHintContext"; }; outputs: {}; }]>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTooltip, "tui-icon[tuiTooltip]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiHintDescribe; inputs: { "tuiHintDescribe": "tuiTooltipDescribe"; }; outputs: {}; }, { directive: typeof i2.TuiHintDirective; inputs: { "tuiHint": "tuiTooltip"; "tuiHintAppearance": "tuiHintAppearance"; "tuiHintContext": "tuiHintContext"; }; outputs: {}; }]>;
18
18
  }
@@ -1,171 +1,95 @@
1
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
+ import { TuiExpand } from '@taiga-ui/core/components/expand';
1
3
  import * as i0 from '@angular/core';
2
- import { Directive, inject, ChangeDetectorRef, EventEmitter, Output, Input, ContentChild, ChangeDetectionStrategy, Component, DestroyRef, ContentChildren } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
5
- import { tuiQueryListChanges } from '@taiga-ui/cdk/observables';
6
- import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { inject, model, Directive, contentChildren, input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
5
+ import { tuiSetSignal } from '@taiga-ui/cdk/utils/miscellaneous';
7
6
  import * as i1$1 from '@taiga-ui/core/directives/group';
8
- import { TuiGroup } from '@taiga-ui/core/directives/group';
9
- import { pairwise, map, filter, merge, switchMap, identity } from 'rxjs';
10
- import * as i1 from '@taiga-ui/core/components/expand';
11
- import { TuiExpand } from '@taiga-ui/core/components/expand';
12
- import { TuiIcon } from '@taiga-ui/core/components/icon';
13
- import { TuiChevron } from '@taiga-ui/kit/directives';
14
- import { PolymorpheusTemplate, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
15
-
16
- class TuiAccordionItemContent extends PolymorpheusTemplate {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemContent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAccordionItemContent, isStandalone: true, selector: "ng-template[tuiAccordionItemContent]", usesInheritance: true, ngImport: i0 }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemContent, decorators: [{
21
- type: Directive,
22
- args: [{
23
- standalone: true,
24
- selector: 'ng-template[tuiAccordionItemContent]',
25
- }]
26
- }] });
7
+ import { tuiGroupOptionsProvider, TuiGroup } from '@taiga-ui/core/directives/group';
8
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils';
9
+ import * as i1 from '@taiga-ui/core/components/button';
10
+ import { TuiButton, tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
11
+ import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
12
+ import * as i2 from '@taiga-ui/kit/directives/chevron';
13
+ import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
27
14
 
28
- class TuiAccordionItemEagerContent {
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemEagerContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAccordionItemEagerContent, isStandalone: true, selector: "[tuiAccordionItemContent]:not(ng-template)", ngImport: i0 }); }
15
+ class TuiAccordionDirective {
16
+ constructor() {
17
+ this.accordion = inject(TuiAccordionComponent);
18
+ this.open = model(false, { alias: 'tuiAccordion' });
19
+ this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);
20
+ this.chevron = tuiDirectiveBinding(TuiChevron, 'rotated', this.open);
21
+ }
22
+ ngOnChanges() {
23
+ this.accordion.toggle(this);
24
+ }
25
+ toggle() {
26
+ this.open.set(!this.open());
27
+ this.accordion.toggle(this);
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiAccordionDirective, isStandalone: true, selector: "button[tuiAccordion]", inputs: { open: { classPropertyName: "open", publicName: "tuiAccordion", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "tuiAccordionChange" }, host: { attributes: { "tuiButton": "", "tuiAccordion": "", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class._open": "open()" } }, providers: [
31
+ tuiAvatarOptionsProvider({ size: 's' }),
32
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
33
+ ], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiButton }, { directive: i2.TuiChevron }], ngImport: i0 }); }
31
34
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemEagerContent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, decorators: [{
33
36
  type: Directive,
34
37
  args: [{
35
- standalone: true,
36
- selector: '[tuiAccordionItemContent]:not(ng-template)',
38
+ selector: 'button[tuiAccordion]',
39
+ providers: [
40
+ tuiAvatarOptionsProvider({ size: 's' }),
41
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
42
+ ],
43
+ hostDirectives: [TuiButton, TuiChevron],
44
+ host: {
45
+ tuiButton: '',
46
+ tuiAccordion: '',
47
+ type: 'button',
48
+ '[class._open]': 'open()',
49
+ '(click)': 'toggle()',
50
+ },
37
51
  }]
38
52
  }] });
39
53
 
40
- class TuiAccordionItem {
54
+ class TuiAccordionComponent {
41
55
  constructor() {
42
- this.cdr = inject(ChangeDetectorRef);
43
- this.noPadding = false;
44
- this.showArrow = true;
45
- this.borders = 'all';
46
- this.size = 'm';
47
- this.disabled = false;
48
- this.disableHover = false;
49
- this.open = false;
50
- this.async = false;
51
- this.openChange = new EventEmitter();
52
- }
53
- close() {
54
- this.updateOpen(false);
55
- this.cdr.markForCheck();
56
- }
57
- onRowToggle() {
58
- if (!this.disabled) {
59
- this.updateOpen(!this.open);
60
- }
56
+ this.expands = contentChildren(TuiExpand);
57
+ this.directives = contentChildren(TuiAccordionDirective);
58
+ this.closeOthers = input(true);
59
+ this.size = input('l');
61
60
  }
62
- onItemKeyDownEsc(event) {
63
- if (!this.open) {
64
- return;
61
+ toggle(directive) {
62
+ if (this.closeOthers() && directive.open()) {
63
+ this.expands().forEach((expand) => tuiSetSignal(expand.expanded, false));
64
+ this.directives().forEach((dir) => {
65
+ if (dir !== directive) {
66
+ dir.open.set(false);
67
+ }
68
+ });
65
69
  }
66
- event.stopPropagation();
67
- this.updateOpen(false);
68
- }
69
- updateOpen(open) {
70
- if (this.open === open) {
71
- return;
70
+ const expand = this.expands()[this.directives().indexOf(directive)];
71
+ if (expand) {
72
+ tuiSetSignal(expand.expanded, !!directive.open());
72
73
  }
73
- this.open = open;
74
- this.openChange.emit(open);
75
74
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiAccordionItem, isStandalone: true, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { properties: { "class._no-padding": "noPadding", "class._has-arrow": "showArrow", "attr.data-borders": "borders", "attr.data-size": "size", "class._disabled": "disabled" } }, queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContent, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContent, descendants: true }], ngImport: i0, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"disabled\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content />\n </span>\n @if (showArrow) {\n <tui-icon\n class=\"t-icon\"\n [tuiChevron]=\"open\"\n />\n }\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n @if (lazyContent) {\n <div\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n </ng-template>\n @if (eagerContent) {\n <div class=\"t-content\">\n <ng-content select=\"[tuiAccordionItemContent]:not(ng-template)\" />\n </div>\n }\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}::ng-deep tui-accordion{inline-size:100%}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-border-normal);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0}:host[data-borders=top] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-end-width:0}:host[data-borders=bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-start-width:0}.t-header{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;inline-size:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-block-end:1px solid var(--tui-border-normal);min-block-size:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-primary);cursor:pointer;text-align:start;outline:none}.t-header:focus-visible{box-shadow:inset 0 0 0 2px var(--tui-border-focus)}:host:not([data-borders]) .t-header{border-block-end-width:0}:host._has-arrow .t-header{padding-inline-end:.75rem}:host-context([tuiTheme=\"dark\"]) .t-header_open{background:var(--tui-background-neutral-1)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-block-size:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-inline-start:0;padding-inline-end:0}:host._disabled .t-header{cursor:default}.t-wrapper:hover>.t-header_hoverable{background:var(--tui-background-base-alt)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-inline-end:0;flex-grow:1}:host._has-arrow .t-title{margin-inline-end:.5rem}.t-icon{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;color:var(--tui-text-tertiary)}.t-icon:after{font-size:1rem}:host:hover .t-icon{color:var(--tui-text-secondary)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;overflow-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { kind: "directive", type: i1.TuiExpandContent, selector: "[tuiExpandContent]" }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.15", type: TuiAccordionComponent, isStandalone: true, selector: "tui-accordion", inputs: { closeOthers: { classPropertyName: "closeOthers", publicName: "closeOthers", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], queries: [{ propertyName: "expands", predicate: TuiExpand, isSignal: true }, { propertyName: "directives", predicate: TuiAccordionDirective, isSignal: true }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:stretch;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
77
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItem, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionComponent, decorators: [{
80
79
  type: Component,
81
- args: [{ selector: 'tui-accordion-item', imports: [PolymorpheusOutlet, TuiChevron, TuiExpand, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
82
- '[class._no-padding]': 'noPadding',
83
- '[class._has-arrow]': 'showArrow',
84
- '[attr.data-borders]': 'borders',
85
- '[attr.data-size]': 'size',
86
- '[class._disabled]': 'disabled',
87
- }, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"disabled\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content />\n </span>\n @if (showArrow) {\n <tui-icon\n class=\"t-icon\"\n [tuiChevron]=\"open\"\n />\n }\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n @if (lazyContent) {\n <div\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n </ng-template>\n @if (eagerContent) {\n <div class=\"t-content\">\n <ng-content select=\"[tuiAccordionItemContent]:not(ng-template)\" />\n </div>\n }\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}::ng-deep tui-accordion{inline-size:100%}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-border-normal);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0}:host[data-borders=top] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-end-width:0}:host[data-borders=bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-start-width:0}.t-header{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;inline-size:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-block-end:1px solid var(--tui-border-normal);min-block-size:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-primary);cursor:pointer;text-align:start;outline:none}.t-header:focus-visible{box-shadow:inset 0 0 0 2px var(--tui-border-focus)}:host:not([data-borders]) .t-header{border-block-end-width:0}:host._has-arrow .t-header{padding-inline-end:.75rem}:host-context([tuiTheme=\"dark\"]) .t-header_open{background:var(--tui-background-neutral-1)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-block-size:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-inline-start:0;padding-inline-end:0}:host._disabled .t-header{cursor:default}.t-wrapper:hover>.t-header_hoverable{background:var(--tui-background-base-alt)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-inline-end:0;flex-grow:1}:host._has-arrow .t-title{margin-inline-end:.5rem}.t-icon{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;color:var(--tui-text-tertiary)}.t-icon:after{font-size:1rem}:host:hover .t-icon{color:var(--tui-text-secondary)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;overflow-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"] }]
88
- }], propDecorators: { eagerContent: [{
89
- type: ContentChild,
90
- args: [TuiAccordionItemEagerContent]
91
- }], lazyContent: [{
92
- type: ContentChild,
93
- args: [TuiAccordionItemContent]
94
- }], noPadding: [{
95
- type: Input
96
- }], showArrow: [{
97
- type: Input
98
- }], borders: [{
99
- type: Input
100
- }], size: [{
101
- type: Input
102
- }], disabled: [{
103
- type: Input
104
- }], disableHover: [{
105
- type: Input
106
- }], open: [{
107
- type: Input
108
- }], async: [{
109
- type: Input
110
- }], openChange: [{
111
- type: Output
112
- }] } });
113
-
114
- class TuiAccordionDirective {
115
- constructor() {
116
- this.destroyRef = inject(DestroyRef);
117
- this.accordionItems = EMPTY_QUERY;
118
- this.closeOthers = true;
119
- // Not using DI options to avoid changed defaults spilling to content
120
- const group = inject(TuiGroup);
121
- group.orientation = 'vertical';
122
- group.collapsed = true;
123
- }
124
- ngAfterContentInit() {
125
- const { accordionItems } = this;
126
- const rows$ = tuiQueryListChanges(accordionItems);
127
- const newOpenRow$ = rows$.pipe(pairwise(), map(([previous, current]) => current.find((item) => !previous.includes(item) && item.open)), filter(tuiIsPresent));
128
- const rowsOpen$ = merge(rows$.pipe(switchMap((rows) => merge(...rows.map((row) => row.openChange.pipe(filter(identity), map(() => row)))))), newOpenRow$).pipe(filter(() => this.closeOthers), takeUntilDestroyed(this.destroyRef));
129
- rowsOpen$.subscribe((currentRow) => {
130
- accordionItems.forEach((row) => {
131
- if (currentRow !== row) {
132
- row.close();
133
- }
134
- });
135
- });
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
138
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAccordionDirective, isStandalone: true, selector: "tui-accordion", inputs: { closeOthers: "closeOthers" }, queries: [{ propertyName: "accordionItems", predicate: TuiAccordionItem }], hostDirectives: [{ directive: i1$1.TuiGroup, inputs: ["rounded", "rounded"] }], ngImport: i0 }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, decorators: [{
141
- type: Directive,
142
- args: [{
143
- standalone: true,
144
- selector: 'tui-accordion',
145
- hostDirectives: [
146
- {
147
- directive: TuiGroup,
148
- inputs: ['rounded'],
149
- },
150
- ],
151
- }]
152
- }], ctorParameters: () => [], propDecorators: { accordionItems: [{
153
- type: ContentChildren,
154
- args: [TuiAccordionItem]
155
- }], closeOthers: [{
156
- type: Input
157
- }] } });
80
+ args: [{ selector: 'tui-accordion', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], hostDirectives: [TuiGroup], host: { '[attr.data-size]': 'size()' }, styles: ["tui-accordion{inline-size:stretch;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"] }]
81
+ }] });
158
82
 
159
83
  const TuiAccordion = [
160
- TuiAccordionItem,
84
+ TuiAccordionComponent,
161
85
  TuiAccordionDirective,
162
- TuiAccordionItemContent,
163
- TuiAccordionItemEagerContent,
86
+ TuiExpand,
87
+ TuiItem,
164
88
  ];
165
89
 
166
90
  /**
167
91
  * Generated bundle index. Do not edit.
168
92
  */
169
93
 
170
- export { TuiAccordion, TuiAccordionDirective, TuiAccordionItem, TuiAccordionItemContent, TuiAccordionItemEagerContent };
94
+ export { TuiAccordion, TuiAccordionComponent, TuiAccordionDirective };
171
95
  //# sourceMappingURL=taiga-ui-kit-components-accordion.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-accordion.mjs","sources":["../../../projects/kit/components/accordion/accordion-item-content.directive.ts","../../../projects/kit/components/accordion/accordion-item-eager-content.directive.ts","../../../projects/kit/components/accordion/accordion-item.component.ts","../../../projects/kit/components/accordion/accordion-item.template.html","../../../projects/kit/components/accordion/accordion.directive.ts","../../../projects/kit/components/accordion/accordion.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContent extends PolymorpheusTemplate<\n Record<string, unknown>\n> {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContent {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {TuiChevron} from '@taiga-ui/kit/directives';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiAccordionItemContent} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContent} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n imports: [PolymorpheusOutlet, TuiChevron, TuiExpand, TuiIcon],\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._no-padding]': 'noPadding',\n '[class._has-arrow]': 'showArrow',\n '[attr.data-borders]': 'borders',\n '[attr.data-size]': 'size',\n '[class._disabled]': 'disabled',\n },\n})\nexport class TuiAccordionItem {\n private readonly cdr = inject(ChangeDetectorRef);\n\n @ContentChild(TuiAccordionItemEagerContent)\n protected readonly eagerContent?: TuiAccordionItemEagerContent;\n\n @ContentChild(TuiAccordionItemContent)\n protected readonly lazyContent?: TuiAccordionItemContent;\n\n @Input()\n public noPadding = false;\n\n @Input()\n public showArrow = true;\n\n @Input()\n public borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n public size: TuiSizeS = 'm';\n\n @Input()\n public disabled = false;\n\n @Input()\n public disableHover = false;\n\n @Input()\n public open = false;\n\n @Input()\n public async = false;\n\n @Output()\n public readonly openChange = new EventEmitter<boolean>();\n\n public close(): void {\n this.updateOpen(false);\n this.cdr.markForCheck();\n }\n\n protected onRowToggle(): void {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n protected onItemKeyDownEsc(event: Event): void {\n if (!this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n private updateOpen(open: boolean): void {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"disabled\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content />\n </span>\n @if (showArrow) {\n <tui-icon\n class=\"t-icon\"\n [tuiChevron]=\"open\"\n />\n }\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n @if (lazyContent) {\n <div\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n </ng-template>\n @if (eagerContent) {\n <div class=\"t-content\">\n <ng-content select=\"[tuiAccordionItemContent]:not(ng-template)\" />\n </div>\n }\n </tui-expand>\n</div>\n","import {\n type AfterContentInit,\n ContentChildren,\n DestroyRef,\n Directive,\n inject,\n Input,\n type QueryList,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {filter, identity, map, merge, pairwise, switchMap} from 'rxjs';\n\nimport {TuiAccordionItem} from './accordion-item.component';\n\n@Directive({\n standalone: true,\n selector: 'tui-accordion',\n hostDirectives: [\n {\n directive: TuiGroup,\n inputs: ['rounded'],\n },\n ],\n})\nexport class TuiAccordionDirective implements AfterContentInit {\n private readonly destroyRef = inject(DestroyRef);\n\n @ContentChildren(TuiAccordionItem)\n protected readonly accordionItems: QueryList<TuiAccordionItem> = EMPTY_QUERY;\n\n @Input()\n public closeOthers = true;\n\n constructor() {\n // Not using DI options to avoid changed defaults spilling to content\n const group = inject(TuiGroup);\n\n group.orientation = 'vertical';\n group.collapsed = true;\n }\n\n public ngAfterContentInit(): void {\n const {accordionItems} = this;\n const rows$ = tuiQueryListChanges(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find((item) => !previous.includes(item) && item.open),\n ),\n filter(tuiIsPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap((rows) =>\n merge(\n ...rows.map((row) =>\n row.openChange.pipe(\n filter(identity),\n map(() => row),\n ),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntilDestroyed(this.destroyRef),\n );\n\n rowsOpen$.subscribe((currentRow) => {\n accordionItems.forEach((row) => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {TuiAccordionDirective} from './accordion.directive';\nimport {TuiAccordionItem} from './accordion-item.component';\nimport {TuiAccordionItemContent} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContent} from './accordion-item-eager-content.directive';\n\nexport const TuiAccordion = [\n TuiAccordionItem,\n TuiAccordionDirective,\n TuiAccordionItemContent,\n TuiAccordionItemEagerContent,\n] as const;\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-accordion.mjs","sources":["../../../projects/kit/components/accordion/accordion.directive.ts","../../../projects/kit/components/accordion/accordion.component.ts","../../../projects/kit/components/accordion/accordion.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {Directive, inject, model, type OnChanges} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\n\nimport {TuiAccordionComponent} from './accordion.component';\n\n@Directive({\n selector: 'button[tuiAccordion]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n ],\n hostDirectives: [TuiButton, TuiChevron],\n host: {\n tuiButton: '',\n tuiAccordion: '',\n type: 'button',\n '[class._open]': 'open()',\n '(click)': 'toggle()',\n },\n})\nexport class TuiAccordionDirective implements OnChanges {\n private readonly accordion = inject(TuiAccordionComponent);\n\n public readonly open = model<boolean | ''>(false, {alias: 'tuiAccordion'});\n\n public readonly size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);\n public readonly chevron = tuiDirectiveBinding(TuiChevron, 'rotated', this.open);\n\n public ngOnChanges(): void {\n this.accordion.toggle(this);\n }\n\n public toggle(): void {\n this.open.set(!this.open());\n this.accordion.toggle(this);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\nimport {TuiGroup, tuiGroupOptionsProvider} from '@taiga-ui/core/directives/group';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TuiAccordionDirective} from './accordion.directive';\n\n@Component({\n selector: 'tui-accordion',\n template: '<ng-content />',\n styleUrl: './accordion.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiGroupOptionsProvider({orientation: 'vertical', collapsed: true})],\n hostDirectives: [TuiGroup],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiAccordionComponent {\n protected readonly expands = contentChildren(TuiExpand);\n protected readonly directives = contentChildren(TuiAccordionDirective);\n\n public readonly closeOthers = input(true);\n public readonly size = input<TuiSizeL | TuiSizeS>('l');\n\n public toggle(directive: TuiAccordionDirective): void {\n if (this.closeOthers() && directive.open()) {\n this.expands().forEach((expand) => tuiSetSignal(expand.expanded, false));\n this.directives().forEach((dir) => {\n if (dir !== directive) {\n dir.open.set(false);\n }\n });\n }\n\n const expand = this.expands()[this.directives().indexOf(directive)];\n\n if (expand) {\n tuiSetSignal(expand.expanded, !!directive.open());\n }\n }\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionDirective} from './accordion.directive';\n\nexport const TuiAccordion = [\n TuiAccordionComponent,\n TuiAccordionDirective,\n TuiExpand,\n TuiItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}