@taiga-ui/kit 5.0.0-rc.4 → 5.0.0

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 (239) hide show
  1. package/components/accordion/accordion.component.d.ts +4 -1
  2. package/components/accordion/accordion.directive.d.ts +1 -0
  3. package/components/calendar-month/calendar-month.component.d.ts +10 -18
  4. package/components/calendar-range/calendar-range.component.d.ts +15 -20
  5. package/components/copy/copy.component.d.ts +3 -1
  6. package/components/copy/copy.options.d.ts +7 -1
  7. package/components/files/input-files/input-files.component.d.ts +4 -1
  8. package/components/filter/filter.component.d.ts +1 -1
  9. package/components/index.d.ts +1 -1
  10. package/components/input-date/input-date.directive.d.ts +1 -0
  11. package/components/input-date-time/input-date-time.component.d.ts +2 -2
  12. package/components/input-phone/input-phone.directive.d.ts +1 -1
  13. package/components/input-pin/input-pin.component.d.ts +0 -1
  14. package/components/input-range/input-range.component.d.ts +1 -1
  15. package/components/line-clamp/line-clamp.component.d.ts +3 -3
  16. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -1
  17. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +2 -2
  18. package/components/radio-list/radio-list.component.d.ts +1 -5
  19. package/components/select/native-select/native-select.component.d.ts +1 -1
  20. package/components/shrink-wrap/index.d.ts +3 -0
  21. package/components/shrink-wrap/shrink-wrap.component.d.ts +5 -0
  22. package/components/shrink-wrap/shrink-wrap.d.ts +3 -0
  23. package/components/shrink-wrap/shrink-wrap.directive.d.ts +6 -0
  24. package/components/stepper/step.component.d.ts +1 -1
  25. package/components/textarea/textarea.directive.d.ts +1 -1
  26. package/components/toast/toast.directive.d.ts +4 -1
  27. package/components/tree/components/tree/tree.component.d.ts +1 -3
  28. package/directives/password/password.options.d.ts +16 -1
  29. package/fesm2022/taiga-ui-kit-components-accordion.mjs +20 -10
  30. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +5 -5
  32. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-avatar.mjs +24 -24
  34. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +4 -4
  36. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-badge.mjs +8 -8
  38. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +7 -7
  40. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-kit-components-block.mjs +8 -8
  42. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -3
  44. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  46. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +18 -40
  48. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +63 -93
  50. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-chip.mjs +8 -8
  52. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -3
  54. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-comment.mjs +7 -7
  56. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-compass.mjs +4 -4
  58. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-kit-components-confirm.mjs +7 -7
  60. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-kit-components-copy.mjs +15 -13
  62. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-kit-components-counter.mjs +5 -4
  64. package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +6 -6
  66. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-drawer.mjs +4 -4
  68. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-kit-components-files.mjs +37 -30
  70. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-kit-components-filter.mjs +5 -4
  72. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
  74. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +6 -6
  76. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-kit-components-input-color.mjs +5 -4
  78. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +5 -6
  80. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +6 -5
  82. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +10 -8
  84. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-kit-components-input-date.mjs +26 -17
  86. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +5 -4
  88. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +7 -4
  90. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-kit-components-input-month.mjs +13 -10
  92. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-kit-components-input-number.mjs +36 -39
  94. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +7 -8
  96. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +4 -4
  98. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +5 -12
  100. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-kit-components-input-range.mjs +4 -4
  102. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +8 -7
  104. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-kit-components-input-time.mjs +11 -10
  106. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-input-year.mjs +3 -3
  108. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +14 -14
  110. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-like.mjs +5 -5
  112. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +10 -10
  114. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-message.mjs +8 -8
  116. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +14 -14
  118. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +11 -11
  120. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
  122. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-pagination.mjs +3 -3
  124. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
  126. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-preview.mjs +31 -28
  128. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-progress.mjs +37 -50
  130. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
  132. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-push.mjs +15 -14
  134. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +7 -5
  136. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-kit-components-range.mjs +8 -10
  138. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-kit-components-rating.mjs +4 -4
  140. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
  142. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-components-segmented.mjs +9 -8
  144. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-kit-components-select.mjs +11 -12
  146. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +40 -0
  148. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -0
  149. package/fesm2022/taiga-ui-kit-components-status.mjs +7 -7
  150. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-stepper.mjs +6 -6
  152. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-kit-components-switch.mjs +4 -4
  154. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-tabs.mjs +23 -23
  156. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-components-textarea.mjs +16 -15
  158. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-kit-components-tiles.mjs +16 -14
  160. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-kit-components-timeline.mjs +6 -6
  162. package/fesm2022/taiga-ui-kit-components-timeline.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-toast.mjs +29 -25
  164. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-tree.mjs +24 -24
  166. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components.mjs +1 -1
  168. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +3 -3
  169. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +12 -8
  171. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
  173. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +8 -7
  175. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-kit-directives-connected.mjs +12 -8
  177. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +3 -3
  179. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  180. package/fesm2022/taiga-ui-kit-directives-fade.mjs +9 -7
  181. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  182. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  183. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  184. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -3
  185. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  186. package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
  187. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  188. package/fesm2022/taiga-ui-kit-directives-present.mjs +3 -3
  189. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  190. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +9 -7
  191. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  192. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +8 -7
  193. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  194. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +9 -8
  195. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  196. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +8 -7
  197. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  198. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +3 -3
  199. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  200. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +3 -3
  201. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  202. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +3 -3
  203. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -1
  204. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  205. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  206. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +3 -3
  207. package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -1
  208. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +4 -4
  209. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  210. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +3 -3
  211. package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -1
  212. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +3 -3
  213. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  214. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  215. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  216. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  217. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  218. package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
  219. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  220. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-utils.mjs +1 -5
  222. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  223. package/package.json +87 -77
  224. package/pipes/index.d.ts +0 -1
  225. package/utils/index.d.ts +0 -1
  226. package/components/carousel/carousel-autoscroll.directive.d.ts +0 -6
  227. package/components/carousel/carousel-buttons.directive.d.ts +0 -5
  228. package/components/carousel/carousel-scroll.directive.d.ts +0 -7
  229. package/components/carousel/carousel.component.d.ts +0 -34
  230. package/components/carousel/carousel.d.ts +0 -7
  231. package/components/carousel/carousel.directive.d.ts +0 -16
  232. package/components/carousel/index.d.ts +0 -6
  233. package/fesm2022/taiga-ui-kit-components-carousel.mjs +0 -211
  234. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +0 -60
  236. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +0 -1
  237. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +0 -21
  238. package/pipes/filter-by-input/index.d.ts +0 -1
  239. package/utils/is-flat.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.mjs","sources":["../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/combo-box.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n computed,\n Directive,\n effect,\n inject,\n input,\n isSignal,\n untracked,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsOptionContent,\n type TuiDataListAccessor,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldAccessor,\n tuiInjectAuxiliary,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n selector: 'input[tuiComboBox]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsTextfieldAccessor(TuiComboBoxDirective),\n tuiAsControl(TuiComboBoxDirective),\n ],\n hostDirectives: [TuiWithInput],\n host: {\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(input)': 'toggleDropdown(true)',\n '(keydown.enter)': 'keydownEnter($event)',\n },\n})\nexport class TuiComboBoxDirective<T>\n extends TuiControl<T | string | null>\n implements TuiTextfieldAccessor<T>\n{\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly host: TuiTextfieldComponent<T> = inject(TuiTextfieldComponent);\n private readonly input: TuiInputDirective<T> = inject(TuiInputDirective);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly handlers: TuiItemsHandlers<T | string> = inject(TUI_ITEMS_HANDLERS);\n private readonly datalist = tuiInjectAuxiliary<TuiDataListAccessor<T>>(\n (x) => 'options' in x && isSignal(x.options),\n );\n\n private readonly options = computed(\n () =>\n this.datalist()\n ?.options()\n .filter((x) => !this.handlers.disabledItemHandler()(x)) ?? [],\n );\n\n protected readonly nonStrictControlEffect = effect(() => {\n if (\n !this.options().length &&\n !this.strict() &&\n this.stringify(this.value()) !== this.input.value()\n ) {\n this.onChange(this.input.value() || null);\n }\n });\n\n protected readonly matchingEffect = effect(() => {\n const options = this.options();\n const matcher = this.matcher();\n\n if (!options.length || !matcher) {\n return;\n }\n\n const textfieldValue = this.input.value();\n const selectedOption = options.find((x) =>\n matcher(x, textfieldValue, this.handlers.stringify()),\n );\n const value = untracked(() => this.value());\n const unchanged = this.stringify(value) === textfieldValue;\n const fallback = this.strict() || !textfieldValue ? null : textfieldValue;\n\n this.onChange(\n selectedOption ??\n /**\n * Don't clear already not-null form control value on new `this.options()` array.\n * Otherwise, `ComboBox` becomes incompatible with virtual scroll\n * (which displays large lists of elements by only rendering the items that fit on-screen).\n * Users can still able to patch form value with `null` on new items if they wish the such behavior.\n */\n (unchanged ? value : fallback),\n );\n });\n\n protected readonly newValueEffect = effect(() => {\n const stringified = this.stringify(this.value());\n\n this.input.value.update((x) => stringified || x);\n });\n\n protected readonly blurEffect = effect(() => {\n const incomplete = untracked(\n () => this.strict() && this.input.value() && this.value() === null,\n );\n\n if (!this.host.focused() && incomplete) {\n this.el.value = '';\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n this.toggleDropdown(false);\n }\n });\n\n public readonly strict = input(true);\n public readonly matcher = input<TuiStringMatcher<T> | null>(TUI_STRICT_MATCHER);\n\n public setValue(value: T | null): void {\n this.input.setValue(value);\n this.onChange(value);\n\n if (!value) {\n this.toggleDropdown(true);\n }\n }\n\n public override writeValue(value: T | string | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n untracked(() => this.input.value.set(this.stringify(value)));\n }\n }\n\n protected toggleDropdown(open = !this.open()): void {\n if (this.dropdownEnabled() && this.dropdown.content()) {\n this.open.set(open);\n }\n }\n\n protected keydownEnter(event: KeyboardEvent): void {\n if (!this.open()) {\n return;\n }\n\n event.preventDefault();\n\n const options = this.options();\n\n if (options.length === 1 && options[0]) {\n this.setValue(options[0]);\n this.toggleDropdown(false);\n }\n }\n\n private stringify(value?: T | string | null): string {\n return value != null ? this.handlers.stringify()(value) : '';\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiComboBoxDirective} from './combo-box.directive';\n\nexport const TuiComboBox = [\n TuiComboBoxDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.mjs","sources":["../../../projects/kit/components/combo-box/combo-box.directive.ts","../../../projects/kit/components/combo-box/combo-box.ts","../../../projects/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {\n computed,\n Directive,\n effect,\n inject,\n input,\n isSignal,\n untracked,\n} from '@angular/core';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport {type TuiStringMatcher} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n tuiAsOptionContent,\n type TuiDataListAccessor,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldAccessor,\n tuiInjectAuxiliary,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\n\n@Directive({\n selector: 'input[tuiComboBox]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsTextfieldAccessor(TuiComboBoxDirective),\n tuiAsControl(TuiComboBoxDirective),\n ],\n hostDirectives: [TuiWithInput],\n host: {\n '[disabled]': 'disabled()',\n '(click)': 'toggleDropdown()',\n '(input)': 'toggleDropdown(true)',\n '(keydown.enter)': 'keydownEnter($event)',\n },\n})\nexport class TuiComboBoxDirective<T>\n extends TuiControl<T | string | null>\n implements TuiTextfieldAccessor<T>\n{\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly host: TuiTextfieldComponent<T> = inject(TuiTextfieldComponent);\n private readonly input: TuiInputDirective<T> = inject(TuiInputDirective);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly handlers: TuiItemsHandlers<T | string> = inject(TUI_ITEMS_HANDLERS);\n private readonly datalist = tuiInjectAuxiliary<TuiDataListAccessor<T>>(\n (x) => 'options' in x && isSignal(x.options),\n );\n\n private readonly options = computed(\n () =>\n this.datalist()\n ?.options()\n .filter((x) => !this.handlers.disabledItemHandler()(x)) ?? [],\n );\n\n protected readonly nonStrictControlEffect = effect(() => {\n if (\n !this.options().length &&\n !this.strict() &&\n this.stringify(this.value()) !== this.input.value()\n ) {\n this.onChange(this.input.value() || null);\n }\n });\n\n protected readonly matchingEffect = effect(() => {\n const options = this.options();\n const matcher = this.matcher();\n\n if (!options.length || !matcher) {\n return;\n }\n\n const textfieldValue = this.input.value();\n const selectedOption = options.find((x) =>\n matcher(x, textfieldValue, this.handlers.stringify()),\n );\n const value = untracked(() => this.value());\n const unchanged = this.stringify(value) === textfieldValue;\n const fallback = this.strict() || !textfieldValue ? null : textfieldValue;\n\n this.onChange(\n selectedOption ??\n /**\n * Don't clear already not-null form control value on new `this.options()` array.\n * Otherwise, `ComboBox` becomes incompatible with virtual scroll\n * (which displays large lists of elements by only rendering the items that fit on-screen).\n * Users can still able to patch form value with `null` on new items if they wish the such behavior.\n */\n (unchanged ? value : fallback),\n );\n });\n\n protected readonly newValueEffect = effect(() => {\n const stringified = this.stringify(this.value());\n\n this.input.value.update((x) => stringified || x);\n });\n\n protected readonly blurEffect = effect(() => {\n const incomplete = untracked(\n () => this.strict() && this.input.value() && this.value() === null,\n );\n\n if (!this.host.focused() && incomplete) {\n this.el.value = '';\n this.el.dispatchEvent(new Event('input', {bubbles: true}));\n this.toggleDropdown(false);\n }\n });\n\n public readonly strict = input(true);\n public readonly matcher = input<TuiStringMatcher<T> | null>(TUI_STRICT_MATCHER);\n\n public setValue(value: T | null): void {\n this.input.setValue(value);\n this.onChange(value);\n\n if (!value) {\n this.toggleDropdown(true);\n }\n }\n\n public override writeValue(value: T | string | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n untracked(() => this.input.value.set(this.stringify(value)));\n }\n }\n\n protected toggleDropdown(open = !this.open()): void {\n if (this.dropdownEnabled() && this.dropdown.content()) {\n this.open.set(open);\n }\n }\n\n protected keydownEnter(event: KeyboardEvent): void {\n if (!this.open()) {\n return;\n }\n\n event.preventDefault();\n\n const options = this.options();\n\n if (options.length === 1 && options[0]) {\n this.setValue(options[0]);\n this.toggleDropdown(false);\n }\n }\n\n private stringify(value?: T | string | null): string {\n return value != null ? this.handlers.stringify()(value) : '';\n }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiComboBoxDirective} from './combo-box.directive';\n\nexport const TuiComboBox = [\n TuiComboBoxDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,22 +4,22 @@ import { TUI_VERSION } from '@taiga-ui/cdk/constants';
4
4
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
5
5
 
6
6
  class Styles {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-comment" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));mask:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\") no-repeat}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.785rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)))}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.785rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-comment-5.0.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiComment]:where(*[data-tui-version=\"5.0.0\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.0.0\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));mask:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\") no-repeat}[tuiComment]:where(*[data-tui-version=\"5.0.0\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.0.0\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.785rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)))}[tuiComment]:where(*[data-tui-version=\"5.0.0\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.785rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: Styles, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, decorators: [{
11
11
  type: Component,
12
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-comment' }, styles: ["[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));mask:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\") no-repeat}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.785rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)))}[tuiComment]:where(*[data-tui-version=\"5.0.0-rc.4\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.785rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)))}\n"] }]
12
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-comment-${TUI_VERSION}`, styles: ["[tuiComment]:where(*[data-tui-version=\"5.0.0\"]){position:relative;display:inline-flex;font:var(--tui-typography-ui-m);color:#fff;padding:.5rem .75rem;min-inline-size:2.5rem;border-radius:1rem;background:var(--tui-background-accent-2);align-items:center;justify-content:center}[tuiComment]:where(*[data-tui-version=\"5.0.0\"]):before{content:\"\";position:absolute;inset-block-end:100%;inset-inline-start:50%;inline-size:1.5625rem;block-size:.5625rem;background:inherit;transform:translate(calc(-50% * var(--tui-inline)));mask:url(\"data:image/svg+xml,%3Csvg width='25' height='9' viewBox='0 0 25 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.23309 6.67813L7.56191 3.83178C9.4546 1.5185 10.4009 0.361853 11.5998 0.10488C12.0834 0.00123882 12.5834 0.00123882 13.0669 0.10488C14.2658 0.361853 15.2121 1.5185 17.1048 3.83178L19.4337 6.67813C20.636 8.14771 22.4346 9 24.3334 9H0.333374C2.23217 9 4.0307 8.14772 5.23309 6.67813Z' fill='black'/%3E%3C/svg%3E%0A\") no-repeat}[tuiComment]:where(*[data-tui-version=\"5.0.0\"])[data-direction=bottom]:before{inset-block:100% auto;transform:translate(calc(-50% * var(--tui-inline))) rotate(180deg)}[tuiComment]:where(*[data-tui-version=\"5.0.0\"])[data-direction=start]:before{inset-block:50% 100%;inset-inline:auto 100%;transform:translate(calc(.785rem * var(--tui-inline)),-50%) rotate(calc(-90deg * var(--tui-inline)))}[tuiComment]:where(*[data-tui-version=\"5.0.0\"])[data-direction=end]:before{inset-block:50% 100%;inset-inline:100% auto;transform:translate(calc(-.785rem * var(--tui-inline)),-50%) rotate(calc(90deg * var(--tui-inline)))}\n"] }]
13
13
  }] });
14
14
  class TuiComment {
15
15
  constructor() {
16
16
  this.nothing = tuiWithStyles(Styles);
17
17
  this.direction = input('top', { alias: 'tuiComment' });
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiComment, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.18", type: TuiComment, isStandalone: true, selector: "[tuiComment]", inputs: { direction: { classPropertyName: "direction", publicName: "tuiComment", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.0.0-rc.4" }, properties: { "attr.data-direction": "direction()" } }, ngImport: i0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiComment, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiComment, isStandalone: true, selector: "[tuiComment]", inputs: { direction: { classPropertyName: "direction", publicName: "tuiComment", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.0.0" }, properties: { "attr.data-direction": "direction()" } }, ngImport: i0 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiComment, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiComment, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
25
  selector: '[tuiComment]',
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-comment.mjs","sources":["../../../projects/kit/components/comment/comment.directive.ts","../../../projects/kit/components/comment/taiga-ui-kit-components-comment.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n type TuiHorizontalDirection,\n type TuiVerticalDirection,\n} from '@taiga-ui/core/types';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/comment.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-comment'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiComment]',\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-direction]': 'direction()',\n },\n})\nexport class TuiComment {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly direction = input<TuiHorizontalDirection | TuiVerticalDirection | ''>(\n 'top',\n {alias: 'tuiComment'},\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAcA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,iHAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,imDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAMG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,aAAa,EAAC,EAAA,MAAA,EAAA,CAAA,imDAAA,CAAA,EAAA;;MAWnB,UAAU,CAAA;AAPvB,IAAA,WAAA,GAAA;AAQuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAS,CAAA,SAAA,GAAG,KAAK,CAC7B,KAAK,EACL,EAAC,KAAK,EAAE,YAAY,EAAC,CACxB;AACJ;+GAPY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,uBAAuB,EAAE,aAAa;AACzC,qBAAA;AACJ,iBAAA;;;ACjCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-comment.mjs","sources":["../../../projects/kit/components/comment/comment.directive.ts","../../../projects/kit/components/comment/taiga-ui-kit-components-comment.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n type TuiHorizontalDirection,\n type TuiVerticalDirection,\n} from '@taiga-ui/core/types';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/comment.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-comment-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiComment]',\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-direction]': 'direction()',\n },\n})\nexport class TuiComment {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly direction = input<TuiHorizontalDirection | TuiVerticalDirection | ''>(\n 'top',\n {alias: 'tuiComment'},\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAcA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,yGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wkDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,YAAA,EAAe,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,wkDAAA,CAAA,EAAA;;MAW7B,UAAU,CAAA;AAPvB,IAAA,WAAA,GAAA;AAQuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAA,CAAA,SAAS,GAAG,KAAK,CAC7B,KAAK,EACL,EAAC,KAAK,EAAE,YAAY,EAAC,CACxB;AACJ,IAAA;+GAPY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAPtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,uBAAuB,EAAE,aAAa;AACzC,qBAAA;AACJ,iBAAA;;;ACjCD;;AAEG;;;;"}
@@ -6,15 +6,15 @@ class TuiCompass {
6
6
  constructor() {
7
7
  this.degrees = input(NaN);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCompass, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: TuiCompass, isStandalone: true, selector: "tui-compass", inputs: { degrees: { classPropertyName: "degrees", publicName: "degrees", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.0.0-rc.4" }, properties: { "style.--t-degrees.deg": "degrees()" } }, ngImport: i0, template: '', isInline: true, styles: ["tui-compass:where(*[data-tui-version=\"5.0.0-rc.4\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.0.0-rc.4\"]):before{content:\"\";position:absolute;top:0;left:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.0.0-rc.4\"]):after{position:absolute;inset:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCompass, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.19", type: TuiCompass, isStandalone: true, selector: "tui-compass", inputs: { degrees: { classPropertyName: "degrees", publicName: "degrees", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.0.0" }, properties: { "style.--t-degrees.deg": "degrees()" } }, ngImport: i0, template: '', isInline: true, styles: ["tui-compass:where(*[data-tui-version=\"5.0.0\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.0.0\"]):before{content:\"\";position:absolute;inset-block-start:0;inset-inline-start:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.0.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCompass, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCompass, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'tui-compass', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
15
15
  'data-tui-version': TUI_VERSION,
16
16
  '[style.--t-degrees.deg]': 'degrees()',
17
- }, styles: ["tui-compass:where(*[data-tui-version=\"5.0.0-rc.4\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.0.0-rc.4\"]):before{content:\"\";position:absolute;top:0;left:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.0.0-rc.4\"]):after{position:absolute;inset:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"] }]
17
+ }, styles: ["tui-compass:where(*[data-tui-version=\"5.0.0\"]){position:relative;display:inline-block;color:var(--tui-background-accent-1);border-radius:50%;inline-size:1rem;block-size:1rem;border:.1875rem solid var(--tui-background-base);box-shadow:0 0 .1875rem #0000004d;transform-style:preserve-3d}tui-compass:where(*[data-tui-version=\"5.0.0\"]):before{content:\"\";position:absolute;inset-block-start:0;inset-inline-start:.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 8.99993C4 8 8 8 12 8.99993C9.91509 5.73239 8.5 3 6 0C3.5 3 2 5.5 0 8.99993Z\"/></svg>');transform:rotate(var(--t-degrees)) translateY(-.625rem) translateZ(-1rem);inline-size:.75rem;block-size:1rem;background:currentColor}tui-compass:where(*[data-tui-version=\"5.0.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";border-radius:inherit;background:currentColor linear-gradient(-45deg,rgba(0,0,0,.2),transparent)}\n"] }]
18
18
  }] });
19
19
 
20
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-compass.mjs","sources":["../../../projects/kit/components/compass/compass.component.ts","../../../projects/kit/components/compass/taiga-ui-kit-components-compass.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\n\n@Component({\n selector: 'tui-compass',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/compass.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--t-degrees.deg]': 'degrees()',\n },\n})\nexport class TuiCompass {\n public readonly degrees = input(NaN);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAuBa,UAAU,CAAA;AAfvB,IAAA,WAAA,GAAA;AAgBoB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;AACvC;+GAFY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,mUAbT,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4kCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAaH,UAAU,EAAA,UAAA,EAAA,CAAA;kBAftB,SAAS;+BACI,aAAa,EAAA,QAAA,EACb,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,yBAAyB,EAAE,WAAW;AACzC,qBAAA,EAAA,MAAA,EAAA,CAAA,4kCAAA,CAAA,EAAA;;;ACrBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-compass.mjs","sources":["../../../projects/kit/components/compass/compass.component.ts","../../../projects/kit/components/compass/taiga-ui-kit-components-compass.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\n\n@Component({\n selector: 'tui-compass',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/compass.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--t-degrees.deg]': 'degrees()',\n },\n})\nexport class TuiCompass {\n public readonly degrees = input(NaN);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAuBa,UAAU,CAAA;AAfvB,IAAA,WAAA,GAAA;AAgBoB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;AACvC,IAAA;+GAFY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,8TAbT,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+pCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAaH,UAAU,EAAA,UAAA,EAAA,CAAA;kBAftB,SAAS;+BACI,aAAa,EAAA,QAAA,EACb,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,yBAAyB,EAAE,WAAW;AACzC,qBAAA,EAAA,MAAA,EAAA,CAAA,+pCAAA,CAAA,EAAA;;;ACrBL;;AAEG;;;;"}
@@ -17,12 +17,12 @@ class TuiConfirm {
17
17
  get appearance() {
18
18
  return this.isMobile ? 'secondary' : 'flat';
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TuiConfirm, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer class=\"t-buttons\">\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words().no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words().yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog){margin-block-start:-.75rem}:host-context(tui-dialog) .t-button{margin:0}:host-context(tui-dialog) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}:host-context(tui-dialog) .t-buttons:first-child{margin-block-start:2rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: TuiConfirm, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words().no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words().yes }}\n </button>\n</footer>\n", styles: [":host-context(tui-root._mobile) .t-button{flex:1 0 auto;overflow:visible}:host-context(tui-dialog) .t-content{margin-block-start:-.75rem}:host-context(tui-dialog) .t-buttons{margin:1.25rem 0 0}:host-context(tui-dialog) .t-buttons:first-child{margin-block-start:2rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiConfirm, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiConfirm, decorators: [{
24
24
  type: Component,
25
- args: [{ imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer class=\"t-buttons\">\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words().no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words().yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog){margin-block-start:-.75rem}:host-context(tui-dialog) .t-button{margin:0}:host-context(tui-dialog) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}:host-context(tui-dialog) .t-buttons:first-child{margin-block-start:2rem}\n"] }]
25
+ args: [{ imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words().no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words().yes }}\n </button>\n</footer>\n", styles: [":host-context(tui-root._mobile) .t-button{flex:1 0 auto;overflow:visible}:host-context(tui-dialog) .t-content{margin-block-start:-.75rem}:host-context(tui-dialog) .t-buttons{margin:1.25rem 0 0}:host-context(tui-dialog) .t-buttons:first-child{margin-block-start:2rem}\n"] }]
26
26
  }] });
27
27
  const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);
28
28
  const TUI_CONFIRM_DIALOG = new InjectionToken(ngDevMode ? 'TUI_CONFIRM_DIALOG' : '', { factory: () => TUI_CONFIRM });
@@ -44,10 +44,10 @@ class TuiConfirmService {
44
44
  ? this.dialogs.open(this.component, { size: 's', ...options })
45
45
  : of(true));
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiConfirmService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiConfirmService }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiConfirmService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiConfirmService }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiConfirmService, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiConfirmService, decorators: [{
51
51
  type: Injectable
52
52
  }] });
53
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-confirm.mjs","sources":["../../../projects/kit/components/confirm/confirm.component.ts","../../../projects/kit/components/confirm/confirm.template.html","../../../projects/kit/components/confirm/confirm.service.ts","../../../projects/kit/components/confirm/taiga-ui-kit-components-confirm.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, InjectionToken} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {type TuiDialogContext} from '@taiga-ui/core/portals/dialog';\nimport {TUI_CONFIRM_WORDS} from '@taiga-ui/kit/tokens';\nimport {\n injectContext,\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nexport interface TuiConfirmData {\n readonly content?: PolymorpheusContent;\n readonly no?: string;\n readonly yes?: string;\n readonly appearance?: string;\n}\n\n@Component({\n imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './confirm.template.html',\n styleUrl: './confirm.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiConfirm {\n private readonly isMobile = inject(WA_IS_MOBILE);\n protected readonly words = inject(TUI_CONFIRM_WORDS);\n\n public readonly context =\n injectContext<TuiDialogContext<boolean, TuiConfirmData | undefined>>();\n\n protected get appearance(): string {\n return this.isMobile ? 'secondary' : 'flat';\n }\n}\n\nexport const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);\nexport const TUI_CONFIRM_DIALOG = new InjectionToken<\n PolymorpheusContent<TuiDialogContext<boolean, unknown>>\n>(ngDevMode ? 'TUI_CONFIRM_DIALOG' : '', {factory: () => TUI_CONFIRM});\n","<p\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer class=\"t-buttons\">\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words().no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words().yes }}\n </button>\n</footer>\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiDialogOptions, TuiDialogService} from '@taiga-ui/core/portals/dialog';\nimport {defer, type Observable, of} from 'rxjs';\n\nimport {TUI_CONFIRM_DIALOG, type TuiConfirmData} from './confirm.component';\n\n@Injectable()\nexport class TuiConfirmService {\n private readonly dialogs = inject(TuiDialogService);\n private readonly component = inject(TUI_CONFIRM_DIALOG);\n private dirty = false;\n\n public markAsDirty(): void {\n this.dirty = true;\n }\n\n public markAsPristine(): void {\n this.dirty = false;\n }\n\n public withConfirm<T = TuiConfirmData>(\n options: Partial<TuiDialogOptions<NoInfer<T>>>,\n ): Observable<boolean> {\n return defer(() =>\n this.dirty\n ? this.dialogs.open<boolean>(this.component, {size: 's', ...options})\n : of(true),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MA0Ba,UAAU,CAAA;AANvB,IAAA,WAAA,GAAA;AAOqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAEpC,IAAO,CAAA,OAAA,GACnB,aAAa,EAAyD;AAK7E;AAHG,IAAA,IAAc,UAAU,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,MAAM;;+GARtC,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,wEC1BvB,8uBA4BA,EAAA,MAAA,EAAA,CAAA,qkBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDPc,kBAAkB,EAAE,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,YAAY,qFAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAK5C,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,SAAS;8BACG,CAAC,kBAAkB,EAAE,YAAY,EAAE,SAAS,CAAC,EAAA,eAAA,EAGrC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8uBAAA,EAAA,MAAA,EAAA,CAAA,qkBAAA,CAAA,EAAA;;MActC,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU;AAClD,MAAA,kBAAkB,GAAG,IAAI,cAAc,CAElD,SAAS,GAAG,oBAAoB,GAAG,EAAE,EAAE,EAAC,OAAO,EAAE,MAAM,WAAW,EAAC;;MElCxD,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC/C,IAAK,CAAA,KAAA,GAAG,KAAK;AAmBxB;IAjBU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;;IAGd,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAGf,IAAA,WAAW,CACd,OAA8C,EAAA;AAE9C,QAAA,OAAO,KAAK,CAAC,MACT,IAAI,CAAC;AACD,cAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAU,IAAI,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,EAAC;AACpE,cAAE,EAAE,CAAC,IAAI,CAAC,CACjB;;+GApBI,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAjB,iBAAiB,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-confirm.mjs","sources":["../../../projects/kit/components/confirm/confirm.component.ts","../../../projects/kit/components/confirm/confirm.template.html","../../../projects/kit/components/confirm/confirm.service.ts","../../../projects/kit/components/confirm/taiga-ui-kit-components-confirm.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, InjectionToken} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {type TuiDialogContext} from '@taiga-ui/core/portals/dialog';\nimport {TUI_CONFIRM_WORDS} from '@taiga-ui/kit/tokens';\nimport {\n injectContext,\n PolymorpheusComponent,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\nexport interface TuiConfirmData {\n readonly content?: PolymorpheusContent;\n readonly no?: string;\n readonly yes?: string;\n readonly appearance?: string;\n}\n\n@Component({\n imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './confirm.template.html',\n styleUrl: './confirm.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiConfirm {\n private readonly isMobile = inject(WA_IS_MOBILE);\n protected readonly words = inject(TUI_CONFIRM_WORDS);\n\n public readonly context =\n injectContext<TuiDialogContext<boolean, TuiConfirmData | undefined>>();\n\n protected get appearance(): string {\n return this.isMobile ? 'secondary' : 'flat';\n }\n}\n\nexport const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);\nexport const TUI_CONFIRM_DIALOG = new InjectionToken<\n PolymorpheusContent<TuiDialogContext<boolean, unknown>>\n>(ngDevMode ? 'TUI_CONFIRM_DIALOG' : '', {factory: () => TUI_CONFIRM});\n","<div\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<footer class=\"t-buttons\">\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words().no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words().yes }}\n </button>\n</footer>\n","import {inject, Injectable} from '@angular/core';\nimport {type TuiDialogOptions, TuiDialogService} from '@taiga-ui/core/portals/dialog';\nimport {defer, type Observable, of} from 'rxjs';\n\nimport {TUI_CONFIRM_DIALOG, type TuiConfirmData} from './confirm.component';\n\n@Injectable()\nexport class TuiConfirmService {\n private readonly dialogs = inject(TuiDialogService);\n private readonly component = inject(TUI_CONFIRM_DIALOG);\n private dirty = false;\n\n public markAsDirty(): void {\n this.dirty = true;\n }\n\n public markAsPristine(): void {\n this.dirty = false;\n }\n\n public withConfirm<T = TuiConfirmData>(\n options: Partial<TuiDialogOptions<NoInfer<T>>>,\n ): Observable<boolean> {\n return defer(() =>\n this.dirty\n ? this.dialogs.open<boolean>(this.component, {size: 's', ...options})\n : of(true),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MA0Ba,UAAU,CAAA;AANvB,IAAA,WAAA,GAAA;AAOqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;AAC7B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAEpC,IAAA,CAAA,OAAO,GACnB,aAAa,EAAyD;AAK7E,IAAA;AAHG,IAAA,IAAc,UAAU,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,MAAM;IAC/C;+GATS,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,wEC1BvB,kvBA4BA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDPc,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,qFAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAK5C,UAAU,EAAA,UAAA,EAAA,CAAA;kBANtB,SAAS;8BACG,CAAC,kBAAkB,EAAE,YAAY,EAAE,SAAS,CAAC,EAAA,eAAA,EAGrC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kvBAAA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA;;MActC,WAAW,GAAG,IAAI,qBAAqB,CAAC,UAAU;AACxD,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAElD,SAAS,GAAG,oBAAoB,GAAG,EAAE,EAAE,EAAC,OAAO,EAAE,MAAM,WAAW,EAAC;;MElCxD,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC/C,IAAA,CAAA,KAAK,GAAG,KAAK;AAmBxB,IAAA;IAjBU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;IACrB;IAEO,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACtB;AAEO,IAAA,WAAW,CACd,OAA8C,EAAA;AAE9C,QAAA,OAAO,KAAK,CAAC,MACT,IAAI,CAAC;AACD,cAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAU,IAAI,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,EAAC;AACpE,cAAE,EAAE,CAAC,IAAI,CAAC,CACjB;IACL;+GArBS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAjB,iBAAiB,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;;ACND;;AAEG;;;;"}
@@ -2,6 +2,7 @@ import * as i1$1 from '@angular/cdk/clipboard';
2
2
  import { Clipboard, ClipboardModule } from '@angular/cdk/clipboard';
3
3
  import * as i0 from '@angular/core';
4
4
  import { inject, signal, computed, input, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive } from '@angular/core';
5
+ import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
5
6
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
7
  import { tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
7
8
  import * as i1 from '@taiga-ui/core/components/button';
@@ -11,7 +12,6 @@ import { tuiIconStart, tuiIconEnd } from '@taiga-ui/core/directives/icons';
11
12
  import { TUI_COPY_TEXTS } from '@taiga-ui/kit/tokens';
12
13
  import { tuiCreateOptions, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
13
14
  import { toSignal, toObservable } from '@angular/core/rxjs-interop';
14
- import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
15
15
  import { TuiIcon } from '@taiga-ui/core/components/icon';
16
16
  import * as i2 from '@taiga-ui/core/portals/hint';
17
17
  import { TuiHint, TuiHintDirective } from '@taiga-ui/core/portals/hint';
@@ -21,7 +21,9 @@ import * as i1$2 from '@taiga-ui/core/directives/appearance';
21
21
  import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
22
22
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
23
23
 
24
- const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({ icon: '@tui.copy' });
24
+ const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({
25
+ icon: '@tui.copy',
26
+ });
25
27
 
26
28
  class TuiButtonCopy {
27
29
  constructor() {
@@ -45,16 +47,16 @@ class TuiButtonCopy {
45
47
  }
46
48
  this.copied.set(copied);
47
49
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiButtonCopy, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: TuiButtonCopy, isStandalone: true, selector: "[tuiButtonCopy]", inputs: { tuiButtonCopy: { classPropertyName: "tuiButtonCopy", publicName: "tuiButtonCopy", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiButton": "", "type": "button" }, listeners: { "document:click.capture": "copy($event.target)" } }, providers: [tuiButtonOptionsProvider({ appearance: 'flat-grayscale', size: 's' })], hostDirectives: [{ directive: i1.TuiButton }], ngImport: i0, template: `
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiButtonCopy, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiButtonCopy, isStandalone: true, selector: "[tuiButtonCopy]", inputs: { tuiButtonCopy: { classPropertyName: "tuiButtonCopy", publicName: "tuiButtonCopy", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiButton": "", "type": "button" }, listeners: { "document:click.capture": "copy($event.target)" } }, providers: [tuiButtonOptionsProvider({ appearance: 'flat-grayscale', size: 's' })], hostDirectives: [{ directive: i1.TuiButton }], ngImport: i0, template: `
50
52
  @if (copied()) {
51
53
  {{ copiedText() }}
52
54
  } @else {
53
55
  <ng-content />
54
56
  }
55
- `, isInline: true, styles: ["tui-hint:has([tuiButtonCopy]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
+ `, isInline: true, styles: ["tui-hint:has([tuiButtonCopy]):where(*[data-tui-version=\"5.0.0\"]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:where(*[data-tui-version=\"5.0.0\"]):not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
58
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiButtonCopy, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiButtonCopy, decorators: [{
58
60
  type: Component,
59
61
  args: [{ selector: '[tuiButtonCopy]', template: `
60
62
  @if (copied()) {
@@ -66,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
66
68
  tuiButton: '',
67
69
  type: 'button',
68
70
  '(document:click.capture)': 'copy($event.target)',
69
- }, styles: ["tui-hint:has([tuiButtonCopy]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"] }]
71
+ }, styles: ["tui-hint:has([tuiButtonCopy]):where(*[data-tui-version=\"5.0.0\"]){display:flex;padding:.375rem;max-inline-size:none}[tuiButtonCopy]:where(*[data-tui-version=\"5.0.0\"]):not(:first-of-type){margin-inline-start:calc(.75rem - 1px);border-image:linear-gradient(transparent .375rem,var(--tui-border-normal) .375rem,var(--tui-border-normal) calc(100% - .375rem),transparent calc(100% - .375rem)) 0 0 0 1 / 0 1px / 0 .375rem}\n"] }]
70
72
  }] });
71
73
 
72
74
  class TuiCopyComponent {
@@ -83,10 +85,10 @@ class TuiCopyComponent {
83
85
  ? this.notification.icon
84
86
  : this.notification.icon('positive');
85
87
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: TuiCopyComponent, isStandalone: true, selector: "tui-copy", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "copied$.next(false)" }, properties: { "attr.data-size": "size()" } }, ngImport: i0, template: "<span\n #content\n tuiHintAppearance=\"floating\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"options.icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()[1] }}\n</ng-template>\n", styles: [":host{cursor:pointer}:host[data-size=m]{--t-size: min( calc(1em + 1px) , 1rem)}:host[data-size=l]{--t-size: max(calc(1em / 1.57), min(max(calc(1em / 1.18), 1.25rem), 1.5rem))}@media (hover: hover) and (pointer: fine){:host:hover .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}:host:hover .t-button{opacity:1}}:host:has(.t-button:focus-visible) .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}.t-content{transition-property:opacity,mask;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;mask:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))) no-repeat,linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size))) no-repeat;-webkit-mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0;mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0}.t-button{position:sticky;inset-inline-start:0;opacity:0;border-radius:0;font-size:inherit!important;margin-inline-start:calc(-1 * var(--t-size));--t-size: inherit}.t-button:before{font-size:var(--t-size)}.t-button:focus-visible{opacity:1}.t-icon{font-size:1rem;margin-inline-end:.25rem;vertical-align:sub;color:var(--tui-text-positive)}\n"], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i1$1.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i2.TuiHintManual, selector: "[tuiHint][tuiHintManual]", inputs: ["tuiHintManual"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCopyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.19", type: TuiCopyComponent, isStandalone: true, selector: "tui-copy", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "copied$.next(false)" }, properties: { "attr.data-size": "size()" } }, ngImport: i0, template: "<span\n #content\n tuiHintAppearance=\"floating\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"options.icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()[1] }}\n</ng-template>\n", styles: [":host{cursor:pointer}:host[data-size=m]{--t-size: min( calc(1em + 1px) , 1rem)}:host[data-size=l]{--t-size: max(calc(1em / 1.57), min(max(calc(1em / 1.18), 1.25rem), 1.5rem))}@media (hover: hover) and (pointer: fine){:host:hover .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}:host:hover .t-button{opacity:1}}:host:has(.t-button:focus-visible) .t-content{opacity:var(--tui-disabled-opacity);-webkit-mask-position:0;mask-position:0}.t-content{transition-property:opacity,mask;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;mask:linear-gradient(to var(--tui-inline-start),transparent calc(1.25 * var(--t-size)),black calc(2 * var(--t-size))) no-repeat,linear-gradient(to var(--tui-inline-end),black,black calc(2 * var(--t-size)),transparent calc(2 * var(--t-size))) no-repeat;-webkit-mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0;mask-position:calc(var(--tui-inline) * 2 * var(--t-size)),0}.t-button{position:sticky;inset-inline-start:0;opacity:0;border-radius:0;font-size:inherit!important;margin-inline-start:calc(-1 * var(--t-size));--t-size: inherit}.t-button:before{font-size:var(--t-size)}.t-button:focus-visible{opacity:1}.t-icon{font-size:1rem;margin-inline-end:.25rem;vertical-align:sub;color:var(--tui-text-positive)}\n"], dependencies: [{ kind: "ngmodule", type: ClipboardModule }, { kind: "directive", type: i1$1.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i2.TuiHintManual, selector: "[tuiHint][tuiHintManual]", inputs: ["tuiHintManual"] }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
90
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCopyComponent, decorators: [{
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCopyComponent, decorators: [{
90
92
  type: Component,
91
93
  args: [{ selector: 'tui-copy', imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
92
94
  '[attr.data-size]': 'size()',
@@ -122,15 +124,15 @@ class TuiCopyDirective {
122
124
  get multi() {
123
125
  return Array.isArray(this.textfield.control()?.value);
124
126
  }
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCopyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.18", type: TuiCopyDirective, isStandalone: true, selector: "tui-icon[tuiCopy]", host: { listeners: { "click": "copy()" }, properties: { "style.pointer-events": "hasValue ? null : \"none\"", "style.opacity": "hasValue ? null : \"var(--tui-disabled-opacity)\"", "style.border-width.rem": "textfield.options.size() === \"l\" ? null : 0.25" }, styleAttribute: "cursor: pointer" }, providers: [
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCopyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
128
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiCopyDirective, isStandalone: true, selector: "tui-icon[tuiCopy]", host: { listeners: { "click": "copy()" }, properties: { "style.pointer-events": "hasValue ? null : \"none\"", "style.opacity": "hasValue ? null : \"var(--tui-disabled-opacity)\"", "style.border-width.rem": "textfield.options.size() === \"l\" ? null : 0.25" }, styleAttribute: "cursor: pointer" }, providers: [
127
129
  {
128
130
  provide: TUI_APPEARANCE_OPTIONS,
129
131
  useValue: { appearance: 'icon' },
130
132
  },
131
133
  ], hostDirectives: [{ directive: i1$2.TuiWithAppearance }, { directive: i2.TuiHintDirective, inputs: ["tuiHintAppearance", "tuiHintAppearance", "tuiHintContext", "tuiHintContext"] }], ngImport: i0 }); }
132
134
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCopyDirective, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCopyDirective, decorators: [{
134
136
  type: Directive,
135
137
  args: [{
136
138
  selector: 'tui-icon[tuiCopy]',
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-copy.mjs","sources":["../../../projects/kit/components/copy/copy.options.ts","../../../projects/kit/components/copy/button-copy.component.ts","../../../projects/kit/components/copy/copy.component.ts","../../../projects/kit/components/copy/copy.template.html","../../../projects/kit/components/copy/copy.directive.ts","../../../projects/kit/components/copy/copy.ts","../../../projects/kit/components/copy/index.ts","../../../projects/kit/components/copy/taiga-ui-kit-components-copy.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCopyOptions {\n readonly icon: string;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] =\n tuiCreateOptions<TuiCopyOptions>({icon: '@tui.copy'});\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {tuiIconStart} from '@taiga-ui/core/directives/icons';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n selector: '[tuiButtonCopy]',\n template: `\n @if (copied()) {\n {{ copiedText() }}\n } @else {\n <ng-content />\n }\n `,\n styleUrl: './button-copy.styles.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiButtonOptionsProvider({appearance: 'flat-grayscale', size: 's'})],\n hostDirectives: [TuiButton],\n host: {\n tuiButton: '',\n type: 'button',\n '(document:click.capture)': 'copy($event.target)',\n },\n})\nexport class TuiButtonCopy {\n private readonly el = tuiInjectElement();\n private readonly clipboard = inject(Clipboard);\n private readonly options = inject(TUI_COPY_OPTIONS);\n private readonly copyTexts = inject(TUI_COPY_TEXTS);\n private readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n private readonly check = tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n\n protected readonly copied = signal(false);\n protected readonly copiedText = computed(() => this.copyTexts()[1]);\n protected readonly icon = tuiIconStart(\n computed(() => (this.copied() ? this.check : this.options.icon)),\n );\n\n public readonly tuiButtonCopy = input('');\n\n protected copy(target: HTMLElement): void {\n const copied = this.el === target;\n\n if (copied) {\n this.clipboard.copy(this.tuiButtonCopy());\n }\n\n this.copied.set(copied);\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TuiHint} from '@taiga-ui/core/portals/hint';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {BehaviorSubject, map, startWith, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n selector: 'tui-copy',\n imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon],\n templateUrl: './copy.template.html',\n styleUrl: './copy.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size()',\n '(pointerdown)': 'copied$.next(false)',\n },\n})\nexport class TuiCopyComponent {\n protected readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n protected readonly options = inject(TUI_COPY_OPTIONS);\n protected readonly copied$ = new BehaviorSubject<boolean>(false);\n protected readonly texts = inject(TUI_COPY_TEXTS);\n protected readonly hint = toSignal(\n this.copied$.pipe(\n switchMap((copied) =>\n timer(2000).pipe(map(TUI_FALSE_HANDLER), startWith(copied)),\n ),\n ),\n );\n\n public readonly size = input<TuiSizeL>('m');\n\n protected get check(): string {\n return tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n }\n}\n","<span\n #content\n tuiHintAppearance=\"floating\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"options.icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()[1] }}\n</ng-template>\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Directive, inject} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiHintDirective} from '@taiga-ui/core/portals/hint';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {map, startWith, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Directive({\n selector: 'tui-icon[tuiCopy]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'copy()',\n '[style.pointer-events]': 'hasValue ? null : \"none\"',\n '[style.opacity]': 'hasValue ? null : \"var(--tui-disabled-opacity)\"',\n '[style.border-width.rem]': 'textfield.options.size() === \"l\" ? null : 0.25',\n },\n})\nexport class TuiCopyDirective {\n private readonly copied$ = new Subject<void>();\n private readonly clipboard = inject(Clipboard);\n private readonly stringify = inject(TUI_ITEMS_HANDLERS).stringify;\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly icons = tuiIconEnd(inject(TUI_COPY_OPTIONS).icon);\n protected readonly copyTexts = inject(TUI_COPY_TEXTS);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'content',\n toSignal(\n toObservable(inject(TUI_COPY_TEXTS)).pipe(\n switchMap(([copy, copied]) =>\n this.copied$.pipe(\n switchMap(() =>\n timer(3000).pipe(\n map(() => copy),\n startWith(copied),\n ),\n ),\n startWith(copy),\n ),\n ),\n ),\n {initialValue: ''},\n ),\n );\n\n protected get hasValue(): boolean {\n return this.multi\n ? !!this.textfield.control()?.value.length\n : !!this.textfield.value();\n }\n\n protected copy(): void {\n if (this.multi) {\n this.clipboard.copy(\n this.textfield.control()?.value.map(this.stringify()).join(', '),\n );\n } else {\n this.textfield.input()?.nativeElement.select();\n this.clipboard.copy(this.textfield.value());\n }\n\n this.copied$.next();\n }\n\n private get multi(): boolean {\n return Array.isArray(this.textfield.control()?.value);\n }\n}\n","import {TuiButtonCopy} from './button-copy.component';\nimport {TuiCopyComponent} from './copy.component';\nimport {TuiCopyDirective} from './copy.directive';\n\nexport const TuiCopy = [TuiCopyComponent, TuiCopyDirective, TuiButtonCopy] as const;\n","// TODO: Move to components in v5\nexport * from './button-copy.component';\nexport * from './copy';\nexport * from './copy.component';\nexport * from './copy.directive';\nexport * from './copy.options';\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-copy.mjs","sources":["../../../projects/kit/components/copy/copy.options.ts","../../../projects/kit/components/copy/button-copy.component.ts","../../../projects/kit/components/copy/copy.component.ts","../../../projects/kit/components/copy/copy.template.html","../../../projects/kit/components/copy/copy.directive.ts","../../../projects/kit/components/copy/copy.ts","../../../projects/kit/components/copy/index.ts","../../../projects/kit/components/copy/taiga-ui-kit-components-copy.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCopyOptions {\n readonly icon: string;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] = tuiCreateOptions({\n icon: '@tui.copy',\n});\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {tuiIconStart} from '@taiga-ui/core/directives/icons';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n selector: '[tuiButtonCopy]',\n template: `\n @if (copied()) {\n {{ copiedText() }}\n } @else {\n <ng-content />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './button-copy.styles.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiButtonOptionsProvider({appearance: 'flat-grayscale', size: 's'})],\n hostDirectives: [TuiButton],\n host: {\n tuiButton: '',\n type: 'button',\n '(document:click.capture)': 'copy($event.target)',\n },\n})\nexport class TuiButtonCopy {\n private readonly el = tuiInjectElement();\n private readonly clipboard = inject(Clipboard);\n private readonly options = inject(TUI_COPY_OPTIONS);\n private readonly copyTexts = inject(TUI_COPY_TEXTS);\n private readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n private readonly check = tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n\n protected readonly copied = signal(false);\n protected readonly copiedText = computed(() => this.copyTexts()[1]);\n protected readonly icon = tuiIconStart(\n computed(() => (this.copied() ? this.check : this.options.icon)),\n );\n\n public readonly tuiButtonCopy = input('');\n\n protected copy(target: HTMLElement): void {\n const copied = this.el === target;\n\n if (copied) {\n this.clipboard.copy(this.tuiButtonCopy());\n }\n\n this.copied.set(copied);\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TuiHint} from '@taiga-ui/core/portals/hint';\nimport {type TuiSizeL} from '@taiga-ui/core/types';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {BehaviorSubject, map, startWith, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Component({\n selector: 'tui-copy',\n imports: [ClipboardModule, TuiButton, TuiHint, TuiIcon],\n templateUrl: './copy.template.html',\n styleUrl: './copy.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size()',\n '(pointerdown)': 'copied$.next(false)',\n },\n})\nexport class TuiCopyComponent {\n protected readonly notification = inject(TUI_NOTIFICATION_OPTIONS);\n protected readonly options = inject(TUI_COPY_OPTIONS);\n protected readonly copied$ = new BehaviorSubject(false);\n protected readonly texts = inject(TUI_COPY_TEXTS);\n protected readonly hint = toSignal(\n this.copied$.pipe(\n switchMap((copied) =>\n timer(2000).pipe(map(TUI_FALSE_HANDLER), startWith(copied)),\n ),\n ),\n );\n\n public readonly size = input<TuiSizeL>('m');\n\n protected get check(): string {\n return tuiIsString(this.notification.icon)\n ? this.notification.icon\n : this.notification.icon('positive');\n }\n}\n","<span\n #content\n tuiHintAppearance=\"floating\"\n tuiHintDirection=\"top\"\n class=\"t-content\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [tuiHint]=\"template\"\n [tuiHintManual]=\"!!hint()\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n>\n <ng-content />\n</span>\n<button\n appearance=\"icon\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [attr.aria-label]=\"texts()[0]\"\n [cdkCopyToClipboard]=\"content.textContent ?? ''\"\n [iconStart]=\"options.icon\"\n (cdkCopyToClipboardCopied)=\"copied$.next($event)\"\n></button>\n<ng-template #template>\n <tui-icon\n class=\"t-icon\"\n [icon]=\"check\"\n />\n {{ texts()[1] }}\n</ng-template>\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Directive, inject} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiHintDirective} from '@taiga-ui/core/portals/hint';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit/tokens';\nimport {map, startWith, Subject, switchMap, timer} from 'rxjs';\n\nimport {TUI_COPY_OPTIONS} from './copy.options';\n\n@Directive({\n selector: 'tui-icon[tuiCopy]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'icon'},\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDirective,\n inputs: ['tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n style: 'cursor: pointer',\n '(click)': 'copy()',\n '[style.pointer-events]': 'hasValue ? null : \"none\"',\n '[style.opacity]': 'hasValue ? null : \"var(--tui-disabled-opacity)\"',\n '[style.border-width.rem]': 'textfield.options.size() === \"l\" ? null : 0.25',\n },\n})\nexport class TuiCopyDirective {\n private readonly copied$ = new Subject<void>();\n private readonly clipboard = inject(Clipboard);\n private readonly stringify = inject(TUI_ITEMS_HANDLERS).stringify;\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly icons = tuiIconEnd(inject(TUI_COPY_OPTIONS).icon);\n protected readonly copyTexts = inject(TUI_COPY_TEXTS);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'content',\n toSignal(\n toObservable(inject(TUI_COPY_TEXTS)).pipe(\n switchMap(([copy, copied]) =>\n this.copied$.pipe(\n switchMap(() =>\n timer(3000).pipe(\n map(() => copy),\n startWith(copied),\n ),\n ),\n startWith(copy),\n ),\n ),\n ),\n {initialValue: ''},\n ),\n );\n\n protected get hasValue(): boolean {\n return this.multi\n ? !!this.textfield.control()?.value.length\n : !!this.textfield.value();\n }\n\n protected copy(): void {\n if (this.multi) {\n this.clipboard.copy(\n this.textfield.control()?.value.map(this.stringify()).join(', '),\n );\n } else {\n this.textfield.input()?.nativeElement.select();\n this.clipboard.copy(this.textfield.value());\n }\n\n this.copied$.next();\n }\n\n private get multi(): boolean {\n return Array.isArray(this.textfield.control()?.value);\n }\n}\n","import {TuiButtonCopy} from './button-copy.component';\nimport {TuiCopyComponent} from './copy.component';\nimport {TuiCopyDirective} from './copy.directive';\n\nexport const TuiCopy = [TuiCopyComponent, TuiCopyDirective, TuiButtonCopy] as const;\n","// TODO: Move to components in v5\nexport * from './button-copy.component';\nexport * from './copy';\nexport * from './copy.component';\nexport * from './copy.directive';\nexport * from './copy.options';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, computed, input, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { TuiControl } from '@taiga-ui/cdk/classes';
4
+ import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
4
5
  import { tuiClamp, tuiSum } from '@taiga-ui/cdk/utils/math';
5
6
  import { TuiButton } from '@taiga-ui/core/components/button';
6
7
  import { TuiInputNumberStepService } from '@taiga-ui/kit/components/input-number';
@@ -46,12 +47,12 @@ class TuiCounter extends TuiControl {
46
47
  onStep(step) {
47
48
  this.onChange(tuiClamp(tuiSum(this.value(), step), this.min(), this.max()));
48
49
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCounter, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: TuiCounter, isStandalone: true, selector: "tui-counter", inputs: { step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "attr.data-appearance": "appearance()" } }, providers: [TuiInputNumberStepService], usesInheritance: true, ngImport: i0, template: "<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() - step() < min()\"\n [iconStart]=\"options.icons.decrease\"\n [size]=\"size()\"\n (click)=\"onStep(-step())\"\n (pointerdown.prevent)=\"hold.next(-step())\"\n>\n -\n</button>\n<div\n tuiFade\n class=\"t-content\"\n [tuiFluidTypography]=\"[0.625, limit()]\"\n>\n {{ value() }}\n <ng-content />\n</div>\n<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() + step() > max()\"\n [iconStart]=\"options.icons.increase\"\n [size]=\"size()\"\n (click)=\"onStep(step())\"\n (pointerdown.prevent)=\"hold.next(step())\"\n>\n +\n</button>\n", styles: [":host{display:flex;min-inline-size:min(10.5rem,100%);max-inline-size:100%;align-items:center;inline-size:fit-content;justify-content:flex-end;border-radius:1rem;gap:.25rem}:host[data-size=m]{min-inline-size:min(8.125rem,100%);border-radius:.75rem}:host[data-size=s]{min-inline-size:min(6rem,100%);border-radius:2rem}:host[data-size=s] .t-button:first-child:after{inset-inline-end:0}:host[data-size=s] .t-button:last-child:after{inset-inline-start:0}:host[data-appearance=primary]{background:var(--tui-background-accent-1);color:var(--tui-text-primary-on-accent-1)}:host[data-appearance=flat]{background:var(--tui-background-neutral-1)}.t-content{display:flex;flex:1;justify-content:center;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;transition:none}.t-button{border-radius:inherit}@media screen and (max-width: 767.4px){.t-button{position:relative;overflow:visible}.t-button:after{content:\"\";position:absolute;display:block!important;inline-size:max(100%,2.75rem);block-size:max(100%,2.75rem);background:transparent}}\n"], dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiFluidTypography, selector: "[tuiFluidTypography]", inputs: ["tuiFluidTypography"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCounter, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.19", type: TuiCounter, isStandalone: true, selector: "tui-counter", inputs: { step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "attr.data-appearance": "appearance()" } }, providers: [TuiInputNumberStepService, tuiFallbackValueProvider(0)], usesInheritance: true, ngImport: i0, template: "<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() - step() < min()\"\n [iconStart]=\"options.icons.decrease\"\n [size]=\"size()\"\n (click)=\"onStep(-step())\"\n (pointerdown.prevent)=\"hold.next(-step())\"\n>\n -\n</button>\n<div\n tuiFade\n class=\"t-content\"\n [tuiFluidTypography]=\"[0.625, limit()]\"\n>\n {{ value() }}\n <ng-content />\n</div>\n<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() + step() > max()\"\n [iconStart]=\"options.icons.increase\"\n [size]=\"size()\"\n (click)=\"onStep(step())\"\n (pointerdown.prevent)=\"hold.next(step())\"\n>\n +\n</button>\n", styles: [":host{display:flex;min-inline-size:min(10.5rem,100%);max-inline-size:100%;align-items:center;inline-size:fit-content;justify-content:flex-end;border-radius:1rem;gap:.25rem}:host[data-size=m]{min-inline-size:min(8.125rem,100%);border-radius:.75rem}:host[data-size=s]{min-inline-size:min(6rem,100%);border-radius:2rem}:host[data-size=s] .t-button:first-child:after{inset-inline-end:0}:host[data-size=s] .t-button:last-child:after{inset-inline-start:0}:host[data-appearance=primary]{background:var(--tui-background-accent-1);color:var(--tui-text-primary-on-accent-1)}:host[data-appearance=flat]{background:var(--tui-background-neutral-1)}.t-content{display:flex;flex:1;justify-content:center;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;transition:none}.t-button{border-radius:inherit}@media screen and (max-width: 767.4px){.t-button{position:relative;overflow:visible}.t-button:after{content:\"\";position:absolute;display:block!important;inline-size:max(100%,2.75rem);block-size:max(100%,2.75rem);background:transparent}}\n"], dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiFluidTypography, selector: "[tuiFluidTypography]", inputs: ["tuiFluidTypography"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
52
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TuiCounter, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCounter, decorators: [{
53
54
  type: Component,
54
- args: [{ selector: 'tui-counter', imports: [TuiButton, TuiFade, TuiFluidTypography], changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiInputNumberStepService], host: {
55
+ args: [{ selector: 'tui-counter', imports: [TuiButton, TuiFade, TuiFluidTypography], changeDetection: ChangeDetectionStrategy.OnPush, providers: [TuiInputNumberStepService, tuiFallbackValueProvider(0)], host: {
55
56
  '[attr.data-size]': 'size()',
56
57
  '[attr.data-appearance]': 'appearance()',
57
58
  }, template: "<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() - step() < min()\"\n [iconStart]=\"options.icons.decrease\"\n [size]=\"size()\"\n (click)=\"onStep(-step())\"\n (pointerdown.prevent)=\"hold.next(-step())\"\n>\n -\n</button>\n<div\n tuiFade\n class=\"t-content\"\n [tuiFluidTypography]=\"[0.625, limit()]\"\n>\n {{ value() }}\n <ng-content />\n</div>\n<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() + step() > max()\"\n [iconStart]=\"options.icons.increase\"\n [size]=\"size()\"\n (click)=\"onStep(step())\"\n (pointerdown.prevent)=\"hold.next(step())\"\n>\n +\n</button>\n", styles: [":host{display:flex;min-inline-size:min(10.5rem,100%);max-inline-size:100%;align-items:center;inline-size:fit-content;justify-content:flex-end;border-radius:1rem;gap:.25rem}:host[data-size=m]{min-inline-size:min(8.125rem,100%);border-radius:.75rem}:host[data-size=s]{min-inline-size:min(6rem,100%);border-radius:2rem}:host[data-size=s] .t-button:first-child:after{inset-inline-end:0}:host[data-size=s] .t-button:last-child:after{inset-inline-start:0}:host[data-appearance=primary]{background:var(--tui-background-accent-1);color:var(--tui-text-primary-on-accent-1)}:host[data-appearance=flat]{background:var(--tui-background-neutral-1)}.t-content{display:flex;flex:1;justify-content:center;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;transition:none}.t-button{border-radius:inherit}@media screen and (max-width: 767.4px){.t-button{position:relative;overflow:visible}.t-button:after{content:\"\";position:absolute;display:block!important;inline-size:max(100%,2.75rem);block-size:max(100%,2.75rem);background:transparent}}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-counter.mjs","sources":["../../../projects/kit/components/counter/counter.options.ts","../../../projects/kit/components/counter/counter.component.ts","../../../projects/kit/components/counter/counter.template.html","../../../projects/kit/components/counter/taiga-ui-kit-components-counter.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCounterOptions extends TuiAppearanceOptions {\n size: TuiSizeL | TuiSizeS;\n readonly icons: Readonly<{\n decrease: string;\n increase: string;\n }>;\n step: number;\n min: number;\n max: number;\n}\n\nexport const TUI_COUNTER_DEFAULT_OPTIONS: TuiCounterOptions = {\n appearance: 'primary',\n size: 'l',\n min: 0,\n max: Number.MAX_SAFE_INTEGER,\n step: 1,\n icons: {\n increase: '@tui.plus',\n decrease: '@tui.minus',\n },\n};\n\nexport const [TUI_COUNTER_OPTIONS, tuiCounterOptionsProvider] = tuiCreateOptions(\n TUI_COUNTER_DEFAULT_OPTIONS,\n);\n","import {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiClamp, tuiSum} from '@taiga-ui/cdk/utils/math';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiInputNumberStepService} from '@taiga-ui/kit/components/input-number';\nimport {TuiFade} from '@taiga-ui/kit/directives/fade';\nimport {TuiFluidTypography} from '@taiga-ui/kit/directives/fluid-typography';\n\nimport {TUI_COUNTER_OPTIONS} from './counter.options';\n\n@Component({\n selector: 'tui-counter',\n imports: [TuiButton, TuiFade, TuiFluidTypography],\n templateUrl: './counter.template.html',\n styleUrl: './counter.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiInputNumberStepService],\n host: {\n '[attr.data-size]': 'size()',\n '[attr.data-appearance]': 'appearance()',\n },\n})\nexport class TuiCounter extends TuiControl<number> {\n protected readonly hold = inject(TuiInputNumberStepService<number>);\n protected readonly $ = this.hold.steps$.subscribe((value) => this.onStep(value));\n protected readonly options = inject(TUI_COUNTER_OPTIONS);\n protected readonly limit = computed(() => {\n switch (this.size()) {\n case 'l':\n return 1.25;\n case 'm':\n return 1;\n case 's':\n return 13 / 16;\n }\n });\n\n public readonly step = input(this.options.step);\n public readonly size = input(this.options.size);\n public readonly min = input(this.options.min);\n public readonly max = input(this.options.max);\n public readonly appearance = input(this.options.appearance);\n\n protected onStep(step: number): void {\n this.onChange(tuiClamp(tuiSum(this.value(), step), this.min(), this.max()));\n }\n}\n","<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() - step() < min()\"\n [iconStart]=\"options.icons.decrease\"\n [size]=\"size()\"\n (click)=\"onStep(-step())\"\n (pointerdown.prevent)=\"hold.next(-step())\"\n>\n -\n</button>\n<div\n tuiFade\n class=\"t-content\"\n [tuiFluidTypography]=\"[0.625, limit()]\"\n>\n {{ value() }}\n <ng-content />\n</div>\n<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() + step() > max()\"\n [iconStart]=\"options.icons.increase\"\n [size]=\"size()\"\n (click)=\"onStep(step())\"\n (pointerdown.prevent)=\"hold.next(step())\"\n>\n +\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-counter.mjs","sources":["../../../projects/kit/components/counter/counter.options.ts","../../../projects/kit/components/counter/counter.component.ts","../../../projects/kit/components/counter/counter.template.html","../../../projects/kit/components/counter/taiga-ui-kit-components-counter.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCounterOptions extends TuiAppearanceOptions {\n size: TuiSizeL | TuiSizeS;\n readonly icons: Readonly<{\n decrease: string;\n increase: string;\n }>;\n step: number;\n min: number;\n max: number;\n}\n\nexport const TUI_COUNTER_DEFAULT_OPTIONS: TuiCounterOptions = {\n appearance: 'primary',\n size: 'l',\n min: 0,\n max: Number.MAX_SAFE_INTEGER,\n step: 1,\n icons: {\n increase: '@tui.plus',\n decrease: '@tui.minus',\n },\n};\n\nexport const [TUI_COUNTER_OPTIONS, tuiCounterOptionsProvider] = tuiCreateOptions(\n TUI_COUNTER_DEFAULT_OPTIONS,\n);\n","import {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp, tuiSum} from '@taiga-ui/cdk/utils/math';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiInputNumberStepService} from '@taiga-ui/kit/components/input-number';\nimport {TuiFade} from '@taiga-ui/kit/directives/fade';\nimport {TuiFluidTypography} from '@taiga-ui/kit/directives/fluid-typography';\n\nimport {TUI_COUNTER_OPTIONS} from './counter.options';\n\n@Component({\n selector: 'tui-counter',\n imports: [TuiButton, TuiFade, TuiFluidTypography],\n templateUrl: './counter.template.html',\n styleUrl: './counter.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiInputNumberStepService, tuiFallbackValueProvider(0)],\n host: {\n '[attr.data-size]': 'size()',\n '[attr.data-appearance]': 'appearance()',\n },\n})\nexport class TuiCounter extends TuiControl<number> {\n protected readonly hold = inject(TuiInputNumberStepService<number>);\n protected readonly $ = this.hold.steps$.subscribe((value) => this.onStep(value));\n protected readonly options = inject(TUI_COUNTER_OPTIONS);\n protected readonly limit = computed(() => {\n switch (this.size()) {\n case 'l':\n return 1.25;\n case 'm':\n return 1;\n case 's':\n return 13 / 16;\n }\n });\n\n public readonly step = input(this.options.step);\n public readonly size = input(this.options.size);\n public readonly min = input(this.options.min);\n public readonly max = input(this.options.max);\n public readonly appearance = input(this.options.appearance);\n\n protected onStep(step: number): void {\n this.onChange(tuiClamp(tuiSum(this.value(), step), this.min(), this.max()));\n }\n}\n","<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() - step() < min()\"\n [iconStart]=\"options.icons.decrease\"\n [size]=\"size()\"\n (click)=\"onStep(-step())\"\n (pointerdown.prevent)=\"hold.next(-step())\"\n>\n -\n</button>\n<div\n tuiFade\n class=\"t-content\"\n [tuiFluidTypography]=\"[0.625, limit()]\"\n>\n {{ value() }}\n <ng-content />\n</div>\n<button\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance()\"\n [disabled]=\"value() + step() > max()\"\n [iconStart]=\"options.icons.increase\"\n [size]=\"size()\"\n (click)=\"onStep(step())\"\n (pointerdown.prevent)=\"hold.next(step())\"\n>\n +\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}