@taiga-ui/kit 2.39.0 → 2.41.1

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 (656) 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-calendar-range.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  33. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
  42. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  44. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +2 -2
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +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-files.umd.js +3 -3
  50. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  52. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  54. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +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 +1 -1
  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 +1 -1
  64. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
  66. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  74. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  78. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +2 -2
  80. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  82. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +2 -2
  84. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  88. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  90. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-number.umd.js +9 -6
  94. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  96. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  98. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  100. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +5 -1
  102. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
  104. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-phone.umd.js +6 -9
  106. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  108. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-input-range.umd.js +196 -164
  110. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  112. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-slider.umd.js +10 -30
  114. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  116. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-input-tag.umd.js +5 -5
  118. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  124. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  126. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  128. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  130. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +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 +1 -1
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  138. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
  142. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-progress.umd.js +2 -2
  144. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-progress.umd.min.js +1 -1
  146. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
  150. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  152. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-range.umd.js +221 -31
  154. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-range.umd.min.js +2 -2
  156. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-kit-components-rating.umd.js +1 -1
  158. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  160. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  162. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  163. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  164. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-slider.umd.js +64 -8
  166. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  168. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  170. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +2 -2
  172. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-tabs.umd.js +38 -36
  174. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  176. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-tag.umd.js +28 -8
  178. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  179. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  180. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  182. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  183. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  184. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  186. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  187. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  189. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  190. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  191. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  192. package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
  193. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  194. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  195. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  196. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  197. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  198. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  199. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  200. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  201. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  202. package/components/avatar/avatar-options.d.ts +11 -0
  203. package/components/avatar/avatar.component.d.ts +4 -2
  204. package/components/avatar/index.d.ts +1 -0
  205. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  206. package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  207. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  208. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  209. package/components/calendar-range/calendar-range.component.d.ts +2 -2
  210. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  211. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  212. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  213. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  214. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +1 -1
  215. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
  216. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  217. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  218. package/components/filter/filter.component.d.ts +1 -1
  219. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  220. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  221. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  222. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  223. package/components/input-date/input-date.component.d.ts +1 -1
  224. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  225. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  226. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  227. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  228. package/components/input-file/input-file.component.d.ts +6 -6
  229. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  230. package/components/input-files/input-files.component.d.ts +2 -2
  231. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  232. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  233. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  234. package/components/input-number/input-number.component.d.ts +2 -1
  235. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  236. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  237. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  238. package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
  239. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  240. package/components/input-range/input-range.component.d.ts +44 -31
  241. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  242. package/components/input-slider/input-slider.component.d.ts +2 -8
  243. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  244. package/components/input-tag/input-tag.component.d.ts +2 -2
  245. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  246. package/components/input-time/input-time.component.d.ts +2 -2
  247. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  248. package/components/multi-select/multi-select-options.d.ts +1 -1
  249. package/components/multi-select/multi-select.component.d.ts +3 -3
  250. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  251. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  252. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  253. package/components/progress/progress-segmented/progress-segmented.component.d.ts +1 -1
  254. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  255. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  256. package/components/radio-list/radio-list.component.d.ts +1 -1
  257. package/components/range/index.d.ts +1 -0
  258. package/components/range/range-change.directive.d.ts +20 -0
  259. package/components/range/range.component.d.ts +33 -5
  260. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  261. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  262. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  263. package/components/slider/index.d.ts +1 -0
  264. package/components/slider/slider-old.component.d.ts +3 -1
  265. package/components/slider/slider-readonly.directive.d.ts +9 -0
  266. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  267. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  268. package/components/tabs/index.d.ts +0 -1
  269. package/components/tabs/tab/tab.component.d.ts +2 -1
  270. package/components/tabs/tabs/tabs.component.d.ts +3 -4
  271. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +5 -2
  272. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  273. package/components/tag/index.d.ts +1 -0
  274. package/components/tag/tag-options.d.ts +12 -0
  275. package/components/tag/tag.component.d.ts +3 -1
  276. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  277. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  278. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  279. package/esm2015/abstract/input-slider.js +30 -37
  280. package/esm2015/abstract/slider/slider.js +13 -19
  281. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
  282. package/esm2015/components/action/action.component.js +2 -2
  283. package/esm2015/components/avatar/avatar-options.js +15 -0
  284. package/esm2015/components/avatar/avatar.component.js +14 -8
  285. package/esm2015/components/avatar/index.js +2 -1
  286. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  287. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +1 -1
  288. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  289. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  290. package/esm2015/components/carousel/carousel.component.js +2 -2
  291. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  292. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
  293. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  294. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  295. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  296. package/esm2015/components/files/file/file.component.js +2 -2
  297. package/esm2015/components/files/files.component.js +3 -3
  298. package/esm2015/components/filter/filter.component.js +2 -2
  299. package/esm2015/components/input/input.component.js +2 -2
  300. package/esm2015/components/input-copy/input-copy.component.js +2 -2
  301. package/esm2015/components/input-count/input-count.component.js +2 -2
  302. package/esm2015/components/input-date/input-date.component.js +2 -2
  303. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  304. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  305. package/esm2015/components/input-file/file/file.component.js +2 -2
  306. package/esm2015/components/input-file/input-file.component.js +1 -1
  307. package/esm2015/components/input-files/input-files.component.js +2 -2
  308. package/esm2015/components/input-month/input-month.component.js +2 -2
  309. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  310. package/esm2015/components/input-number/input-number.component.js +11 -8
  311. package/esm2015/components/input-password/input-password.component.js +2 -2
  312. package/esm2015/components/input-phone/input-phone.component.js +8 -11
  313. package/esm2015/components/input-phone-international/input-phone-international.component.js +7 -3
  314. package/esm2015/components/input-range/input-range.component.js +192 -156
  315. package/esm2015/components/input-range/input-range.module.js +13 -15
  316. package/esm2015/components/input-slider/input-slider.component.js +8 -20
  317. package/esm2015/components/input-slider/input-slider.module.js +3 -12
  318. package/esm2015/components/input-tag/input-tag.component.js +6 -6
  319. package/esm2015/components/input-time/input-time.component.js +1 -1
  320. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  321. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  322. package/esm2015/components/multi-select/multi-select-options.js +1 -1
  323. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  324. package/esm2015/components/pagination/pagination.component.js +2 -2
  325. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  326. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  327. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  328. package/esm2015/components/radio/radio.component.js +3 -3
  329. package/esm2015/components/radio-list/radio-list.component.js +1 -1
  330. package/esm2015/components/range/index.js +2 -1
  331. package/esm2015/components/range/range-change.directive.js +83 -0
  332. package/esm2015/components/range/range.component.js +118 -28
  333. package/esm2015/components/range/range.module.js +10 -7
  334. package/esm2015/components/rating/rating.component.js +2 -2
  335. package/esm2015/components/select/select.component.js +2 -2
  336. package/esm2015/components/slider/index.js +2 -1
  337. package/esm2015/components/slider/slider-key-steps.directive.js +2 -2
  338. package/esm2015/components/slider/slider-old.component.js +11 -5
  339. package/esm2015/components/slider/slider-readonly.directive.js +50 -0
  340. package/esm2015/components/slider/slider.component.js +4 -4
  341. package/esm2015/components/slider/slider.module.js +4 -1
  342. package/esm2015/components/stepper/step/step.component.js +2 -2
  343. package/esm2015/components/tabs/index.js +1 -2
  344. package/esm2015/components/tabs/tab/tab.component.js +13 -9
  345. package/esm2015/components/tabs/tabs/tabs.component.js +5 -11
  346. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +24 -16
  347. package/esm2015/components/tabs/underline/underline.component.js +2 -2
  348. package/esm2015/components/tag/index.js +2 -1
  349. package/esm2015/components/tag/tag-options.js +15 -0
  350. package/esm2015/components/tag/tag.component.js +13 -9
  351. package/esm2015/components/text-area/text-area.component.js +3 -3
  352. package/esm2015/components/toggle/toggle.component.js +1 -1
  353. package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -1
  354. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  355. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  356. package/esm2015/tokens/index.js +2 -1
  357. package/esm2015/tokens/mobile-aware.js +2 -1
  358. package/esm2015/tokens/tab-margin.js +5 -0
  359. package/esm2015/tokens/tag-status.js +2 -1
  360. package/esm2015/types/key-steps.js +1 -1
  361. package/esm2015/utils/mask/create-time-mask.js +1 -1
  362. package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +1 -1
  363. package/esm2015/utils/miscellaneous/create-time-periods.js +1 -1
  364. package/esm5/abstract/input-slider.js +30 -48
  365. package/esm5/abstract/slider/slider.js +13 -19
  366. package/esm5/components/accordion/accordion-item/accordion-item.component.js +2 -2
  367. package/esm5/components/action/action.component.js +2 -2
  368. package/esm5/components/avatar/avatar-options.js +16 -0
  369. package/esm5/components/avatar/avatar.component.js +14 -8
  370. package/esm5/components/avatar/index.js +2 -1
  371. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  372. package/esm5/components/breadcrumbs/breadcrumbs.component.js +1 -1
  373. package/esm5/components/calendar-month/calendar-month.component.js +2 -2
  374. package/esm5/components/calendar-range/calendar-range.component.js +1 -1
  375. package/esm5/components/carousel/carousel.component.js +2 -2
  376. package/esm5/components/checkbox/checkbox.component.js +1 -1
  377. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
  378. package/esm5/components/combo-box/combo-box.component.js +2 -2
  379. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  380. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  381. package/esm5/components/files/file/file.component.js +2 -2
  382. package/esm5/components/files/files.component.js +3 -3
  383. package/esm5/components/filter/filter.component.js +2 -2
  384. package/esm5/components/input/input.component.js +2 -2
  385. package/esm5/components/input-copy/input-copy.component.js +2 -2
  386. package/esm5/components/input-count/input-count.component.js +2 -2
  387. package/esm5/components/input-date/input-date.component.js +2 -2
  388. package/esm5/components/input-date-range/input-date-range.component.js +2 -2
  389. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  390. package/esm5/components/input-file/file/file.component.js +2 -2
  391. package/esm5/components/input-file/input-file.component.js +1 -1
  392. package/esm5/components/input-files/input-files.component.js +2 -2
  393. package/esm5/components/input-month/input-month.component.js +2 -2
  394. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  395. package/esm5/components/input-number/input-number.component.js +11 -8
  396. package/esm5/components/input-password/input-password.component.js +2 -2
  397. package/esm5/components/input-phone/input-phone.component.js +8 -11
  398. package/esm5/components/input-phone-international/input-phone-international.component.js +7 -3
  399. package/esm5/components/input-range/input-range.component.js +194 -157
  400. package/esm5/components/input-range/input-range.module.js +13 -15
  401. package/esm5/components/input-slider/input-slider.component.js +8 -20
  402. package/esm5/components/input-slider/input-slider.module.js +3 -12
  403. package/esm5/components/input-tag/input-tag.component.js +6 -6
  404. package/esm5/components/input-time/input-time.component.js +1 -1
  405. package/esm5/components/marker-icon/marker-icon.component.js +2 -2
  406. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  407. package/esm5/components/multi-select/multi-select-options.js +1 -1
  408. package/esm5/components/multi-select/multi-select.component.js +2 -2
  409. package/esm5/components/pagination/pagination.component.js +2 -2
  410. package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
  411. package/esm5/components/progress/progress-circle/progress-circle.component.js +2 -2
  412. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  413. package/esm5/components/radio/radio.component.js +3 -3
  414. package/esm5/components/radio-list/radio-list.component.js +1 -1
  415. package/esm5/components/range/index.js +2 -1
  416. package/esm5/components/range/range-change.directive.js +101 -0
  417. package/esm5/components/range/range.component.js +126 -29
  418. package/esm5/components/range/range.module.js +10 -7
  419. package/esm5/components/rating/rating.component.js +2 -2
  420. package/esm5/components/select/select.component.js +2 -2
  421. package/esm5/components/slider/index.js +2 -1
  422. package/esm5/components/slider/slider-key-steps.directive.js +2 -2
  423. package/esm5/components/slider/slider-old.component.js +11 -5
  424. package/esm5/components/slider/slider-readonly.directive.js +51 -0
  425. package/esm5/components/slider/slider.component.js +4 -4
  426. package/esm5/components/slider/slider.module.js +4 -1
  427. package/esm5/components/stepper/step/step.component.js +2 -2
  428. package/esm5/components/tabs/index.js +1 -2
  429. package/esm5/components/tabs/tab/tab.component.js +13 -9
  430. package/esm5/components/tabs/tabs/tabs.component.js +5 -15
  431. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +27 -16
  432. package/esm5/components/tabs/underline/underline.component.js +2 -2
  433. package/esm5/components/tag/index.js +2 -1
  434. package/esm5/components/tag/tag-options.js +16 -0
  435. package/esm5/components/tag/tag.component.js +13 -9
  436. package/esm5/components/text-area/text-area.component.js +3 -3
  437. package/esm5/components/toggle/toggle.component.js +1 -1
  438. package/esm5/pipes/field-error/field-error-content-pipe.js +1 -1
  439. package/esm5/pipes/field-error/field-error-pipe.js +1 -1
  440. package/esm5/pipes/filter-by-input/filter-by-input.base.js +1 -1
  441. package/esm5/tokens/index.js +2 -1
  442. package/esm5/tokens/mobile-aware.js +2 -1
  443. package/esm5/tokens/tab-margin.js +5 -0
  444. package/esm5/tokens/tag-status.js +2 -1
  445. package/esm5/types/key-steps.js +1 -1
  446. package/esm5/utils/mask/create-time-mask.js +1 -1
  447. package/esm5/utils/miscellaneous/create-default-day-range-periods.js +1 -1
  448. package/esm5/utils/miscellaneous/create-time-periods.js +1 -1
  449. package/fesm2015/taiga-ui-kit-abstract.js +43 -55
  450. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  451. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  452. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  453. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  454. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  455. package/fesm2015/taiga-ui-kit-components-avatar.js +27 -8
  456. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  457. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  458. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  459. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  460. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  461. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  462. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  463. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  464. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +1 -1
  465. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  466. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  467. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  468. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  469. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  470. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  471. package/fesm2015/taiga-ui-kit-components-files.js +3 -3
  472. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  473. package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
  474. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  475. package/fesm2015/taiga-ui-kit-components-input-copy.js +1 -1
  476. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  477. package/fesm2015/taiga-ui-kit-components-input-count.js +1 -1
  478. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  479. package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
  480. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  481. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  482. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  483. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  484. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  485. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  486. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  487. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  488. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  489. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  490. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  491. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  492. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  493. package/fesm2015/taiga-ui-kit-components-input-number.js +10 -7
  494. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  495. package/fesm2015/taiga-ui-kit-components-input-password.js +1 -1
  496. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  497. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +6 -2
  498. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  499. package/fesm2015/taiga-ui-kit-components-input-phone.js +7 -10
  500. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  501. package/fesm2015/taiga-ui-kit-components-input-range.js +198 -167
  502. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  503. package/fesm2015/taiga-ui-kit-components-input-slider.js +8 -29
  504. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  505. package/fesm2015/taiga-ui-kit-components-input-tag.js +5 -5
  506. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  507. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  508. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  509. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  510. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  511. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  512. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
  513. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  514. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  515. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  516. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  517. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  518. package/fesm2015/taiga-ui-kit-components-progress.js +2 -2
  519. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  520. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  521. package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
  522. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  523. package/fesm2015/taiga-ui-kit-components-range.js +199 -34
  524. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  525. package/fesm2015/taiga-ui-kit-components-rating.js +1 -1
  526. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  527. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  528. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  529. package/fesm2015/taiga-ui-kit-components-slider.js +63 -9
  530. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  531. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  532. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  533. package/fesm2015/taiga-ui-kit-components-tabs.js +39 -34
  534. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  535. package/fesm2015/taiga-ui-kit-components-tag.js +27 -10
  536. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  537. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  538. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  539. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  540. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  541. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  542. package/fesm2015/taiga-ui-kit-tokens.js +7 -1
  543. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  544. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  546. package/fesm5/taiga-ui-kit-abstract.js +43 -66
  547. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  548. package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
  549. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  550. package/fesm5/taiga-ui-kit-components-action.js +1 -1
  551. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  552. package/fesm5/taiga-ui-kit-components-avatar.js +27 -8
  553. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  554. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  555. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  556. package/fesm5/taiga-ui-kit-components-calendar-month.js +1 -1
  557. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  558. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  559. package/fesm5/taiga-ui-kit-components-carousel.js +1 -1
  560. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  561. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +1 -1
  562. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  563. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  564. package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
  565. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  566. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  567. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  568. package/fesm5/taiga-ui-kit-components-files.js +3 -3
  569. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  570. package/fesm5/taiga-ui-kit-components-filter.js +1 -1
  571. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  572. package/fesm5/taiga-ui-kit-components-input-copy.js +1 -1
  573. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  574. package/fesm5/taiga-ui-kit-components-input-count.js +1 -1
  575. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  576. package/fesm5/taiga-ui-kit-components-input-date-range.js +1 -1
  577. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  578. package/fesm5/taiga-ui-kit-components-input-date-time.js +1 -1
  579. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  580. package/fesm5/taiga-ui-kit-components-input-date.js +1 -1
  581. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  582. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  583. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  584. package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
  585. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  586. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  587. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  588. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  589. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  590. package/fesm5/taiga-ui-kit-components-input-number.js +10 -7
  591. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  592. package/fesm5/taiga-ui-kit-components-input-password.js +1 -1
  593. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  594. package/fesm5/taiga-ui-kit-components-input-phone-international.js +6 -2
  595. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  596. package/fesm5/taiga-ui-kit-components-input-phone.js +7 -10
  597. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  598. package/fesm5/taiga-ui-kit-components-input-range.js +200 -168
  599. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  600. package/fesm5/taiga-ui-kit-components-input-slider.js +8 -29
  601. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  602. package/fesm5/taiga-ui-kit-components-input-tag.js +5 -5
  603. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  604. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-input.js +1 -1
  606. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  607. package/fesm5/taiga-ui-kit-components-marker-icon.js +1 -1
  608. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  609. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -1
  610. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  611. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  612. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
  614. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-progress.js +2 -2
  616. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  617. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  618. package/fesm5/taiga-ui-kit-components-radio.js +2 -2
  619. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  620. package/fesm5/taiga-ui-kit-components-range.js +225 -35
  621. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  622. package/fesm5/taiga-ui-kit-components-rating.js +1 -1
  623. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  624. package/fesm5/taiga-ui-kit-components-select.js +1 -1
  625. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  626. package/fesm5/taiga-ui-kit-components-slider.js +64 -9
  627. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  628. package/fesm5/taiga-ui-kit-components-stepper.js +1 -1
  629. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  630. package/fesm5/taiga-ui-kit-components-tabs.js +42 -38
  631. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  632. package/fesm5/taiga-ui-kit-components-tag.js +28 -11
  633. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  634. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  635. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  636. package/fesm5/taiga-ui-kit-components-toggle.js +1 -1
  637. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  638. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  639. package/fesm5/taiga-ui-kit-tokens.js +7 -1
  640. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  641. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  643. package/package.json +4 -4
  644. package/pipes/field-error/field-error-content-pipe.d.ts +1 -1
  645. package/pipes/field-error/field-error-pipe.d.ts +1 -1
  646. package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
  647. package/tokens/index.d.ts +1 -0
  648. package/tokens/mobile-aware.d.ts +1 -0
  649. package/tokens/tab-margin.d.ts +2 -0
  650. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  651. package/types/key-steps.d.ts +1 -1
  652. package/utils/miscellaneous/create-default-day-range-periods.d.ts +1 -1
  653. package/utils/miscellaneous/create-time-periods.d.ts +1 -1
  654. package/components/tabs/tabs.const.d.ts +0 -2
  655. package/esm2015/components/tabs/tabs.const.js +0 -3
  656. package/esm5/components/tabs/tabs.const.js +0 -3
@@ -86,7 +86,7 @@ __decorate([
86
86
  TuiRatingComponent = TuiRatingComponent_1 = __decorate([
87
87
  Component({
88
88
  selector: 'tui-rating',
89
- template: "<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div class=\"t-wrapper\" [style.width.%]=\"percent\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg *tuiRepeatTimes=\"let item of max\" [src]=\"iconNormal\"></tui-svg>\n\n <input\n #focusableElement\n type=\"range\"\n step=\"1\"\n class=\"t-input\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value\"\n [tuiFocusable]=\"isFocusable\"\n (ngModelChange)=\"setRate($event)\"\n />\n </div>\n</label>\n",
89
+ template: "<label>\n <ng-content></ng-content>\n\n <div class=\"t-host\">\n <div class=\"t-interactive\">\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n (click)=\"setRateByReverseIndex(index)\"\n ></tui-svg>\n </div>\n\n <div\n class=\"t-wrapper\"\n [style.width.%]=\"percent\"\n >\n <tui-svg\n *tuiRepeatTimes=\"let index of max\"\n class=\"t-icon-filled\"\n [src]=\"iconFilled\"\n ></tui-svg>\n </div>\n\n <tui-svg\n *tuiRepeatTimes=\"let item of max\"\n [src]=\"iconNormal\"\n ></tui-svg>\n\n <input\n #focusableElement\n type=\"range\"\n step=\"1\"\n class=\"t-input\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value\"\n [tuiFocusable]=\"isFocusable\"\n (ngModelChange)=\"setRate($event)\"\n />\n </div>\n</label>\n",
90
90
  changeDetection: ChangeDetectionStrategy.OnPush,
91
91
  providers: [
92
92
  {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-rating.js","sources":["ng://@taiga-ui/kit/components/rating/rating-options.ts","ng://@taiga-ui/kit/components/rating/rating.component.ts","ng://@taiga-ui/kit/components/rating/rating.module.ts","ng://@taiga-ui/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiRatingOptions {\n readonly min: number;\n readonly max: number;\n readonly iconNormal: string;\n readonly iconFilled: string;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n min: 0,\n max: 5,\n iconNormal: 'tuiIconStarLarge',\n iconFilled: 'tuiIconStarFilledLarge',\n};\n\nexport const TUI_RATING_OPTIONS = new InjectionToken<TuiRatingOptions>(\n 'Default parameters for rating component',\n {\n factory: () => TUI_RATING_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiRatingOptionsProvider: (\n options: Partial<TuiRatingOptions>,\n) => ValueProvider = (options: Partial<TuiRatingOptions>) => ({\n provide: TUI_RATING_OPTIONS,\n useValue: {...TUI_RATING_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\n\nimport {TUI_RATING_OPTIONS, TuiRatingOptions} from './rating-options';\n\n@Component({\n selector: 'tui-rating',\n templateUrl: './rating.template.html',\n styleUrls: ['./rating.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRatingComponent),\n },\n ],\n})\nexport class TuiRatingComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n iconNormal = this.options.iconNormal;\n\n @Input()\n @tuiDefaultProp()\n iconFilled = this.options.iconFilled;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n ngControl: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_RATING_OPTIONS)\n private readonly options: TuiRatingOptions,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get isFocusable(): boolean {\n return !(this.readOnly || this.disabled);\n }\n\n get percent(): number {\n return (100 * this.value) / this.max;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n setRateByReverseIndex(index: number): void {\n this.updateValue(this.max - index);\n }\n\n setRate(value: number): void {\n this.updateValue(value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiRatingComponent} from './rating.component';\n\n@NgModule({\n imports: [\n TuiSvgModule,\n TuiFocusableModule,\n TuiRepeatTimesModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [TuiRatingComponent],\n exports: [TuiRatingComponent],\n})\nexport class TuiRatingModule {}\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-rating.js","sources":["ng://@taiga-ui/kit/components/rating/rating-options.ts","ng://@taiga-ui/kit/components/rating/rating.component.ts","ng://@taiga-ui/kit/components/rating/rating.module.ts","ng://@taiga-ui/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiRatingOptions {\n readonly min: number;\n readonly max: number;\n readonly iconNormal: string;\n readonly iconFilled: string;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n min: 0,\n max: 5,\n iconNormal: 'tuiIconStarLarge',\n iconFilled: 'tuiIconStarFilledLarge',\n};\n\nexport const TUI_RATING_OPTIONS = new InjectionToken<TuiRatingOptions>(\n 'Default parameters for rating component',\n {\n factory: () => TUI_RATING_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiRatingOptionsProvider: (\n options: Partial<TuiRatingOptions>,\n) => ValueProvider = (options: Partial<TuiRatingOptions>) => ({\n provide: TUI_RATING_OPTIONS,\n useValue: {...TUI_RATING_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\n\nimport {TUI_RATING_OPTIONS, TuiRatingOptions} from './rating-options';\n\n@Component({\n selector: 'tui-rating',\n templateUrl: './rating.template.html',\n styleUrls: ['./rating.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRatingComponent),\n },\n ],\n})\nexport class TuiRatingComponent\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n iconNormal = this.options.iconNormal;\n\n @Input()\n @tuiDefaultProp()\n iconFilled = this.options.iconFilled;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n ngControl: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_RATING_OPTIONS)\n private readonly options: TuiRatingOptions,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get isFocusable(): boolean {\n return !(this.readOnly || this.disabled);\n }\n\n get percent(): number {\n return (100 * this.value) / this.max;\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n setRateByReverseIndex(index: number): void {\n this.updateValue(this.max - index);\n }\n\n setRate(value: number): void {\n this.updateValue(value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiRatingComponent} from './rating.component';\n\n@NgModule({\n imports: [\n TuiSvgModule,\n TuiFocusableModule,\n TuiRepeatTimesModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [TuiRatingComponent],\n exports: [TuiRatingComponent],\n})\nexport class TuiRatingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -137,7 +137,7 @@ __decorate([
137
137
  TuiSelectComponent = __decorate([
138
138
  Component({
139
139
  selector: 'tui-select',
140
- template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [editable]=\"false\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"arrow\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content select=\"input\" ngProjectAs=\"input\"></ng-content>\n <div\n *ngIf=\"value !== null\"\n polymorpheus-outlet\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n [content]=\"computedContent\"\n [context]=\"computeContext(value, computedFocused)\"\n >\n <ng-template let-primitiveValue>\n <div class=\"t-primitive-value\">{{ primitiveValue }}</div>\n </ng-template>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
140
+ template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [editable]=\"false\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"arrow\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"value !== null\"\n polymorpheus-outlet\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n [content]=\"computedContent\"\n [context]=\"computeContext(value, computedFocused)\"\n >\n <ng-template let-primitiveValue>\n <div class=\"t-primitive-value\">{{ primitiveValue }}</div>\n </ng-template>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
141
141
  changeDetection: ChangeDetectionStrategy.OnPush,
142
142
  providers: TUI_SELECT_PROVIDERS,
143
143
  styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-select.js","sources":["ng://@taiga-ui/kit/components/select/select.providers.ts","ng://@taiga-ui/kit/components/select/select-options.ts","ng://@taiga-ui/kit/components/select/select.component.ts","ng://@taiga-ui/kit/components/select/select.directive.ts","ng://@taiga-ui/kit/components/select/select.module.ts","ng://@taiga-ui/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiSelectComponent} from './select.component';\n\n// TODO: remove in ivy compilation\nexport const SELECT_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_SELECT_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: SELECT_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiValueContentContext} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\nexport const TUI_SELECT_OPTIONS = new InjectionToken<TuiSelectOptions<unknown>>(\n 'Default parameters for select component',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiSelectOptionsProvider: <T>(\n options: Partial<TuiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiSelectOptions<T>>) => ({\n provide: TUI_SELECT_OPTIONS,\n useValue: {...TUI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Inject,\n Input,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldCleanerDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SELECT_PROVIDERS} from './select.providers';\nimport {TUI_SELECT_OPTIONS, TuiSelectOptions} from './select-options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SELECT_PROVIDERS,\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_SELECT_OPTIONS)\n private readonly options: TuiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {$implicit, active};\n }\n\n onValueChange(value: string) {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete() {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T) {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiSelectDirective),\n },\n ],\n})\nexport class TuiSelectDirective extends TuiAbstractTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n get readOnly(): boolean {\n return true;\n }\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiSelectComponent, TuiSelectDirective],\n exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],\n})\nexport class TuiSelectModule {}\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-select.js","sources":["ng://@taiga-ui/kit/components/select/select.providers.ts","ng://@taiga-ui/kit/components/select/select-options.ts","ng://@taiga-ui/kit/components/select/select.component.ts","ng://@taiga-ui/kit/components/select/select.directive.ts","ng://@taiga-ui/kit/components/select/select.module.ts","ng://@taiga-ui/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiSelectComponent} from './select.component';\n\n// TODO: remove in ivy compilation\nexport const SELECT_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_SELECT_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: SELECT_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiValueContentContext} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\nexport const TUI_SELECT_OPTIONS = new InjectionToken<TuiSelectOptions<unknown>>(\n 'Default parameters for select component',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiSelectOptionsProvider: <T>(\n options: Partial<TuiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiSelectOptions<T>>) => ({\n provide: TUI_SELECT_OPTIONS,\n useValue: {...TUI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Inject,\n Input,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldCleanerDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SELECT_PROVIDERS} from './select.providers';\nimport {TUI_SELECT_OPTIONS, TuiSelectOptions} from './select-options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SELECT_PROVIDERS,\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_SELECT_OPTIONS)\n private readonly options: TuiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {$implicit, active};\n }\n\n onValueChange(value: string) {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete() {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T) {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiSelectDirective),\n },\n ],\n})\nexport class TuiSelectDirective extends TuiAbstractTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n get readOnly(): boolean {\n return true;\n }\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiSelectComponent, TuiSelectDirective],\n exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ let TuiSliderComponent = class TuiSliderComponent {
46
46
  return Number(this.elementRef.nativeElement.min);
47
47
  }
48
48
  get max() {
49
- return Number(this.elementRef.nativeElement.max) || 100;
49
+ return Number(this.elementRef.nativeElement.max || 100);
50
50
  }
51
51
  get step() {
52
52
  return Number(this.elementRef.nativeElement.step) || 1;
@@ -58,7 +58,7 @@ let TuiSliderComponent = class TuiSliderComponent {
58
58
  this.elementRef.nativeElement.value = `${newValue}`;
59
59
  }
60
60
  get valuePercentage() {
61
- return (100 * this.value) / (this.max - this.min);
61
+ return (100 * (this.value - this.min)) / (this.max - this.min);
62
62
  }
63
63
  get segmentWidth() {
64
64
  return 100 / Math.max(1, this.segments);
@@ -113,7 +113,7 @@ TuiSliderComponent = __decorate([
113
113
  '[style.--tui-slider-track-color]': 'options.trackColor',
114
114
  },
115
115
  changeDetection: ChangeDetectionStrategy.OnPush,
116
- styles: [":host{display:block;width:100%;color:var(--tui-primary);cursor:pointer}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host:not(._old-edge){-webkit-appearance:none;-moz-appearance:none;appearance:none;height:.125rem;padding:.4375rem 0;background-color:transparent;background-clip:content-box;outline:0;border-radius:var(--tui-radius-m)}:host:not(._old-edge)::-webkit-slider-container{border-radius:inherit}:host:not(._old-edge)[data-size='m']::-webkit-slider-runnable-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .625rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor var(--tui-slider-fill-percentage),transparent var(--tui-slider-fill-percentage));background-position-x:0,.375rem,0;background-size:calc(100% - 1rem),calc(100% - 1rem),auto}:host:not(._old-edge)[data-size='s']::-webkit-slider-runnable-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor var(--tui-slider-fill-percentage),transparent var(--tui-slider-fill-percentage));background-position-x:0,.125rem,0;background-size:calc(100% - .5rem),calc(100% - .5rem),auto}:host:not(._old-edge)[data-size='m']::-moz-range-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .625rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.375rem;background-size:calc(100% - 1rem)}:host:not(._old-edge)[data-size='s']::-moz-range-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.125rem;background-size:calc(100% - .5rem)}:host:not(._old-edge)[data-size='m']::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:1rem;width:1rem;margin-top:-.4375rem}:not(:disabled):host:not(._old-edge)[data-size='m']::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='m']::-webkit-slider-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='m']::-webkit-slider-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='m']::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)[data-size='s']::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:.5rem;width:.5rem;margin-top:-.1875rem}:not(:disabled):host:not(._old-edge)[data-size='s']::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='s']::-webkit-slider-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='s']::-webkit-slider-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='s']::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)[data-size='m']::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:1rem;width:1rem}:not(:disabled):host:not(._old-edge)[data-size='m']::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='m']::-moz-range-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='m']::-moz-range-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='m']::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)[data-size='s']::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:.5rem;width:.5rem}:not(:disabled):host:not(._old-edge)[data-size='s']::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='s']::-moz-range-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='s']::-moz-range-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='s']::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)::-moz-range-progress{background:currentColor;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}:host._old-edge::-ms-thumb{background:currentColor}:host._old-edge::-ms-fill-lower{background:currentColor}:host._old-edge::-ms-track{background:var(--tui-slider-track-color)}"]
116
+ styles: [":host{display:block;width:100%;color:var(--tui-primary);cursor:pointer}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host:not(._old-edge){-webkit-appearance:none;-moz-appearance:none;appearance:none;height:.125rem;padding:.4375rem 0;background-color:transparent;background-clip:content-box;outline:0;border-radius:var(--tui-radius-m)}:host:not(._old-edge)::-webkit-slider-container{border-radius:inherit}:host:not(._old-edge)[data-size='m']::-webkit-slider-runnable-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .625rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor var(--tui-slider-fill-percentage),transparent var(--tui-slider-fill-percentage));background-position-x:0,.375rem,0;background-size:calc(100% - 1rem),calc(100% - 1rem),auto}:host:not(._old-edge)[data-size='s']::-webkit-slider-runnable-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor var(--tui-slider-fill-percentage),transparent var(--tui-slider-fill-percentage));background-position-x:0,.125rem,0;background-size:calc(100% - .5rem),calc(100% - .5rem),auto}:host:not(._old-edge)[data-size='m']::-moz-range-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .625rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.375rem;background-size:calc(100% - 1rem)}:host:not(._old-edge)[data-size='s']::-moz-range-track{height:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0 .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-base-07) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.125rem;background-size:calc(100% - .5rem)}:host:not(._old-edge)[data-size='m']::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:1rem;width:1rem;margin-top:-.4375rem}:not(:disabled):host:not(._old-edge)[data-size='m']::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='m']::-webkit-slider-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='m']::-webkit-slider-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='m']::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)[data-size='s']::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:.5rem;width:.5rem;margin-top:-.1875rem}:not(:disabled):host:not(._old-edge)[data-size='s']::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='s']::-webkit-slider-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='s']::-webkit-slider-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='s']::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)[data-size='m']::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:1rem;width:1rem}:not(:disabled):host:not(._old-edge)[data-size='m']::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='m']::-moz-range-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='m']::-moz-range-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='m']::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)[data-size='s']::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:currentColor;border:none;border-radius:50%;height:.5rem;width:.5rem}:not(:disabled):host:not(._old-edge)[data-size='s']::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host:not(._old-edge)[data-size='s']::-moz-range-thumb:hover{background:var(--tui-primary-hover)}:not(:disabled):host:not(._old-edge)[data-size='s']::-moz-range-thumb:active{background:var(--tui-primary-active)}:focus-visible:host:not(._old-edge)[data-size='s']::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-focus)}:host:not(._old-edge)::-moz-range-progress{background:currentColor;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}:host._old-edge::-ms-thumb{background:currentColor;border-radius:50%}:host._old-edge::-ms-fill-lower{background:currentColor}:host._old-edge::-ms-track{background:var(--tui-slider-track-color);border:none}"]
117
117
  }),
118
118
  __param(0, Optional()),
119
119
  __param(0, Self()),
@@ -169,7 +169,7 @@ let TuiSliderKeyStepsDirective = class TuiSliderKeyStepsDirective extends Abstra
169
169
  const { min, max } = this.slider;
170
170
  const ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);
171
171
  const newValuePercentage = (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;
172
- return (newValuePercentage * (max - min)) / 100;
172
+ return (newValuePercentage * (max - min)) / 100 + min;
173
173
  }
174
174
  };
175
175
  TuiSliderKeyStepsDirective.ctorParameters = () => [
@@ -256,6 +256,15 @@ let TuiSliderOldComponent = TuiSliderOldComponent_1 = class TuiSliderOldComponen
256
256
  get right() {
257
257
  return 100 - 100 * this.getFractionFromValue(this.value);
258
258
  }
259
+ processValue(value) {
260
+ this.updateValue(this.valueGuard(value));
261
+ }
262
+ decrement() {
263
+ this.processStep(false);
264
+ }
265
+ increment() {
266
+ this.processStep(true);
267
+ }
259
268
  getFallbackValue() {
260
269
  return 0;
261
270
  }
@@ -265,9 +274,6 @@ let TuiSliderOldComponent = TuiSliderOldComponent_1 = class TuiSliderOldComponen
265
274
  const value = this.getValueFromFraction(increment ? fraction + step : fraction - step);
266
275
  this.processValue(value);
267
276
  }
268
- processValue(value) {
269
- this.updateValue(this.valueGuard(value));
270
- }
271
277
  };
272
278
  TuiSliderOldComponent.ctorParameters = () => [
273
279
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
@@ -278,7 +284,7 @@ TuiSliderOldComponent.ctorParameters = () => [
278
284
  TuiSliderOldComponent = TuiSliderOldComponent_1 = __decorate([
279
285
  Component({
280
286
  selector: 'tui-slider',
281
- template: "<div\n class=\"event-catcher\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (touchstart)=\"onTouchStart($event)\"\n>\n <div class=\"wrapper\">\n <div *ngIf=\"segmented\" class=\"segments\">\n <span\n *tuiRepeatTimes=\"let segmentIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\" class=\"number\">\n {{ getSegmentPrefix(segmentIndex, fromToText) }} {{\n getSegmentLabel(segmentIndex) | tuiFormatNumber }}\n <span *ngIf=\"pluralizeMap\">\n {{ getSegmentLabel(segmentIndex) | i18nPlural:\n pluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n <div\n automation-id=\"tui-slider__bar\"\n class=\"bar\"\n [style.left.%]=\"left\"\n [style.right.%]=\"right\"\n >\n <div\n #dotLeft\n automation-id=\"tui-slider__left\"\n class=\"dot\"\n [class.dot_focus-visible]=\"focusVisibleLeft && computedFocused\"\n [tuiFocusable]=\"isLeftFocusable\"\n (tuiFocusVisibleChange)=\"onLeftFocusVisible($event)\"\n (keydown.arrowLeft.prevent)=\"decrement(false)\"\n (keydown.arrowDown.prevent)=\"decrement(false)\"\n (keydown.arrowRight.prevent)=\"increment(false)\"\n (keydown.arrowUp.prevent)=\"increment(false)\"\n ></div>\n <div\n #dotRight\n automation-id=\"tui-slider__right\"\n class=\"dot\"\n [class.dot_focus-visible]=\"focusVisibleRight && computedFocused\"\n [tuiFocusable]=\"isRightFocusable\"\n (tuiFocusVisibleChange)=\"onRightFocusVisible($event)\"\n (keydown.arrowLeft.prevent)=\"decrement(true)\"\n (keydown.arrowDown.prevent)=\"decrement(true)\"\n (keydown.arrowRight.prevent)=\"increment(true)\"\n (keydown.arrowUp.prevent)=\"increment(true)\"\n ></div>\n </div>\n </div>\n</div>\n",
287
+ template: "<div\n class=\"event-catcher\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (touchstart)=\"onTouchStart($event)\"\n>\n <div class=\"wrapper\">\n <div\n *ngIf=\"segmented\"\n class=\"segments\"\n >\n <span\n *tuiRepeatTimes=\"let segmentIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"segment\"\n >\n <span\n *ngIf=\"fromToTexts$ | async as fromToText\"\n class=\"number\"\n >\n {{ getSegmentPrefix(segmentIndex, fromToText) }} {{\n getSegmentLabel(segmentIndex) | tuiFormatNumber }}\n <span *ngIf=\"pluralizeMap\">\n {{ getSegmentLabel(segmentIndex) | i18nPlural:\n pluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n <div\n automation-id=\"tui-slider__bar\"\n class=\"bar\"\n [style.left.%]=\"left\"\n [style.right.%]=\"right\"\n >\n <div\n #dotLeft\n automation-id=\"tui-slider__left\"\n class=\"dot\"\n [class.dot_focus-visible]=\"focusVisibleLeft && computedFocused\"\n [tuiFocusable]=\"isLeftFocusable\"\n (tuiFocusVisibleChange)=\"onLeftFocusVisible($event)\"\n (keydown.arrowLeft.prevent)=\"decrement()\"\n (keydown.arrowDown.prevent)=\"decrement()\"\n (keydown.arrowRight.prevent)=\"increment()\"\n (keydown.arrowUp.prevent)=\"increment()\"\n ></div>\n <div\n #dotRight\n automation-id=\"tui-slider__right\"\n class=\"dot\"\n [class.dot_focus-visible]=\"focusVisibleRight && computedFocused\"\n [tuiFocusable]=\"isRightFocusable\"\n (tuiFocusVisibleChange)=\"onRightFocusVisible($event)\"\n (keydown.arrowLeft.prevent)=\"decrement()\"\n (keydown.arrowDown.prevent)=\"decrement()\"\n (keydown.arrowRight.prevent)=\"increment()\"\n (keydown.arrowUp.prevent)=\"increment()\"\n ></div>\n </div>\n </div>\n</div>\n",
282
288
  changeDetection: ChangeDetectionStrategy.OnPush,
283
289
  providers: [
284
290
  {
@@ -296,6 +302,52 @@ TuiSliderOldComponent = TuiSliderOldComponent_1 = __decorate([
296
302
  __param(3, Inject(TUI_FROM_TO_TEXTS))
297
303
  ], TuiSliderOldComponent);
298
304
 
305
+ const SLIDER_INTERACTION_KEYS = new Set([
306
+ 'ArrowLeft',
307
+ 'ArrowRight',
308
+ 'ArrowUp',
309
+ 'ArrowDown',
310
+ 'Home',
311
+ 'End',
312
+ 'PageUp',
313
+ 'PageDown',
314
+ ]);
315
+ /**
316
+ * Native <input type='range' readonly> doesn't work.
317
+ * This directive imitates this native behaviour.
318
+ */
319
+ let TuiSliderReadonlyDirective = class TuiSliderReadonlyDirective {
320
+ constructor() {
321
+ this.readonly = true;
322
+ }
323
+ preventEvent(event) {
324
+ if (this.readonly === '' || this.readonly) {
325
+ event.preventDefault();
326
+ }
327
+ }
328
+ preventKeyboardInteraction(event) {
329
+ if (SLIDER_INTERACTION_KEYS.has(event.key)) {
330
+ this.preventEvent(event);
331
+ }
332
+ }
333
+ };
334
+ __decorate([
335
+ Input(),
336
+ tuiDefaultProp()
337
+ ], TuiSliderReadonlyDirective.prototype, "readonly", void 0);
338
+ __decorate([
339
+ HostListener('mousedown', ['$event']),
340
+ HostListener('touchstart', ['$event'])
341
+ ], TuiSliderReadonlyDirective.prototype, "preventEvent", null);
342
+ __decorate([
343
+ HostListener('keydown', ['$event'])
344
+ ], TuiSliderReadonlyDirective.prototype, "preventKeyboardInteraction", null);
345
+ TuiSliderReadonlyDirective = __decorate([
346
+ Directive({
347
+ selector: 'input[tuiSlider][readonly]',
348
+ })
349
+ ], TuiSliderReadonlyDirective);
350
+
299
351
  let TuiSliderModule = class TuiSliderModule {
300
352
  };
301
353
  TuiSliderModule = __decorate([
@@ -311,12 +363,14 @@ TuiSliderModule = __decorate([
311
363
  declarations: [
312
364
  TuiSliderComponent,
313
365
  TuiSliderKeyStepsDirective,
366
+ TuiSliderReadonlyDirective,
314
367
  TuiSliderTickLabelPipe,
315
368
  TuiSliderOldComponent,
316
369
  ],
317
370
  exports: [
318
371
  TuiSliderComponent,
319
372
  TuiSliderKeyStepsDirective,
373
+ TuiSliderReadonlyDirective,
320
374
  TuiSliderTickLabelPipe,
321
375
  TuiSliderOldComponent,
322
376
  ],
@@ -327,5 +381,5 @@ TuiSliderModule = __decorate([
327
381
  * Generated bundle index. Do not edit.
328
382
  */
329
383
 
330
- export { TUI_SLIDER_DEFAULT_OPTIONS, TUI_SLIDER_OPTIONS, TuiSliderComponent, TuiSliderKeyStepsDirective, TuiSliderModule, TuiSliderOldComponent, TuiSliderTickLabelPipe, tuiSliderOptionsProvider };
384
+ export { TUI_SLIDER_DEFAULT_OPTIONS, TUI_SLIDER_OPTIONS, TuiSliderComponent, TuiSliderKeyStepsDirective, TuiSliderModule, TuiSliderOldComponent, TuiSliderReadonlyDirective, TuiSliderTickLabelPipe, tuiSliderOptionsProvider };
331
385
  //# sourceMappingURL=taiga-ui-kit-components-slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-slider.js","sources":["ng://@taiga-ui/kit/components/slider/slider-options.ts","ng://@taiga-ui/kit/components/slider/slider.component.ts","ng://@taiga-ui/kit/components/slider/slider-key-steps.directive.ts","ng://@taiga-ui/kit/components/slider/slider-old.component.ts","ng://@taiga-ui/kit/components/slider/slider.module.ts","ng://@taiga-ui/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: 'm',\n trackColor: 'var(--tui-base-03)',\n};\n\nexport const TUI_SLIDER_OPTIONS = new InjectionToken<TuiSliderOptions>(\n 'Default parameters for Slider component',\n {factory: () => TUI_SLIDER_DEFAULT_OPTIONS},\n);\n\nexport function tuiSliderOptionsProvider(\n options: Partial<TuiSliderOptions>,\n): ValueProvider {\n return {\n provide: TUI_SLIDER_OPTIONS,\n useValue: {...TUI_SLIDER_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n isEdgeOlderThan,\n tuiDefaultProp,\n watch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TUI_SLIDER_OPTIONS, TuiSliderOptions} from './slider-options';\n\n@Component({\n /**\n * We have to call our component as `<input tuiSlider type=\"range\" ... />`\n * because otherwise built-in angular\n * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}\n * cannot be matched by its CSS selector.\n */\n selector: 'input[type=range][tuiSlider]',\n template: ``,\n styleUrls: ['./slider.style.less'],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valuePercentage} function) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderComponent {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n segments = 1;\n\n get min(): number {\n return Number(this.elementRef.nativeElement.min);\n }\n\n get max(): number {\n return Number(this.elementRef.nativeElement.max) || 100;\n }\n\n get step(): number {\n return Number(this.elementRef.nativeElement.step) || 1;\n }\n\n get value(): number {\n return Number(this.elementRef.nativeElement.value) || 0;\n }\n\n set value(newValue: number) {\n this.elementRef.nativeElement.value = `${newValue}`;\n }\n\n @HostBinding('style.--tui-slider-fill-percentage.%')\n get valuePercentage(): number {\n return (100 * this.value) / (this.max - this.min);\n }\n\n @HostBinding('style.--tui-slider-segment-width.%')\n get segmentWidth(): number {\n return 100 / Math.max(1, this.segments);\n }\n\n @HostBinding('class._old-edge')\n get isOldEdge(): boolean {\n return isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {\n if (control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n control.valueChanges?.pipe(watch(changeDetectorRef), take(1)).subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Pipe,\n PipeTransform,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n round,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSliderComponent} from './slider.component';\n\n// @dynamic\n@Directive({\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.aria-valuenow]': 'controlValue',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuemax]': 'max',\n },\n})\nexport class TuiSliderKeyStepsDirective\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp(checkHasMinMaxPercents, 'Should contain min and max values')\n keySteps: TuiKeySteps = [];\n\n @Output()\n keyStepsInput = typedFromEvent(this.elementRef.nativeElement, 'input').pipe(\n map(() => this.controlValue),\n );\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled ? null : this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get min(): number {\n return this.keySteps[0]?.[1] || 0;\n }\n\n get max(): number {\n return this.keySteps[this.keySteps.length - 1]?.[1] || 100;\n }\n\n get controlValue(): number {\n const {valuePercentage} = this.slider;\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n this.keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n\n return transformToControlValue(valuePercentage, lowerStep, upperStep);\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiSliderComponent) private readonly slider: TuiSliderComponent,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostListener('change')\n updateControlValue() {\n this.updateValue(this.controlValue);\n }\n\n writeValue(controlValue: number | null) {\n if (controlValue === null) {\n return;\n }\n\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n this.keySteps,\n ([_, keyStepValue]) => controlValue <= keyStepValue,\n );\n\n this.slider.value = this.transformToNativeValue(\n controlValue,\n lowerStep,\n upperStep,\n );\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(\n controlValue: number,\n [upperStepPercent, upperStepValue]: [number, number],\n [lowerStepPercent, lowerStepValue]: [number, number],\n ): number {\n const {min, max} = this.slider;\n const ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);\n const newValuePercentage =\n (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n\n return (newValuePercentage * (max - min)) / 100;\n }\n}\n\n/**\n * @deprecated DONT USE IT! It is just temporary solution for internal purposes only. We will delete it in next major release.\n * TODO delete it in v3.0\n *\n */\n@Pipe({name: 'tuiSliderTickLabel'})\nexport class TuiSliderTickLabelPipe implements PipeTransform {\n transform(tickIndex: number, totalSegments: number, keySteps: TuiKeySteps): number {\n const percentage = (100 / totalSegments) * tickIndex;\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => percentage <= keyStepPercentage,\n );\n\n return transformToControlValue(percentage, upperStep, lowerStep);\n }\n}\n\nfunction checkHasMinMaxPercents(steps: TuiKeySteps): boolean {\n return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);\n}\n\nfunction findKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((ketStep, i) => i && fn(ketStep));\n const lowerStep = keySteps[keyStepUpperIndex - 1];\n const upperStep = keySteps[keyStepUpperIndex];\n\n return [lowerStep, upperStep];\n}\n\nfunction transformToControlValue(\n valuePercentage: number,\n [upperStepPercent, upperStepValue]: [number, number],\n [lowerStepPercent, lowerStepValue]: [number, number],\n): number {\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return round(controlValue, TUI_FLOATING_PRECISION);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiSlider} from '@taiga-ui/kit/abstract';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n/**\n * @deprecated use {@link TuiSliderComponent} instead\n * TODO remove in 3.0\n */\n// @dynamic\n@Component({\n selector: 'tui-slider',\n templateUrl: '../../abstract/slider/slider.common.template.html',\n styleUrls: [\n '../../abstract/slider/slider.common.style.less',\n './slider-old.style.less',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSliderOldComponent),\n },\n ],\n})\nexport class TuiSliderOldComponent\n extends AbstractTuiSlider<number>\n implements TuiFocusableElementAccessor\n{\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.dotRight ? this.dotRight.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get left(): number {\n return 0;\n }\n\n get right(): number {\n return 100 - 100 * this.getFractionFromValue(this.value);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected processStep(increment: boolean) {\n const fraction = this.getFractionFromValue(this.value);\n const step = this.computedStep;\n const value = this.getValueFromFraction(\n increment ? fraction + step : fraction - step,\n );\n\n this.processValue(value);\n }\n\n protected processValue(value: number) {\n this.updateValue(this.valueGuard(value));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from './slider.component';\nimport {\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n} from './slider-key-steps.directive';\nimport {TuiSliderOldComponent} from './slider-old.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiActiveZoneModule,\n TuiFormatNumberPipeModule,\n ],\n declarations: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n})\nexport class TuiSliderModule {}\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-slider.js","sources":["ng://@taiga-ui/kit/components/slider/slider-options.ts","ng://@taiga-ui/kit/components/slider/slider.component.ts","ng://@taiga-ui/kit/components/slider/slider-key-steps.directive.ts","ng://@taiga-ui/kit/components/slider/slider-old.component.ts","ng://@taiga-ui/kit/components/slider/slider-readonly.directive.ts","ng://@taiga-ui/kit/components/slider/slider.module.ts","ng://@taiga-ui/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: 'm',\n trackColor: 'var(--tui-base-03)',\n};\n\nexport const TUI_SLIDER_OPTIONS = new InjectionToken<TuiSliderOptions>(\n 'Default parameters for Slider component',\n {factory: () => TUI_SLIDER_DEFAULT_OPTIONS},\n);\n\nexport function tuiSliderOptionsProvider(\n options: Partial<TuiSliderOptions>,\n): ValueProvider {\n return {\n provide: TUI_SLIDER_OPTIONS,\n useValue: {...TUI_SLIDER_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n isEdgeOlderThan,\n tuiDefaultProp,\n watch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TUI_SLIDER_OPTIONS, TuiSliderOptions} from './slider-options';\n\n@Component({\n /**\n * We have to call our component as `<input tuiSlider type=\"range\" ... />`\n * because otherwise built-in angular\n * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}\n * cannot be matched by its CSS selector.\n */\n selector: 'input[type=range][tuiSlider]',\n template: ``,\n styleUrls: ['./slider.style.less'],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valuePercentage} function) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderComponent {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n segments = 1;\n\n get min(): number {\n return Number(this.elementRef.nativeElement.min);\n }\n\n get max(): number {\n return Number(this.elementRef.nativeElement.max || 100);\n }\n\n get step(): number {\n return Number(this.elementRef.nativeElement.step) || 1;\n }\n\n get value(): number {\n return Number(this.elementRef.nativeElement.value) || 0;\n }\n\n set value(newValue: number) {\n this.elementRef.nativeElement.value = `${newValue}`;\n }\n\n @HostBinding('style.--tui-slider-fill-percentage.%')\n get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min);\n }\n\n @HostBinding('style.--tui-slider-segment-width.%')\n get segmentWidth(): number {\n return 100 / Math.max(1, this.segments);\n }\n\n @HostBinding('class._old-edge')\n get isOldEdge(): boolean {\n return isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {\n if (control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n control.valueChanges?.pipe(watch(changeDetectorRef), take(1)).subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Pipe,\n PipeTransform,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n round,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSliderComponent} from './slider.component';\n\n// @dynamic\n@Directive({\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.aria-valuenow]': 'controlValue',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuemax]': 'max',\n },\n})\nexport class TuiSliderKeyStepsDirective\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp(checkHasMinMaxPercents, 'Should contain min and max values')\n keySteps: TuiKeySteps = [];\n\n @Output()\n keyStepsInput = typedFromEvent(this.elementRef.nativeElement, 'input').pipe(\n map(() => this.controlValue),\n );\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled ? null : this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get min(): number {\n return this.keySteps[0]?.[1] || 0;\n }\n\n get max(): number {\n return this.keySteps[this.keySteps.length - 1]?.[1] || 100;\n }\n\n get controlValue(): number {\n const {valuePercentage} = this.slider;\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n this.keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n\n return transformToControlValue(valuePercentage, lowerStep, upperStep);\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiSliderComponent) private readonly slider: TuiSliderComponent,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostListener('change')\n updateControlValue() {\n this.updateValue(this.controlValue);\n }\n\n writeValue(controlValue: number | null) {\n if (controlValue === null) {\n return;\n }\n\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n this.keySteps,\n ([_, keyStepValue]) => controlValue <= keyStepValue,\n );\n\n this.slider.value = this.transformToNativeValue(\n controlValue,\n lowerStep,\n upperStep,\n );\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(\n controlValue: number,\n [upperStepPercent, upperStepValue]: [number, number],\n [lowerStepPercent, lowerStepValue]: [number, number],\n ): number {\n const {min, max} = this.slider;\n const ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);\n const newValuePercentage =\n (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n\n return (newValuePercentage * (max - min)) / 100 + min;\n }\n}\n\n/**\n * @deprecated DONT USE IT! It is just temporary solution for internal purposes only. We will delete it in next major release.\n * TODO delete it in v3.0\n *\n */\n@Pipe({name: 'tuiSliderTickLabel'})\nexport class TuiSliderTickLabelPipe implements PipeTransform {\n transform(tickIndex: number, totalSegments: number, keySteps: TuiKeySteps): number {\n const percentage = (100 / totalSegments) * tickIndex;\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => percentage <= keyStepPercentage,\n );\n\n return transformToControlValue(percentage, upperStep, lowerStep);\n }\n}\n\nfunction checkHasMinMaxPercents(steps: TuiKeySteps): boolean {\n return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);\n}\n\nfunction findKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((ketStep, i) => i && fn(ketStep));\n const lowerStep = keySteps[keyStepUpperIndex - 1];\n const upperStep = keySteps[keyStepUpperIndex];\n\n return [lowerStep, upperStep];\n}\n\nfunction transformToControlValue(\n valuePercentage: number,\n [upperStepPercent, upperStepValue]: [number, number],\n [lowerStepPercent, lowerStepValue]: [number, number],\n): number {\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return round(controlValue, TUI_FLOATING_PRECISION);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiSlider} from '@taiga-ui/kit/abstract';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n/**\n * @deprecated use {@link TuiSliderComponent} instead\n * TODO remove in 3.0\n */\n// @dynamic\n@Component({\n selector: 'tui-slider',\n templateUrl: '../../abstract/slider/slider.common.template.html',\n styleUrls: [\n '../../abstract/slider/slider.common.style.less',\n './slider-old.style.less',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSliderOldComponent),\n },\n ],\n})\nexport class TuiSliderOldComponent\n extends AbstractTuiSlider<number>\n implements TuiFocusableElementAccessor\n{\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.dotRight ? this.dotRight.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get left(): number {\n return 0;\n }\n\n get right(): number {\n return 100 - 100 * this.getFractionFromValue(this.value);\n }\n\n processValue(value: number) {\n this.updateValue(this.valueGuard(value));\n }\n\n decrement() {\n this.processStep(false);\n }\n\n increment() {\n this.processStep(true);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected processStep(increment: boolean) {\n const fraction = this.getFractionFromValue(this.value);\n const step = this.computedStep;\n const value = this.getValueFromFraction(\n increment ? fraction + step : fraction - step,\n );\n\n this.processValue(value);\n }\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nconst SLIDER_INTERACTION_KEYS = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n]);\n\n/**\n * Native <input type='range' readonly> doesn't work.\n * This directive imitates this native behaviour.\n */\n@Directive({\n selector: 'input[tuiSlider][readonly]',\n})\nexport class TuiSliderReadonlyDirective {\n @Input()\n @tuiDefaultProp()\n readonly: '' | boolean = true;\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n preventEvent(event: Event) {\n if (this.readonly === '' || this.readonly) {\n event.preventDefault();\n }\n }\n\n @HostListener('keydown', ['$event'])\n preventKeyboardInteraction(event: KeyboardEvent) {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from './slider.component';\nimport {\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n} from './slider-key-steps.directive';\nimport {TuiSliderOldComponent} from './slider-old.component';\nimport {TuiSliderReadonlyDirective} from './slider-readonly.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiActiveZoneModule,\n TuiFormatNumberPipeModule,\n ],\n declarations: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n})\nexport class TuiSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -148,7 +148,7 @@ __decorate([
148
148
  TuiStepComponent = __decorate([
149
149
  Component({
150
150
  selector: 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',
151
- template: "<tui-svg *ngIf=\"icon\" class=\"marker marker_custom\" [src]=\"icon\"></tui-svg>\n<tui-svg src=\"tuiIconWarningLarge\" class=\"marker marker_error\"></tui-svg>\n<tui-svg src=\"tuiIconCheckLarge\" class=\"marker marker_pass\"></tui-svg>\n<div class=\"marker marker_index\"></div>\n<ng-content></ng-content>\n",
151
+ template: "<tui-svg\n *ngIf=\"icon\"\n class=\"marker marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconWarningLarge\"\n class=\"marker marker_error\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconCheckLarge\"\n class=\"marker marker_pass\"\n></tui-svg>\n<div class=\"marker marker_index\"></div>\n<ng-content></ng-content>\n",
152
152
  changeDetection: ChangeDetectionStrategy.OnPush,
153
153
  providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],
154
154
  host: {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nimport {TuiStepComponent} from './step/step.component';\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiStepperComponent {\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number) {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number) {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number) {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n\n private moveFocus(current: EventTarget, step: number) {\n const steps = getOriginalArrayFromQueryList(this.steps).map(\n ({nativeElement}) => nativeElement,\n );\n\n moveFocus(steps.indexOf(current as HTMLElement), steps, step);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {identity, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate() {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\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-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nimport {TuiStepComponent} from './step/step.component';\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiStepperComponent {\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number) {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number) {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number) {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n\n private moveFocus(current: EventTarget, step: number) {\n const steps = getOriginalArrayFromQueryList(this.steps).map(\n ({nativeElement}) => nativeElement,\n );\n\n moveFocus(steps.indexOf(current as HTMLElement), steps, step);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {identity, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate() {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}