@taiga-ui/kit 2.31.0 → 2.35.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 (931) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +2 -2
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js +3 -3
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +44 -8
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js +2 -2
  13. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  15. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +2 -2
  17. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -2
  19. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-badge.umd.min.js +1 -1
  21. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-badged-content.umd.js +2 -2
  23. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +2 -2
  25. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +2 -2
  27. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  29. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  31. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  33. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  35. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  37. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
  39. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +2 -2
  41. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
  43. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  45. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  47. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  49. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-combo-box.umd.js +128 -48
  51. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  53. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +17 -11
  55. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  57. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-field-error.umd.js +10 -15
  59. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +1 -1
  61. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
  63. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  65. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-copy.umd.js +47 -17
  67. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +2 -2
  69. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-count.umd.js +43 -5
  71. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  73. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +69 -25
  75. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +2 -2
  77. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +70 -26
  79. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
  81. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-date.umd.js +65 -25
  83. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  85. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -15
  87. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +106 -34
  91. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +2 -2
  93. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-month.umd.js +94 -24
  95. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +2 -2
  97. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-number.umd.js +50 -4
  99. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  101. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-password.umd.js +49 -3
  103. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +14 -5
  107. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-input-phone.umd.js +64 -22
  111. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +2 -2
  113. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-input-range.umd.js +8 -5
  115. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  117. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-input-slider.umd.js +8 -5
  119. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  121. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-input-tag.umd.js +53 -17
  123. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  125. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-input-time.umd.js +19 -7
  127. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +2 -2
  129. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-input.umd.js +32 -3
  131. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  133. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +24 -14
  135. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  137. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  139. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  141. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-multi-select.umd.js +67 -19
  143. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  145. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-progress.umd.js +140 -73
  147. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  149. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
  151. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  153. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  154. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
  155. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  157. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-radio-list.umd.js +2 -2
  159. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  161. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-radio.umd.js +7 -2
  163. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  165. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  167. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  168. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-kit-components-rating.umd.js +5 -0
  170. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  172. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-select.umd.js +107 -36
  174. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  176. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-slider.umd.js +155 -27
  178. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  179. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  180. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  182. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  183. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  184. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  186. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  187. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  188. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  189. package/bundles/taiga-ui-kit-components-tag.umd.js +11 -5
  190. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  191. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  192. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  193. package/bundles/taiga-ui-kit-components-text-area.umd.js +6 -4
  194. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  195. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  196. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  197. package/bundles/taiga-ui-kit-components-toggle.umd.js +7 -2
  198. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  199. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  200. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  201. package/bundles/taiga-ui-kit-constants.umd.js +8 -0
  202. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  203. package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
  204. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  205. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  206. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  207. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +421 -0
  208. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -0
  209. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +16 -0
  210. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -0
  211. package/bundles/taiga-ui-kit-pipes.umd.js +12 -4
  212. package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
  213. package/bundles/taiga-ui-kit-pipes.umd.min.js +1 -1
  214. package/bundles/taiga-ui-kit-providers.umd.js +31 -13
  215. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  216. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  217. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  218. package/bundles/taiga-ui-kit-tokens.umd.js +242 -4
  219. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  220. package/bundles/taiga-ui-kit-tokens.umd.min.js +15 -1
  221. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  222. package/bundles/taiga-ui-kit-utils-mask.umd.js +17 -8
  223. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  224. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  225. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  226. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -1
  227. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  228. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
  229. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  230. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  231. package/components/arrow/arrow-options.d.ts +18 -0
  232. package/components/arrow/arrow.component.d.ts +5 -3
  233. package/components/arrow/index.d.ts +1 -0
  234. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  235. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  236. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  237. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  238. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  239. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  240. package/components/carousel/carousel-buttons.directive.d.ts +2 -2
  241. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  242. package/components/checkbox/checkbox.component.d.ts +2 -2
  243. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  244. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  245. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  246. package/components/combo-box/combo-box-strict.directive.d.ts +7 -0
  247. package/components/combo-box/combo-box.component.d.ts +11 -7
  248. package/components/combo-box/combo-box.directive.d.ts +6 -0
  249. package/components/combo-box/combo-box.providers.d.ts +2 -0
  250. package/components/combo-box/index.d.ts +3 -0
  251. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  252. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +5 -3
  253. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  254. package/components/field-error/field-error.component.d.ts +1 -2
  255. package/components/field-error/field-error.module.d.ts +3 -0
  256. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  257. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  258. package/components/input/index.d.ts +1 -0
  259. package/components/input/input.directive.d.ts +5 -0
  260. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  261. package/components/input-copy/index.d.ts +2 -0
  262. package/components/input-copy/input-copy.directive.d.ts +5 -0
  263. package/components/input-copy/input-copy.providers.d.ts +2 -0
  264. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  265. package/components/input-count/index.d.ts +1 -0
  266. package/components/input-count/input-count-options.d.ts +10 -4
  267. package/components/input-count/input-count.component.d.ts +3 -3
  268. package/components/input-count/input-count.directive.d.ts +6 -0
  269. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  270. package/components/input-date/index.d.ts +2 -0
  271. package/components/input-date/input-date.component.d.ts +0 -1
  272. package/components/input-date/input-date.directive.d.ts +7 -0
  273. package/components/input-date/input-date.providers.d.ts +4 -0
  274. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  275. package/components/input-date-range/index.d.ts +2 -0
  276. package/components/input-date-range/input-date-range.component.d.ts +0 -1
  277. package/components/input-date-range/input-date-range.directive.d.ts +7 -0
  278. package/components/input-date-range/input-date-range.providers.d.ts +4 -0
  279. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  280. package/components/input-date-time/index.d.ts +2 -0
  281. package/components/input-date-time/input-date-time.component.d.ts +0 -1
  282. package/components/input-date-time/input-date-time.directive.d.ts +7 -0
  283. package/components/input-date-time/input-date-time.providers.d.ts +4 -0
  284. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  285. package/components/input-inline/input-inline.component.d.ts +0 -1
  286. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  287. package/components/input-month/index.d.ts +2 -0
  288. package/components/input-month/input-month.component.d.ts +4 -2
  289. package/components/input-month/input-month.directive.d.ts +14 -0
  290. package/components/input-month/input-month.providers.d.ts +2 -0
  291. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  292. package/components/input-month-range/index.d.ts +2 -0
  293. package/components/input-month-range/input-month-range.component.d.ts +4 -5
  294. package/components/input-month-range/input-month-range.directive.d.ts +14 -0
  295. package/components/input-month-range/input-month-range.providers.d.ts +2 -0
  296. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  297. package/components/input-number/index.d.ts +1 -0
  298. package/components/input-number/input-number.component.d.ts +1 -1
  299. package/components/input-number/input-number.directive.d.ts +10 -0
  300. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  301. package/components/input-password/index.d.ts +1 -0
  302. package/components/input-password/input-password-options.d.ts +10 -4
  303. package/components/input-password/input-password.component.d.ts +3 -3
  304. package/components/input-password/input-password.directive.d.ts +8 -0
  305. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  306. package/components/input-phone/index.d.ts +1 -0
  307. package/components/input-phone/input-phone.component.d.ts +1 -1
  308. package/components/input-phone/input-phone.directive.d.ts +10 -0
  309. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  310. package/components/input-phone-international/input-phone-international.component.d.ts +2 -1
  311. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  312. package/components/input-range/input-range.component.d.ts +2 -1
  313. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  314. package/components/input-slider/input-slider.component.d.ts +2 -1
  315. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  316. package/components/input-tag/index.d.ts +1 -0
  317. package/components/input-tag/input-tag-options.d.ts +7 -0
  318. package/components/input-tag/input-tag.component.d.ts +9 -4
  319. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  320. package/components/input-time/input-time-options.d.ts +13 -4
  321. package/components/input-time/input-time.component.d.ts +9 -9
  322. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  323. package/components/line-clamp/line-clamp.component.d.ts +7 -3
  324. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  325. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  326. package/components/multi-select/hide-selected.pipe.d.ts +1 -1
  327. package/components/multi-select/index.d.ts +1 -0
  328. package/components/multi-select/multi-select-options.d.ts +10 -0
  329. package/components/multi-select/multi-select.component.d.ts +17 -8
  330. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  331. package/components/progress/index.d.ts +4 -3
  332. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +11 -0
  333. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  334. package/components/progress/{pipes → utils}/abstract-color-segments.d.ts +0 -0
  335. package/components/progress/utils/calculate-color-segments.d.ts +5 -0
  336. package/components/progress/{pipes → utils}/progress-color-segments-async.pipe.d.ts +5 -0
  337. package/components/progress/utils/progress-color-segments.pipe.d.ts +9 -0
  338. package/components/radio/radio-options.d.ts +10 -4
  339. package/components/radio/radio.component.d.ts +2 -2
  340. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  341. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  342. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  343. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  344. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  345. package/components/rating/rating-options.d.ts +2 -1
  346. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  347. package/components/select/index.d.ts +3 -0
  348. package/components/select/select-options.d.ts +9 -0
  349. package/components/select/select.component.d.ts +11 -5
  350. package/components/select/select.directive.d.ts +7 -0
  351. package/components/select/select.providers.d.ts +2 -0
  352. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  353. package/components/slider/index.d.ts +1 -0
  354. package/components/slider/slider-old.component.d.ts +19 -0
  355. package/components/slider/slider.component.d.ts +15 -13
  356. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  357. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  358. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  359. package/components/tag/tag.component.d.ts +1 -0
  360. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  361. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  362. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  363. package/components/toggle/toggle-options.d.ts +10 -4
  364. package/components/toggle/toggle.component.d.ts +3 -3
  365. package/constants/index.d.ts +1 -0
  366. package/constants/max-time-values.d.ts +2 -0
  367. package/constants/taiga-ui-kit-constants.metadata.json +1 -1
  368. package/directives/lazy-loading/index.d.ts +1 -0
  369. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.d.ts +0 -1
  370. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  371. package/esm2015/abstract/input-slider.js +2 -2
  372. package/esm2015/abstract/slider/slider.js +2 -2
  373. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  374. package/esm2015/components/accordion/accordion.component.js +3 -3
  375. package/esm2015/components/arrow/arrow-options.js +28 -0
  376. package/esm2015/components/arrow/arrow.component.js +12 -8
  377. package/esm2015/components/arrow/arrow.module.js +3 -2
  378. package/esm2015/components/arrow/index.js +2 -1
  379. package/esm2015/components/avatar/avatar.component.js +3 -3
  380. package/esm2015/components/badge/badge.component.js +3 -3
  381. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  382. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  383. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  384. package/esm2015/components/carousel/carousel-buttons.directive.js +1 -1
  385. package/esm2015/components/carousel/carousel.component.js +1 -1
  386. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  387. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  388. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  389. package/esm2015/components/combo-box/combo-box-strict.directive.js +31 -0
  390. package/esm2015/components/combo-box/combo-box.component.js +40 -51
  391. package/esm2015/components/combo-box/combo-box.directive.js +25 -0
  392. package/esm2015/components/combo-box/combo-box.module.js +15 -4
  393. package/esm2015/components/combo-box/combo-box.providers.js +28 -0
  394. package/esm2015/components/combo-box/index.js +4 -1
  395. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +17 -11
  396. package/esm2015/components/field-error/field-error.component.js +8 -12
  397. package/esm2015/components/field-error/field-error.module.js +6 -2
  398. package/esm2015/components/filter/filter.component.js +3 -3
  399. package/esm2015/components/input/index.js +2 -1
  400. package/esm2015/components/input/input.component.js +2 -2
  401. package/esm2015/components/input/input.directive.js +22 -0
  402. package/esm2015/components/input/input.module.js +5 -4
  403. package/esm2015/components/input/input.providers.js +6 -2
  404. package/esm2015/components/input-copy/index.js +3 -1
  405. package/esm2015/components/input-copy/input-copy.component.js +8 -15
  406. package/esm2015/components/input-copy/input-copy.directive.js +22 -0
  407. package/esm2015/components/input-copy/input-copy.module.js +5 -4
  408. package/esm2015/components/input-copy/input-copy.providers.js +16 -0
  409. package/esm2015/components/input-count/index.js +2 -1
  410. package/esm2015/components/input-count/input-count-options.js +5 -1
  411. package/esm2015/components/input-count/input-count.component.js +8 -4
  412. package/esm2015/components/input-count/input-count.directive.js +26 -0
  413. package/esm2015/components/input-count/input-count.module.js +5 -4
  414. package/esm2015/components/input-date/index.js +3 -1
  415. package/esm2015/components/input-date/input-date.component.js +9 -27
  416. package/esm2015/components/input-date/input-date.directive.js +28 -0
  417. package/esm2015/components/input-date/input-date.module.js +5 -4
  418. package/esm2015/components/input-date/input-date.providers.js +29 -0
  419. package/esm2015/components/input-date-range/index.js +3 -1
  420. package/esm2015/components/input-date-range/input-date-range.component.js +9 -27
  421. package/esm2015/components/input-date-range/input-date-range.directive.js +28 -0
  422. package/esm2015/components/input-date-range/input-date-range.module.js +9 -4
  423. package/esm2015/components/input-date-range/input-date-range.providers.js +29 -0
  424. package/esm2015/components/input-date-time/index.js +3 -1
  425. package/esm2015/components/input-date-time/input-date-time.component.js +10 -28
  426. package/esm2015/components/input-date-time/input-date-time.directive.js +28 -0
  427. package/esm2015/components/input-date-time/input-date-time.module.js +9 -4
  428. package/esm2015/components/input-date-time/input-date-time.providers.js +29 -0
  429. package/esm2015/components/input-inline/input-inline.component.js +4 -13
  430. package/esm2015/components/input-month/index.js +3 -1
  431. package/esm2015/components/input-month/input-month.component.js +19 -21
  432. package/esm2015/components/input-month/input-month.directive.js +55 -0
  433. package/esm2015/components/input-month/input-month.module.js +7 -6
  434. package/esm2015/components/input-month/input-month.providers.js +19 -0
  435. package/esm2015/components/input-month-range/index.js +3 -1
  436. package/esm2015/components/input-month-range/input-month-range.component.js +21 -33
  437. package/esm2015/components/input-month-range/input-month-range.directive.js +60 -0
  438. package/esm2015/components/input-month-range/input-month-range.module.js +11 -5
  439. package/esm2015/components/input-month-range/input-month-range.providers.js +19 -0
  440. package/esm2015/components/input-number/index.js +2 -1
  441. package/esm2015/components/input-number/input-number.component.js +8 -4
  442. package/esm2015/components/input-number/input-number.directive.js +35 -0
  443. package/esm2015/components/input-number/input-number.module.js +5 -4
  444. package/esm2015/components/input-password/index.js +2 -1
  445. package/esm2015/components/input-password/input-password-options.js +5 -1
  446. package/esm2015/components/input-password/input-password.component.js +7 -3
  447. package/esm2015/components/input-password/input-password.directive.js +30 -0
  448. package/esm2015/components/input-password/input-password.module.js +9 -4
  449. package/esm2015/components/input-phone/index.js +2 -1
  450. package/esm2015/components/input-phone/input-phone.component.js +13 -24
  451. package/esm2015/components/input-phone/input-phone.directive.js +35 -0
  452. package/esm2015/components/input-phone/input-phone.module.js +5 -4
  453. package/esm2015/components/input-phone/input-phone.providers.js +17 -3
  454. package/esm2015/components/input-phone-international/input-phone-international.component.js +11 -6
  455. package/esm2015/components/input-range/input-range.component.js +10 -7
  456. package/esm2015/components/input-slider/input-slider.component.js +10 -7
  457. package/esm2015/components/input-tag/index.js +2 -1
  458. package/esm2015/components/input-tag/input-tag-options.js +9 -0
  459. package/esm2015/components/input-tag/input-tag.component.js +40 -17
  460. package/esm2015/components/input-time/input-time-options.js +8 -1
  461. package/esm2015/components/input-time/input-time.component.js +10 -5
  462. package/esm2015/components/line-clamp/line-clamp.component.js +25 -15
  463. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  464. package/esm2015/components/multi-select/hide-selected.pipe.js +4 -3
  465. package/esm2015/components/multi-select/index.js +2 -1
  466. package/esm2015/components/multi-select/multi-select-options.js +13 -0
  467. package/esm2015/components/multi-select/multi-select.component.js +42 -15
  468. package/esm2015/components/multi-select/multi-select.module.js +3 -1
  469. package/esm2015/components/progress/index.js +5 -4
  470. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +48 -0
  471. package/esm2015/components/progress/progress.module.js +6 -3
  472. package/esm2015/components/progress/utils/abstract-color-segments.js +32 -0
  473. package/esm2015/components/progress/utils/calculate-color-segments.js +10 -0
  474. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +21 -0
  475. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +19 -0
  476. package/esm2015/components/radio/radio-options.js +5 -1
  477. package/esm2015/components/radio/radio.component.js +3 -3
  478. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  479. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  480. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  481. package/esm2015/components/range/range.component.js +1 -1
  482. package/esm2015/components/rating/rating-options.js +5 -1
  483. package/esm2015/components/select/index.js +4 -1
  484. package/esm2015/components/select/select-options.js +12 -0
  485. package/esm2015/components/select/select.component.js +36 -39
  486. package/esm2015/components/select/select.directive.js +28 -0
  487. package/esm2015/components/select/select.module.js +5 -4
  488. package/esm2015/components/select/select.providers.js +28 -0
  489. package/esm2015/components/slider/index.js +2 -1
  490. package/esm2015/components/slider/slider-old.component.js +71 -0
  491. package/esm2015/components/slider/slider.component.js +78 -44
  492. package/esm2015/components/slider/slider.module.js +4 -3
  493. package/esm2015/components/stepper/step/step.component.js +3 -3
  494. package/esm2015/components/tabs/tab/tab.providers.js +3 -3
  495. package/esm2015/components/tag/tag.component.js +12 -6
  496. package/esm2015/components/text-area/text-area.component.js +7 -4
  497. package/esm2015/components/text-area/text-area.module.js +2 -3
  498. package/esm2015/components/toggle/toggle-options.js +5 -1
  499. package/esm2015/components/toggle/toggle.component.js +3 -3
  500. package/esm2015/constants/index.js +2 -1
  501. package/esm2015/constants/max-time-values.js +7 -0
  502. package/esm2015/directives/lazy-loading/index.js +2 -1
  503. package/esm2015/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  504. package/esm2015/pipes/field-error/field-error-content-pipe.js +35 -0
  505. package/esm2015/pipes/field-error/field-error-pipe.js +120 -0
  506. package/esm2015/pipes/field-error/field-error.module.js +14 -0
  507. package/esm2015/pipes/field-error/index.js +4 -0
  508. package/esm2015/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  509. package/esm2015/pipes/index.js +2 -1
  510. package/esm2015/providers/index.js +2 -1
  511. package/esm2015/providers/month-formatter.provider.js +17 -0
  512. package/esm2015/providers/value-accessor.provider.js +4 -3
  513. package/esm2015/tokens/index.js +3 -1
  514. package/esm2015/tokens/items-handlers.js +15 -0
  515. package/esm2015/tokens/month-formatter.js +3 -0
  516. package/esm2015/types/index.js +1 -1
  517. package/esm2015/types/time-format-parts.js +1 -0
  518. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +7 -6
  519. package/esm2015/utils/mask/create-time-mask.js +16 -8
  520. package/esm2015/utils/miscellaneous/get-precision.js +2 -2
  521. package/esm5/abstract/input-slider.js +2 -2
  522. package/esm5/abstract/slider/slider.js +2 -2
  523. package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
  524. package/esm5/components/accordion/accordion.component.js +3 -3
  525. package/esm5/components/arrow/arrow-options.js +29 -0
  526. package/esm5/components/arrow/arrow.component.js +12 -8
  527. package/esm5/components/arrow/arrow.module.js +3 -2
  528. package/esm5/components/arrow/index.js +2 -1
  529. package/esm5/components/avatar/avatar.component.js +3 -3
  530. package/esm5/components/badge/badge.component.js +3 -3
  531. package/esm5/components/badged-content/badged-content.component.js +3 -3
  532. package/esm5/components/breadcrumbs/breadcrumbs.component.js +3 -3
  533. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  534. package/esm5/components/carousel/carousel-buttons.directive.js +1 -1
  535. package/esm5/components/carousel/carousel.component.js +1 -1
  536. package/esm5/components/checkbox/checkbox.component.js +3 -3
  537. package/esm5/components/checkbox-block/checkbox-block.component.js +3 -3
  538. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  539. package/esm5/components/combo-box/combo-box-strict.directive.js +32 -0
  540. package/esm5/components/combo-box/combo-box.component.js +39 -51
  541. package/esm5/components/combo-box/combo-box.directive.js +35 -0
  542. package/esm5/components/combo-box/combo-box.module.js +15 -4
  543. package/esm5/components/combo-box/combo-box.providers.js +28 -0
  544. package/esm5/components/combo-box/index.js +4 -1
  545. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +18 -11
  546. package/esm5/components/field-error/field-error.component.js +8 -16
  547. package/esm5/components/field-error/field-error.module.js +6 -2
  548. package/esm5/components/filter/filter.component.js +3 -3
  549. package/esm5/components/input/index.js +2 -1
  550. package/esm5/components/input/input.component.js +2 -2
  551. package/esm5/components/input/input.directive.js +28 -0
  552. package/esm5/components/input/input.module.js +5 -4
  553. package/esm5/components/input/input.providers.js +6 -2
  554. package/esm5/components/input-copy/index.js +3 -1
  555. package/esm5/components/input-copy/input-copy.component.js +7 -15
  556. package/esm5/components/input-copy/input-copy.directive.js +28 -0
  557. package/esm5/components/input-copy/input-copy.module.js +5 -4
  558. package/esm5/components/input-copy/input-copy.providers.js +16 -0
  559. package/esm5/components/input-count/index.js +2 -1
  560. package/esm5/components/input-count/input-count-options.js +6 -1
  561. package/esm5/components/input-count/input-count.component.js +8 -4
  562. package/esm5/components/input-count/input-count.directive.js +32 -0
  563. package/esm5/components/input-count/input-count.module.js +5 -4
  564. package/esm5/components/input-date/index.js +3 -1
  565. package/esm5/components/input-date/input-date.component.js +8 -27
  566. package/esm5/components/input-date/input-date.directive.js +38 -0
  567. package/esm5/components/input-date/input-date.module.js +5 -4
  568. package/esm5/components/input-date/input-date.providers.js +29 -0
  569. package/esm5/components/input-date-range/index.js +3 -1
  570. package/esm5/components/input-date-range/input-date-range.component.js +8 -27
  571. package/esm5/components/input-date-range/input-date-range.directive.js +38 -0
  572. package/esm5/components/input-date-range/input-date-range.module.js +9 -4
  573. package/esm5/components/input-date-range/input-date-range.providers.js +29 -0
  574. package/esm5/components/input-date-time/index.js +3 -1
  575. package/esm5/components/input-date-time/input-date-time.component.js +9 -28
  576. package/esm5/components/input-date-time/input-date-time.directive.js +38 -0
  577. package/esm5/components/input-date-time/input-date-time.module.js +9 -4
  578. package/esm5/components/input-date-time/input-date-time.providers.js +29 -0
  579. package/esm5/components/input-inline/input-inline.component.js +4 -17
  580. package/esm5/components/input-month/index.js +3 -1
  581. package/esm5/components/input-month/input-month.component.js +18 -21
  582. package/esm5/components/input-month/input-month.directive.js +67 -0
  583. package/esm5/components/input-month/input-month.module.js +7 -6
  584. package/esm5/components/input-month/input-month.providers.js +19 -0
  585. package/esm5/components/input-month-range/index.js +3 -1
  586. package/esm5/components/input-month-range/input-month-range.component.js +20 -34
  587. package/esm5/components/input-month-range/input-month-range.directive.js +74 -0
  588. package/esm5/components/input-month-range/input-month-range.module.js +11 -5
  589. package/esm5/components/input-month-range/input-month-range.providers.js +19 -0
  590. package/esm5/components/input-number/index.js +2 -1
  591. package/esm5/components/input-number/input-number.component.js +8 -4
  592. package/esm5/components/input-number/input-number.directive.js +45 -0
  593. package/esm5/components/input-number/input-number.module.js +5 -4
  594. package/esm5/components/input-password/index.js +2 -1
  595. package/esm5/components/input-password/input-password-options.js +6 -1
  596. package/esm5/components/input-password/input-password.component.js +7 -3
  597. package/esm5/components/input-password/input-password.directive.js +36 -0
  598. package/esm5/components/input-password/input-password.module.js +9 -4
  599. package/esm5/components/input-phone/index.js +2 -1
  600. package/esm5/components/input-phone/input-phone.component.js +12 -24
  601. package/esm5/components/input-phone/input-phone.directive.js +45 -0
  602. package/esm5/components/input-phone/input-phone.module.js +5 -4
  603. package/esm5/components/input-phone/input-phone.providers.js +17 -3
  604. package/esm5/components/input-phone-international/input-phone-international.component.js +15 -6
  605. package/esm5/components/input-range/input-range.component.js +10 -7
  606. package/esm5/components/input-slider/input-slider.component.js +10 -7
  607. package/esm5/components/input-tag/index.js +2 -1
  608. package/esm5/components/input-tag/input-tag-options.js +9 -0
  609. package/esm5/components/input-tag/input-tag.component.js +45 -18
  610. package/esm5/components/input-time/input-time-options.js +9 -1
  611. package/esm5/components/input-time/input-time.component.js +10 -5
  612. package/esm5/components/line-clamp/line-clamp.component.js +26 -16
  613. package/esm5/components/marker-icon/marker-icon.component.js +3 -3
  614. package/esm5/components/multi-select/hide-selected.pipe.js +4 -4
  615. package/esm5/components/multi-select/index.js +2 -1
  616. package/esm5/components/multi-select/multi-select-options.js +14 -0
  617. package/esm5/components/multi-select/multi-select.component.js +50 -15
  618. package/esm5/components/multi-select/multi-select.module.js +3 -1
  619. package/esm5/components/progress/index.js +5 -4
  620. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +56 -0
  621. package/esm5/components/progress/progress.module.js +6 -3
  622. package/esm5/components/progress/utils/abstract-color-segments.js +33 -0
  623. package/esm5/components/progress/utils/calculate-color-segments.js +12 -0
  624. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +27 -0
  625. package/esm5/components/progress/utils/progress-color-segments.pipe.js +24 -0
  626. package/esm5/components/radio/radio-options.js +6 -1
  627. package/esm5/components/radio/radio.component.js +3 -3
  628. package/esm5/components/radio-block/radio-block.component.js +3 -3
  629. package/esm5/components/radio-labeled/radio-labeled.component.js +3 -3
  630. package/esm5/components/radio-list/radio-list.component.js +3 -3
  631. package/esm5/components/range/range.component.js +1 -1
  632. package/esm5/components/rating/rating-options.js +6 -1
  633. package/esm5/components/select/index.js +4 -1
  634. package/esm5/components/select/select-options.js +13 -0
  635. package/esm5/components/select/select.component.js +35 -39
  636. package/esm5/components/select/select.directive.js +42 -0
  637. package/esm5/components/select/select.module.js +5 -4
  638. package/esm5/components/select/select.providers.js +28 -0
  639. package/esm5/components/slider/index.js +2 -1
  640. package/esm5/components/slider/slider-old.component.js +90 -0
  641. package/esm5/components/slider/slider.component.js +95 -51
  642. package/esm5/components/slider/slider.module.js +4 -3
  643. package/esm5/components/stepper/step/step.component.js +3 -3
  644. package/esm5/components/tabs/tab/tab.providers.js +3 -3
  645. package/esm5/components/tag/tag.component.js +12 -6
  646. package/esm5/components/text-area/text-area.component.js +7 -4
  647. package/esm5/components/text-area/text-area.module.js +2 -3
  648. package/esm5/components/toggle/toggle-options.js +6 -1
  649. package/esm5/components/toggle/toggle.component.js +3 -3
  650. package/esm5/constants/index.js +2 -1
  651. package/esm5/constants/max-time-values.js +7 -0
  652. package/esm5/directives/lazy-loading/index.js +2 -1
  653. package/esm5/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  654. package/esm5/pipes/field-error/field-error-content-pipe.js +36 -0
  655. package/esm5/pipes/field-error/field-error-pipe.js +153 -0
  656. package/esm5/pipes/field-error/field-error.module.js +17 -0
  657. package/esm5/pipes/field-error/index.js +4 -0
  658. package/esm5/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  659. package/esm5/pipes/index.js +2 -1
  660. package/esm5/providers/index.js +2 -1
  661. package/esm5/providers/month-formatter.provider.js +19 -0
  662. package/esm5/providers/value-accessor.provider.js +4 -3
  663. package/esm5/tokens/index.js +3 -1
  664. package/esm5/tokens/items-handlers.js +16 -0
  665. package/esm5/tokens/month-formatter.js +3 -0
  666. package/esm5/types/index.js +1 -1
  667. package/esm5/types/time-format-parts.js +1 -0
  668. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +8 -5
  669. package/esm5/utils/mask/create-time-mask.js +15 -7
  670. package/esm5/utils/miscellaneous/get-precision.js +2 -2
  671. package/fesm2015/taiga-ui-kit-abstract.js +2 -2
  672. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  673. package/fesm2015/taiga-ui-kit-components-accordion.js +4 -4
  674. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  675. package/fesm2015/taiga-ui-kit-components-arrow.js +40 -11
  676. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  677. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  678. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  679. package/fesm2015/taiga-ui-kit-components-badge.js +2 -2
  680. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  681. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  682. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  683. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +2 -2
  684. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  685. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  686. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  687. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  688. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  689. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
  690. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  691. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  692. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  693. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  694. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  695. package/fesm2015/taiga-ui-kit-components-combo-box.js +117 -49
  696. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  697. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +16 -10
  698. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  699. package/fesm2015/taiga-ui-kit-components-field-error.js +12 -13
  700. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  701. package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
  702. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  703. package/fesm2015/taiga-ui-kit-components-input-copy.js +41 -18
  704. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  705. package/fesm2015/taiga-ui-kit-components-input-count.js +38 -8
  706. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  707. package/fesm2015/taiga-ui-kit-components-input-date-range.js +61 -28
  708. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  709. package/fesm2015/taiga-ui-kit-components-input-date-time.js +62 -29
  710. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  711. package/fesm2015/taiga-ui-kit-components-input-date.js +57 -28
  712. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  713. package/fesm2015/taiga-ui-kit-components-input-inline.js +3 -12
  714. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  715. package/fesm2015/taiga-ui-kit-components-input-month-range.js +95 -35
  716. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  717. package/fesm2015/taiga-ui-kit-components-input-month.js +85 -25
  718. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  719. package/fesm2015/taiga-ui-kit-components-input-number.js +43 -8
  720. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  721. package/fesm2015/taiga-ui-kit-components-input-password.js +44 -6
  722. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  723. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +10 -5
  724. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  725. package/fesm2015/taiga-ui-kit-components-input-phone.js +58 -26
  726. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  727. package/fesm2015/taiga-ui-kit-components-input-range.js +9 -6
  728. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  729. package/fesm2015/taiga-ui-kit-components-input-slider.js +9 -6
  730. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  731. package/fesm2015/taiga-ui-kit-components-input-tag.js +48 -18
  732. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  733. package/fesm2015/taiga-ui-kit-components-input-time.js +16 -4
  734. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  735. package/fesm2015/taiga-ui-kit-components-input.js +28 -6
  736. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  737. package/fesm2015/taiga-ui-kit-components-line-clamp.js +24 -14
  738. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  739. package/fesm2015/taiga-ui-kit-components-marker-icon.js +2 -2
  740. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  741. package/fesm2015/taiga-ui-kit-components-multi-select.js +58 -18
  742. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  743. package/fesm2015/taiga-ui-kit-components-progress.js +113 -55
  744. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  745. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
  746. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  747. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
  748. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  749. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -2
  750. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  751. package/fesm2015/taiga-ui-kit-components-radio.js +7 -3
  752. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  753. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  754. package/fesm2015/taiga-ui-kit-components-rating.js +5 -1
  755. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  756. package/fesm2015/taiga-ui-kit-components-select.js +91 -37
  757. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  758. package/fesm2015/taiga-ui-kit-components-slider.js +114 -14
  759. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  760. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -2
  761. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  762. package/fesm2015/taiga-ui-kit-components-tabs.js +2 -2
  763. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  764. package/fesm2015/taiga-ui-kit-components-tag.js +11 -5
  765. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  766. package/fesm2015/taiga-ui-kit-components-text-area.js +7 -5
  767. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  768. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -3
  769. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  770. package/fesm2015/taiga-ui-kit-constants.js +8 -1
  771. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  772. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  773. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  774. package/fesm2015/taiga-ui-kit-pipes-field-error.js +166 -0
  775. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -0
  776. package/fesm2015/taiga-ui-kit-pipes.js +1 -0
  777. package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
  778. package/fesm2015/taiga-ui-kit-providers.js +19 -4
  779. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  780. package/fesm2015/taiga-ui-kit-tokens.js +17 -1
  781. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  782. package/fesm2015/taiga-ui-kit-utils-mask.js +20 -12
  783. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  784. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +1 -1
  785. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  786. package/fesm5/taiga-ui-kit-abstract.js +2 -2
  787. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  788. package/fesm5/taiga-ui-kit-components-accordion.js +4 -4
  789. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  790. package/fesm5/taiga-ui-kit-components-arrow.js +41 -12
  791. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  792. package/fesm5/taiga-ui-kit-components-avatar.js +2 -2
  793. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  794. package/fesm5/taiga-ui-kit-components-badge.js +2 -2
  795. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  796. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  797. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  798. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +2 -2
  799. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  800. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  801. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  802. package/fesm5/taiga-ui-kit-components-carousel.js +1 -1
  803. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  804. package/fesm5/taiga-ui-kit-components-checkbox-block.js +2 -2
  805. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  806. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  807. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  808. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  809. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  810. package/fesm5/taiga-ui-kit-components-combo-box.js +127 -49
  811. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  812. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +17 -10
  813. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  814. package/fesm5/taiga-ui-kit-components-field-error.js +12 -17
  815. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  816. package/fesm5/taiga-ui-kit-components-filter.js +2 -2
  817. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  818. package/fesm5/taiga-ui-kit-components-input-copy.js +46 -18
  819. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  820. package/fesm5/taiga-ui-kit-components-input-count.js +45 -9
  821. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  822. package/fesm5/taiga-ui-kit-components-input-date-range.js +70 -28
  823. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  824. package/fesm5/taiga-ui-kit-components-input-date-time.js +71 -29
  825. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  826. package/fesm5/taiga-ui-kit-components-input-date.js +66 -28
  827. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  828. package/fesm5/taiga-ui-kit-components-input-inline.js +3 -16
  829. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  830. package/fesm5/taiga-ui-kit-components-input-month-range.js +109 -37
  831. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  832. package/fesm5/taiga-ui-kit-components-input-month.js +96 -25
  833. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  834. package/fesm5/taiga-ui-kit-components-input-number.js +53 -8
  835. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  836. package/fesm5/taiga-ui-kit-components-input-password.js +51 -7
  837. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  838. package/fesm5/taiga-ui-kit-components-input-phone-international.js +14 -5
  839. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  840. package/fesm5/taiga-ui-kit-components-input-phone.js +67 -26
  841. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  842. package/fesm5/taiga-ui-kit-components-input-range.js +9 -6
  843. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  844. package/fesm5/taiga-ui-kit-components-input-slider.js +9 -6
  845. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  846. package/fesm5/taiga-ui-kit-components-input-tag.js +53 -19
  847. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  848. package/fesm5/taiga-ui-kit-components-input-time.js +17 -5
  849. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  850. package/fesm5/taiga-ui-kit-components-input.js +35 -7
  851. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  852. package/fesm5/taiga-ui-kit-components-line-clamp.js +25 -15
  853. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  854. package/fesm5/taiga-ui-kit-components-marker-icon.js +2 -2
  855. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  856. package/fesm5/taiga-ui-kit-components-multi-select.js +67 -20
  857. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  858. package/fesm5/taiga-ui-kit-components-progress.js +135 -69
  859. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  860. package/fesm5/taiga-ui-kit-components-radio-block.js +2 -2
  861. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  862. package/fesm5/taiga-ui-kit-components-radio-labeled.js +2 -2
  863. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  864. package/fesm5/taiga-ui-kit-components-radio-list.js +2 -2
  865. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  866. package/fesm5/taiga-ui-kit-components-radio.js +8 -4
  867. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  868. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  869. package/fesm5/taiga-ui-kit-components-rating.js +6 -2
  870. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  871. package/fesm5/taiga-ui-kit-components-select.js +105 -38
  872. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  873. package/fesm5/taiga-ui-kit-components-slider.js +155 -26
  874. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  875. package/fesm5/taiga-ui-kit-components-stepper.js +2 -2
  876. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  877. package/fesm5/taiga-ui-kit-components-tabs.js +2 -2
  878. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  879. package/fesm5/taiga-ui-kit-components-tag.js +11 -5
  880. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  881. package/fesm5/taiga-ui-kit-components-text-area.js +7 -5
  882. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  883. package/fesm5/taiga-ui-kit-components-toggle.js +8 -4
  884. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  885. package/fesm5/taiga-ui-kit-constants.js +8 -1
  886. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  887. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  888. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  889. package/fesm5/taiga-ui-kit-pipes-field-error.js +203 -0
  890. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -0
  891. package/fesm5/taiga-ui-kit-pipes.js +1 -0
  892. package/fesm5/taiga-ui-kit-pipes.js.map +1 -1
  893. package/fesm5/taiga-ui-kit-providers.js +21 -4
  894. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  895. package/fesm5/taiga-ui-kit-tokens.js +18 -1
  896. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  897. package/fesm5/taiga-ui-kit-utils-mask.js +19 -10
  898. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  899. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +1 -1
  900. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  901. package/package.json +12 -12
  902. package/pipes/field-error/field-error-content-pipe.d.ts +11 -0
  903. package/pipes/field-error/field-error-pipe.d.ts +29 -0
  904. package/pipes/field-error/field-error.module.d.ts +2 -0
  905. package/pipes/field-error/index.d.ts +3 -0
  906. package/pipes/field-error/package.json +13 -0
  907. package/pipes/field-error/taiga-ui-kit-pipes-field-error.d.ts +4 -0
  908. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -0
  909. package/pipes/index.d.ts +1 -0
  910. package/pipes/taiga-ui-kit-pipes.metadata.json +1 -1
  911. package/providers/index.d.ts +1 -0
  912. package/providers/month-formatter.provider.d.ts +6 -0
  913. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  914. package/providers/value-accessor.provider.d.ts +1 -1
  915. package/tokens/index.d.ts +2 -0
  916. package/tokens/items-handlers.d.ts +10 -0
  917. package/tokens/month-formatter.d.ts +4 -0
  918. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  919. package/types/index.d.ts +1 -0
  920. package/types/taiga-ui-kit-types.metadata.json +1 -1
  921. package/types/time-format-parts.d.ts +1 -0
  922. package/utils/mask/create-auto-corrected-time-pipe.d.ts +2 -1
  923. package/utils/mask/create-time-mask.d.ts +2 -1
  924. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  925. package/components/progress/pipes/progress-color-segments.pipe.d.ts +0 -9
  926. package/esm2015/components/progress/pipes/abstract-color-segments.js +0 -32
  927. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +0 -15
  928. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +0 -18
  929. package/esm5/components/progress/pipes/abstract-color-segments.js +0 -35
  930. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +0 -21
  931. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +0 -23
@@ -1,5 +1,5 @@
1
1
  import { TuiDay, DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH, TuiDayRange, RANGE_SEPARATOR_CHAR, tuiAssert, CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk';
2
- import { DATE_TIME_SEPARATOR, TUI_TIME_MASK } from '@taiga-ui/kit/constants';
2
+ import { MAX_TIME_VALUES, DATE_TIME_SEPARATOR } from '@taiga-ui/kit/constants';
3
3
  import { TUI_DIGIT_REGEXP } from '@taiga-ui/core';
4
4
 
5
5
  function normalizeDateValue(dateValue, { value, min, max, dateFormat, dateSeparator }) {
@@ -62,15 +62,15 @@ function tuiCreateAutoCorrectedDateRangePipe(config) {
62
62
  * Adjusts the entered time by omitting only suitable values for hours and minutes
63
63
  * @returns time as a string
64
64
  */
65
- function tuiCreateAutoCorrectedTimePipe(timeMode = 'HH:MM') {
65
+ function tuiCreateAutoCorrectedTimePipe(timeMode = 'HH:MM', maxValues = {}) {
66
66
  const timeFormatArray = ['HH', 'MM', 'SS', 'MS'];
67
- const maxValue = { HH: 23, MM: 59, SS: 59, MS: 999 };
68
- return (conformedValue) => {
67
+ const safeValues = Object.assign(Object.assign({}, MAX_TIME_VALUES), maxValues);
68
+ return conformedValue => {
69
69
  const indexesOfPipedChars = [];
70
70
  const conformedValueArr = conformedValue.split('');
71
71
  timeFormatArray.forEach(format => {
72
72
  const position = timeMode.indexOf(format);
73
- const maxFirstDigit = parseInt(maxValue[format].toString().substr(0, 1), 10);
73
+ const maxFirstDigit = parseInt(String(safeValues[format]).substr(0, 1), 10);
74
74
  if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {
75
75
  conformedValueArr[position + 1] = conformedValueArr[position];
76
76
  conformedValueArr[position] = '0';
@@ -78,7 +78,7 @@ function tuiCreateAutoCorrectedTimePipe(timeMode = 'HH:MM') {
78
78
  }
79
79
  });
80
80
  const isInvalid = timeFormatArray.some(format => parseInt(conformedValue.substr(timeMode.indexOf(format), 2), 10) >
81
- maxValue[format]);
81
+ safeValues[format]);
82
82
  return isInvalid
83
83
  ? false
84
84
  : {
@@ -138,13 +138,21 @@ function tuiCreateDateRangeMask(dateMode, dateSeparator) {
138
138
  ];
139
139
  }
140
140
 
141
- function tuiCreateTimeMask(mode) {
141
+ function tuiCreateTimePartMask(maxPartValue, prefix) {
142
+ const { length } = String(maxPartValue);
143
+ const regExp = Array(length).fill(TUI_DIGIT_REGEXP);
144
+ if (prefix) {
145
+ regExp.unshift(prefix);
146
+ }
147
+ return regExp;
148
+ }
149
+ function tuiCreateTimeMask(mode, maxValues = {}) {
150
+ const { HH, MM, SS, MS } = Object.assign(Object.assign({}, MAX_TIME_VALUES), maxValues);
142
151
  return [
143
- ...TUI_TIME_MASK,
144
- ...(mode.includes('HH:MM:SS') ? [':', TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP] : []),
145
- ...(mode === 'HH:MM:SS.MSS'
146
- ? ['.', TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP]
147
- : []),
152
+ ...tuiCreateTimePartMask(HH),
153
+ ...tuiCreateTimePartMask(MM, ':'),
154
+ ...(mode.includes('HH:MM:SS') ? tuiCreateTimePartMask(SS, ':') : []),
155
+ ...(mode === 'HH:MM:SS.MSS' ? tuiCreateTimePartMask(MS, '.') : []),
148
156
  ];
149
157
  }
150
158
 
@@ -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';\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): TuiTextMaskPipeHandler {\n const timeFormatArray: ['HH', 'MM', 'SS', 'MS'] = ['HH', 'MM', 'SS', 'MS'];\n const maxValue = {HH: 23, MM: 59, SS: 59, MS: 999};\n\n return (conformedValue: string) => {\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n timeFormatArray.forEach(format => {\n const position = timeMode.indexOf(format);\n const maxFirstDigit = parseInt(maxValue[format].toString().substr(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.substr(timeMode.indexOf(format), 2), 10) >\n maxValue[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 {TuiTextMaskPipeHandler} 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(time, {} as any);\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 = Array(2).fill(TUI_DIGIT_REGEXP);\nconst FOUR_DIGITS = 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 {TUI_TIME_MASK} from '@taiga-ui/kit/constants';\n\nexport function tuiCreateTimeMask(mode: TuiTimeMode): TuiTextMaskList {\n return [\n ...TUI_TIME_MASK,\n ...(mode.includes('HH:MM:SS') ? [':', TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP] : []),\n ...(mode === 'HH:MM:SS.MSS'\n ? ['.', TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP]\n : []),\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\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]).substr(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.substr(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 {TuiTextMaskPipeHandler} 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(time, {} as any);\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 = Array(2).fill(TUI_DIGIT_REGEXP);\nconst FOUR_DIGITS = 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 = 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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"}
@@ -43,7 +43,7 @@ function tuiCreateTimePeriods(minHour = 0, maxHour = HOURS_IN_DAY, minutes = [0,
43
43
  * @return fractional length
44
44
  */
45
45
  function getPrecision(num) {
46
- const [, fractionPart = ''] = num.toString().split('.');
46
+ const [, fractionPart = ''] = String(num).split('.');
47
47
  return fractionPart.length;
48
48
  }
49
49
 
@@ -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): ReadonlyArray<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): ReadonlyArray<TuiTime> {\n const timeArray: Array<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 = ''] = num.toString().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","import {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 * TODO: rename function in 3.0. The 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","/**\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): ReadonlyArray<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): ReadonlyArray<TuiTime> {\n const timeArray: Array<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","import {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 * TODO: rename function in 3.0. The 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;SAGgB,+BAA+B,CAC3C,eAAiE;IAC7D,kBAAkB;IAClB,OAAO;IACP,WAAW;IACX,cAAc;IACd,eAAe;IACf,gBAAgB;CACnB;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,EAAC,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;IAE1D,OAAO;QACH,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,iBAAiB,CAAC,IAAI,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,iBAAiB,CACjB,IAAI,WAAW,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EACjE,YAAY,CAAC,CAAC,CAAC,CAClB;KACJ,CAAC;AACN;;SC9BgB,oBAAoB,CAChC,UAAkB,CAAC,EACnB,UAAkB,YAAY,EAC9B,UAA6B,CAAC,CAAC,EAAE,EAAE,CAAC;IAEpC,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxB;KACJ;IAED,OAAO,SAAS,CAAC;AACrB;;AClBA;;;SAGgB,YAAY,CAAC,GAAW;IACpC,MAAM,GAAG,YAAY,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,OAAO,YAAY,CAAC,MAAM,CAAC;AAC/B;;SCPgB,MAAM,CAClB,KAAiD;IAEjD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC;;ACOA;;;;SAIgB,mCAAmC,CAG/C,OAAyB,EACzB,gBAAuD;IAEvD,OAAO,OAAO;UACR,2BAA2B,CAAC,OAAO,CAAC,CAAC,IAAI,CACrC,GAAG,CAAC,KAAK,IACL,gBAAgB;cACV,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC;cACvC,KAAW,CACrB,CACJ;UACD,EAAE,CAAC,IAAI,CAAC,CAAC;AACnB;;AC9BA;;;;;;"}
@@ -160,7 +160,7 @@ var AbstractTuiInputSlider = /** @class */ (function (_super) {
160
160
  ], AbstractTuiInputSlider.prototype, "keySteps", void 0);
161
161
  __decorate([
162
162
  Input(),
163
- HostBinding('attr.data-tui-host-size')
163
+ HostBinding('attr.data-size')
164
164
  ], AbstractTuiInputSlider.prototype, "size", void 0);
165
165
  __decorate([
166
166
  HostBinding('class._segmented')
@@ -450,7 +450,7 @@ var AbstractTuiSlider = /** @class */ (function (_super) {
450
450
  ], AbstractTuiSlider.prototype, "pluralize", null);
451
451
  __decorate([
452
452
  Input(),
453
- HostBinding('attr.data-tui-host-size'),
453
+ HostBinding('attr.data-size'),
454
454
  tuiDefaultProp()
455
455
  ], AbstractTuiSlider.prototype, "size", void 0);
456
456
  __decorate([
@@ -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 {\n AbstractTuiControl,\n clamp,\n round,\n tuiDefaultProp,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TuiBrightness,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiModeDirective,\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {getPrecision} from '@taiga-ui/kit/utils';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n protected abstract readonly modeDirective: TuiModeDirective | null;\n protected abstract readonly numberFormat: NumberFormatSettings;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '';\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 @Input()\n @tuiDefaultProp()\n segmentsPluralize: TuiPluralize | null = null;\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 @Input()\n @HostBinding('attr.data-tui-host-size')\n size: TuiSizeL = 'l';\n\n pluralizeMap: Record<string, string> | null = null;\n\n abstract get showMinLabel(): boolean;\n abstract get showMaxLabel(): boolean;\n\n mask: TuiMapper<number, TuiTextMaskOptions> = (quantum: number, min: number) => ({\n mask: tuiCreateNumberMask({\n allowNegative: min < 0,\n allowDecimal: !Number.isInteger(quantum),\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n decimalLimit: getPrecision(quantum),\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n undefined,\n min < 0,\n ),\n guide: false,\n });\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get hasPlaceholder(): boolean {\n return this.size === 'l';\n }\n\n get inputMode(): TuiInputModeT {\n return Number.isInteger(this.quantum) ? 'numeric' : 'decimal';\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 @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\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 protected capInputValue(value: string, max: number = this.max): number | null {\n const capped = Math.min(\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n ),\n max,\n );\n\n if (this.min < 0 && capped < this.min) {\n return this.min;\n }\n\n return isNaN(capped) || capped < this.min ? null : capped;\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 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: refactor\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')\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight')\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-tui-host-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 protected abstract processValue(value: number, right?: boolean): void;\n protected abstract processStep(increment: boolean, right?: boolean): void;\n\n ngOnInit() {\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 const rect = (\n event.currentTarget as HTMLElement\n ).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: any) =>\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() {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: TuiEventWith<MouseEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n onTouchStart(event: TuiEventWith<TouchEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n decrement(right: boolean) {\n this.processStep(false, right);\n }\n\n increment(right: boolean) {\n this.processStep(true, right);\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) {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean) {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean) {\n this.focusVisibleRight = focusVisible;\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 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 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) {\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 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 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 {\n AbstractTuiControl,\n clamp,\n round,\n tuiDefaultProp,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TuiBrightness,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiModeDirective,\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {getPrecision} from '@taiga-ui/kit/utils';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n protected abstract readonly modeDirective: TuiModeDirective | null;\n protected abstract readonly numberFormat: NumberFormatSettings;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '';\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 @Input()\n @tuiDefaultProp()\n segmentsPluralize: TuiPluralize | null = null;\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 @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL = 'l';\n\n pluralizeMap: Record<string, string> | null = null;\n\n abstract get showMinLabel(): boolean;\n abstract get showMaxLabel(): boolean;\n\n mask: TuiMapper<number, TuiTextMaskOptions> = (quantum: number, min: number) => ({\n mask: tuiCreateNumberMask({\n allowNegative: min < 0,\n allowDecimal: !Number.isInteger(quantum),\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n decimalLimit: getPrecision(quantum),\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n undefined,\n min < 0,\n ),\n guide: false,\n });\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get hasPlaceholder(): boolean {\n return this.size === 'l';\n }\n\n get inputMode(): TuiInputModeT {\n return Number.isInteger(this.quantum) ? 'numeric' : 'decimal';\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 @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\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 protected capInputValue(value: string, max: number = this.max): number | null {\n const capped = Math.min(\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n ),\n max,\n );\n\n if (this.min < 0 && capped < this.min) {\n return this.min;\n }\n\n return isNaN(capped) || capped < this.min ? null : capped;\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 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: refactor\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')\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight')\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 protected abstract processValue(value: number, right?: boolean): void;\n protected abstract processStep(increment: boolean, right?: boolean): void;\n\n ngOnInit() {\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 const rect = (\n event.currentTarget as HTMLElement\n ).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: any) =>\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() {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: TuiEventWith<MouseEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n onTouchStart(event: TuiEventWith<TouchEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n decrement(right: boolean) {\n this.processStep(false, right);\n }\n\n increment(right: boolean) {\n this.processStep(true, right);\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) {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean) {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean) {\n this.focusVisibleRight = focusVisible;\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 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 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) {\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 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 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,7 +1,7 @@
1
1
  import { __extends, __decorate, __param, __read, __spread } from 'tslib';
2
2
  import { TemplateRef, Inject, Self, ChangeDetectorRef, Directive, EventEmitter, ViewChild, Input, HostBinding, Output, ContentChild, Component, ChangeDetectionStrategy, forwardRef, ContentChildren, NgModule } from '@angular/core';
3
- import { isNativeFocused, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive, EMPTY_QUERY, itemsQueryListObservable, isPresent, identity, TuiDestroyService, TuiFocusedModule, TuiFocusVisibleModule, TuiFocusableModule, TuiHoveredModule } from '@taiga-ui/cdk';
4
- import { Observable, merge } from 'rxjs';
3
+ import { isNativeFocused, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive, EMPTY_QUERY, itemsQueryListObservable, isPresent, TuiDestroyService, TuiFocusedModule, TuiFocusVisibleModule, TuiFocusableModule, TuiHoveredModule } from '@taiga-ui/cdk';
4
+ import { Observable, merge, identity } from 'rxjs';
5
5
  import { pairwise, map, filter, switchMap, mapTo, takeUntil } from 'rxjs/operators';
6
6
  import { TUI_MODE, MODE_PROVIDER, TuiSvgModule, TuiGroupModule, TuiExpandModule } from '@taiga-ui/core';
7
7
  import { PolymorpheusTemplate, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
@@ -138,7 +138,7 @@ var TuiAccordionItemComponent = /** @class */ (function (_super) {
138
138
  ], TuiAccordionItemComponent.prototype, "borders", void 0);
139
139
  __decorate([
140
140
  Input(),
141
- HostBinding('attr.data-tui-host-size'),
141
+ HostBinding('attr.data-size'),
142
142
  tuiDefaultProp()
143
143
  ], TuiAccordionItemComponent.prototype, "size", void 0);
144
144
  __decorate([
@@ -182,7 +182,7 @@ var TuiAccordionItemComponent = /** @class */ (function (_super) {
182
182
  host: {
183
183
  '($.data-mode.attr)': 'mode$',
184
184
  },
185
- styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.wrapper{position:relative;border-radius:inherit}.wrapper:focus{outline:0}.wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .wrapper:after{border-width:0}:host[data-tui-host-borders=all] .wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .wrapper{background:var(--tui-base-01)}.header{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .header{border-bottom-width:0;box-shadow:none}:host._has-arrow .header{padding-right:.75rem}:host._hovered:not([data-mode]) .header{background:var(--tui-base-02)}:host._hovered[data-mode=onDark] .header,:host[data-mode=onDark] .header_open{background:var(--tui-clear-inverse)}:host._hovered[data-mode=onLight] .header,:host[data-mode=onLight] .header_open{background:var(--tui-clear)}:host[data-tui-host-size='s'] .header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .header{padding-left:0;padding-right:0}:host._disabled .header{cursor:default}.title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .title{margin-right:.5rem}.icon{transition-property:transform,color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.icon_open{transform:rotate(180deg)}:host[data-mode] .icon{opacity:var(--tui-disabled-opacity)}:host._hovered[data-mode] .icon{opacity:.8}:host[data-mode=onDark] .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .icon{color:var(--tui-text-01)}:host._hovered:not([data-mode]) .icon{color:var(--tui-base-07)}.content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-tui-host-size='s'] .content{font:var(--tui-font-text-s);padding:1rem}"]
185
+ styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.wrapper{position:relative;border-radius:inherit}.wrapper:focus{outline:0}.wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .wrapper:after{border-width:0}:host[data-tui-host-borders=all] .wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .wrapper{background:var(--tui-base-01)}.header{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .header{border-bottom-width:0;box-shadow:none}:host._has-arrow .header{padding-right:.75rem}:host._hovered:not([data-mode]) .header{background:var(--tui-base-02)}:host._hovered[data-mode=onDark] .header,:host[data-mode=onDark] .header_open{background:var(--tui-clear-inverse)}:host._hovered[data-mode=onLight] .header,:host[data-mode=onLight] .header_open{background:var(--tui-clear)}:host[data-size='s'] .header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .header{padding-left:0;padding-right:0}:host._disabled .header{cursor:default}.title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .title{margin-right:.5rem}.icon{transition-property:transform,color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.icon_open{transform:rotate(180deg)}:host[data-mode] .icon{opacity:var(--tui-disabled-opacity)}:host._hovered[data-mode] .icon{opacity:.8}:host[data-mode=onDark] .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .icon{color:var(--tui-text-01)}:host._hovered:not([data-mode]) .icon{color:var(--tui-base-07)}.content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size='s'] .content{font:var(--tui-font-text-s);padding:1rem}"]
186
186
  }),
187
187
  __param(0, Inject(ChangeDetectorRef)),
188
188
  __param(1, Inject(TUI_MODE))
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.module.ts","ng://@taiga-ui/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<{}> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<{}>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiAccordionItemComponent),\n },\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n @tuiDefaultProp()\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n @tuiDefaultProp()\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-tui-host-borders')\n @tuiDefaultProp()\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n disableHover = false;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n onHovered(hovered: boolean) {\n if (!this.disableHover) {\n this.updateHovered(hovered);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle() {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: KeyboardEvent) {\n if (!this.focused || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n onItemKeyDownSpace(event: KeyboardEvent) {\n if (!this.focused) {\n return;\n }\n\n event.preventDefault();\n this.onRowToggle();\n }\n\n close() {\n this.updateOpen(false);\n this.changeDetectorRef.markForCheck();\n }\n\n private updateOpen(open: boolean) {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n identity,\n isPresent,\n itemsQueryListObservable,\n tuiDefaultProp,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {filter, map, mapTo, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n styleUrls: ['./accordion.style.less'],\n templateUrl: 'accordion.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n @tuiDefaultProp()\n closeOthers = true;\n\n @Input()\n @tuiDefaultProp()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit() {\n const {accordionItems} = this;\n const rows$ = itemsQueryListObservable(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => previous.indexOf(item) === -1 && item.open),\n ),\n filter(isPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(filter(identity), mapTo(row)),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.module.ts","ng://@taiga-ui/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<{}> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<{}>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiAccordionItemComponent),\n },\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n @tuiDefaultProp()\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n @tuiDefaultProp()\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-tui-host-borders')\n @tuiDefaultProp()\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n disableHover = false;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n onHovered(hovered: boolean) {\n if (!this.disableHover) {\n this.updateHovered(hovered);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle() {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: KeyboardEvent) {\n if (!this.focused || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n onItemKeyDownSpace(event: KeyboardEvent) {\n if (!this.focused) {\n return;\n }\n\n event.preventDefault();\n this.onRowToggle();\n }\n\n close() {\n this.updateOpen(false);\n this.changeDetectorRef.markForCheck();\n }\n\n private updateOpen(open: boolean) {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isPresent,\n itemsQueryListObservable,\n tuiDefaultProp,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {identity, merge} from 'rxjs';\nimport {filter, map, mapTo, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n styleUrls: ['./accordion.style.less'],\n templateUrl: 'accordion.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n @tuiDefaultProp()\n closeOthers = true;\n\n @Input()\n @tuiDefaultProp()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit() {\n const {accordionItems} = this;\n const rows$ = itemsQueryListObservable(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => previous.indexOf(item) === -1 && item.open),\n ),\n filter(isPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(filter(identity), mapTo(row)),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,36 +1,65 @@
1
- import { __decorate, __param } from 'tslib';
2
- import { Inject, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
1
+ import { __assign, __decorate, __param } from 'tslib';
2
+ import { InjectionToken, Inject, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { sizeBigger, TuiHostedDropdownComponent, TuiTextfieldSizeDirective, TUI_TEXTFIELD_SIZE, TuiSvgModule } from '@taiga-ui/core';
4
- import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
4
+ import { PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
7
+ // TODO: remove in ivy compilation
8
+ var TUI_ARROW_ICON_SMALL = 'tuiIconChevronDown';
9
+ var TUI_ARROW_ICON_LARGE = 'tuiIconChevronDownLarge';
10
+ /** Default values for arrow options */
11
+ var TUI_ARROW_DEFAULT_OPTIONS = {
12
+ iconSmall: TUI_ARROW_ICON_SMALL,
13
+ iconLarge: TUI_ARROW_ICON_LARGE,
14
+ };
15
+ var TUI_ARROW_OPTIONS = new InjectionToken('Default parameters for arrow component', {
16
+ factory: function () { return TUI_ARROW_DEFAULT_OPTIONS; },
17
+ });
18
+ var tuiArrowOptionsProvider = function (options) { return ({
19
+ provide: TUI_ARROW_OPTIONS,
20
+ useValue: __assign(__assign({}, TUI_ARROW_DEFAULT_OPTIONS), options),
21
+ }); };
22
+ var TUI_ARROW_MODE = new InjectionToken('Type of icon in dropdowns for interactive or disable mode', {
23
+ factory: function () { return ({
24
+ interactive: TUI_ARROW,
25
+ disabled: TUI_ARROW,
26
+ }); },
27
+ });
28
+ var tuiArrowModeProvider = function (options) { return ({
29
+ provide: TUI_ARROW_MODE,
30
+ useValue: __assign({ interactive: TUI_ARROW, disabled: TUI_ARROW }, options),
31
+ }); };
32
+
7
33
  var TuiArrowComponent = /** @class */ (function () {
8
- function TuiArrowComponent(dropdown, textfieldSize) {
34
+ function TuiArrowComponent(dropdown, textfieldSize, options) {
9
35
  this.dropdown = dropdown;
10
36
  this.textfieldSize = textfieldSize;
37
+ this.options = options;
11
38
  }
12
39
  Object.defineProperty(TuiArrowComponent.prototype, "arrowIcon", {
13
40
  get: function () {
14
41
  return sizeBigger(this.textfieldSize.size)
15
- ? 'tuiIconChevronDownLarge'
16
- : 'tuiIconChevronDown';
42
+ ? this.options.iconLarge
43
+ : this.options.iconSmall;
17
44
  },
18
45
  enumerable: true,
19
46
  configurable: true
20
47
  });
21
48
  TuiArrowComponent.ctorParameters = function () { return [
22
49
  { type: TuiHostedDropdownComponent, decorators: [{ type: Inject, args: [TuiHostedDropdownComponent,] }] },
23
- { type: TuiTextfieldSizeDirective, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_SIZE,] }] }
50
+ { type: TuiTextfieldSizeDirective, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_SIZE,] }] },
51
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_OPTIONS,] }] }
24
52
  ]; };
25
53
  TuiArrowComponent = __decorate([
26
54
  Component({
27
55
  selector: 'tui-arrow',
28
- template: "<tui-svg\n class=\"icon\"\n [class.icon_rotated]=\"dropdown.openChange | async\"\n [src]=\"arrowIcon\"\n></tui-svg>\n",
56
+ template: "<span\n polymorpheus-outlet\n class=\"t-icon\"\n [class.t-icon_rotated]=\"dropdown.openChange | async\"\n [content]=\"arrowIcon\"\n>\n <ng-template let-icon>\n <tui-svg [src]=\"icon\"></tui-svg>\n </ng-template>\n</span>\n",
29
57
  changeDetection: ChangeDetectionStrategy.OnPush,
30
- styles: [".icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;cursor:pointer;pointer-events:none}.icon_rotated{transform:rotate(180deg)}"]
58
+ styles: [".t-icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}.t-icon_rotated{transform:rotate(180deg)}"]
31
59
  }),
32
60
  __param(0, Inject(TuiHostedDropdownComponent)),
33
- __param(1, Inject(TUI_TEXTFIELD_SIZE))
61
+ __param(1, Inject(TUI_TEXTFIELD_SIZE)),
62
+ __param(2, Inject(TUI_ARROW_OPTIONS))
34
63
  ], TuiArrowComponent);
35
64
  return TuiArrowComponent;
36
65
  }());
@@ -41,7 +70,7 @@ var TuiArrowModule = /** @class */ (function () {
41
70
  }
42
71
  TuiArrowModule = __decorate([
43
72
  NgModule({
44
- imports: [CommonModule, TuiSvgModule],
73
+ imports: [CommonModule, TuiSvgModule, PolymorpheusModule],
45
74
  declarations: [TuiArrowComponent],
46
75
  exports: [TuiArrowComponent],
47
76
  entryComponents: [TuiArrowComponent],
@@ -54,5 +83,5 @@ var TuiArrowModule = /** @class */ (function () {
54
83
  * Generated bundle index. Do not edit.
55
84
  */
56
85
 
57
- export { TUI_ARROW, TuiArrowComponent, TuiArrowModule };
86
+ export { TUI_ARROW, TUI_ARROW_DEFAULT_OPTIONS, TUI_ARROW_ICON_LARGE, TUI_ARROW_ICON_SMALL, TUI_ARROW_MODE, TUI_ARROW_OPTIONS, TuiArrowComponent, TuiArrowModule, tuiArrowModeProvider, tuiArrowOptionsProvider };
58
87
  //# sourceMappingURL=taiga-ui-kit-components-arrow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-arrow.js","sources":["ng://@taiga-ui/kit/components/arrow/arrow.component.ts","ng://@taiga-ui/kit/components/arrow/arrow.module.ts","ng://@taiga-ui/kit/components/arrow/taiga-ui-kit-components-arrow.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiHostedDropdownComponent,\n TuiTextfieldSizeDirective,\n} from '@taiga-ui/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-arrow',\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiArrowComponent {\n constructor(\n @Inject(TuiHostedDropdownComponent)\n readonly dropdown: TuiHostedDropdownComponent,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {}\n\n get arrowIcon(): string {\n return sizeBigger(this.textfieldSize.size)\n ? 'tuiIconChevronDownLarge'\n : 'tuiIconChevronDown';\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiArrowComponent} from './arrow.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiArrowComponent],\n exports: [TuiArrowComponent],\n entryComponents: [TuiArrowComponent],\n})\nexport class TuiArrowModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;IAgBI,2BAEa,QAAoC,EAE5B,aAAwC;QAFhD,aAAQ,GAAR,QAAQ,CAA4B;QAE5B,kBAAa,GAAb,aAAa,CAA2B;KACzD;IAEJ,sBAAI,wCAAS;aAAb;YACI,OAAO,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;kBACpC,yBAAyB;kBACzB,oBAAoB,CAAC;SAC9B;;;OAAA;;gBATsB,0BAA0B,uBAD5C,MAAM,SAAC,0BAA0B;gBAGF,yBAAyB,uBADxD,MAAM,SAAC,kBAAkB;;IAJrB,iBAAiB;QAN7B,SAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,0IAAoC;YAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAGO,WAAA,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAElC,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;OAJtB,iBAAiB,CAa7B;IAAD,wBAAC;CAbD,IAaC;IAEY,SAAS,GAAG,IAAI,qBAAqB,CAAC,iBAAiB;;;IClBpE;KAA8B;IAAjB,cAAc;QAN1B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACrC,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,eAAe,EAAE,CAAC,iBAAiB,CAAC;SACvC,CAAC;OACW,cAAc,CAAG;IAAD,qBAAC;CAA9B;;ACZA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-arrow.js","sources":["ng://@taiga-ui/kit/components/arrow/arrow-options.ts","ng://@taiga-ui/kit/components/arrow/arrow.component.ts","ng://@taiga-ui/kit/components/arrow/arrow.module.ts","ng://@taiga-ui/kit/components/arrow/taiga-ui-kit-components-arrow.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\nexport interface TuiArrowOptions {\n readonly iconSmall: PolymorpheusContent;\n readonly iconLarge: PolymorpheusContent;\n}\n\n// TODO: remove in ivy compilation\nexport const TUI_ARROW_ICON_SMALL = 'tuiIconChevronDown';\nexport const TUI_ARROW_ICON_LARGE = 'tuiIconChevronDownLarge';\n\n/** Default values for arrow options */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: TUI_ARROW_ICON_SMALL,\n iconLarge: TUI_ARROW_ICON_LARGE,\n};\n\nexport const TUI_ARROW_OPTIONS = new InjectionToken<TuiArrowOptions>(\n 'Default parameters for arrow component',\n {\n factory: () => TUI_ARROW_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiArrowOptionsProvider: (\n options: Partial<TuiArrowOptions>,\n) => ValueProvider = (options: Partial<TuiArrowOptions>) => ({\n provide: TUI_ARROW_OPTIONS,\n useValue: {...TUI_ARROW_DEFAULT_OPTIONS, ...options},\n});\n\nexport interface TuiArrowMode {\n readonly interactive: PolymorpheusContent;\n readonly disabled: PolymorpheusContent;\n}\n\nexport const TUI_ARROW_MODE: InjectionToken<TuiArrowMode> = new InjectionToken(\n 'Type of icon in dropdowns for interactive or disable mode',\n {\n factory: () => ({\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n }),\n },\n);\n\nexport const tuiArrowModeProvider: (options: Partial<TuiArrowMode>) => ValueProvider = (\n options: Partial<TuiArrowMode>,\n) => ({\n provide: TUI_ARROW_MODE,\n useValue: {\n interactive: TUI_ARROW,\n disabled: TUI_ARROW,\n ...options,\n },\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiHostedDropdownComponent,\n TuiTextfieldSizeDirective,\n} from '@taiga-ui/core';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_ARROW_OPTIONS, TuiArrowOptions} from './arrow-options';\n\n@Component({\n selector: 'tui-arrow',\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiArrowComponent {\n constructor(\n @Inject(TuiHostedDropdownComponent)\n readonly dropdown: TuiHostedDropdownComponent,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_ARROW_OPTIONS) private readonly options: TuiArrowOptions,\n ) {}\n\n get arrowIcon(): PolymorpheusContent {\n return sizeBigger(this.textfieldSize.size)\n ? this.options.iconLarge\n : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiArrowComponent} from './arrow.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [TuiArrowComponent],\n exports: [TuiArrowComponent],\n entryComponents: [TuiArrowComponent],\n})\nexport class TuiArrowModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUA;IACa,oBAAoB,GAAG,qBAAqB;IAC5C,oBAAoB,GAAG,0BAA0B;AAE9D;IACa,yBAAyB,GAAoB;IACtD,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAE,oBAAoB;EACjC;IAEW,iBAAiB,GAAG,IAAI,cAAc,CAC/C,wCAAwC,EACxC;IACI,OAAO,EAAE,cAAM,OAAA,yBAAyB,GAAA;CAC3C,EACH;IAEW,uBAAuB,GAEf,UAAC,OAAiC,IAAK,QAAC;IACzD,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,wBAAM,yBAAyB,GAAK,OAAO,CAAC;CACvD,KAAE;IAOU,cAAc,GAAiC,IAAI,cAAc,CAC1E,2DAA2D,EAC3D;IACI,OAAO,EAAE,cAAM,QAAC;QACZ,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,SAAS;KACtB,IAAC;CACL,EACH;IAEW,oBAAoB,GAAsD,UACnF,OAA8B,IAC7B,QAAC;IACF,OAAO,EAAE,cAAc;IACvB,QAAQ,aACJ,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,SAAS,IAChB,OAAO,CACb;CACJ;;;ICxCG,2BAEa,QAAoC,EAE5B,aAAwC,EACb,OAAwB;QAH3D,aAAQ,GAAR,QAAQ,CAA4B;QAE5B,kBAAa,GAAb,aAAa,CAA2B;QACb,YAAO,GAAP,OAAO,CAAiB;KACpE;IAEJ,sBAAI,wCAAS;aAAb;YACI,OAAO,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;kBACpC,IAAI,CAAC,OAAO,CAAC,SAAS;kBACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SAChC;;;OAAA;;gBAVsB,0BAA0B,uBAD5C,MAAM,SAAC,0BAA0B;gBAGF,yBAAyB,uBADxD,MAAM,SAAC,kBAAkB;gDAEzB,MAAM,SAAC,iBAAiB;;IANpB,iBAAiB;QAN7B,SAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,mQAAoC;YAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAGO,WAAA,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAElC,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OANrB,iBAAiB,CAc7B;IAAD,wBAAC;CAdD,IAcC;IAEY,SAAS,GAAG,IAAI,qBAAqB,CAAC,iBAAiB;;;ICpBpE;KAA8B;IAAjB,cAAc;QAN1B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,CAAC;YACzD,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,eAAe,EAAE,CAAC,iBAAiB,CAAC;SACvC,CAAC;OACW,cAAc,CAAG;IAAD,qBAAC;CAA9B;;ACbA;;;;;;"}
@@ -55,7 +55,7 @@ var TuiAvatarComponent = /** @class */ (function () {
55
55
  };
56
56
  __decorate([
57
57
  Input(),
58
- HostBinding('attr.data-tui-host-size'),
58
+ HostBinding('attr.data-size'),
59
59
  tuiDefaultProp()
60
60
  ], TuiAvatarComponent.prototype, "size", void 0);
61
61
  __decorate([
@@ -86,7 +86,7 @@ var TuiAvatarComponent = /** @class */ (function () {
86
86
  selector: 'tui-avatar',
87
87
  changeDetection: ChangeDetectionStrategy.OnPush,
88
88
  template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl\"\n (error)=\"onError()\"\n/>\n<span class=\"text\">{{ computedText }}</span>\n",
89
- styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background-color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-tui-host-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-tui-host-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-tui-host-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-tui-host-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-tui-host-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-tui-host-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.text{color:var(--tui-text-01)}"]
89
+ styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background-color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.image{width:100%;height:100%;object-fit:cover}.text{color:var(--tui-text-01)}"]
90
90
  })
91
91
  ], TuiAvatarComponent);
92
92
  return TuiAvatarComponent;