@taiga-ui/kit 4.52.0-canary.e10b718 → 4.52.0-canary.eb5ffe3

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 (269) hide show
  1. package/components/accordion/accordion.component.d.ts +13 -0
  2. package/components/accordion/accordion.d.ts +4 -4
  3. package/components/accordion/accordion.directive.d.ts +11 -10
  4. package/components/accordion/index.d.ts +1 -3
  5. package/components/action-bar/action-bar.component.d.ts +5 -7
  6. package/components/action-bar/index.d.ts +0 -2
  7. package/components/avatar/avatar-outline.directive.d.ts +3 -3
  8. package/components/badge/badge.directive.d.ts +2 -2
  9. package/components/block/block.directive.d.ts +4 -4
  10. package/components/block/block.options.d.ts +1 -1
  11. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  12. package/components/calendar-range/calendar-range.component.d.ts +1 -2
  13. package/components/chip/chip.directive.d.ts +2 -4
  14. package/components/comment/comment.directive.d.ts +2 -2
  15. package/components/confirm/confirm.component.d.ts +2 -1
  16. package/components/confirm/confirm.service.d.ts +2 -1
  17. package/{directives → components}/copy/copy.component.d.ts +1 -1
  18. package/{directives → components}/copy/copy.directive.d.ts +1 -0
  19. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +2 -0
  20. package/components/files/files/files.component.d.ts +2 -2
  21. package/components/floating-container/floating-container.directive.d.ts +2 -2
  22. package/components/fullscreen/fullscreen.component.d.ts +14 -0
  23. package/components/fullscreen/index.d.ts +1 -0
  24. package/components/index.d.ts +3 -1
  25. package/components/input-number/quantum.directive.d.ts +1 -1
  26. package/components/input-number/step/input-number-step.component.d.ts +1 -1
  27. package/components/input-phone-international/input-phone-international.component.d.ts +24 -30
  28. package/components/input-pin/input-pin.component.d.ts +1 -1
  29. package/components/input-range/input-range.component.d.ts +9 -12
  30. package/components/input-slider/input-slider.directive.d.ts +2 -4
  31. package/components/input-time/input-time.directive.d.ts +1 -0
  32. package/components/like/like.component.d.ts +2 -2
  33. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  34. package/components/line-clamp/line-clamp.component.d.ts +8 -10
  35. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +3 -3
  36. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  37. package/components/pagination/pagination.component.d.ts +1 -1
  38. package/components/pin/pin.directive.d.ts +2 -2
  39. package/components/preview/pagination/preview-pagination.component.d.ts +1 -1
  40. package/components/preview/preview.component.d.ts +1 -1
  41. package/components/preview/zoom/preview-zoom.component.d.ts +1 -1
  42. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  43. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  44. package/components/push/push-alert.component.d.ts +4 -3
  45. package/components/push/push.component.d.ts +1 -1
  46. package/components/push/push.directive.d.ts +4 -6
  47. package/components/push/push.options.d.ts +4 -8
  48. package/components/push/push.service.d.ts +6 -2
  49. package/components/range/range-change.directive.d.ts +1 -1
  50. package/components/range/range.component.d.ts +0 -5
  51. package/components/rating/rating.component.d.ts +5 -5
  52. package/components/rating/rating.options.d.ts +5 -3
  53. package/components/slider/helpers/key-steps.d.ts +1 -2
  54. package/components/slider/helpers/slider-key-steps.directive.d.ts +12 -21
  55. package/components/slides/slides.directive.d.ts +4 -4
  56. package/components/status/status.directive.d.ts +2 -2
  57. package/components/tabs/tabs-with-more.component.d.ts +1 -1
  58. package/components/textarea/textarea-limit.directive.d.ts +4 -5
  59. package/components/toast/index.d.ts +5 -0
  60. package/components/toast/toast.component.d.ts +18 -0
  61. package/components/toast/toast.d.ts +3 -0
  62. package/components/toast/toast.directive.d.ts +7 -0
  63. package/components/toast/toast.options.d.ts +9 -0
  64. package/components/toast/toast.service.d.ts +17 -0
  65. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +1 -1
  66. package/directives/button-select/button-select.directive.d.ts +1 -2
  67. package/directives/chevron/chevron.directive.d.ts +2 -3
  68. package/directives/fade/fade.directive.d.ts +1 -0
  69. package/directives/index.d.ts +0 -1
  70. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  71. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  72. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  73. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  74. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -144
  75. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +22 -38
  77. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-avatar.mjs +21 -32
  79. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-kit-components-badge.mjs +11 -18
  82. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-kit-components-block.mjs +15 -22
  85. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -4
  87. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +3 -4
  89. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +4 -5
  91. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-kit-components-carousel.mjs +2 -2
  93. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +2 -2
  95. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-components-chip.mjs +13 -25
  97. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +5 -5
  99. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-kit-components-comment.mjs +11 -18
  101. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-kit-components-confirm.mjs +8 -9
  104. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  105. package/fesm2022/{taiga-ui-kit-directives-copy.mjs → taiga-ui-kit-components-copy.mjs} +7 -6
  106. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  107. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +14 -6
  108. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-drawer.mjs +2 -2
  110. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-kit-components-files.mjs +12 -11
  113. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-kit-components-filter.mjs +1 -1
  115. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +11 -17
  117. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +63 -0
  119. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  120. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-input-color.mjs +1 -2
  122. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +1 -2
  124. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +1 -2
  126. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-input-date.mjs +3 -4
  128. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +3 -4
  131. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-kit-components-input-month.mjs +3 -4
  133. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-kit-components-input-number.mjs +10 -9
  135. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +103 -126
  137. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +2 -3
  139. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
  141. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-kit-components-input-range.mjs +31 -27
  143. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +25 -39
  145. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-kit-components-input-time.mjs +19 -3
  147. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-kit-components-input-year.mjs +2 -3
  149. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  150. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +2 -2
  151. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  152. package/fesm2022/taiga-ui-kit-components-like.mjs +3 -3
  153. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +25 -64
  155. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-kit-components-message.mjs +6 -8
  157. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  158. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +17 -18
  159. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +2 -9
  161. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-pagination.mjs +5 -6
  164. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-pin.mjs +13 -17
  166. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +2 -2
  168. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-components-preview.mjs +13 -13
  170. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-progress.mjs +21 -34
  172. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-kit-components-push.mjs +40 -47
  175. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  177. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-kit-components-radio.mjs +2 -2
  179. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  180. package/fesm2022/taiga-ui-kit-components-range.mjs +4 -13
  181. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  182. package/fesm2022/taiga-ui-kit-components-rating.mjs +15 -19
  183. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  184. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-components-select.mjs +29 -22
  186. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-components-slider.mjs +57 -55
  188. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-slides.mjs +12 -20
  190. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components-status.mjs +10 -14
  192. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  194. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  195. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  196. package/fesm2022/taiga-ui-kit-components-tabs.mjs +14 -17
  197. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  198. package/fesm2022/taiga-ui-kit-components-textarea.mjs +4 -11
  199. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  200. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-components-toast.mjs +165 -0
  202. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -0
  203. package/fesm2022/taiga-ui-kit-components-tree.mjs +4 -4
  204. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  205. package/fesm2022/taiga-ui-kit-components.mjs +3 -1
  206. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  207. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -9
  208. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  209. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +2 -9
  210. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  211. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +11 -18
  212. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  213. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -12
  214. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  215. package/fesm2022/taiga-ui-kit-directives-fade.mjs +6 -9
  216. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  217. package/fesm2022/taiga-ui-kit-directives-password.mjs +2 -5
  218. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  219. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +11 -16
  220. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +22 -32
  222. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  223. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +25 -36
  224. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  225. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +13 -18
  226. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  227. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +2 -3
  228. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  229. package/fesm2022/taiga-ui-kit-directives.mjs +0 -1
  230. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  231. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +2 -1
  232. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  233. package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
  234. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  235. package/fesm2022/taiga-ui-kit-tokens.mjs +4 -7
  236. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  237. package/package.json +34 -33
  238. package/pipes/index.d.ts +0 -1
  239. package/styles/components/badge.less +1 -0
  240. package/styles/components/checkbox.less +1 -1
  241. package/styles/components/chip.less +12 -1
  242. package/styles/components/pin.less +0 -1
  243. package/styles/components/radio.less +1 -1
  244. package/styles/components/switch.less +1 -1
  245. package/styles/components/toast.less +44 -0
  246. package/tokens/i18n.d.ts +25 -26
  247. package/tokens/index.d.ts +0 -1
  248. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  249. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  250. package/components/accordion/accordion-item.component.d.ts +0 -25
  251. package/components/action-bar/action-bar.d.ts +0 -3
  252. package/components/action-bar/action-bar.directive.d.ts +0 -6
  253. package/components/pdf-viewer/index.d.ts +0 -4
  254. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  255. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  256. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  257. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  258. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  259. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  260. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
  262. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
  263. package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
  264. package/pipes/field-error/field-error-pipe.d.ts +0 -29
  265. package/pipes/field-error/index.d.ts +0 -2
  266. package/tokens/validation-errors.d.ts +0 -5
  267. /package/{directives → components}/copy/copy.d.ts +0 -0
  268. /package/{directives → components}/copy/copy.options.d.ts +0 -0
  269. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -1,171 +1,96 @@
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
38
  standalone: true,
36
- selector: '[tuiAccordionItemContent]:not(ng-template)',
39
+ selector: 'button[tuiAccordion]',
40
+ providers: [
41
+ tuiAvatarOptionsProvider({ size: 's' }),
42
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
43
+ ],
44
+ hostDirectives: [TuiButton, TuiChevron],
45
+ host: {
46
+ tuiButton: '',
47
+ tuiAccordion: '',
48
+ type: 'button',
49
+ '[class._open]': 'open()',
50
+ '(click)': 'toggle()',
51
+ },
37
52
  }]
38
53
  }] });
39
54
 
40
- class TuiAccordionItem {
55
+ class TuiAccordionComponent {
41
56
  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
- }
57
+ this.expands = contentChildren(TuiExpand);
58
+ this.directives = contentChildren(TuiAccordionDirective);
59
+ this.closeOthers = input(true);
60
+ this.size = input('l');
61
61
  }
62
- onItemKeyDownEsc(event) {
63
- if (!this.open) {
64
- return;
62
+ toggle(directive) {
63
+ if (this.closeOthers() && directive.open()) {
64
+ this.expands().forEach((expand) => tuiSetSignal(expand.expanded, false));
65
+ this.directives().forEach((dir) => {
66
+ if (dir !== directive) {
67
+ dir.open.set(false);
68
+ }
69
+ });
65
70
  }
66
- event.stopPropagation();
67
- this.updateOpen(false);
68
- }
69
- updateOpen(open) {
70
- if (this.open === open) {
71
- return;
71
+ const expand = this.expands()[this.directives().indexOf(directive)];
72
+ if (expand) {
73
+ tuiSetSignal(expand.expanded, !!directive.open());
72
74
  }
73
- this.open = open;
74
- this.openChange.emit(open);
75
75
  }
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 }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ 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
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItem, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionComponent, decorators: [{
80
80
  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
- }] } });
81
+ args: [{ standalone: true, 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"] }]
82
+ }] });
158
83
 
159
84
  const TuiAccordion = [
160
- TuiAccordionItem,
85
+ TuiAccordionComponent,
161
86
  TuiAccordionDirective,
162
- TuiAccordionItemContent,
163
- TuiAccordionItemEagerContent,
87
+ TuiExpand,
88
+ TuiItem,
164
89
  ];
165
90
 
166
91
  /**
167
92
  * Generated bundle index. Do not edit.
168
93
  */
169
94
 
170
- export { TuiAccordion, TuiAccordionDirective, TuiAccordionItem, TuiAccordionItemContent, TuiAccordionItemEagerContent };
95
+ export { TuiAccordion, TuiAccordionComponent, TuiAccordionDirective };
171
96
  //# 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 standalone: true,\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 standalone: true,\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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"}
@@ -1,58 +1,42 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
2
+ import { input, inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@taiga-ui/cdk/directives/animated';
4
4
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
5
- import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
6
- import { TUI_BUTTON_OPTIONS } from '@taiga-ui/core/components/button';
7
- import { TuiExpandComponent } from '@taiga-ui/core/components/expand';
5
+ import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
6
+ import { TuiExpand } from '@taiga-ui/core/components/expand';
8
7
  import { tuiLinkOptionsProvider } from '@taiga-ui/core/components/link';
9
- import { TuiDropdownPortal } from '@taiga-ui/core/directives/dropdown';
10
8
 
11
- class TuiActionBarComponent {
9
+ class TuiActionBar {
12
10
  constructor() {
13
- this.expanded = false;
14
- this.size = 'm';
15
- this.appearance = 'secondary-grayscale';
11
+ this.expanded = input(false);
12
+ this.size = input('m');
16
13
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiActionBarComponent, isStandalone: true, selector: "tui-action-bar", inputs: { expanded: "expanded", size: "size" }, host: { attributes: { "tuiTheme": "dark" }, properties: { "attr.data-size": "size" } }, providers: [
19
- tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: TuiActionBar, isStandalone: true, selector: "tui-action-bar", inputs: { expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiTheme": "dark" }, properties: { "attr.data-size": "size()" } }, providers: [
20
16
  tuiLinkOptionsProvider({ appearance: 'action-grayscale', pseudo: true }),
21
- ], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-2);background:color-mix(in hsl,var(--tui-background-elevation-2) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"], dependencies: [{ kind: "component", type: TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ tuiButtonOptionsProvider(() => ({
18
+ appearance: 'secondary-grayscale',
19
+ size: inject(TuiActionBar).size(),
20
+ })),
21
+ ], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<tui-expand [expanded]=\"expanded()\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-2);background:color-mix(in hsl,var(--tui-background-elevation-2) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"], dependencies: [{ kind: "component", type: TuiExpand, selector: "tui-expand", inputs: ["expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBarComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBar, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'tui-action-bar', imports: [TuiExpandComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
26
- tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),
25
+ args: [{ selector: 'tui-action-bar', imports: [TuiExpand], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
27
26
  tuiLinkOptionsProvider({ appearance: 'action-grayscale', pseudo: true }),
27
+ tuiButtonOptionsProvider(() => ({
28
+ appearance: 'secondary-grayscale',
29
+ size: inject(TuiActionBar).size(),
30
+ })),
28
31
  ], hostDirectives: [TuiAnimated], host: {
29
32
  tuiTheme: 'dark',
30
- '[attr.data-size]': 'size',
31
- }, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-2);background:color-mix(in hsl,var(--tui-background-elevation-2) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"] }]
32
- }], propDecorators: { expanded: [{
33
- type: Input
34
- }], size: [{
35
- type: Input
36
- }] } });
37
-
38
- class TuiActionBarDirective extends TuiDropdownPortal {
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBarDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiActionBarDirective, isStandalone: true, selector: "ng-template[tuiActionBar]", inputs: { tuiDropdown: ["tuiActionBar", "tuiDropdown"] }, usesInheritance: true, ngImport: i0 }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBarDirective, decorators: [{
43
- type: Directive,
44
- args: [{
45
- standalone: true,
46
- selector: 'ng-template[tuiActionBar]',
47
- inputs: ['tuiDropdown: tuiActionBar'],
48
- }]
33
+ '[attr.data-size]': 'size()',
34
+ }, template: "<tui-expand [expanded]=\"expanded()\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-2);background:color-mix(in hsl,var(--tui-background-elevation-2) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"] }]
49
35
  }] });
50
36
 
51
- const TuiActionBar = [TuiActionBarComponent, TuiActionBarDirective];
52
-
53
37
  /**
54
38
  * Generated bundle index. Do not edit.
55
39
  */
56
40
 
57
- export { TuiActionBar, TuiActionBarComponent, TuiActionBarDirective };
41
+ export { TuiActionBar };
58
42
  //# sourceMappingURL=taiga-ui-kit-components-action-bar.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-action-bar.mjs","sources":["../../../projects/kit/components/action-bar/action-bar.component.ts","../../../projects/kit/components/action-bar/action-bar.template.html","../../../projects/kit/components/action-bar/action-bar.directive.ts","../../../projects/kit/components/action-bar/action-bar.ts","../../../projects/kit/components/action-bar/taiga-ui-kit-components-action-bar.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_BUTTON_OPTIONS,\n type TuiButtonOptions,\n} from '@taiga-ui/core/components/button';\nimport {TuiExpandComponent} from '@taiga-ui/core/components/expand';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\n@Component({\n selector: 'tui-action-bar',\n imports: [TuiExpandComponent],\n templateUrl: './action-bar.template.html',\n styleUrls: ['./action-bar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),\n tuiLinkOptionsProvider({appearance: 'action-grayscale', pseudo: true}),\n ],\n hostDirectives: [TuiAnimated],\n host: {\n tuiTheme: 'dark',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiActionBarComponent implements TuiButtonOptions {\n @Input()\n public expanded = false;\n\n @Input()\n public size: TuiSizeS = 'm';\n\n public readonly appearance = 'secondary-grayscale';\n}\n","<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n","import {Directive} from '@angular/core';\nimport {TuiDropdownPortal} from '@taiga-ui/core/directives/dropdown';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiActionBar]',\n inputs: ['tuiDropdown: tuiActionBar'],\n})\nexport class TuiActionBarDirective extends TuiDropdownPortal {}\n","import {TuiActionBarComponent} from './action-bar.component';\nimport {TuiActionBarDirective} from './action-bar.directive';\n\nexport const TuiActionBar = [TuiActionBarComponent, TuiActionBarDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MA2Ba,qBAAqB,CAAA;AAhBlC,IAAA,WAAA,GAAA;QAkBW,IAAQ,CAAA,QAAA,GAAG,KAAK;QAGhB,IAAI,CAAA,IAAA,GAAa,GAAG;QAEX,IAAU,CAAA,UAAA,GAAG,qBAAqB;AACrD;+GARY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAVnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,UAAU,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;YACrD,sBAAsB,CAAC,EAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;SACzE,ECpBL,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,4QAWA,44CDEc,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAcnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;+BACI,gBAAgB,EAAA,OAAA,EACjB,CAAC,kBAAkB,CAAC,mBAGZ,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACP,UAAU,CAAC,kBAAkB,EAAwB,qBAAA,CAAA;wBACrD,sBAAsB,CAAC,EAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;qBACzE,EACe,cAAA,EAAA,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,kBAAkB,EAAE,MAAM;AAC7B,qBAAA,EAAA,QAAA,EAAA,4QAAA,EAAA,MAAA,EAAA,CAAA,o1CAAA,CAAA,EAAA;8BAIM,QAAQ,EAAA,CAAA;sBADd;gBAIM,IAAI,EAAA,CAAA;sBADV;;;AEvBC,MAAO,qBAAsB,SAAQ,iBAAiB,CAAA;+GAA/C,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,cAAA,EAAA,aAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,MAAM,EAAE,CAAC,2BAA2B,CAAC;AACxC,iBAAA;;;MCJY,YAAY,GAAG,CAAC,qBAAqB,EAAE,qBAAqB;;ACHzE;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-action-bar.mjs","sources":["../../../projects/kit/components/action-bar/action-bar.component.ts","../../../projects/kit/components/action-bar/action-bar.template.html","../../../projects/kit/components/action-bar/taiga-ui-kit-components-action-bar.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\n\n@Component({\n selector: 'tui-action-bar',\n imports: [TuiExpand],\n templateUrl: './action-bar.template.html',\n styleUrl: './action-bar.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiLinkOptionsProvider({appearance: 'action-grayscale', pseudo: true}),\n tuiButtonOptionsProvider(() => ({\n appearance: 'secondary-grayscale',\n size: inject(TuiActionBar).size(),\n })),\n ],\n hostDirectives: [TuiAnimated],\n host: {\n tuiTheme: 'dark',\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiActionBar {\n public readonly expanded = input(false);\n public readonly size = input<TuiSizeS>('m');\n}\n","<tui-expand [expanded]=\"expanded()\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MA0Ba,YAAY,CAAA;AAnBzB,IAAA,WAAA,GAAA;AAoBoB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;AACvB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAW,GAAG,CAAC;AAC9C;+GAHY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,EAbV,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,sBAAsB,CAAC,EAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;AACtE,YAAA,wBAAwB,CAAC,OAAO;AAC5B,gBAAA,UAAU,EAAE,qBAAqB;AACjC,gBAAA,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;AACpC,aAAA,CAAC,CAAC;SACN,ECnBL,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8QAWA,44CDFc,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAiBV,YAAY,EAAA,UAAA,EAAA,CAAA;kBAnBxB,SAAS;+BACI,gBAAgB,EAAA,OAAA,EACjB,CAAC,SAAS,CAAC,mBAGH,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;wBACP,sBAAsB,CAAC,EAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;AACtE,wBAAA,wBAAwB,CAAC,OAAO;AAC5B,4BAAA,UAAU,EAAE,qBAAqB;AACjC,4BAAA,IAAI,EAAE,MAAM,CAAc,YAAA,CAAA,CAAC,IAAI,EAAE;AACpC,yBAAA,CAAC,CAAC;qBACN,EACe,cAAA,EAAA,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,kBAAkB,EAAE,QAAQ;AAC/B,qBAAA,EAAA,QAAA,EAAA,8QAAA,EAAA,MAAA,EAAA,CAAA,o1CAAA,CAAA,EAAA;;;AExBL;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, signal, input, Directive, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, signal, input, Directive, Input, computed } from '@angular/core';
3
3
  import { tuiWithStyles, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import * as i1 from '@taiga-ui/core/directives/appearance';
5
5
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
@@ -12,23 +12,21 @@ import { TuiFade } from '@taiga-ui/kit/directives/fade';
12
12
  const [TUI_AVATAR_OPTIONS, tuiAvatarOptionsProvider] = tuiCreateOptions({
13
13
  appearance: '',
14
14
  round: true,
15
- size: 'l',
15
+ size: 'm',
16
16
  });
17
17
 
18
- class TuiAvatarStyles {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAvatarStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiAvatarStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-avatar" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAvatar]{--t-size: var(--tui-height-l);--t-radius: .75rem;--t-corner-offset: calc((var(--t-radius) * 1.4142 - var(--t-radius)) * 1 / 1.4142);position:relative;display:inline-flex;flex-shrink:0;inline-size:var(--t-size);block-size:var(--t-size);align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--t-radius);border:none;background:var(--tui-background-neutral-1);color:var(--tui-text-secondary);vertical-align:middle;box-sizing:border-box;padding:.25rem;font:var(--tui-font-text-l);font-weight:700;opacity:.999}[tuiAvatar]:before{inline-size:auto;block-size:auto}[tuiAvatar]:not(._initials):before{position:absolute;top:0;right:0;bottom:0;left:0;font-size:calc(var(--t-size) * .6)}[tuiAvatar][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-size:.5625rem}[tuiAvatar][data-size=xs]._initials:before{font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]._initials:before{font:var(--tui-font-text-s);font-weight:700}[tuiAvatar][data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-ui-m);font-weight:700}[tuiAvatar][data-size=m]._initials:before{font:var(--tui-font-text-m);font-weight:700}[tuiAvatar][data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-4)}[tuiAvatar][data-size=xl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]._initials:before{font:var(--tui-font-heading-2)}[tuiAvatar]:not([data-shape=square]){--t-radius: calc(var(--t-size) / 2)}[tuiAvatar]._initials:before{content:attr(data-icon-start);mask:none;background:none;font:var(--tui-font-heading-6)}[tuiAvatar]._badge{mask:radial-gradient(circle at calc(100% - var(--t-corner-offset)) calc(100% - var(--t-corner-offset)),black .23rem,transparent .25rem,transparent .375rem,black .39rem);mask-clip:no-clip}[tuiAvatar]._badge:after{content:\"\";position:absolute;top:calc(100% - var(--t-corner-offset));left:calc(100% - var(--t-corner-offset));display:block;inline-size:.55rem;block-size:.55rem;border-radius:100%;background:var(--t-badge);transform:translate3d(-50%,-50%,0)}[tuiAvatar]._fallback img,[tuiAvatar]._fallback video{display:none}[tuiAvatar] img,[tuiAvatar] video,[tuiAvatar] picture{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;object-fit:cover;box-sizing:border-box;border-radius:inherit}[tuiAvatar]:has(img,video):not(._fallback){background:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAvatarStyles, decorators: [{
18
+ let Styles$1 = class Styles {
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-avatar" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAvatar]{--t-size: var(--tui-height-l);--t-radius: .75rem;--t-corner-offset: calc((var(--t-radius) * 1.4142 - var(--t-radius)) * 1 / 1.4142);position:relative;display:inline-flex;flex-shrink:0;inline-size:var(--t-size);block-size:var(--t-size);align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--t-radius);border:none;background:var(--tui-background-neutral-1);color:var(--tui-text-secondary);vertical-align:middle;box-sizing:border-box;padding:.25rem;font:var(--tui-font-text-l);font-weight:700;opacity:.999}[tuiAvatar]:before{inline-size:auto;block-size:auto}[tuiAvatar]:not(._initials):before{position:absolute;top:0;right:0;bottom:0;left:0;font-size:calc(var(--t-size) * .6)}[tuiAvatar][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-size:.5625rem}[tuiAvatar][data-size=xs]._initials:before{font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]._initials:before{font:var(--tui-font-text-s);font-weight:700}[tuiAvatar][data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-ui-m);font-weight:700}[tuiAvatar][data-size=m]._initials:before{font:var(--tui-font-text-m);font-weight:700}[tuiAvatar][data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-4)}[tuiAvatar][data-size=xl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]._initials:before{font:var(--tui-font-heading-2)}[tuiAvatar]:not([data-shape=square]){--t-radius: calc(var(--t-size) / 2)}[tuiAvatar]._initials:before{content:attr(data-icon-start);mask:none;background:none;font:var(--tui-font-heading-6)}[tuiAvatar]._badge{mask:radial-gradient(circle at calc(100% - var(--t-corner-offset)) calc(100% - var(--t-corner-offset)),black .23rem,transparent .25rem,transparent .375rem,black .39rem);mask-clip:no-clip}[tuiAvatar]._badge:after{content:\"\";position:absolute;top:calc(100% - var(--t-corner-offset));left:calc(100% - var(--t-corner-offset));display:block;inline-size:.55rem;block-size:.55rem;border-radius:100%;background:var(--t-badge);transform:translate3d(-50%,-50%,0)}[tuiAvatar]._fallback img,[tuiAvatar]._fallback video{display:none}[tuiAvatar] img,[tuiAvatar] video,[tuiAvatar] picture{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;object-fit:cover;box-sizing:border-box;border-radius:inherit}[tuiAvatar]:has(img,video):not(._fallback){background:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
+ };
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles$1, decorators: [{
23
23
  type: Component,
24
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
25
- class: 'tui-avatar',
26
- }, styles: ["[tuiAvatar]{--t-size: var(--tui-height-l);--t-radius: .75rem;--t-corner-offset: calc((var(--t-radius) * 1.4142 - var(--t-radius)) * 1 / 1.4142);position:relative;display:inline-flex;flex-shrink:0;inline-size:var(--t-size);block-size:var(--t-size);align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--t-radius);border:none;background:var(--tui-background-neutral-1);color:var(--tui-text-secondary);vertical-align:middle;box-sizing:border-box;padding:.25rem;font:var(--tui-font-text-l);font-weight:700;opacity:.999}[tuiAvatar]:before{inline-size:auto;block-size:auto}[tuiAvatar]:not(._initials):before{position:absolute;top:0;right:0;bottom:0;left:0;font-size:calc(var(--t-size) * .6)}[tuiAvatar][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-size:.5625rem}[tuiAvatar][data-size=xs]._initials:before{font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]._initials:before{font:var(--tui-font-text-s);font-weight:700}[tuiAvatar][data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-ui-m);font-weight:700}[tuiAvatar][data-size=m]._initials:before{font:var(--tui-font-text-m);font-weight:700}[tuiAvatar][data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-4)}[tuiAvatar][data-size=xl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]._initials:before{font:var(--tui-font-heading-2)}[tuiAvatar]:not([data-shape=square]){--t-radius: calc(var(--t-size) / 2)}[tuiAvatar]._initials:before{content:attr(data-icon-start);mask:none;background:none;font:var(--tui-font-heading-6)}[tuiAvatar]._badge{mask:radial-gradient(circle at calc(100% - var(--t-corner-offset)) calc(100% - var(--t-corner-offset)),black .23rem,transparent .25rem,transparent .375rem,black .39rem);mask-clip:no-clip}[tuiAvatar]._badge:after{content:\"\";position:absolute;top:calc(100% - var(--t-corner-offset));left:calc(100% - var(--t-corner-offset));display:block;inline-size:.55rem;block-size:.55rem;border-radius:100%;background:var(--t-badge);transform:translate3d(-50%,-50%,0)}[tuiAvatar]._fallback img,[tuiAvatar]._fallback video{display:none}[tuiAvatar] img,[tuiAvatar] video,[tuiAvatar] picture{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;object-fit:cover;box-sizing:border-box;border-radius:inherit}[tuiAvatar]:has(img,video):not(._fallback){background:none}\n"] }]
24
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-avatar' }, styles: ["[tuiAvatar]{--t-size: var(--tui-height-l);--t-radius: .75rem;--t-corner-offset: calc((var(--t-radius) * 1.4142 - var(--t-radius)) * 1 / 1.4142);position:relative;display:inline-flex;flex-shrink:0;inline-size:var(--t-size);block-size:var(--t-size);align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--t-radius);border:none;background:var(--tui-background-neutral-1);color:var(--tui-text-secondary);vertical-align:middle;box-sizing:border-box;padding:.25rem;font:var(--tui-font-text-l);font-weight:700;opacity:.999}[tuiAvatar]:before{inline-size:auto;block-size:auto}[tuiAvatar]:not(._initials):before{position:absolute;top:0;right:0;bottom:0;left:0;font-size:calc(var(--t-size) * .6)}[tuiAvatar][data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-size:.5625rem}[tuiAvatar][data-size=xs]._initials:before{font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]{--t-size: var(--tui-height-s);--t-radius: .5rem;font:var(--tui-font-text-ui-xs);font-weight:700}[tuiAvatar][data-size=s]._initials:before{font:var(--tui-font-text-s);font-weight:700}[tuiAvatar][data-size=m]{--t-size: calc(var(--tui-height-m) - .25rem);--t-radius: .75rem;font:var(--tui-font-text-ui-m);font-weight:700}[tuiAvatar][data-size=m]._initials:before{font:var(--tui-font-text-m);font-weight:700}[tuiAvatar][data-size=xl]{--t-size: 5rem;--t-radius: .75rem;font:var(--tui-font-heading-4)}[tuiAvatar][data-size=xl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]{--t-size: 6rem;--t-radius: 1rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxl]._initials:before{font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]{--t-size: 8rem;--t-radius: 1.25rem;font:var(--tui-font-heading-3)}[tuiAvatar][data-size=xxxl]._initials:before{font:var(--tui-font-heading-2)}[tuiAvatar]:not([data-shape=square]){--t-radius: calc(var(--t-size) / 2)}[tuiAvatar]._initials:before{content:attr(data-icon-start);mask:none;background:none;font:var(--tui-font-heading-6)}[tuiAvatar]._badge{mask:radial-gradient(circle at calc(100% - var(--t-corner-offset)) calc(100% - var(--t-corner-offset)),black .23rem,transparent .25rem,transparent .375rem,black .39rem);mask-clip:no-clip}[tuiAvatar]._badge:after{content:\"\";position:absolute;top:calc(100% - var(--t-corner-offset));left:calc(100% - var(--t-corner-offset));display:block;inline-size:.55rem;block-size:.55rem;border-radius:100%;background:var(--t-badge);transform:translate3d(-50%,-50%,0)}[tuiAvatar]._fallback img,[tuiAvatar]._fallback video{display:none}[tuiAvatar] img,[tuiAvatar] video,[tuiAvatar] picture{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;object-fit:cover;box-sizing:border-box;border-radius:inherit}[tuiAvatar]:has(img,video):not(._fallback){background:none}\n"] }]
27
25
  }] });
28
26
  class TuiAvatar {
29
27
  constructor() {
30
28
  this.options = inject(TUI_AVATAR_OPTIONS);
31
- this.nothing = tuiWithStyles(TuiAvatarStyles);
29
+ this.nothing = tuiWithStyles(Styles$1);
32
30
  this.icons = inject(TuiIcons);
33
31
  this.fallback = signal(false);
34
32
  this.size = input(this.options.size);
@@ -102,42 +100,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
102
100
  type: Input
103
101
  }], split: [] } });
104
102
 
105
- class TuiAvatarOutlineStyles {
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAvatarOutlineStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiAvatarOutlineStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-avatar-outline" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAvatarOutline]{--t-outline: .1875rem;--t-gap: .125rem}[tuiAvatarOutline][data-size=xs],[tuiAvatarOutline][data-size=s],[tuiAvatarOutline][data-size=m]{--t-outline: .125rem;--t-gap: .0625rem}[tuiAvatarOutline]._outline{mask:radial-gradient(closest-side,#000,#000 calc(100% - var(--t-gap) - var(--t-outline) - .5px),transparent calc(100% - var(--t-gap) - var(--t-outline)),transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}[tuiAvatarOutline]._outline:after{content:\"\";position:absolute;top:0;left:0;inline-size:100%;block-size:100%;background:var(--t-fill);mask:radial-gradient(closest-side,transparent,transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
+ class Styles {
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-avatar-outline" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiAvatarOutline]{--t-outline: .1875rem;--t-gap: .125rem}[tuiAvatarOutline][data-size=xs],[tuiAvatarOutline][data-size=s],[tuiAvatarOutline][data-size=m]{--t-outline: .125rem;--t-gap: .0625rem}[tuiAvatarOutline]._outline{mask:radial-gradient(closest-side,#000,#000 calc(100% - var(--t-gap) - var(--t-outline) - .5px),transparent calc(100% - var(--t-gap) - var(--t-outline)),transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}[tuiAvatarOutline]._outline:after{content:\"\";position:absolute;top:0;left:0;inline-size:100%;block-size:100%;background:var(--t-fill);mask:radial-gradient(closest-side,transparent,transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
108
106
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAvatarOutlineStyles, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
110
108
  type: Component,
111
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
112
- class: 'tui-avatar-outline',
113
- }, styles: ["[tuiAvatarOutline]{--t-outline: .1875rem;--t-gap: .125rem}[tuiAvatarOutline][data-size=xs],[tuiAvatarOutline][data-size=s],[tuiAvatarOutline][data-size=m]{--t-outline: .125rem;--t-gap: .0625rem}[tuiAvatarOutline]._outline{mask:radial-gradient(closest-side,#000,#000 calc(100% - var(--t-gap) - var(--t-outline) - .5px),transparent calc(100% - var(--t-gap) - var(--t-outline)),transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}[tuiAvatarOutline]._outline:after{content:\"\";position:absolute;top:0;left:0;inline-size:100%;block-size:100%;background:var(--t-fill);mask:radial-gradient(closest-side,transparent,transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}\n"] }]
109
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-avatar-outline' }, styles: ["[tuiAvatarOutline]{--t-outline: .1875rem;--t-gap: .125rem}[tuiAvatarOutline][data-size=xs],[tuiAvatarOutline][data-size=s],[tuiAvatarOutline][data-size=m]{--t-outline: .125rem;--t-gap: .0625rem}[tuiAvatarOutline]._outline{mask:radial-gradient(closest-side,#000,#000 calc(100% - var(--t-gap) - var(--t-outline) - .5px),transparent calc(100% - var(--t-gap) - var(--t-outline)),transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}[tuiAvatarOutline]._outline:after{content:\"\";position:absolute;top:0;left:0;inline-size:100%;block-size:100%;background:var(--t-fill);mask:radial-gradient(closest-side,transparent,transparent calc(100% - var(--t-outline) - .5px),#000 calc(100% - var(--t-outline)))}\n"] }]
114
110
  }] });
115
111
  class TuiAvatarOutline {
116
112
  constructor() {
117
- this.nothing = tuiWithStyles(TuiAvatarOutlineStyles);
118
- this.tuiAvatarOutline = '';
119
- }
120
- get value() {
121
- return this.tuiAvatarOutline === ''
122
- ? 'var(--tui-background-accent-1)'
123
- : this.tuiAvatarOutline;
113
+ this.nothing = tuiWithStyles(Styles);
114
+ this.value = computed((value = this.tuiAvatarOutline()) => value === '' ? 'var(--tui-background-accent-1)' : value);
115
+ this.tuiAvatarOutline = input('');
124
116
  }
125
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAvatarOutline, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAvatarOutline, isStandalone: true, selector: "[tuiAvatarOutline]", inputs: { tuiAvatarOutline: "tuiAvatarOutline" }, host: { properties: { "style.--t-fill": "value", "class._outline": "value" } }, ngImport: i0 }); }
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiAvatarOutline, isStandalone: true, selector: "[tuiAvatarOutline]", inputs: { tuiAvatarOutline: { classPropertyName: "tuiAvatarOutline", publicName: "tuiAvatarOutline", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--t-fill": "value()", "class._outline": "value()" } }, ngImport: i0 }); }
127
119
  }
128
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAvatarOutline, decorators: [{
129
121
  type: Directive,
130
122
  args: [{
131
- standalone: true,
132
123
  selector: '[tuiAvatarOutline]',
133
124
  host: {
134
- '[style.--t-fill]': 'value',
135
- '[class._outline]': 'value',
125
+ '[style.--t-fill]': 'value()',
126
+ '[class._outline]': 'value()',
136
127
  },
137
128
  }]
138
- }], propDecorators: { tuiAvatarOutline: [{
139
- type: Input
140
- }] } });
129
+ }] });
141
130
 
142
131
  class TuiAvatarStack {
143
132
  constructor() {