@taiga-ui/kit 2.52.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 (407) 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-action.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-files.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  30. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  34. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +7 -0
  38. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -0
  42. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  45. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  49. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  51. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  53. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
  57. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -0
  61. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-pagination.umd.js +3 -2
  64. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  66. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  68. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
  70. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-progress.umd.js +2 -0
  72. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  75. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  77. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  79. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
  81. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-slider.umd.js +1 -1
  83. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-tabs.umd.js +7 -5
  87. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  91. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-tree.umd.js +2 -1
  95. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +2 -12
  99. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -9
  103. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-providers.umd.js +6 -0
  107. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-utils-dom.umd.js +14 -0
  110. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-utils-dom.umd.min.js +1 -1
  112. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-utils-files.umd.js +12 -0
  114. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
  116. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-utils-format.umd.js +4 -0
  118. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-utils-format.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-utils-mask.umd.js +6 -0
  122. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  126. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-utils-math.umd.min.js +1 -1
  128. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +10 -0
  130. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
  132. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  133. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  134. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  135. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  136. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  137. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  138. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  139. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  140. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  141. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  142. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  143. package/components/input-phone-international/utils/extract-value-from-event.d.ts +4 -0
  144. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  145. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  146. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  147. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  148. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  149. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  150. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  151. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  152. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  153. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  154. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  155. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  156. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  157. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  158. package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -1
  159. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
  160. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  161. package/esm2015/abstract/input-slider.js +2 -1
  162. package/esm2015/components/action/action.component.js +2 -2
  163. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  164. package/esm2015/components/files/file/file.component.js +2 -2
  165. package/esm2015/components/files/files.component.js +2 -2
  166. package/esm2015/components/input-file/file/file.component.js +2 -2
  167. package/esm2015/components/input-files/input-files.component.js +2 -2
  168. package/esm2015/components/input-month/input-month.component.js +2 -2
  169. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  170. package/esm2015/components/input-number/input-number.component.js +9 -3
  171. package/esm2015/components/input-phone/input-phone.providers.js +2 -1
  172. package/esm2015/components/input-phone-international/const/countries.js +2 -1
  173. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +6 -1
  174. package/esm2015/components/input-range/input-range.component.js +2 -2
  175. package/esm2015/components/input-slider/input-slider.component.js +2 -2
  176. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  177. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
  178. package/esm2015/components/multi-select-option/multi-select-option.component.js +2 -2
  179. package/esm2015/components/pagination/pagination.component.js +5 -4
  180. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  181. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -1
  182. package/esm2015/components/range/range.component.js +2 -2
  183. package/esm2015/components/select-option/select-option.component.js +2 -2
  184. package/esm2015/components/slider/slider-old.component.js +2 -2
  185. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  186. package/esm2015/components/tabs/tab/tab.providers.js +2 -1
  187. package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
  188. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  189. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
  190. package/esm2015/components/text-area/text-area.component.js +2 -2
  191. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -1
  192. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  193. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +4 -14
  194. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
  195. package/esm2015/providers/month-formatter.provider.js +5 -1
  196. package/esm2015/providers/specific-dropdown-controllers.js +3 -1
  197. package/esm2015/utils/dom/get-word-range.js +4 -1
  198. package/esm2015/utils/dom/scroll-to-element.js +6 -1
  199. package/esm2015/utils/dom/set-range-offset.js +4 -1
  200. package/esm2015/utils/files/format-size.js +6 -1
  201. package/esm2015/utils/files/get-accept-array.js +6 -1
  202. package/esm2015/utils/format/string-hash-to-hsl.js +4 -1
  203. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -1
  204. package/esm2015/utils/math/horizontal-direction-to-number.js +2 -2
  205. package/esm2015/utils/miscellaneous/get-precision.js +4 -1
  206. package/esm2015/utils/miscellaneous/is-flat.js +6 -1
  207. package/esm5/abstract/input-slider.js +2 -1
  208. package/esm5/components/action/action.component.js +2 -2
  209. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  210. package/esm5/components/files/file/file.component.js +2 -2
  211. package/esm5/components/files/files.component.js +2 -2
  212. package/esm5/components/input-file/file/file.component.js +2 -2
  213. package/esm5/components/input-files/input-files.component.js +2 -2
  214. package/esm5/components/input-month/input-month.component.js +2 -2
  215. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  216. package/esm5/components/input-number/input-number.component.js +9 -3
  217. package/esm5/components/input-phone/input-phone.providers.js +2 -1
  218. package/esm5/components/input-phone-international/const/countries.js +2 -1
  219. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +6 -1
  220. package/esm5/components/input-range/input-range.component.js +2 -2
  221. package/esm5/components/input-slider/input-slider.component.js +2 -2
  222. package/esm5/components/input-tag/input-tag.component.js +2 -2
  223. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
  224. package/esm5/components/multi-select-option/multi-select-option.component.js +2 -2
  225. package/esm5/components/pagination/pagination.component.js +5 -4
  226. package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
  227. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +3 -1
  228. package/esm5/components/range/range.component.js +2 -2
  229. package/esm5/components/select-option/select-option.component.js +2 -2
  230. package/esm5/components/slider/slider-old.component.js +2 -2
  231. package/esm5/components/tabs/tab/tab.component.js +1 -1
  232. package/esm5/components/tabs/tab/tab.providers.js +2 -1
  233. package/esm5/components/tabs/tabs/tabs.component.js +3 -3
  234. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  235. package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
  236. package/esm5/components/text-area/text-area.component.js +2 -2
  237. package/esm5/components/tree/components/tree-item/tree-item.providers.js +2 -1
  238. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  239. package/esm5/directives/dropdown-context/dropdown-context.directive.js +4 -14
  240. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
  241. package/esm5/providers/month-formatter.provider.js +5 -1
  242. package/esm5/providers/specific-dropdown-controllers.js +3 -1
  243. package/esm5/utils/dom/get-word-range.js +4 -1
  244. package/esm5/utils/dom/scroll-to-element.js +6 -1
  245. package/esm5/utils/dom/set-range-offset.js +4 -1
  246. package/esm5/utils/files/format-size.js +6 -1
  247. package/esm5/utils/files/get-accept-array.js +6 -1
  248. package/esm5/utils/format/string-hash-to-hsl.js +4 -1
  249. package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -1
  250. package/esm5/utils/math/horizontal-direction-to-number.js +2 -2
  251. package/esm5/utils/miscellaneous/get-precision.js +4 -1
  252. package/esm5/utils/miscellaneous/is-flat.js +6 -1
  253. package/fesm2015/taiga-ui-kit-abstract.js +1 -0
  254. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  255. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  256. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  257. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  258. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  259. package/fesm2015/taiga-ui-kit-components-files.js +2 -2
  260. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  261. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  262. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  263. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  264. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  265. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  266. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  267. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  268. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  269. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  270. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  271. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +7 -1
  272. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  273. package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -0
  274. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  275. package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
  276. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  277. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  278. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  279. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  280. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  281. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
  282. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  283. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -0
  284. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  285. package/fesm2015/taiga-ui-kit-components-pagination.js +4 -3
  286. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  287. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  288. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  289. package/fesm2015/taiga-ui-kit-components-progress.js +2 -0
  290. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  291. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  292. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  293. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  294. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  295. package/fesm2015/taiga-ui-kit-components-slider.js +1 -1
  296. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  297. package/fesm2015/taiga-ui-kit-components-tabs.js +7 -5
  298. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  299. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  300. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  301. package/fesm2015/taiga-ui-kit-components-tree.js +2 -1
  302. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  303. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +3 -13
  304. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  305. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +2 -10
  306. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  307. package/fesm2015/taiga-ui-kit-providers.js +6 -0
  308. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  309. package/fesm2015/taiga-ui-kit-utils-dom.js +12 -1
  310. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  311. package/fesm2015/taiga-ui-kit-utils-files.js +11 -1
  312. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  313. package/fesm2015/taiga-ui-kit-utils-format.js +4 -1
  314. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  315. package/fesm2015/taiga-ui-kit-utils-mask.js +6 -1
  316. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  317. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  318. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  319. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +9 -1
  320. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  321. package/fesm5/taiga-ui-kit-abstract.js +1 -0
  322. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  323. package/fesm5/taiga-ui-kit-components-action.js +1 -1
  324. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  325. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  326. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  327. package/fesm5/taiga-ui-kit-components-files.js +2 -2
  328. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  329. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  330. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  331. package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
  332. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  333. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  334. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  335. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  336. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  337. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  338. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  339. package/fesm5/taiga-ui-kit-components-input-phone-international.js +7 -1
  340. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  341. package/fesm5/taiga-ui-kit-components-input-phone.js +1 -0
  342. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  343. package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
  344. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  345. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  346. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  347. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  348. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  349. package/fesm5/taiga-ui-kit-components-multi-select-option.js +1 -1
  350. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  351. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -0
  352. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  353. package/fesm5/taiga-ui-kit-components-pagination.js +4 -3
  354. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  355. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
  356. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  357. package/fesm5/taiga-ui-kit-components-progress.js +2 -0
  358. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  359. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  360. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  361. package/fesm5/taiga-ui-kit-components-select-option.js +1 -1
  362. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  363. package/fesm5/taiga-ui-kit-components-slider.js +1 -1
  364. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  365. package/fesm5/taiga-ui-kit-components-tabs.js +7 -5
  366. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  367. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  368. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  369. package/fesm5/taiga-ui-kit-components-tree.js +2 -1
  370. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  371. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +3 -13
  372. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  373. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +2 -10
  374. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  375. package/fesm5/taiga-ui-kit-providers.js +6 -0
  376. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  377. package/fesm5/taiga-ui-kit-utils-dom.js +12 -1
  378. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  379. package/fesm5/taiga-ui-kit-utils-files.js +11 -1
  380. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  381. package/fesm5/taiga-ui-kit-utils-format.js +4 -1
  382. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  383. package/fesm5/taiga-ui-kit-utils-mask.js +6 -1
  384. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  385. package/fesm5/taiga-ui-kit-utils-math.js +2 -2
  386. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  387. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +9 -1
  388. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  389. package/package.json +4 -4
  390. package/providers/month-formatter.provider.d.ts +3 -0
  391. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  392. package/utils/dom/get-word-range.d.ts +2 -0
  393. package/utils/dom/scroll-to-element.d.ts +4 -0
  394. package/utils/dom/set-range-offset.d.ts +2 -0
  395. package/utils/dom/taiga-ui-kit-utils-dom.metadata.json +1 -1
  396. package/utils/files/format-size.d.ts +4 -0
  397. package/utils/files/get-accept-array.d.ts +4 -0
  398. package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
  399. package/utils/format/string-hash-to-hsl.d.ts +2 -0
  400. package/utils/format/taiga-ui-kit-utils-format.metadata.json +1 -1
  401. package/utils/mask/create-auto-corrected-date-pipe.d.ts +4 -0
  402. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  403. package/utils/math/horizontal-direction-to-number.d.ts +1 -1
  404. package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
  405. package/utils/miscellaneous/get-precision.d.ts +2 -0
  406. package/utils/miscellaneous/is-flat.d.ts +4 -0
  407. package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-mask.js","sources":["ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-range-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-date-mask.ts","ng://@taiga-ui/kit/utils/mask/create-date-range-mask.ts","ng://@taiga-ui/kit/utils/mask/create-time-mask.ts","ng://@taiga-ui/kit/utils/mask/taiga-ui-kit-utils-mask.ts"],"sourcesContent":["import {DATE_FILLER_LENGTH, TuiDateMode, TuiDay} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\nexport interface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDay | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nexport function normalizeDateValue(\n dateValue: string,\n {value, min, max, dateFormat, dateSeparator}: TuiAutoCorrectedDatePipeConfigs,\n): string {\n return value && value.toString(dateFormat, dateSeparator) === dateValue\n ? dateValue\n : TuiDay.normalizeParse(dateValue, dateFormat)\n .dayLimit(min, max)\n .toString(dateFormat, dateSeparator);\n}\n\nexport function tuiCreateAutoCorrectedDatePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => {\n if (value.length !== DATE_FILLER_LENGTH) {\n return {value};\n }\n\n return {\n value: normalizeDateValue(value, config),\n };\n };\n}\n","import {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TuiDateMode,\n TuiDay,\n TuiDayRange,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\ninterface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDayRange | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nfunction parseWithLimit(value: string, config: TuiAutoCorrectedDatePipeConfigs): TuiDay {\n return TuiDay.normalizeParse(\n value.slice(0, DATE_FILLER_LENGTH),\n config.dateFormat,\n ).dayLimit(config.min, config.max);\n}\n\nfunction processRawValue(value: string, config: TuiAutoCorrectedDatePipeConfigs): string {\n const {dateFormat, dateSeparator} = config;\n\n switch (value.length) {\n case DATE_FILLER_LENGTH:\n return parseWithLimit(value, config).toString(dateFormat, dateSeparator);\n case DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length:\n return (\n parseWithLimit(value, config).toString(dateFormat, dateSeparator) +\n RANGE_SEPARATOR_CHAR\n );\n case DATE_RANGE_FILLER_LENGTH:\n return config.value &&\n config.value.toString(dateFormat, dateSeparator) === value\n ? value\n : TuiDayRange.sort(\n parseWithLimit(value.slice(0, DATE_FILLER_LENGTH), config),\n parseWithLimit(\n value.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n config,\n ),\n ).toString(dateFormat, dateSeparator);\n default:\n return value;\n }\n}\n\n/**\n * Normalizes date in formatted string\n *\n * Normalizes when:\n *\n * 1. It is a single date\n * 2. It is a single date and a separator\n * 3. It is two dates and a separator between them\n *\n * In **other** cases, the value does not change.\n *\n * @param config with min and max date\n * @return mask pipe handler that handles `min` and `max`\n */\nexport function tuiCreateAutoCorrectedDateRangePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => ({value: processRawValue(value, config)});\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\n/**\n * Adjusts the entered time by omitting only suitable values for hours and minutes\n * @returns time as a string\n */\nexport function tuiCreateAutoCorrectedTimePipe(\n timeMode: TuiTimeMode = 'HH:MM',\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskPipeHandler {\n const timeFormatArray = ['HH', 'MM', 'SS', 'MS'] as const;\n const safeValues = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return conformedValue => {\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n timeFormatArray.forEach(format => {\n const position = timeMode.indexOf(format);\n const maxFirstDigit = parseInt(String(safeValues[format]).slice(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = '0';\n indexesOfPipedChars.push(position);\n }\n });\n\n const isInvalid = timeFormatArray.some(\n format =>\n parseInt(conformedValue.slice(timeMode.indexOf(format), 2), 10) >\n safeValues[format],\n );\n\n return isInvalid\n ? false\n : {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {DATE_FILLER_LENGTH, TuiTimeMode} from '@taiga-ui/cdk';\nimport {\n TuiTextMaskConfig,\n TuiTextMaskOptions,\n TuiTextMaskPipeHandler,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\n\nimport {\n normalizeDateValue,\n TuiAutoCorrectedDatePipeConfigs,\n} from './create-auto-corrected-date-pipe';\nimport {tuiCreateAutoCorrectedTimePipe} from './create-auto-corrected-time-pipe';\n\ninterface TuiAutoCorrectedDateTimePipeConfigs extends TuiAutoCorrectedDatePipeConfigs {\n timeMode: TuiTimeMode;\n}\n\nexport function tuiCreateAutoCorrectedDateTimePipe(\n configs: TuiAutoCorrectedDateTimePipeConfigs,\n): TuiTextMaskPipeHandler {\n const timePipe = tuiCreateAutoCorrectedTimePipe(configs.timeMode);\n\n return value => {\n if (value.length < DATE_FILLER_LENGTH) {\n return {value};\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const formattedDate = normalizeDateValue(date, configs);\n\n if (!time) {\n return {value: formattedDate};\n }\n\n const pipedTime = timePipe(\n time,\n {} as unknown as TuiTextMaskOptions & TuiTextMaskConfig,\n );\n\n if (!pipedTime || typeof pipedTime === 'string') {\n return false;\n }\n\n return {\n value: `${formattedDate}${DATE_TIME_SEPARATOR}${pipedTime.value}`,\n indexesOfPipedChars: pipedTime.indexesOfPipedChars\n ? pipedTime.indexesOfPipedChars.map(i => i + date.length + 2)\n : undefined,\n };\n };\n}\n","import {tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nconst TWO_DIGITS = new Array(2).fill(TUI_DIGIT_REGEXP);\nconst FOUR_DIGITS = new Array(4).fill(TUI_DIGIT_REGEXP);\n\nexport function tuiCreateDateMask(mode: TuiDateMode, separator: string): TuiTextMaskList {\n tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');\n\n switch (mode) {\n case 'YMD':\n return [...FOUR_DIGITS, separator, ...TWO_DIGITS, separator, ...TWO_DIGITS];\n case 'MDY':\n case 'DMY':\n default:\n return [...TWO_DIGITS, separator, ...TWO_DIGITS, separator, ...FOUR_DIGITS];\n }\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskList} from '@taiga-ui/core';\n\nimport {tuiCreateDateMask} from './create-date-mask';\n\nexport function tuiCreateDateRangeMask(\n dateMode: TuiDateMode,\n dateSeparator: string,\n): TuiTextMaskList {\n tuiAssert.assert(\n dateSeparator.length === 1,\n 'Separator should consist of only 1 symbol',\n );\n\n const dateMask = tuiCreateDateMask(dateMode, dateSeparator);\n\n return [\n ...dateMask,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...dateMask,\n ];\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nfunction tuiCreateTimePartMask(\n maxPartValue: number,\n prefix?: string,\n): Array<string | RegExp> {\n const {length} = String(maxPartValue);\n const regExp = new Array(length).fill(TUI_DIGIT_REGEXP);\n\n if (prefix) {\n regExp.unshift(prefix);\n }\n\n return regExp;\n}\n\nexport function tuiCreateTimeMask(\n mode: TuiTimeMode,\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskList {\n const {HH, MM, SS, MS} = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return [\n ...tuiCreateTimePartMask(HH),\n ...tuiCreateTimePartMask(MM, ':'),\n ...(mode.includes('HH:MM:SS') ? tuiCreateTimePartMask(SS, ':') : []),\n ...(mode === 'HH:MM:SS.MSS' ? tuiCreateTimePartMask(MS, '.') : []),\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-utils-mask.js","sources":["ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-range-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-date-mask.ts","ng://@taiga-ui/kit/utils/mask/create-date-range-mask.ts","ng://@taiga-ui/kit/utils/mask/create-time-mask.ts","ng://@taiga-ui/kit/utils/mask/taiga-ui-kit-utils-mask.ts"],"sourcesContent":["import {DATE_FILLER_LENGTH, TuiDateMode, TuiDay} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\nexport interface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDay | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\n/**\n * @deprecated: use {@link tuiNormalizeDateValue} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function normalizeDateValue(\n dateValue: string,\n {value, min, max, dateFormat, dateSeparator}: TuiAutoCorrectedDatePipeConfigs,\n): string {\n return value && value.toString(dateFormat, dateSeparator) === dateValue\n ? dateValue\n : TuiDay.normalizeParse(dateValue, dateFormat)\n .dayLimit(min, max)\n .toString(dateFormat, dateSeparator);\n}\n\nexport function tuiCreateAutoCorrectedDatePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => {\n if (value.length !== DATE_FILLER_LENGTH) {\n return {value};\n }\n\n return {\n value: normalizeDateValue(value, config),\n };\n };\n}\n\nexport const tuiNormalizeDateValue = normalizeDateValue;\n","import {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TuiDateMode,\n TuiDay,\n TuiDayRange,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\ninterface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDayRange | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nfunction parseWithLimit(value: string, config: TuiAutoCorrectedDatePipeConfigs): TuiDay {\n return TuiDay.normalizeParse(\n value.slice(0, DATE_FILLER_LENGTH),\n config.dateFormat,\n ).dayLimit(config.min, config.max);\n}\n\nfunction processRawValue(value: string, config: TuiAutoCorrectedDatePipeConfigs): string {\n const {dateFormat, dateSeparator} = config;\n\n switch (value.length) {\n case DATE_FILLER_LENGTH:\n return parseWithLimit(value, config).toString(dateFormat, dateSeparator);\n case DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length:\n return (\n parseWithLimit(value, config).toString(dateFormat, dateSeparator) +\n RANGE_SEPARATOR_CHAR\n );\n case DATE_RANGE_FILLER_LENGTH:\n return config.value &&\n config.value.toString(dateFormat, dateSeparator) === value\n ? value\n : TuiDayRange.sort(\n parseWithLimit(value.slice(0, DATE_FILLER_LENGTH), config),\n parseWithLimit(\n value.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n config,\n ),\n ).toString(dateFormat, dateSeparator);\n default:\n return value;\n }\n}\n\n/**\n * Normalizes date in formatted string\n *\n * Normalizes when:\n *\n * 1. It is a single date\n * 2. It is a single date and a separator\n * 3. It is two dates and a separator between them\n *\n * In **other** cases, the value does not change.\n *\n * @param config with min and max date\n * @return mask pipe handler that handles `min` and `max`\n */\nexport function tuiCreateAutoCorrectedDateRangePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => ({value: processRawValue(value, config)});\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\n/**\n * Adjusts the entered time by omitting only suitable values for hours and minutes\n * @returns time as a string\n */\nexport function tuiCreateAutoCorrectedTimePipe(\n timeMode: TuiTimeMode = 'HH:MM',\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskPipeHandler {\n const timeFormatArray = ['HH', 'MM', 'SS', 'MS'] as const;\n const safeValues = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return conformedValue => {\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n timeFormatArray.forEach(format => {\n const position = timeMode.indexOf(format);\n const maxFirstDigit = parseInt(String(safeValues[format]).slice(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = '0';\n indexesOfPipedChars.push(position);\n }\n });\n\n const isInvalid = timeFormatArray.some(\n format =>\n parseInt(conformedValue.slice(timeMode.indexOf(format), 2), 10) >\n safeValues[format],\n );\n\n return isInvalid\n ? false\n : {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {DATE_FILLER_LENGTH, TuiTimeMode} from '@taiga-ui/cdk';\nimport {\n TuiTextMaskConfig,\n TuiTextMaskOptions,\n TuiTextMaskPipeHandler,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\n\nimport {\n normalizeDateValue,\n TuiAutoCorrectedDatePipeConfigs,\n} from './create-auto-corrected-date-pipe';\nimport {tuiCreateAutoCorrectedTimePipe} from './create-auto-corrected-time-pipe';\n\ninterface TuiAutoCorrectedDateTimePipeConfigs extends TuiAutoCorrectedDatePipeConfigs {\n timeMode: TuiTimeMode;\n}\n\nexport function tuiCreateAutoCorrectedDateTimePipe(\n configs: TuiAutoCorrectedDateTimePipeConfigs,\n): TuiTextMaskPipeHandler {\n const timePipe = tuiCreateAutoCorrectedTimePipe(configs.timeMode);\n\n return value => {\n if (value.length < DATE_FILLER_LENGTH) {\n return {value};\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const formattedDate = normalizeDateValue(date, configs);\n\n if (!time) {\n return {value: formattedDate};\n }\n\n const pipedTime = timePipe(\n time,\n {} as unknown as TuiTextMaskOptions & TuiTextMaskConfig,\n );\n\n if (!pipedTime || typeof pipedTime === 'string') {\n return false;\n }\n\n return {\n value: `${formattedDate}${DATE_TIME_SEPARATOR}${pipedTime.value}`,\n indexesOfPipedChars: pipedTime.indexesOfPipedChars\n ? pipedTime.indexesOfPipedChars.map(i => i + date.length + 2)\n : undefined,\n };\n };\n}\n","import {tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nconst TWO_DIGITS = new Array(2).fill(TUI_DIGIT_REGEXP);\nconst FOUR_DIGITS = new Array(4).fill(TUI_DIGIT_REGEXP);\n\nexport function tuiCreateDateMask(mode: TuiDateMode, separator: string): TuiTextMaskList {\n tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');\n\n switch (mode) {\n case 'YMD':\n return [...FOUR_DIGITS, separator, ...TWO_DIGITS, separator, ...TWO_DIGITS];\n case 'MDY':\n case 'DMY':\n default:\n return [...TWO_DIGITS, separator, ...TWO_DIGITS, separator, ...FOUR_DIGITS];\n }\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskList} from '@taiga-ui/core';\n\nimport {tuiCreateDateMask} from './create-date-mask';\n\nexport function tuiCreateDateRangeMask(\n dateMode: TuiDateMode,\n dateSeparator: string,\n): TuiTextMaskList {\n tuiAssert.assert(\n dateSeparator.length === 1,\n 'Separator should consist of only 1 symbol',\n );\n\n const dateMask = tuiCreateDateMask(dateMode, dateSeparator);\n\n return [\n ...dateMask,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...dateMask,\n ];\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nfunction tuiCreateTimePartMask(\n maxPartValue: number,\n prefix?: string,\n): Array<string | RegExp> {\n const {length} = String(maxPartValue);\n const regExp = new Array(length).fill(TUI_DIGIT_REGEXP);\n\n if (prefix) {\n regExp.unshift(prefix);\n }\n\n return regExp;\n}\n\nexport function tuiCreateTimeMask(\n mode: TuiTimeMode,\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskList {\n const {HH, MM, SS, MS} = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return [\n ...tuiCreateTimePartMask(HH),\n ...tuiCreateTimePartMask(MM, ':'),\n ...(mode.includes('HH:MM:SS') ? tuiCreateTimePartMask(SS, ':') : []),\n ...(mode === 'HH:MM:SS.MSS' ? tuiCreateTimePartMask(MS, '.') : []),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AASA;;;AAGA;SACgB,kBAAkB,CAC9B,SAAiB,EACjB,EAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAkC;IAE7E,OAAO,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,SAAS;UACjE,SAAS;UACT,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;aACvC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;aAClB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;SAEe,8BAA8B,CAC1C,MAAuC;IAEvC,OAAO,KAAK;QACR,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACrC,OAAO,EAAC,KAAK,EAAC,CAAC;SAClB;QAED,OAAO;YACH,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC;SAC3C,CAAC;KACL,CAAC;AACN,CAAC;MAEY,qBAAqB,GAAG;;ACtBrC,SAAS,cAAc,CAAC,KAAa,EAAE,MAAuC;IAC1E,OAAO,MAAM,CAAC,cAAc,CACxB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAClC,MAAM,CAAC,UAAU,CACpB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,MAAuC;IAC3E,MAAM,EAAC,UAAU,EAAE,aAAa,EAAC,GAAG,MAAM,CAAC;IAE3C,QAAQ,KAAK,CAAC,MAAM;QAChB,KAAK,kBAAkB;YACnB,OAAO,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC7E,KAAK,kBAAkB,GAAG,oBAAoB,CAAC,MAAM;YACjD,QACI,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;gBACjE,oBAAoB,EACtB;QACN,KAAK,wBAAwB;YACzB,OAAO,MAAM,CAAC,KAAK;gBACf,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,KAAK,KAAK;kBACxD,KAAK;kBACL,WAAW,CAAC,IAAI,CACZ,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,EAC1D,cAAc,CACV,KAAK,CAAC,KAAK,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAC7D,MAAM,CACT,CACJ,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAChD;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AAED;;;;;;;;;;;;;;SAcgB,mCAAmC,CAC/C,MAAuC;IAEvC,OAAO,KAAK,KAAK,EAAC,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAC,CAAC,CAAC;AAC9D;;AC/DA;;;;SAIgB,8BAA8B,CAC1C,WAAwB,OAAO,EAC/B,YAAyD,EAAE;IAE3D,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;IAC1D,MAAM,UAAU,mCACT,eAAe,GACf,SAAS,CACf,CAAC;IAEF,OAAO,cAAc;QACjB,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnD,eAAe,CAAC,OAAO,CAAC,MAAM;YAC1B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE3E,IAAI,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,aAAa,EAAE;gBAC3D,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC9D,iBAAiB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;gBAClC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtC;SACJ,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAClC,MAAM,IACF,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/D,UAAU,CAAC,MAAM,CAAC,CACzB,CAAC;QAEF,OAAO,SAAS;cACV,KAAK;cACL;gBACI,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,mBAAmB;aACtB,CAAC;KACX,CAAC;AACN;;SC7BgB,kCAAkC,CAC9C,OAA4C;IAE5C,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElE,OAAO,KAAK;QACR,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE;YACnC,OAAO,EAAC,KAAK,EAAC,CAAC;SAClB;QAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,EAAC,KAAK,EAAE,aAAa,EAAC,CAAC;SACjC;QAED,MAAM,SAAS,GAAG,QAAQ,CACtB,IAAI,EACJ,EAAuD,CAC1D,CAAC;QAEF,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAC7C,OAAO,KAAK,CAAC;SAChB;QAED,OAAO;YACH,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,GAAG,SAAS,CAAC,KAAK,EAAE;YACjE,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;kBAC5C,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;kBAC3D,SAAS;SAClB,CAAC;KACL,CAAC;AACN;;ACjDA,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACvD,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAExC,iBAAiB,CAAC,IAAiB,EAAE,SAAiB;IAClE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,2CAA2C,CAAC,CAAC;IAEtF,QAAQ,IAAI;QACR,KAAK,KAAK;YACN,OAAO,CAAC,GAAG,WAAW,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC;QAChF,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX;YACI,OAAO,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC;KACnF;AACL;;SCZgB,sBAAsB,CAClC,QAAqB,EACrB,aAAqB;IAErB,SAAS,CAAC,MAAM,CACZ,aAAa,CAAC,MAAM,KAAK,CAAC,EAC1B,2CAA2C,CAC9C,CAAC;IAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAE5D,OAAO;QACH,GAAG,QAAQ;QACX,mBAAmB;QACnB,YAAY;QACZ,mBAAmB;QACnB,GAAG,QAAQ;KACd,CAAC;AACN;;AClBA,SAAS,qBAAqB,CAC1B,YAAoB,EACpB,MAAe;IAEf,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAExD,IAAI,MAAM,EAAE;QACR,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;SAEe,iBAAiB,CAC7B,IAAiB,EACjB,YAAyD,EAAE;IAE3D,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,mCACf,eAAe,GACf,SAAS,CACf,CAAC;IAEF,OAAO;QACH,GAAG,qBAAqB,CAAC,EAAE,CAAC;QAC5B,GAAG,qBAAqB,CAAC,EAAE,EAAE,GAAG,CAAC;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QACpE,IAAI,IAAI,KAAK,cAAc,GAAG,qBAAqB,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;KACrE,CAAC;AACN;;AClCA;;;;;;"}
@@ -4,7 +4,7 @@ import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
4
4
  /**
5
5
  * @internal
6
6
  */
7
- function horizontalDirectionToNumber(direction) {
7
+ function tuiHorizontalDirectionToNumber(direction) {
8
8
  switch (direction) {
9
9
  case 'left':
10
10
  return -1;
@@ -38,5 +38,5 @@ function tuiCheckKeyStepsHaveMinMaxPercents(steps) {
38
38
  * Generated bundle index. Do not edit.
39
39
  */
40
40
 
41
- export { horizontalDirectionToNumber, tuiCheckKeyStepsHaveMinMaxPercents, tuiKeyStepValueToPercentage, tuiPercentageToKeyStepValue };
41
+ export { tuiCheckKeyStepsHaveMinMaxPercents, tuiHorizontalDirectionToNumber, tuiKeyStepValueToPercentage, tuiPercentageToKeyStepValue };
42
42
  //# sourceMappingURL=taiga-ui-kit-utils-math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-math.js","sources":["ng://@taiga-ui/kit/utils/math/horizontal-direction-to-number.ts","ng://@taiga-ui/kit/utils/math/key-steps.ts","ng://@taiga-ui/kit/utils/math/taiga-ui-kit-utils-math.ts"],"sourcesContent":["import {TuiHorizontalDirection} from '@taiga-ui/core';\n\n/**\n * @internal\n */\nexport function horizontalDirectionToNumber(direction: TuiHorizontalDirection): -1 | 1 {\n switch (direction) {\n case 'left':\n return -1;\n case 'right':\n return 1;\n }\n}\n","import {round} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\nfunction tuiFindKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((keyStep, i) => i && fn(keyStep));\n const lowerStep = keySteps[keyStepUpperIndex - 1];\n const upperStep = keySteps[keyStepUpperIndex];\n\n return [lowerStep, upperStep];\n}\n\nexport function tuiPercentageToKeyStepValue(\n valuePercentage: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return round(controlValue, TUI_FLOATING_PRECISION);\n}\n\nexport function tuiKeyStepValueToPercentage(\n value: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([_, keyStepValue]) => value <= keyStepValue,\n );\n const ratio = (value - lowerStepValue) / (upperStepValue - lowerStepValue) || 0;\n\n return (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n}\n\nexport function tuiCheckKeyStepsHaveMinMaxPercents(steps: TuiKeySteps): boolean {\n return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;SAGgB,2BAA2B,CAAC,SAAiC;IACzE,QAAQ,SAAS;QACb,KAAK,MAAM;YACP,OAAO,CAAC,CAAC,CAAC;QACd,KAAK,OAAO;YACR,OAAO,CAAC,CAAC;KAChB;AACL;;ACRA,SAAS,6BAA6B,CAClC,QAAqB,EACrB,EAAiE;IAEjE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAE9C,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;SAEe,2BAA2B,CACvC,eAAuB,EACvB,QAAqB;IAErB,MAAM,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,GAC1E,6BAA6B,CACzB,QAAQ,EACR,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,KAAK,eAAe,IAAI,iBAAiB,CACnE,CAAC;IACN,MAAM,KAAK,GACP,CAAC,eAAe,GAAG,gBAAgB,KAAK,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,GAAG,cAAc,CAAC;IAEhF,OAAO,KAAK,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AACvD,CAAC;SAEe,2BAA2B,CACvC,KAAa,EACb,QAAqB;IAErB,MAAM,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,GAC1E,6BAA6B,CACzB,QAAQ,EACR,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,KAAK,IAAI,YAAY,CAC/C,CAAC;IACN,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,cAAc,KAAK,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEhF,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,GAAG,gBAAgB,CAAC;AAC5E,CAAC;SAEe,kCAAkC,CAAC,KAAkB;IACjE,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACtF;;AC/CA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-utils-math.js","sources":["ng://@taiga-ui/kit/utils/math/horizontal-direction-to-number.ts","ng://@taiga-ui/kit/utils/math/key-steps.ts","ng://@taiga-ui/kit/utils/math/taiga-ui-kit-utils-math.ts"],"sourcesContent":["import {TuiHorizontalDirection} from '@taiga-ui/core';\n\n/**\n * @internal\n */\nexport function tuiHorizontalDirectionToNumber(\n direction: TuiHorizontalDirection,\n): -1 | 1 {\n switch (direction) {\n case 'left':\n return -1;\n case 'right':\n return 1;\n }\n}\n","import {round} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\nfunction tuiFindKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((keyStep, i) => i && fn(keyStep));\n const lowerStep = keySteps[keyStepUpperIndex - 1];\n const upperStep = keySteps[keyStepUpperIndex];\n\n return [lowerStep, upperStep];\n}\n\nexport function tuiPercentageToKeyStepValue(\n valuePercentage: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return round(controlValue, TUI_FLOATING_PRECISION);\n}\n\nexport function tuiKeyStepValueToPercentage(\n value: number,\n keySteps: TuiKeySteps,\n): number {\n const [[lowerStepPercent, lowerStepValue], [upperStepPercent, upperStepValue]] =\n tuiFindKeyStepsBoundariesByFn(\n keySteps,\n ([_, keyStepValue]) => value <= keyStepValue,\n );\n const ratio = (value - lowerStepValue) / (upperStepValue - lowerStepValue) || 0;\n\n return (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n}\n\nexport function tuiCheckKeyStepsHaveMinMaxPercents(steps: TuiKeySteps): boolean {\n return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;;SAGgB,8BAA8B,CAC1C,SAAiC;IAEjC,QAAQ,SAAS;QACb,KAAK,MAAM;YACP,OAAO,CAAC,CAAC,CAAC;QACd,KAAK,OAAO;YACR,OAAO,CAAC,CAAC;KAChB;AACL;;ACVA,SAAS,6BAA6B,CAClC,QAAqB,EACrB,EAAiE;IAEjE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAE9C,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;SAEe,2BAA2B,CACvC,eAAuB,EACvB,QAAqB;IAErB,MAAM,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,GAC1E,6BAA6B,CACzB,QAAQ,EACR,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,KAAK,eAAe,IAAI,iBAAiB,CACnE,CAAC;IACN,MAAM,KAAK,GACP,CAAC,eAAe,GAAG,gBAAgB,KAAK,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IACjF,MAAM,YAAY,GAAG,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,GAAG,cAAc,CAAC;IAEhF,OAAO,KAAK,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AACvD,CAAC;SAEe,2BAA2B,CACvC,KAAa,EACb,QAAqB;IAErB,MAAM,CAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,GAC1E,6BAA6B,CACzB,QAAQ,EACR,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,KAAK,IAAI,YAAY,CAC/C,CAAC;IACN,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,cAAc,KAAK,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAEhF,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,GAAG,gBAAgB,CAAC;AAC5E,CAAC;SAEe,kCAAkC,CAAC,KAAkB;IACjE,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AACtF;;AC/CA;;;;;;"}
@@ -40,16 +40,24 @@ function tuiCreateTimePeriods(minHour = 0, maxHour = HOURS_IN_DAY, minutes = [0,
40
40
  }
41
41
 
42
42
  /**
43
+ * @deprecated: use {@link tuiGetPrecision} instead
43
44
  * @return fractional length
44
45
  */
46
+ // eslint-disable-next-line @typescript-eslint/naming-convention
45
47
  function getPrecision(num) {
46
48
  const [, fractionPart = ''] = String(num).split('.');
47
49
  return fractionPart.length;
48
50
  }
51
+ const tuiGetPrecision = getPrecision;
49
52
 
53
+ /**
54
+ * @deprecated: use {@link tuiIsFlat} instead
55
+ */
56
+ // eslint-disable-next-line @typescript-eslint/naming-convention
50
57
  function isFlat(items) {
51
58
  return !Array.isArray(items[0]);
52
59
  }
60
+ const tuiIsFlat = isFlat;
53
61
 
54
62
  /**
55
63
  * @internal
@@ -69,5 +77,5 @@ const tuiReplayControlValueChangesFactory = TuiReplayControlValueChangesFactory;
69
77
  * Generated bundle index. Do not edit.
70
78
  */
71
79
 
72
- export { TuiReplayControlValueChangesFactory, getPrecision, isFlat, tuiCreateDefaultDayRangePeriods, tuiCreateTimePeriods, tuiReplayControlValueChangesFactory };
80
+ export { TuiReplayControlValueChangesFactory, getPrecision, isFlat, tuiCreateDefaultDayRangePeriods, tuiCreateTimePeriods, tuiGetPrecision, tuiIsFlat, tuiReplayControlValueChangesFactory };
73
81
  //# sourceMappingURL=taiga-ui-kit-utils-miscellaneous.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-miscellaneous.js","sources":["ng://@taiga-ui/kit/utils/miscellaneous/create-default-day-range-periods.ts","ng://@taiga-ui/kit/utils/miscellaneous/create-time-periods.ts","ng://@taiga-ui/kit/utils/miscellaneous/get-precision.ts","ng://@taiga-ui/kit/utils/miscellaneous/is-flat.ts","ng://@taiga-ui/kit/utils/miscellaneous/replay-control-value-changes-factory.ts","ng://@taiga-ui/kit/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.ts"],"sourcesContent":["import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","import {HOURS_IN_DAY, TuiTime} from '@taiga-ui/cdk';\n\nexport function tuiCreateTimePeriods(\n minHour: number = 0,\n maxHour: number = HOURS_IN_DAY,\n minutes: readonly number[] = [0, 30],\n): readonly TuiTime[] {\n const timeArray: TuiTime[] = [];\n\n for (let i = minHour; i < maxHour; i++) {\n for (let j = 0; j < minutes.length; j++) {\n const time = new TuiTime(i, minutes[j]);\n\n timeArray.push(time);\n }\n }\n\n return timeArray;\n}\n","/**\n * @return fractional length\n */\nexport function getPrecision(num: number): number {\n const [, fractionPart = ''] = String(num).split('.');\n\n return fractionPart.length;\n}\n","export function isFlat<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]>,\n): items is readonly T[] {\n return !Array.isArray(items[0]);\n}\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport {NgControl} from '@angular/forms';\nimport {\n TuiControlValueTransformer,\n TuiDay,\n TuiDayRange,\n tuiReplayedValueChangesFrom,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * @internal\n * @deprecated use {@link tuiReplayControlValueChangesFactory}\n * TODO: 3.0 name should be shorter and start with lowercase letter.\n */\nexport function TuiReplayControlValueChangesFactory<\n T extends TuiDayRange | TuiDay | [TuiDay | null, TuiTime | null],\n>(\n control: NgControl | null,\n valueTransformer?: TuiControlValueTransformer<T> | null,\n): Observable<T | null> | null {\n return control\n ? tuiReplayedValueChangesFrom(control).pipe(\n map(value =>\n valueTransformer\n ? valueTransformer.fromControlValue(value)\n : (value as T),\n ),\n )\n : of(null);\n}\n\nexport const tuiReplayControlValueChangesFactory = TuiReplayControlValueChangesFactory;\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-utils-miscellaneous.js","sources":["ng://@taiga-ui/kit/utils/miscellaneous/create-default-day-range-periods.ts","ng://@taiga-ui/kit/utils/miscellaneous/create-time-periods.ts","ng://@taiga-ui/kit/utils/miscellaneous/get-precision.ts","ng://@taiga-ui/kit/utils/miscellaneous/is-flat.ts","ng://@taiga-ui/kit/utils/miscellaneous/replay-control-value-changes-factory.ts","ng://@taiga-ui/kit/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.ts"],"sourcesContent":["import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n 'For all the time',\n 'Today',\n 'Yesterday',\n 'Current week',\n 'Current month',\n 'Previous month',\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","import {HOURS_IN_DAY, TuiTime} from '@taiga-ui/cdk';\n\nexport function tuiCreateTimePeriods(\n minHour: number = 0,\n maxHour: number = HOURS_IN_DAY,\n minutes: readonly number[] = [0, 30],\n): readonly TuiTime[] {\n const timeArray: TuiTime[] = [];\n\n for (let i = minHour; i < maxHour; i++) {\n for (let j = 0; j < minutes.length; j++) {\n const time = new TuiTime(i, minutes[j]);\n\n timeArray.push(time);\n }\n }\n\n return timeArray;\n}\n","/**\n * @deprecated: use {@link tuiGetPrecision} instead\n * @return fractional length\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getPrecision(num: number): number {\n const [, fractionPart = ''] = String(num).split('.');\n\n return fractionPart.length;\n}\n\nexport const tuiGetPrecision = getPrecision;\n","/**\n * @deprecated: use {@link tuiIsFlat} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isFlat<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]>,\n): items is readonly T[] {\n return !Array.isArray(items[0]);\n}\n\nexport const tuiIsFlat = isFlat;\n","/* eslint-disable @typescript-eslint/naming-convention */\nimport {NgControl} from '@angular/forms';\nimport {\n TuiControlValueTransformer,\n TuiDay,\n TuiDayRange,\n tuiReplayedValueChangesFrom,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * @internal\n * @deprecated use {@link tuiReplayControlValueChangesFactory}\n * TODO: 3.0 name should be shorter and start with lowercase letter.\n */\nexport function TuiReplayControlValueChangesFactory<\n T extends TuiDayRange | TuiDay | [TuiDay | null, TuiTime | null],\n>(\n control: NgControl | null,\n valueTransformer?: TuiControlValueTransformer<T> | null,\n): Observable<T | null> | null {\n return control\n ? tuiReplayedValueChangesFrom(control).pipe(\n map(value =>\n valueTransformer\n ? valueTransformer.fromControlValue(value)\n : (value as T),\n ),\n )\n : of(null);\n}\n\nexport const tuiReplayControlValueChangesFactory = TuiReplayControlValueChangesFactory;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -72,7 +72,7 @@ var TuiActionComponent = /** @class */ (function (_super) {
72
72
  TuiActionComponent = TuiActionComponent_1 = __decorate([
73
73
  Component({
74
74
  selector: 'tui-action, a[tuiAction]',
75
- 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",
75
+ 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",
76
76
  changeDetection: ChangeDetectionStrategy.OnPush,
77
77
  providers: [
78
78
  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;;IAewC,sCAAsB;IAY1D,4BACoC,aAAqC,EAChC,UAAmC;QAF5E,YAII,iBAAO,SASV;QAXwC,gBAAU,GAAV,UAAU,CAAyB;QAR5E,UAAI,GAAG,EAAE,CAAC;QAED,YAAM,GAAG,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,cAAQ,GAAG,KAAK,CAAC;QAQtB,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;;SAEjB;QAED,aAAa,CAAC,SAAS,CAAC,UAAA,OAAO;YAC3B,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;;KACN;2BAzBQ,kBAAkB;IA2B3B,sBAAI,sDAAsB;aAA1B;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;aACxC;YAED,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7E;;;OAAA;IAED,sBAAI,uCAAO;aAAX;YACI,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACvD;;;OAAA;IAID,sCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAID,sCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,2CAAc,GAAd,UAAe,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;;;gBAxCkD,sBAAsB,uBAApE,MAAM,SAAC,sBAAsB;gBACmB,UAAU,uBAA1D,MAAM,SAAC,UAAU;;IAZtB;QADC,SAAS,CAAC,kBAAkB,CAAC;gEAC4C;IAI1E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;oDACP;IAmCV;QAFC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;QACjC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;uDAGnC;IAID;QAFC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QACpC,YAAY,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;uDAGrC;IAjDQ,kBAAkB;QAd9B,SAAS,CAAC;YACP,QAAQ,EAAE,0BAA0B;YACpC,qtBAAqC;YAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP,iBAAiB;gBACjB,sBAAsB;gBACtB;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,oBAAkB,GAAA,CAAC;iBACpD;aACJ;;SACJ,CAAC;QAcO,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;QAC9B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OAdd,kBAAkB,CAsD9B;IAAD,yBAAC;CAAA,CAtDuC,sBAAsB;;;IChB9D;KAA+B;IAAlB,eAAe;QAX3B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,qBAAqB;gBACrB,oBAAoB;gBACpB,mBAAmB;aACtB;YACD,YAAY,EAAE,CAAC,kBAAkB,CAAC;YAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC;OACW,eAAe,CAAG;IAAD,sBAAC;CAA/B;;ACnBA;;;;;;"}
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;;IAewC,sCAAsB;IAY1D,4BACoC,aAAqC,EAChC,UAAmC;QAF5E,YAII,iBAAO,SASV;QAXwC,gBAAU,GAAV,UAAU,CAAyB;QAR5E,UAAI,GAAG,EAAE,CAAC;QAED,YAAM,GAAG,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpD,cAAQ,GAAG,KAAK,CAAC;QAQtB,IAAI,CAAC,KAAI,CAAC,MAAM,EAAE;;SAEjB;QAED,aAAa,CAAC,SAAS,CAAC,UAAA,OAAO;YAC3B,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SACpC,CAAC,CAAC;;KACN;2BAzBQ,kBAAkB;IA2B3B,sBAAI,sDAAsB;aAA1B;YACI,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;aACxC;YAED,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7E;;;OAAA;IAED,sBAAI,uCAAO;aAAX;YACI,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACvD;;;OAAA;IAID,sCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAID,sCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,2CAAc,GAAd,UAAe,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;;;gBAxCkD,sBAAsB,uBAApE,MAAM,SAAC,sBAAsB;gBACmB,UAAU,uBAA1D,MAAM,SAAC,UAAU;;IAZtB;QADC,SAAS,CAAC,kBAAkB,CAAC;gEAC4C;IAI1E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;oDACP;IAmCV;QAFC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;QACjC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;uDAGnC;IAID;QAFC,YAAY,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QACpC,YAAY,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;uDAGrC;IAjDQ,kBAAkB;QAd9B,SAAS,CAAC;YACP,QAAQ,EAAE,0BAA0B;YACpC,stBAAqC;YAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP,iBAAiB;gBACjB,sBAAsB;gBACtB;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,oBAAkB,GAAA,CAAC;iBACpD;aACJ;;SACJ,CAAC;QAcO,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;QAC9B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OAdd,kBAAkB,CAsD9B;IAAD,yBAAC;CAAA,CAtDuC,sBAAsB;;;IChB9D;KAA+B;IAAlB,eAAe;QAX3B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,qBAAqB;gBACrB,oBAAoB;gBACpB,mBAAmB;aACtB;YACD,YAAY,EAAE,CAAC,kBAAkB,CAAC;YAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC;OACW,eAAe,CAAG;IAAD,sBAAC;CAA/B;;ACnBA;;;;;;"}
@@ -70,7 +70,7 @@ var TuiBreadcrumbsWrapperComponent = /** @class */ (function () {
70
70
  Component({
71
71
  selector: 'tui-breadcrumbs:not([items])',
72
72
  changeDetection: ChangeDetectionStrategy.OnPush,
73
- 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",
73
+ 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",
74
74
  providers: [
75
75
  {
76
76
  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;KAAsC;IAAzB,sBAAsB;QAHlC,SAAS,CAAC;YACP,QAAQ,EAAE,4BAA4B;SACzC,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACCA;;IAOA;QAGI,UAAK,GAAkC,EAAE,CAAC;QAK1C,SAAI,GAAa,GAAG,CAAC;QAEZ,sBAAiB,GAAuC,UAAC,EAEjE;gBADG,wCAAiB;YACf,OAAA,iBAAiB,IAAI,2BAA2B;SAAA,CAAC;KAC1D;IAVG;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DACyB;IAK1C;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,gBAAgB,CAAC;QAC7B,cAAc,EAAE;yDACI;IARZ,uBAAuB;QANnC,SAAS,CAAC;YACP,QAAQ,EAAE,wBAAwB;YAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,uhCAA0C;;SAE7C,CAAC;OACW,uBAAuB,CAanC;IAAD,8BAAC;CAbD;;;ICeA;QAII,SAAI,GAAa,GAAG,CAAC;QAGZ,UAAK,GAAoD,WAAW,CAAC;QAErE,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC9B,SAAI,GAAG,SAAS,CAAC;KAG7B;uCAbY,8BAA8B;IAYvC,oDAAW,GAAX,eAAsB;;IARtB;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,gBAAgB,CAAC;QAC7B,cAAc,EAAE;gEACI;IAGrB;QADC,eAAe,CAAC,sBAAsB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;iEACiB;IAPrE,8BAA8B;QAZ1C,SAAS,CAAC;YACP,QAAQ,EAAE,8BAA8B;YACxC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,6UAAkD;YAElD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,gBAAgB;oBACzB,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,gCAA8B,GAAA,CAAC;iBAChE;aACJ;;SACJ,CAAC;OACW,8BAA8B,CAa1C;IAAD,qCAAC;CAbD;;;ICGA;KAAoC;IAAvB,oBAAoB;QArBhC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,YAAY;gBACZ,mBAAmB;gBACnB,YAAY;gBACZ,aAAa;gBACb,YAAY;gBACZ,aAAa;aAChB;YACD,YAAY,EAAE;gBACV,uBAAuB;gBACvB,8BAA8B;gBAC9B,sBAAsB;aACzB;YACD,OAAO,EAAE;gBACL,uBAAuB;gBACvB,8BAA8B;gBAC9B,sBAAsB;aACzB;SACJ,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;AC/BA;;;;;;"}
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;KAAsC;IAAzB,sBAAsB;QAHlC,SAAS,CAAC;YACP,QAAQ,EAAE,4BAA4B;SACzC,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACCA;;IAOA;QAGI,UAAK,GAAkC,EAAE,CAAC;QAK1C,SAAI,GAAa,GAAG,CAAC;QAEZ,sBAAiB,GAAuC,UAAC,EAEjE;gBADG,wCAAiB;YACf,OAAA,iBAAiB,IAAI,2BAA2B;SAAA,CAAC;KAC1D;IAVG;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DACyB;IAK1C;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,gBAAgB,CAAC;QAC7B,cAAc,EAAE;yDACI;IARZ,uBAAuB;QANnC,SAAS,CAAC;YACP,QAAQ,EAAE,wBAAwB;YAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,uhCAA0C;;SAE7C,CAAC;OACW,uBAAuB,CAanC;IAAD,8BAAC;CAbD;;;ICeA;QAII,SAAI,GAAa,GAAG,CAAC;QAGZ,UAAK,GAAoD,WAAW,CAAC;QAErE,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC9B,SAAI,GAAG,SAAS,CAAC;KAG7B;uCAbY,8BAA8B;IAYvC,oDAAW,GAAX,eAAsB;;IARtB;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,gBAAgB,CAAC;QAC7B,cAAc,EAAE;gEACI;IAGrB;QADC,eAAe,CAAC,sBAAsB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;iEACiB;IAPrE,8BAA8B;QAZ1C,SAAS,CAAC;YACP,QAAQ,EAAE,8BAA8B;YACxC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,8UAAkD;YAElD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,gBAAgB;oBACzB,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,gCAA8B,GAAA,CAAC;iBAChE;aACJ;;SACJ,CAAC;OACW,8BAA8B,CAa1C;IAAD,qCAAC;CAbD;;;ICGA;KAAoC;IAAvB,oBAAoB;QArBhC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,YAAY;gBACZ,mBAAmB;gBACnB,YAAY;gBACZ,aAAa;gBACb,YAAY;gBACZ,aAAa;aAChB;YACD,YAAY,EAAE;gBACV,uBAAuB;gBACvB,8BAA8B;gBAC9B,sBAAsB;aACzB;YACD,OAAO,EAAE;gBACL,uBAAuB;gBACvB,8BAA8B;gBAC9B,sBAAsB;aACzB;SACJ,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;AC/BA;;;;;;"}
@@ -203,7 +203,7 @@ var TuiFileComponent = /** @class */ (function () {
203
203
  Component({
204
204
  selector: 'tui-file',
205
205
  changeDetection: ChangeDetectionStrategy.OnPush,
206
- 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",
206
+ 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",
207
207
  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)}"]
208
208
  }),
209
209
  __param(0, Inject(TUI_IS_MOBILE)),
@@ -247,7 +247,7 @@ var TuiFilesComponent = /** @class */ (function () {
247
247
  TuiFilesComponent = __decorate([
248
248
  Component({
249
249
  selector: 'tui-files',
250
- 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",
250
+ 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",
251
251
  changeDetection: ChangeDetectionStrategy.OnPush,
252
252
  encapsulation: ViewEncapsulation.None,
253
253
  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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"}
@@ -185,7 +185,7 @@ var TuiFileOldComponent = /** @class */ (function () {
185
185
  Component({
186
186
  selector: 'tui-file',
187
187
  changeDetection: ChangeDetectionStrategy.OnPush,
188
- template: "<ng-container *ngIf=\"!src; else withLink\">\n <ng-container *ngTemplateOutlet=\"fileInfoTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"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 class=\"preview\"\n [class.preview_big]=\"isBig\"\n >\n <img\n *ngIf=\"preview && (fileTexts$ | async) as texts; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"image\"\n [alt]=\"texts.preview\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"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=\"icon\"\n [class.icon_deleted]=\"isDeleted\"\n [class.icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <div class=\"text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"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=\"content\"\n [content]=\"content\"\n ></div>\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=\"remove\"\n [title]=\"texts.remove\"\n [class.remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n",
188
+ template: "<ng-container *ngIf=\"!src; else withLink\">\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"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 class=\"preview\"\n [class.preview_big]=\"isBig\"\n >\n <img\n *ngIf=\"preview && (fileTexts$ | async) as texts; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"image\"\n [alt]=\"texts.preview\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"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=\"icon\"\n [class.icon_deleted]=\"isDeleted\"\n [class.icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <div class=\"text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"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=\"content\"\n [content]=\"content\"\n ></div>\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=\"remove\"\n [title]=\"texts.remove\"\n [class.remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n",
189
189
  styles: [":host{position:relative;display:flex;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 .remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.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)}.link:hover{background-color:var(--tui-base-02)}.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:rgba(0,0,0,.24)}.preview_big{width:4rem;height:4rem;margin-right:1rem}.preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:#333;opacity:.08}.image{max-width:100%;max-height:100%}.loader{position:absolute;top:0;left:0;width:100%;height:100%}.icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.icon_error{color:var(--tui-error-fill)}.icon_deleted{color:var(--tui-base-06)}.remove{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.remove:focus,.remove_mobile{opacity:1}.wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.text{display:flex}.size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.type{flex-shrink:0}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}"]
190
190
  }),
191
191
  __param(0, Inject(TUI_IS_MOBILE)),