@taiga-ui/kit 2.51.0 → 2.53.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 (429) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-files.umd.js +2 -2
  18. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  30. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  34. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  38. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +7 -0
  42. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  44. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -0
  46. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  49. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  51. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  53. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  57. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
  61. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -1
  65. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  67. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-pagination.umd.js +3 -2
  69. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  71. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  73. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
  75. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-progress.umd.js +2 -0
  77. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  80. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  82. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  84. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-slider.umd.js +1 -1
  88. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  90. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-tabs.umd.js +7 -5
  92. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  94. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  96. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  99. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-tree.umd.js +2 -1
  103. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +2 -12
  107. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -9
  111. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  113. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-kit-providers.umd.js +6 -0
  115. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-utils-dom.umd.js +14 -0
  118. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-utils-dom.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-utils-files.umd.js +12 -0
  122. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-utils-format.umd.js +4 -0
  126. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-utils-format.umd.min.js +1 -1
  128. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-utils-mask.umd.js +6 -0
  130. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  132. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  134. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-utils-math.umd.min.js +1 -1
  136. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +10 -0
  138. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
  140. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  141. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  142. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  143. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  144. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  145. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  146. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  147. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  148. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  149. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  150. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  151. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  152. package/components/input-phone-international/utils/extract-value-from-event.d.ts +4 -0
  153. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  154. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  155. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  156. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  157. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  158. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  159. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  160. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  161. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  162. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  163. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  164. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  165. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  166. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  167. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  168. package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -1
  169. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
  170. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  171. package/esm2015/abstract/input-slider.js +2 -1
  172. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  173. package/esm2015/components/action/action.component.js +2 -2
  174. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  175. package/esm2015/components/files/file/file.component.js +2 -2
  176. package/esm2015/components/files/files.component.js +2 -2
  177. package/esm2015/components/input-file/file/file.component.js +2 -2
  178. package/esm2015/components/input-files/input-files.component.js +2 -2
  179. package/esm2015/components/input-month/input-month.component.js +2 -2
  180. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  181. package/esm2015/components/input-number/input-number.component.js +9 -3
  182. package/esm2015/components/input-phone/input-phone.providers.js +2 -1
  183. package/esm2015/components/input-phone-international/const/countries.js +2 -1
  184. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +6 -1
  185. package/esm2015/components/input-range/input-range.component.js +2 -2
  186. package/esm2015/components/input-slider/input-slider.component.js +2 -2
  187. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  188. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
  189. package/esm2015/components/multi-select/multi-select.component.js +1 -1
  190. package/esm2015/components/multi-select-option/multi-select-option.component.js +2 -2
  191. package/esm2015/components/pagination/pagination.component.js +5 -4
  192. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  193. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -1
  194. package/esm2015/components/range/range.component.js +2 -2
  195. package/esm2015/components/select-option/select-option.component.js +2 -2
  196. package/esm2015/components/slider/slider-old.component.js +2 -2
  197. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  198. package/esm2015/components/tabs/tab/tab.providers.js +2 -1
  199. package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
  200. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  201. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
  202. package/esm2015/components/tag/tag.component.js +1 -1
  203. package/esm2015/components/text-area/text-area.component.js +2 -2
  204. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -1
  205. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  206. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +4 -14
  207. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
  208. package/esm2015/providers/month-formatter.provider.js +5 -1
  209. package/esm2015/providers/specific-dropdown-controllers.js +3 -1
  210. package/esm2015/utils/dom/get-word-range.js +4 -1
  211. package/esm2015/utils/dom/scroll-to-element.js +6 -1
  212. package/esm2015/utils/dom/set-range-offset.js +4 -1
  213. package/esm2015/utils/files/format-size.js +6 -1
  214. package/esm2015/utils/files/get-accept-array.js +6 -1
  215. package/esm2015/utils/format/string-hash-to-hsl.js +4 -1
  216. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -1
  217. package/esm2015/utils/math/horizontal-direction-to-number.js +2 -2
  218. package/esm2015/utils/miscellaneous/get-precision.js +4 -1
  219. package/esm2015/utils/miscellaneous/is-flat.js +6 -1
  220. package/esm5/abstract/input-slider.js +2 -1
  221. package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
  222. package/esm5/components/action/action.component.js +2 -2
  223. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  224. package/esm5/components/files/file/file.component.js +2 -2
  225. package/esm5/components/files/files.component.js +2 -2
  226. package/esm5/components/input-file/file/file.component.js +2 -2
  227. package/esm5/components/input-files/input-files.component.js +2 -2
  228. package/esm5/components/input-month/input-month.component.js +2 -2
  229. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  230. package/esm5/components/input-number/input-number.component.js +9 -3
  231. package/esm5/components/input-phone/input-phone.providers.js +2 -1
  232. package/esm5/components/input-phone-international/const/countries.js +2 -1
  233. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +6 -1
  234. package/esm5/components/input-range/input-range.component.js +2 -2
  235. package/esm5/components/input-slider/input-slider.component.js +2 -2
  236. package/esm5/components/input-tag/input-tag.component.js +2 -2
  237. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
  238. package/esm5/components/multi-select/multi-select.component.js +1 -1
  239. package/esm5/components/multi-select-option/multi-select-option.component.js +2 -2
  240. package/esm5/components/pagination/pagination.component.js +5 -4
  241. package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
  242. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +3 -1
  243. package/esm5/components/range/range.component.js +2 -2
  244. package/esm5/components/select-option/select-option.component.js +2 -2
  245. package/esm5/components/slider/slider-old.component.js +2 -2
  246. package/esm5/components/tabs/tab/tab.component.js +1 -1
  247. package/esm5/components/tabs/tab/tab.providers.js +2 -1
  248. package/esm5/components/tabs/tabs/tabs.component.js +3 -3
  249. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  250. package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
  251. package/esm5/components/tag/tag.component.js +1 -1
  252. package/esm5/components/text-area/text-area.component.js +2 -2
  253. package/esm5/components/tree/components/tree-item/tree-item.providers.js +2 -1
  254. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  255. package/esm5/directives/dropdown-context/dropdown-context.directive.js +4 -14
  256. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
  257. package/esm5/providers/month-formatter.provider.js +5 -1
  258. package/esm5/providers/specific-dropdown-controllers.js +3 -1
  259. package/esm5/utils/dom/get-word-range.js +4 -1
  260. package/esm5/utils/dom/scroll-to-element.js +6 -1
  261. package/esm5/utils/dom/set-range-offset.js +4 -1
  262. package/esm5/utils/files/format-size.js +6 -1
  263. package/esm5/utils/files/get-accept-array.js +6 -1
  264. package/esm5/utils/format/string-hash-to-hsl.js +4 -1
  265. package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -1
  266. package/esm5/utils/math/horizontal-direction-to-number.js +2 -2
  267. package/esm5/utils/miscellaneous/get-precision.js +4 -1
  268. package/esm5/utils/miscellaneous/is-flat.js +6 -1
  269. package/fesm2015/taiga-ui-kit-abstract.js +1 -0
  270. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  271. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  272. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  273. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  274. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  275. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  276. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  277. package/fesm2015/taiga-ui-kit-components-files.js +2 -2
  278. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  279. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  280. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  281. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  282. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  283. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  284. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  285. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  286. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  287. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  288. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  289. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +7 -1
  290. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  291. package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -0
  292. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  293. package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
  294. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  295. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  296. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  297. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  298. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  299. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
  300. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  301. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -1
  302. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  303. package/fesm2015/taiga-ui-kit-components-pagination.js +4 -3
  304. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  305. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  306. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  307. package/fesm2015/taiga-ui-kit-components-progress.js +2 -0
  308. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  309. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  310. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  311. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  312. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  313. package/fesm2015/taiga-ui-kit-components-slider.js +1 -1
  314. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  315. package/fesm2015/taiga-ui-kit-components-tabs.js +7 -5
  316. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  317. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  318. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  319. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  320. package/fesm2015/taiga-ui-kit-components-tree.js +2 -1
  321. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  322. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +3 -13
  323. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  324. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +2 -10
  325. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-providers.js +6 -0
  327. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  328. package/fesm2015/taiga-ui-kit-utils-dom.js +12 -1
  329. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  330. package/fesm2015/taiga-ui-kit-utils-files.js +11 -1
  331. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  332. package/fesm2015/taiga-ui-kit-utils-format.js +4 -1
  333. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  334. package/fesm2015/taiga-ui-kit-utils-mask.js +6 -1
  335. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  336. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  337. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  338. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +9 -1
  339. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  340. package/fesm5/taiga-ui-kit-abstract.js +1 -0
  341. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  342. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  343. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  344. package/fesm5/taiga-ui-kit-components-action.js +1 -1
  345. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  346. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  347. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  348. package/fesm5/taiga-ui-kit-components-files.js +2 -2
  349. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  350. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  351. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  352. package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
  353. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  354. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  355. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  356. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  357. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  358. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  359. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  360. package/fesm5/taiga-ui-kit-components-input-phone-international.js +7 -1
  361. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  362. package/fesm5/taiga-ui-kit-components-input-phone.js +1 -0
  363. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  364. package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
  365. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  366. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  367. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  368. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  369. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  370. package/fesm5/taiga-ui-kit-components-multi-select-option.js +1 -1
  371. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  372. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -1
  373. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  374. package/fesm5/taiga-ui-kit-components-pagination.js +4 -3
  375. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  376. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
  377. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  378. package/fesm5/taiga-ui-kit-components-progress.js +2 -0
  379. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  380. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  381. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  382. package/fesm5/taiga-ui-kit-components-select-option.js +1 -1
  383. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  384. package/fesm5/taiga-ui-kit-components-slider.js +1 -1
  385. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  386. package/fesm5/taiga-ui-kit-components-tabs.js +7 -5
  387. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  388. package/fesm5/taiga-ui-kit-components-tag.js +1 -1
  389. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  390. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  391. package/fesm5/taiga-ui-kit-components-tree.js +2 -1
  392. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  393. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +3 -13
  394. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  395. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +2 -10
  396. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  397. package/fesm5/taiga-ui-kit-providers.js +6 -0
  398. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  399. package/fesm5/taiga-ui-kit-utils-dom.js +12 -1
  400. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  401. package/fesm5/taiga-ui-kit-utils-files.js +11 -1
  402. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  403. package/fesm5/taiga-ui-kit-utils-format.js +4 -1
  404. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  405. package/fesm5/taiga-ui-kit-utils-mask.js +6 -1
  406. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  407. package/fesm5/taiga-ui-kit-utils-math.js +2 -2
  408. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  409. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +9 -1
  410. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  411. package/package.json +4 -4
  412. package/providers/month-formatter.provider.d.ts +3 -0
  413. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  414. package/utils/dom/get-word-range.d.ts +2 -0
  415. package/utils/dom/scroll-to-element.d.ts +4 -0
  416. package/utils/dom/set-range-offset.d.ts +2 -0
  417. package/utils/dom/taiga-ui-kit-utils-dom.metadata.json +1 -1
  418. package/utils/files/format-size.d.ts +4 -0
  419. package/utils/files/get-accept-array.d.ts +4 -0
  420. package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
  421. package/utils/format/string-hash-to-hsl.d.ts +2 -0
  422. package/utils/format/taiga-ui-kit-utils-format.metadata.json +1 -1
  423. package/utils/mask/create-auto-corrected-date-pipe.d.ts +4 -0
  424. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  425. package/utils/math/horizontal-direction-to-number.d.ts +1 -1
  426. package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
  427. package/utils/miscellaneous/get-precision.d.ts +2 -0
  428. package/utils/miscellaneous/is-flat.d.ts +4 -0
  429. package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
@@ -1,7 +1,12 @@
1
+ /**
2
+ * @deprecated: use {@link tuiGetAcceptArray} instead
3
+ */
4
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1
5
  export function getAcceptArray(accept) {
2
6
  return accept
3
7
  .toLowerCase()
4
8
  .split(',')
5
9
  .map(function (format) { return format.trim(); });
6
10
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjY2VwdC1hcnJheS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvZmlsZXMvIiwic291cmNlcyI6WyJnZXQtYWNjZXB0LWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYztJQUN6QyxPQUFPLE1BQU07U0FDUixXQUFXLEVBQUU7U0FDYixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFiLENBQWEsQ0FBQyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0QWNjZXB0QXJyYXkoYWNjZXB0OiBzdHJpbmcpOiByZWFkb25seSBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGFjY2VwdFxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAubWFwKGZvcm1hdCA9PiBmb3JtYXQudHJpbSgpKTtcbn1cbiJdfQ==
11
+ export var tuiGetAcceptArray = getAcceptArray;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFjY2VwdC1hcnJheS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvZmlsZXMvIiwic291cmNlcyI6WyJnZXQtYWNjZXB0LWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBYztJQUN6QyxPQUFPLE1BQU07U0FDUixXQUFXLEVBQUU7U0FDYixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFiLENBQWEsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIHR1aUdldEFjY2VwdEFycmF5fSBpbnN0ZWFkXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY2NlcHRBcnJheShhY2NlcHQ6IHN0cmluZyk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gYWNjZXB0XG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoZm9ybWF0ID0+IGZvcm1hdC50cmltKCkpO1xufVxuXG5leHBvcnQgY29uc3QgdHVpR2V0QWNjZXB0QXJyYXkgPSBnZXRBY2NlcHRBcnJheTtcbiJdfQ==
@@ -1,9 +1,11 @@
1
1
  /**
2
+ * @deprecated: use {@link tuiStringHashToHsl} instead
2
3
  * Converts a string to an HSL color
3
4
  * @param value string to convert
4
5
  * @return HSL color string
5
6
  */
6
7
  // @bad TODO: convert stringHashToHsl to stringHashToRgb
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
9
  export function stringHashToHsl(value) {
8
10
  if (value === '') {
9
11
  return '';
@@ -18,4 +20,5 @@ export function stringHashToHsl(value) {
18
20
  var lightness = 80 + (hash % 5);
19
21
  return "hsl(" + hue + "," + saturation + "%," + lightness + "%)";
20
22
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWhhc2gtdG8taHNsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9mb3JtYXQvIiwic291cmNlcyI6WyJzdHJpbmctaGFzaC10by1oc2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQWE7SUFDekMsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ2QsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUViLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7S0FDdEI7SUFFRCxJQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLElBQU0sVUFBVSxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuQyxJQUFNLFNBQVMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFbEMsT0FBTyxTQUFPLEdBQUcsU0FBSSxVQUFVLFVBQUssU0FBUyxPQUFJLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYW4gSFNMIGNvbG9yXG4gKiBAcGFyYW0gdmFsdWUgc3RyaW5nIHRvIGNvbnZlcnRcbiAqIEByZXR1cm4gSFNMIGNvbG9yIHN0cmluZ1xuICovXG4vLyBAYmFkIFRPRE86IGNvbnZlcnQgc3RyaW5nSGFzaFRvSHNsIHRvIHN0cmluZ0hhc2hUb1JnYlxuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ0hhc2hUb0hzbCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBsZXQgaGFzaCA9IDA7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGhhc2ggPSB2YWx1ZS5jaGFyQ29kZUF0KGkpICsgKChoYXNoIDw8IDUpIC0gaGFzaCk7XG4gICAgICAgIGhhc2ggPSBoYXNoICYgaGFzaDtcbiAgICB9XG5cbiAgICBjb25zdCBodWUgPSBoYXNoICUgMzYwO1xuICAgIGNvbnN0IHNhdHVyYXRpb24gPSA2MCArIChoYXNoICUgNSk7XG4gICAgY29uc3QgbGlnaHRuZXNzID0gODAgKyAoaGFzaCAlIDUpO1xuXG4gICAgcmV0dXJuIGBoc2woJHtodWV9LCR7c2F0dXJhdGlvbn0lLCR7bGlnaHRuZXNzfSUpYDtcbn1cbiJdfQ==
23
+ export var tuiStringHashToHsl = stringHashToHsl;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWhhc2gtdG8taHNsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9mb3JtYXQvIiwic291cmNlcyI6WyJzdHJpbmctaGFzaC10by1oc2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCx3REFBd0Q7QUFDeEQsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUN6QyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUU7UUFDZCxPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRWIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkMsSUFBSSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztLQUN0QjtJQUVELElBQU0sR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDdkIsSUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLElBQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVsQyxPQUFPLFNBQU8sR0FBRyxTQUFJLFVBQVUsVUFBSyxTQUFTLE9BQUksQ0FBQztBQUN0RCxDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlTdHJpbmdIYXNoVG9Ic2x9IGluc3RlYWRcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGFuIEhTTCBjb2xvclxuICogQHBhcmFtIHZhbHVlIHN0cmluZyB0byBjb252ZXJ0XG4gKiBAcmV0dXJuIEhTTCBjb2xvciBzdHJpbmdcbiAqL1xuLy8gQGJhZCBUT0RPOiBjb252ZXJ0IHN0cmluZ0hhc2hUb0hzbCB0byBzdHJpbmdIYXNoVG9SZ2Jcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdIYXNoVG9Ic2wodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgbGV0IGhhc2ggPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBoYXNoID0gdmFsdWUuY2hhckNvZGVBdChpKSArICgoaGFzaCA8PCA1KSAtIGhhc2gpO1xuICAgICAgICBoYXNoID0gaGFzaCAmIGhhc2g7XG4gICAgfVxuXG4gICAgY29uc3QgaHVlID0gaGFzaCAlIDM2MDtcbiAgICBjb25zdCBzYXR1cmF0aW9uID0gNjAgKyAoaGFzaCAlIDUpO1xuICAgIGNvbnN0IGxpZ2h0bmVzcyA9IDgwICsgKGhhc2ggJSA1KTtcblxuICAgIHJldHVybiBgaHNsKCR7aHVlfSwke3NhdHVyYXRpb259JSwke2xpZ2h0bmVzc30lKWA7XG59XG5cbmV4cG9ydCBjb25zdCB0dWlTdHJpbmdIYXNoVG9Ic2wgPSBzdHJpbmdIYXNoVG9Ic2w7XG4iXX0=
@@ -1,4 +1,8 @@
1
1
  import { DATE_FILLER_LENGTH, TuiDay } from '@taiga-ui/cdk';
2
+ /**
3
+ * @deprecated: use {@link tuiNormalizeDateValue} instead
4
+ */
5
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2
6
  export function normalizeDateValue(dateValue, _a) {
3
7
  var value = _a.value, min = _a.min, max = _a.max, dateFormat = _a.dateFormat, dateSeparator = _a.dateSeparator;
4
8
  return value && value.toString(dateFormat, dateSeparator) === dateValue
@@ -17,4 +21,5 @@ export function tuiCreateAutoCorrectedDatePipe(config) {
17
21
  };
18
22
  };
19
23
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWRhdGUtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1hdXRvLWNvcnJlY3RlZC1kYXRlLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFlLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVN0RSxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLFNBQWlCLEVBQ2pCLEVBQTZFO1FBQTVFLGdCQUFLLEVBQUUsWUFBRyxFQUFFLFlBQUcsRUFBRSwwQkFBVSxFQUFFLGdDQUFhO0lBRTNDLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxLQUFLLFNBQVM7UUFDbkUsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO2FBQ3ZDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2FBQ2xCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FDMUMsTUFBdUM7SUFFdkMsT0FBTyxVQUFBLEtBQUs7UUFDUixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssa0JBQWtCLEVBQUU7WUFDckMsT0FBTyxFQUFDLEtBQUssT0FBQSxFQUFDLENBQUM7U0FDbEI7UUFFRCxPQUFPO1lBQ0gsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7U0FDM0MsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RBVEVfRklMTEVSX0xFTkdUSCwgVHVpRGF0ZU1vZGUsIFR1aURheX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVRleHRNYXNrUGlwZUhhbmRsZXIsIFR1aVdpdGhPcHRpb25hbE1pbk1heFdpdGhWYWx1ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUF1dG9Db3JyZWN0ZWREYXRlUGlwZUNvbmZpZ3NcbiAgICBleHRlbmRzIFR1aVdpdGhPcHRpb25hbE1pbk1heFdpdGhWYWx1ZTxUdWlEYXkgfCBudWxsLCBUdWlEYXk+IHtcbiAgICBkYXRlRm9ybWF0OiBUdWlEYXRlTW9kZTtcbiAgICBkYXRlU2VwYXJhdG9yOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVEYXRlVmFsdWUoXG4gICAgZGF0ZVZhbHVlOiBzdHJpbmcsXG4gICAge3ZhbHVlLCBtaW4sIG1heCwgZGF0ZUZvcm1hdCwgZGF0ZVNlcGFyYXRvcn06IFR1aUF1dG9Db3JyZWN0ZWREYXRlUGlwZUNvbmZpZ3MsXG4pOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS50b1N0cmluZyhkYXRlRm9ybWF0LCBkYXRlU2VwYXJhdG9yKSA9PT0gZGF0ZVZhbHVlXG4gICAgICAgID8gZGF0ZVZhbHVlXG4gICAgICAgIDogVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKGRhdGVWYWx1ZSwgZGF0ZUZvcm1hdClcbiAgICAgICAgICAgICAgLmRheUxpbWl0KG1pbiwgbWF4KVxuICAgICAgICAgICAgICAudG9TdHJpbmcoZGF0ZUZvcm1hdCwgZGF0ZVNlcGFyYXRvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUoXG4gICAgY29uZmlnOiBUdWlBdXRvQ29ycmVjdGVkRGF0ZVBpcGVDb25maWdzLFxuKTogVHVpVGV4dE1hc2tQaXBlSGFuZGxlciB7XG4gICAgcmV0dXJuIHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gREFURV9GSUxMRVJfTEVOR1RIKSB7XG4gICAgICAgICAgICByZXR1cm4ge3ZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2YWx1ZTogbm9ybWFsaXplRGF0ZVZhbHVlKHZhbHVlLCBjb25maWcpLFxuICAgICAgICB9O1xuICAgIH07XG59XG4iXX0=
24
+ export var tuiNormalizeDateValue = normalizeDateValue;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWF1dG8tY29ycmVjdGVkLWRhdGUtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1hdXRvLWNvcnJlY3RlZC1kYXRlLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFlLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVN0RTs7R0FFRztBQUNILGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLFNBQWlCLEVBQ2pCLEVBQTZFO1FBQTVFLGdCQUFLLEVBQUUsWUFBRyxFQUFFLFlBQUcsRUFBRSwwQkFBVSxFQUFFLGdDQUFhO0lBRTNDLE9BQU8sS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxLQUFLLFNBQVM7UUFDbkUsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO2FBQ3ZDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2FBQ2xCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FDMUMsTUFBdUM7SUFFdkMsT0FBTyxVQUFBLEtBQUs7UUFDUixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssa0JBQWtCLEVBQUU7WUFDckMsT0FBTyxFQUFDLEtBQUssT0FBQSxFQUFDLENBQUM7U0FDbEI7UUFFRCxPQUFPO1lBQ0gsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7U0FDM0MsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7REFURV9GSUxMRVJfTEVOR1RILCBUdWlEYXRlTW9kZSwgVHVpRGF5fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpVGV4dE1hc2tQaXBlSGFuZGxlciwgVHVpV2l0aE9wdGlvbmFsTWluTWF4V2l0aFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQXV0b0NvcnJlY3RlZERhdGVQaXBlQ29uZmlnc1xuICAgIGV4dGVuZHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4V2l0aFZhbHVlPFR1aURheSB8IG51bGwsIFR1aURheT4ge1xuICAgIGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlO1xuICAgIGRhdGVTZXBhcmF0b3I6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlOb3JtYWxpemVEYXRlVmFsdWV9IGluc3RlYWRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZURhdGVWYWx1ZShcbiAgICBkYXRlVmFsdWU6IHN0cmluZyxcbiAgICB7dmFsdWUsIG1pbiwgbWF4LCBkYXRlRm9ybWF0LCBkYXRlU2VwYXJhdG9yfTogVHVpQXV0b0NvcnJlY3RlZERhdGVQaXBlQ29uZmlncyxcbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlLnRvU3RyaW5nKGRhdGVGb3JtYXQsIGRhdGVTZXBhcmF0b3IpID09PSBkYXRlVmFsdWVcbiAgICAgICAgPyBkYXRlVmFsdWVcbiAgICAgICAgOiBUdWlEYXkubm9ybWFsaXplUGFyc2UoZGF0ZVZhbHVlLCBkYXRlRm9ybWF0KVxuICAgICAgICAgICAgICAuZGF5TGltaXQobWluLCBtYXgpXG4gICAgICAgICAgICAgIC50b1N0cmluZyhkYXRlRm9ybWF0LCBkYXRlU2VwYXJhdG9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZShcbiAgICBjb25maWc6IFR1aUF1dG9Db3JyZWN0ZWREYXRlUGlwZUNvbmZpZ3MsXG4pOiBUdWlUZXh0TWFza1BpcGVIYW5kbGVyIHtcbiAgICByZXR1cm4gdmFsdWUgPT4ge1xuICAgICAgICBpZiAodmFsdWUubGVuZ3RoICE9PSBEQVRFX0ZJTExFUl9MRU5HVEgpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBub3JtYWxpemVEYXRlVmFsdWUodmFsdWUsIGNvbmZpZyksXG4gICAgICAgIH07XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHR1aU5vcm1hbGl6ZURhdGVWYWx1ZSA9IG5vcm1hbGl6ZURhdGVWYWx1ZTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @internal
3
3
  */
4
- export function horizontalDirectionToNumber(direction) {
4
+ export function tuiHorizontalDirectionToNumber(direction) {
5
5
  switch (direction) {
6
6
  case 'left':
7
7
  return -1;
@@ -9,4 +9,4 @@ export function horizontalDirectionToNumber(direction) {
9
9
  return 1;
10
10
  }
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1kaXJlY3Rpb24tdG8tbnVtYmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9tYXRoLyIsInNvdXJjZXMiOlsiaG9yaXpvbnRhbC1kaXJlY3Rpb24tdG8tbnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUFDLFNBQWlDO0lBQ3pFLFFBQVEsU0FBUyxFQUFFO1FBQ2YsS0FBSyxNQUFNO1lBQ1AsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNkLEtBQUssT0FBTztZQUNSLE9BQU8sQ0FBQyxDQUFDO0tBQ2hCO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpSG9yaXpvbnRhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gaG9yaXpvbnRhbERpcmVjdGlvblRvTnVtYmVyKGRpcmVjdGlvbjogVHVpSG9yaXpvbnRhbERpcmVjdGlvbik6IC0xIHwgMSB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgIH1cbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1kaXJlY3Rpb24tdG8tbnVtYmVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9tYXRoLyIsInNvdXJjZXMiOlsiaG9yaXpvbnRhbC1kaXJlY3Rpb24tdG8tbnVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUMxQyxTQUFpQztJQUVqQyxRQUFRLFNBQVMsRUFBRTtRQUNmLEtBQUssTUFBTTtZQUNQLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDZCxLQUFLLE9BQU87WUFDUixPQUFPLENBQUMsQ0FBQztLQUNoQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUhvcml6b250YWxEaXJlY3Rpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUhvcml6b250YWxEaXJlY3Rpb25Ub051bWJlcihcbiAgICBkaXJlY3Rpb246IFR1aUhvcml6b250YWxEaXJlY3Rpb24sXG4pOiAtMSB8IDEge1xuICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICB9XG59XG4iXX0=
@@ -1,9 +1,12 @@
1
1
  import { __read } from "tslib";
2
2
  /**
3
+ * @deprecated: use {@link tuiGetPrecision} instead
3
4
  * @return fractional length
4
5
  */
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
5
7
  export function getPrecision(num) {
6
8
  var _a = __read(String(num).split('.'), 2), _b = _a[1], fractionPart = _b === void 0 ? '' : _b;
7
9
  return fractionPart.length;
8
10
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByZWNpc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWlzY2VsbGFuZW91cy8iLCJzb3VyY2VzIjpbImdldC1wcmVjaXNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQzlCLElBQUEsc0NBQThDLEVBQTNDLFVBQWlCLEVBQWpCLHNDQUEyQyxDQUFDO0lBRXJELE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcmV0dXJuIGZyYWN0aW9uYWwgbGVuZ3RoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmVjaXNpb24obnVtOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IFssIGZyYWN0aW9uUGFydCA9ICcnXSA9IFN0cmluZyhudW0pLnNwbGl0KCcuJyk7XG5cbiAgICByZXR1cm4gZnJhY3Rpb25QYXJ0Lmxlbmd0aDtcbn1cbiJdfQ==
11
+ export var tuiGetPrecision = getPrecision;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXByZWNpc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWlzY2VsbGFuZW91cy8iLCJzb3VyY2VzIjpbImdldC1wcmVjaXNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUNILGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVc7SUFDOUIsSUFBQSxzQ0FBOEMsRUFBM0MsVUFBaUIsRUFBakIsc0NBQTJDLENBQUM7SUFFckQsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlHZXRQcmVjaXNpb259IGluc3RlYWRcbiAqIEByZXR1cm4gZnJhY3Rpb25hbCBsZW5ndGhcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZWNpc2lvbihudW06IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgWywgZnJhY3Rpb25QYXJ0ID0gJyddID0gU3RyaW5nKG51bSkuc3BsaXQoJy4nKTtcblxuICAgIHJldHVybiBmcmFjdGlvblBhcnQubGVuZ3RoO1xufVxuXG5leHBvcnQgY29uc3QgdHVpR2V0UHJlY2lzaW9uID0gZ2V0UHJlY2lzaW9uO1xuIl19
@@ -1,4 +1,9 @@
1
+ /**
2
+ * @deprecated: use {@link tuiIsFlat} instead
3
+ */
4
+ // eslint-disable-next-line @typescript-eslint/naming-convention
1
5
  export function isFlat(items) {
2
6
  return !Array.isArray(items[0]);
3
7
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZmxhdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWlzY2VsbGFuZW91cy8iLCJzb3VyY2VzIjpbImlzLWZsYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsS0FBaUQ7SUFFakQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc0ZsYXQ8VD4oXG4gICAgaXRlbXM6IHJlYWRvbmx5IFRbXSB8IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVFtdPixcbik6IGl0ZW1zIGlzIHJlYWRvbmx5IFRbXSB7XG4gICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGl0ZW1zWzBdKTtcbn1cbiJdfQ==
8
+ export var tuiIsFlat = isFlat;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZmxhdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvbWlzY2VsbGFuZW91cy8iLCJzb3VyY2VzIjpbImlzLWZsYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsS0FBaUQ7SUFFakQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIHR1aUlzRmxhdH0gaW5zdGVhZFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gaXNGbGF0PFQ+KFxuICAgIGl0ZW1zOiByZWFkb25seSBUW10gfCBSZWFkb25seUFycmF5PHJlYWRvbmx5IFRbXT4sXG4pOiBpdGVtcyBpcyByZWFkb25seSBUW10ge1xuICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShpdGVtc1swXSk7XG59XG5cbmV4cG9ydCBjb25zdCB0dWlJc0ZsYXQgPSBpc0ZsYXQ7XG4iXX0=
@@ -8,6 +8,7 @@ import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
8
8
  import { Subject, race, Observable } from 'rxjs';
9
9
  import { map, switchMap, takeUntil } from 'rxjs/operators';
10
10
 
11
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11
12
  function quantumAssertion(quantum) {
12
13
  return quantum > 0;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-abstract.js","sources":["ng://@taiga-ui/kit/abstract/input-slider.ts","ng://@taiga-ui/kit/abstract/slider/slider.ts","ng://@taiga-ui/kit/abstract/taiga-ui-kit-abstract.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {AbstractTuiControl, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n * @deprecated TODO: 3.0 delete me after `InputSlider` and `InputRange` stop using it\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n /**\n * @deprecated This input-property will be deleted in next major update.\n * Use `valueContent` for `InputSlider`.\n * Use `leftValueContent` for `InputRange`.\n * ___\n * TODO remove in v3.0.\n * Dont forget to delete backward-compatibility helpers inside `InputSlider` and `InputRange`:\n *** {@link legacyMinMaxLabel}\n */\n @Input()\n @tuiDefaultProp()\n minLabel = '';\n\n /**\n * @deprecated This input-property will be deleted in next major update.\n * Use `valueContent` for `InputSlider`.\n * Use `rightValueContent` for `InputRange`.\n * ___\n * TODO remove in v3.0.\n * Dont forget to delete backward-compatibility helpers inside `InputSlider` and `InputRange`:\n *** {@link legacyMinMaxLabel}\n */\n @Input()\n @tuiDefaultProp()\n maxLabel = '';\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n /**\n * @deprecated This input-property will be deleted in next major update.\n * You can create ticks labels below this input by yourself. It is easy!\n * Mixin `tui-slider-ticks-labels` will help with it. See examples in demo page `InputSlider`.\n * ___\n * TODO remove in v3.0.\n * Dont forget to delete:\n *** {@link segmentsPluralizeMap}\n *** {@link getTickPrefix}\n *** TuiFormatNumberPipeModule\n *** TuiRepeatTimesModule\n */\n @Input()\n @tuiDefaultProp()\n set segmentsPluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.segmentsPluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n /**\n * @deprecated use `tuiTextfieldSize` instead\n * TODO delete in v3.0\n */\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'l';\n\n /**\n * @deprecated replace by input-property {@link pluralize} in v3.0\n */\n pluralizeMap: Record<string, string> | null = null;\n /** @deprecated TODO remove in v3.0 */\n segmentsPluralizeMap: Record<string, string> | null = null;\n /** @deprecated TODO remove in v3.0 */\n readonly pluralizeMapFallback = {\n one: '',\n few: '',\n many: '',\n other: '',\n };\n\n /** @deprecated TODO remove in v3.0 */\n @tuiPure\n getTickPrefix(segment: number, segments: number, texts: [string, string]): string {\n if (segments !== 1) {\n return '';\n }\n\n return segment === 0 ? `${texts[0]}` : `${texts[1]}`;\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedSteps(): number {\n return this.steps || this.length / this.quantum;\n }\n\n get step(): number {\n return this.length / this.computedSteps;\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return [[0, min], ...(keySteps || []), [100, max]];\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n clamp,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n setNativeFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n TuiEventWith,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeS,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable, race, Subject} from 'rxjs';\nimport {map, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const SLIDER_KEYBOARD_STEP = 0.05;\nexport const DOT_WIDTH: {[key: string]: number} = {\n s: 8,\n m: 16,\n};\n\n/**\n * @awful TODO: 3.0 remove\n * @internal\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n // @bad TODO: handle pointer events instead of mouse and touch events\n private readonly pointerDown$ = new Subject<\n TuiEventWith<MouseEvent | TouchEvent, HTMLElement>\n >();\n\n @ViewChild('dotLeft', {read: ElementRef})\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight', {read: ElementRef})\n protected dotRight?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n focusVisibleLeft = false;\n\n focusVisibleRight = false;\n\n pluralizeMap: Record<string, string> | null = null;\n\n protected constructor(\n ngControl: NgControl | null,\n changeDetectorRef: ChangeDetectorRef,\n private readonly documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS)\n readonly fromToTexts$: Observable<[string, string]>,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get discrete(): boolean {\n return this.steps > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / this.length : SLIDER_KEYBOARD_STEP;\n }\n\n get isLeftFocusable(): boolean {\n return !this.disabled && this.focusable && this.right !== 100;\n }\n\n get isRightFocusable(): boolean {\n return !this.disabled && this.focusable && this.left !== 100;\n }\n\n abstract get left(): number;\n abstract get right(): number;\n abstract processValue(value: number, right?: boolean): void;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n const mouseMoves$ = typedFromEvent(this.documentRef, 'mousemove');\n const mouseUps$ = typedFromEvent(this.documentRef, 'mouseup');\n const touchMoves$ = typedFromEvent(this.documentRef, 'touchmove');\n const touchEnds$ = typedFromEvent(this.documentRef, 'touchend');\n let isPointerDownRight: boolean;\n\n this.pointerDown$\n .pipe(\n map((event: MouseEvent | TouchEvent) => {\n tuiAssertIsHTMLElement(event.currentTarget);\n\n const rect = event.currentTarget.getBoundingClientRect();\n const clientX =\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX;\n const fraction = clamp(\n this.getFractionFromEvents(rect, clientX),\n 0,\n 1,\n );\n const deltaLeft = fraction * 100 - this.left;\n const deltaRight = fraction * 100 - 100 + this.right;\n\n isPointerDownRight =\n Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.left === 0 && this.right === 100);\n\n const calibratedFraction = clamp(\n this.getCalibratedFractionFromEvents(\n rect,\n clientX,\n isPointerDownRight,\n ),\n 0,\n 1,\n );\n const value = this.getValueFromFraction(\n this.fractionGuard(calibratedFraction),\n );\n\n this.processValue(value, isPointerDownRight);\n this.processFocus(isPointerDownRight);\n\n return rect;\n }),\n switchMap(rect =>\n race([touchMoves$, mouseMoves$]).pipe(\n map(event =>\n this.getCalibratedFractionFromEvents(\n rect,\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX,\n isPointerDownRight,\n ),\n ),\n takeUntil(race([mouseUps$, touchEnds$])),\n ),\n ),\n map(fraction => this.fractionGuard(fraction)),\n )\n .subscribe(fraction => {\n this.processValue(\n this.getValueFromFraction(fraction),\n isPointerDownRight,\n );\n });\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event as TuiEventWith<MouseEvent, HTMLElement>);\n }\n\n onTouchStart(event: TouchEvent): void {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event as TuiEventWith<TouchEvent, HTMLElement>);\n }\n\n getSegmentLabel(segment: number): number {\n return round(this.getValueFromFraction(segment / this.segments), 2);\n }\n\n getSegmentPrefix(segment: number, texts: [string, string]): string {\n if (this.segments !== 1) {\n return '';\n }\n\n if (segment === 0) {\n return `${texts[0]} `;\n }\n\n return `${texts[1]} `;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean): void {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean): void {\n this.focusVisibleRight = focusVisible;\n }\n\n getValueFromFraction(fraction: number): number {\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(fraction, true)\n : round(\n this.fractionGuard(fraction) * this.length + this.min,\n TUI_FLOATING_PRECISION,\n );\n }\n\n fractionGuard(fraction: number): number {\n return this.discrete\n ? clamp(quantize(fraction, 1 / this.steps), 0, 1)\n : clamp(fraction, 0, 1);\n }\n\n protected getFractionFromValue(value: number): number {\n const fraction = (value - this.min) / this.length;\n\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(value, false)\n : clamp(Number.isFinite(fraction) ? fraction : 1, 0, 1);\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n _: boolean,\n ): number {\n return this.getFractionFromEvents(rect, clientX);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n private processFocus(right: boolean): void {\n if (!this.focusable || !this.dotRight || !this.dotLeft) {\n return;\n }\n\n if (right) {\n setNativeFocused(this.dotRight.nativeElement);\n } else {\n setNativeFocused(this.dotLeft.nativeElement);\n }\n }\n\n /**\n * Function for converting the fullness of the slider to a value and vice versa\n * taking into account the steps of linear dependence.\n *\n * @param value passed value\n * @param isFraction translation is carried out from fullness to value\n */\n private fractionValueKeyStepConverter(value: number, isFraction: boolean): number {\n const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [\n [100, this.max],\n ]);\n\n let prevFraction = 0;\n let nextFraction = 100;\n let prevValue = this.min;\n let nextValue = this.max;\n\n for (let i = 1; i < steps.length; i++) {\n if (\n (isFraction && steps[i][0] / 100 > value) ||\n (!isFraction && steps[i][1] > value)\n ) {\n prevFraction = steps[i - 1][0] || 0;\n nextFraction = steps[i][0];\n prevValue = steps[i - 1][1];\n nextValue = steps[i][1];\n break;\n }\n }\n\n const deltaFraction = nextFraction - prevFraction;\n const deltaValue = nextValue - prevValue;\n\n return isFraction\n ? round(\n ((value * 100 - prevFraction) / deltaFraction) * deltaValue + prevValue,\n TUI_FLOATING_PRECISION,\n )\n : clamp(\n ((value - prevValue) / deltaValue) * deltaFraction + prevFraction,\n 0,\n 100,\n ) / 100;\n }\n\n private getFractionFromEvents(rect: ClientRect, clientX: number): number {\n const value = clientX - rect.left - DOT_WIDTH[this.size] / 2;\n const total = rect.width - DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n}\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-abstract.js","sources":["ng://@taiga-ui/kit/abstract/input-slider.ts","ng://@taiga-ui/kit/abstract/slider/slider.ts","ng://@taiga-ui/kit/abstract/taiga-ui-kit-abstract.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {AbstractTuiControl, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n * @deprecated TODO: 3.0 delete me after `InputSlider` and `InputRange` stop using it\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n /**\n * @deprecated This input-property will be deleted in next major update.\n * Use `valueContent` for `InputSlider`.\n * Use `leftValueContent` for `InputRange`.\n * ___\n * TODO remove in v3.0.\n * Dont forget to delete backward-compatibility helpers inside `InputSlider` and `InputRange`:\n *** {@link legacyMinMaxLabel}\n */\n @Input()\n @tuiDefaultProp()\n minLabel = '';\n\n /**\n * @deprecated This input-property will be deleted in next major update.\n * Use `valueContent` for `InputSlider`.\n * Use `rightValueContent` for `InputRange`.\n * ___\n * TODO remove in v3.0.\n * Dont forget to delete backward-compatibility helpers inside `InputSlider` and `InputRange`:\n *** {@link legacyMinMaxLabel}\n */\n @Input()\n @tuiDefaultProp()\n maxLabel = '';\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n /**\n * @deprecated This input-property will be deleted in next major update.\n * You can create ticks labels below this input by yourself. It is easy!\n * Mixin `tui-slider-ticks-labels` will help with it. See examples in demo page `InputSlider`.\n * ___\n * TODO remove in v3.0.\n * Dont forget to delete:\n *** {@link segmentsPluralizeMap}\n *** {@link getTickPrefix}\n *** TuiFormatNumberPipeModule\n *** TuiRepeatTimesModule\n */\n @Input()\n @tuiDefaultProp()\n set segmentsPluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.segmentsPluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n /**\n * @deprecated use `tuiTextfieldSize` instead\n * TODO delete in v3.0\n */\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'l';\n\n /**\n * @deprecated replace by input-property {@link pluralize} in v3.0\n */\n pluralizeMap: Record<string, string> | null = null;\n /** @deprecated TODO remove in v3.0 */\n segmentsPluralizeMap: Record<string, string> | null = null;\n /** @deprecated TODO remove in v3.0 */\n readonly pluralizeMapFallback = {\n one: '',\n few: '',\n many: '',\n other: '',\n };\n\n /** @deprecated TODO remove in v3.0 */\n @tuiPure\n getTickPrefix(segment: number, segments: number, texts: [string, string]): string {\n if (segments !== 1) {\n return '';\n }\n\n return segment === 0 ? `${texts[0]}` : `${texts[1]}`;\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedSteps(): number {\n return this.steps || this.length / this.quantum;\n }\n\n get step(): number {\n return this.length / this.computedSteps;\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return [[0, min], ...(keySteps || []), [100, max]];\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n clamp,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n setNativeFocused,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n TuiEventWith,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeS,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable, race, Subject} from 'rxjs';\nimport {map, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const SLIDER_KEYBOARD_STEP = 0.05;\nexport const DOT_WIDTH: {[key: string]: number} = {\n s: 8,\n m: 16,\n};\n\n/**\n * @awful TODO: 3.0 remove\n * @internal\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n // @bad TODO: handle pointer events instead of mouse and touch events\n private readonly pointerDown$ = new Subject<\n TuiEventWith<MouseEvent | TouchEvent, HTMLElement>\n >();\n\n @ViewChild('dotLeft', {read: ElementRef})\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight', {read: ElementRef})\n protected dotRight?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n focusVisibleLeft = false;\n\n focusVisibleRight = false;\n\n pluralizeMap: Record<string, string> | null = null;\n\n protected constructor(\n ngControl: NgControl | null,\n changeDetectorRef: ChangeDetectorRef,\n private readonly documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS)\n readonly fromToTexts$: Observable<[string, string]>,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get discrete(): boolean {\n return this.steps > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / this.length : SLIDER_KEYBOARD_STEP;\n }\n\n get isLeftFocusable(): boolean {\n return !this.disabled && this.focusable && this.right !== 100;\n }\n\n get isRightFocusable(): boolean {\n return !this.disabled && this.focusable && this.left !== 100;\n }\n\n abstract get left(): number;\n abstract get right(): number;\n abstract processValue(value: number, right?: boolean): void;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n const mouseMoves$ = typedFromEvent(this.documentRef, 'mousemove');\n const mouseUps$ = typedFromEvent(this.documentRef, 'mouseup');\n const touchMoves$ = typedFromEvent(this.documentRef, 'touchmove');\n const touchEnds$ = typedFromEvent(this.documentRef, 'touchend');\n let isPointerDownRight: boolean;\n\n this.pointerDown$\n .pipe(\n map((event: MouseEvent | TouchEvent) => {\n tuiAssertIsHTMLElement(event.currentTarget);\n\n const rect = event.currentTarget.getBoundingClientRect();\n const clientX =\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX;\n const fraction = clamp(\n this.getFractionFromEvents(rect, clientX),\n 0,\n 1,\n );\n const deltaLeft = fraction * 100 - this.left;\n const deltaRight = fraction * 100 - 100 + this.right;\n\n isPointerDownRight =\n Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.left === 0 && this.right === 100);\n\n const calibratedFraction = clamp(\n this.getCalibratedFractionFromEvents(\n rect,\n clientX,\n isPointerDownRight,\n ),\n 0,\n 1,\n );\n const value = this.getValueFromFraction(\n this.fractionGuard(calibratedFraction),\n );\n\n this.processValue(value, isPointerDownRight);\n this.processFocus(isPointerDownRight);\n\n return rect;\n }),\n switchMap(rect =>\n race([touchMoves$, mouseMoves$]).pipe(\n map(event =>\n this.getCalibratedFractionFromEvents(\n rect,\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX,\n isPointerDownRight,\n ),\n ),\n takeUntil(race([mouseUps$, touchEnds$])),\n ),\n ),\n map(fraction => this.fractionGuard(fraction)),\n )\n .subscribe(fraction => {\n this.processValue(\n this.getValueFromFraction(fraction),\n isPointerDownRight,\n );\n });\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event as TuiEventWith<MouseEvent, HTMLElement>);\n }\n\n onTouchStart(event: TouchEvent): void {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event as TuiEventWith<TouchEvent, HTMLElement>);\n }\n\n getSegmentLabel(segment: number): number {\n return round(this.getValueFromFraction(segment / this.segments), 2);\n }\n\n getSegmentPrefix(segment: number, texts: [string, string]): string {\n if (this.segments !== 1) {\n return '';\n }\n\n if (segment === 0) {\n return `${texts[0]} `;\n }\n\n return `${texts[1]} `;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean): void {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean): void {\n this.focusVisibleRight = focusVisible;\n }\n\n getValueFromFraction(fraction: number): number {\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(fraction, true)\n : round(\n this.fractionGuard(fraction) * this.length + this.min,\n TUI_FLOATING_PRECISION,\n );\n }\n\n fractionGuard(fraction: number): number {\n return this.discrete\n ? clamp(quantize(fraction, 1 / this.steps), 0, 1)\n : clamp(fraction, 0, 1);\n }\n\n protected getFractionFromValue(value: number): number {\n const fraction = (value - this.min) / this.length;\n\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(value, false)\n : clamp(Number.isFinite(fraction) ? fraction : 1, 0, 1);\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n _: boolean,\n ): number {\n return this.getFractionFromEvents(rect, clientX);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n private processFocus(right: boolean): void {\n if (!this.focusable || !this.dotRight || !this.dotLeft) {\n return;\n }\n\n if (right) {\n setNativeFocused(this.dotRight.nativeElement);\n } else {\n setNativeFocused(this.dotLeft.nativeElement);\n }\n }\n\n /**\n * Function for converting the fullness of the slider to a value and vice versa\n * taking into account the steps of linear dependence.\n *\n * @param value passed value\n * @param isFraction translation is carried out from fullness to value\n */\n private fractionValueKeyStepConverter(value: number, isFraction: boolean): number {\n const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [\n [100, this.max],\n ]);\n\n let prevFraction = 0;\n let nextFraction = 100;\n let prevValue = this.min;\n let nextValue = this.max;\n\n for (let i = 1; i < steps.length; i++) {\n if (\n (isFraction && steps[i][0] / 100 > value) ||\n (!isFraction && steps[i][1] > value)\n ) {\n prevFraction = steps[i - 1][0] || 0;\n nextFraction = steps[i][0];\n prevValue = steps[i - 1][1];\n nextValue = steps[i][1];\n break;\n }\n }\n\n const deltaFraction = nextFraction - prevFraction;\n const deltaValue = nextValue - prevValue;\n\n return isFraction\n ? round(\n ((value * 100 - prevFraction) / deltaFraction) * deltaValue + prevValue,\n TUI_FLOATING_PRECISION,\n )\n : clamp(\n ((value - prevValue) / deltaValue) * deltaFraction + prevFraction,\n 0,\n 100,\n ) / 100;\n }\n\n private getFractionFromEvents(rect: ClientRect, clientX: number): number {\n const value = clientX - rect.left - DOT_WIDTH[this.size] / 2;\n const total = rect.width - DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -155,7 +155,7 @@ __decorate([
155
155
  TuiAccordionItemComponent = TuiAccordionItemComponent_1 = __decorate([
156
156
  Component({
157
157
  selector: 'tui-accordion-item',
158
- template: "<div\n #focusableElement\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.space)=\"onItemKeyDownSpace($event)\"\n (keydown.enter)=\"onItemKeyDownSpace($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n>\n <div\n automation-id=\"tui-accordion__item-header\"\n class=\"header\"\n [class.header_open]=\"open\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (click)=\"onRowToggle()\"\n >\n <div\n automation-id=\"tui-accordion__item-title\"\n class=\"title\"\n >\n <ng-content></ng-content>\n </div>\n <tui-svg\n *ngIf=\"showArrow\"\n automation-id=\"tui-accordion__item-arrow\"\n src=\"tuiIconChevronDownLarge\"\n class=\"icon\"\n [class.icon_open]=\"open\"\n ></tui-svg>\n </div>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <div\n *ngIf=\"eagerContent\"\n class=\"content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n polymorpheus-outlet\n automation-id=\"tui-accordion__item-content\"\n class=\"content\"\n [content]=\"lazyContent\"\n ></div>\n </ng-template>\n </tui-expand>\n</div>\n",
158
+ template: "<div\n #focusableElement\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.space)=\"onItemKeyDownSpace($event)\"\n (keydown.enter)=\"onItemKeyDownSpace($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n>\n <div\n automation-id=\"tui-accordion__item-header\"\n class=\"t-header\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (click)=\"onRowToggle()\"\n >\n <div\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </div>\n <tui-svg\n *ngIf=\"showArrow\"\n automation-id=\"tui-accordion__item-arrow\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n ></tui-svg>\n </div>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n polymorpheus-outlet\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n [content]=\"lazyContent\"\n ></div>\n </ng-template>\n </tui-expand>\n</div>\n",
159
159
  changeDetection: ChangeDetectionStrategy.OnPush,
160
160
  providers: [
161
161
  {
@@ -167,7 +167,7 @@ TuiAccordionItemComponent = TuiAccordionItemComponent_1 = __decorate([
167
167
  host: {
168
168
  '($.data-mode.attr)': 'mode$',
169
169
  },
170
- styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.wrapper{position:relative;border-radius:inherit}.wrapper:focus{outline:0}.wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .wrapper:after{border-width:0}:host[data-tui-host-borders=all] .wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .wrapper{background:var(--tui-base-01)}.header{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .header{border-bottom-width:0;box-shadow:none}:host._has-arrow .header{padding-right:.75rem}:host:hover:not([data-mode]) .header{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .header,:host[data-mode=onDark] .header_open{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .header,:host[data-mode=onLight] .header_open{background:var(--tui-clear)}:host[data-size='s'] .header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .header{padding-left:0;padding-right:0}:host._disabled .header{cursor:default}.title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .title{margin-right:.5rem}.icon{transition-property:transform,color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.icon_open{transform:rotate(180deg)}:host[data-mode] .icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .icon{opacity:.8}:host[data-mode=onDark] .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .icon{color:var(--tui-base-07)}.content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size='s'] .content{font:var(--tui-font-text-s);padding:1rem}"]
170
+ styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:focus{outline:0}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .t-wrapper:after{border-width:0}:host[data-tui-host-borders=all] .t-wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size='s'] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size='s'] .t-content{font:var(--tui-font-text-s);padding:1rem}"]
171
171
  }),
172
172
  __param(0, Inject(ChangeDetectorRef)),
173
173
  __param(1, Inject(TUI_MODE))
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.module.ts","ng://@taiga-ui/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<\n Record<string, unknown>\n> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<Record<string, unknown>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiAccordionItemComponent),\n },\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n @tuiDefaultProp()\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n @tuiDefaultProp()\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-tui-host-borders')\n @tuiDefaultProp()\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n disableHover = false;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n onHovered(hovered: boolean): void {\n if (!this.disableHover) {\n this.updateHovered(hovered);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle(): void {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: Event): void {\n if (!this.focused || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n onItemKeyDownSpace(event: Event): void {\n if (!this.focused) {\n return;\n }\n\n event.preventDefault();\n this.onRowToggle();\n }\n\n close(): void {\n this.updateOpen(false);\n this.changeDetectorRef.markForCheck();\n }\n\n private updateOpen(open: boolean): void {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isPresent,\n itemsQueryListObservable,\n tuiDefaultProp,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {identity, merge} from 'rxjs';\nimport {filter, map, mapTo, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n styleUrls: ['./accordion.style.less'],\n templateUrl: 'accordion.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n @tuiDefaultProp()\n closeOthers = true;\n\n @Input()\n @tuiDefaultProp()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit(): void {\n const {accordionItems} = this;\n const rows$ = itemsQueryListObservable(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => !previous.includes(item) && item.open),\n ),\n filter(isPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(filter(identity), mapTo(row)),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\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-accordion.js","sources":["ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.module.ts","ng://@taiga-ui/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<\n Record<string, unknown>\n> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<Record<string, unknown>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiAccordionItemComponent),\n },\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n @tuiDefaultProp()\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n @tuiDefaultProp()\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-tui-host-borders')\n @tuiDefaultProp()\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n disableHover = false;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n onHovered(hovered: boolean): void {\n if (!this.disableHover) {\n this.updateHovered(hovered);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle(): void {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: Event): void {\n if (!this.focused || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n onItemKeyDownSpace(event: Event): void {\n if (!this.focused) {\n return;\n }\n\n event.preventDefault();\n this.onRowToggle();\n }\n\n close(): void {\n this.updateOpen(false);\n this.changeDetectorRef.markForCheck();\n }\n\n private updateOpen(open: boolean): void {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isPresent,\n itemsQueryListObservable,\n tuiDefaultProp,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {identity, merge} from 'rxjs';\nimport {filter, map, mapTo, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n styleUrls: ['./accordion.style.less'],\n templateUrl: 'accordion.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n @tuiDefaultProp()\n closeOthers = true;\n\n @Input()\n @tuiDefaultProp()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit(): void {\n const {accordionItems} = this;\n const rows$ = itemsQueryListObservable(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => !previous.includes(item) && item.open),\n ),\n filter(isPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(filter(identity), mapTo(row)),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ __decorate([
62
62
  TuiActionComponent = TuiActionComponent_1 = __decorate([
63
63
  Component({
64
64
  selector: 'tui-action, a[tuiAction]',
65
- template: "<label\n *ngIf=\"!isLink; else content\"\n automation-id=\"tui-action__content\"\n class=\"wrapper\"\n>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <button\n #focusableElement\n type=\"button\"\n automation-id=\"tui-action__native\"\n class=\"button\"\n [id]=\"id\"\n [tuiDescribedBy]=\"id\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n ></button>\n</label>\n<ng-template #content>\n <div class=\"wrapper\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n<tui-marker-icon\n size=\"s\"\n class=\"icon\"\n [src]=\"icon\"\n></tui-marker-icon>\n",
65
+ template: "<label\n *ngIf=\"!isLink; else content\"\n automation-id=\"tui-action__content\"\n class=\"wrapper\"\n>\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n <button\n #focusableElement\n type=\"button\"\n automation-id=\"tui-action__native\"\n class=\"button\"\n [id]=\"id\"\n [tuiDescribedBy]=\"id\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n ></button>\n</label>\n<ng-template #content>\n <div class=\"wrapper\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n<tui-marker-icon\n size=\"s\"\n class=\"icon\"\n [src]=\"icon\"\n></tui-marker-icon>\n",
66
66
  changeDetection: ChangeDetectionStrategy.OnPush,
67
67
  providers: [
68
68
  TuiDestroyService,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-action.js","sources":["ng://@taiga-ui/kit/components/action/action.component.ts","ng://@taiga-ui/kit/components/action/action.module.ts","ng://@taiga-ui/kit/components/action/taiga-ui-kit-components-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\n\n// TODO: 3.0 Refactor to button[tuiAction]\n@Component({\n selector: 'tui-action, a[tuiAction]',\n templateUrl: './action.template.html',\n styleUrls: ['./action.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiFocusVisibleService,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiActionComponent),\n },\n ],\n})\nexport class TuiActionComponent extends AbstractTuiInteractive {\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n readonly isLink = this.elementRef.nativeElement.matches('a');\n\n readonly disabled = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n\n if (!this.isLink) {\n return;\n }\n\n focusVisible$.subscribe(visible => {\n this.updateFocusVisible(visible);\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.isLink) {\n return this.elementRef.nativeElement;\n }\n\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener('mouseenter', ['true'])\n @HostListener('mouseleave', ['false'])\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiFocusVisibleModule} from '@taiga-ui/cdk';\nimport {TuiDescribedByModule} from '@taiga-ui/core';\nimport {TuiMarkerIconModule} from '@taiga-ui/kit/components/marker-icon';\n\nimport {TuiActionComponent} from './action.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiDescribedByModule,\n TuiMarkerIconModule,\n ],\n declarations: [TuiActionComponent],\n exports: [TuiActionComponent],\n})\nexport class TuiActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAoBA;IAea,kBAAkB,0BAA/B,MAAa,kBAAmB,SAAQ,sBAAsB;IAY1D,YACoC,aAAqC,EAChC,UAAmC;QAExE,KAAK,EAAE,CAAC;QAF6B,eAAU,GAAV,UAAU,CAAyB;QAR5E,SAAI,GAAG,EAAE,CAAC;QAED,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,aAAQ,GAAG,KAAK,CAAC;QAQtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO;SACV;QAED,aAAa,CAAC,SAAS,CAAC,OAAO;YAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;KACN;IAED,IAAI,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7E;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAID,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAID,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;EACJ;;YAzCsD,sBAAsB,uBAApE,MAAM,SAAC,sBAAsB;YACmB,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAZtB;IADC,SAAS,CAAC,kBAAkB,CAAC;4DAC4C;AAI1E;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;gDACP;AAmCV;IAFC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;mDAGnC;AAID;IAFC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;IACpC,YAAY,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;mDAGrC;AAjDQ,kBAAkB;IAd9B,SAAS,CAAC;QACP,QAAQ,EAAE,0BAA0B;QACpC,qtBAAqC;QAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP,iBAAiB;YACjB,sBAAsB;YACtB;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAkB,CAAC;aACpD;SACJ;;KACJ,CAAC;IAcO,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GAdd,kBAAkB,CAsD9B;;ICtEY,eAAe,GAA5B,MAAa,eAAe;EAAG;AAAlB,eAAe;IAX3B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,kBAAkB;YAClB,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;SACtB;QACD,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAChC,CAAC;GACW,eAAe,CAAG;;ACnB/B;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-action.js","sources":["ng://@taiga-ui/kit/components/action/action.component.ts","ng://@taiga-ui/kit/components/action/action.module.ts","ng://@taiga-ui/kit/components/action/taiga-ui-kit-components-action.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\n\n// TODO: 3.0 Refactor to button[tuiAction]\n@Component({\n selector: 'tui-action, a[tuiAction]',\n templateUrl: './action.template.html',\n styleUrls: ['./action.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n TuiFocusVisibleService,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiActionComponent),\n },\n ],\n})\nexport class TuiActionComponent extends AbstractTuiInteractive {\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n readonly isLink = this.elementRef.nativeElement.matches('a');\n\n readonly disabled = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n\n if (!this.isLink) {\n return;\n }\n\n focusVisible$.subscribe(visible => {\n this.updateFocusVisible(visible);\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.isLink) {\n return this.elementRef.nativeElement;\n }\n\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener('mouseenter', ['true'])\n @HostListener('mouseleave', ['false'])\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiFocusVisibleModule} from '@taiga-ui/cdk';\nimport {TuiDescribedByModule} from '@taiga-ui/core';\nimport {TuiMarkerIconModule} from '@taiga-ui/kit/components/marker-icon';\n\nimport {TuiActionComponent} from './action.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiDescribedByModule,\n TuiMarkerIconModule,\n ],\n declarations: [TuiActionComponent],\n exports: [TuiActionComponent],\n})\nexport class TuiActionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAoBA;IAea,kBAAkB,0BAA/B,MAAa,kBAAmB,SAAQ,sBAAsB;IAY1D,YACoC,aAAqC,EAChC,UAAmC;QAExE,KAAK,EAAE,CAAC;QAF6B,eAAU,GAAV,UAAU,CAAyB;QAR5E,SAAI,GAAG,EAAE,CAAC;QAED,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,aAAQ,GAAG,KAAK,CAAC;QAQtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO;SACV;QAED,aAAa,CAAC,SAAS,CAAC,OAAO;YAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;KACN;IAED,IAAI,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7E;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAID,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAID,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;EACJ;;YAzCsD,sBAAsB,uBAApE,MAAM,SAAC,sBAAsB;YACmB,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAZtB;IADC,SAAS,CAAC,kBAAkB,CAAC;4DAC4C;AAI1E;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;gDACP;AAmCV;IAFC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;mDAGnC;AAID;IAFC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;IACpC,YAAY,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;mDAGrC;AAjDQ,kBAAkB;IAd9B,SAAS,CAAC;QACP,QAAQ,EAAE,0BAA0B;QACpC,stBAAqC;QAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP,iBAAiB;YACjB,sBAAsB;YACtB;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAkB,CAAC;aACpD;SACJ;;KACJ,CAAC;IAcO,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GAdd,kBAAkB,CAsD9B;;ICtEY,eAAe,GAA5B,MAAa,eAAe;EAAG;AAAlB,eAAe;IAX3B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,kBAAkB;YAClB,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;SACtB;QACD,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;KAChC,CAAC;GACW,eAAe,CAAG;;ACnB/B;;;;;;"}
@@ -63,7 +63,7 @@ TuiBreadcrumbsWrapperComponent = TuiBreadcrumbsWrapperComponent_1 = __decorate([
63
63
  Component({
64
64
  selector: 'tui-breadcrumbs:not([items])',
65
65
  changeDetection: ChangeDetectionStrategy.OnPush,
66
- template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<ng-container *ngFor=\"let item of items; let last = last\">\n <ng-container *ngTemplateOutlet=\"item\"></ng-container>\n <tui-svg\n *ngIf=\"!last\"\n src=\"tuiIconChevronRight\"\n class=\"icon\"\n ></tui-svg>\n</ng-container>\n",
66
+ template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<ng-container *ngFor=\"let item of items; let last = last\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n <tui-svg\n *ngIf=\"!last\"\n src=\"tuiIconChevronRight\"\n class=\"icon\"\n ></tui-svg>\n</ng-container>\n",
67
67
  providers: [
68
68
  {
69
69
  provide: TuiModeDirective,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-breadcrumbs.js","sources":["ng://@taiga-ui/kit/components/breadcrumbs/breadcrumb.directive.ts","ng://@taiga-ui/kit/components/breadcrumbs/breadcrumbs.component.ts","ng://@taiga-ui/kit/components/breadcrumbs/breadcrumbs-wrapper.component.ts","ng://@taiga-ui/kit/components/breadcrumbs/breadcrumbs.module.ts","ng://@taiga-ui/kit/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiBreadcrumb]`,\n})\nexport class TuiBreadcrumbDirective {}\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiMapper} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {DEFAULT_ROUTER_LINK_OPTIONS} from '@taiga-ui/kit/constants';\nimport {TuiBreadCrumbsItem} from '@taiga-ui/kit/interfaces';\n\n/** @deprecated use `<tui-breadcrumbs>` from {@link TuiBreadcrumbsWrapperComponent} */\n@Component({\n selector: 'tui-breadcrumbs[items]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './breadcrumbs.template.html',\n styleUrls: ['./breadcrumbs.style.less'],\n})\nexport class TuiBreadcrumbsComponent {\n @Input()\n @tuiDefaultProp()\n items: readonly TuiBreadCrumbsItem[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n readonly routerLinkOptions: TuiMapper<TuiBreadCrumbsItem, any> = ({\n routerLinkOptions,\n }) => routerLinkOptions || DEFAULT_ROUTER_LINK_OPTIONS;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiModeDirective, TuiSizeL} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\nimport {TuiBreadcrumbDirective} from './breadcrumb.directive';\n\n@Component({\n selector: 'tui-breadcrumbs:not([items])',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './breadcrumbs-wrapper.template.html',\n styleUrls: ['./breadcrumbs-wrapper.style.less'],\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiBreadcrumbsWrapperComponent),\n },\n ],\n})\nexport class TuiBreadcrumbsWrapperComponent implements TuiModeDirective {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @ContentChildren(TuiBreadcrumbDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n readonly change$ = new Subject<void>();\n readonly mode = 'onLight';\n\n ngOnChanges(): void {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLetModule, TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiLinkModule, TuiModeModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiBreadcrumbDirective} from './breadcrumb.directive';\nimport {TuiBreadcrumbsComponent} from './breadcrumbs.component';\nimport {TuiBreadcrumbsWrapperComponent} from './breadcrumbs-wrapper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiMapperPipeModule,\n TuiLetModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiModeModule,\n ],\n declarations: [\n TuiBreadcrumbsComponent,\n TuiBreadcrumbsWrapperComponent,\n TuiBreadcrumbDirective,\n ],\n exports: [\n TuiBreadcrumbsComponent,\n TuiBreadcrumbsWrapperComponent,\n TuiBreadcrumbDirective,\n ],\n})\nexport class TuiBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAKa,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IAHlC,SAAS,CAAC;QACP,QAAQ,EAAE,4BAA4B;KACzC,CAAC;GACW,sBAAsB,CAAG;;ACCtC;IAOa,uBAAuB,GAApC,MAAa,uBAAuB;IAApC;QAGI,UAAK,GAAkC,EAAE,CAAC;QAK1C,SAAI,GAAa,GAAG,CAAC;QAEZ,sBAAiB,GAAuC,CAAC,EAC9D,iBAAiB,GACpB,KAAK,iBAAiB,IAAI,2BAA2B,CAAC;KAC1D;EAAA;AAVG;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACyB;AAK1C;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;qDACI;AARZ,uBAAuB;IANnC,SAAS,CAAC;QACP,QAAQ,EAAE,wBAAwB;QAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,uhCAA0C;;KAE7C,CAAC;GACW,uBAAuB,CAanC;;;ICEY,8BAA8B,sCAA3C,MAAa,8BAA8B;IAA3C;QAII,SAAI,GAAa,GAAG,CAAC;QAGZ,UAAK,GAAoD,WAAW,CAAC;QAErE,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC9B,SAAI,GAAG,SAAS,CAAC;KAG7B;IADG,WAAW,MAAW;EACzB;AATG;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;4DACI;AAGrB;IADC,eAAe,CAAC,sBAAsB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;6DACiB;AAPrE,8BAA8B;IAZ1C,SAAS,CAAC;QACP,QAAQ,EAAE,8BAA8B;QACxC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,6UAAkD;QAElD,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,UAAU,CAAC,MAAM,gCAA8B,CAAC;aAChE;SACJ;;KACJ,CAAC;GACW,8BAA8B,CAa1C;;ICVY,oBAAoB,GAAjC,MAAa,oBAAoB;EAAG;AAAvB,oBAAoB;IArBhC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,YAAY;YACZ,mBAAmB;YACnB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,aAAa;SAChB;QACD,YAAY,EAAE;YACV,uBAAuB;YACvB,8BAA8B;YAC9B,sBAAsB;SACzB;QACD,OAAO,EAAE;YACL,uBAAuB;YACvB,8BAA8B;YAC9B,sBAAsB;SACzB;KACJ,CAAC;GACW,oBAAoB,CAAG;;AC/BpC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-breadcrumbs.js","sources":["ng://@taiga-ui/kit/components/breadcrumbs/breadcrumb.directive.ts","ng://@taiga-ui/kit/components/breadcrumbs/breadcrumbs.component.ts","ng://@taiga-ui/kit/components/breadcrumbs/breadcrumbs-wrapper.component.ts","ng://@taiga-ui/kit/components/breadcrumbs/breadcrumbs.module.ts","ng://@taiga-ui/kit/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiBreadcrumb]`,\n})\nexport class TuiBreadcrumbDirective {}\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiMapper} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {DEFAULT_ROUTER_LINK_OPTIONS} from '@taiga-ui/kit/constants';\nimport {TuiBreadCrumbsItem} from '@taiga-ui/kit/interfaces';\n\n/** @deprecated use `<tui-breadcrumbs>` from {@link TuiBreadcrumbsWrapperComponent} */\n@Component({\n selector: 'tui-breadcrumbs[items]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './breadcrumbs.template.html',\n styleUrls: ['./breadcrumbs.style.less'],\n})\nexport class TuiBreadcrumbsComponent {\n @Input()\n @tuiDefaultProp()\n items: readonly TuiBreadCrumbsItem[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n readonly routerLinkOptions: TuiMapper<TuiBreadCrumbsItem, any> = ({\n routerLinkOptions,\n }) => routerLinkOptions || DEFAULT_ROUTER_LINK_OPTIONS;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {EMPTY_QUERY, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiModeDirective, TuiSizeL} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\nimport {TuiBreadcrumbDirective} from './breadcrumb.directive';\n\n@Component({\n selector: 'tui-breadcrumbs:not([items])',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './breadcrumbs-wrapper.template.html',\n styleUrls: ['./breadcrumbs-wrapper.style.less'],\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiBreadcrumbsWrapperComponent),\n },\n ],\n})\nexport class TuiBreadcrumbsWrapperComponent implements TuiModeDirective {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @ContentChildren(TuiBreadcrumbDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> = EMPTY_QUERY;\n\n readonly change$ = new Subject<void>();\n readonly mode = 'onLight';\n\n ngOnChanges(): void {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLetModule, TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiLinkModule, TuiModeModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiBreadcrumbDirective} from './breadcrumb.directive';\nimport {TuiBreadcrumbsComponent} from './breadcrumbs.component';\nimport {TuiBreadcrumbsWrapperComponent} from './breadcrumbs-wrapper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiMapperPipeModule,\n TuiLetModule,\n TuiLinkModule,\n TuiSvgModule,\n TuiModeModule,\n ],\n declarations: [\n TuiBreadcrumbsComponent,\n TuiBreadcrumbsWrapperComponent,\n TuiBreadcrumbDirective,\n ],\n exports: [\n TuiBreadcrumbsComponent,\n TuiBreadcrumbsWrapperComponent,\n TuiBreadcrumbDirective,\n ],\n})\nexport class TuiBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAKa,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IAHlC,SAAS,CAAC;QACP,QAAQ,EAAE,4BAA4B;KACzC,CAAC;GACW,sBAAsB,CAAG;;ACCtC;IAOa,uBAAuB,GAApC,MAAa,uBAAuB;IAApC;QAGI,UAAK,GAAkC,EAAE,CAAC;QAK1C,SAAI,GAAa,GAAG,CAAC;QAEZ,sBAAiB,GAAuC,CAAC,EAC9D,iBAAiB,GACpB,KAAK,iBAAiB,IAAI,2BAA2B,CAAC;KAC1D;EAAA;AAVG;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACyB;AAK1C;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;qDACI;AARZ,uBAAuB;IANnC,SAAS,CAAC;QACP,QAAQ,EAAE,wBAAwB;QAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,uhCAA0C;;KAE7C,CAAC;GACW,uBAAuB,CAanC;;;ICEY,8BAA8B,sCAA3C,MAAa,8BAA8B;IAA3C;QAII,SAAI,GAAa,GAAG,CAAC;QAGZ,UAAK,GAAoD,WAAW,CAAC;QAErE,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC9B,SAAI,GAAG,SAAS,CAAC;KAG7B;IADG,WAAW,MAAW;EACzB;AATG;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;4DACI;AAGrB;IADC,eAAe,CAAC,sBAAsB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;6DACiB;AAPrE,8BAA8B;IAZ1C,SAAS,CAAC;QACP,QAAQ,EAAE,8BAA8B;QACxC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,8UAAkD;QAElD,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,gBAAgB;gBACzB,WAAW,EAAE,UAAU,CAAC,MAAM,gCAA8B,CAAC;aAChE;SACJ;;KACJ,CAAC;GACW,8BAA8B,CAa1C;;ICVY,oBAAoB,GAAjC,MAAa,oBAAoB;EAAG;AAAvB,oBAAoB;IArBhC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,YAAY;YACZ,mBAAmB;YACnB,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,aAAa;SAChB;QACD,YAAY,EAAE;YACV,uBAAuB;YACvB,8BAA8B;YAC9B,sBAAsB;SACzB;QACD,OAAO,EAAE;YACL,uBAAuB;YACvB,8BAA8B;YAC9B,sBAAsB;SACzB;KACJ,CAAC;GACW,oBAAoB,CAAG;;AC/BpC;;;;;;"}
@@ -156,7 +156,7 @@ TuiFileComponent = __decorate([
156
156
  Component({
157
157
  selector: 'tui-file',
158
158
  changeDetection: ChangeDetectionStrategy.OnPush,
159
- template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container *ngTemplateOutlet=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n polymorpheus-outlet\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n [content]=\"leftContent || defaultLeftContent\"\n ></div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n polymorpheus-outlet\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n [content]=\"content\"\n ></div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n",
159
+ template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n polymorpheus-outlet\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n [content]=\"leftContent || defaultLeftContent\"\n ></div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n polymorpheus-outlet\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n [content]=\"content\"\n ></div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n",
160
160
  styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:0;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}"]
161
161
  }),
162
162
  __param(0, Inject(TUI_IS_MOBILE)),
@@ -195,7 +195,7 @@ __decorate([
195
195
  TuiFilesComponent = __decorate([
196
196
  Component({
197
197
  selector: 'tui-files',
198
- template: "<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{(hidden ? showAllText$ : hideText$) | async}}\n </button>\n</section>\n",
198
+ template: "<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n",
199
199
  changeDetection: ChangeDetectionStrategy.OnPush,
200
200
  encapsulation: ViewEncapsulation.None,
201
201
  styles: ["tui-files{display:block}tui-files .t-files{position:relative;display:block;width:100%;height:100%;border-radius:var(--tui-radius-m);overflow:hidden}tui-files .t-button{z-index:3;width:100%;background:var(--tui-base-01)}tui-files .t-button_collapsed{box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);margin-top:-1.5rem}tui-files .t-extra-items tui-file{border-radius:0;margin-top:0;margin-bottom:-.0625rem}"]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-files.js","sources":["ng://@taiga-ui/kit/components/files/file/file.component.ts","ng://@taiga-ui/kit/components/files/files.component.ts","ng://@taiga-ui/kit/components/files/files.module.ts","ng://@taiga-ui/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState, TuiFileStateT} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n// @dynamic\n@Component({\n selector: 'tui-file',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './file.template.html',\n styleUrls: ['./file.style.less'],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ''};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileStateT = 'normal';\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = '';\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding('class._focused')\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';\n }\n\n get isBig(): boolean {\n return this.size === 'l';\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get allowDelete(): boolean {\n return !!this.removed.observers.length;\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return 'tuiIconDefaultDocLarge';\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return 'tuiIconTrashLarge';\n case TuiFileState.Error:\n return 'tuiIconAlertCircleLarge';\n default:\n return 'tuiIconCheckCircleLarge';\n }\n }\n\n @HostBinding('class._link')\n get src(): string {\n return this.file.src || '';\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileStateT,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || '');\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith('image/')) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return '';\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split('.').slice(0, -1).join('.');\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split('.').pop()}` || '';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-files',\n templateUrl: './files.component.html',\n styleUrls: ['./files.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length ?? 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\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-files.js","sources":["ng://@taiga-ui/kit/components/files/file/file.component.ts","ng://@taiga-ui/kit/components/files/files.component.ts","ng://@taiga-ui/kit/components/files/files.module.ts","ng://@taiga-ui/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileState, TuiFileStateT} from '@taiga-ui/kit/enums';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {formatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n// @dynamic\n@Component({\n selector: 'tui-file',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './file.template.html',\n styleUrls: ['./file.style.less'],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ''};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileStateT = 'normal';\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = '';\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding('class._focused')\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';\n }\n\n get isBig(): boolean {\n return this.size === 'l';\n }\n\n get isLoading(): boolean {\n return this.state === TuiFileState.Loading;\n }\n\n get isError(): boolean {\n return this.state === TuiFileState.Error;\n }\n\n get isDeleted(): boolean {\n return this.state === TuiFileState.Deleted;\n }\n\n get allowDelete(): boolean {\n return !!this.removed.observers.length;\n }\n\n get icon(): string {\n if (this.state === TuiFileState.Normal && this.isBig) {\n return 'tuiIconDefaultDocLarge';\n }\n\n switch (this.state) {\n case TuiFileState.Deleted:\n return 'tuiIconTrashLarge';\n case TuiFileState.Error:\n return 'tuiIconAlertCircleLarge';\n default:\n return 'tuiIconCheckCircleLarge';\n }\n }\n\n @HostBinding('class._link')\n get src(): string {\n return this.file.src || '';\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileStateT,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === TuiFileState.Error && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || '');\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => formatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith('image/')) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return '';\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split('.').slice(0, -1).join('.');\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split('.').pop()}` || '';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-files',\n templateUrl: './files.component.html',\n styleUrls: ['./files.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length ?? 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}