@taiga-ui/kit 2.54.1 → 2.57.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 (1032) hide show
  1. package/bundles/taiga-ui-kit-abstract.umd.js +22 -22
  2. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.js +13 -13
  5. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.js +8 -8
  8. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +5 -5
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-avatar.umd.js +13 -13
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-badge.umd.js +14 -14
  17. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-badged-content.umd.js +21 -21
  20. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +7 -7
  23. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +3 -3
  29. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.js +18 -18
  32. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +8 -8
  35. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +4 -4
  38. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox.umd.js +3 -3
  41. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-combo-box.umd.js +9 -9
  44. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +4 -4
  47. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-field-error.umd.js +5 -5
  50. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-files.umd.js +20 -20
  53. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-filter.umd.js +3 -3
  56. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.js +8 -8
  59. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-count.umd.js +19 -19
  62. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +14 -14
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +16 -16
  68. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date.umd.js +10 -10
  71. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-file.umd.js +34 -34
  74. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-files.umd.js +26 -20
  77. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  79. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-inline.umd.js +4 -4
  81. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +8 -9
  84. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month.umd.js +5 -5
  88. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-number.umd.js +22 -22
  91. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-password.umd.js +9 -9
  94. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +230 -229
  97. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-phone.umd.js +36 -36
  101. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-range.umd.js +16 -16
  104. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input-slider.umd.js +37 -25
  107. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-input-tag.umd.js +24 -24
  111. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-time.umd.js +13 -13
  114. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input.umd.js +5 -5
  117. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-island.umd.js +18 -18
  120. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-island.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +18 -12
  123. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  125. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +6 -6
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  130. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js +17 -17
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-pagination.umd.js +7 -7
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +10 -10
  139. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-progress.umd.js +26 -26
  142. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-radio-block.umd.js +9 -9
  145. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-radio-group.umd.js +1 -1
  148. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio-group.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +5 -5
  151. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-radio-list.umd.js +5 -5
  154. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-radio.umd.js +8 -8
  157. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-range.umd.js +33 -33
  160. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-rating.umd.js +7 -7
  163. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-select-option.umd.js +2 -2
  166. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-select.umd.js +6 -6
  169. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  170. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-slider.umd.js +158 -106
  172. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  174. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-stepper.umd.js +25 -25
  176. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-kit-components-tabs.umd.js +45 -43
  179. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  180. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  181. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  182. package/bundles/taiga-ui-kit-components-tag.umd.js +24 -24
  183. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  184. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-text-area.umd.js +17 -17
  186. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  187. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-kit-components-toggle.umd.js +11 -11
  189. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  190. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  191. package/bundles/taiga-ui-kit-components-tree.umd.js +24 -24
  192. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  193. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  194. package/bundles/taiga-ui-kit-constants.umd.js +18 -18
  195. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  196. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  197. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +10 -10
  198. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  199. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  200. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js +6 -6
  201. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  202. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  203. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +12 -12
  204. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  205. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  206. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  207. package/bundles/taiga-ui-kit-directives-highlight.umd.js +10 -10
  208. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  209. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  210. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +11 -11
  211. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  212. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  213. package/bundles/taiga-ui-kit-directives-present.umd.js +5 -5
  214. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  215. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  216. package/bundles/taiga-ui-kit-directives-project-class.umd.js +2 -2
  217. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  218. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  219. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +4 -4
  220. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
  221. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.min.js.map +1 -1
  222. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +1 -1
  223. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
  224. package/bundles/taiga-ui-kit-directives-value-accessor.umd.min.js.map +1 -1
  225. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  226. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  227. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  228. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  229. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  230. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +8 -8
  231. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  232. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  233. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +4 -4
  234. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  235. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  236. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js +1 -1
  237. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js.map +1 -1
  238. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.min.js.map +1 -1
  239. package/bundles/taiga-ui-kit-pipes-stringify.umd.js +2 -2
  240. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  241. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  242. package/bundles/taiga-ui-kit-providers.umd.js +3 -3
  243. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  244. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  245. package/bundles/taiga-ui-kit-tokens.umd.js +38 -38
  246. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  247. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  248. package/bundles/taiga-ui-kit-utils-dom.umd.js +4 -4
  249. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  250. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  251. package/bundles/taiga-ui-kit-utils-files.umd.js +2 -2
  252. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  253. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  254. package/bundles/taiga-ui-kit-utils-format.umd.js +2 -2
  255. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  256. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  257. package/bundles/taiga-ui-kit-utils-mask.umd.js +12 -12
  258. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  259. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  260. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  261. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  262. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  263. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +7 -7
  264. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  265. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  266. package/bundles/taiga-ui-kit-validators.umd.js +1 -1
  267. package/bundles/taiga-ui-kit-validators.umd.js.map +1 -1
  268. package/bundles/taiga-ui-kit-validators.umd.min.js.map +1 -1
  269. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  270. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  271. package/components/input-slider/input-slider.component.d.ts +4 -1
  272. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  273. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  274. package/components/slider/{slider-key-steps.directive.d.ts → helpers/slider-key-steps.directive.d.ts} +1 -1
  275. package/components/slider/{slider-readonly.directive.d.ts → helpers/slider-readonly.directive.d.ts} +0 -0
  276. package/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.d.ts +12 -0
  277. package/components/slider/index.d.ts +3 -2
  278. package/components/slider/slider.component.d.ts +1 -1
  279. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  280. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  281. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  282. package/esm2015/abstract/input-slider.js +12 -12
  283. package/esm2015/abstract/slider/slider.js +12 -12
  284. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  285. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  286. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +11 -11
  287. package/esm2015/components/accordion/accordion.component.js +2 -2
  288. package/esm2015/components/action/action.component.js +9 -9
  289. package/esm2015/components/arrow/arrow-options.js +5 -5
  290. package/esm2015/components/arrow/arrow.component.js +2 -2
  291. package/esm2015/components/avatar/avatar-options.js +3 -3
  292. package/esm2015/components/avatar/avatar.component.js +12 -12
  293. package/esm2015/components/badge/badge.component.js +15 -15
  294. package/esm2015/components/badged-content/badged-content.component.js +22 -22
  295. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  296. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +4 -4
  297. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  298. package/esm2015/components/calendar-range/calendar-range.component.js +4 -4
  299. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  300. package/esm2015/components/carousel/carousel-buttons.directive.js +4 -4
  301. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  302. package/esm2015/components/carousel/carousel.component.js +10 -10
  303. package/esm2015/components/carousel/carousel.directive.js +3 -3
  304. package/esm2015/components/checkbox/checkbox.component.js +4 -4
  305. package/esm2015/components/checkbox-block/checkbox-block.component.js +9 -9
  306. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  307. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  308. package/esm2015/components/combo-box/combo-box.component.js +7 -7
  309. package/esm2015/components/combo-box/combo-box.directive.js +2 -2
  310. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  311. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  312. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -3
  313. package/esm2015/components/field-error/field-error.component.js +6 -6
  314. package/esm2015/components/files/file/file.component.js +20 -20
  315. package/esm2015/components/files/files.component.js +2 -2
  316. package/esm2015/components/filter/filter.component.js +4 -4
  317. package/esm2015/components/input/input.component.js +5 -5
  318. package/esm2015/components/input/input.directive.js +2 -2
  319. package/esm2015/components/input-copy/input-copy.component.js +8 -8
  320. package/esm2015/components/input-copy/input-copy.directive.js +2 -2
  321. package/esm2015/components/input-count/input-count-options.js +6 -6
  322. package/esm2015/components/input-count/input-count.component.js +12 -12
  323. package/esm2015/components/input-count/input-count.directive.js +4 -4
  324. package/esm2015/components/input-date/input-date.component.js +9 -9
  325. package/esm2015/components/input-date/input-date.directive.js +3 -3
  326. package/esm2015/components/input-date-range/input-date-range.component.js +13 -13
  327. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  328. package/esm2015/components/input-date-time/input-date-time.component.js +15 -15
  329. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  330. package/esm2015/components/input-file/file/file.component.js +18 -18
  331. package/esm2015/components/input-file/input-file.component.js +18 -18
  332. package/esm2015/components/input-files/input-files.component.js +16 -16
  333. package/esm2015/components/input-files/input-files.module.js +10 -3
  334. package/esm2015/components/input-inline/input-inline.component.js +5 -5
  335. package/esm2015/components/input-month/input-month.component.js +4 -4
  336. package/esm2015/components/input-month/input-month.directive.js +3 -3
  337. package/esm2015/components/input-month-range/input-month-range.component.js +7 -8
  338. package/esm2015/components/input-month-range/input-month-range.directive.js +4 -4
  339. package/esm2015/components/input-number/input-number.component.js +21 -21
  340. package/esm2015/components/input-number/input-number.directive.js +3 -3
  341. package/esm2015/components/input-password/input-password-options.js +4 -4
  342. package/esm2015/components/input-password/input-password.component.js +5 -5
  343. package/esm2015/components/input-password/input-password.directive.js +3 -3
  344. package/esm2015/components/input-phone/input-phone.component.js +30 -30
  345. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  346. package/esm2015/components/input-phone/input-phone.options.js +4 -4
  347. package/esm2015/components/input-phone/input-phone.providers.js +3 -3
  348. package/esm2015/components/input-phone-international/const/countries.js +215 -214
  349. package/esm2015/components/input-phone-international/country-iso-code.js +1 -1
  350. package/esm2015/components/input-phone-international/input-phone-international.component.js +14 -14
  351. package/esm2015/components/input-phone-international/input-phone-international.options.js +2 -2
  352. package/esm2015/components/input-phone-international/tokens/countries-masks.js +2 -2
  353. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +2 -2
  354. package/esm2015/components/input-range/input-range.component.js +17 -17
  355. package/esm2015/components/input-slider/input-slider.component.js +31 -22
  356. package/esm2015/components/input-tag/input-tag-options.js +3 -3
  357. package/esm2015/components/input-tag/input-tag.component.js +23 -23
  358. package/esm2015/components/input-time/input-time-options.js +6 -6
  359. package/esm2015/components/input-time/input-time.component.js +9 -9
  360. package/esm2015/components/island/island.component.js +19 -19
  361. package/esm2015/components/line-clamp/line-clamp-options.js +2 -2
  362. package/esm2015/components/line-clamp/line-clamp.component.js +11 -11
  363. package/esm2015/components/line-clamp/line-clamp.module.js +9 -3
  364. package/esm2015/components/marker-icon/marker-icon.component.js +7 -7
  365. package/esm2015/components/multi-select/hide-selected.pipe.js +2 -2
  366. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  367. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  368. package/esm2015/components/multi-select/multi-select-options.js +3 -3
  369. package/esm2015/components/multi-select/multi-select.component.js +10 -10
  370. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  371. package/esm2015/components/pagination/pagination.component.js +8 -8
  372. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +6 -6
  373. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  374. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +3 -3
  375. package/esm2015/components/progress/progress-bar/progress-bar.component.js +6 -6
  376. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  377. package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -7
  378. package/esm2015/components/progress/progress-label/progress-label.component.js +2 -2
  379. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  380. package/esm2015/components/progress/utils/calculate-color-segments.js +2 -2
  381. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +2 -2
  382. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +2 -2
  383. package/esm2015/components/radio/radio-options.js +3 -3
  384. package/esm2015/components/radio/radio.component.js +7 -7
  385. package/esm2015/components/radio-block/radio-block.component.js +10 -10
  386. package/esm2015/components/radio-group/radio-group.component.js +2 -2
  387. package/esm2015/components/radio-labeled/radio-labeled.component.js +6 -6
  388. package/esm2015/components/radio-list/radio-list.component.js +6 -6
  389. package/esm2015/components/range/range-change.directive.js +10 -10
  390. package/esm2015/components/range/range.component.js +23 -23
  391. package/esm2015/components/rating/rating-options.js +4 -4
  392. package/esm2015/components/rating/rating.component.js +5 -5
  393. package/esm2015/components/select/select-options.js +3 -3
  394. package/esm2015/components/select/select.component.js +4 -4
  395. package/esm2015/components/select/select.directive.js +2 -2
  396. package/esm2015/components/select-option/select-option.component.js +3 -3
  397. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +103 -0
  398. package/esm2015/components/slider/helpers/slider-readonly.directive.js +79 -0
  399. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +40 -0
  400. package/esm2015/components/slider/index.js +4 -3
  401. package/esm2015/components/slider/slider-old.component.js +2 -2
  402. package/esm2015/components/slider/slider-options.js +4 -4
  403. package/esm2015/components/slider/slider.component.js +9 -9
  404. package/esm2015/components/slider/slider.module.js +6 -3
  405. package/esm2015/components/stepper/step/step.component.js +12 -12
  406. package/esm2015/components/stepper/stepper.component.js +15 -15
  407. package/esm2015/components/tabs/tab/tab.component.js +8 -8
  408. package/esm2015/components/tabs/tab/tab.providers.js +4 -4
  409. package/esm2015/components/tabs/tabs/tabs.component.js +13 -13
  410. package/esm2015/components/tabs/tabs-options.js +2 -2
  411. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -9
  412. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -2
  413. package/esm2015/components/tabs/underline/underline.component.js +13 -13
  414. package/esm2015/components/tag/tag-options.js +4 -4
  415. package/esm2015/components/tag/tag.component.js +22 -22
  416. package/esm2015/components/text-area/text-area.component.js +17 -17
  417. package/esm2015/components/text-area/text-area.directive.js +2 -2
  418. package/esm2015/components/toggle/toggle-options.js +5 -5
  419. package/esm2015/components/toggle/toggle.component.js +8 -8
  420. package/esm2015/components/tree/components/tree/tree.component.js +3 -3
  421. package/esm2015/components/tree/components/tree-item/tree-item.component.js +4 -4
  422. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  423. package/esm2015/components/tree/directives/tree-children.directive.js +2 -2
  424. package/esm2015/components/tree/directives/tree-controller.directive.js +4 -4
  425. package/esm2015/components/tree/directives/tree-item-controller.directive.js +4 -4
  426. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  427. package/esm2015/components/tree/misc/tree.tokens.js +9 -9
  428. package/esm2015/constants/date-time-separator.js +2 -2
  429. package/esm2015/constants/group-class-names.js +10 -10
  430. package/esm2015/constants/icon-blank.js +2 -2
  431. package/esm2015/constants/masks.js +7 -7
  432. package/esm2015/constants/router-link-options.js +2 -2
  433. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +11 -11
  434. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +5 -5
  435. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +13 -13
  436. package/esm2015/directives/highlight/highlight.directive.js +11 -11
  437. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +12 -12
  438. package/esm2015/directives/present/present.directive.js +6 -6
  439. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  440. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  441. package/esm2015/directives/value-accessor/value-accessor.directive.js +2 -2
  442. package/esm2015/enums/borders.js +1 -1
  443. package/esm2015/enums/dropdown-position.js +1 -1
  444. package/esm2015/enums/file-state.js +1 -1
  445. package/esm2015/enums/marker-icon-mode.js +1 -1
  446. package/esm2015/enums/status.js +1 -1
  447. package/esm2015/enums/step-state.js +1 -1
  448. package/esm2015/enums/text-align.js +1 -1
  449. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  450. package/esm2015/pipes/field-error/field-error-content-pipe.js +4 -4
  451. package/esm2015/pipes/field-error/field-error-pipe.js +6 -6
  452. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +2 -2
  453. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +3 -3
  454. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +2 -2
  455. package/esm2015/pipes/stringify/stringify.pipe.js +3 -3
  456. package/esm2015/pipes/stringify-content/stringify-content.pipe.js +2 -2
  457. package/esm2015/providers/month-formatter.provider.js +2 -2
  458. package/esm2015/providers/specific-dropdown-controllers.js +3 -3
  459. package/esm2015/tokens/calendar-data-stream.js +2 -2
  460. package/esm2015/tokens/date-inputs-value-transformers.js +4 -4
  461. package/esm2015/tokens/i18n.js +28 -28
  462. package/esm2015/tokens/items-handlers.js +2 -2
  463. package/esm2015/tokens/mobile-aware.js +2 -2
  464. package/esm2015/tokens/mobile-calendar.js +2 -2
  465. package/esm2015/tokens/month-formatter.js +2 -2
  466. package/esm2015/tokens/tab-margin.js +2 -2
  467. package/esm2015/tokens/tag-status.js +2 -2
  468. package/esm2015/tokens/validation-errors.js +2 -2
  469. package/esm2015/utils/dom/get-word-range.js +5 -5
  470. package/esm2015/utils/files/format-size.js +2 -2
  471. package/esm2015/utils/files/get-accept-array.js +2 -2
  472. package/esm2015/utils/format/string-hash-to-hsl.js +3 -3
  473. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  474. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +6 -6
  475. package/esm2015/utils/mask/create-date-mask.js +5 -5
  476. package/esm2015/utils/mask/create-date-range-mask.js +2 -2
  477. package/esm2015/utils/mask/create-time-mask.js +4 -4
  478. package/esm2015/utils/math/horizontal-direction-to-number.js +3 -3
  479. package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +7 -7
  480. package/esm2015/utils/miscellaneous/get-precision.js +2 -2
  481. package/esm2015/validators/unfinished.validator.js +2 -2
  482. package/esm5/abstract/input-slider.js +12 -12
  483. package/esm5/abstract/slider/slider.js +12 -12
  484. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  485. package/esm5/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  486. package/esm5/components/accordion/accordion-item/accordion-item.component.js +11 -11
  487. package/esm5/components/accordion/accordion.component.js +2 -2
  488. package/esm5/components/action/action.component.js +9 -9
  489. package/esm5/components/arrow/arrow-options.js +5 -5
  490. package/esm5/components/arrow/arrow.component.js +2 -2
  491. package/esm5/components/avatar/avatar-options.js +3 -3
  492. package/esm5/components/avatar/avatar.component.js +12 -12
  493. package/esm5/components/badge/badge.component.js +15 -15
  494. package/esm5/components/badged-content/badged-content.component.js +22 -22
  495. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  496. package/esm5/components/breadcrumbs/breadcrumbs.component.js +4 -4
  497. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  498. package/esm5/components/calendar-range/calendar-range.component.js +4 -4
  499. package/esm5/components/carousel/carousel-autoscroll.directive.js +3 -3
  500. package/esm5/components/carousel/carousel-buttons.directive.js +4 -4
  501. package/esm5/components/carousel/carousel-scroll.directive.js +3 -3
  502. package/esm5/components/carousel/carousel.component.js +10 -10
  503. package/esm5/components/carousel/carousel.directive.js +3 -3
  504. package/esm5/components/checkbox/checkbox.component.js +4 -4
  505. package/esm5/components/checkbox-block/checkbox-block.component.js +9 -9
  506. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  507. package/esm5/components/combo-box/combo-box-strict.directive.js +3 -3
  508. package/esm5/components/combo-box/combo-box.component.js +7 -7
  509. package/esm5/components/combo-box/combo-box.directive.js +2 -2
  510. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  511. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  512. package/esm5/components/data-list-wrapper/data-list-wrapper.js +3 -3
  513. package/esm5/components/field-error/field-error.component.js +6 -6
  514. package/esm5/components/files/file/file.component.js +20 -20
  515. package/esm5/components/files/files.component.js +2 -2
  516. package/esm5/components/filter/filter.component.js +4 -4
  517. package/esm5/components/input/input.component.js +5 -5
  518. package/esm5/components/input/input.directive.js +2 -2
  519. package/esm5/components/input-copy/input-copy.component.js +8 -8
  520. package/esm5/components/input-copy/input-copy.directive.js +2 -2
  521. package/esm5/components/input-count/input-count-options.js +6 -6
  522. package/esm5/components/input-count/input-count.component.js +12 -12
  523. package/esm5/components/input-count/input-count.directive.js +4 -4
  524. package/esm5/components/input-date/input-date.component.js +9 -9
  525. package/esm5/components/input-date/input-date.directive.js +3 -3
  526. package/esm5/components/input-date-range/input-date-range.component.js +13 -13
  527. package/esm5/components/input-date-range/input-date-range.directive.js +3 -3
  528. package/esm5/components/input-date-time/input-date-time.component.js +15 -15
  529. package/esm5/components/input-date-time/input-date-time.directive.js +3 -3
  530. package/esm5/components/input-file/file/file.component.js +18 -18
  531. package/esm5/components/input-file/input-file.component.js +18 -18
  532. package/esm5/components/input-files/input-files.component.js +16 -16
  533. package/esm5/components/input-files/input-files.module.js +10 -3
  534. package/esm5/components/input-inline/input-inline.component.js +5 -5
  535. package/esm5/components/input-month/input-month.component.js +4 -4
  536. package/esm5/components/input-month/input-month.directive.js +3 -3
  537. package/esm5/components/input-month-range/input-month-range.component.js +7 -8
  538. package/esm5/components/input-month-range/input-month-range.directive.js +4 -4
  539. package/esm5/components/input-number/input-number.component.js +21 -21
  540. package/esm5/components/input-number/input-number.directive.js +3 -3
  541. package/esm5/components/input-password/input-password-options.js +4 -4
  542. package/esm5/components/input-password/input-password.component.js +5 -5
  543. package/esm5/components/input-password/input-password.directive.js +3 -3
  544. package/esm5/components/input-phone/input-phone.component.js +30 -30
  545. package/esm5/components/input-phone/input-phone.directive.js +3 -3
  546. package/esm5/components/input-phone/input-phone.options.js +4 -4
  547. package/esm5/components/input-phone/input-phone.providers.js +3 -3
  548. package/esm5/components/input-phone-international/const/countries.js +215 -214
  549. package/esm5/components/input-phone-international/country-iso-code.js +1 -1
  550. package/esm5/components/input-phone-international/input-phone-international.component.js +14 -14
  551. package/esm5/components/input-phone-international/input-phone-international.options.js +2 -2
  552. package/esm5/components/input-phone-international/tokens/countries-masks.js +2 -2
  553. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +2 -2
  554. package/esm5/components/input-range/input-range.component.js +17 -17
  555. package/esm5/components/input-slider/input-slider.component.js +35 -22
  556. package/esm5/components/input-tag/input-tag-options.js +3 -3
  557. package/esm5/components/input-tag/input-tag.component.js +23 -23
  558. package/esm5/components/input-time/input-time-options.js +6 -6
  559. package/esm5/components/input-time/input-time.component.js +9 -9
  560. package/esm5/components/island/island.component.js +19 -19
  561. package/esm5/components/line-clamp/line-clamp-options.js +2 -2
  562. package/esm5/components/line-clamp/line-clamp.component.js +11 -11
  563. package/esm5/components/line-clamp/line-clamp.module.js +9 -3
  564. package/esm5/components/marker-icon/marker-icon.component.js +7 -7
  565. package/esm5/components/multi-select/hide-selected.pipe.js +2 -2
  566. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  567. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  568. package/esm5/components/multi-select/multi-select-options.js +3 -3
  569. package/esm5/components/multi-select/multi-select.component.js +10 -10
  570. package/esm5/components/multi-select-option/multi-select-option.component.js +3 -3
  571. package/esm5/components/pagination/pagination.component.js +8 -8
  572. package/esm5/components/pdf-viewer/pdf-viewer.component.js +6 -6
  573. package/esm5/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  574. package/esm5/components/pdf-viewer/pdf-viewer.service.js +3 -3
  575. package/esm5/components/progress/progress-bar/progress-bar.component.js +6 -6
  576. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  577. package/esm5/components/progress/progress-circle/progress-circle.component.js +7 -7
  578. package/esm5/components/progress/progress-label/progress-label.component.js +2 -2
  579. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  580. package/esm5/components/progress/utils/calculate-color-segments.js +2 -2
  581. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +2 -2
  582. package/esm5/components/progress/utils/progress-color-segments.pipe.js +2 -2
  583. package/esm5/components/radio/radio-options.js +3 -3
  584. package/esm5/components/radio/radio.component.js +7 -7
  585. package/esm5/components/radio-block/radio-block.component.js +10 -10
  586. package/esm5/components/radio-group/radio-group.component.js +2 -2
  587. package/esm5/components/radio-labeled/radio-labeled.component.js +6 -6
  588. package/esm5/components/radio-list/radio-list.component.js +6 -6
  589. package/esm5/components/range/range-change.directive.js +12 -12
  590. package/esm5/components/range/range.component.js +23 -23
  591. package/esm5/components/rating/rating-options.js +4 -4
  592. package/esm5/components/rating/rating.component.js +5 -5
  593. package/esm5/components/select/select-options.js +3 -3
  594. package/esm5/components/select/select.component.js +4 -4
  595. package/esm5/components/select/select.directive.js +2 -2
  596. package/esm5/components/select-option/select-option.component.js +3 -3
  597. package/esm5/components/slider/helpers/slider-key-steps.directive.js +129 -0
  598. package/esm5/components/slider/helpers/slider-readonly.directive.js +87 -0
  599. package/esm5/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +55 -0
  600. package/esm5/components/slider/index.js +4 -3
  601. package/esm5/components/slider/slider-old.component.js +2 -2
  602. package/esm5/components/slider/slider-options.js +4 -4
  603. package/esm5/components/slider/slider.component.js +9 -9
  604. package/esm5/components/slider/slider.module.js +6 -3
  605. package/esm5/components/stepper/step/step.component.js +12 -12
  606. package/esm5/components/stepper/stepper.component.js +15 -15
  607. package/esm5/components/tabs/tab/tab.component.js +8 -8
  608. package/esm5/components/tabs/tab/tab.providers.js +4 -4
  609. package/esm5/components/tabs/tabs/tabs.component.js +13 -13
  610. package/esm5/components/tabs/tabs-options.js +2 -2
  611. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -9
  612. package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -2
  613. package/esm5/components/tabs/underline/underline.component.js +13 -13
  614. package/esm5/components/tag/tag-options.js +4 -4
  615. package/esm5/components/tag/tag.component.js +22 -22
  616. package/esm5/components/text-area/text-area.component.js +17 -17
  617. package/esm5/components/text-area/text-area.directive.js +2 -2
  618. package/esm5/components/toggle/toggle-options.js +5 -5
  619. package/esm5/components/toggle/toggle.component.js +8 -8
  620. package/esm5/components/tree/components/tree/tree.component.js +3 -3
  621. package/esm5/components/tree/components/tree-item/tree-item.component.js +4 -4
  622. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  623. package/esm5/components/tree/directives/tree-children.directive.js +2 -2
  624. package/esm5/components/tree/directives/tree-controller.directive.js +4 -4
  625. package/esm5/components/tree/directives/tree-item-controller.directive.js +4 -4
  626. package/esm5/components/tree/directives/tree-node.directive.js +3 -3
  627. package/esm5/components/tree/misc/tree.tokens.js +9 -9
  628. package/esm5/constants/date-time-separator.js +2 -2
  629. package/esm5/constants/group-class-names.js +10 -10
  630. package/esm5/constants/icon-blank.js +2 -2
  631. package/esm5/constants/masks.js +7 -7
  632. package/esm5/constants/router-link-options.js +2 -2
  633. package/esm5/directives/dropdown-context/dropdown-context.directive.js +11 -11
  634. package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +7 -7
  635. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +13 -13
  636. package/esm5/directives/highlight/highlight.directive.js +11 -11
  637. package/esm5/directives/lazy-loading/lazy-loading.directive.js +12 -12
  638. package/esm5/directives/present/present.directive.js +6 -6
  639. package/esm5/directives/project-class/project-class.directive.js +3 -3
  640. package/esm5/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  641. package/esm5/directives/value-accessor/value-accessor.directive.js +2 -2
  642. package/esm5/enums/borders.js +1 -1
  643. package/esm5/enums/dropdown-position.js +1 -1
  644. package/esm5/enums/file-state.js +1 -1
  645. package/esm5/enums/marker-icon-mode.js +1 -1
  646. package/esm5/enums/status.js +1 -1
  647. package/esm5/enums/step-state.js +1 -1
  648. package/esm5/enums/text-align.js +1 -1
  649. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  650. package/esm5/pipes/field-error/field-error-content-pipe.js +4 -4
  651. package/esm5/pipes/field-error/field-error-pipe.js +6 -6
  652. package/esm5/pipes/filter-by-input/filter-by-input-with.pipe.js +2 -2
  653. package/esm5/pipes/filter-by-input/filter-by-input.base.js +3 -3
  654. package/esm5/pipes/filter-by-input/filter-by-input.pipe.js +2 -2
  655. package/esm5/pipes/stringify/stringify.pipe.js +3 -3
  656. package/esm5/pipes/stringify-content/stringify-content.pipe.js +2 -2
  657. package/esm5/providers/month-formatter.provider.js +2 -2
  658. package/esm5/providers/specific-dropdown-controllers.js +3 -3
  659. package/esm5/tokens/calendar-data-stream.js +2 -2
  660. package/esm5/tokens/date-inputs-value-transformers.js +4 -4
  661. package/esm5/tokens/i18n.js +28 -28
  662. package/esm5/tokens/items-handlers.js +2 -2
  663. package/esm5/tokens/mobile-aware.js +2 -2
  664. package/esm5/tokens/mobile-calendar.js +2 -2
  665. package/esm5/tokens/month-formatter.js +2 -2
  666. package/esm5/tokens/tab-margin.js +2 -2
  667. package/esm5/tokens/tag-status.js +2 -2
  668. package/esm5/tokens/validation-errors.js +2 -2
  669. package/esm5/utils/dom/get-word-range.js +5 -5
  670. package/esm5/utils/files/format-size.js +2 -2
  671. package/esm5/utils/files/get-accept-array.js +2 -2
  672. package/esm5/utils/format/string-hash-to-hsl.js +3 -3
  673. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  674. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +6 -6
  675. package/esm5/utils/mask/create-date-mask.js +5 -5
  676. package/esm5/utils/mask/create-date-range-mask.js +2 -2
  677. package/esm5/utils/mask/create-time-mask.js +2 -2
  678. package/esm5/utils/math/horizontal-direction-to-number.js +3 -3
  679. package/esm5/utils/miscellaneous/create-default-day-range-periods.js +7 -7
  680. package/esm5/utils/miscellaneous/get-precision.js +2 -2
  681. package/esm5/validators/unfinished.validator.js +2 -2
  682. package/fesm2015/taiga-ui-kit-abstract.js +22 -22
  683. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  684. package/fesm2015/taiga-ui-kit-components-accordion.js +13 -13
  685. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  686. package/fesm2015/taiga-ui-kit-components-action.js +8 -8
  687. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  688. package/fesm2015/taiga-ui-kit-components-arrow.js +5 -5
  689. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  690. package/fesm2015/taiga-ui-kit-components-avatar.js +13 -13
  691. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  692. package/fesm2015/taiga-ui-kit-components-badge.js +14 -14
  693. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  694. package/fesm2015/taiga-ui-kit-components-badged-content.js +21 -21
  695. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  696. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +7 -7
  697. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  698. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  699. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  700. package/fesm2015/taiga-ui-kit-components-calendar-range.js +3 -3
  701. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  702. package/fesm2015/taiga-ui-kit-components-carousel.js +18 -18
  703. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  704. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +8 -8
  705. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  706. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  707. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  708. package/fesm2015/taiga-ui-kit-components-checkbox.js +3 -3
  709. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  710. package/fesm2015/taiga-ui-kit-components-combo-box.js +9 -9
  711. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  712. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  713. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  714. package/fesm2015/taiga-ui-kit-components-field-error.js +5 -5
  715. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  716. package/fesm2015/taiga-ui-kit-components-files.js +20 -20
  717. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  718. package/fesm2015/taiga-ui-kit-components-filter.js +3 -3
  719. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  720. package/fesm2015/taiga-ui-kit-components-input-copy.js +8 -8
  721. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  722. package/fesm2015/taiga-ui-kit-components-input-count.js +19 -19
  723. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  724. package/fesm2015/taiga-ui-kit-components-input-date-range.js +14 -14
  725. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  726. package/fesm2015/taiga-ui-kit-components-input-date-time.js +16 -16
  727. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  728. package/fesm2015/taiga-ui-kit-components-input-date.js +10 -10
  729. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  730. package/fesm2015/taiga-ui-kit-components-input-file.js +34 -34
  731. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  732. package/fesm2015/taiga-ui-kit-components-input-files.js +24 -17
  733. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  734. package/fesm2015/taiga-ui-kit-components-input-inline.js +4 -4
  735. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  736. package/fesm2015/taiga-ui-kit-components-input-month-range.js +9 -10
  737. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  738. package/fesm2015/taiga-ui-kit-components-input-month.js +5 -5
  739. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  740. package/fesm2015/taiga-ui-kit-components-input-number.js +22 -22
  741. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  742. package/fesm2015/taiga-ui-kit-components-input-password.js +9 -9
  743. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  744. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +230 -229
  745. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  746. package/fesm2015/taiga-ui-kit-components-input-phone.js +36 -36
  747. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  748. package/fesm2015/taiga-ui-kit-components-input-range.js +16 -16
  749. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  750. package/fesm2015/taiga-ui-kit-components-input-slider.js +30 -22
  751. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  752. package/fesm2015/taiga-ui-kit-components-input-tag.js +24 -24
  753. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  754. package/fesm2015/taiga-ui-kit-components-input-time.js +13 -13
  755. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  756. package/fesm2015/taiga-ui-kit-components-input.js +5 -5
  757. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  758. package/fesm2015/taiga-ui-kit-components-island.js +18 -18
  759. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  760. package/fesm2015/taiga-ui-kit-components-line-clamp.js +19 -13
  761. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  762. package/fesm2015/taiga-ui-kit-components-marker-icon.js +6 -6
  763. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  764. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  765. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  766. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -17
  767. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  768. package/fesm2015/taiga-ui-kit-components-pagination.js +7 -7
  769. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  770. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +10 -10
  771. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  772. package/fesm2015/taiga-ui-kit-components-progress.js +26 -26
  773. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  774. package/fesm2015/taiga-ui-kit-components-radio-block.js +9 -9
  775. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  776. package/fesm2015/taiga-ui-kit-components-radio-group.js +1 -1
  777. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  778. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +5 -5
  779. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  780. package/fesm2015/taiga-ui-kit-components-radio-list.js +5 -5
  781. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  782. package/fesm2015/taiga-ui-kit-components-radio.js +8 -8
  783. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  784. package/fesm2015/taiga-ui-kit-components-range.js +31 -31
  785. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  786. package/fesm2015/taiga-ui-kit-components-rating.js +7 -7
  787. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  788. package/fesm2015/taiga-ui-kit-components-select-option.js +2 -2
  789. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  790. package/fesm2015/taiga-ui-kit-components-select.js +6 -6
  791. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  792. package/fesm2015/taiga-ui-kit-components-slider.js +136 -100
  793. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  794. package/fesm2015/taiga-ui-kit-components-stepper.js +25 -25
  795. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  796. package/fesm2015/taiga-ui-kit-components-tabs.js +46 -44
  797. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  798. package/fesm2015/taiga-ui-kit-components-tag.js +24 -24
  799. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  800. package/fesm2015/taiga-ui-kit-components-text-area.js +17 -17
  801. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  802. package/fesm2015/taiga-ui-kit-components-toggle.js +11 -11
  803. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  804. package/fesm2015/taiga-ui-kit-components-tree.js +24 -24
  805. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  806. package/fesm2015/taiga-ui-kit-constants.js +18 -18
  807. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  808. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +10 -10
  809. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  810. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js +4 -4
  811. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  812. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +12 -12
  813. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  814. package/fesm2015/taiga-ui-kit-directives-highlight.js +10 -10
  815. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  816. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +11 -11
  817. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  818. package/fesm2015/taiga-ui-kit-directives-present.js +5 -5
  819. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  820. package/fesm2015/taiga-ui-kit-directives-project-class.js +2 -2
  821. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  822. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  823. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  824. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +1 -1
  825. package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  826. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  827. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  828. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  829. package/fesm2015/taiga-ui-kit-pipes-field-error.js +8 -8
  830. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  831. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  832. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  833. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js +1 -1
  834. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  835. package/fesm2015/taiga-ui-kit-pipes-stringify.js +2 -2
  836. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  837. package/fesm2015/taiga-ui-kit-providers.js +3 -3
  838. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  839. package/fesm2015/taiga-ui-kit-tokens.js +38 -38
  840. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  841. package/fesm2015/taiga-ui-kit-utils-dom.js +4 -4
  842. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  843. package/fesm2015/taiga-ui-kit-utils-files.js +2 -2
  844. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  845. package/fesm2015/taiga-ui-kit-utils-format.js +2 -2
  846. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  847. package/fesm2015/taiga-ui-kit-utils-mask.js +14 -14
  848. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  849. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  850. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  851. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +7 -7
  852. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  853. package/fesm2015/taiga-ui-kit-validators.js +1 -1
  854. package/fesm2015/taiga-ui-kit-validators.js.map +1 -1
  855. package/fesm5/taiga-ui-kit-abstract.js +22 -22
  856. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  857. package/fesm5/taiga-ui-kit-components-accordion.js +13 -13
  858. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  859. package/fesm5/taiga-ui-kit-components-action.js +8 -8
  860. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  861. package/fesm5/taiga-ui-kit-components-arrow.js +5 -5
  862. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  863. package/fesm5/taiga-ui-kit-components-avatar.js +13 -13
  864. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  865. package/fesm5/taiga-ui-kit-components-badge.js +14 -14
  866. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  867. package/fesm5/taiga-ui-kit-components-badged-content.js +21 -21
  868. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  869. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +7 -7
  870. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  871. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  872. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  873. package/fesm5/taiga-ui-kit-components-calendar-range.js +3 -3
  874. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  875. package/fesm5/taiga-ui-kit-components-carousel.js +18 -18
  876. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  877. package/fesm5/taiga-ui-kit-components-checkbox-block.js +8 -8
  878. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  879. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  880. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  881. package/fesm5/taiga-ui-kit-components-checkbox.js +3 -3
  882. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  883. package/fesm5/taiga-ui-kit-components-combo-box.js +9 -9
  884. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  885. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  886. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  887. package/fesm5/taiga-ui-kit-components-field-error.js +5 -5
  888. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  889. package/fesm5/taiga-ui-kit-components-files.js +20 -20
  890. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  891. package/fesm5/taiga-ui-kit-components-filter.js +3 -3
  892. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  893. package/fesm5/taiga-ui-kit-components-input-copy.js +8 -8
  894. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  895. package/fesm5/taiga-ui-kit-components-input-count.js +19 -19
  896. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  897. package/fesm5/taiga-ui-kit-components-input-date-range.js +14 -14
  898. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  899. package/fesm5/taiga-ui-kit-components-input-date-time.js +16 -16
  900. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  901. package/fesm5/taiga-ui-kit-components-input-date.js +10 -10
  902. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  903. package/fesm5/taiga-ui-kit-components-input-file.js +34 -34
  904. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  905. package/fesm5/taiga-ui-kit-components-input-files.js +24 -17
  906. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  907. package/fesm5/taiga-ui-kit-components-input-inline.js +4 -4
  908. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  909. package/fesm5/taiga-ui-kit-components-input-month-range.js +9 -10
  910. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  911. package/fesm5/taiga-ui-kit-components-input-month.js +5 -5
  912. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  913. package/fesm5/taiga-ui-kit-components-input-number.js +22 -22
  914. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  915. package/fesm5/taiga-ui-kit-components-input-password.js +9 -9
  916. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  917. package/fesm5/taiga-ui-kit-components-input-phone-international.js +230 -229
  918. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  919. package/fesm5/taiga-ui-kit-components-input-phone.js +36 -36
  920. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  921. package/fesm5/taiga-ui-kit-components-input-range.js +16 -16
  922. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  923. package/fesm5/taiga-ui-kit-components-input-slider.js +34 -22
  924. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  925. package/fesm5/taiga-ui-kit-components-input-tag.js +24 -24
  926. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  927. package/fesm5/taiga-ui-kit-components-input-time.js +13 -13
  928. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  929. package/fesm5/taiga-ui-kit-components-input.js +5 -5
  930. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  931. package/fesm5/taiga-ui-kit-components-island.js +18 -18
  932. package/fesm5/taiga-ui-kit-components-island.js.map +1 -1
  933. package/fesm5/taiga-ui-kit-components-line-clamp.js +19 -13
  934. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  935. package/fesm5/taiga-ui-kit-components-marker-icon.js +6 -6
  936. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  937. package/fesm5/taiga-ui-kit-components-multi-select-option.js +2 -2
  938. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  939. package/fesm5/taiga-ui-kit-components-multi-select.js +17 -17
  940. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  941. package/fesm5/taiga-ui-kit-components-pagination.js +7 -7
  942. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  943. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +10 -10
  944. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  945. package/fesm5/taiga-ui-kit-components-progress.js +26 -26
  946. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  947. package/fesm5/taiga-ui-kit-components-radio-block.js +9 -9
  948. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  949. package/fesm5/taiga-ui-kit-components-radio-group.js +1 -1
  950. package/fesm5/taiga-ui-kit-components-radio-group.js.map +1 -1
  951. package/fesm5/taiga-ui-kit-components-radio-labeled.js +5 -5
  952. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  953. package/fesm5/taiga-ui-kit-components-radio-list.js +5 -5
  954. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  955. package/fesm5/taiga-ui-kit-components-radio.js +8 -8
  956. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  957. package/fesm5/taiga-ui-kit-components-range.js +33 -33
  958. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  959. package/fesm5/taiga-ui-kit-components-rating.js +7 -7
  960. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  961. package/fesm5/taiga-ui-kit-components-select-option.js +2 -2
  962. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  963. package/fesm5/taiga-ui-kit-components-select.js +6 -6
  964. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  965. package/fesm5/taiga-ui-kit-components-slider.js +159 -108
  966. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  967. package/fesm5/taiga-ui-kit-components-stepper.js +25 -25
  968. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  969. package/fesm5/taiga-ui-kit-components-tabs.js +46 -44
  970. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  971. package/fesm5/taiga-ui-kit-components-tag.js +24 -24
  972. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  973. package/fesm5/taiga-ui-kit-components-text-area.js +17 -17
  974. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  975. package/fesm5/taiga-ui-kit-components-toggle.js +11 -11
  976. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  977. package/fesm5/taiga-ui-kit-components-tree.js +24 -24
  978. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  979. package/fesm5/taiga-ui-kit-constants.js +18 -18
  980. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  981. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +10 -10
  982. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  983. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js +6 -6
  984. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  985. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +12 -12
  986. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  987. package/fesm5/taiga-ui-kit-directives-highlight.js +10 -10
  988. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  989. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +11 -11
  990. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  991. package/fesm5/taiga-ui-kit-directives-present.js +5 -5
  992. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  993. package/fesm5/taiga-ui-kit-directives-project-class.js +2 -2
  994. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  995. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  996. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  997. package/fesm5/taiga-ui-kit-directives-value-accessor.js +1 -1
  998. package/fesm5/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  999. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  1000. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  1001. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  1002. package/fesm5/taiga-ui-kit-pipes-field-error.js +8 -8
  1003. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  1004. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  1005. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  1006. package/fesm5/taiga-ui-kit-pipes-stringify-content.js +1 -1
  1007. package/fesm5/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  1008. package/fesm5/taiga-ui-kit-pipes-stringify.js +2 -2
  1009. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  1010. package/fesm5/taiga-ui-kit-providers.js +3 -3
  1011. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  1012. package/fesm5/taiga-ui-kit-tokens.js +38 -38
  1013. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  1014. package/fesm5/taiga-ui-kit-utils-dom.js +4 -4
  1015. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  1016. package/fesm5/taiga-ui-kit-utils-files.js +2 -2
  1017. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  1018. package/fesm5/taiga-ui-kit-utils-format.js +2 -2
  1019. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  1020. package/fesm5/taiga-ui-kit-utils-mask.js +12 -12
  1021. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  1022. package/fesm5/taiga-ui-kit-utils-math.js +2 -2
  1023. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  1024. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +7 -7
  1025. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  1026. package/fesm5/taiga-ui-kit-validators.js +1 -1
  1027. package/fesm5/taiga-ui-kit-validators.js.map +1 -1
  1028. package/package.json +4 -4
  1029. package/esm2015/components/slider/slider-key-steps.directive.js +0 -103
  1030. package/esm2015/components/slider/slider-readonly.directive.js +0 -79
  1031. package/esm5/components/slider/slider-key-steps.directive.js +0 -129
  1032. package/esm5/components/slider/slider-readonly.directive.js +0 -87
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-phone.js","sources":["ng://@taiga-ui/kit/components/input-phone/input-phone.options.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.providers.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.component.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.directive.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.module.ts","ng://@taiga-ui/kit/components/input-phone/taiga-ui-kit-components-input-phone.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiInputPhoneOptions {\n readonly phoneMaskAfterCountryCode: string;\n readonly allowText: boolean;\n readonly countryCode: string;\n}\n\nexport const TUI_INPUT_PHONE_DEFAULT_OPTIONS: TuiInputPhoneOptions = {\n phoneMaskAfterCountryCode: '### ###-##-##',\n allowText: false,\n countryCode: '+7',\n};\n\nexport const TUI_INPUT_PHONE_OPTIONS = new InjectionToken<TuiInputPhoneOptions>(\n 'Default parameters for input phone component',\n {\n factory: () => TUI_INPUT_PHONE_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputPhoneOptionsProvider: (\n options: Partial<TuiInputPhoneOptions>,\n) => ValueProvider = (options: Partial<TuiInputPhoneOptions>) => ({\n provide: TUI_INPUT_PHONE_OPTIONS,\n useValue: {...TUI_INPUT_PHONE_DEFAULT_OPTIONS, ...options},\n});\n","import {DOCUMENT} from '@angular/common';\nimport {forwardRef, InjectionToken} from '@angular/core';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST} from '@taiga-ui/core';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {flatMap, startWith, takeUntil, windowToggle} from 'rxjs/operators';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\n\nexport const SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n 'A stream of selection changes',\n);\nexport const INPUT_PHONE_PROVIDERS = [\n TuiDestroyService,\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputPhoneComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputPhoneComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiInputPhoneComponent),\n },\n {\n provide: SELECTION_STREAM,\n deps: [TuiDestroyService, DOCUMENT],\n useFactory: selectionStreamFactory,\n },\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function selectionStreamFactory(\n destroy$: Observable<unknown>,\n documentRef: Document,\n): Observable<unknown> {\n return fromEvent(documentRef, 'selectionchange').pipe(\n windowToggle(\n merge(fromEvent(documentRef, 'mouseup'), fromEvent(documentRef, 'keydown')),\n () => fromEvent(documentRef, 'mousedown'),\n ),\n flatMap(windowed$ => windowed$.pipe(startWith(null))),\n takeUntil(destroy$),\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n getClipboardDataText,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiInputModeT,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n formatPhone,\n TUI_MASK_SYMBOLS_REGEXP,\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldCleanerDirective,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {TextMaskConfig} from 'angular2-text-mask';\nimport {Observable} from 'rxjs';\n\nimport {TUI_INPUT_PHONE_OPTIONS, TuiInputPhoneOptions} from './input-phone.options';\nimport {INPUT_PHONE_PROVIDERS, SELECTION_STREAM} from './input-phone.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-input-phone',\n templateUrl: './input-phone.template.html',\n styleUrls: ['./input-phone.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: INPUT_PHONE_PROVIDERS,\n})\nexport class TuiInputPhoneComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiHostedDropdownComponent)\n private readonly dropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input('countryCode')\n @tuiRequiredSetter()\n set countryCodeSetter(countryCode: string) {\n this.updateValueWithNewCountryCode(countryCode);\n this.countryCode = countryCode;\n }\n\n @Input()\n @tuiDefaultProp()\n phoneMaskAfterCountryCode = this.options.phoneMaskAfterCountryCode;\n\n @Input()\n @tuiDefaultProp()\n allowText = this.options.allowText;\n\n @Input()\n @tuiDefaultProp()\n search = '';\n\n @Output()\n readonly searchChange = new EventEmitter<string>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist?: TemplateRef<TuiContextWithImplicit<TuiActiveZoneDirective>>;\n\n readonly textMaskOptions: TextMaskConfig = {\n mask: value =>\n this.allowText && !this.value && isText(value) && value !== '+'\n ? false\n : [\n ...this.countryCode.split(''),\n ' ',\n ...this.phoneMaskAfterCountryCode\n .replace(/[^#\\- ()]+/g, '')\n .split('')\n .map(item => (item === '#' ? /\\d/ : item)),\n ],\n pipe: value => {\n if (this.allowText) {\n return value;\n }\n\n return value === '' && this.focused && !this.readOnly\n ? `${this.countryCode} `\n : value.replace(/-$/, '');\n },\n guide: false,\n } as TuiTextMaskOptions as unknown as TextMaskConfig;\n\n countryCode = this.options.countryCode;\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(SELECTION_STREAM)\n selection$: Observable<unknown>,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_INPUT_PHONE_OPTIONS)\n private readonly options: TuiInputPhoneOptions,\n ) {\n super(control, changeDetectorRef);\n\n selection$.subscribe(() => {\n this.setCaretPosition();\n });\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.dropdown && this.dropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value\n ? formatPhone(this.value, this.countryCode, this.phoneMaskAfterCountryCode)\n : this.search || '';\n }\n\n get inputMode(): TuiInputModeT {\n return this.allowText ? 'text' : 'numeric';\n }\n\n get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n get canClean(): boolean {\n return this.computedValue !== this.countryCode && this.textfieldCleaner.cleaner;\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onDrop(event: DragEvent): void {\n if (!event.dataTransfer) {\n return;\n }\n\n this.setValueWithoutPrefix(event.dataTransfer.getData('text'));\n event.preventDefault();\n }\n\n onPaste(event: Event): void {\n this.setValueWithoutPrefix(getClipboardDataText(event as ClipboardEvent));\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (active && !this.computedValue && !this.readOnly && !this.allowText) {\n this.updateSearch(this.countryCode);\n\n return;\n }\n\n if (\n this.computedValue === this.countryCode ||\n (this.search !== null &&\n isNaN(parseInt(this.search.replace(TUI_MASK_SYMBOLS_REGEXP, ''), 10)))\n ) {\n this.updateSearch('');\n }\n }\n\n onBackspace(event: Event): void {\n const target = event.target as HTMLInputElement;\n\n if (\n (target.selectionStart || 0) <= this.nonRemovableLength &&\n target.selectionStart === target.selectionEnd\n ) {\n event.preventDefault();\n }\n }\n\n onValueChange(value: string): void {\n value = value === '' ? this.countryCode : value;\n\n const parsed = isText(value) ? value : value.replace(TUI_MASK_SYMBOLS_REGEXP, '');\n\n this.updateSearch(parsed);\n this.updateValue(parsed === this.countryCode || isText(parsed) ? '' : parsed);\n this.open = true;\n }\n\n handleOption(item: string): void {\n this.focusInput();\n this.updateValue(item);\n this.updateSearch('');\n this.open = false;\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n writeValue(value: string | null): void {\n super.writeValue(value);\n this.updateSearch('');\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get caretIsInForbiddenArea(): boolean {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement) {\n return false;\n }\n\n const {selectionStart, selectionEnd} = nativeFocusableElement;\n\n return (\n isNativeFocused(nativeFocusableElement) &&\n selectionStart !== null &&\n selectionStart < this.nonRemovableLength &&\n selectionStart === selectionEnd\n );\n }\n\n private get nonRemovableLength(): number {\n return this.isTextValue ? 0 : this.countryCode.length + 1;\n }\n\n private get maxPhoneLength(): number {\n return (\n this.countryCode.length +\n this.phoneMaskAfterCountryCode.replace(/[^#]+/g, '').length\n );\n }\n\n private get isTextValue(): boolean {\n return !!this.search && isText(this.search);\n }\n\n private setCaretPosition(): void {\n if (this.caretIsInForbiddenArea && !!this.nativeFocusableElement) {\n this.nativeFocusableElement.setSelectionRange(\n this.nonRemovableLength,\n this.nonRemovableLength,\n );\n }\n }\n\n private setValueWithoutPrefix(value: string): void {\n if (this.readOnly) {\n return;\n }\n\n this.open = true;\n this.updateValue(this.cleanValue(value));\n this.updateSearch(\n this.allowText && isText(value)\n ? value\n : value.replace(TUI_MASK_SYMBOLS_REGEXP, ''),\n );\n }\n\n private cleanValue(value: string): string {\n const reg: RegExp =\n this.countryCode === '+7' ? /^7|^8/ : new RegExp(this.countryCode.slice(1));\n const oldValueExist =\n this.value.length > this.countryCode.length &&\n this.value.length < this.maxPhoneLength;\n const newValueLength = value.replace(TUI_MASK_SYMBOLS_REGEXP, '').length;\n const cleanNewValue = value.replace(/[^0-9]+/g, '');\n const selectionLength = String(getSelection()).length;\n\n if (oldValueExist && selectionLength === 0) {\n return `${this.value}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n if (newValueLength < this.maxPhoneLength - 1) {\n return `${this.countryCode}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n return `${this.countryCode}${cleanNewValue.replace(reg, '')}`.slice(\n 0,\n this.maxPhoneLength,\n );\n }\n\n private focusInput(): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, true);\n }\n }\n\n private updateSearch(search: string): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private updateValueWithNewCountryCode(newCountryCode: string): void {\n if (!this.isTextValue) {\n this.updateValue(this.value.replace(this.countryCode, newCountryCode));\n }\n }\n}\n\nfunction isText(value: string): boolean {\n return isNaN(parseInt(value.replace(TUI_MASK_SYMBOLS_REGEXP, ''), 10));\n}\n","import {Directive, DoCheck, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\n\n@Directive({\n selector: 'tui-input-phone',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputPhoneDirective),\n },\n ],\n})\nexport class TuiInputPhoneDirective\n extends TuiAbstractTextfieldHost<TuiInputPhoneComponent>\n implements DoCheck\n{\n input?: HTMLInputElement;\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement): void {\n this.input = input;\n }\n\n ngDoCheck(): void {\n if (!this.input) {\n return;\n }\n\n this.input.type = 'tel';\n this.input.inputMode = this.host.inputMode;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\nimport {TuiInputPhoneDirective} from './input-phone.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputPhoneComponent, TuiInputPhoneDirective],\n exports: [TuiInputPhoneComponent, TuiInputPhoneDirective, TuiTextfieldComponent],\n})\nexport class TuiInputPhoneModule {}\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-input-phone.js","sources":["ng://@taiga-ui/kit/components/input-phone/input-phone.options.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.providers.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.component.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.directive.ts","ng://@taiga-ui/kit/components/input-phone/input-phone.module.ts","ng://@taiga-ui/kit/components/input-phone/taiga-ui-kit-components-input-phone.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiInputPhoneOptions {\n readonly phoneMaskAfterCountryCode: string;\n readonly allowText: boolean;\n readonly countryCode: string;\n}\n\nexport const TUI_INPUT_PHONE_DEFAULT_OPTIONS: TuiInputPhoneOptions = {\n phoneMaskAfterCountryCode: `### ###-##-##`,\n allowText: false,\n countryCode: `+7`,\n};\n\nexport const TUI_INPUT_PHONE_OPTIONS = new InjectionToken<TuiInputPhoneOptions>(\n `Default parameters for input phone component`,\n {\n factory: () => TUI_INPUT_PHONE_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputPhoneOptionsProvider: (\n options: Partial<TuiInputPhoneOptions>,\n) => ValueProvider = (options: Partial<TuiInputPhoneOptions>) => ({\n provide: TUI_INPUT_PHONE_OPTIONS,\n useValue: {...TUI_INPUT_PHONE_DEFAULT_OPTIONS, ...options},\n});\n","import {DOCUMENT} from '@angular/common';\nimport {forwardRef, InjectionToken} from '@angular/core';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST} from '@taiga-ui/core';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {flatMap, startWith, takeUntil, windowToggle} from 'rxjs/operators';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\n\nexport const SELECTION_STREAM = new InjectionToken<Observable<unknown>>(\n `A stream of selection changes`,\n);\nexport const INPUT_PHONE_PROVIDERS = [\n TuiDestroyService,\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputPhoneComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputPhoneComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiInputPhoneComponent),\n },\n {\n provide: SELECTION_STREAM,\n deps: [TuiDestroyService, DOCUMENT],\n useFactory: selectionStreamFactory,\n },\n];\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function selectionStreamFactory(\n destroy$: Observable<unknown>,\n documentRef: Document,\n): Observable<unknown> {\n return fromEvent(documentRef, `selectionchange`).pipe(\n windowToggle(\n merge(fromEvent(documentRef, `mouseup`), fromEvent(documentRef, `keydown`)),\n () => fromEvent(documentRef, `mousedown`),\n ),\n flatMap(windowed$ => windowed$.pipe(startWith(null))),\n takeUntil(destroy$),\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n getClipboardDataText,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiInputModeT,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n formatPhone,\n TUI_MASK_SYMBOLS_REGEXP,\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldCleanerDirective,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {TextMaskConfig} from 'angular2-text-mask';\nimport {Observable} from 'rxjs';\n\nimport {TUI_INPUT_PHONE_OPTIONS, TuiInputPhoneOptions} from './input-phone.options';\nimport {INPUT_PHONE_PROVIDERS, SELECTION_STREAM} from './input-phone.providers';\n\n// @dynamic\n@Component({\n selector: `tui-input-phone`,\n templateUrl: `./input-phone.template.html`,\n styleUrls: [`./input-phone.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: INPUT_PHONE_PROVIDERS,\n})\nexport class TuiInputPhoneComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiHostedDropdownComponent)\n private readonly dropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input(`countryCode`)\n @tuiRequiredSetter()\n set countryCodeSetter(countryCode: string) {\n this.updateValueWithNewCountryCode(countryCode);\n this.countryCode = countryCode;\n }\n\n @Input()\n @tuiDefaultProp()\n phoneMaskAfterCountryCode = this.options.phoneMaskAfterCountryCode;\n\n @Input()\n @tuiDefaultProp()\n allowText = this.options.allowText;\n\n @Input()\n @tuiDefaultProp()\n search = ``;\n\n @Output()\n readonly searchChange = new EventEmitter<string>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist?: TemplateRef<TuiContextWithImplicit<TuiActiveZoneDirective>>;\n\n readonly textMaskOptions: TextMaskConfig = {\n mask: value =>\n this.allowText && !this.value && isText(value) && value !== `+`\n ? false\n : [\n ...this.countryCode.split(``),\n ` `,\n ...this.phoneMaskAfterCountryCode\n .replace(/[^#\\- ()]+/g, ``)\n .split(``)\n .map(item => (item === `#` ? /\\d/ : item)),\n ],\n pipe: value => {\n if (this.allowText) {\n return value;\n }\n\n return value === `` && this.focused && !this.readOnly\n ? `${this.countryCode} `\n : value.replace(/-$/, ``);\n },\n guide: false,\n } as TuiTextMaskOptions as unknown as TextMaskConfig;\n\n countryCode = this.options.countryCode;\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(SELECTION_STREAM)\n selection$: Observable<unknown>,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_INPUT_PHONE_OPTIONS)\n private readonly options: TuiInputPhoneOptions,\n ) {\n super(control, changeDetectorRef);\n\n selection$.subscribe(() => {\n this.setCaretPosition();\n });\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.dropdown && this.dropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value\n ? formatPhone(this.value, this.countryCode, this.phoneMaskAfterCountryCode)\n : this.search || ``;\n }\n\n get inputMode(): TuiInputModeT {\n return this.allowText ? `text` : `numeric`;\n }\n\n get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n get canClean(): boolean {\n return this.computedValue !== this.countryCode && this.textfieldCleaner.cleaner;\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onDrop(event: DragEvent): void {\n if (!event.dataTransfer) {\n return;\n }\n\n this.setValueWithoutPrefix(event.dataTransfer.getData(`text`));\n event.preventDefault();\n }\n\n onPaste(event: Event): void {\n this.setValueWithoutPrefix(getClipboardDataText(event as ClipboardEvent));\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (active && !this.computedValue && !this.readOnly && !this.allowText) {\n this.updateSearch(this.countryCode);\n\n return;\n }\n\n if (\n this.computedValue === this.countryCode ||\n (this.search !== null &&\n isNaN(parseInt(this.search.replace(TUI_MASK_SYMBOLS_REGEXP, ``), 10)))\n ) {\n this.updateSearch(``);\n }\n }\n\n onBackspace(event: Event): void {\n const target = event.target as HTMLInputElement;\n\n if (\n (target.selectionStart || 0) <= this.nonRemovableLength &&\n target.selectionStart === target.selectionEnd\n ) {\n event.preventDefault();\n }\n }\n\n onValueChange(value: string): void {\n value = value === `` ? this.countryCode : value;\n\n const parsed = isText(value) ? value : value.replace(TUI_MASK_SYMBOLS_REGEXP, ``);\n\n this.updateSearch(parsed);\n this.updateValue(parsed === this.countryCode || isText(parsed) ? `` : parsed);\n this.open = true;\n }\n\n handleOption(item: string): void {\n this.focusInput();\n this.updateValue(item);\n this.updateSearch(``);\n this.open = false;\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n writeValue(value: string | null): void {\n super.writeValue(value);\n this.updateSearch(``);\n }\n\n protected getFallbackValue(): string {\n return ``;\n }\n\n private get caretIsInForbiddenArea(): boolean {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement) {\n return false;\n }\n\n const {selectionStart, selectionEnd} = nativeFocusableElement;\n\n return (\n isNativeFocused(nativeFocusableElement) &&\n selectionStart !== null &&\n selectionStart < this.nonRemovableLength &&\n selectionStart === selectionEnd\n );\n }\n\n private get nonRemovableLength(): number {\n return this.isTextValue ? 0 : this.countryCode.length + 1;\n }\n\n private get maxPhoneLength(): number {\n return (\n this.countryCode.length +\n this.phoneMaskAfterCountryCode.replace(/[^#]+/g, ``).length\n );\n }\n\n private get isTextValue(): boolean {\n return !!this.search && isText(this.search);\n }\n\n private setCaretPosition(): void {\n if (this.caretIsInForbiddenArea && !!this.nativeFocusableElement) {\n this.nativeFocusableElement.setSelectionRange(\n this.nonRemovableLength,\n this.nonRemovableLength,\n );\n }\n }\n\n private setValueWithoutPrefix(value: string): void {\n if (this.readOnly) {\n return;\n }\n\n this.open = true;\n this.updateValue(this.cleanValue(value));\n this.updateSearch(\n this.allowText && isText(value)\n ? value\n : value.replace(TUI_MASK_SYMBOLS_REGEXP, ``),\n );\n }\n\n private cleanValue(value: string): string {\n const reg: RegExp =\n this.countryCode === `+7` ? /^7|^8/ : new RegExp(this.countryCode.slice(1));\n const oldValueExist =\n this.value.length > this.countryCode.length &&\n this.value.length < this.maxPhoneLength;\n const newValueLength = value.replace(TUI_MASK_SYMBOLS_REGEXP, ``).length;\n const cleanNewValue = value.replace(/[^0-9]+/g, ``);\n const selectionLength = String(getSelection()).length;\n\n if (oldValueExist && selectionLength === 0) {\n return `${this.value}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n if (newValueLength < this.maxPhoneLength - 1) {\n return `${this.countryCode}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n return `${this.countryCode}${cleanNewValue.replace(reg, ``)}`.slice(\n 0,\n this.maxPhoneLength,\n );\n }\n\n private focusInput(): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, true);\n }\n }\n\n private updateSearch(search: string): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private updateValueWithNewCountryCode(newCountryCode: string): void {\n if (!this.isTextValue) {\n this.updateValue(this.value.replace(this.countryCode, newCountryCode));\n }\n }\n}\n\nfunction isText(value: string): boolean {\n return isNaN(parseInt(value.replace(TUI_MASK_SYMBOLS_REGEXP, ``), 10));\n}\n","import {Directive, DoCheck, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\n\n@Directive({\n selector: `tui-input-phone`,\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputPhoneDirective),\n },\n ],\n})\nexport class TuiInputPhoneDirective\n extends TuiAbstractTextfieldHost<TuiInputPhoneComponent>\n implements DoCheck\n{\n input?: HTMLInputElement;\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement): void {\n this.input = input;\n }\n\n ngDoCheck(): void {\n if (!this.input) {\n return;\n }\n\n this.input.type = `tel`;\n this.input.inputMode = this.host.inputMode;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\nimport {TuiInputPhoneDirective} from './input-phone.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputPhoneComponent, TuiInputPhoneDirective],\n exports: [TuiInputPhoneComponent, TuiInputPhoneDirective, TuiTextfieldComponent],\n})\nexport class TuiInputPhoneModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -29,9 +29,9 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
29
29
  _this.steps = 0;
30
30
  _this.segments = 0;
31
31
  _this.keySteps = null;
32
- _this.leftValueContent = '';
33
- _this.rightValueContent = '';
34
- _this.lastActiveSide = 'left';
32
+ _this.leftValueContent = "";
33
+ _this.rightValueContent = "";
34
+ _this.lastActiveSide = "left";
35
35
  return _this;
36
36
  }
37
37
  TuiInputRangeComponent_1 = TuiInputRangeComponent;
@@ -72,7 +72,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
72
72
  var _a;
73
73
  return Boolean((this.minLabel || this.leftValueContent) &&
74
74
  !isNativeFocused(this.leftFocusableElement) &&
75
- !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === 'left'));
75
+ !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === "left"));
76
76
  },
77
77
  enumerable: true,
78
78
  configurable: true
@@ -82,7 +82,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
82
82
  var _a;
83
83
  return Boolean((this.maxLabel || this.rightValueContent) &&
84
84
  !isNativeFocused(this.rightFocusableElement) &&
85
- !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === 'right'));
85
+ !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === "right"));
86
86
  },
87
87
  enumerable: true,
88
88
  configurable: true
@@ -96,7 +96,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
96
96
  });
97
97
  Object.defineProperty(TuiInputRangeComponent.prototype, "decimal", {
98
98
  get: function () {
99
- return this.precision ? 'not-zero' : 'never';
99
+ return this.precision ? "not-zero" : "never";
100
100
  },
101
101
  enumerable: true,
102
102
  configurable: true
@@ -110,7 +110,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
110
110
  });
111
111
  Object.defineProperty(TuiInputRangeComponent.prototype, "computedSize", {
112
112
  get: function () {
113
- return this.isNew && this.controller.size !== 's'
113
+ return this.isNew && this.controller.size !== "s"
114
114
  ? this.controller.size
115
115
  : this.size;
116
116
  },
@@ -119,7 +119,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
119
119
  });
120
120
  Object.defineProperty(TuiInputRangeComponent.prototype, "legacyLabelOutside", {
121
121
  get: function () {
122
- return this.isNew ? this.controller.labelOutside : this.computedSize === 'm';
122
+ return this.isNew ? this.controller.labelOutside : this.computedSize === "m";
123
123
  },
124
124
  enumerable: true,
125
125
  configurable: true
@@ -163,11 +163,11 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
163
163
  };
164
164
  TuiInputRangeComponent.prototype.onRangeValue = function (value) {
165
165
  this.safelyUpdateValue(value);
166
- var rightValueChanged = this.lastActiveSide === 'right';
166
+ var rightValueChanged = this.lastActiveSide === "right";
167
167
  this.updateTextInputValue(this.value[rightValueChanged ? 1 : 0], rightValueChanged);
168
168
  };
169
169
  TuiInputRangeComponent.prototype.focusToTextInput = function () {
170
- var element = this.lastActiveSide === 'left'
170
+ var element = this.lastActiveSide === "left"
171
171
  ? this.leftFocusableElement
172
172
  : this.rightFocusableElement;
173
173
  if (!this.isMobile && element) {
@@ -229,7 +229,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
229
229
  ], TuiInputRangeComponent.prototype, "max", void 0);
230
230
  __decorate([
231
231
  Input(),
232
- tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
232
+ tuiDefaultProp(quantumAssertion, "Quantum must be positive")
233
233
  ], TuiInputRangeComponent.prototype, "quantum", void 0);
234
234
  __decorate([
235
235
  Input(),
@@ -252,11 +252,11 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
252
252
  tuiDefaultProp()
253
253
  ], TuiInputRangeComponent.prototype, "rightValueContent", void 0);
254
254
  __decorate([
255
- HostBinding('class._label-outside')
255
+ HostBinding("class._label-outside")
256
256
  ], TuiInputRangeComponent.prototype, "legacyLabelOutside", null);
257
257
  TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
258
258
  Component({
259
- selector: 'tui-input-range',
259
+ selector: "tui-input-range",
260
260
  template: "<tui-wrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralizeMap && !showLeftValueContent ? (value[0] | i18nPlural: pluralizeMap) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n polymorpheus-outlet\n [content]=\"minLabel ? legacyMinLabel : leftValueContent\"\n [context]=\"{$implicit: value[0]}\"\n ></div>\n </tui-input-number>\n\n <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n polymorpheus-outlet\n [content]=\"maxLabel ? legacyMaxLabel : rightValueContent\"\n [context]=\"{$implicit: value[1]}\"\n ></div>\n </tui-input-number>\n\n <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n &nbsp;{{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralizeMap\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n ></tui-range>\n</tui-wrapper>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMinLabel\n let-value\n>\n <ng-container *ngIf=\"value === min\">{{ minLabel }}</ng-container>\n <ng-container *ngIf=\"value !== min\">\n {{ value }}&nbsp;{{ value | i18nPlural: pluralizeMap || pluralizeMapFallback }}\n </ng-container>\n</ng-template>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMaxLabel\n let-value\n>\n <ng-container *ngIf=\"value === max\">{{ maxLabel }}</ng-container>\n <ng-container *ngIf=\"value !== max\">\n {{ value }}&nbsp;{{ value | i18nPlural: pluralizeMap || pluralizeMapFallback }}\n </ng-container>\n</ng-template>\n",
261
261
  changeDetection: ChangeDetectionStrategy.OnPush,
262
262
  providers: [
@@ -271,7 +271,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
271
271
  * TODO: 3.0 delete it
272
272
  * Dont forget to clear html-tags
273
273
  */
274
- '[class._show-ticks-labels]': '!isNew',
274
+ '[class._show-ticks-labels]': "!isNew",
275
275
  },
276
276
  styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}.t-right .t-text-input{flex:1}.t-text-input{text-align:inherit}.t-pluralize-right{display:flex;align-items:center;padding:1.125rem var(--tui-padding-m) 0 0;margin-left:-.75rem;font:var(--tui-font-text-s)}:host[data-size='l'] .t-pluralize-right{font:var(--tui-font-text-m);padding-top:1.25rem;margin-left:-1rem;padding-right:var(--tui-padding-l)}:host._label-outside .t-pluralize-right{padding-top:0}:host._disabled .t-pluralize-right{color:var(--tui-text-03)}:host{display:block;border-radius:var(--tui-radius-m)}:host._show-ticks-labels._segmented{border-bottom:26px solid transparent}.t-slider{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0;background:0 0}"]
277
277
  })
@@ -295,14 +295,14 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
295
295
  }(AbstractTuiInputSlider));
296
296
  function tuiTextfieldAppearanceDirectiveFactory(_a) {
297
297
  var nativeElement = _a.nativeElement;
298
- return nativeElement.getAttribute('tuiTextfieldAppearance');
298
+ return nativeElement.getAttribute("tuiTextfieldAppearance");
299
299
  }
300
300
  var TuiTextfieldAppearanceDirective = /** @class */ (function () {
301
301
  function TuiTextfieldAppearanceDirective() {
302
302
  }
303
303
  TuiTextfieldAppearanceDirective = __decorate([
304
304
  Directive({
305
- selector: '[tuiTextfieldAppearance]',
305
+ selector: "[tuiTextfieldAppearance]",
306
306
  providers: [
307
307
  {
308
308
  provide: TUI_TEXTFIELD_APPEARANCE,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-range.js","sources":["ng://@taiga-ui/kit/components/input-range/input-range.component.ts","ng://@taiga-ui/kit/components/input-range/input-range.module.ts","ng://@taiga-ui/kit/components/input-range/taiga-ui-kit-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n EMPTY_QUERY,\n isNativeFocused,\n isNativeFocusedIn,\n round,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n getFractionPartPadded,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimalT,\n TuiSizeL,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider, quantumAssertion} from '@taiga-ui/kit/abstract';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {TuiNewRangeDirective, TuiRangeComponent} from '@taiga-ui/kit/components/range';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// @dynamic\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputRangeComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n /**\n * TODO: 3.0 delete it\n * Dont forget to clear html-tags\n */\n '[class._show-ticks-labels]': '!isNew',\n },\n})\n/**\n * `AbstractTuiInputSlider` includes all legacy code (it can be deleted in v3.0)\n * TODO replace `extends AbstractTuiInputSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>`\n */\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRangeComponent)\n private readonly rangeRef: TuiRangeComponent | null = null;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n /* TODO: make `100` as default value (like in native sliders) */\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n leftValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n @Input()\n @tuiDefaultProp()\n rightValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n lastActiveSide: 'left' | 'right' = 'left';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiNewRangeDirective)\n readonly isNew: TuiNewRangeDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get showLeftValueContent(): boolean {\n return Boolean(\n (this.minLabel || this.leftValueContent) &&\n !isNativeFocused(this.leftFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === 'left'),\n );\n }\n\n get showRightValueContent(): boolean {\n return Boolean(\n (this.maxLabel || this.rightValueContent) &&\n !isNativeFocused(this.rightFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === 'right'),\n );\n }\n\n get precision(): number {\n return getFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimalT {\n return this.precision ? 'not-zero' : 'never';\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get computedSize(): TuiSizeL {\n return this.isNew && this.controller.size !== 's'\n ? this.controller.size\n : this.size;\n }\n\n @HostBinding('class._label-outside')\n get legacyLabelOutside(): boolean {\n return this.isNew ? this.controller.labelOutside : this.computedSize === 'm';\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onTextInputFocused(focused: boolean, right: boolean): void {\n if (focused) {\n return;\n }\n\n const [leftTextInputRef, rightTextInputRef] = this.inputNumberRefs;\n const inputRef = right ? rightTextInputRef : leftTextInputRef;\n const valueIndex = right ? 1 : 0;\n\n if (!inputRef.nativeValue || inputRef.value !== this.value[valueIndex]) {\n this.updateTextInputValue(this.safeCurrentValue[valueIndex], right);\n }\n }\n\n changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n const leftValueChanged = newValue[0] !== this.value[0];\n const rightValueChanged = newValue[1] !== this.value[1];\n\n if (leftValueChanged || rightValueChanged) {\n this.safelyUpdateValue(newValue);\n this.updateTextInputValue(\n newValue[rightValueChanged ? 1 : 0],\n rightValueChanged,\n );\n }\n }\n\n onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n onRangeValue(value: [number, number]): void {\n this.safelyUpdateValue(value);\n\n const rightValueChanged = this.lastActiveSide === 'right';\n\n this.updateTextInputValue(\n this.value[rightValueChanged ? 1 : 0],\n rightValueChanged,\n );\n }\n\n focusToTextInput(): void {\n const element =\n this.lastActiveSide === 'left'\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n onActiveThumbChange(activeThumb: 'right' | 'left'): void {\n this.lastActiveSide = activeThumb;\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.updateValue(this.valueGuard(value));\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return clamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number, right: boolean): void {\n const [leftInputRef, rightInputRef] = this.inputNumberRefs;\n const textInputRef = right ? rightInputRef : leftInputRef;\n\n if (textInputRef) {\n textInputRef.nativeValue = textInputRef.getFormattedValue(value);\n }\n }\n}\n\nexport function tuiTextfieldAppearanceDirectiveFactory({\n nativeElement,\n}: ElementRef): string {\n return nativeElement.getAttribute('tuiTextfieldAppearance');\n}\n\n@Directive({\n selector: '[tuiTextfieldAppearance]',\n providers: [\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n deps: [ElementRef],\n useFactory: tuiTextfieldAppearanceDirectiveFactory,\n },\n ],\n})\nexport class TuiTextfieldAppearanceDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiActiveZoneModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiTextfieldControllerModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiNewRangeDirective, TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {\n TuiInputRangeComponent,\n TuiTextfieldAppearanceDirective,\n} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiInputNumberModule,\n TuiPressedModule,\n TuiRangeModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective],\n exports: [TuiInputRangeComponent, TuiNewRangeDirective],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AA8CA;;IA0BY,0CAAwC;IA4ChD,gCAII,OAAyB,EACE,iBAAoC,EAE9C,QAAiB,EAEzB,UAAkB,EACU,UAAsB,EAElD,UAAkC,EAGlC,KAAkC;QAf/C,YAiBI,kBAAM,OAAO,EAAE,iBAAiB,CAAC,SACpC;QAXoB,cAAQ,GAAR,QAAQ,CAAS;QAEzB,gBAAU,GAAV,UAAU,CAAQ;QACU,gBAAU,GAAV,UAAU,CAAY;QAElD,gBAAU,GAAV,UAAU,CAAwB;QAGlC,WAAK,GAAL,KAAK,CAA6B;QAvD9B,qBAAe,GAAuC,WAAW,CAAC;QAGlE,cAAQ,GAA6B,IAAI,CAAC;QAI3D,SAAG,GAAG,CAAC,CAAC;;QAKR,SAAG,GAAG,QAAQ,CAAC;QAIf,aAAO,GAAG,CAAC,CAAC;QAIZ,WAAK,GAAG,CAAC,CAAC;QAIV,cAAQ,GAAG,CAAC,CAAC;QAIb,cAAQ,GAAuB,IAAI,CAAC;QAIpC,sBAAgB,GAAwD,EAAE,CAAC;QAI3E,uBAAiB,GAAwD,EAAE,CAAC;QAE5E,oBAAc,GAAqB,MAAM,CAAC;;KAoBzC;+BA/DQ,sBAAsB;IAiE/B,sBAAI,wDAAoB;aAAxB;;YACI,OAAO,OAAA,IAAI,CAAC,eAAe,CAAC,KAAK,0CAAE,sBAAsB,KAAI,IAAI,CAAC;SACrE;;;OAAA;IAED,sBAAI,yDAAqB;aAAzB;;YACI,OAAO,OAAA,IAAI,CAAC,eAAe,CAAC,IAAI,0CAAE,sBAAsB,KAAI,IAAI,CAAC;SACpE;;;OAAA;IAED,sBAAI,0DAAsB;aAA1B;YACI,OAAO,IAAI,CAAC,QAAQ;kBACd,IAAI;kBACJ,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,qBAAqB,CAAC;SACjE;;;OAAA;IAED,sBAAI,2CAAO;aAAX;YACI,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC3D;;;OAAA;IAED,sBAAI,wDAAoB;aAAxB;;YACI,OAAO,OAAO,CACV,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB;gBACnC,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBAC3C,EAAE,OAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,KAAI,IAAI,CAAC,cAAc,KAAK,MAAM,CAAC,CAClE,CAAC;SACL;;;OAAA;IAED,sBAAI,yDAAqB;aAAzB;;YACI,OAAO,OAAO,CACV,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB;gBACpC,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBAC5C,EAAE,OAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,KAAI,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,CACnE,CAAC;SACL;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACI,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;SACrD;;;OAAA;IAED,sBAAI,2CAAO;aAAX;YACI,OAAO,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;SAChD;;;OAAA;IAED,sBAAI,iDAAa;aAAjB;YACI,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;SAC7D;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG;kBAC3C,IAAI,CAAC,UAAU,CAAC,IAAI;kBACpB,IAAI,CAAC,IAAI,CAAC;SACnB;;;OAAA;IAGD,sBAAI,sDAAkB;aAAtB;YACI,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,GAAG,CAAC;SAChF;;;OAAA;IAED,6CAAY,GAAZ,UAAa,MAAe;QACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC9B;IAED,mDAAkB,GAAlB,UAAmB,OAAgB,EAAE,KAAc;QAC/C,IAAI,OAAO,EAAE;YACT,OAAO;SACV;QAEK,IAAA,oCAA4D,EAA3D,wBAAgB,EAAE,yBAAyC,CAAC;QACnE,IAAM,QAAQ,GAAG,KAAK,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;QAC9D,IAAM,UAAU,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YACpE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;SACvE;KACJ;IAED,6CAAY,GAAZ,UACI,KAA4B,EAC5B,EAAqD;YAArD,kBAAqD,EAApD,uBAAe,EAAE,wBAAgB;QAElC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC,IAAI;YAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC,IAAI;SAC/C,CAAC,CAAC;QACH,IAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,IAAM,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,oBAAoB,CACrB,QAAQ,CAAC,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,EACnC,iBAAiB,CACpB,CAAC;SACL;KACJ;IAED,4CAAW,GAAX,UAAY,KAAoB;QAC5B,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E;IAED,6CAAY,GAAZ,UAAa,KAAoB;QAC7B,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9E;IAED,6CAAY,GAAZ,UAAa,KAAuB;QAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC;QAE1D,IAAI,CAAC,oBAAoB,CACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,EACrC,iBAAiB,CACpB,CAAC;KACL;IAED,iDAAgB,GAAhB;QACI,IAAM,OAAO,GACT,IAAI,CAAC,cAAc,KAAK,MAAM;cACxB,IAAI,CAAC,oBAAoB;cACzB,IAAI,CAAC,qBAAqB,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE;YAC3B,OAAO,CAAC,KAAK,EAAE,CAAC;SACnB;KACJ;IAED,oDAAmB,GAAnB,UAAoB,WAA6B;QAC7C,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;KACrC;IAES,iDAAgB,GAA1B;QACI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjB;IAEO,kDAAiB,GAAzB,UAA0B,KAAuB;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5C;IAEO,2CAAU,GAAlB,UAAmB,EAAyC;YAAzC,kBAAyC,EAAxC,iBAAS,EAAE,kBAAU;QACrC,IAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACtD,IAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO;YACH,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC;KACL;IAEO,0CAAS,GAAjB,UAAkB,KAAa;QAC3B,IAAM,YAAY,GAAG,KAAK,CACtB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAC/C,sBAAsB,CACzB,CAAC;QAEF,OAAO,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KAClD;IAEO,qDAAoB,GAA5B,UAA6B,KAAa,EAAE,KAAc;QAChD,IAAA,oCAAoD,EAAnD,oBAAY,EAAE,qBAAqC,CAAC;QAC3D,IAAM,YAAY,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY,CAAC;QAE1D,IAAI,YAAY,EAAE;YACd,YAAY,CAAC,WAAW,GAAG,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACpE;KACJ;;;gBAzLY,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;gBAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;8CACxB,MAAM,SAAC,aAAa;6CAEpB,MAAM,SAAC,wBAAwB;gBAEiB,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBAEG,sBAAsB,uBAD1C,MAAM,SAAC,gCAAgC;gBAIxB,oBAAoB,uBAFnC,QAAQ,YACR,MAAM,SAAC,oBAAoB;;IAtDhC;QADC,YAAY,CAAC,uBAAuB,CAAC;mEAC6C;IAGnF;QADC,SAAS,CAAC,iBAAiB,CAAC;4DAC8B;IAI3D;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;uDACT;IAKR;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;uDACF;IAIf;QAFC,KAAK,EAAE;QACP,cAAc,CAAC,gBAAgB,EAAE,0BAA0B,CAAC;2DACjD;IAIZ;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;yDACP;IAIV;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;4DACJ;IAIb;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;4DACmB;IAIpC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;oEAC0D;IAI3E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;qEAC2D;IA6E5E;QADC,WAAW,CAAC,sBAAsB,CAAC;oEAGnC;IAxHQ,sBAAsB;QAxBlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,uiIAA0C;YAE1C,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,wBAAsB,GAAA,CAAC;iBACxD;gBACD,6BAA6B;aAChC;YACD,IAAI,EAAE;;;;;gBAKF,4BAA4B,EAAE,QAAQ;aACzC;;SACJ,CAAC;;;;;;QAmDO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QAErB,WAAA,MAAM,CAAC,wBAAwB,CAAC,CAAA;QAEhC,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,gCAAgC,CAAC,CAAA;QAExC,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;OA3DxB,sBAAsB,CA2OlC;IAAD,6BAAC;CAAA,CA1OW,sBAAsB,GA0OjC;SAEe,sCAAsC,CAAC,EAE1C;QADT,gCAAa;IAEb,OAAO,aAAa,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAChE,CAAC;;IAYD;KAA+C;IAAlC,+BAA+B;QAV3C,SAAS,CAAC;YACP,QAAQ,EAAE,0BAA0B;YACpC,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,wBAAwB;oBACjC,IAAI,EAAE,CAAC,UAAU,CAAC;oBAClB,UAAU,EAAE,sCAAsC;iBACrD;aACJ;SACJ,CAAC;OACW,+BAA+B,CAAG;IAAD,sCAAC;CAA/C;;;ICtSA;KAAmC;IAAtB,mBAAmB;QAhB/B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,WAAW;gBACX,mBAAmB;gBACnB,kBAAkB;gBAClB,mBAAmB;gBACnB,oBAAoB;gBACpB,gBAAgB;gBAChB,cAAc;gBACd,4BAA4B;gBAC5B,gBAAgB;aACnB;YACD,YAAY,EAAE,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;YACvE,OAAO,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;SAC1D,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;AC9BA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-range.js","sources":["ng://@taiga-ui/kit/components/input-range/input-range.component.ts","ng://@taiga-ui/kit/components/input-range/input-range.module.ts","ng://@taiga-ui/kit/components/input-range/taiga-ui-kit-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n EMPTY_QUERY,\n isNativeFocused,\n isNativeFocusedIn,\n round,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n getFractionPartPadded,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimalT,\n TuiSizeL,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider, quantumAssertion} from '@taiga-ui/kit/abstract';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {TuiNewRangeDirective, TuiRangeComponent} from '@taiga-ui/kit/components/range';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// @dynamic\n@Component({\n selector: `tui-input-range`,\n templateUrl: `./input-range.template.html`,\n styleUrls: [`./input-range.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputRangeComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n /**\n * TODO: 3.0 delete it\n * Dont forget to clear html-tags\n */\n '[class._show-ticks-labels]': `!isNew`,\n },\n})\n/**\n * `AbstractTuiInputSlider` includes all legacy code (it can be deleted in v3.0)\n * TODO replace `extends AbstractTuiInputSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>`\n */\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRangeComponent)\n private readonly rangeRef: TuiRangeComponent | null = null;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n /* TODO: make `100` as default value (like in native sliders) */\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, `Quantum must be positive`)\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n leftValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = ``;\n\n @Input()\n @tuiDefaultProp()\n rightValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = ``;\n\n lastActiveSide: 'left' | 'right' = `left`;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Optional()\n @Inject(TuiNewRangeDirective)\n readonly isNew: TuiNewRangeDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get showLeftValueContent(): boolean {\n return Boolean(\n (this.minLabel || this.leftValueContent) &&\n !isNativeFocused(this.leftFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === `left`),\n );\n }\n\n get showRightValueContent(): boolean {\n return Boolean(\n (this.maxLabel || this.rightValueContent) &&\n !isNativeFocused(this.rightFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === `right`),\n );\n }\n\n get precision(): number {\n return getFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimalT {\n return this.precision ? `not-zero` : `never`;\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get computedSize(): TuiSizeL {\n return this.isNew && this.controller.size !== `s`\n ? this.controller.size\n : this.size;\n }\n\n @HostBinding(`class._label-outside`)\n get legacyLabelOutside(): boolean {\n return this.isNew ? this.controller.labelOutside : this.computedSize === `m`;\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onTextInputFocused(focused: boolean, right: boolean): void {\n if (focused) {\n return;\n }\n\n const [leftTextInputRef, rightTextInputRef] = this.inputNumberRefs;\n const inputRef = right ? rightTextInputRef : leftTextInputRef;\n const valueIndex = right ? 1 : 0;\n\n if (!inputRef.nativeValue || inputRef.value !== this.value[valueIndex]) {\n this.updateTextInputValue(this.safeCurrentValue[valueIndex], right);\n }\n }\n\n changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n const leftValueChanged = newValue[0] !== this.value[0];\n const rightValueChanged = newValue[1] !== this.value[1];\n\n if (leftValueChanged || rightValueChanged) {\n this.safelyUpdateValue(newValue);\n this.updateTextInputValue(\n newValue[rightValueChanged ? 1 : 0],\n rightValueChanged,\n );\n }\n }\n\n onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n onRangeValue(value: [number, number]): void {\n this.safelyUpdateValue(value);\n\n const rightValueChanged = this.lastActiveSide === `right`;\n\n this.updateTextInputValue(\n this.value[rightValueChanged ? 1 : 0],\n rightValueChanged,\n );\n }\n\n focusToTextInput(): void {\n const element =\n this.lastActiveSide === `left`\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n onActiveThumbChange(activeThumb: 'right' | 'left'): void {\n this.lastActiveSide = activeThumb;\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.updateValue(this.valueGuard(value));\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return clamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number, right: boolean): void {\n const [leftInputRef, rightInputRef] = this.inputNumberRefs;\n const textInputRef = right ? rightInputRef : leftInputRef;\n\n if (textInputRef) {\n textInputRef.nativeValue = textInputRef.getFormattedValue(value);\n }\n }\n}\n\nexport function tuiTextfieldAppearanceDirectiveFactory({\n nativeElement,\n}: ElementRef): string {\n return nativeElement.getAttribute(`tuiTextfieldAppearance`);\n}\n\n@Directive({\n selector: `[tuiTextfieldAppearance]`,\n providers: [\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n deps: [ElementRef],\n useFactory: tuiTextfieldAppearanceDirectiveFactory,\n },\n ],\n})\nexport class TuiTextfieldAppearanceDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiActiveZoneModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiTextfieldControllerModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiNewRangeDirective, TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {\n TuiInputRangeComponent,\n TuiTextfieldAppearanceDirective,\n} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiInputNumberModule,\n TuiPressedModule,\n TuiRangeModule,\n TuiTextfieldControllerModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective],\n exports: [TuiInputRangeComponent, TuiNewRangeDirective],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { __decorate, __extends, __param } from 'tslib';
2
+ import { I18nPluralPipe, CommonModule } from '@angular/common';
2
3
  import { Directive, Optional, Self, Inject, ChangeDetectorRef, ViewChild, ElementRef, Input, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
3
4
  import { NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
5
  import { isNativeFocused, tuiAssert, setNativeFocused, round, clamp, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
@@ -9,7 +10,6 @@ import { TuiSliderComponent, tuiSliderOptionsProvider, TuiSliderModule } from '@
9
10
  import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
10
11
  import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
11
12
  import { Observable } from 'rxjs';
12
- import { CommonModule } from '@angular/common';
13
13
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
14
14
 
15
15
  /**
@@ -22,7 +22,7 @@ var TuiNewInputSliderDirective = /** @class */ (function () {
22
22
  }
23
23
  TuiNewInputSliderDirective = __decorate([
24
24
  Directive({
25
- selector: 'tui-input-slider[new]',
25
+ selector: "tui-input-slider[new]",
26
26
  })
27
27
  ], TuiNewInputSliderDirective);
28
28
  return TuiNewInputSliderDirective;
@@ -30,25 +30,26 @@ var TuiNewInputSliderDirective = /** @class */ (function () {
30
30
  // @dynamic
31
31
  var TuiInputSliderComponent = /** @class */ (function (_super) {
32
32
  __extends(TuiInputSliderComponent, _super);
33
- function TuiInputSliderComponent(control, changeDetectorRef, controller, fromToTexts$, isNew) {
33
+ function TuiInputSliderComponent(control, changeDetectorRef, controller, fromToTexts$, isNew, i18nPlural) {
34
34
  var _this = _super.call(this, control, changeDetectorRef) || this;
35
35
  _this.controller = controller;
36
36
  _this.fromToTexts$ = fromToTexts$;
37
37
  _this.isNew = isNew;
38
+ _this.i18nPlural = i18nPlural;
38
39
  _this.min = 0;
39
40
  _this.max = Infinity;
40
41
  _this.quantum = 1;
41
42
  _this.steps = 0;
42
43
  _this.segments = 0;
43
44
  _this.keySteps = null;
44
- _this.valueContent = '';
45
- _this.prefix = '';
46
- _this.postfix = '';
45
+ _this.valueContent = "";
46
+ _this.prefix = "";
47
+ _this.postfix = "";
47
48
  /**
48
49
  * @deprecated use `tuiTextfieldCustomContent` instead
49
50
  * TODO delete in v3.0
50
51
  */
51
- _this.secondary = '';
52
+ _this.secondary = "";
52
53
  return _this;
53
54
  }
54
55
  TuiInputSliderComponent_1 = TuiInputSliderComponent;
@@ -87,7 +88,14 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
87
88
  });
88
89
  Object.defineProperty(TuiInputSliderComponent.prototype, "decimal", {
89
90
  get: function () {
90
- return this.precision ? 'not-zero' : 'never';
91
+ return this.precision ? "not-zero" : "never";
92
+ },
93
+ enumerable: true,
94
+ configurable: true
95
+ });
96
+ Object.defineProperty(TuiInputSliderComponent.prototype, "showValueContent", {
97
+ get: function () {
98
+ return Boolean(this.computedValueContent && !this.focused);
91
99
  },
92
100
  enumerable: true,
93
101
  configurable: true
@@ -98,8 +106,8 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
98
106
  */
99
107
  get: function () {
100
108
  if (this.isNew) {
101
- tuiAssert.assert(this.controller.size !== 's', "Size 's' is not supported by this input.");
102
- return this.controller.size === 'l' ? 'l' : 'm';
109
+ tuiAssert.assert(this.controller.size !== "s", "Size 's' is not supported by this input.");
110
+ return this.controller.size === "l" ? "l" : "m";
103
111
  }
104
112
  return this.size;
105
113
  },
@@ -159,7 +167,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
159
167
  Object.defineProperty(TuiInputSliderComponent.prototype, "textInputValue", {
160
168
  get: function () {
161
169
  var _a;
162
- return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
170
+ return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || "";
163
171
  },
164
172
  enumerable: true,
165
173
  configurable: true
@@ -183,7 +191,8 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
183
191
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
184
192
  { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
185
193
  { type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] },
186
- { type: TuiNewInputSliderDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewInputSliderDirective,] }] }
194
+ { type: TuiNewInputSliderDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewInputSliderDirective,] }] },
195
+ { type: I18nPluralPipe, decorators: [{ type: Inject, args: [I18nPluralPipe,] }] }
187
196
  ]; };
188
197
  __decorate([
189
198
  ViewChild(TuiInputNumberComponent)
@@ -201,7 +210,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
201
210
  ], TuiInputSliderComponent.prototype, "max", void 0);
202
211
  __decorate([
203
212
  Input(),
204
- tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
213
+ tuiDefaultProp(quantumAssertion, "Quantum must be positive")
205
214
  ], TuiInputSliderComponent.prototype, "quantum", void 0);
206
215
  __decorate([
207
216
  Input(),
@@ -233,22 +242,23 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
233
242
  ], TuiInputSliderComponent.prototype, "secondary", void 0);
234
243
  TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
235
244
  Component({
236
- selector: 'tui-input-slider',
237
- template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"computedValueContent && !focused\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{ secondary }}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
245
+ selector: "tui-input-slider",
246
+ template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"showValueContent ? '' : prefix\"\n [postfix]=\"showValueContent ? '' : postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{ secondary }}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
238
247
  host: {
239
248
  /**
240
249
  * TODO delete it in v3.0
241
250
  * Dont forget to clear html-tags
242
251
  */
243
- '[class._show-ticks-labels]': '!isNew',
252
+ '[class._show-ticks-labels]': "!isNew",
244
253
  },
245
254
  changeDetection: ChangeDetectionStrategy.OnPush,
246
255
  providers: [
256
+ I18nPluralPipe,
247
257
  {
248
258
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
249
259
  useExisting: forwardRef(function () { return TuiInputSliderComponent_1; }),
250
260
  },
251
- tuiSliderOptionsProvider({ trackColor: 'transparent' }),
261
+ tuiSliderOptionsProvider({ trackColor: "transparent" }),
252
262
  HINT_CONTROLLER_PROVIDER,
253
263
  TEXTFIELD_CONTROLLER_PROVIDER,
254
264
  ],
@@ -266,7 +276,8 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
266
276
  __param(2, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
267
277
  __param(3, Inject(TUI_FROM_TO_TEXTS)),
268
278
  __param(4, Optional()),
269
- __param(4, Inject(TuiNewInputSliderDirective))
279
+ __param(4, Inject(TuiNewInputSliderDirective)),
280
+ __param(5, Inject(I18nPluralPipe))
270
281
  ], TuiInputSliderComponent);
271
282
  return TuiInputSliderComponent;
272
283
  }(AbstractTuiInputSlider));
@@ -278,16 +289,17 @@ function quantumAssertion(quantum) {
278
289
  * TODO remove in v3.0
279
290
  */
280
291
  function legacyMinMaxLabel(_a) {
281
- var min = _a.min, max = _a.max, minLabel = _a.minLabel, maxLabel = _a.maxLabel;
292
+ var min = _a.min, max = _a.max, minLabel = _a.minLabel, maxLabel = _a.maxLabel, i18nPlural = _a.i18nPlural, pluralizeMap = _a.pluralizeMap;
282
293
  return function (_a) {
283
294
  var value = _a.$implicit;
295
+ var valueWithPlural = value + " " + (pluralizeMap ? i18nPlural.transform(value, pluralizeMap) : "");
284
296
  switch (value) {
285
297
  case min:
286
- return minLabel || value;
298
+ return minLabel || valueWithPlural;
287
299
  case max:
288
- return maxLabel || value;
300
+ return maxLabel || valueWithPlural;
289
301
  default:
290
- return value;
302
+ return valueWithPlural;
291
303
  }
292
304
  };
293
305
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-slider.js","sources":["ng://@taiga-ui/kit/components/input-slider/input-slider.component.ts","ng://@taiga-ui/kit/components/input-slider/input-slider.module.ts","ng://@taiga-ui/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n isNativeFocused,\n round,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAssert,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n getFractionPartPadded,\n HINT_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimalT,\n TuiSizeL,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {\n TuiSliderComponent,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\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 {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n/**\n * Turn on new `InputSlider`'s version.\n * The new version will behave almost the same as `InputSlider` from the next major release.\n * @deprecated TODO remove me in v3.0 and make `InputSlider` always \"new\".\n */\n@Directive({\n selector: 'tui-input-slider[new]',\n})\nexport class TuiNewInputSliderDirective {}\n\n// @dynamic\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n host: {\n /**\n * TODO delete it in v3.0\n * Dont forget to clear html-tags\n */\n '[class._show-ticks-labels]': '!isNew',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputSliderComponent),\n },\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n HINT_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\n/**\n * TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`\n * in v3.0\n */\nexport class TuiInputSliderComponent\n extends AbstractTuiInputSlider<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputNumberComponent)\n private readonly inputNumberRef?: TuiInputNumberComponent;\n\n @ViewChild(TuiSliderComponent, {read: ElementRef})\n private readonly sliderRef?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n /**\n * @deprecated use `tuiTextfieldCustomContent` instead\n * TODO delete in v3.0\n */\n @Input()\n @tuiDefaultProp()\n secondary = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_FROM_TO_TEXTS) readonly fromToTexts$: Observable<[string, string]>,\n @Optional()\n @Inject(TuiNewInputSliderDirective)\n readonly isNew: TuiNewInputSliderDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled\n ? null\n : this.inputNumberRef.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n isNativeFocused(this.sliderRef?.nativeElement || null)\n );\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get precision(): number {\n return getFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimalT {\n return this.precision ? 'not-zero' : 'never';\n }\n\n /**\n * TODO remove old property `size` in v3.0\n */\n get computedSize(): TuiSizeL {\n if (this.isNew) {\n tuiAssert.assert(\n this.controller.size !== 's',\n \"Size 's' is not supported by this input.\",\n );\n\n return this.controller.size === 'l' ? 'l' : 'm';\n }\n\n return this.size;\n }\n\n /**\n * @deprecated for backward compatibility\n * TODO replace by just `this.valueContent` in v3.0\n */\n get computedValueContent(): PolymorpheusContent<TuiContextWithImplicit<number>> {\n return this.minLabel || this.maxLabel\n ? legacyMinMaxLabel(this)\n : this.valueContent;\n }\n\n focusTextInput(): void {\n const focusableElement = this.inputNumberRef?.nativeFocusableElement;\n\n if (focusableElement) {\n setNativeFocused(focusableElement);\n }\n }\n\n safelyUpdateValue(value: number | null): void {\n this.updateValue(this.valueGuard(value ?? this.safeCurrentValue));\n }\n\n onVerticalArrowKeyDown(coefficient: number): void {\n if (this.readOnly || !this.step) {\n return;\n }\n\n const value = this.value + coefficient * this.step;\n\n if (value !== this.value) {\n this.safelyUpdateValue(value);\n }\n\n this.updateTextInputValue(this.valueGuard(value));\n }\n\n onSliderChange(newValue: number): void {\n this.safelyUpdateValue(newValue);\n this.updateTextInputValue(this.value);\n }\n\n onFocused(focused: boolean): void {\n const {value, textInputValue, safeCurrentValue, inputNumberRef} = this;\n\n if (!focused && textInputValue !== inputNumberRef?.getFormattedValue(value)) {\n this.updateTextInputValue(value ?? safeCurrentValue);\n }\n\n this.updateFocused(focused);\n }\n\n onPressed(pressed: boolean): void {\n this.updatePressed(pressed);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n private get textInputValue(): string {\n return this.inputNumberRef?.nativeValue || '';\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected valueGuard(value: number): number {\n const roundedValue = round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return clamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number): void {\n if (this.inputNumberRef) {\n this.inputNumberRef.nativeValue =\n this.inputNumberRef.getFormattedValue(value);\n }\n }\n}\n\nfunction quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @deprecated helper for backward compatibility.\n * TODO remove in v3.0\n */\nfunction legacyMinMaxLabel({\n min,\n max,\n minLabel,\n maxLabel,\n}: TuiInputSliderComponent): (\n context: TuiContextWithImplicit<number>,\n) => string | number {\n return ({$implicit: value}: TuiContextWithImplicit<number>) => {\n switch (value) {\n case min:\n return minLabel || value;\n case max:\n return maxLabel || value;\n default:\n return value;\n }\n };\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {\n TuiInputSliderComponent,\n TuiNewInputSliderDirective,\n} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiFocusableModule,\n TuiSliderModule,\n TuiFormatNumberPipeModule,\n TuiRepeatTimesModule,\n PolymorpheusModule,\n TuiInputNumberModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],\n exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],\n})\nexport class TuiInputSliderModule {}\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-input-slider.js","sources":["ng://@taiga-ui/kit/components/input-slider/input-slider.component.ts","ng://@taiga-ui/kit/components/input-slider/input-slider.module.ts","ng://@taiga-ui/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {I18nPluralPipe} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n isNativeFocused,\n round,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAssert,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n getFractionPartPadded,\n HINT_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimalT,\n TuiSizeL,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {\n TuiSliderComponent,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\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 {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n/**\n * Turn on new `InputSlider`'s version.\n * The new version will behave almost the same as `InputSlider` from the next major release.\n * @deprecated TODO remove me in v3.0 and make `InputSlider` always \"new\".\n */\n@Directive({\n selector: `tui-input-slider[new]`,\n})\nexport class TuiNewInputSliderDirective {}\n\n// @dynamic\n@Component({\n selector: `tui-input-slider`,\n templateUrl: `./input-slider.template.html`,\n styleUrls: [`./input-slider.style.less`],\n host: {\n /**\n * TODO delete it in v3.0\n * Dont forget to clear html-tags\n */\n '[class._show-ticks-labels]': `!isNew`,\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n I18nPluralPipe,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputSliderComponent),\n },\n tuiSliderOptionsProvider({trackColor: `transparent`}),\n HINT_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\n/**\n * TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`\n * in v3.0\n */\nexport class TuiInputSliderComponent\n extends AbstractTuiInputSlider<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputNumberComponent)\n private readonly inputNumberRef?: TuiInputNumberComponent;\n\n @ViewChild(TuiSliderComponent, {read: ElementRef})\n private readonly sliderRef?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, `Quantum must be positive`)\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = ``;\n\n @Input()\n @tuiDefaultProp()\n prefix = ``;\n\n @Input()\n @tuiDefaultProp()\n postfix = ``;\n\n /**\n * @deprecated use `tuiTextfieldCustomContent` instead\n * TODO delete in v3.0\n */\n @Input()\n @tuiDefaultProp()\n secondary = ``;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_FROM_TO_TEXTS) readonly fromToTexts$: Observable<[string, string]>,\n @Optional()\n @Inject(TuiNewInputSliderDirective)\n readonly isNew: TuiNewInputSliderDirective | null,\n @Inject(I18nPluralPipe) readonly i18nPlural: I18nPluralPipe,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled\n ? null\n : this.inputNumberRef.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n isNativeFocused(this.sliderRef?.nativeElement || null)\n );\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get precision(): number {\n return getFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimalT {\n return this.precision ? `not-zero` : `never`;\n }\n\n get showValueContent(): boolean {\n return Boolean(this.computedValueContent && !this.focused);\n }\n\n /**\n * TODO remove old property `size` in v3.0\n */\n get computedSize(): TuiSizeL {\n if (this.isNew) {\n tuiAssert.assert(\n this.controller.size !== `s`,\n `Size 's' is not supported by this input.`,\n );\n\n return this.controller.size === `l` ? `l` : `m`;\n }\n\n return this.size;\n }\n\n /**\n * @deprecated for backward compatibility\n * TODO replace by just `this.valueContent` in v3.0\n */\n get computedValueContent(): PolymorpheusContent<TuiContextWithImplicit<number>> {\n return this.minLabel || this.maxLabel\n ? legacyMinMaxLabel(this)\n : this.valueContent;\n }\n\n focusTextInput(): void {\n const focusableElement = this.inputNumberRef?.nativeFocusableElement;\n\n if (focusableElement) {\n setNativeFocused(focusableElement);\n }\n }\n\n safelyUpdateValue(value: number | null): void {\n this.updateValue(this.valueGuard(value ?? this.safeCurrentValue));\n }\n\n onVerticalArrowKeyDown(coefficient: number): void {\n if (this.readOnly || !this.step) {\n return;\n }\n\n const value = this.value + coefficient * this.step;\n\n if (value !== this.value) {\n this.safelyUpdateValue(value);\n }\n\n this.updateTextInputValue(this.valueGuard(value));\n }\n\n onSliderChange(newValue: number): void {\n this.safelyUpdateValue(newValue);\n this.updateTextInputValue(this.value);\n }\n\n onFocused(focused: boolean): void {\n const {value, textInputValue, safeCurrentValue, inputNumberRef} = this;\n\n if (!focused && textInputValue !== inputNumberRef?.getFormattedValue(value)) {\n this.updateTextInputValue(value ?? safeCurrentValue);\n }\n\n this.updateFocused(focused);\n }\n\n onPressed(pressed: boolean): void {\n this.updatePressed(pressed);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n private get textInputValue(): string {\n return this.inputNumberRef?.nativeValue || ``;\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected valueGuard(value: number): number {\n const roundedValue = round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return clamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number): void {\n if (this.inputNumberRef) {\n this.inputNumberRef.nativeValue =\n this.inputNumberRef.getFormattedValue(value);\n }\n }\n}\n\nfunction quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @deprecated helper for backward compatibility.\n * TODO remove in v3.0\n */\nfunction legacyMinMaxLabel({\n min,\n max,\n minLabel,\n maxLabel,\n i18nPlural,\n pluralizeMap,\n}: TuiInputSliderComponent): (\n context: TuiContextWithImplicit<number>,\n) => string | number {\n return ({$implicit: value}: TuiContextWithImplicit<number>) => {\n const valueWithPlural = `${value} ${\n pluralizeMap ? i18nPlural.transform(value, pluralizeMap) : ``\n }`;\n\n switch (value) {\n case min:\n return minLabel || valueWithPlural;\n case max:\n return maxLabel || valueWithPlural;\n default:\n return valueWithPlural;\n }\n };\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {\n TuiInputSliderComponent,\n TuiNewInputSliderDirective,\n} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TuiFocusableModule,\n TuiSliderModule,\n TuiFormatNumberPipeModule,\n TuiRepeatTimesModule,\n PolymorpheusModule,\n TuiInputNumberModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],\n exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}