@taiga-ui/kit 2.56.0 → 2.58.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 (486) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-action.umd.js +2 -2
  6. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  10. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-badged-content.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +4 -4
  18. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -2
  22. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
  30. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  34. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -2
  38. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
  42. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  44. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -2
  46. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  48. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -2
  50. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  52. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +2 -2
  54. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  58. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-date.umd.js +2 -2
  62. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-file.umd.js +4 -4
  66. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -2
  70. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -2
  74. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-number.umd.js +2 -2
  78. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -3
  82. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  84. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
  86. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  88. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-phone.umd.js +2 -2
  90. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  94. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  95. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
  97. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
  101. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  103. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +9 -3
  105. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  109. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  111. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
  113. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  115. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-pagination.umd.js +2 -2
  117. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  119. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
  121. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  123. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
  125. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  127. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-radio-list.umd.js +2 -2
  129. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  131. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
  133. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  135. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-range.umd.js +2 -2
  137. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  139. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-select-option.umd.js +2 -2
  141. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
  143. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-slider.umd.js +29 -10
  145. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  147. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-stepper.umd.js +2 -2
  149. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  151. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  153. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  154. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  156. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  157. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
  159. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  161. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +6 -2
  163. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  165. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  167. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +2 -2
  171. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  172. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +1 -1
  173. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  174. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  175. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  176. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  177. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  178. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  179. package/components/calendar-range/taiga-ui-kit-components-calendar-range.metadata.json +1 -1
  180. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  181. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  182. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  183. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  184. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  185. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  186. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  187. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  188. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  189. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  190. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  191. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  192. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  193. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  194. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  195. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  196. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  197. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  198. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  199. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  200. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  201. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  202. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  203. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  204. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  205. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  206. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  207. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  208. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  209. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  210. package/components/slider/helpers/slider-key-steps.directive.d.ts +8 -0
  211. package/components/slider/slider.component.d.ts +4 -2
  212. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  213. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  214. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  215. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  216. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  217. package/esm2015/components/accordion/accordion.component.js +3 -3
  218. package/esm2015/components/action/action.component.js +3 -3
  219. package/esm2015/components/avatar/avatar.component.js +3 -3
  220. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  221. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +3 -3
  222. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  223. package/esm2015/components/calendar-range/calendar-range.component.js +3 -3
  224. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  225. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  226. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  227. package/esm2015/components/combo-box/combo-box.component.js +3 -3
  228. package/esm2015/components/filter/filter.component.js +3 -3
  229. package/esm2015/components/input/input.component.js +3 -3
  230. package/esm2015/components/input-copy/input-copy.component.js +3 -3
  231. package/esm2015/components/input-count/input-count.component.js +3 -3
  232. package/esm2015/components/input-date/input-date.component.js +3 -3
  233. package/esm2015/components/input-date-range/input-date-range.component.js +3 -3
  234. package/esm2015/components/input-date-time/input-date-time.component.js +3 -3
  235. package/esm2015/components/input-file/file/file.component.js +3 -3
  236. package/esm2015/components/input-file/input-file.component.js +3 -3
  237. package/esm2015/components/input-month/input-month.component.js +3 -3
  238. package/esm2015/components/input-month-range/input-month-range.component.js +3 -3
  239. package/esm2015/components/input-number/input-number.component.js +3 -3
  240. package/esm2015/components/input-password/input-password.component.js +3 -3
  241. package/esm2015/components/input-password/input-password.module.js +1 -3
  242. package/esm2015/components/input-phone/input-phone.component.js +3 -3
  243. package/esm2015/components/input-phone-international/input-phone-international.component.js +3 -3
  244. package/esm2015/components/input-tag/input-tag.component.js +1 -1
  245. package/esm2015/components/input-time/input-time.component.js +3 -3
  246. package/esm2015/components/line-clamp/line-clamp.component.js +3 -3
  247. package/esm2015/components/line-clamp/line-clamp.module.js +9 -3
  248. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  249. package/esm2015/components/multi-select/multi-select.component.js +3 -3
  250. package/esm2015/components/pagination/pagination.component.js +3 -3
  251. package/esm2015/components/radio/radio.component.js +3 -3
  252. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  253. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  254. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  255. package/esm2015/components/range/range.component.js +3 -3
  256. package/esm2015/components/select-option/select-option.component.js +3 -3
  257. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +13 -6
  258. package/esm2015/components/slider/slider.component.js +18 -9
  259. package/esm2015/components/stepper/step/step.component.js +3 -3
  260. package/esm2015/components/tag/tag.component.js +1 -1
  261. package/esm2015/components/text-area/text-area.component.js +1 -1
  262. package/esm2015/components/toggle/toggle.component.js +3 -3
  263. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +8 -4
  264. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +2 -2
  265. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  266. package/esm5/components/accordion/accordion.component.js +3 -3
  267. package/esm5/components/action/action.component.js +3 -3
  268. package/esm5/components/avatar/avatar.component.js +3 -3
  269. package/esm5/components/badged-content/badged-content.component.js +3 -3
  270. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +3 -3
  271. package/esm5/components/breadcrumbs/breadcrumbs.component.js +3 -3
  272. package/esm5/components/calendar-range/calendar-range.component.js +3 -3
  273. package/esm5/components/checkbox/checkbox.component.js +3 -3
  274. package/esm5/components/checkbox-block/checkbox-block.component.js +3 -3
  275. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  276. package/esm5/components/combo-box/combo-box.component.js +3 -3
  277. package/esm5/components/filter/filter.component.js +3 -3
  278. package/esm5/components/input/input.component.js +3 -3
  279. package/esm5/components/input-copy/input-copy.component.js +3 -3
  280. package/esm5/components/input-count/input-count.component.js +3 -3
  281. package/esm5/components/input-date/input-date.component.js +3 -3
  282. package/esm5/components/input-date-range/input-date-range.component.js +3 -3
  283. package/esm5/components/input-date-time/input-date-time.component.js +3 -3
  284. package/esm5/components/input-file/file/file.component.js +3 -3
  285. package/esm5/components/input-file/input-file.component.js +3 -3
  286. package/esm5/components/input-month/input-month.component.js +3 -3
  287. package/esm5/components/input-month-range/input-month-range.component.js +3 -3
  288. package/esm5/components/input-number/input-number.component.js +3 -3
  289. package/esm5/components/input-password/input-password.component.js +3 -3
  290. package/esm5/components/input-password/input-password.module.js +1 -3
  291. package/esm5/components/input-phone/input-phone.component.js +3 -3
  292. package/esm5/components/input-phone-international/input-phone-international.component.js +3 -3
  293. package/esm5/components/input-tag/input-tag.component.js +1 -1
  294. package/esm5/components/input-time/input-time.component.js +3 -3
  295. package/esm5/components/line-clamp/line-clamp.component.js +3 -3
  296. package/esm5/components/line-clamp/line-clamp.module.js +9 -3
  297. package/esm5/components/marker-icon/marker-icon.component.js +3 -3
  298. package/esm5/components/multi-select/multi-select.component.js +3 -3
  299. package/esm5/components/pagination/pagination.component.js +3 -3
  300. package/esm5/components/radio/radio.component.js +3 -3
  301. package/esm5/components/radio-block/radio-block.component.js +3 -3
  302. package/esm5/components/radio-labeled/radio-labeled.component.js +3 -3
  303. package/esm5/components/radio-list/radio-list.component.js +3 -3
  304. package/esm5/components/range/range.component.js +3 -3
  305. package/esm5/components/select-option/select-option.component.js +3 -3
  306. package/esm5/components/slider/helpers/slider-key-steps.directive.js +13 -6
  307. package/esm5/components/slider/slider.component.js +22 -9
  308. package/esm5/components/stepper/step/step.component.js +3 -3
  309. package/esm5/components/tag/tag.component.js +1 -1
  310. package/esm5/components/text-area/text-area.component.js +1 -1
  311. package/esm5/components/toggle/toggle.component.js +3 -3
  312. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +8 -4
  313. package/esm5/directives/lazy-loading/lazy-loading.directive.js +2 -2
  314. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  315. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  316. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  317. package/fesm2015/taiga-ui-kit-components-action.js +2 -2
  318. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  319. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  320. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  321. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  322. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  323. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +4 -4
  324. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  325. package/fesm2015/taiga-ui-kit-components-calendar-range.js +2 -2
  326. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  327. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
  328. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  329. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  330. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  331. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  332. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  333. package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -2
  334. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  335. package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
  336. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  338. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
  340. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-input-date-range.js +2 -2
  342. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -2
  344. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  345. package/fesm2015/taiga-ui-kit-components-input-date.js +2 -2
  346. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  347. package/fesm2015/taiga-ui-kit-components-input-file.js +4 -4
  348. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -2
  350. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components-input-month.js +2 -2
  352. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  353. package/fesm2015/taiga-ui-kit-components-input-number.js +2 -2
  354. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  355. package/fesm2015/taiga-ui-kit-components-input-password.js +3 -4
  356. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  357. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +2 -2
  358. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-components-input-phone.js +2 -2
  360. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  361. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  362. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -2
  363. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  364. package/fesm2015/taiga-ui-kit-components-input.js +2 -2
  365. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  366. package/fesm2015/taiga-ui-kit-components-line-clamp.js +10 -4
  367. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  368. package/fesm2015/taiga-ui-kit-components-marker-icon.js +2 -2
  369. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  370. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -2
  371. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  372. package/fesm2015/taiga-ui-kit-components-pagination.js +2 -2
  373. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  374. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
  375. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  376. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
  377. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  378. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -2
  379. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  380. package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
  381. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-components-range.js +2 -2
  383. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  384. package/fesm2015/taiga-ui-kit-components-select-option.js +2 -2
  385. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  386. package/fesm2015/taiga-ui-kit-components-slider.js +27 -12
  387. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  388. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -2
  389. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  390. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  391. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  392. package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
  393. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  394. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +7 -3
  395. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  396. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  397. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  398. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +2 -2
  399. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  400. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  401. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  402. package/fesm5/taiga-ui-kit-components-action.js +2 -2
  403. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  404. package/fesm5/taiga-ui-kit-components-avatar.js +2 -2
  405. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  406. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  407. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  408. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +4 -4
  409. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  410. package/fesm5/taiga-ui-kit-components-calendar-range.js +2 -2
  411. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  412. package/fesm5/taiga-ui-kit-components-checkbox-block.js +2 -2
  413. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  414. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  415. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  416. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  417. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  418. package/fesm5/taiga-ui-kit-components-combo-box.js +2 -2
  419. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  420. package/fesm5/taiga-ui-kit-components-filter.js +2 -2
  421. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  422. package/fesm5/taiga-ui-kit-components-input-copy.js +2 -2
  423. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  424. package/fesm5/taiga-ui-kit-components-input-count.js +2 -2
  425. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  426. package/fesm5/taiga-ui-kit-components-input-date-range.js +2 -2
  427. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  428. package/fesm5/taiga-ui-kit-components-input-date-time.js +2 -2
  429. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  430. package/fesm5/taiga-ui-kit-components-input-date.js +2 -2
  431. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  432. package/fesm5/taiga-ui-kit-components-input-file.js +4 -4
  433. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  434. package/fesm5/taiga-ui-kit-components-input-month-range.js +2 -2
  435. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  436. package/fesm5/taiga-ui-kit-components-input-month.js +2 -2
  437. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  438. package/fesm5/taiga-ui-kit-components-input-number.js +2 -2
  439. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  440. package/fesm5/taiga-ui-kit-components-input-password.js +3 -4
  441. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  442. package/fesm5/taiga-ui-kit-components-input-phone-international.js +2 -2
  443. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  444. package/fesm5/taiga-ui-kit-components-input-phone.js +2 -2
  445. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  446. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  447. package/fesm5/taiga-ui-kit-components-input-time.js +2 -2
  448. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  449. package/fesm5/taiga-ui-kit-components-input.js +2 -2
  450. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  451. package/fesm5/taiga-ui-kit-components-line-clamp.js +10 -4
  452. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  453. package/fesm5/taiga-ui-kit-components-marker-icon.js +2 -2
  454. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  455. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -2
  456. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  457. package/fesm5/taiga-ui-kit-components-pagination.js +2 -2
  458. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  459. package/fesm5/taiga-ui-kit-components-radio-block.js +2 -2
  460. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  461. package/fesm5/taiga-ui-kit-components-radio-labeled.js +2 -2
  462. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  463. package/fesm5/taiga-ui-kit-components-radio-list.js +2 -2
  464. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  465. package/fesm5/taiga-ui-kit-components-radio.js +2 -2
  466. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  467. package/fesm5/taiga-ui-kit-components-range.js +2 -2
  468. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  469. package/fesm5/taiga-ui-kit-components-select-option.js +2 -2
  470. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  471. package/fesm5/taiga-ui-kit-components-slider.js +31 -12
  472. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  473. package/fesm5/taiga-ui-kit-components-stepper.js +2 -2
  474. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  475. package/fesm5/taiga-ui-kit-components-tag.js +1 -1
  476. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  477. package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
  478. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  479. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +7 -3
  480. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  481. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  482. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  483. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +2 -2
  484. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  485. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  486. package/package.json +4 -4
@@ -212,7 +212,7 @@ __decorate([
212
212
  TuiRangeComponent = TuiRangeComponent_1 = __decorate([
213
213
  Component({
214
214
  selector: `tui-range`,
215
- template: "<div class=\"track\">\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n\n<!-- TODO backward compatibility only (remove in v3.0) -->\n<div\n *ngIf=\"segments > 0\"\n class=\"segments\"\n>\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"segment\"\n >\n <ng-container *ngIf=\"fromToTexts$ | async as fromToText\">\n <span\n *ngIf=\"!isNew\"\n class=\"number\"\n >\n {{ getSegmentPrefix(tickIndex, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"pluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: pluralizeMap }}\n </span>\n </span>\n </ng-container>\n </span>\n</div>\n",
215
+ template: "<div class=\"t-track\">\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"t-thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"t-thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n\n<!-- TODO backward compatibility only (remove in v3.0) -->\n<div\n *ngIf=\"segments > 0\"\n class=\"t-segments\"\n>\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"t-segment\"\n >\n <ng-container *ngIf=\"fromToTexts$ | async as fromToText\">\n <span\n *ngIf=\"!isNew\"\n class=\"t-number\"\n >\n {{ getSegmentPrefix(tickIndex, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"pluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: pluralizeMap }}\n </span>\n </span>\n </ng-container>\n </span>\n</div>\n",
216
216
  changeDetection: ChangeDetectionStrategy.OnPush,
217
217
  host: {
218
218
  '[attr.tabindex]': `-1`,
@@ -224,7 +224,7 @@ TuiRangeComponent = TuiRangeComponent_1 = __decorate([
224
224
  useExisting: forwardRef(() => TuiRangeComponent_1),
225
225
  },
226
226
  ],
227
- styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-base-03);cursor:pointer;outline:0;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:'';position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size='s'] .track{position:relative;margin:0 .25rem;height:100%}:host[data-size='s'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.25rem}:host[data-size='m'] .track{position:relative;margin:0 .5rem;height:100%}:host[data-size='m'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.5rem}.thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translate(0,-50%)}.thumb::-webkit-slider-thumb{pointer-events:all}.thumb::-moz-range-thumb{pointer-events:all}input[type=range].thumb::-webkit-slider-runnable-track{background:0 0}input[type=range].thumb::-moz-range-track{background:0 0}input[type=range].thumb::-moz-range-progress{background:0 0}input[type=range].thumb::-ms-track{background:0 0}input[type=range].thumb::-ms-fill-lower{background:0 0}.thumb:last-of-type::-webkit-slider-thumb{transform:translate(50%,0)}.thumb:first-of-type::-webkit-slider-thumb{transform:translate(-50%,0)}.thumb:last-of-type::-moz-range-thumb{transform:translate(50%,0)}.thumb:first-of-type::-moz-range-thumb{transform:translate(-50%,0)}:host._disabled .thumb{opacity:1}.segments{position:absolute;top:0;left:0;bottom:0;right:0}:host[data-size='s'] .segments{display:flex;margin:0 .25rem;font:var(--tui-font-text-s);padding:0 .25rem}:host[data-size='s'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='s'] .segments>:first-child{left:-.25rem;flex:1;text-align:left}:host[data-size='s'] .segments>:last-child{right:-.25rem;flex:1;text-align:right}tui-input-slider+:host[data-size='s'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .25rem)}tui-input-range+:host[data-size='s'] .segments,tui-range+:host[data-size='s'] .segments{margin-left:.5rem;margin-right:.5rem}tui-input-range+:host[data-size='s'] .segments>:first-child,tui-range+:host[data-size='s'] .segments>:first-child{left:-.5rem}tui-input-range+:host[data-size='s'] .segments>:last-child,tui-range+:host[data-size='s'] .segments>:last-child{right:-.5rem}:host[data-size='m'] .segments{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);padding:0 .5rem}:host[data-size='m'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='m'] .segments>:first-child{left:-.5rem;flex:1;text-align:left}:host[data-size='m'] .segments>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+:host[data-size='m'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}tui-input-range+:host[data-size='m'] .segments,tui-range+:host[data-size='m'] .segments{margin-left:1rem;margin-right:1rem}tui-input-range+:host[data-size='m'] .segments>:first-child,tui-range+:host[data-size='m'] .segments>:first-child{left:-1rem}tui-input-range+:host[data-size='m'] .segments>:last-child,tui-range+:host[data-size='m'] .segments>:last-child{right:-1rem}.segment:not(:last-of-type):not(:first-of-type):before{content:'';position:absolute;left:0;right:0;margin:auto;background:var(--tui-base-07);width:.25rem;height:100%}.segment:last-of-type .number{margin-right:-.5rem}.segment:first-of-type .number{margin-left:-.5rem}.number{display:inline-block;margin-top:.5rem}"]
227
+ styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-base-03);cursor:pointer;outline:0;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:'';position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size='s'] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size='s'] .t-track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.25rem}:host[data-size='m'] .t-track{position:relative;margin:0 .5rem;height:100%}:host[data-size='m'] .t-track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.5rem}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translate(0,-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:0 0}input[type=range].t-thumb::-moz-range-track{background:0 0}input[type=range].t-thumb::-moz-range-progress{background:0 0}input[type=range].t-thumb::-ms-track{background:0 0}input[type=range].t-thumb::-ms-fill-lower{background:0 0}.t-thumb:last-of-type::-webkit-slider-thumb{transform:translate(50%,0)}.t-thumb:first-of-type::-webkit-slider-thumb{transform:translate(-50%,0)}.t-thumb:last-of-type::-moz-range-thumb{transform:translate(50%,0)}.t-thumb:first-of-type::-moz-range-thumb{transform:translate(-50%,0)}:host._disabled .t-thumb{opacity:1}.t-segments{position:absolute;top:0;left:0;bottom:0;right:0}:host[data-size='s'] .t-segments{display:flex;margin:0 .25rem;font:var(--tui-font-text-s);padding:0 .25rem}:host[data-size='s'] .t-segments>*{position:relative;flex:2;text-align:center}:host[data-size='s'] .t-segments>:first-child{left:-.25rem;flex:1;text-align:left}:host[data-size='s'] .t-segments>:last-child{right:-.25rem;flex:1;text-align:right}tui-input-slider+:host[data-size='s'] .t-segments{margin-left:calc(var(--tui-radius-m)/ 2 + .25rem)}tui-input-range+:host[data-size='s'] .t-segments,tui-range+:host[data-size='s'] .t-segments{margin-left:.5rem;margin-right:.5rem}tui-input-range+:host[data-size='s'] .t-segments>:first-child,tui-range+:host[data-size='s'] .t-segments>:first-child{left:-.5rem}tui-input-range+:host[data-size='s'] .t-segments>:last-child,tui-range+:host[data-size='s'] .t-segments>:last-child{right:-.5rem}:host[data-size='m'] .t-segments{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);padding:0 .5rem}:host[data-size='m'] .t-segments>*{position:relative;flex:2;text-align:center}:host[data-size='m'] .t-segments>:first-child{left:-.5rem;flex:1;text-align:left}:host[data-size='m'] .t-segments>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+:host[data-size='m'] .t-segments{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}tui-input-range+:host[data-size='m'] .t-segments,tui-range+:host[data-size='m'] .t-segments{margin-left:1rem;margin-right:1rem}tui-input-range+:host[data-size='m'] .t-segments>:first-child,tui-range+:host[data-size='m'] .t-segments>:first-child{left:-1rem}tui-input-range+:host[data-size='m'] .t-segments>:last-child,tui-range+:host[data-size='m'] .t-segments>:last-child{right:-1rem}.t-segment:not(:last-of-type):not(:first-of-type):before{content:'';position:absolute;left:0;right:0;margin:auto;background:var(--tui-base-07);width:.25rem;height:100%}.t-segment:last-of-type .t-number{margin-right:-.5rem}.t-segment:first-of-type .t-number{margin-left:-.5rem}.t-number{display:inline-block;margin-top:.5rem}"]
228
228
  })
229
229
  /**
230
230
  * `AbstractTuiSlider` includes all legacy code (it can be deleted in v3.0)
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-range.js","sources":["ng://@taiga-ui/kit/components/range/range.component.ts","ng://@taiga-ui/kit/components/range/range-change.directive.ts","ng://@taiga-ui/kit/components/range/range.module.ts","ng://@taiga-ui/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n EMPTY_QUERY,\n isNativeFocusedIn,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAssert,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {AbstractTuiSlider, SLIDER_KEYBOARD_STEP} from '@taiga-ui/kit/abstract';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiCheckKeyStepsHaveMinMaxPercents,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * Turn on new mode for `Range` and `InputRange`.\n * The new version of component will behave almost the same as the same component from the next major release.\n * @deprecated TODO remove me in v3.0 and make `Range` and `InputRange` always \"new\".\n */\n@Directive({\n selector: `tui-range[new], tui-input-range[new]`,\n})\nexport class TuiNewRangeDirective {}\n\n// @dynamic\n@Component({\n selector: `tui-range`,\n templateUrl: `./range.template.html`,\n styleUrls: [`./range.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabindex]': `-1`,\n '[attr.aria-disabled]': `computedDisabled`,\n },\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRangeComponent),\n },\n ],\n})\n/**\n * `AbstractTuiSlider` includes all legacy code (it can be deleted in v3.0)\n * TODO replace `extends AbstractTuiSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor`\n */\nexport class TuiRangeComponent\n extends AbstractTuiSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n /**\n * TODO: make `100` as default value (to be like native sliders) in v3.0\n */\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n /**\n * TODO: think about replacing this props by `step` (to be like native slider).\n * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0\n */\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n /**\n * TODO: think about replacing this props by `step` (to be like native slider).\n * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0\n * */\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, `Quantum must be a non-negative number`)\n quantum = 0;\n\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeS = `m`;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n lastActiveThumb: 'right' | 'left' = `right`;\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(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n @Optional()\n @Inject(TuiNewRangeDirective)\n readonly isNew: TuiNewRangeDirective | null,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n\n if (this.computedDisabled || !sliderLeftRef || !sliderRightRef) {\n return null;\n }\n\n return this.isLeftFocusable\n ? sliderLeftRef.nativeElement\n : sliderRightRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get fractionStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / (this.max - this.min) : SLIDER_KEYBOARD_STEP;\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n @HostBinding(`style.--left.%`)\n get left(): number {\n return this.getPercentageFromValue(this.value[0]);\n }\n\n @HostBinding(`style.--right.%`)\n get right(): number {\n return 100 - this.getPercentageFromValue(this.value[1]);\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener(`keydown.arrowUp.prevent`, [`1`, `$event.target`])\n @HostListener(`keydown.arrowRight.prevent`, [`1`, `$event.target`])\n @HostListener(`keydown.arrowLeft.prevent`, [`-1`, `$event.target`])\n @HostListener(`keydown.arrowDown.prevent`, [`-1`, `$event.target`])\n changeByStep(coefficient: number, target: HTMLElement): void {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.elementRef.nativeElement\n ? this.lastActiveThumb === `right`\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value[1] : this.value[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.getPercentageFromValue(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);\n\n if (activeThumbElement) {\n activeThumbElement.focus();\n }\n }\n\n processValue(value: number, right: boolean): void {\n const guardedValue = this.valueGuard(value);\n\n if (right) {\n this.updateEnd(guardedValue);\n } else {\n this.updateStart(guardedValue);\n }\n\n this.lastActiveThumb = right ? `right` : `left`;\n }\n\n fractionGuard(fraction: number): number {\n return clamp(quantize(fraction, this.fractionStep), 0, 1);\n }\n\n getValueFromFraction(fraction: number): number {\n const percentage = this.fractionGuard(fraction) * 100;\n\n return tuiPercentageToKeyStepValue(percentage, this.computedKeySteps);\n }\n\n getPercentageFromValue(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps);\n }\n\n protected valueGuard(value: number): number {\n return clamp(\n this.quantum\n ? round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n )\n : value,\n this.min,\n this.max,\n );\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n if (keySteps && tuiCheckKeyStepsHaveMinMaxPercents(keySteps)) {\n return keySteps;\n }\n\n // TODO replace all function by `return keySteps || [[0, min], [100, max]]` in v3.0\n tuiAssert.assert(\n !keySteps,\n `\\n` +\n `Input property [keySteps] should contain min and max percents.\\n` +\n `We have taken [min] and [max] properties of your component for now (but it will not work in v3.0).\\n` +\n `See example how properly use [keySteps]: https://taiga-ui.dev/components/range#key-steps`,\n );\n\n return [[0, min], ...(keySteps || []), [100, max]];\n }\n\n private updateStart(value: number): void {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number): void {\n this.updateValue([this.value[0], Math.max(value, this.value[0])]);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, EventEmitter, Inject, Output} from '@angular/core';\nimport {clamp, round, TuiDestroyService, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TuiRangeComponent} from './range.component';\n\n// @dynamic\n@Directive({\n selector: `tui-range`,\n providers: [TuiDestroyService],\n})\nexport class TuiRangeChangeDirective {\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Dont forget to use setPointerCapture instead of listening all documentRef events\n */\n private readonly pointerDown$ = merge(\n typedFromEvent(this.elementRef.nativeElement, `touchstart`, {passive: true}).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(this.elementRef.nativeElement, `mousedown`, {passive: true}),\n );\n\n private readonly pointerMove$ = merge(\n typedFromEvent(this.documentRef, `touchmove`).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(this.documentRef, `mousemove`),\n );\n\n private readonly pointerUp$ = merge(\n typedFromEvent(this.documentRef, `touchend`, {passive: true}),\n typedFromEvent(this.documentRef, `mouseup`, {passive: true}),\n );\n\n @Output()\n activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiRangeComponent) private readonly range: TuiRangeComponent,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable) {\n elementRef.nativeElement.focus();\n }\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => clamp(this.getFractionFromEvents(clientX), 0, 1)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntil(destroy$),\n )\n .subscribe(fraction => {\n const value = this.range.getValueFromFraction(\n this.range.fractionGuard(fraction),\n );\n\n this.range.processValue(value, activeThumb === `right`);\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return `left`;\n case rightSliderRef.nativeElement:\n return `right`;\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left;\n const deltaRight = fraction * 100 - 100 + this.range.right;\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left === 0 && this.range.right === 100)\n ? `right`\n : `left`;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\n\nimport {TuiNewRangeDirective, TuiRangeComponent} from './range.component';\nimport {TuiRangeChangeDirective} from './range-change.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFormatNumberPipeModule,\n TuiSliderModule,\n FormsModule,\n ],\n declarations: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],\n exports: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],\n})\nexport class TuiRangeModule {}\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-range.js","sources":["ng://@taiga-ui/kit/components/range/range.component.ts","ng://@taiga-ui/kit/components/range/range-change.directive.ts","ng://@taiga-ui/kit/components/range/range.module.ts","ng://@taiga-ui/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n EMPTY_QUERY,\n isNativeFocusedIn,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAssert,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {AbstractTuiSlider, SLIDER_KEYBOARD_STEP} from '@taiga-ui/kit/abstract';\nimport {TuiSliderComponent} from '@taiga-ui/kit/components/slider';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiCheckKeyStepsHaveMinMaxPercents,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\nimport {Observable} from 'rxjs';\n\n/**\n * Turn on new mode for `Range` and `InputRange`.\n * The new version of component will behave almost the same as the same component from the next major release.\n * @deprecated TODO remove me in v3.0 and make `Range` and `InputRange` always \"new\".\n */\n@Directive({\n selector: `tui-range[new], tui-input-range[new]`,\n})\nexport class TuiNewRangeDirective {}\n\n// @dynamic\n@Component({\n selector: `tui-range`,\n templateUrl: `./range.template.html`,\n styleUrls: [`./range.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabindex]': `-1`,\n '[attr.aria-disabled]': `computedDisabled`,\n },\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiRangeComponent),\n },\n ],\n})\n/**\n * `AbstractTuiSlider` includes all legacy code (it can be deleted in v3.0)\n * TODO replace `extends AbstractTuiSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor`\n */\nexport class TuiRangeComponent\n extends AbstractTuiSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n /**\n * TODO: make `100` as default value (to be like native sliders) in v3.0\n */\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n /**\n * TODO: think about replacing this props by `step` (to be like native slider).\n * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0\n */\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n /**\n * TODO: think about replacing this props by `step` (to be like native slider).\n * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0\n * */\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, `Quantum must be a non-negative number`)\n quantum = 0;\n\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeS = `m`;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n lastActiveThumb: 'right' | 'left' = `right`;\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(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n @Optional()\n @Inject(TuiNewRangeDirective)\n readonly isNew: TuiNewRangeDirective | null,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n\n if (this.computedDisabled || !sliderLeftRef || !sliderRightRef) {\n return null;\n }\n\n return this.isLeftFocusable\n ? sliderLeftRef.nativeElement\n : sliderRightRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get fractionStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / (this.max - this.min) : SLIDER_KEYBOARD_STEP;\n }\n\n get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n @HostBinding(`style.--left.%`)\n get left(): number {\n return this.getPercentageFromValue(this.value[0]);\n }\n\n @HostBinding(`style.--right.%`)\n get right(): number {\n return 100 - this.getPercentageFromValue(this.value[1]);\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener(`keydown.arrowUp.prevent`, [`1`, `$event.target`])\n @HostListener(`keydown.arrowRight.prevent`, [`1`, `$event.target`])\n @HostListener(`keydown.arrowLeft.prevent`, [`-1`, `$event.target`])\n @HostListener(`keydown.arrowDown.prevent`, [`-1`, `$event.target`])\n changeByStep(coefficient: number, target: HTMLElement): void {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.elementRef.nativeElement\n ? this.lastActiveThumb === `right`\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value[1] : this.value[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.getPercentageFromValue(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);\n\n if (activeThumbElement) {\n activeThumbElement.focus();\n }\n }\n\n processValue(value: number, right: boolean): void {\n const guardedValue = this.valueGuard(value);\n\n if (right) {\n this.updateEnd(guardedValue);\n } else {\n this.updateStart(guardedValue);\n }\n\n this.lastActiveThumb = right ? `right` : `left`;\n }\n\n fractionGuard(fraction: number): number {\n return clamp(quantize(fraction, this.fractionStep), 0, 1);\n }\n\n getValueFromFraction(fraction: number): number {\n const percentage = this.fractionGuard(fraction) * 100;\n\n return tuiPercentageToKeyStepValue(percentage, this.computedKeySteps);\n }\n\n getPercentageFromValue(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps);\n }\n\n protected valueGuard(value: number): number {\n return clamp(\n this.quantum\n ? round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n )\n : value,\n this.min,\n this.max,\n );\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n if (keySteps && tuiCheckKeyStepsHaveMinMaxPercents(keySteps)) {\n return keySteps;\n }\n\n // TODO replace all function by `return keySteps || [[0, min], [100, max]]` in v3.0\n tuiAssert.assert(\n !keySteps,\n `\\n` +\n `Input property [keySteps] should contain min and max percents.\\n` +\n `We have taken [min] and [max] properties of your component for now (but it will not work in v3.0).\\n` +\n `See example how properly use [keySteps]: https://taiga-ui.dev/components/range#key-steps`,\n );\n\n return [[0, min], ...(keySteps || []), [100, max]];\n }\n\n private updateStart(value: number): void {\n this.updateValue([Math.min(value, this.value[1]), this.value[1]]);\n }\n\n private updateEnd(value: number): void {\n this.updateValue([this.value[0], Math.max(value, this.value[0])]);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, EventEmitter, Inject, Output} from '@angular/core';\nimport {clamp, round, TuiDestroyService, typedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nimport {TuiRangeComponent} from './range.component';\n\n// @dynamic\n@Directive({\n selector: `tui-range`,\n providers: [TuiDestroyService],\n})\nexport class TuiRangeChangeDirective {\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Dont forget to use setPointerCapture instead of listening all documentRef events\n */\n private readonly pointerDown$ = merge(\n typedFromEvent(this.elementRef.nativeElement, `touchstart`, {passive: true}).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(this.elementRef.nativeElement, `mousedown`, {passive: true}),\n );\n\n private readonly pointerMove$ = merge(\n typedFromEvent(this.documentRef, `touchmove`).pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(this.documentRef, `mousemove`),\n );\n\n private readonly pointerUp$ = merge(\n typedFromEvent(this.documentRef, `touchend`, {passive: true}),\n typedFromEvent(this.documentRef, `mouseup`, {passive: true}),\n );\n\n @Output()\n activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiRangeComponent) private readonly range: TuiRangeComponent,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n ) {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable) {\n elementRef.nativeElement.focus();\n }\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => clamp(this.getFractionFromEvents(clientX), 0, 1)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntil(destroy$),\n )\n .subscribe(fraction => {\n const value = this.range.getValueFromFraction(\n this.range.fractionGuard(fraction),\n );\n\n this.range.processValue(value, activeThumb === `right`);\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return `left`;\n case rightSliderRef.nativeElement:\n return `right`;\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left;\n const deltaRight = fraction * 100 - 100 + this.range.right;\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left === 0 && this.range.right === 100)\n ? `right`\n : `left`;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\n\nimport {TuiNewRangeDirective, TuiRangeComponent} from './range.component';\nimport {TuiRangeChangeDirective} from './range-change.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFormatNumberPipeModule,\n TuiSliderModule,\n FormsModule,\n ],\n declarations: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],\n exports: [TuiRangeComponent, TuiRangeChangeDirective, TuiNewRangeDirective],\n})\nexport class TuiRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -51,9 +51,9 @@ TuiSelectOptionComponent.ctorParameters = () => [
51
51
  TuiSelectOptionComponent = __decorate([
52
52
  Component({
53
53
  selector: `tui-select-option`,
54
- template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n src=\"tuiIconCheckLarge\"\n class=\"checkmark\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"dummy\"></span>\n</ng-template>\n",
54
+ template: "<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n<tui-svg\n *ngIf=\"selected$ | async; else dummy\"\n automation-id=\"tui-select-option__checkmark\"\n src=\"tuiIconCheckLarge\"\n class=\"t-checkmark\"\n [tuiScrollIntoView]=\"true\"\n></tui-svg>\n<ng-template #dummy>\n <span class=\"t-dummy\"></span>\n</ng-template>\n",
55
55
  changeDetection: ChangeDetectionStrategy.OnPush,
56
- styles: ["@-webkit-keyframes retrigger{from{left:1px}to{left:2px}}@keyframes retrigger{from{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-width:100%;-webkit-animation:1s retrigger;animation:1s retrigger}.checkmark{margin:0 -.375rem 0 auto;border-left:5px solid transparent}.dummy{width:1.5rem}"]
56
+ styles: ["@-webkit-keyframes retrigger{from{left:1px}to{left:2px}}@keyframes retrigger{from{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;max-width:100%;-webkit-animation:1s retrigger;animation:1s retrigger}.t-checkmark{margin:0 -.375rem 0 auto;border-left:5px solid transparent}.t-dummy{width:1.5rem}"]
57
57
  }),
58
58
  __param(0, Inject(POLYMORPHEUS_CONTEXT)),
59
59
  __param(1, Inject(TUI_DATA_LIST_HOST)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["ng://@taiga-ui/kit/components/select-option/select-option.component.ts","ng://@taiga-ui/kit/components/select-option/select-option.module.ts","ng://@taiga-ui/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isPresent,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TuiDataListHost, TuiOptionComponent} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: `tui-select-option`,\n templateUrl: `./select-option.template.html`,\n styleUrls: [`./select-option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit {\n readonly selected$ = merge(\n this.control.valueChanges ?? EMPTY,\n typedFromEvent(this.elementRef.nativeElement, `animationstart`),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Inject(NgControl) protected readonly control: NgControl,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n if (isPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n });\n }\n\n protected get selected(): boolean {\n return (\n isPresent(this.option.value) &&\n isPresent(this.control.value) &&\n this.matcher(this.control.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n entryComponents: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;IA2Ba,wBAAwB,GAArC,MAAa,wBAAwB;IAUjC,YAEa,OAAqE,EAE7D,IAAwB,EACJ,UAAmC,EACzB,MAA6B,EACtC,OAAkB;;QAL/C,YAAO,GAAP,OAAO,CAA8D;QAE7D,SAAI,GAAJ,IAAI,CAAoB;QACJ,eAAU,GAAV,UAAU,CAAyB;QACzB,WAAM,GAAN,MAAM,CAAuB;QACtC,YAAO,GAAP,OAAO,CAAW;QAhBnD,cAAS,GAAG,KAAK,OACtB,IAAI,CAAC,OAAO,CAAC,YAAY,mCAAI,KAAK,EAClC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAClE,CAAC,IAAI,CACF,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EACxB,oBAAoB,EAAE,CACzB,CAAC;KAUE;IAEJ,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,4BAA4B,CAAC;KACpE;IAED,QAAQ;;;;;;;;QAQJ,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YACnB,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC5C;SACJ,CAAC,CAAC;KACN;IAED,IAAc,QAAQ;QAClB,QACI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD;KACL;EACJ;;4CAnCQ,MAAM,SAAC,oBAAoB;4CAE3B,MAAM,SAAC,kBAAkB;YAEuB,UAAU,uBAA1D,MAAM,SAAC,UAAU;YACqC,kBAAkB,uBAAxE,MAAM,SAAC,kBAAkB;YACqB,SAAS,uBAAvD,MAAM,SAAC,SAAS;;AAjBZ,wBAAwB;IANpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAC7B,+WAA4C;QAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;IAYO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAE5B,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE1B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;GAjBb,wBAAwB,CA8CpC;MAEY,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB;;IC/DtE,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IANjC,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC;QAC9D,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,eAAe,EAAE,CAAC,wBAAwB,CAAC;KAC9C,CAAC;GACW,qBAAqB,CAAG;;ACZrC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-select-option.js","sources":["ng://@taiga-ui/kit/components/select-option/select-option.component.ts","ng://@taiga-ui/kit/components/select-option/select-option.module.ts","ng://@taiga-ui/kit/components/select-option/taiga-ui-kit-components-select-option.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n TemplateRef,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isPresent,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TuiContextWithImplicit,\n TuiIdentityMatcher,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TuiDataListHost, TuiOptionComponent} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT, PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, merge} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: `tui-select-option`,\n templateUrl: `./select-option.template.html`,\n styleUrls: [`./select-option.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSelectOptionComponent<T> implements OnInit {\n readonly selected$ = merge(\n this.control.valueChanges ?? EMPTY,\n typedFromEvent(this.elementRef.nativeElement, `animationstart`),\n ).pipe(\n startWith(null),\n map(() => this.selected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>,\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiOptionComponent) protected readonly option: TuiOptionComponent<T>,\n @Inject(NgControl) protected readonly control: NgControl,\n ) {}\n\n get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n ngOnInit(): void {\n /**\n * This would cause changes inside already checked parent component (during the same change detection cycle),\n * and it might cause ExpressionChanged error due to potential HostBinding\n * (for example, inside {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/ng_control_status.ts#L99 NgControlStatus}).\n * Microtask keeps it in the same frame but allows change detection to run.\n */\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n if (isPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\n }\n });\n }\n\n protected get selected(): boolean {\n return (\n isPresent(this.option.value) &&\n isPresent(this.control.value) &&\n this.matcher(this.control.value, this.option.value)\n );\n }\n}\n\nexport const TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollIntoViewModule, TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiSelectOptionComponent} from './select-option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiScrollIntoViewModule],\n declarations: [TuiSelectOptionComponent],\n exports: [TuiSelectOptionComponent],\n entryComponents: [TuiSelectOptionComponent],\n})\nexport class TuiSelectOptionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;IA2Ba,wBAAwB,GAArC,MAAa,wBAAwB;IAUjC,YAEa,OAAqE,EAE7D,IAAwB,EACJ,UAAmC,EACzB,MAA6B,EACtC,OAAkB;;QAL/C,YAAO,GAAP,OAAO,CAA8D;QAE7D,SAAI,GAAJ,IAAI,CAAoB;QACJ,eAAU,GAAV,UAAU,CAAyB;QACzB,WAAM,GAAN,MAAM,CAAuB;QACtC,YAAO,GAAP,OAAO,CAAW;QAhBnD,cAAS,GAAG,KAAK,OACtB,IAAI,CAAC,OAAO,CAAC,YAAY,mCAAI,KAAK,EAClC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAClE,CAAC,IAAI,CACF,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EACxB,oBAAoB,EAAE,CACzB,CAAC;KAUE;IAEJ,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,4BAA4B,CAAC;KACpE;IAED,QAAQ;;;;;;;;QAQJ,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YACnB,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC5C;SACJ,CAAC,CAAC;KACN;IAED,IAAc,QAAQ;QAClB,QACI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD;KACL;EACJ;;4CAnCQ,MAAM,SAAC,oBAAoB;4CAE3B,MAAM,SAAC,kBAAkB;YAEuB,UAAU,uBAA1D,MAAM,SAAC,UAAU;YACqC,kBAAkB,uBAAxE,MAAM,SAAC,kBAAkB;YACqB,SAAS,uBAAvD,MAAM,SAAC,SAAS;;AAjBZ,wBAAwB;IANpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAC7B,mXAA4C;QAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;IAYO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAE5B,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE1B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC1B,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;GAjBb,wBAAwB,CA8CpC;MAEY,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB;;IC/DtE,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IANjC,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC;QAC9D,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,eAAe,EAAE,CAAC,wBAAwB,CAAC;KAC9C,CAAC;GACW,qBAAqB,CAAG;;ACZrC;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Input, HostBinding, Component, ChangeDetectionStrategy, Output, HostListener, Directive, Pipe, ContentChild, forwardRef, NgModule } from '@angular/core';
2
+ import { InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Injector, Input, HostBinding, Component, ChangeDetectionStrategy, forwardRef, Output, HostListener, Directive, Pipe, ContentChild, NgModule } from '@angular/core';
3
3
  import { NgModel, NgControl } from '@angular/forms';
4
- import { watch, isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, AbstractTuiControl, typedFromEvent, isNativeFocused, clamp, tuiAssert, tuiCoerceBooleanProperty, TuiDestroyService, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiRepeatTimesModule, TuiFocusableModule, TuiFocusVisibleModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
4
+ import { watch, isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, tuiPure, AbstractTuiControl, typedFromEvent, isNativeFocused, clamp, tuiAssert, tuiCoerceBooleanProperty, TuiDestroyService, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiRepeatTimesModule, TuiFocusableModule, TuiFocusVisibleModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
5
  import { tuiPercentageToKeyStepValue, tuiKeyStepValueToPercentage, tuiCheckKeyStepsHaveMinMaxPercents } from '@taiga-ui/kit/utils';
6
6
  import { take, map, tap, mapTo, filter, takeUntil } from 'rxjs/operators';
7
7
  import { USER_AGENT } from '@ng-web-apis/common';
@@ -24,12 +24,13 @@ function tuiSliderOptionsProvider(options) {
24
24
  }
25
25
 
26
26
  let TuiSliderComponent = class TuiSliderComponent {
27
- constructor(control, changeDetectorRef, options, elementRef, userAgent) {
27
+ constructor(control, changeDetectorRef, options, elementRef, userAgent, injector) {
28
28
  var _a;
29
29
  this.control = control;
30
30
  this.options = options;
31
31
  this.elementRef = elementRef;
32
32
  this.userAgent = userAgent;
33
+ this.injector = injector;
33
34
  this.size = this.options.size;
34
35
  this.segments = 1;
35
36
  if (control instanceof NgModel) {
@@ -53,9 +54,8 @@ let TuiSliderComponent = class TuiSliderComponent {
53
54
  return Number(this.elementRef.nativeElement.step) || 1;
54
55
  }
55
56
  get value() {
56
- const { elementRef, control } = this;
57
- const noKeySteps = !elementRef.nativeElement.hasAttribute(`data-key-steps`);
58
- if (noKeySteps && control instanceof NgModel) {
57
+ const { elementRef, control, hasKeySteps } = this;
58
+ if (!hasKeySteps && control instanceof NgModel) {
59
59
  /**
60
60
  * If developer uses `[(ngModel)]` and programmatically change value,
61
61
  * the `elementRef.nativeElement.value` is equal to the previous value at this moment.
@@ -76,13 +76,17 @@ let TuiSliderComponent = class TuiSliderComponent {
76
76
  get isOldEdge() {
77
77
  return isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);
78
78
  }
79
+ get hasKeySteps() {
80
+ return Boolean(this.injector.get(TuiSliderKeyStepsDirective, null));
81
+ }
79
82
  };
80
83
  TuiSliderComponent.ctorParameters = () => [
81
84
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
82
85
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
83
86
  { type: undefined, decorators: [{ type: Inject, args: [TUI_SLIDER_OPTIONS,] }] },
84
87
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
85
- { type: String, decorators: [{ type: Inject, args: [USER_AGENT,] }] }
88
+ { type: String, decorators: [{ type: Inject, args: [USER_AGENT,] }] },
89
+ { type: Injector, decorators: [{ type: Inject, args: [Injector,] }] }
86
90
  ];
87
91
  __decorate([
88
92
  Input(),
@@ -102,6 +106,9 @@ __decorate([
102
106
  __decorate([
103
107
  HostBinding(`class._old-edge`)
104
108
  ], TuiSliderComponent.prototype, "isOldEdge", null);
109
+ __decorate([
110
+ tuiPure
111
+ ], TuiSliderComponent.prototype, "hasKeySteps", null);
105
112
  TuiSliderComponent = __decorate([
106
113
  Component({
107
114
  /**
@@ -131,7 +138,8 @@ TuiSliderComponent = __decorate([
131
138
  __param(1, Inject(ChangeDetectorRef)),
132
139
  __param(2, Inject(TUI_SLIDER_OPTIONS)),
133
140
  __param(3, Inject(ElementRef)),
134
- __param(4, Inject(USER_AGENT))
141
+ __param(4, Inject(USER_AGENT)),
142
+ __param(5, Inject(Injector))
135
143
  ], TuiSliderComponent);
136
144
 
137
145
  // @dynamic
@@ -160,6 +168,14 @@ let TuiSliderKeyStepsDirective = class TuiSliderKeyStepsDirective extends Abstra
160
168
  get controlValue() {
161
169
  return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);
162
170
  }
171
+ /**
172
+ * TODO: 3.0
173
+ * ___
174
+ * Also add @HostListener(`input`): to be similar to
175
+ * {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/range_value_accessor.ts#L47-L48 RangeValueAccessor}
176
+ * ___
177
+ * Remove {@link keyStepsInput}
178
+ */
163
179
  updateControlValue() {
164
180
  this.updateValue(this.controlValue);
165
181
  }
@@ -184,7 +200,7 @@ TuiSliderKeyStepsDirective.ctorParameters = () => [
184
200
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
185
201
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
186
202
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
187
- { type: TuiSliderComponent, decorators: [{ type: Inject, args: [TuiSliderComponent,] }] }
203
+ { type: TuiSliderComponent, decorators: [{ type: Inject, args: [forwardRef(() => TuiSliderComponent),] }] }
188
204
  ];
189
205
  __decorate([
190
206
  Input(),
@@ -200,8 +216,7 @@ TuiSliderKeyStepsDirective = __decorate([
200
216
  Directive({
201
217
  selector: `input[tuiSlider][keySteps]`,
202
218
  host: {
203
- '[attr.data-key-steps]': `true`,
204
- '[attr.aria-valuenow]': `controlValue`,
219
+ '[attr.aria-valuenow]': `safeCurrentValue`,
205
220
  '[attr.aria-valuemin]': `min`,
206
221
  '[attr.aria-valuemax]': `max`,
207
222
  },
@@ -211,7 +226,7 @@ TuiSliderKeyStepsDirective = __decorate([
211
226
  __param(0, Inject(NgControl)),
212
227
  __param(1, Inject(ChangeDetectorRef)),
213
228
  __param(2, Inject(ElementRef)),
214
- __param(3, Inject(TuiSliderComponent))
229
+ __param(3, Inject(forwardRef(() => TuiSliderComponent)))
215
230
  ], TuiSliderKeyStepsDirective);
216
231
  /**
217
232
  * @deprecated DONT USE IT! It is just temporary solution for internal purposes only. We will delete it in next major release.
@@ -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/helpers/slider-key-steps.directive.ts","ng://@taiga-ui/kit/components/slider/helpers/slider-readonly.directive.ts","ng://@taiga-ui/kit/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.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 const {elementRef, control} = this;\n const noKeySteps = !elementRef.nativeElement.hasAttribute(`data-key-steps`);\n\n if (noKeySteps && control instanceof NgModel) {\n /**\n * If developer uses `[(ngModel)]` and programmatically change value,\n * the `elementRef.nativeElement.value` is equal to the previous value at this moment.\n */\n return control.viewModel;\n }\n\n return Number(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) || 0;\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 private readonly control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) 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 clamp,\n isNativeFocused,\n tuiAssert,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiCheckKeyStepsHaveMinMaxPercents,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\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.data-key-steps]': `true`,\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(\n tuiCheckKeyStepsHaveMinMaxPercents,\n `Should contain min and max values`,\n )\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 return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);\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(): void {\n this.updateValue(this.controlValue);\n }\n\n writeValue(controlValue: number | null): void {\n if (controlValue === null) {\n return;\n }\n\n const clampedControlValue = clamp(controlValue, this.min, this.max);\n\n tuiAssert.assert(\n controlValue === clampedControlValue,\n `\\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max`,\n );\n\n this.slider.value = this.transformToNativeValue(clampedControlValue);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(controlValue: number): number {\n const {min, max} = this.slider;\n const newValuePercentage = tuiKeyStepValueToPercentage(\n controlValue,\n this.keySteps,\n );\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\n return tuiPercentageToKeyStepValue(percentage, keySteps);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, HostListener, Inject, Input} from '@angular/core';\nimport {\n tuiCoerceBooleanProperty,\n tuiDefaultProp,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {combineLatest, merge, Observable} from 'rxjs';\nimport {filter, mapTo, takeUntil, tap} from 'rxjs/operators';\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// @dynamic\n@Directive({\n selector: `input[tuiSlider][readonly]`,\n providers: [TuiDestroyService],\n})\nexport class TuiSliderReadonlyDirective {\n @Input()\n @tuiDefaultProp()\n readonly: string | boolean = true;\n\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLInputElement>,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(TuiDestroyService)\n destroy$: Observable<unknown>,\n ) {\n const touchStart$ = typedFromEvent(elementRef.nativeElement, `touchstart`, {\n passive: false,\n });\n const touchMove$ = typedFromEvent(documentRef, `touchmove`, {\n passive: false,\n });\n const touchEnd$ = typedFromEvent(documentRef, `touchend`, {\n passive: true,\n });\n\n const shouldPreventMove$ = merge(\n touchStart$.pipe(\n tap(e => this.preventEvent(e)),\n mapTo(true),\n ),\n touchEnd$.pipe(mapTo(false)),\n );\n\n /**\n * @bad TODO think about another solution.\n * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.\n */\n combineLatest([touchMove$, shouldPreventMove$])\n .pipe(\n filter(([_, shouldPreventMove]) => shouldPreventMove),\n takeUntil(destroy$),\n )\n .subscribe(([moveEvent]) => this.preventEvent(moveEvent));\n }\n\n @HostListener(`mousedown`, [`$event`])\n preventEvent(event: Event): void {\n if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {\n event.preventDefault();\n }\n }\n\n @HostListener(`keydown`, [`$event`])\n preventKeyboardInteraction(event: KeyboardEvent): void {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from '../../slider.component';\n\n@Component({\n selector: `[tuiSliderThumbLabel]`,\n templateUrl: `./slider-thumb-label.template.html`,\n styleUrls: [`./slider-thumb-label.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderThumbLabelComponent implements AfterContentInit {\n @ContentChild(TuiSliderComponent)\n readonly slider?: TuiSliderComponent;\n\n @ContentChild(NgControl)\n readonly control?: NgControl;\n\n get size(): TuiSizeS {\n return this.slider?.size || `m`;\n }\n\n get ratio(): number {\n return (this.slider?.valuePercentage || 0) / 100;\n }\n\n get ghostLeft(): number {\n return this.ratio * (this.slider?.elementRef.nativeElement.offsetWidth || 0);\n }\n\n ngAfterContentInit(): void {\n tuiAssert.assert(\n Boolean(this.control?.valueChanges),\n `\\n[tuiSliderThumbLabel] expected <input tuiSlider type=\"range\" /> to use Angular Forms.\\n` +\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\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: 3.0 remove\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): void {\n this.updateValue(this.valueGuard(value));\n }\n\n decrement(): void {\n this.processStep(false);\n }\n\n increment(): void {\n this.processStep(true);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected processStep(increment: boolean): void {\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 {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 {\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n} from './helpers/slider-key-steps.directive';\nimport {TuiSliderReadonlyDirective} from './helpers/slider-readonly.directive';\nimport {TuiSliderThumbLabelComponent} from './helpers/slider-thumb-label/slider-thumb-label.component';\nimport {TuiSliderComponent} from './slider.component';\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 TuiSliderThumbLabelComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderThumbLabelComponent,\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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"}
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/helpers/slider-key-steps.directive.ts","ng://@taiga-ui/kit/components/slider/helpers/slider-readonly.directive.ts","ng://@taiga-ui/kit/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.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 Injector,\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 tuiPure,\n watch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TuiSliderKeyStepsDirective} from './helpers/slider-key-steps.directive';\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 const {elementRef, control, hasKeySteps} = this;\n\n if (!hasKeySteps && control instanceof NgModel) {\n /**\n * If developer uses `[(ngModel)]` and programmatically change value,\n * the `elementRef.nativeElement.value` is equal to the previous value at this moment.\n */\n return control.viewModel;\n }\n\n return Number(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) || 0;\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 @tuiPure\n get hasKeySteps(): boolean {\n return Boolean(this.injector.get(TuiSliderKeyStepsDirective, null));\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(Injector) private readonly injector: Injector,\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 forwardRef,\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 clamp,\n isNativeFocused,\n tuiAssert,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiCheckKeyStepsHaveMinMaxPercents,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\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]': `safeCurrentValue`,\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(\n tuiCheckKeyStepsHaveMinMaxPercents,\n `Should contain min and max values`,\n )\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 return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);\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(forwardRef(() => TuiSliderComponent))\n private readonly slider: TuiSliderComponent,\n ) {\n super(control, changeDetectorRef);\n }\n\n /**\n * TODO: 3.0\n * ___\n * Also add @HostListener(`input`): to be similar to\n * {@link https://github.com/angular/angular/blob/main/packages/forms/src/directives/range_value_accessor.ts#L47-L48 RangeValueAccessor}\n * ___\n * Remove {@link keyStepsInput}\n */\n @HostListener(`change`)\n updateControlValue(): void {\n this.updateValue(this.controlValue);\n }\n\n writeValue(controlValue: number | null): void {\n if (controlValue === null) {\n return;\n }\n\n const clampedControlValue = clamp(controlValue, this.min, this.max);\n\n tuiAssert.assert(\n controlValue === clampedControlValue,\n `\\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max`,\n );\n\n this.slider.value = this.transformToNativeValue(clampedControlValue);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(controlValue: number): number {\n const {min, max} = this.slider;\n const newValuePercentage = tuiKeyStepValueToPercentage(\n controlValue,\n this.keySteps,\n );\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\n return tuiPercentageToKeyStepValue(percentage, keySteps);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, HostListener, Inject, Input} from '@angular/core';\nimport {\n tuiCoerceBooleanProperty,\n tuiDefaultProp,\n TuiDestroyService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {combineLatest, merge, Observable} from 'rxjs';\nimport {filter, mapTo, takeUntil, tap} from 'rxjs/operators';\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// @dynamic\n@Directive({\n selector: `input[tuiSlider][readonly]`,\n providers: [TuiDestroyService],\n})\nexport class TuiSliderReadonlyDirective {\n @Input()\n @tuiDefaultProp()\n readonly: string | boolean = true;\n\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLInputElement>,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(TuiDestroyService)\n destroy$: Observable<unknown>,\n ) {\n const touchStart$ = typedFromEvent(elementRef.nativeElement, `touchstart`, {\n passive: false,\n });\n const touchMove$ = typedFromEvent(documentRef, `touchmove`, {\n passive: false,\n });\n const touchEnd$ = typedFromEvent(documentRef, `touchend`, {\n passive: true,\n });\n\n const shouldPreventMove$ = merge(\n touchStart$.pipe(\n tap(e => this.preventEvent(e)),\n mapTo(true),\n ),\n touchEnd$.pipe(mapTo(false)),\n );\n\n /**\n * @bad TODO think about another solution.\n * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.\n */\n combineLatest([touchMove$, shouldPreventMove$])\n .pipe(\n filter(([_, shouldPreventMove]) => shouldPreventMove),\n takeUntil(destroy$),\n )\n .subscribe(([moveEvent]) => this.preventEvent(moveEvent));\n }\n\n @HostListener(`mousedown`, [`$event`])\n preventEvent(event: Event): void {\n if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {\n event.preventDefault();\n }\n }\n\n @HostListener(`keydown`, [`$event`])\n preventKeyboardInteraction(event: KeyboardEvent): void {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from '../../slider.component';\n\n@Component({\n selector: `[tuiSliderThumbLabel]`,\n templateUrl: `./slider-thumb-label.template.html`,\n styleUrls: [`./slider-thumb-label.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderThumbLabelComponent implements AfterContentInit {\n @ContentChild(TuiSliderComponent)\n readonly slider?: TuiSliderComponent;\n\n @ContentChild(NgControl)\n readonly control?: NgControl;\n\n get size(): TuiSizeS {\n return this.slider?.size || `m`;\n }\n\n get ratio(): number {\n return (this.slider?.valuePercentage || 0) / 100;\n }\n\n get ghostLeft(): number {\n return this.ratio * (this.slider?.elementRef.nativeElement.offsetWidth || 0);\n }\n\n ngAfterContentInit(): void {\n tuiAssert.assert(\n Boolean(this.control?.valueChanges),\n `\\n[tuiSliderThumbLabel] expected <input tuiSlider type=\"range\" /> to use Angular Forms.\\n` +\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\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: 3.0 remove\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): void {\n this.updateValue(this.valueGuard(value));\n }\n\n decrement(): void {\n this.processStep(false);\n }\n\n increment(): void {\n this.processStep(true);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected processStep(increment: boolean): void {\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 {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 {\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n} from './helpers/slider-key-steps.directive';\nimport {TuiSliderReadonlyDirective} from './helpers/slider-readonly.directive';\nimport {TuiSliderThumbLabelComponent} from './helpers/slider-thumb-label/slider-thumb-label.component';\nimport {TuiSliderComponent} from './slider.component';\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 TuiSliderThumbLabelComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderThumbLabelComponent,\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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"}
@@ -169,13 +169,13 @@ __decorate([
169
169
  TuiStepComponent = __decorate([
170
170
  Component({
171
171
  selector: `button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]`,
172
- 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",
172
+ template: "<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconWarningLarge\"\n class=\"t-marker t-marker_error\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconCheckLarge\"\n class=\"t-marker t-marker_pass\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n",
173
173
  changeDetection: ChangeDetectionStrategy.OnPush,
174
174
  providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],
175
175
  host: {
176
176
  type: `button`,
177
177
  },
178
- styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:2rem;outline:0;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:'';position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.marker{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .marker{background:var(--tui-base-03);color:var(--tui-base-07)}.marker_index:before{content:counter(steps)}:host:hover .marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not(._active) .marker_custom~.marker_index,:host:not([data-state=normal]):not(._active) .marker_index{display:none}.marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host._active .marker_error,:host:not([data-state=error]) .marker_error{display:none}:host._active .marker_pass,:host:not([data-state=pass]) .marker_pass{display:none}:host._active .marker_custom,:host:not([data-state=normal]) .marker_custom{display:none}:host:hover .marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}"]
178
+ styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:2rem;outline:0;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:'';position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not(._active) .t-marker_custom~.t-marker_index,:host:not([data-state=normal]):not(._active) .t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host._active .t-marker_error,:host:not([data-state=error]) .t-marker_error{display:none}:host._active .t-marker_pass,:host:not([data-state=pass]) .t-marker_pass{display:none}:host._active .t-marker_custom,:host:not([data-state=normal]) .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}"]
179
179
  }),
180
180
  __param(0, Inject(TuiFocusVisibleService)),
181
181
  __param(1, Inject(TuiRouterLinkActiveService)),
@@ -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 tuiAssertIsHTMLElement,\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\nconst ONLY_HORIZONTAL_SCROLL: ScrollIntoViewOptions = {\n block: `nearest`,\n inline: `center`,\n};\n\nconst ONLY_VERTICAL_SCROLL: ScrollIntoViewOptions = {\n block: `center`,\n inline: `nearest`,\n};\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): void {\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): void {\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): void {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n this.scrollIntoView(index);\n }\n\n @tuiPure\n private getNativeElements(\n queryList: QueryList<ElementRef<HTMLElement>>,\n ): HTMLElement[] {\n return queryList.map(({nativeElement}) => nativeElement);\n }\n\n private moveFocus(current: EventTarget, step: number): void {\n tuiAssertIsHTMLElement(current);\n\n const stepElements = this.getNativeElements(this.steps);\n\n moveFocus(stepElements.indexOf(current), stepElements, step);\n }\n\n private scrollIntoView(targetStepIndex: number): void {\n this.getNativeElements(this.steps)[targetStepIndex].scrollIntoView(\n this.orientation === `vertical`\n ? ONLY_VERTICAL_SCROLL\n : ONLY_HORIZONTAL_SCROLL,\n );\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: `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(): void {\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 tuiAssertIsHTMLElement,\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\nconst ONLY_HORIZONTAL_SCROLL: ScrollIntoViewOptions = {\n block: `nearest`,\n inline: `center`,\n};\n\nconst ONLY_VERTICAL_SCROLL: ScrollIntoViewOptions = {\n block: `center`,\n inline: `nearest`,\n};\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): void {\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): void {\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): void {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n this.scrollIntoView(index);\n }\n\n @tuiPure\n private getNativeElements(\n queryList: QueryList<ElementRef<HTMLElement>>,\n ): HTMLElement[] {\n return queryList.map(({nativeElement}) => nativeElement);\n }\n\n private moveFocus(current: EventTarget, step: number): void {\n tuiAssertIsHTMLElement(current);\n\n const stepElements = this.getNativeElements(this.steps);\n\n moveFocus(stepElements.indexOf(current), stepElements, step);\n }\n\n private scrollIntoView(targetStepIndex: number): void {\n this.getNativeElements(this.steps)[targetStepIndex].scrollIntoView(\n this.orientation === `vertical`\n ? ONLY_VERTICAL_SCROLL\n : ONLY_HORIZONTAL_SCROLL,\n );\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: `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(): void {\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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"}
@@ -218,7 +218,7 @@ TuiTagComponent = __decorate([
218
218
  host: {
219
219
  '($.data-mode.attr)': `mode$`,
220
220
  },
221
- styles: [":host{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:inline-block;font:var(--tui-font-text-s);border-radius:var(--tui-radius-s);max-width:100%;cursor:default;outline:0;text-decoration:none}:host:after{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;pointer-events:none}:host._hoverable:active[data-tui-host-status=custom]:after,:host._hoverable:hover[data-tui-host-status=custom]:after{background-color:var(--tui-clear)}:host:focus:after{border:2px solid var(--tui-focus)}:host[data-tui-host-status=primary]{background-color:var(--tui-primary);color:var(--tui-primary-text)}:host[data-tui-host-status=primary]._hoverable:hover{background-color:var(--tui-primary-hover)}:host[data-tui-host-status=primary]._hoverable:active{background-color:var(--tui-primary-active)}:host[data-tui-host-status=error]{background-color:var(--tui-error-bg);color:var(--tui-text-01)}:host[data-tui-host-status=error]._hoverable:active,:host[data-tui-host-status=error]._hoverable:hover{background-color:var(--tui-error-bg-hover)}:host[data-tui-host-status=error][data-mode=onDark]{background-color:var(--tui-error-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=error][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=error][data-mode=onDark]._hoverable:hover{background-color:var(--tui-error-bg-night-hover)}:host[data-tui-host-status=success]{background-color:var(--tui-success-bg);color:var(--tui-text-01)}:host[data-tui-host-status=success]._hoverable:active,:host[data-tui-host-status=success]._hoverable:hover{background-color:var(--tui-success-bg-hover)}:host[data-tui-host-status=success][data-mode=onDark]{background-color:var(--tui-success-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=success][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=success][data-mode=onDark]._hoverable:hover{background-color:var(--tui-success-bg-night-hover)}:host[data-tui-host-status=warning]{background-color:var(--tui-warning-bg);color:var(--tui-text-01)}:host[data-tui-host-status=warning]._hoverable:active,:host[data-tui-host-status=warning]._hoverable:hover{background-color:var(--tui-warning-bg-hover)}:host[data-tui-host-status=warning][data-mode=onDark]{background-color:var(--tui-warning-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:hover{background-color:var(--tui-warning-bg-night-hover)}:host[data-tui-host-status=default]{color:var(--tui-text-01-night);background-color:var(--tui-base-06)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:hover{background-color:var(--tui-base-07)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:active{background-color:var(--tui-base-08)}:host[data-tui-host-status=default][data-mode=onDark]{color:var(--tui-text-01-night);background-color:var(--tui-clear-inverse)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:hover{background-color:var(--tui-clear-inverse-hover)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:active{background-color:var(--tui-clear-inverse-active)}:host[data-tui-host-status=default][data-mode=onDark]:focus:after{border:2px solid var(--tui-base-01)}:host[data-tui-host-status=default][data-mode=onLight]{background-color:var(--tui-clear);color:var(--tui-text-01)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:hover{background-color:var(--tui-clear-hover)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:active{background-color:var(--tui-clear-active)}:host._editing{background:0 0!important}:host._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host._hoverable{cursor:pointer}:host._autocolor{color:var(--tui-text-01)}.t-text{white-space:pre;overflow:hidden;text-overflow:ellipsis;padding-right:.02em}.t-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;width:auto;align-items:center;border-radius:inherit}:host[data-size='s'] .t-tag{font:var(--tui-font-text-xs);height:1.25rem;padding:0 .5rem}:host[data-size='m'] .t-tag{height:var(--tui-height-xs);padding:0 .5rem}:host[data-size='l'] .t-tag{height:var(--tui-height-s);padding:0 .75rem}:host._has-icon[data-size='s'] .t-tag{padding:0 .125rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem}:host._has-icon[data-size='m'] .t-tag{padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}:host._has-icon[data-size='l'] .t-tag{padding:0 .25rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host._editing .t-tag{visibility:hidden}:host._disabled._has-icon[data-size='m'] .t-tag,:host._disabled._has-icon[data-size='s'] .t-tag{padding:0 .5rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem}:host._disabled._has-icon[data-size='l'] .t-tag{padding:0 .75rem}.t-edit{padding:0 0 0 .5rem;margin:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;font:var(--tui-font-text-s);color:var(--tui-text-01);width:100%;box-sizing:border-box;-webkit-padding-start:.5rem;padding-inline-start:.5rem;-webkit-padding-end:0;padding-inline-end:0}.t-edit:-webkit-autofill,.t-edit:-webkit-autofill:focus,.t-edit:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-size='s'] .t-edit{height:1.25rem;line-height:1.25rem}:host[data-size='m'] .t-edit{height:var(--tui-height-xs);line-height:var(--tui-height-xs)}:host[data-size='l'] .t-edit{height:var(--tui-height-s);line-height:var(--tui-height-s);padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.t-icon{margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;height:100%}.t-icon:not(.t-icon_loader){cursor:pointer;pointer-events:all;opacity:var(--tui-disabled-opacity)}.t-icon:hover{opacity:1}.t-icon_loader{width:1rem;height:1rem;margin:0 .25rem}:host[data-size='s'] .t-icon_loader{margin:0 .375rem 0 .75rem;-webkit-margin-start:.75rem;margin-inline-start:.75rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem;width:.5rem;height:.5rem}:host[data-size='l'] .t-icon_loader{margin:0 .25rem 0 .5rem;-webkit-margin-start:.5rem;margin-inline-start:.5rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.t-left-content{margin:0 .25rem 0 0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:.25rem;margin-inline-end:.25rem;width:1rem;height:1rem}"]
221
+ styles: [":host{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:inline-block;font:var(--tui-font-text-s);border-radius:var(--tui-radius-s);max-width:100%;cursor:default;outline:0;text-decoration:none}:host:after{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;pointer-events:none}:host._hoverable:active[data-tui-host-status=custom]:after,:host._hoverable:hover[data-tui-host-status=custom]:after{background-color:var(--tui-clear)}:host:focus:after{border:2px solid var(--tui-focus)}:host[data-tui-host-status=primary]{background-color:var(--tui-primary);color:var(--tui-primary-text)}:host[data-tui-host-status=primary]._hoverable:hover{background-color:var(--tui-primary-hover)}:host[data-tui-host-status=primary]._hoverable:active{background-color:var(--tui-primary-active)}:host[data-tui-host-status=error]{background-color:var(--tui-error-bg);color:var(--tui-text-01)}:host[data-tui-host-status=error]._hoverable:active,:host[data-tui-host-status=error]._hoverable:hover{background-color:var(--tui-error-bg-hover)}:host[data-tui-host-status=error][data-mode=onDark]{background-color:var(--tui-error-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=error][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=error][data-mode=onDark]._hoverable:hover{background-color:var(--tui-error-bg-night-hover)}:host[data-tui-host-status=success]{background-color:var(--tui-success-bg);color:var(--tui-text-01)}:host[data-tui-host-status=success]._hoverable:active,:host[data-tui-host-status=success]._hoverable:hover{background-color:var(--tui-success-bg-hover)}:host[data-tui-host-status=success][data-mode=onDark]{background-color:var(--tui-success-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=success][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=success][data-mode=onDark]._hoverable:hover{background-color:var(--tui-success-bg-night-hover)}:host[data-tui-host-status=warning]{background-color:var(--tui-warning-bg);color:var(--tui-text-01)}:host[data-tui-host-status=warning]._hoverable:active,:host[data-tui-host-status=warning]._hoverable:hover{background-color:var(--tui-warning-bg-hover)}:host[data-tui-host-status=warning][data-mode=onDark]{background-color:var(--tui-warning-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:hover{background-color:var(--tui-warning-bg-night-hover)}:host[data-tui-host-status=default]{color:var(--tui-text-01-night);background-color:var(--tui-base-06)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:hover{background-color:var(--tui-base-07)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:active{background-color:var(--tui-base-08)}:host[data-tui-host-status=default][data-mode=onDark]{color:var(--tui-text-01-night);background-color:var(--tui-clear-inverse)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:hover{background-color:var(--tui-clear-inverse-hover)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:active{background-color:var(--tui-clear-inverse-active)}:host[data-tui-host-status=default][data-mode=onDark]:focus:after{border:2px solid var(--tui-base-01)}:host[data-tui-host-status=default][data-mode=onLight]{background-color:var(--tui-clear);color:var(--tui-text-01)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:hover{background-color:var(--tui-clear-hover)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:active{background-color:var(--tui-clear-active)}:host._editing{background:0 0!important}:host._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host._hoverable{cursor:pointer}:host._autocolor{color:var(--tui-text-01)}.t-text{white-space:pre;overflow:hidden;text-overflow:ellipsis;padding-right:.02em}.t-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:flex;width:auto;align-items:center;border-radius:inherit}:host[data-size='s'] .t-tag{font:var(--tui-font-text-xs);height:1.25rem;padding:0 .5rem}:host[data-size='m'] .t-tag{height:var(--tui-height-xs);padding:0 .5rem}:host[data-size='l'] .t-tag{height:var(--tui-height-s);padding:0 .75rem}:host._has-icon[data-size='s'] .t-tag{padding:0 .125rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem}:host._has-icon[data-size='m'] .t-tag{padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}:host._has-icon[data-size='l'] .t-tag{padding:0 .25rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host._editing .t-tag{visibility:hidden}:host._disabled._has-icon[data-size='m'] .t-tag,:host._disabled._has-icon[data-size='s'] .t-tag{padding:0 .5rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem}:host._disabled._has-icon[data-size='l'] .t-tag{padding:0 .75rem}.t-edit{padding:0 0 0 .5rem;margin:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;font:var(--tui-font-text-s);color:var(--tui-text-01);width:100%;box-sizing:border-box;-webkit-padding-start:.5rem;padding-inline-start:.5rem;-webkit-padding-end:0;padding-inline-end:0}.t-edit:-webkit-autofill,.t-edit:-webkit-autofill:focus,.t-edit:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:transparent!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-size='s'] .t-edit{height:1.25rem;line-height:1.25rem}:host[data-size='m'] .t-edit{height:var(--tui-height-xs);line-height:var(--tui-height-xs)}:host[data-size='l'] .t-edit{height:var(--tui-height-s);line-height:var(--tui-height-s);padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.t-icon{margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;height:100%}.t-icon:not(.t-icon_loader){cursor:pointer;pointer-events:all;opacity:var(--tui-disabled-opacity)}.t-icon:hover{opacity:1}.t-icon_loader{width:1rem;height:1rem;margin:0 .25rem}:host[data-size='s'] .t-icon_loader{margin:0 .375rem 0 .75rem;-webkit-margin-start:.75rem;margin-inline-start:.75rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem;width:.5rem;height:.5rem}:host[data-size='l'] .t-icon_loader{margin:0 .25rem 0 .5rem;-webkit-margin-start:.5rem;margin-inline-start:.5rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.t-left-content{margin:0 .25rem 0 0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:.25rem;margin-inline-end:.25rem;width:1rem;height:1rem}"]
222
222
  }),
223
223
  __param(0, Inject(ElementRef)),
224
224
  __param(1, Inject(TUI_MODE)),