@taiga-ui/kit 4.52.0-canary.6c67ccf → 4.52.0-canary.91aeb4a

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 (317) hide show
  1. package/components/accordion/accordion.component.d.ts +13 -0
  2. package/components/accordion/accordion.d.ts +4 -4
  3. package/components/accordion/accordion.directive.d.ts +11 -10
  4. package/components/accordion/index.d.ts +1 -3
  5. package/components/action-bar/action-bar.component.d.ts +5 -7
  6. package/components/action-bar/index.d.ts +0 -2
  7. package/components/avatar/avatar-outline.directive.d.ts +3 -3
  8. package/components/avatar/avatar.directive.d.ts +15 -0
  9. package/components/avatar/avatar.options.d.ts +1 -4
  10. package/components/avatar/index.d.ts +1 -1
  11. package/components/badge/badge.directive.d.ts +2 -2
  12. package/components/block/block.directive.d.ts +4 -4
  13. package/components/block/block.options.d.ts +1 -1
  14. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  15. package/components/calendar-month/calendar-month.options.d.ts +1 -1
  16. package/components/calendar-range/calendar-range.component.d.ts +1 -2
  17. package/components/checkbox/checkbox.component.d.ts +7 -18
  18. package/components/checkbox/checkbox.options.d.ts +5 -9
  19. package/components/chip/chip.directive.d.ts +2 -4
  20. package/components/comment/comment.directive.d.ts +2 -2
  21. package/components/confirm/confirm.component.d.ts +2 -1
  22. package/components/confirm/confirm.service.d.ts +2 -1
  23. package/{directives → components}/copy/copy.component.d.ts +1 -1
  24. package/{directives → components}/copy/copy.directive.d.ts +2 -2
  25. package/{directives → components}/copy/copy.options.d.ts +2 -2
  26. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +2 -0
  27. package/components/files/file/file.options.d.ts +1 -1
  28. package/components/files/files/files.component.d.ts +2 -2
  29. package/components/floating-container/floating-container.directive.d.ts +2 -2
  30. package/components/fullscreen/fullscreen.component.d.ts +14 -0
  31. package/components/fullscreen/index.d.ts +1 -0
  32. package/components/index.d.ts +3 -2
  33. package/components/input-chip/input-chip.options.d.ts +1 -1
  34. package/components/input-color/input-color.component.d.ts +2 -2
  35. package/components/input-color/input-color.options.d.ts +1 -1
  36. package/components/input-date/input-date.options.d.ts +1 -1
  37. package/components/input-number/input-number.options.d.ts +1 -1
  38. package/components/input-number/quantum.directive.d.ts +1 -1
  39. package/components/input-number/step/input-number-step.component.d.ts +1 -1
  40. package/components/input-phone/input-phone.options.d.ts +1 -1
  41. package/components/input-phone-international/input-phone-international.component.d.ts +24 -30
  42. package/components/input-pin/input-pin.component.d.ts +1 -1
  43. package/components/input-range/input-range.component.d.ts +9 -12
  44. package/components/input-slider/input-slider.directive.d.ts +2 -4
  45. package/components/input-time/input-time.directive.d.ts +6 -8
  46. package/components/input-time/input-time.options.d.ts +1 -1
  47. package/components/like/like.component.d.ts +4 -11
  48. package/components/like/like.options.d.ts +3 -4
  49. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  50. package/components/line-clamp/line-clamp.component.d.ts +8 -10
  51. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +3 -3
  52. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  53. package/components/pager/pager.component.d.ts +1 -1
  54. package/components/pagination/pagination.component.d.ts +1 -1
  55. package/components/pin/pin.directive.d.ts +2 -2
  56. package/components/preview/pagination/preview-pagination.component.d.ts +1 -1
  57. package/components/preview/preview.component.d.ts +1 -1
  58. package/components/preview/zoom/preview-zoom.component.d.ts +1 -1
  59. package/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.d.ts +1 -2
  60. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +4 -4
  61. package/components/progress/progress-segmented/progress-segmented.directive.d.ts +2 -2
  62. package/components/push/push-alert.component.d.ts +4 -3
  63. package/components/push/push.component.d.ts +2 -2
  64. package/components/push/push.directive.d.ts +4 -6
  65. package/components/push/push.options.d.ts +4 -8
  66. package/components/push/push.service.d.ts +6 -2
  67. package/components/radio/radio.component.d.ts +7 -8
  68. package/components/radio/radio.directive.d.ts +2 -2
  69. package/components/radio/radio.options.d.ts +2 -5
  70. package/components/range/range-change.directive.d.ts +1 -2
  71. package/components/range/range.component.d.ts +16 -24
  72. package/components/rating/rating.component.d.ts +5 -5
  73. package/components/rating/rating.options.d.ts +5 -3
  74. package/components/segmented/segmented.component.d.ts +1 -3
  75. package/components/select/native-select/native-select.component.d.ts +4 -5
  76. package/components/slider/helpers/key-steps.d.ts +1 -2
  77. package/components/slider/helpers/slider-key-steps.directive.d.ts +12 -21
  78. package/components/slides/slides.directive.d.ts +4 -4
  79. package/components/status/status.directive.d.ts +2 -2
  80. package/components/switch/switch.component.d.ts +7 -19
  81. package/components/switch/switch.options.d.ts +4 -8
  82. package/components/tabs/tabs-with-more.component.d.ts +1 -1
  83. package/components/textarea/textarea-limit.directive.d.ts +4 -5
  84. package/components/textarea/textarea.options.d.ts +1 -1
  85. package/components/toast/index.d.ts +5 -0
  86. package/components/toast/toast.component.d.ts +18 -0
  87. package/components/toast/toast.d.ts +3 -0
  88. package/components/toast/toast.directive.d.ts +7 -0
  89. package/components/toast/toast.options.d.ts +9 -0
  90. package/components/toast/toast.service.d.ts +17 -0
  91. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +1 -1
  92. package/directives/button-close/button-close.directive.d.ts +2 -1
  93. package/directives/button-select/button-select.directive.d.ts +1 -2
  94. package/directives/chevron/chevron.directive.d.ts +2 -3
  95. package/directives/fade/fade.directive.d.ts +1 -0
  96. package/directives/fluid-typography/fluid-typography.directive.d.ts +3 -6
  97. package/directives/highlight/highlight.directive.d.ts +1 -3
  98. package/directives/index.d.ts +0 -1
  99. package/directives/password/password.options.d.ts +1 -1
  100. package/directives/sensitive/sensitive.directive.d.ts +2 -2
  101. package/directives/shimmer/shimmer.directive.d.ts +3 -3
  102. package/directives/skeleton/skeleton.directive.d.ts +3 -3
  103. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  104. package/directives/tooltip/tooltip.options.d.ts +1 -4
  105. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -144
  106. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +22 -38
  108. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-avatar.mjs +52 -70
  110. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-kit-components-badge.mjs +11 -18
  113. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-block.mjs +15 -22
  116. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -4
  118. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  120. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +3 -6
  122. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +4 -5
  124. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-carousel.mjs +2 -2
  126. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +18 -75
  128. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-chip.mjs +20 -25
  130. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +5 -5
  132. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-comment.mjs +11 -18
  134. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-kit-components-confirm.mjs +8 -9
  137. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  138. package/fesm2022/{taiga-ui-kit-directives-copy.mjs → taiga-ui-kit-components-copy.mjs} +11 -12
  139. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -0
  140. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +14 -6
  141. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-kit-components-drawer.mjs +2 -2
  143. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-kit-components-files.mjs +13 -12
  146. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-filter.mjs +1 -1
  148. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +11 -17
  150. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +63 -0
  152. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -0
  153. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +10 -5
  154. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-input-color.mjs +4 -6
  156. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +3 -4
  158. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +1 -2
  160. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-kit-components-input-date.mjs +6 -7
  162. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -3
  164. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +5 -6
  166. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components-input-month.mjs +5 -6
  168. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-components-input-number.mjs +10 -9
  170. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +103 -126
  172. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +3 -4
  174. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  175. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
  176. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  177. package/fesm2022/taiga-ui-kit-components-input-range.mjs +31 -27
  178. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +25 -39
  180. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-components-input-time.mjs +31 -36
  182. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  183. package/fesm2022/taiga-ui-kit-components-input-year.mjs +4 -5
  184. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +2 -2
  186. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-components-like.mjs +38 -31
  188. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +25 -64
  190. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components-message.mjs +6 -8
  192. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +19 -20
  194. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +3 -10
  196. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  197. package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
  198. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  199. package/fesm2022/taiga-ui-kit-components-pagination.mjs +5 -7
  200. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-components-pin.mjs +13 -17
  202. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  203. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +2 -2
  204. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  205. package/fesm2022/taiga-ui-kit-components-preview.mjs +13 -13
  206. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  207. package/fesm2022/taiga-ui-kit-components-progress.mjs +55 -55
  208. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  209. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  210. package/fesm2022/taiga-ui-kit-components-push.mjs +40 -47
  211. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  212. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  213. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  214. package/fesm2022/taiga-ui-kit-components-radio.mjs +30 -35
  215. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  216. package/fesm2022/taiga-ui-kit-components-range.mjs +35 -76
  217. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  218. package/fesm2022/taiga-ui-kit-components-rating.mjs +15 -19
  219. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  220. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  221. package/fesm2022/taiga-ui-kit-components-select.mjs +35 -39
  222. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  223. package/fesm2022/taiga-ui-kit-components-slider.mjs +57 -55
  224. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  225. package/fesm2022/taiga-ui-kit-components-slides.mjs +12 -20
  226. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
  227. package/fesm2022/taiga-ui-kit-components-status.mjs +10 -14
  228. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  229. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  230. package/fesm2022/taiga-ui-kit-components-switch.mjs +18 -64
  231. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  232. package/fesm2022/taiga-ui-kit-components-tabs.mjs +14 -17
  233. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  234. package/fesm2022/taiga-ui-kit-components-textarea.mjs +4 -11
  235. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  236. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-components-toast.mjs +165 -0
  238. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -0
  239. package/fesm2022/taiga-ui-kit-components-tree.mjs +6 -7
  240. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  241. package/fesm2022/taiga-ui-kit-components.mjs +3 -2
  242. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  243. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +13 -4
  244. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
  245. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -9
  246. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  247. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +2 -9
  248. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  249. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +11 -18
  250. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  251. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -12
  252. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  253. package/fesm2022/taiga-ui-kit-directives-fade.mjs +6 -9
  254. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  255. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +10 -17
  256. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  257. package/fesm2022/taiga-ui-kit-directives-password.mjs +5 -8
  258. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  259. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +11 -16
  260. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  261. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +22 -32
  262. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  263. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +25 -36
  264. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  265. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +13 -18
  266. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  267. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +2 -3
  268. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  269. package/fesm2022/taiga-ui-kit-directives.mjs +0 -1
  270. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  271. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +2 -1
  272. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  273. package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
  274. package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
  275. package/fesm2022/taiga-ui-kit-tokens.mjs +4 -7
  276. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  277. package/package.json +33 -36
  278. package/pipes/index.d.ts +0 -1
  279. package/styles/components/avatar.less +188 -0
  280. package/styles/components/badge.less +1 -0
  281. package/styles/components/checkbox.less +14 -12
  282. package/styles/components/chip.less +12 -3
  283. package/styles/components/like.less +4 -9
  284. package/styles/components/pin.less +3 -7
  285. package/styles/components/radio.less +1 -1
  286. package/styles/components/switch.less +9 -9
  287. package/styles/components/toast.less +44 -0
  288. package/tokens/i18n.d.ts +25 -26
  289. package/tokens/index.d.ts +0 -1
  290. package/tokens/input-date-options.d.ts +1 -1
  291. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  292. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  293. package/components/accordion/accordion-item.component.d.ts +0 -25
  294. package/components/action-bar/action-bar.d.ts +0 -3
  295. package/components/action-bar/action-bar.directive.d.ts +0 -6
  296. package/components/avatar/avatar.component.d.ts +0 -15
  297. package/components/input-password/index.d.ts +0 -2
  298. package/components/input-password/input-password.component.d.ts +0 -16
  299. package/components/input-password/input-password.options.d.ts +0 -24
  300. package/components/pdf-viewer/index.d.ts +0 -4
  301. package/components/pdf-viewer/pdf-viewer.component.d.ts +0 -12
  302. package/components/pdf-viewer/pdf-viewer.directive.d.ts +0 -7
  303. package/components/pdf-viewer/pdf-viewer.options.d.ts +0 -13
  304. package/components/pdf-viewer/pdf-viewer.service.d.ts +0 -13
  305. package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -95
  306. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
  307. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +0 -83
  308. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +0 -1
  309. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +0 -1
  310. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
  311. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
  312. package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
  313. package/pipes/field-error/field-error-pipe.d.ts +0 -29
  314. package/pipes/field-error/index.d.ts +0 -2
  315. package/tokens/validation-errors.d.ts +0 -5
  316. /package/{directives → components}/copy/copy.d.ts +0 -0
  317. /package/{directives → components}/copy/index.d.ts +0 -0
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@taiga-ui/core/components/textfield";
3
- /**
4
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
5
- */
6
- export declare class TuiInputPassword {
7
- private readonly options;
8
- private readonly texts;
9
- protected readonly el: HTMLInputElement;
10
- protected readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
11
- protected readonly hidden: import("@angular/core").WritableSignal<boolean>;
12
- protected readonly text: import("@angular/core").Signal<string>;
13
- protected readonly icon: import("@angular/core").Signal<string>;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPassword, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPassword, "input[tuiInputPassword]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
16
- }
@@ -1,24 +0,0 @@
1
- import { InjectionToken, type Provider } from '@angular/core';
2
- import { type TuiStringHandler } from '@taiga-ui/cdk/types';
3
- import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
4
- /**
5
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
6
- */
7
- export interface TuiInputPasswordOptions {
8
- readonly icons: Readonly<{
9
- hide: TuiStringHandler<TuiSizeL | TuiSizeS> | string;
10
- show: TuiStringHandler<TuiSizeL | TuiSizeS> | string;
11
- }>;
12
- }
13
- /**
14
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
15
- */
16
- export declare const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS: TuiInputPasswordOptions;
17
- /**
18
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
19
- */
20
- export declare const TUI_INPUT_PASSWORD_OPTIONS: InjectionToken<TuiInputPasswordOptions>;
21
- /**
22
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
23
- */
24
- export declare function tuiInputPasswordOptionsProvider(options: Partial<TuiInputPasswordOptions>): Provider;
@@ -1,4 +0,0 @@
1
- export * from './pdf-viewer.component';
2
- export * from './pdf-viewer.directive';
3
- export * from './pdf-viewer.options';
4
- export * from './pdf-viewer.service';
@@ -1,12 +0,0 @@
1
- import { type TuiPopover } from '@taiga-ui/cdk/services';
2
- import { type TuiPdfViewerOptions } from './pdf-viewer.options';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@taiga-ui/cdk/directives/animated";
5
- export declare class TuiPdfViewerComponent<I, O> {
6
- protected readonly closeWord$: import("rxjs").Observable<string>;
7
- protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
8
- protected readonly context: TuiPopover<TuiPdfViewerOptions<I>, O>;
9
- protected onKeyDownEsc(): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerComponent<any, any>, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiPdfViewerComponent<any, any>, "tui-pdf-viewer", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
12
- }
@@ -1,7 +0,0 @@
1
- import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
2
- import { type TuiPdfViewerOptions } from './pdf-viewer.options';
3
- import * as i0 from "@angular/core";
4
- export declare class TuiPdfViewerDirective<T> extends TuiPopoverDirective<TuiPdfViewerOptions<T>> {
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerDirective<any>, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPdfViewerDirective<any>, "ng-template[tuiPdfViewer]", never, { "options": { "alias": "tuiPdfViewerOptions"; "required": false; }; "open": { "alias": "tuiPdfViewer"; "required": false; }; }, { "openChange": "tuiPdfViewerChange"; }, never, never, true, never>;
7
- }
@@ -1,13 +0,0 @@
1
- import { InjectionToken, type Provider } from '@angular/core';
2
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
- export declare const TUI_PDF_VIEWER_DEFAULT_OPTIONS: TuiPdfViewerOptions;
4
- /**
5
- * Default parameters for PdfViewer component
6
- */
7
- export declare const TUI_PDF_VIEWER_OPTIONS: InjectionToken<TuiPdfViewerOptions<undefined>>;
8
- export declare function tuiPdfViewerOptionsProvider(options: Partial<TuiPdfViewerOptions>): Provider;
9
- export interface TuiPdfViewerOptions<I = undefined> {
10
- readonly actions: PolymorpheusContent<TuiPdfViewerOptions<I>>;
11
- readonly data: I;
12
- readonly label: string;
13
- }
@@ -1,13 +0,0 @@
1
- import { type SafeResourceUrl } from '@angular/platform-browser';
2
- import { type TuiPopoverContext, TuiPopoverService } from '@taiga-ui/cdk/services';
3
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
- import { type Observable } from 'rxjs';
5
- import { type TuiPdfViewerOptions } from './pdf-viewer.options';
6
- import * as i0 from "@angular/core";
7
- type Content<G> = PolymorpheusContent<TuiPdfViewerOptions<unknown> & TuiPopoverContext<G>>;
8
- export declare class TuiPdfViewerService extends TuiPopoverService<TuiPdfViewerOptions<unknown>> {
9
- open<G>(content: Content<G> | SafeResourceUrl, options?: Partial<TuiPdfViewerOptions<any>>): Observable<G>;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewerService, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiPdfViewerService>;
12
- }
13
- export {};
@@ -1,95 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
5
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
- import { tuiProvideOptions, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
7
- import { TuiIcon } from '@taiga-ui/core/components/icon';
8
- import * as i1 from '@taiga-ui/core/components/textfield';
9
- import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent, TuiWithTextfield } from '@taiga-ui/core/components/textfield';
10
- import { TuiTooltip } from '@taiga-ui/kit/directives';
11
- import { TUI_PASSWORD_TEXTS } from '@taiga-ui/kit/tokens';
12
-
13
- /**
14
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
15
- */
16
- const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS = {
17
- icons: {
18
- hide: '@tui.eye-off',
19
- show: '@tui.eye',
20
- },
21
- };
22
- /**
23
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
24
- */
25
- const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PASSWORD_OPTIONS' : '', {
26
- factory: () => TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,
27
- });
28
- /**
29
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
30
- */
31
- function tuiInputPasswordOptionsProvider(options) {
32
- return tuiProvideOptions(TUI_INPUT_PASSWORD_OPTIONS, options, TUI_INPUT_PASSWORD_DEFAULT_OPTIONS);
33
- }
34
-
35
- /**
36
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
37
- */
38
- class TuiInputPassword {
39
- constructor() {
40
- this.options = inject(TUI_INPUT_PASSWORD_OPTIONS);
41
- this.texts = toSignal(inject(TUI_PASSWORD_TEXTS), {
42
- initialValue: ['', ''],
43
- });
44
- this.el = tuiInjectElement();
45
- this.size = inject(TUI_TEXTFIELD_OPTIONS).size;
46
- this.hidden = signal(true);
47
- this.text = computed(() => this.hidden() ? this.texts()[0] : this.texts()[1]);
48
- this.icon = computed((size = this.size()) => {
49
- const icon = this.hidden() ? this.options.icons.show : this.options.icons.hide;
50
- return tuiIsString(icon) ? icon : icon(size);
51
- });
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiInputPassword, isStandalone: true, selector: "input[tuiInputPassword]", host: { attributes: { "ngSkipHydration": "true" }, properties: { "type": "hidden() ? \"password\" : \"text\"" } }, providers: [tuiFallbackValueProvider('')], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: `
55
- <tui-icon
56
- *tuiTextfieldContent
57
- [icon]="icon()"
58
- [style.border]="size() === 's' ? null : 'none'"
59
- [tuiTooltip]="text()"
60
- (click)="hidden.set(!hidden())"
61
- (mousedown.capture.prevent.stop)="el.focus()"
62
- />
63
- `, isInline: true, dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTooltip, selector: "tui-icon[tuiTooltip]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputPassword, decorators: [{
66
- type: Component,
67
- args: [{
68
- selector: 'input[tuiInputPassword]',
69
- imports: [TuiIcon, TuiTextfieldContent, TuiTooltip],
70
- template: `
71
- <tui-icon
72
- *tuiTextfieldContent
73
- [icon]="icon()"
74
- [style.border]="size() === 's' ? null : 'none'"
75
- [tuiTooltip]="text()"
76
- (click)="hidden.set(!hidden())"
77
- (mousedown.capture.prevent.stop)="el.focus()"
78
- />
79
- `,
80
- changeDetection: ChangeDetectionStrategy.OnPush,
81
- providers: [tuiFallbackValueProvider('')],
82
- hostDirectives: [TuiWithTextfield],
83
- host: {
84
- ngSkipHydration: 'true',
85
- '[type]': 'hidden() ? "password" : "text"',
86
- },
87
- }]
88
- }] });
89
-
90
- /**
91
- * Generated bundle index. Do not edit.
92
- */
93
-
94
- export { TUI_INPUT_PASSWORD_DEFAULT_OPTIONS, TUI_INPUT_PASSWORD_OPTIONS, TuiInputPassword, tuiInputPasswordOptionsProvider };
95
- //# sourceMappingURL=taiga-ui-kit-components-input-password.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-password.mjs","sources":["../../../projects/kit/components/input-password/input-password.options.ts","../../../projects/kit/components/input-password/input-password.component.ts","../../../projects/kit/components/input-password/taiga-ui-kit-components-input-password.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport interface TuiInputPasswordOptions {\n readonly icons: Readonly<{\n hide: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n show: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n }>;\n}\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS: TuiInputPasswordOptions = {\n icons: {\n hide: '@tui.eye-off',\n show: '@tui.eye',\n },\n};\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_PASSWORD_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport function tuiInputPasswordOptionsProvider(\n options: Partial<TuiInputPasswordOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PASSWORD_OPTIONS,\n options,\n TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldContent,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiTooltip} from '@taiga-ui/kit/directives';\nimport {TUI_PASSWORD_TEXTS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_INPUT_PASSWORD_OPTIONS} from './input-password.options';\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\n@Component({\n selector: 'input[tuiInputPassword]',\n imports: [TuiIcon, TuiTextfieldContent, TuiTooltip],\n template: `\n <tui-icon\n *tuiTextfieldContent\n [icon]=\"icon()\"\n [style.border]=\"size() === 's' ? null : 'none'\"\n [tuiTooltip]=\"text()\"\n (click)=\"hidden.set(!hidden())\"\n (mousedown.capture.prevent.stop)=\"el.focus()\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider('')],\n hostDirectives: [TuiWithTextfield],\n host: {\n ngSkipHydration: 'true',\n '[type]': 'hidden() ? \"password\" : \"text\"',\n },\n})\nexport class TuiInputPassword {\n private readonly options = inject(TUI_INPUT_PASSWORD_OPTIONS);\n private readonly texts = toSignal(inject(TUI_PASSWORD_TEXTS), {\n initialValue: ['', ''] as const,\n });\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly size = inject(TUI_TEXTFIELD_OPTIONS).size;\n protected readonly hidden = signal(true);\n protected readonly text = computed(() =>\n this.hidden() ? this.texts()[0] : this.texts()[1],\n );\n\n protected readonly icon = computed((size = this.size()) => {\n const icon = this.hidden() ? this.options.icons.show : this.options.icons.hide;\n\n return tuiIsString(icon) ? icon : icon(size);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { inject, ChangeDetectionStrategy, Component, InjectionToken, Injectable, Directive } from '@angular/core';
4
- import * as i1 from '@taiga-ui/cdk/directives/animated';
5
- import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
6
- import { TuiButton } from '@taiga-ui/core/components/button';
7
- import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
8
- import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
9
- import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
10
- import { TuiPopoverService, tuiAsPopover } from '@taiga-ui/cdk/services';
11
- import { TUI_DIALOGS } from '@taiga-ui/core/components/dialog';
12
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
13
-
14
- class TuiPdfViewerComponent {
15
- constructor() {
16
- this.closeWord$ = inject(TUI_CLOSE_WORD);
17
- this.icons = inject(TUI_COMMON_ICONS);
18
- this.context = injectContext();
19
- }
20
- onKeyDownEsc() {
21
- this.context.$implicit.complete();
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiPdfViewerComponent, isStandalone: true, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" } }, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <ng-container *polymorpheusOutlet=\"context.actions as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n appearance=\"\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ closeWord$ | async }}\n </button>\n</header>\n<section class=\"t-content\">\n <iframe\n *polymorpheusOutlet=\"context.content as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;inline-size:100%;block-size:100%;box-sizing:border-box;color:#fff;background:#333639;padding-block-start:env(safe-area-inset-top);padding-block-end:env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}.t-header{display:flex;align-items:center;block-size:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-inline-end:.3125rem;overflow:hidden}.t-actions{display:flex;margin-inline-start:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:.75rem;color:#fff;background:#ffffff52}.t-close:hover{background:#fff6}.t-content{block-size:calc(100% - 4rem);overflow:hidden}.t-iframe{inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'tui-pdf-viewer', imports: [AsyncPipe, PolymorpheusOutlet, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated], host: {
29
- '(document:keydown.esc)': 'onKeyDownEsc()',
30
- }, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <ng-container *polymorpheusOutlet=\"context.actions as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n appearance=\"\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ closeWord$ | async }}\n </button>\n</header>\n<section class=\"t-content\">\n <iframe\n *polymorpheusOutlet=\"context.content as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;inline-size:100%;block-size:100%;box-sizing:border-box;color:#fff;background:#333639;padding-block-start:env(safe-area-inset-top);padding-block-end:env(safe-area-inset-bottom)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}.t-header{display:flex;align-items:center;block-size:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-inline-end:.3125rem;overflow:hidden}.t-actions{display:flex;margin-inline-start:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:.75rem;color:#fff;background:#ffffff52}.t-close:hover{background:#fff6}.t-content{block-size:calc(100% - 4rem);overflow:hidden}.t-iframe{inline-size:100%;block-size:100%}\n"] }]
31
- }] });
32
-
33
- const TUI_PDF_VIEWER_DEFAULT_OPTIONS = {
34
- label: '',
35
- actions: '',
36
- data: undefined,
37
- };
38
- /**
39
- * Default parameters for PdfViewer component
40
- */
41
- const TUI_PDF_VIEWER_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_PDF_VIEWER_OPTIONS' : '', {
42
- factory: () => TUI_PDF_VIEWER_DEFAULT_OPTIONS,
43
- });
44
- function tuiPdfViewerOptionsProvider(options) {
45
- return tuiProvideOptions(TUI_PDF_VIEWER_OPTIONS, options, TUI_PDF_VIEWER_DEFAULT_OPTIONS);
46
- }
47
-
48
- class TuiPdfViewerService extends TuiPopoverService {
49
- open(content, options = {}) {
50
- return super.open(content, options);
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerService, providedIn: 'root', useFactory: () => new TuiPdfViewerService(TUI_DIALOGS, TuiPdfViewerComponent, inject(TUI_PDF_VIEWER_OPTIONS)) }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerService, decorators: [{
56
- type: Injectable,
57
- args: [{
58
- providedIn: 'root',
59
- useFactory: () => new TuiPdfViewerService(TUI_DIALOGS, TuiPdfViewerComponent, inject(TUI_PDF_VIEWER_OPTIONS)),
60
- }]
61
- }] });
62
-
63
- class TuiPdfViewerDirective extends TuiPopoverDirective {
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
65
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiPdfViewerDirective, isStandalone: true, selector: "ng-template[tuiPdfViewer]", inputs: { options: ["tuiPdfViewerOptions", "options"], open: ["tuiPdfViewer", "open"] }, outputs: { openChange: "tuiPdfViewerChange" }, providers: [tuiAsPopover(TuiPdfViewerService)], usesInheritance: true, ngImport: i0 }); }
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiPdfViewerDirective, decorators: [{
68
- type: Directive,
69
- args: [{
70
- standalone: true,
71
- selector: 'ng-template[tuiPdfViewer]',
72
- inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],
73
- outputs: ['openChange: tuiPdfViewerChange'],
74
- providers: [tuiAsPopover(TuiPdfViewerService)],
75
- }]
76
- }] });
77
-
78
- /**
79
- * Generated bundle index. Do not edit.
80
- */
81
-
82
- export { TUI_PDF_VIEWER_DEFAULT_OPTIONS, TUI_PDF_VIEWER_OPTIONS, TuiPdfViewerComponent, TuiPdfViewerDirective, TuiPdfViewerService, tuiPdfViewerOptionsProvider };
83
- //# sourceMappingURL=taiga-ui-kit-components-pdf-viewer.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pdf-viewer.mjs","sources":["../../../projects/kit/components/pdf-viewer/pdf-viewer.component.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.template.html","../../../projects/kit/components/pdf-viewer/pdf-viewer.options.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.service.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.directive.ts","../../../projects/kit/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.ts"],"sourcesContent":["import {AsyncPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {type TuiPdfViewerOptions} from './pdf-viewer.options';\n\n@Component({\n selector: 'tui-pdf-viewer',\n imports: [AsyncPipe, PolymorpheusOutlet, TuiButton],\n templateUrl: './pdf-viewer.template.html',\n styleUrls: ['./pdf-viewer.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n '(document:keydown.esc)': 'onKeyDownEsc()',\n },\n})\nexport class TuiPdfViewerComponent<I, O> {\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly context = injectContext<TuiPopover<TuiPdfViewerOptions<I>, O>>();\n\n protected onKeyDownEsc(): void {\n this.context.$implicit.complete();\n }\n}\n","<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <ng-container *polymorpheusOutlet=\"context.actions as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n appearance=\"\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ closeWord$ | async }}\n </button>\n</header>\n<section class=\"t-content\">\n <iframe\n *polymorpheusOutlet=\"context.content as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport const TUI_PDF_VIEWER_DEFAULT_OPTIONS: TuiPdfViewerOptions = {\n label: '',\n actions: '',\n data: undefined,\n};\n\n/**\n * Default parameters for PdfViewer component\n */\nexport const TUI_PDF_VIEWER_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_PDF_VIEWER_OPTIONS' : '',\n {\n factory: () => TUI_PDF_VIEWER_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiPdfViewerOptionsProvider(\n options: Partial<TuiPdfViewerOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_PDF_VIEWER_OPTIONS,\n options,\n TUI_PDF_VIEWER_DEFAULT_OPTIONS,\n );\n}\n\nexport interface TuiPdfViewerOptions<I = undefined> {\n readonly actions: PolymorpheusContent<TuiPdfViewerOptions<I>>;\n readonly data: I;\n readonly label: string;\n}\n","import {inject, Injectable} from '@angular/core';\nimport {type SafeResourceUrl} from '@angular/platform-browser';\nimport {type TuiPopoverContext, TuiPopoverService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/core/components/dialog';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TUI_PDF_VIEWER_OPTIONS, type TuiPdfViewerOptions} from './pdf-viewer.options';\n\ntype Content<G> = PolymorpheusContent<\n TuiPdfViewerOptions<unknown> & TuiPopoverContext<G>\n>;\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiPdfViewerService(\n TUI_DIALOGS,\n TuiPdfViewerComponent,\n inject(TUI_PDF_VIEWER_OPTIONS),\n ),\n})\nexport class TuiPdfViewerService extends TuiPopoverService<TuiPdfViewerOptions<unknown>> {\n public override open<G>(\n content: Content<G> | SafeResourceUrl,\n options: Partial<TuiPdfViewerOptions<any>> = {},\n ): Observable<G> {\n return super.open(content as Content<G>, options);\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport {type TuiPdfViewerOptions} from './pdf-viewer.options';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiPdfViewer]',\n inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],\n outputs: ['openChange: tuiPdfViewerChange'],\n providers: [tuiAsPopover(TuiPdfViewerService)],\n})\nexport class TuiPdfViewerDirective<T> extends TuiPopoverDirective<\n TuiPdfViewerOptions<T>\n> {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-copy.mjs","sources":["../../../projects/kit/directives/copy/copy.options.ts","../../../projects/kit/directives/copy/copy.component.ts","../../../projects/kit/directives/copy/copy.template.html","../../../projects/kit/directives/copy/copy.directive.ts","../../../projects/kit/directives/copy/copy.ts","../../../projects/kit/directives/copy/index.ts","../../../projects/kit/directives/copy/taiga-ui-kit-directives-copy.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCopyOptions {\n readonly icon: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n}\n\nexport const [TUI_COPY_OPTIONS, tuiCopyOptionsProvider] =\n tuiCreateOptions<TuiCopyOptions>({icon: '@tui.copy'});\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/directives/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 styleUrls: ['./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 = toSignal(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 @Input()\n public size: TuiSizeL = 'm';\n\n protected get icon(): string {\n return tuiIsString(this.options.icon)\n ? this.options.icon\n : this.options.icon(this.size);\n }\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=\"dark\"\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]=\"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 {DOCUMENT} from '@angular/common';\nimport {computed, Directive, inject, Input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding, tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiHintDirective} from '@taiga-ui/core/directives/hint';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\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 standalone: true,\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]': 'disabled ? \"none\" : null',\n '[style.opacity]': 'disabled ? \"var(--tui-disabled-opacity)\" : null',\n '[style.border-width.rem]': 'textfield.options.size() === \"l\" ? null : 0.25',\n },\n})\nexport class TuiCopyDirective {\n private readonly options = inject(TUI_COPY_OPTIONS);\n private readonly copied$ = new Subject<void>();\n private readonly doc = inject(DOCUMENT);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly hint = tuiDirectiveBinding(\n TuiHintDirective,\n 'tuiHint',\n toSignal(\n 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 readonly icons = tuiDirectiveBinding(\n TuiIcons,\n 'iconStart',\n computed((size = this.textfield.options.size()) =>\n tuiIsString(this.options.icon) ? this.options.icon : this.options.icon(size),\n ),\n );\n\n @Input()\n public tuiCopy = '';\n\n protected get disabled(): boolean {\n return !this.textfield.input?.nativeElement.value;\n }\n\n protected copy(): void {\n this.textfield.input?.nativeElement.select();\n this.doc.execCommand('copy');\n this.copied$.next();\n }\n}\n","import {TuiCopyComponent} from './copy.component';\nimport {TuiCopyDirective} from './copy.directive';\n\nexport const TuiCopy = [TuiCopyComponent, TuiCopyDirective] as const;\n","// TODO: Move to components in v5\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,147 +0,0 @@
1
- import { AsyncPipe } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { inject, Pipe, INJECTOR, Injector } from '@angular/core';
4
- import { __decorate } from 'tslib';
5
- import { NgControl, ControlContainer } from '@angular/forms';
6
- import { TuiValidationError } from '@taiga-ui/cdk/classes';
7
- import { tuiIsString, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
8
- import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
9
- import { map, of, Observable } from 'rxjs';
10
-
11
- const EMPTY_RECORD = {};
12
- function unwrapObservable(content, context) {
13
- return content.pipe(map((error) => new TuiValidationError(error || '', context)));
14
- }
15
- function defaultError(content, context) {
16
- return of(new TuiValidationError(content || '', context));
17
- }
18
- class TuiFieldErrorPipe {
19
- constructor() {
20
- this.order = [];
21
- this.parent = inject(NgControl, { skipSelf: true, optional: true });
22
- this.self = inject(NgControl, { self: true, optional: true });
23
- this.container = inject(ControlContainer, { optional: true });
24
- this.validationErrors = inject(TUI_VALIDATION_ERRORS);
25
- if (this.self && !this.self.valueAccessor) {
26
- this.self.valueAccessor = this;
27
- }
28
- }
29
- transform(order) {
30
- this.order = order;
31
- return this.computedError;
32
- }
33
- registerOnChange() { }
34
- registerOnTouched() { }
35
- setDisabledState() { }
36
- writeValue() { }
37
- get computedError() {
38
- return (this.invalid && this.touched && this.error) || of(null);
39
- }
40
- get error() {
41
- const { errorId } = this;
42
- if (!errorId) {
43
- return null;
44
- }
45
- const firstError = this.controlErrors[errorId];
46
- const errorContent = this.validationErrors[errorId];
47
- return this.getError(firstError, errorContent);
48
- }
49
- get invalid() {
50
- return !!this.control?.invalid;
51
- }
52
- get touched() {
53
- return !!this.control?.touched;
54
- }
55
- get control() {
56
- return this.self?.control || this.parent?.control || this.container?.control;
57
- }
58
- get errorId() {
59
- return this.getErrorId(this.order, this.controlErrors);
60
- }
61
- get controlErrors() {
62
- return this.control?.errors || EMPTY_RECORD;
63
- }
64
- getError(context, content) {
65
- if (context instanceof TuiValidationError) {
66
- return of(context);
67
- }
68
- if (content === undefined && tuiIsString(context)) {
69
- return of(new TuiValidationError(context));
70
- }
71
- if (content instanceof Observable) {
72
- return unwrapObservable(content, context);
73
- }
74
- if (content instanceof Function) {
75
- const message = content(context);
76
- return message instanceof Observable
77
- ? unwrapObservable(message, context)
78
- : defaultError(message, context);
79
- }
80
- return defaultError(content, context);
81
- }
82
- getErrorId(order, controlErrors) {
83
- const id = order?.find((errorId) => controlErrors[errorId]);
84
- const [fallback] = Object.keys(controlErrors);
85
- return id || fallback || '';
86
- }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFieldErrorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
88
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiFieldErrorPipe, isStandalone: true, name: "tuiFieldError", pure: false }); }
89
- }
90
- __decorate([
91
- tuiPure
92
- ], TuiFieldErrorPipe.prototype, "getError", null);
93
- __decorate([
94
- tuiPure
95
- ], TuiFieldErrorPipe.prototype, "getErrorId", null);
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFieldErrorPipe, decorators: [{
97
- type: Pipe,
98
- args: [{
99
- standalone: true,
100
- name: 'tuiFieldError',
101
- pure: false,
102
- }]
103
- }], ctorParameters: () => [], propDecorators: { getError: [], getErrorId: [] } });
104
-
105
- class TuiFieldErrorContentPipe {
106
- constructor() {
107
- this.injector = inject(INJECTOR);
108
- this.localInjector = Injector.create({
109
- providers: [{ provide: AsyncPipe }, { provide: TuiFieldErrorPipe }],
110
- parent: this.injector,
111
- });
112
- this.asyncPipe = this.localInjector.get(AsyncPipe);
113
- this.fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);
114
- }
115
- transform(order) {
116
- return this.getErrorContent(order);
117
- }
118
- ngOnDestroy() {
119
- this.asyncPipe.ngOnDestroy();
120
- }
121
- getErrorContent(order) {
122
- const error = this.asyncPipe.transform(this.fieldErrorPipe.transform(order));
123
- if (!error) {
124
- return '';
125
- }
126
- return typeof error.message === 'function'
127
- ? error.message(error.context)
128
- : error.message;
129
- }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFieldErrorContentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
131
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiFieldErrorContentPipe, isStandalone: true, name: "tuiFieldErrorContent", pure: false }); }
132
- }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiFieldErrorContentPipe, decorators: [{
134
- type: Pipe,
135
- args: [{
136
- standalone: true,
137
- name: 'tuiFieldErrorContent',
138
- pure: false,
139
- }]
140
- }] });
141
-
142
- /**
143
- * Generated bundle index. Do not edit.
144
- */
145
-
146
- export { TuiFieldErrorContentPipe, TuiFieldErrorPipe };
147
- //# sourceMappingURL=taiga-ui-kit-pipes-field-error.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-field-error.mjs","sources":["../../../projects/kit/pipes/field-error/field-error-pipe.ts","../../../projects/kit/pipes/field-error/field-error-content-pipe.ts","../../../projects/kit/pipes/field-error/taiga-ui-kit-pipes-field-error.ts"],"sourcesContent":["import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {\n type AbstractControl,\n ControlContainer,\n type ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {tuiIsString, tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {map, Observable, of} from 'rxjs';\n\nconst EMPTY_RECORD = {};\n\nfunction unwrapObservable(\n content: Observable<PolymorpheusContent>,\n context: any,\n): Observable<TuiValidationError> {\n return content.pipe(map((error) => new TuiValidationError(error || '', context)));\n}\n\nfunction defaultError(\n content: PolymorpheusContent,\n context: any,\n): Observable<TuiValidationError> {\n return of(new TuiValidationError(content || '', context));\n}\n\n@Pipe({\n standalone: true,\n name: 'tuiFieldError',\n pure: false,\n})\nexport class TuiFieldErrorPipe implements PipeTransform, ControlValueAccessor {\n private order: readonly string[] = [];\n private readonly parent = inject(NgControl, {skipSelf: true, optional: true});\n private readonly self = inject(NgControl, {self: true, optional: true});\n private readonly container = inject(ControlContainer, {optional: true});\n private readonly validationErrors = inject(TUI_VALIDATION_ERRORS);\n\n constructor() {\n if (this.self && !this.self.valueAccessor) {\n this.self.valueAccessor = this;\n }\n }\n\n public transform(order: readonly string[]): Observable<TuiValidationError | null> {\n this.order = order;\n\n return this.computedError;\n }\n\n public registerOnChange(): void {}\n\n public registerOnTouched(): void {}\n\n public setDisabledState(): void {}\n\n public writeValue(): void {}\n\n protected get computedError(): Observable<TuiValidationError | null> {\n return (this.invalid && this.touched && this.error) || of(null);\n }\n\n private get error(): Observable<TuiValidationError> | null {\n const {errorId} = this;\n\n if (!errorId) {\n return null;\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control?.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control?.touched;\n }\n\n private get control(): AbstractControl | null | undefined {\n return this.self?.control || this.parent?.control || this.container?.control;\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, unknown> {\n return this.control?.errors || EMPTY_RECORD;\n }\n\n @tuiPure\n private getError(\n context: any,\n content?: Observable<PolymorpheusContent> | PolymorpheusContent,\n ): Observable<TuiValidationError> {\n if (context instanceof TuiValidationError) {\n return of(context);\n }\n\n if (content === undefined && tuiIsString(context)) {\n return of(new TuiValidationError(context));\n }\n\n if (content instanceof Observable) {\n return unwrapObservable(content, context);\n }\n\n if (content instanceof Function) {\n const message = content(context) as\n | Observable<PolymorpheusContent>\n | PolymorpheusContent;\n\n return message instanceof Observable\n ? unwrapObservable(message, context)\n : defaultError(message, context);\n }\n\n return defaultError(content, context);\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, unknown>,\n ): string {\n const id = order?.find((errorId) => controlErrors[errorId]);\n const [fallback] = Object.keys(controlErrors);\n\n return id || fallback || '';\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n inject,\n INJECTOR,\n Injector,\n type OnDestroy,\n Pipe,\n type PipeTransform,\n} from '@angular/core';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@Pipe({\n standalone: true,\n name: 'tuiFieldErrorContent',\n pure: false,\n})\nexport class TuiFieldErrorContentPipe implements PipeTransform, OnDestroy {\n private readonly injector = inject(INJECTOR);\n private readonly localInjector = Injector.create({\n providers: [{provide: AsyncPipe}, {provide: TuiFieldErrorPipe}],\n parent: this.injector,\n });\n\n private readonly asyncPipe = this.localInjector.get(AsyncPipe);\n private readonly fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);\n\n public transform(order: readonly string[]): PolymorpheusContent {\n return this.getErrorContent(order);\n }\n\n public ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n private getErrorContent(order: readonly string[]): PolymorpheusContent {\n const error = this.asyncPipe.transform(this.fieldErrorPipe.transform(order));\n\n if (!error) {\n return '';\n }\n\n return typeof error.message === 'function'\n ? error.message(error.context)\n : error.message;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { type OnDestroy, type PipeTransform } from '@angular/core';
2
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
- import * as i0 from "@angular/core";
4
- export declare class TuiFieldErrorContentPipe implements PipeTransform, OnDestroy {
5
- private readonly injector;
6
- private readonly localInjector;
7
- private readonly asyncPipe;
8
- private readonly fieldErrorPipe;
9
- transform(order: readonly string[]): PolymorpheusContent;
10
- ngOnDestroy(): void;
11
- private getErrorContent;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiFieldErrorContentPipe, never>;
13
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiFieldErrorContentPipe, "tuiFieldErrorContent", true>;
14
- }
@@ -1,29 +0,0 @@
1
- import { type PipeTransform } from '@angular/core';
2
- import { type ControlValueAccessor } from '@angular/forms';
3
- import { TuiValidationError } from '@taiga-ui/cdk/classes';
4
- import { Observable } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export declare class TuiFieldErrorPipe implements PipeTransform, ControlValueAccessor {
7
- private order;
8
- private readonly parent;
9
- private readonly self;
10
- private readonly container;
11
- private readonly validationErrors;
12
- constructor();
13
- transform(order: readonly string[]): Observable<TuiValidationError | null>;
14
- registerOnChange(): void;
15
- registerOnTouched(): void;
16
- setDisabledState(): void;
17
- writeValue(): void;
18
- protected get computedError(): Observable<TuiValidationError | null>;
19
- private get error();
20
- private get invalid();
21
- private get touched();
22
- private get control();
23
- private get errorId();
24
- private get controlErrors();
25
- private getError;
26
- private getErrorId;
27
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiFieldErrorPipe, never>;
28
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiFieldErrorPipe, "tuiFieldError", true>;
29
- }
@@ -1,2 +0,0 @@
1
- export * from './field-error-content-pipe';
2
- export * from './field-error-pipe';
@@ -1,5 +0,0 @@
1
- import { InjectionToken, type Provider } from '@angular/core';
2
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
- import { type Observable } from 'rxjs';
4
- export declare const TUI_VALIDATION_ERRORS: InjectionToken<Record<string, PolymorpheusContent | Observable<PolymorpheusContent>>>;
5
- export declare const tuiValidationErrorsProvider: (useValue: Record<string, Observable<PolymorpheusContent> | PolymorpheusContent>) => Provider;
File without changes
File without changes