@taiga-ui/kit 2.40.0 → 2.42.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 (556) hide show
  1. package/abstract/input-slider.d.ts +27 -9
  2. package/abstract/slider/slider.d.ts +3 -6
  3. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.js +43 -64
  5. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  7. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  11. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  13. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  15. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.js +27 -5
  17. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +2 -2
  19. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  21. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  23. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  25. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  29. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +1 -1
  33. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
  40. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  42. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +2 -2
  44. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-files.umd.js +3 -3
  48. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  50. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  52. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  54. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  56. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-count.umd.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +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 +1 -1
  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 +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  74. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +2 -2
  78. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +2 -2
  81. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  83. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +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 +2 -2
  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 +1 -1
  93. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  95. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-range.umd.js +196 -164
  103. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  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 +6 -18
  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 +5 -5
  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 +1 -1
  113. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  115. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  117. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  119. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  121. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
  123. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  125. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  127. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  129. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  131. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
  133. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-progress.umd.js +2 -2
  135. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-progress.umd.min.js +1 -1
  137. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
  139. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  141. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-range.umd.js +221 -31
  143. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-range.umd.min.js +2 -2
  145. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-rating.umd.js +1 -1
  147. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  149. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  151. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  153. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  154. package/bundles/taiga-ui-kit-components-slider.umd.js +62 -6
  155. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  157. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  159. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +2 -2
  161. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-tabs.umd.js +38 -36
  163. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  165. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  167. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  171. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  172. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  173. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  174. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  175. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  176. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-kit-tokens.umd.js +7 -1
  178. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  179. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  180. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  181. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  182. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  183. package/components/avatar/avatar-options.d.ts +11 -0
  184. package/components/avatar/avatar.component.d.ts +4 -2
  185. package/components/avatar/index.d.ts +1 -0
  186. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  187. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  188. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  189. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  190. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  191. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  192. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  193. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  194. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  195. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  196. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  197. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  198. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  199. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  200. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  201. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  202. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  203. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  204. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  205. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  206. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  207. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  208. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  209. package/components/input-range/input-range.component.d.ts +44 -31
  210. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  211. package/components/input-slider/input-slider.component.d.ts +2 -8
  212. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  213. package/components/input-tag/input-tag.component.d.ts +1 -1
  214. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  215. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  216. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  217. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  218. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  219. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  220. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  221. package/components/range/index.d.ts +1 -0
  222. package/components/range/range-change.directive.d.ts +20 -0
  223. package/components/range/range.component.d.ts +33 -5
  224. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  225. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  226. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  227. package/components/slider/index.d.ts +1 -0
  228. package/components/slider/slider-old.component.d.ts +3 -1
  229. package/components/slider/slider-readonly.directive.d.ts +9 -0
  230. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  231. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  232. package/components/tabs/index.d.ts +0 -1
  233. package/components/tabs/tab/tab.component.d.ts +2 -1
  234. package/components/tabs/tabs/tabs.component.d.ts +2 -3
  235. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +4 -1
  236. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  237. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  238. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  239. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  240. package/esm2015/abstract/input-slider.js +30 -37
  241. package/esm2015/abstract/slider/slider.js +13 -19
  242. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
  243. package/esm2015/components/action/action.component.js +2 -2
  244. package/esm2015/components/avatar/avatar-options.js +15 -0
  245. package/esm2015/components/avatar/avatar.component.js +14 -8
  246. package/esm2015/components/avatar/index.js +2 -1
  247. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  248. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  249. package/esm2015/components/carousel/carousel.component.js +2 -2
  250. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  251. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
  252. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  253. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  254. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  255. package/esm2015/components/files/file/file.component.js +2 -2
  256. package/esm2015/components/files/files.component.js +3 -3
  257. package/esm2015/components/filter/filter.component.js +2 -2
  258. package/esm2015/components/input/input.component.js +2 -2
  259. package/esm2015/components/input-copy/input-copy.component.js +2 -2
  260. package/esm2015/components/input-count/input-count.component.js +2 -2
  261. package/esm2015/components/input-date/input-date.component.js +2 -2
  262. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  263. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  264. package/esm2015/components/input-file/file/file.component.js +2 -2
  265. package/esm2015/components/input-files/input-files.component.js +1 -1
  266. package/esm2015/components/input-month/input-month.component.js +2 -2
  267. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  268. package/esm2015/components/input-number/input-number.component.js +3 -3
  269. package/esm2015/components/input-password/input-password.component.js +2 -2
  270. package/esm2015/components/input-phone/input-phone.component.js +2 -2
  271. package/esm2015/components/input-range/input-range.component.js +192 -156
  272. package/esm2015/components/input-range/input-range.module.js +13 -15
  273. package/esm2015/components/input-slider/input-slider.component.js +8 -20
  274. package/esm2015/components/input-tag/input-tag.component.js +6 -6
  275. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  276. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  277. package/esm2015/components/pagination/pagination.component.js +2 -2
  278. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  279. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  280. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  281. package/esm2015/components/radio/radio.component.js +3 -3
  282. package/esm2015/components/range/index.js +2 -1
  283. package/esm2015/components/range/range-change.directive.js +83 -0
  284. package/esm2015/components/range/range.component.js +118 -28
  285. package/esm2015/components/range/range.module.js +10 -7
  286. package/esm2015/components/rating/rating.component.js +2 -2
  287. package/esm2015/components/select/select.component.js +2 -2
  288. package/esm2015/components/slider/index.js +2 -1
  289. package/esm2015/components/slider/slider-key-steps.directive.js +2 -2
  290. package/esm2015/components/slider/slider-old.component.js +11 -5
  291. package/esm2015/components/slider/slider-readonly.directive.js +50 -0
  292. package/esm2015/components/slider/slider.component.js +1 -1
  293. package/esm2015/components/slider/slider.module.js +4 -1
  294. package/esm2015/components/stepper/step/step.component.js +2 -2
  295. package/esm2015/components/tabs/index.js +1 -2
  296. package/esm2015/components/tabs/tab/tab.component.js +13 -9
  297. package/esm2015/components/tabs/tabs/tabs.component.js +5 -11
  298. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +24 -16
  299. package/esm2015/components/tabs/underline/underline.component.js +2 -2
  300. package/esm2015/components/tag/tag.component.js +3 -3
  301. package/esm2015/components/text-area/text-area.component.js +3 -3
  302. package/esm2015/components/toggle/toggle.component.js +1 -1
  303. package/esm2015/tokens/i18n.js +2 -2
  304. package/esm2015/tokens/index.js +2 -1
  305. package/esm2015/tokens/mobile-aware.js +2 -1
  306. package/esm2015/tokens/tab-margin.js +5 -0
  307. package/esm5/abstract/input-slider.js +30 -48
  308. package/esm5/abstract/slider/slider.js +13 -19
  309. package/esm5/components/accordion/accordion-item/accordion-item.component.js +2 -2
  310. package/esm5/components/action/action.component.js +2 -2
  311. package/esm5/components/avatar/avatar-options.js +16 -0
  312. package/esm5/components/avatar/avatar.component.js +14 -8
  313. package/esm5/components/avatar/index.js +2 -1
  314. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  315. package/esm5/components/calendar-month/calendar-month.component.js +2 -2
  316. package/esm5/components/carousel/carousel.component.js +2 -2
  317. package/esm5/components/checkbox/checkbox.component.js +1 -1
  318. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
  319. package/esm5/components/combo-box/combo-box.component.js +2 -2
  320. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  321. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  322. package/esm5/components/files/file/file.component.js +2 -2
  323. package/esm5/components/files/files.component.js +3 -3
  324. package/esm5/components/filter/filter.component.js +2 -2
  325. package/esm5/components/input/input.component.js +2 -2
  326. package/esm5/components/input-copy/input-copy.component.js +2 -2
  327. package/esm5/components/input-count/input-count.component.js +2 -2
  328. package/esm5/components/input-date/input-date.component.js +2 -2
  329. package/esm5/components/input-date-range/input-date-range.component.js +2 -2
  330. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  331. package/esm5/components/input-file/file/file.component.js +2 -2
  332. package/esm5/components/input-files/input-files.component.js +1 -1
  333. package/esm5/components/input-month/input-month.component.js +2 -2
  334. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  335. package/esm5/components/input-number/input-number.component.js +3 -3
  336. package/esm5/components/input-password/input-password.component.js +2 -2
  337. package/esm5/components/input-phone/input-phone.component.js +2 -2
  338. package/esm5/components/input-range/input-range.component.js +194 -157
  339. package/esm5/components/input-range/input-range.module.js +13 -15
  340. package/esm5/components/input-slider/input-slider.component.js +8 -20
  341. package/esm5/components/input-tag/input-tag.component.js +6 -6
  342. package/esm5/components/marker-icon/marker-icon.component.js +2 -2
  343. package/esm5/components/multi-select/multi-select.component.js +2 -2
  344. package/esm5/components/pagination/pagination.component.js +2 -2
  345. package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
  346. package/esm5/components/progress/progress-circle/progress-circle.component.js +2 -2
  347. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  348. package/esm5/components/radio/radio.component.js +3 -3
  349. package/esm5/components/range/index.js +2 -1
  350. package/esm5/components/range/range-change.directive.js +101 -0
  351. package/esm5/components/range/range.component.js +126 -29
  352. package/esm5/components/range/range.module.js +10 -7
  353. package/esm5/components/rating/rating.component.js +2 -2
  354. package/esm5/components/select/select.component.js +2 -2
  355. package/esm5/components/slider/index.js +2 -1
  356. package/esm5/components/slider/slider-key-steps.directive.js +2 -2
  357. package/esm5/components/slider/slider-old.component.js +11 -5
  358. package/esm5/components/slider/slider-readonly.directive.js +51 -0
  359. package/esm5/components/slider/slider.component.js +1 -1
  360. package/esm5/components/slider/slider.module.js +4 -1
  361. package/esm5/components/stepper/step/step.component.js +2 -2
  362. package/esm5/components/tabs/index.js +1 -2
  363. package/esm5/components/tabs/tab/tab.component.js +13 -9
  364. package/esm5/components/tabs/tabs/tabs.component.js +5 -15
  365. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +27 -16
  366. package/esm5/components/tabs/underline/underline.component.js +2 -2
  367. package/esm5/components/tag/tag.component.js +3 -3
  368. package/esm5/components/text-area/text-area.component.js +3 -3
  369. package/esm5/components/toggle/toggle.component.js +1 -1
  370. package/esm5/tokens/i18n.js +2 -2
  371. package/esm5/tokens/index.js +2 -1
  372. package/esm5/tokens/mobile-aware.js +2 -1
  373. package/esm5/tokens/tab-margin.js +5 -0
  374. package/fesm2015/taiga-ui-kit-abstract.js +43 -55
  375. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  376. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  377. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  378. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  379. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  380. package/fesm2015/taiga-ui-kit-components-avatar.js +27 -8
  381. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  383. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  384. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  385. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  386. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  387. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  388. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +1 -1
  389. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  390. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  391. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  392. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  393. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  394. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  395. package/fesm2015/taiga-ui-kit-components-files.js +3 -3
  396. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  397. package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
  398. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  399. package/fesm2015/taiga-ui-kit-components-input-copy.js +1 -1
  400. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  401. package/fesm2015/taiga-ui-kit-components-input-count.js +1 -1
  402. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  403. package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
  404. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  405. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  406. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  407. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  408. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  409. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  410. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  411. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  412. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  413. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  414. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  415. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  416. package/fesm2015/taiga-ui-kit-components-input-number.js +2 -2
  417. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  418. package/fesm2015/taiga-ui-kit-components-input-password.js +1 -1
  419. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  420. package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -1
  421. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  422. package/fesm2015/taiga-ui-kit-components-input-range.js +198 -167
  423. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  424. package/fesm2015/taiga-ui-kit-components-input-slider.js +7 -19
  425. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  426. package/fesm2015/taiga-ui-kit-components-input-tag.js +5 -5
  427. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  428. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  429. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  430. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  431. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  432. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
  433. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  434. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  435. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  436. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  437. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  438. package/fesm2015/taiga-ui-kit-components-progress.js +2 -2
  439. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  440. package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
  441. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  442. package/fesm2015/taiga-ui-kit-components-range.js +199 -34
  443. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  444. package/fesm2015/taiga-ui-kit-components-rating.js +1 -1
  445. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  446. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  447. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  448. package/fesm2015/taiga-ui-kit-components-slider.js +61 -7
  449. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  450. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  451. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  452. package/fesm2015/taiga-ui-kit-components-tabs.js +39 -34
  453. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  454. package/fesm2015/taiga-ui-kit-components-tag.js +2 -2
  455. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  456. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  457. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  458. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  459. package/fesm2015/taiga-ui-kit-tokens.js +7 -2
  460. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  461. package/fesm5/taiga-ui-kit-abstract.js +43 -66
  462. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  463. package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
  464. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  465. package/fesm5/taiga-ui-kit-components-action.js +1 -1
  466. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  467. package/fesm5/taiga-ui-kit-components-avatar.js +27 -8
  468. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  469. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  470. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  471. package/fesm5/taiga-ui-kit-components-calendar-month.js +1 -1
  472. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  473. package/fesm5/taiga-ui-kit-components-carousel.js +1 -1
  474. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  475. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +1 -1
  476. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  477. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  478. package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
  479. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  480. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  481. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  482. package/fesm5/taiga-ui-kit-components-files.js +3 -3
  483. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  484. package/fesm5/taiga-ui-kit-components-filter.js +1 -1
  485. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  486. package/fesm5/taiga-ui-kit-components-input-copy.js +1 -1
  487. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  488. package/fesm5/taiga-ui-kit-components-input-count.js +1 -1
  489. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  490. package/fesm5/taiga-ui-kit-components-input-date-range.js +1 -1
  491. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  492. package/fesm5/taiga-ui-kit-components-input-date-time.js +1 -1
  493. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  494. package/fesm5/taiga-ui-kit-components-input-date.js +1 -1
  495. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  496. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  497. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  498. package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
  499. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  500. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  501. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  502. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  503. package/fesm5/taiga-ui-kit-components-input-number.js +2 -2
  504. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  505. package/fesm5/taiga-ui-kit-components-input-password.js +1 -1
  506. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  507. package/fesm5/taiga-ui-kit-components-input-phone.js +1 -1
  508. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  509. package/fesm5/taiga-ui-kit-components-input-range.js +200 -168
  510. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  511. package/fesm5/taiga-ui-kit-components-input-slider.js +7 -19
  512. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  513. package/fesm5/taiga-ui-kit-components-input-tag.js +5 -5
  514. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  515. package/fesm5/taiga-ui-kit-components-input.js +1 -1
  516. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  517. package/fesm5/taiga-ui-kit-components-marker-icon.js +1 -1
  518. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  519. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -1
  520. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  521. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  522. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  523. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
  524. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  525. package/fesm5/taiga-ui-kit-components-progress.js +2 -2
  526. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  527. package/fesm5/taiga-ui-kit-components-radio.js +2 -2
  528. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  529. package/fesm5/taiga-ui-kit-components-range.js +225 -35
  530. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  531. package/fesm5/taiga-ui-kit-components-rating.js +1 -1
  532. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  533. package/fesm5/taiga-ui-kit-components-select.js +1 -1
  534. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  535. package/fesm5/taiga-ui-kit-components-slider.js +62 -7
  536. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  537. package/fesm5/taiga-ui-kit-components-stepper.js +1 -1
  538. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  539. package/fesm5/taiga-ui-kit-components-tabs.js +42 -38
  540. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  541. package/fesm5/taiga-ui-kit-components-tag.js +2 -2
  542. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  543. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  544. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  545. package/fesm5/taiga-ui-kit-components-toggle.js +1 -1
  546. package/fesm5/taiga-ui-kit-tokens.js +7 -2
  547. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  548. package/package.json +7 -7
  549. package/tokens/i18n.d.ts +1 -5
  550. package/tokens/index.d.ts +1 -0
  551. package/tokens/mobile-aware.d.ts +1 -0
  552. package/tokens/tab-margin.d.ts +2 -0
  553. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  554. package/components/tabs/tabs.const.d.ts +0 -2
  555. package/esm2015/components/tabs/tabs.const.js +0 -3
  556. package/esm5/components/tabs/tabs.const.js +0 -3
@@ -1,236 +1,270 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { Optional, Self, Inject, ChangeDetectorRef, ViewChild, HostBinding, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
2
+ import { Optional, Self, Inject, ChangeDetectorRef, ElementRef, ViewChildren, ViewChild, Input, HostBinding, Component, ChangeDetectionStrategy, forwardRef, Directive, NgModule } from '@angular/core';
3
3
  import { NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { isNativeFocused, setNativeFocused, TUI_IS_MOBILE, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiPressedModule, TuiMapperPipeModule, TuiInputModeModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
- import { maskedMoneyValueIsEmpty, maskedNumberStringToNumber, formatNumber, TuiModeDirective, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, TuiWrapperModule } from '@taiga-ui/core';
6
- import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
4
+ import { EMPTY_QUERY, isNativeFocusedIn, isNativeFocused, round, clamp, TUI_IS_MOBILE, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiActiveZoneModule, TuiPressedModule } from '@taiga-ui/cdk';
5
+ import { getFractionPartPadded, TUI_TEXTFIELD_APPEARANCE, TuiTextfieldController, TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldControllerModule, TuiWrapperModule } from '@taiga-ui/core';
6
+ import { AbstractTuiInputSlider, quantumAssertion } from '@taiga-ui/kit/abstract';
7
+ import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/kit/components/input-number';
8
+ import { TuiNewRangeDirective, TuiRangeComponent, TuiRangeModule } from '@taiga-ui/kit/components/range';
9
+ import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
7
10
  import { CommonModule } from '@angular/common';
8
- import { TuiRangeModule } from '@taiga-ui/kit/components/range';
9
- import { TextMaskModule } from 'angular2-text-mask';
11
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
10
12
 
11
13
  var TuiInputRangeComponent_1;
12
14
  // @dynamic
13
- let TuiInputRangeComponent = TuiInputRangeComponent_1 = class TuiInputRangeComponent extends AbstractTuiInputSlider {
14
- constructor(control, changeDetectorRef, modeDirective, isMobile, numberFormat, appearance) {
15
+ let TuiInputRangeComponent = TuiInputRangeComponent_1 =
16
+ /**
17
+ * `AbstractTuiInputSlider` includes all legacy code (it can be deleted in v3.0)
18
+ * TODO replace `extends AbstractTuiInputSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>`
19
+ */
20
+ class TuiInputRangeComponent extends AbstractTuiInputSlider {
21
+ constructor(control, changeDetectorRef, isMobile, appearance, elementRef, controller, isNew) {
15
22
  super(control, changeDetectorRef);
16
- this.modeDirective = modeDirective;
17
23
  this.isMobile = isMobile;
18
- this.numberFormat = numberFormat;
19
24
  this.appearance = appearance;
25
+ this.elementRef = elementRef;
26
+ this.controller = controller;
27
+ this.isNew = isNew;
28
+ this.inputNumberRefs = EMPTY_QUERY;
29
+ this.rangeRef = null;
30
+ this.min = 0;
31
+ /* TODO: make `100` as default value (like in native sliders) */
32
+ this.max = Infinity;
33
+ this.quantum = 1;
34
+ this.steps = 0;
35
+ this.segments = 0;
36
+ this.keySteps = null;
37
+ this.leftValueContent = '';
38
+ this.rightValueContent = '';
39
+ this.lastActiveSide = 'left';
20
40
  }
21
- get nativeFocusableElement() {
22
- return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;
41
+ get leftFocusableElement() {
42
+ var _a;
43
+ return ((_a = this.inputNumberRefs.first) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) || null;
23
44
  }
24
- get focused() {
25
- return this.focusedLeft || this.focusedRight;
45
+ get rightFocusableElement() {
46
+ var _a;
47
+ return ((_a = this.inputNumberRefs.last) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) || null;
26
48
  }
27
- get focusedLeft() {
28
- return !!this.nativeLeft && isNativeFocused(this.nativeLeft.nativeElement);
49
+ get nativeFocusableElement() {
50
+ return this.disabled
51
+ ? null
52
+ : this.leftFocusableElement || this.rightFocusableElement;
29
53
  }
30
- get focusedRight() {
31
- return !!this.nativeRight && isNativeFocused(this.nativeRight.nativeElement);
54
+ get focused() {
55
+ return isNativeFocusedIn(this.elementRef.nativeElement);
32
56
  }
33
- get showMinLabel() {
34
- return !this.focusedLeft && !!this.minLabel && this.value[0] === this.min;
57
+ get showLeftValueContent() {
58
+ var _a;
59
+ return Boolean((this.minLabel || this.leftValueContent) &&
60
+ !isNativeFocused(this.leftFocusableElement) &&
61
+ !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === 'left'));
35
62
  }
36
- get showMaxLabel() {
37
- return !this.focusedRight && !!this.maxLabel && this.value[1] === this.max;
63
+ get showRightValueContent() {
64
+ var _a;
65
+ return Boolean((this.maxLabel || this.rightValueContent) &&
66
+ !isNativeFocused(this.rightFocusableElement) &&
67
+ !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === 'right'));
38
68
  }
39
- get hostMode() {
40
- return this.modeDirective && this.modeDirective.mode;
69
+ get precision() {
70
+ return getFractionPartPadded(this.quantum).length;
41
71
  }
42
- get inputValueLeft() {
43
- return this.nativeLeft ? this.nativeLeft.nativeElement.value : '';
72
+ get decimal() {
73
+ return this.precision ? 'not-zero' : 'never';
44
74
  }
45
- get inputValueRight() {
46
- return this.nativeRight ? this.nativeRight.nativeElement.value : '';
75
+ get computedSteps() {
76
+ return this.steps || (this.max - this.min) / this.quantum;
47
77
  }
48
- get computedValueLeft() {
49
- return this.computedPureValueLeft(this.value[0]);
78
+ get computedSize() {
79
+ return this.isNew && this.controller.size !== 's'
80
+ ? this.controller.size
81
+ : this.size;
50
82
  }
51
- get computedValueRight() {
52
- return this.computedPureValueRight(this.value[1]);
83
+ get legacyLabelOutside() {
84
+ return this.isNew ? this.controller.labelOutside : this.computedSize === 'm';
53
85
  }
54
86
  onActiveZone(active) {
55
87
  this.updateFocused(active);
56
88
  }
57
- onMouseDown() {
58
- if (this.nativeRight && !this.isMobile) {
59
- setNativeFocused(this.nativeRight.nativeElement);
60
- }
61
- }
62
- onKeyDownArrowUpLeft(event) {
63
- if (this.readOnly) {
89
+ onTextInputFocused(focused, right) {
90
+ if (focused) {
64
91
  return;
65
92
  }
66
- event.preventDefault();
67
- this.processStep(true, false);
68
- }
69
- onKeyDownArrowDownLeft(event) {
70
- if (this.readOnly) {
71
- return;
93
+ const [leftTextInputRef, rightTextInputRef] = this.inputNumberRefs;
94
+ const inputRef = right ? rightTextInputRef : leftTextInputRef;
95
+ const valueIndex = right ? 1 : 0;
96
+ if (!inputRef.nativeValue || inputRef.value !== this.value[valueIndex]) {
97
+ this.updateTextInputValue(this.safeCurrentValue[valueIndex], right);
72
98
  }
73
- event.preventDefault();
74
- this.processStep(false, false);
75
99
  }
76
- onKeyDownArrowUpRight(event) {
100
+ changeByStep(event, [leftCoefficient, rightCoefficient]) {
77
101
  if (this.readOnly) {
78
102
  return;
79
103
  }
80
104
  event.preventDefault();
81
- this.processStep(true, true);
82
- }
83
- onKeyDownArrowDownRight(event) {
84
- if (this.readOnly) {
85
- return;
105
+ const newValue = this.valueGuard([
106
+ this.value[0] + leftCoefficient * this.step,
107
+ this.value[1] + rightCoefficient * this.step,
108
+ ]);
109
+ const leftValueChanged = newValue[0] !== this.value[0];
110
+ const rightValueChanged = newValue[1] !== this.value[1];
111
+ if (leftValueChanged || rightValueChanged) {
112
+ this.safelyUpdateValue(newValue);
113
+ this.updateTextInputValue(newValue[rightValueChanged ? 1 : 0], rightValueChanged);
86
114
  }
87
- event.preventDefault();
88
- this.processStep(false, true);
89
115
  }
90
- onInputLeft() {
91
- const value = this.inputValueLeft;
92
- const capped = this.capInputValue(value, this.value[1]);
93
- const postfix = value.slice(-1)[0] === ',' ? ',' : '';
94
- if (maskedMoneyValueIsEmpty(value) || capped === null) {
95
- return;
96
- }
97
- const newValue = this.formatNumber(capped) + postfix;
98
- if (this.nativeLeft && this.inputValueLeft !== newValue) {
99
- this.nativeLeft.nativeElement.value = newValue;
100
- }
101
- this.updateValue([capped, this.value[1]]);
116
+ onInputLeft(value) {
117
+ this.safelyUpdateValue([value !== null && value !== void 0 ? value : this.safeCurrentValue[0], this.value[1]]);
102
118
  }
103
- onInputRight() {
104
- const value = this.inputValueRight;
105
- const capped = this.capInputValue(value);
106
- const postfix = value.slice(-1)[0] === ',' ? ',' : '';
107
- if (maskedMoneyValueIsEmpty(value) || capped === null) {
108
- return;
109
- }
110
- const newValue = this.formatNumber(capped) + postfix;
111
- if (this.nativeRight && this.inputValueRight !== newValue) {
112
- this.nativeRight.nativeElement.value = newValue;
113
- }
114
- if (capped >= this.value[0]) {
115
- this.updateValue([this.value[0], capped]);
116
- }
119
+ onInputRight(value) {
120
+ this.safelyUpdateValue([this.value[0], value !== null && value !== void 0 ? value : this.safeCurrentValue[1]]);
117
121
  }
118
- onRangeValue(value) {
119
- const guardedValue = value.map(item => this.valueGuard(item));
120
- if (!this.nativeLeft ||
121
- !this.nativeRight ||
122
- (guardedValue[0] === this.value[0] && guardedValue[1] === this.value[1])) {
123
- return;
124
- }
125
- if (!this.isMobile) {
126
- const element = guardedValue[0] !== this.value[0]
127
- ? this.nativeLeft.nativeElement
128
- : this.nativeRight.nativeElement;
129
- setNativeFocused(element);
130
- }
131
- this.updateValue(guardedValue);
132
- this.nativeLeft.nativeElement.value = this.formatNumber(guardedValue[0]);
122
+ onRangeValue([left, right]) {
123
+ var _a, _b;
124
+ (_b = (_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) === null || _b === void 0 ? void 0 : _b.focus();
125
+ this.safelyUpdateValue([left, right]);
133
126
  }
134
- onLeftFocused(focused) {
135
- if (focused || !this.nativeLeft) {
136
- return;
137
- }
138
- const inputValue = maskedNumberStringToNumber(this.computedValueLeft, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
139
- const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);
140
- this.nativeLeft.nativeElement.value = this.formatNumber(value);
141
- if (value !== this.value[0]) {
142
- this.updateValue([value, this.value[1]]);
127
+ focusToTextInput() {
128
+ const element = this.lastActiveSide === 'left'
129
+ ? this.leftFocusableElement
130
+ : this.rightFocusableElement;
131
+ if (!this.isMobile && element) {
132
+ element.focus();
143
133
  }
144
134
  }
145
- onRightFocused(focused) {
146
- if (focused || !this.nativeRight) {
147
- return;
148
- }
149
- const inputValue = maskedNumberStringToNumber(this.computedValueRight, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
150
- const value = isNaN(inputValue)
151
- ? this.value[0]
152
- : this.valueGuard(Math.max(inputValue, this.value[0]));
153
- this.nativeRight.nativeElement.value = this.formatNumber(value);
154
- if (value !== this.value[1]) {
155
- this.updateValue([this.value[0], value]);
156
- }
135
+ onActiveThumbChange(activeThumb) {
136
+ this.lastActiveSide = activeThumb;
157
137
  }
158
138
  getFallbackValue() {
159
139
  return [0, 0];
160
140
  }
161
- computedPureValueLeft(value) {
162
- return this.formatNumber(value);
141
+ safelyUpdateValue(value) {
142
+ this.updateValue(this.valueGuard(value));
163
143
  }
164
- computedPureValueRight(value) {
165
- return this.formatNumber(value);
144
+ valueGuard([leftValue, rightValue]) {
145
+ const leftCalibratedValue = this.calibrate(leftValue);
146
+ const rightCalibratedValue = this.calibrate(rightValue);
147
+ return [
148
+ Math.min(leftCalibratedValue, this.value[1]),
149
+ Math.max(rightCalibratedValue, this.value[0]),
150
+ ];
166
151
  }
167
- formatNumber(value) {
168
- return formatNumber(value, null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
152
+ calibrate(value) {
153
+ const roundedValue = round(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
154
+ return clamp(roundedValue, this.min, this.max);
169
155
  }
170
- processStep(increment, right) {
171
- const start = this.valueGuard(increment ? this.value[0] + this.step : this.value[0] - this.step);
172
- const end = this.valueGuard(increment ? this.value[1] + this.step : this.value[1] - this.step);
173
- const value = [
174
- right ? this.value[0] : Math.min(start, this.value[1]),
175
- right ? Math.max(end, this.value[0]) : this.value[1],
176
- ];
177
- if (value[0] !== this.value[0] || value[1] !== this.value[1]) {
178
- this.updateValue(value);
156
+ updateTextInputValue(value, right) {
157
+ const [leftInputRef, rightInputRef] = this.inputNumberRefs;
158
+ const textInputRef = right ? rightInputRef : leftInputRef;
159
+ if (textInputRef) {
160
+ textInputRef.nativeValue = textInputRef.getFormattedValue(value);
179
161
  }
180
162
  }
181
163
  };
182
164
  TuiInputRangeComponent.ctorParameters = () => [
183
165
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
184
166
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
185
- { type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
186
167
  { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
187
- { type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
188
- { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
168
+ { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
169
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
170
+ { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
171
+ { type: TuiNewRangeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewRangeDirective,] }] }
189
172
  ];
190
173
  __decorate([
191
- ViewChild('nativeLeft')
192
- ], TuiInputRangeComponent.prototype, "nativeLeft", void 0);
174
+ ViewChildren(TuiInputNumberComponent)
175
+ ], TuiInputRangeComponent.prototype, "inputNumberRefs", void 0);
176
+ __decorate([
177
+ ViewChild(TuiRangeComponent)
178
+ ], TuiInputRangeComponent.prototype, "rangeRef", void 0);
193
179
  __decorate([
194
- ViewChild('nativeRight')
195
- ], TuiInputRangeComponent.prototype, "nativeRight", void 0);
180
+ Input(),
181
+ tuiDefaultProp()
182
+ ], TuiInputRangeComponent.prototype, "min", void 0);
196
183
  __decorate([
197
- HostBinding('class._min-label')
198
- ], TuiInputRangeComponent.prototype, "showMinLabel", null);
184
+ Input(),
185
+ tuiDefaultProp()
186
+ ], TuiInputRangeComponent.prototype, "max", void 0);
199
187
  __decorate([
200
- HostBinding('class._max-label')
201
- ], TuiInputRangeComponent.prototype, "showMaxLabel", null);
188
+ Input(),
189
+ tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
190
+ ], TuiInputRangeComponent.prototype, "quantum", void 0);
202
191
  __decorate([
203
- HostBinding('attr.data-mode')
204
- ], TuiInputRangeComponent.prototype, "hostMode", null);
192
+ Input(),
193
+ tuiDefaultProp()
194
+ ], TuiInputRangeComponent.prototype, "steps", void 0);
205
195
  __decorate([
206
- tuiPure
207
- ], TuiInputRangeComponent.prototype, "computedPureValueLeft", null);
196
+ Input(),
197
+ tuiDefaultProp()
198
+ ], TuiInputRangeComponent.prototype, "segments", void 0);
208
199
  __decorate([
209
- tuiPure
210
- ], TuiInputRangeComponent.prototype, "computedPureValueRight", null);
200
+ Input(),
201
+ tuiDefaultProp()
202
+ ], TuiInputRangeComponent.prototype, "keySteps", void 0);
203
+ __decorate([
204
+ Input(),
205
+ tuiDefaultProp()
206
+ ], TuiInputRangeComponent.prototype, "leftValueContent", void 0);
207
+ __decorate([
208
+ Input(),
209
+ tuiDefaultProp()
210
+ ], TuiInputRangeComponent.prototype, "rightValueContent", void 0);
211
+ __decorate([
212
+ HostBinding('class._label-outside')
213
+ ], TuiInputRangeComponent.prototype, "legacyLabelOutside", null);
211
214
  TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
212
215
  Component({
213
216
  selector: 'tui-input-range',
214
- template: "<tui-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 <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-range__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <div class=\"t-content\">\n <span *ngIf=\"!showMinLabel\" class=\"t-label\">\n <span class=\"t-value\">{{ inputValueLeft }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-left\"\n class=\"t-pluralize\"\n >\n {{ value[0] | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-range__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-range__max-label\"\n class=\"t-max\"\n >\n {{ maxLabel }}\n </span>\n </div>\n\n <div class=\"t-native-wrapper\" (tuiHoveredChange)=\"onHovered($event)\">\n <input\n #nativeLeft\n automation-id=\"tui-input-range__native-left\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMinLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueLeft\"\n (ngModelChange)=\"onInputLeft()\"\n (tuiFocusedChange)=\"onLeftFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpLeft($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownLeft($event)\"\n />\n <input\n #nativeRight\n automation-id=\"tui-input-range__native-right\"\n class=\"t-native t-native_right\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [class.t-native_hidden]=\"showMaxLabel\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValueRight\"\n (ngModelChange)=\"onInputRight()\"\n (tuiFocusedChange)=\"onRightFocused($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUpRight($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDownRight($event)\"\n />\n <span\n *ngIf=\"pluralizeMap && !showMaxLabel\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize t-pluralize_right\"\n (mousedown)=\"onMouseDown()\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\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 (mousedown.prevent)=\"onMouseDown()\"\n ></tui-range>\n</tui-wrapper>\n",
217
+ 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 remove in v3.0 -->\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 ||\n pluralizeMapFallback}}\n </ng-container>\n</ng-template>\n\n<!-- TODO remove in v3.0 -->\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 ||\n pluralizeMapFallback}}\n </ng-container>\n</ng-template>\n",
215
218
  changeDetection: ChangeDetectionStrategy.OnPush,
216
219
  providers: [
217
220
  {
218
221
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
219
222
  useExisting: forwardRef(() => TuiInputRangeComponent_1),
220
223
  },
224
+ TEXTFIELD_CONTROLLER_PROVIDER,
221
225
  ],
222
- styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}:host[data-mode=onDark]{color:var(--tui-base-01)}.t-native-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.t-pluralize{display:flex;align-items:center;padding-right:.75rem;margin-left:-.5rem}.t-pluralize_right{margin-left:-.75rem}:host[data-size='l'] .t-pluralize_right{padding-top:1.25rem}:host._disabled .t-pluralize_right{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-pluralize_right{color:var(--tui-text-03-night)}.t-native{padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;flex:1;min-width:0;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_right{text-align:right}.t-native_hidden{opacity:0}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between;align-items:center}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}:host[data-size='l']._disabled .t-content{color:var(--tui-text-03)}:host[data-size='l'][data-mode=onDark]._disabled .t-content{color:var(--tui-text-03-night)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;position:absolute;top:0;width:100%;height:100%;left:1rem;line-height:var(--tui-height-l)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}.t-value{visibility:hidden;overflow:hidden;padding-right:.75rem}:host._disabled .t-value{color:var(--tui-text-03)}.t-label{display:flex;width:50%}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-max{text-align:right;flex:1}:host[data-size='l'] .t-max{padding-top:1.25rem;line-height:calc(var(--tui-height-l) - 1.25rem)}.t-slider{position:absolute;top:100%;left:0;right:0;z-index:1;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .t-slider,:host._readonly .t-slider{pointer-events:none}"]
223
- }),
226
+ host: {
227
+ /**
228
+ * TODO delete it in v3.0
229
+ * Dont forget to clear html-tags
230
+ */
231
+ '[class._show-ticks-labels]': '!isNew',
232
+ },
233
+ 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}"]
234
+ })
235
+ /**
236
+ * `AbstractTuiInputSlider` includes all legacy code (it can be deleted in v3.0)
237
+ * TODO replace `extends AbstractTuiInputSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>`
238
+ */
239
+ ,
224
240
  __param(0, Optional()),
225
241
  __param(0, Self()),
226
242
  __param(0, Inject(NgControl)),
227
243
  __param(1, Inject(ChangeDetectorRef)),
228
- __param(2, Optional()),
229
- __param(2, Inject(TuiModeDirective)),
230
- __param(3, Inject(TUI_IS_MOBILE)),
231
- __param(4, Inject(TUI_NUMBER_FORMAT)),
232
- __param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
244
+ __param(2, Inject(TUI_IS_MOBILE)),
245
+ __param(3, Inject(TUI_TEXTFIELD_APPEARANCE)),
246
+ __param(4, Inject(ElementRef)),
247
+ __param(5, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
248
+ __param(6, Optional()),
249
+ __param(6, Inject(TuiNewRangeDirective))
233
250
  ], TuiInputRangeComponent);
251
+ function tuiTextfieldAppearanceDirectiveFactory({ nativeElement }) {
252
+ return nativeElement.getAttribute('tuiTextfieldAppearance');
253
+ }
254
+ let TuiTextfieldAppearanceDirective = class TuiTextfieldAppearanceDirective {
255
+ };
256
+ TuiTextfieldAppearanceDirective = __decorate([
257
+ Directive({
258
+ selector: '[tuiTextfieldAppearance]',
259
+ providers: [
260
+ {
261
+ provide: TUI_TEXTFIELD_APPEARANCE,
262
+ deps: [ElementRef],
263
+ useFactory: tuiTextfieldAppearanceDirectiveFactory,
264
+ },
265
+ ],
266
+ })
267
+ ], TuiTextfieldAppearanceDirective);
234
268
 
235
269
  let TuiInputRangeModule = class TuiInputRangeModule {
236
270
  };
@@ -240,19 +274,16 @@ TuiInputRangeModule = __decorate([
240
274
  CommonModule,
241
275
  FormsModule,
242
276
  ReactiveFormsModule,
243
- TextMaskModule,
244
- TuiFocusableModule,
245
- TuiFocusedModule,
246
- TuiHoveredModule,
247
- TuiPressedModule,
248
- TuiMapperPipeModule,
249
- TuiInputModeModule,
277
+ PolymorpheusModule,
250
278
  TuiActiveZoneModule,
279
+ TuiInputNumberModule,
280
+ TuiPressedModule,
251
281
  TuiRangeModule,
282
+ TuiTextfieldControllerModule,
252
283
  TuiWrapperModule,
253
284
  ],
254
- declarations: [TuiInputRangeComponent],
255
- exports: [TuiInputRangeComponent],
285
+ declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective],
286
+ exports: [TuiInputRangeComponent, TuiNewRangeDirective],
256
287
  })
257
288
  ], TuiInputRangeModule);
258
289
 
@@ -260,5 +291,5 @@ TuiInputRangeModule = __decorate([
260
291
  * Generated bundle index. Do not edit.
261
292
  */
262
293
 
263
- export { TuiInputRangeComponent, TuiInputRangeModule };
294
+ export { TuiInputRangeComponent, TuiInputRangeModule, TuiTextfieldAppearanceDirective, tuiTextfieldAppearanceDirectiveFactory };
264
295
  //# sourceMappingURL=taiga-ui-kit-components-input-range.js.map
@@ -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 ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiBrightness,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\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 ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('nativeLeft')\n private readonly nativeLeft?: ElementRef<HTMLInputElement>;\n\n @ViewChild('nativeRight')\n private readonly nativeRight?: ElementRef<HTMLInputElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;\n }\n\n get focused(): boolean {\n return this.focusedLeft || this.focusedRight;\n }\n\n get focusedLeft(): boolean {\n return !!this.nativeLeft && isNativeFocused(this.nativeLeft.nativeElement);\n }\n\n get focusedRight(): boolean {\n return !!this.nativeRight && isNativeFocused(this.nativeRight.nativeElement);\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focusedLeft && !!this.minLabel && this.value[0] === this.min;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focusedRight && !!this.maxLabel && this.value[1] === this.max;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n get inputValueLeft(): string {\n return this.nativeLeft ? this.nativeLeft.nativeElement.value : '';\n }\n\n get inputValueRight(): string {\n return this.nativeRight ? this.nativeRight.nativeElement.value : '';\n }\n\n get computedValueLeft(): string {\n return this.computedPureValueLeft(this.value[0]);\n }\n\n get computedValueRight(): string {\n return this.computedPureValueRight(this.value[1]);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onMouseDown() {\n if (this.nativeRight && !this.isMobile) {\n setNativeFocused(this.nativeRight.nativeElement);\n }\n }\n\n onKeyDownArrowUpLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, false);\n }\n\n onKeyDownArrowDownLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, false);\n }\n\n onKeyDownArrowUpRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, true);\n }\n\n onKeyDownArrowDownRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, true);\n }\n\n onInputLeft() {\n const value = this.inputValueLeft;\n const capped = this.capInputValue(value, this.value[1]);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeLeft && this.inputValueLeft !== newValue) {\n this.nativeLeft.nativeElement.value = newValue;\n }\n\n this.updateValue([capped, this.value[1]]);\n }\n\n onInputRight() {\n const value = this.inputValueRight;\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeRight && this.inputValueRight !== newValue) {\n this.nativeRight.nativeElement.value = newValue;\n }\n\n if (capped >= this.value[0]) {\n this.updateValue([this.value[0], capped]);\n }\n }\n\n onRangeValue(value: [number, number]) {\n const guardedValue = value.map(item => this.valueGuard(item)) as [number, number];\n\n if (\n !this.nativeLeft ||\n !this.nativeRight ||\n (guardedValue[0] === this.value[0] && guardedValue[1] === this.value[1])\n ) {\n return;\n }\n\n if (!this.isMobile) {\n const element =\n guardedValue[0] !== this.value[0]\n ? this.nativeLeft.nativeElement\n : this.nativeRight.nativeElement;\n\n setNativeFocused(element);\n }\n\n this.updateValue(guardedValue);\n this.nativeLeft.nativeElement.value = this.formatNumber(guardedValue[0]);\n }\n\n onLeftFocused(focused: boolean) {\n if (focused || !this.nativeLeft) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueLeft,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.nativeLeft.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[0]) {\n this.updateValue([value, this.value[1]]);\n }\n }\n\n onRightFocused(focused: boolean) {\n if (focused || !this.nativeRight) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueRight,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n const value = isNaN(inputValue)\n ? this.value[0]\n : this.valueGuard(Math.max(inputValue, this.value[0]));\n\n this.nativeRight.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[1]) {\n this.updateValue([this.value[0], value]);\n }\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computedPureValueLeft(value: number) {\n return this.formatNumber(value);\n }\n\n @tuiPure\n private computedPureValueRight(value: number) {\n return this.formatNumber(value);\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private processStep(increment: boolean, right: boolean) {\n const start = this.valueGuard(\n increment ? this.value[0] + this.step : this.value[0] - this.step,\n );\n const end = this.valueGuard(\n increment ? this.value[1] + this.step : this.value[1] - this.step,\n );\n const value: [number, number] = [\n right ? this.value[0] : Math.min(start, this.value[1]),\n right ? Math.max(end, this.value[0]) : this.value[1],\n ];\n\n if (value[0] !== this.value[0] || value[1] !== this.value[1]) {\n this.updateValue(value);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiActiveZoneModule,\n TuiRangeModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\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
+ {"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 delete it in v3.0\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) {\n this.updateFocused(active);\n }\n\n onTextInputFocused(focused: boolean, right: boolean) {\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: KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ) {\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) {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n onInputRight(value: number | null) {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n onRangeValue([left, right]: [number, number]) {\n this.rangeRef?.nativeFocusableElement?.focus();\n this.safelyUpdateValue([left, right]);\n }\n\n focusToTextInput() {\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') {\n this.lastActiveSide = activeThumb;\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]) {\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) {\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({nativeElement}: ElementRef) {\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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"}