@taiga-ui/kit 2.42.0 → 2.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/abstract/slider/slider.d.ts +3 -3
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.js +3 -2
  10. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-avatar.umd.js +3 -3
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-combo-box.umd.js +4 -11
  32. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  34. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +65 -45
  36. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  38. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-files.umd.js +49 -49
  42. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-files.umd.min.js +2 -2
  44. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  48. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  50. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +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 +3 -1
  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.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +4 -2
  57. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-date.umd.js +3 -1
  61. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  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 +1 -1
  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 +3 -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 +1 -1
  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.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -3
  87. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-range.umd.js +5 -1
  91. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  95. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-tag.umd.js +9 -8
  99. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-time.umd.js +1 -1
  103. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +7 -94
  109. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +2 -2
  111. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +12 -25
  113. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +2 -2
  115. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
  117. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  119. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  123. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  125. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  127. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  129. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +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 +4 -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 +67 -13
  137. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-range.umd.min.js +2 -2
  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.map +1 -1
  141. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-select.umd.js +1 -7
  143. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  145. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-slider.umd.js +52 -49
  147. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  149. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -0
  151. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  153. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  154. package/bundles/taiga-ui-kit-components-tabs.umd.js +67 -24
  155. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +2 -2
  157. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  161. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  163. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  167. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  173. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  174. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  176. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  177. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  179. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  180. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  181. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  182. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  183. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  184. package/bundles/taiga-ui-kit-enums.umd.js +2 -2
  185. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  186. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  187. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  188. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  189. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  190. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  191. package/bundles/taiga-ui-kit-utils-dom.umd.js +2 -2
  192. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  193. package/bundles/taiga-ui-kit-utils-dom.umd.min.js +1 -1
  194. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  195. package/bundles/taiga-ui-kit-utils-mask.umd.js +2 -2
  196. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  197. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  198. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  199. package/bundles/taiga-ui-kit-utils-math.umd.js +253 -4
  200. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  201. package/bundles/taiga-ui-kit-utils-math.umd.min.js +15 -1
  202. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  203. package/bundles/taiga-ui-kit-utils.umd.js +12 -4
  204. package/bundles/taiga-ui-kit-utils.umd.js.map +1 -1
  205. package/bundles/taiga-ui-kit-utils.umd.min.js +1 -1
  206. package/components/accordion/accordion-item/accordion-item-content.directive.d.ts +2 -2
  207. package/components/accordion/accordion-item/accordion-item.component.d.ts +2 -2
  208. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  209. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  210. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  211. package/components/breadcrumbs/breadcrumbs-wrapper.component.d.ts +1 -1
  212. package/components/combo-box/combo-box.component.d.ts +1 -2
  213. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  214. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +5 -4
  215. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +3 -13
  216. package/components/data-list-wrapper/data-list-wrapper.d.ts +15 -0
  217. package/components/data-list-wrapper/index.d.ts +1 -0
  218. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  219. package/components/files/files.component.d.ts +1 -1
  220. package/components/files/index.d.ts +1 -0
  221. package/components/files/taiga-ui-kit-components-files.d.ts +0 -1
  222. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  223. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  224. package/components/input-count/input-count-options.d.ts +2 -2
  225. package/components/input-count/input-count.component.d.ts +2 -2
  226. package/components/input-date/input-date.providers.d.ts +2 -1
  227. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  228. package/components/input-date-range/input-date-range.providers.d.ts +2 -1
  229. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  230. package/components/input-date-time/input-date-time.providers.d.ts +2 -1
  231. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  232. package/components/input-file/file/file.component.d.ts +2 -2
  233. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  234. package/components/input-number/input-number.component.d.ts +2 -2
  235. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  236. package/components/input-password/input-password-options.d.ts +2 -2
  237. package/components/input-password/input-password.directive.d.ts +2 -1
  238. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  239. package/components/input-phone/input-phone.component.d.ts +2 -2
  240. package/components/input-range/input-range.component.d.ts +3 -2
  241. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  242. package/components/input-tag/input-tag.component.d.ts +4 -7
  243. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  244. package/components/input-time/input-time-options.d.ts +1 -1
  245. package/components/input-time/input-time.component.d.ts +2 -2
  246. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  247. package/components/line-clamp/index.d.ts +0 -1
  248. package/components/line-clamp/line-clamp.component.d.ts +0 -1
  249. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  250. package/components/marker-icon/marker-icon.component.d.ts +2 -3
  251. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  252. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +3 -3
  253. package/components/multi-select/multi-select.component.d.ts +2 -2
  254. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  255. package/components/radio/radio.component.d.ts +2 -2
  256. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  257. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  258. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  259. package/components/range/range.component.d.ts +11 -2
  260. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  261. package/components/select/select.component.d.ts +0 -1
  262. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  263. package/components/select-option/select-option.component.d.ts +2 -2
  264. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  265. package/components/slider/slider-readonly.directive.d.ts +4 -1
  266. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  267. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  268. package/components/tabs/index.d.ts +1 -0
  269. package/components/tabs/tab.directive.d.ts +2 -2
  270. package/components/tabs/tabs/tabs.component.d.ts +3 -1
  271. package/components/tabs/tabs-options.d.ts +9 -0
  272. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +9 -4
  273. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  274. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  275. package/components/tree/misc/tree.interfaces.d.ts +1 -1
  276. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  277. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +1 -1
  278. package/enums/dropdown-position.d.ts +2 -1
  279. package/enums/step-state.d.ts +2 -1
  280. package/enums/taiga-ui-kit-enums.metadata.json +1 -1
  281. package/esm2015/abstract/input-slider.js +1 -1
  282. package/esm2015/abstract/slider/slider.js +3 -2
  283. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +1 -1
  284. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  285. package/esm2015/components/accordion/accordion.component.js +1 -1
  286. package/esm2015/components/action/action.component.js +4 -3
  287. package/esm2015/components/avatar/avatar.component.js +4 -4
  288. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
  289. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  290. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  291. package/esm2015/components/carousel/carousel.component.js +1 -1
  292. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  293. package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
  294. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
  295. package/esm2015/components/combo-box/combo-box-strict.directive.js +4 -2
  296. package/esm2015/components/combo-box/combo-box.component.js +3 -12
  297. package/esm2015/components/combo-box/combo-box.directive.js +1 -1
  298. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +15 -10
  299. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +7 -40
  300. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +51 -0
  301. package/esm2015/components/data-list-wrapper/index.js +2 -1
  302. package/esm2015/components/field-error/field-error.component.js +1 -1
  303. package/esm2015/components/files/file/file.component.js +1 -1
  304. package/esm2015/components/files/files.component.js +1 -1
  305. package/esm2015/components/files/index.js +2 -1
  306. package/esm2015/components/files/taiga-ui-kit-components-files.js +1 -2
  307. package/esm2015/components/filter/filter.component.js +1 -1
  308. package/esm2015/components/input/input.component.js +1 -1
  309. package/esm2015/components/input/input.directive.js +1 -1
  310. package/esm2015/components/input-copy/input-copy.component.js +1 -1
  311. package/esm2015/components/input-copy/input-copy.directive.js +1 -1
  312. package/esm2015/components/input-copy/input-copy.module.js +3 -3
  313. package/esm2015/components/input-count/input-count-options.js +1 -1
  314. package/esm2015/components/input-count/input-count.component.js +1 -1
  315. package/esm2015/components/input-count/input-count.directive.js +1 -1
  316. package/esm2015/components/input-date/input-date.component.js +1 -1
  317. package/esm2015/components/input-date/input-date.directive.js +1 -1
  318. package/esm2015/components/input-date/input-date.providers.js +1 -1
  319. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  320. package/esm2015/components/input-date-range/input-date-range.directive.js +1 -1
  321. package/esm2015/components/input-date-range/input-date-range.providers.js +1 -1
  322. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  323. package/esm2015/components/input-date-time/input-date-time.directive.js +1 -1
  324. package/esm2015/components/input-date-time/input-date-time.providers.js +1 -1
  325. package/esm2015/components/input-file/file/file.component.js +1 -1
  326. package/esm2015/components/input-file/input-file.component.js +1 -1
  327. package/esm2015/components/input-files/input-files.component.js +1 -1
  328. package/esm2015/components/input-inline/input-inline.component.js +1 -1
  329. package/esm2015/components/input-month/input-month.component.js +2 -2
  330. package/esm2015/components/input-month/input-month.directive.js +1 -1
  331. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  332. package/esm2015/components/input-month-range/input-month-range.directive.js +1 -1
  333. package/esm2015/components/input-number/input-number.component.js +6 -5
  334. package/esm2015/components/input-number/input-number.directive.js +1 -1
  335. package/esm2015/components/input-password/input-password-options.js +3 -3
  336. package/esm2015/components/input-password/input-password.component.js +1 -1
  337. package/esm2015/components/input-password/input-password.directive.js +1 -1
  338. package/esm2015/components/input-phone/input-phone.component.js +2 -4
  339. package/esm2015/components/input-phone/input-phone.directive.js +1 -1
  340. package/esm2015/components/input-phone-international/input-phone-international.component.js +1 -1
  341. package/esm2015/components/input-range/input-range.component.js +7 -3
  342. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  343. package/esm2015/components/input-tag/input-tag.component.js +10 -9
  344. package/esm2015/components/input-time/input-time-options.js +1 -1
  345. package/esm2015/components/input-time/input-time.component.js +2 -2
  346. package/esm2015/components/line-clamp/index.js +1 -2
  347. package/esm2015/components/line-clamp/line-clamp.component.js +3 -6
  348. package/esm2015/components/line-clamp/line-clamp.module.js +2 -3
  349. package/esm2015/components/marker-icon/marker-icon.component.js +9 -18
  350. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +2 -2
  351. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  352. package/esm2015/components/pagination/pagination.component.js +1 -1
  353. package/esm2015/components/radio/radio.component.js +5 -3
  354. package/esm2015/components/radio-block/radio-block.component.js +2 -2
  355. package/esm2015/components/radio-labeled/radio-labeled.component.js +2 -2
  356. package/esm2015/components/radio-list/radio-list.component.js +1 -1
  357. package/esm2015/components/range/range.component.js +70 -13
  358. package/esm2015/components/select/select.component.js +3 -9
  359. package/esm2015/components/select/select.directive.js +1 -1
  360. package/esm2015/components/select-option/select-option.component.js +1 -1
  361. package/esm2015/components/slider/slider-key-steps.directive.js +11 -28
  362. package/esm2015/components/slider/slider-old.component.js +1 -1
  363. package/esm2015/components/slider/slider-readonly.directive.js +38 -9
  364. package/esm2015/components/slider/slider.component.js +2 -2
  365. package/esm2015/components/stepper/step/step.component.js +1 -1
  366. package/esm2015/components/stepper/stepper.component.js +3 -2
  367. package/esm2015/components/tabs/index.js +2 -1
  368. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  369. package/esm2015/components/tabs/tab.directive.js +1 -1
  370. package/esm2015/components/tabs/tabs/tabs.component.js +14 -10
  371. package/esm2015/components/tabs/tabs-options.js +14 -0
  372. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +38 -17
  373. package/esm2015/components/tag/tag.component.js +1 -1
  374. package/esm2015/components/text-area/text-area.component.js +3 -3
  375. package/esm2015/components/text-area/text-area.directive.js +1 -1
  376. package/esm2015/components/toggle/toggle.component.js +1 -1
  377. package/esm2015/components/tree/components/tree/tree.component.js +2 -2
  378. package/esm2015/components/tree/components/tree-item/tree-item.component.js +1 -1
  379. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +1 -1
  380. package/esm2015/components/tree/directives/tree-controller.directive.js +1 -1
  381. package/esm2015/components/tree/directives/tree-item-controller.directive.js +1 -1
  382. package/esm2015/components/tree/directives/tree-node.directive.js +1 -1
  383. package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
  384. package/esm2015/components/tree/misc/tree.service.js +1 -1
  385. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +1 -1
  386. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +1 -1
  387. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +1 -1
  388. package/esm2015/directives/highlight/highlight.directive.js +1 -1
  389. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +1 -1
  390. package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
  391. package/esm2015/directives/present/present.directive.js +1 -1
  392. package/esm2015/directives/project-class/project-class.directive.js +1 -1
  393. package/esm2015/enums/dropdown-position.js +2 -2
  394. package/esm2015/enums/step-state.js +2 -2
  395. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +1 -1
  396. package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -1
  397. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  398. package/esm2015/types/handler-with-context.js +1 -1
  399. package/esm2015/types/key-steps.js +1 -1
  400. package/esm2015/utils/dom/get-word-range.js +3 -3
  401. package/esm2015/utils/dom/scroll-to-element.js +1 -1
  402. package/esm2015/utils/dom/set-range-offset.js +1 -1
  403. package/esm2015/utils/index.js +2 -1
  404. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +3 -3
  405. package/esm2015/utils/mask/create-time-mask.js +1 -1
  406. package/esm2015/utils/math/index.js +2 -1
  407. package/esm2015/utils/math/key-steps.js +23 -0
  408. package/esm5/abstract/input-slider.js +1 -1
  409. package/esm5/abstract/slider/slider.js +3 -2
  410. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +1 -1
  411. package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
  412. package/esm5/components/accordion/accordion.component.js +1 -1
  413. package/esm5/components/action/action.component.js +4 -3
  414. package/esm5/components/avatar/avatar.component.js +4 -4
  415. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
  416. package/esm5/components/calendar-month/calendar-month.component.js +1 -1
  417. package/esm5/components/calendar-range/calendar-range.component.js +1 -1
  418. package/esm5/components/carousel/carousel.component.js +1 -1
  419. package/esm5/components/checkbox/checkbox.component.js +1 -1
  420. package/esm5/components/checkbox-block/checkbox-block.component.js +1 -1
  421. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
  422. package/esm5/components/combo-box/combo-box-strict.directive.js +4 -2
  423. package/esm5/components/combo-box/combo-box.component.js +3 -12
  424. package/esm5/components/combo-box/combo-box.directive.js +1 -1
  425. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +15 -10
  426. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +12 -55
  427. package/esm5/components/data-list-wrapper/data-list-wrapper.js +64 -0
  428. package/esm5/components/data-list-wrapper/index.js +2 -1
  429. package/esm5/components/field-error/field-error.component.js +1 -1
  430. package/esm5/components/files/file/file.component.js +1 -1
  431. package/esm5/components/files/files.component.js +1 -1
  432. package/esm5/components/files/index.js +2 -1
  433. package/esm5/components/files/taiga-ui-kit-components-files.js +1 -2
  434. package/esm5/components/filter/filter.component.js +1 -1
  435. package/esm5/components/input/input.component.js +1 -1
  436. package/esm5/components/input/input.directive.js +1 -1
  437. package/esm5/components/input-copy/input-copy.component.js +1 -1
  438. package/esm5/components/input-copy/input-copy.directive.js +1 -1
  439. package/esm5/components/input-copy/input-copy.module.js +3 -3
  440. package/esm5/components/input-count/input-count-options.js +1 -1
  441. package/esm5/components/input-count/input-count.component.js +1 -1
  442. package/esm5/components/input-count/input-count.directive.js +1 -1
  443. package/esm5/components/input-date/input-date.component.js +1 -1
  444. package/esm5/components/input-date/input-date.directive.js +1 -1
  445. package/esm5/components/input-date/input-date.providers.js +4 -2
  446. package/esm5/components/input-date-range/input-date-range.component.js +1 -1
  447. package/esm5/components/input-date-range/input-date-range.directive.js +1 -1
  448. package/esm5/components/input-date-range/input-date-range.providers.js +4 -2
  449. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  450. package/esm5/components/input-date-time/input-date-time.directive.js +1 -1
  451. package/esm5/components/input-date-time/input-date-time.providers.js +4 -2
  452. package/esm5/components/input-file/file/file.component.js +1 -1
  453. package/esm5/components/input-file/input-file.component.js +1 -1
  454. package/esm5/components/input-files/input-files.component.js +1 -1
  455. package/esm5/components/input-inline/input-inline.component.js +1 -1
  456. package/esm5/components/input-month/input-month.component.js +2 -2
  457. package/esm5/components/input-month/input-month.directive.js +1 -1
  458. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  459. package/esm5/components/input-month-range/input-month-range.directive.js +1 -1
  460. package/esm5/components/input-number/input-number.component.js +6 -5
  461. package/esm5/components/input-number/input-number.directive.js +1 -1
  462. package/esm5/components/input-password/input-password-options.js +2 -2
  463. package/esm5/components/input-password/input-password.component.js +1 -1
  464. package/esm5/components/input-password/input-password.directive.js +1 -1
  465. package/esm5/components/input-phone/input-phone.component.js +2 -4
  466. package/esm5/components/input-phone/input-phone.directive.js +1 -1
  467. package/esm5/components/input-phone-international/input-phone-international.component.js +1 -1
  468. package/esm5/components/input-range/input-range.component.js +6 -2
  469. package/esm5/components/input-slider/input-slider.component.js +2 -2
  470. package/esm5/components/input-tag/input-tag.component.js +10 -9
  471. package/esm5/components/input-time/input-time-options.js +1 -1
  472. package/esm5/components/input-time/input-time.component.js +2 -2
  473. package/esm5/components/line-clamp/index.js +1 -2
  474. package/esm5/components/line-clamp/line-clamp.component.js +3 -10
  475. package/esm5/components/line-clamp/line-clamp.module.js +2 -3
  476. package/esm5/components/marker-icon/marker-icon.component.js +9 -23
  477. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +2 -2
  478. package/esm5/components/multi-select/multi-select.component.js +2 -2
  479. package/esm5/components/pagination/pagination.component.js +1 -1
  480. package/esm5/components/radio/radio.component.js +5 -3
  481. package/esm5/components/radio-block/radio-block.component.js +2 -2
  482. package/esm5/components/radio-labeled/radio-labeled.component.js +2 -2
  483. package/esm5/components/radio-list/radio-list.component.js +1 -1
  484. package/esm5/components/range/range.component.js +68 -12
  485. package/esm5/components/select/select.component.js +3 -9
  486. package/esm5/components/select/select.directive.js +1 -1
  487. package/esm5/components/select-option/select-option.component.js +1 -1
  488. package/esm5/components/slider/slider-key-steps.directive.js +13 -43
  489. package/esm5/components/slider/slider-old.component.js +1 -1
  490. package/esm5/components/slider/slider-readonly.directive.js +45 -9
  491. package/esm5/components/slider/slider.component.js +2 -2
  492. package/esm5/components/stepper/step/step.component.js +1 -1
  493. package/esm5/components/stepper/stepper.component.js +3 -2
  494. package/esm5/components/tabs/index.js +2 -1
  495. package/esm5/components/tabs/tab/tab.component.js +1 -1
  496. package/esm5/components/tabs/tab.directive.js +1 -1
  497. package/esm5/components/tabs/tabs/tabs.component.js +14 -10
  498. package/esm5/components/tabs/tabs-options.js +15 -0
  499. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +42 -17
  500. package/esm5/components/tag/tag.component.js +1 -1
  501. package/esm5/components/text-area/text-area.component.js +3 -3
  502. package/esm5/components/text-area/text-area.directive.js +1 -1
  503. package/esm5/components/toggle/toggle.component.js +1 -1
  504. package/esm5/components/tree/components/tree/tree.component.js +2 -2
  505. package/esm5/components/tree/components/tree-item/tree-item.component.js +1 -1
  506. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +1 -1
  507. package/esm5/components/tree/directives/tree-controller.directive.js +1 -1
  508. package/esm5/components/tree/directives/tree-item-controller.directive.js +1 -1
  509. package/esm5/components/tree/directives/tree-node.directive.js +1 -1
  510. package/esm5/components/tree/misc/tree.interfaces.js +1 -1
  511. package/esm5/components/tree/misc/tree.service.js +1 -1
  512. package/esm5/directives/dropdown-context/dropdown-context.directive.js +1 -1
  513. package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +1 -1
  514. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +1 -1
  515. package/esm5/directives/highlight/highlight.directive.js +1 -1
  516. package/esm5/directives/lazy-loading/lazy-loading.directive.js +1 -1
  517. package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
  518. package/esm5/directives/present/present.directive.js +1 -1
  519. package/esm5/directives/project-class/project-class.directive.js +1 -1
  520. package/esm5/enums/dropdown-position.js +2 -2
  521. package/esm5/enums/step-state.js +2 -2
  522. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +1 -1
  523. package/esm5/pipes/field-error/field-error-content-pipe.js +1 -1
  524. package/esm5/pipes/field-error/field-error-pipe.js +1 -1
  525. package/esm5/types/handler-with-context.js +1 -1
  526. package/esm5/types/key-steps.js +1 -1
  527. package/esm5/utils/dom/get-word-range.js +3 -3
  528. package/esm5/utils/dom/scroll-to-element.js +1 -1
  529. package/esm5/utils/dom/set-range-offset.js +1 -1
  530. package/esm5/utils/index.js +2 -1
  531. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +3 -3
  532. package/esm5/utils/mask/create-time-mask.js +1 -1
  533. package/esm5/utils/math/index.js +2 -1
  534. package/esm5/utils/math/key-steps.js +30 -0
  535. package/fesm2015/taiga-ui-kit-abstract.js +2 -1
  536. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  537. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  538. package/fesm2015/taiga-ui-kit-components-action.js +3 -2
  539. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  540. package/fesm2015/taiga-ui-kit-components-avatar.js +3 -3
  541. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  542. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  543. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  544. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  546. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  547. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  548. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  549. package/fesm2015/taiga-ui-kit-components-combo-box.js +5 -12
  550. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  551. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +56 -38
  552. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  553. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  554. package/fesm2015/taiga-ui-kit-components-files.js +47 -47
  555. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  556. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  557. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  558. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  559. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  560. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  561. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  562. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  563. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  564. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  565. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  566. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  567. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  568. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  569. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  570. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  571. package/fesm2015/taiga-ui-kit-components-input-number.js +5 -4
  572. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  573. package/fesm2015/taiga-ui-kit-components-input-password.js +2 -2
  574. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  575. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  576. package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -3
  577. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  578. package/fesm2015/taiga-ui-kit-components-input-range.js +6 -2
  579. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  580. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  581. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  582. package/fesm2015/taiga-ui-kit-components-input-tag.js +9 -8
  583. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  584. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
  585. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  586. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  587. package/fesm2015/taiga-ui-kit-components-line-clamp.js +9 -91
  588. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  589. package/fesm2015/taiga-ui-kit-components-marker-icon.js +9 -18
  590. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  591. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -2
  592. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  593. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  594. package/fesm2015/taiga-ui-kit-components-radio-block.js +1 -1
  595. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  596. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +1 -1
  597. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  598. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  599. package/fesm2015/taiga-ui-kit-components-radio.js +4 -2
  600. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  601. package/fesm2015/taiga-ui-kit-components-range.js +70 -14
  602. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  603. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  604. package/fesm2015/taiga-ui-kit-components-select.js +2 -8
  605. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  606. package/fesm2015/taiga-ui-kit-components-slider.js +44 -35
  607. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  608. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -1
  609. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  610. package/fesm2015/taiga-ui-kit-components-tabs.js +62 -26
  611. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  612. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  613. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  614. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  615. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  616. package/fesm2015/taiga-ui-kit-components-tree.js +1 -1
  617. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  618. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  619. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  620. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  621. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  622. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  623. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  624. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  625. package/fesm2015/taiga-ui-kit-enums.js +2 -2
  626. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  627. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  628. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  629. package/fesm2015/taiga-ui-kit-utils-dom.js +2 -2
  630. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  631. package/fesm2015/taiga-ui-kit-utils-mask.js +2 -2
  632. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  633. package/fesm2015/taiga-ui-kit-utils-math.js +25 -1
  634. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  635. package/fesm2015/taiga-ui-kit-utils.js +1 -0
  636. package/fesm2015/taiga-ui-kit-utils.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-abstract.js +2 -1
  638. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  639. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  640. package/fesm5/taiga-ui-kit-components-action.js +3 -2
  641. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-components-avatar.js +3 -3
  643. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  644. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  645. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  646. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  647. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  648. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  649. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  650. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  651. package/fesm5/taiga-ui-kit-components-combo-box.js +5 -12
  652. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  653. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +66 -45
  654. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  655. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  656. package/fesm5/taiga-ui-kit-components-files.js +52 -52
  657. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  658. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  659. package/fesm5/taiga-ui-kit-components-input-copy.js +2 -2
  660. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  661. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  662. package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -1
  663. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  664. package/fesm5/taiga-ui-kit-components-input-date-time.js +4 -2
  665. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  666. package/fesm5/taiga-ui-kit-components-input-date.js +3 -1
  667. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  668. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  669. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  670. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  671. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  672. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  673. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  674. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  675. package/fesm5/taiga-ui-kit-components-input-number.js +5 -4
  676. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  677. package/fesm5/taiga-ui-kit-components-input-password.js +1 -1
  678. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  679. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  680. package/fesm5/taiga-ui-kit-components-input-phone.js +1 -3
  681. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  682. package/fesm5/taiga-ui-kit-components-input-range.js +5 -1
  683. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  684. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  685. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  686. package/fesm5/taiga-ui-kit-components-input-tag.js +9 -8
  687. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  688. package/fesm5/taiga-ui-kit-components-input-time.js +1 -1
  689. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  690. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  691. package/fesm5/taiga-ui-kit-components-line-clamp.js +9 -97
  692. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  693. package/fesm5/taiga-ui-kit-components-marker-icon.js +9 -23
  694. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  695. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -2
  696. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  697. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  698. package/fesm5/taiga-ui-kit-components-radio-block.js +1 -1
  699. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  700. package/fesm5/taiga-ui-kit-components-radio-labeled.js +1 -1
  701. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  702. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  703. package/fesm5/taiga-ui-kit-components-radio.js +4 -2
  704. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  705. package/fesm5/taiga-ui-kit-components-range.js +68 -13
  706. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  707. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  708. package/fesm5/taiga-ui-kit-components-select.js +2 -8
  709. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  710. package/fesm5/taiga-ui-kit-components-slider.js +52 -49
  711. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  712. package/fesm5/taiga-ui-kit-components-stepper.js +2 -1
  713. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  714. package/fesm5/taiga-ui-kit-components-tabs.js +67 -27
  715. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  716. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  717. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  718. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  719. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  720. package/fesm5/taiga-ui-kit-components-tree.js +1 -1
  721. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  722. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  723. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  724. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  725. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  726. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  727. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  728. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  729. package/fesm5/taiga-ui-kit-enums.js +2 -2
  730. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  731. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  732. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  733. package/fesm5/taiga-ui-kit-utils-dom.js +2 -2
  734. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  735. package/fesm5/taiga-ui-kit-utils-mask.js +2 -2
  736. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  737. package/fesm5/taiga-ui-kit-utils-math.js +32 -1
  738. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  739. package/fesm5/taiga-ui-kit-utils.js +1 -0
  740. package/fesm5/taiga-ui-kit-utils.js.map +1 -1
  741. package/package.json +4 -4
  742. package/types/handler-with-context.d.ts +2 -2
  743. package/types/key-steps.d.ts +1 -1
  744. package/utils/index.d.ts +1 -0
  745. package/utils/math/index.d.ts +1 -0
  746. package/utils/math/key-steps.d.ts +4 -0
  747. package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
  748. package/utils/taiga-ui-kit-utils.metadata.json +1 -1
  749. package/components/line-clamp/line-clamp.directive.d.ts +0 -11
  750. package/esm2015/components/line-clamp/line-clamp.directive.js +0 -87
  751. package/esm5/components/line-clamp/line-clamp.directive.js +0 -89
@@ -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<{}>>,\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() {\n if (isPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\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":";;;;;;;;;;;IAqCI,kCAEa,OAAgD,EAExC,IAAwB,EACJ,UAAmC,EACzB,MAA6B,EACtC,OAAkB;QAP5D,iBAQI;;QANS,YAAO,GAAP,OAAO,CAAyC;QAExC,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,cAAM,OAAA,KAAI,CAAC,QAAQ,GAAA,CAAC,EACxB,oBAAoB,EAAE,CACzB,CAAC;KAUE;IAEJ,sBAAI,6CAAO;aAAX;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,4BAA4B,CAAC;SACpE;;;OAAA;IAED,2CAAQ,GAAR;QACI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5C;KACJ;IAED,sBAAc,8CAAQ;aAAtB;YACI,QACI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD;SACL;;;OAAA;;gDAzBI,MAAM,SAAC,oBAAoB;gDAE3B,MAAM,SAAC,kBAAkB;gBAEuB,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBACqC,kBAAkB,uBAAxE,MAAM,SAAC,kBAAkB;gBACqB,SAAS,uBAAvD,MAAM,SAAC,SAAS;;IAjBZ,wBAAwB;QANpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,8WAA4C;YAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAYO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAE5B,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC1B,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAjBb,wBAAwB,CAqCpC;IAAD,+BAAC;CArCD,IAqCC;IAEY,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB;;;ICtDnF;KAAqC;IAAxB,qBAAqB;QANjC,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC;YAC9D,YAAY,EAAE,CAAC,wBAAwB,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;YACnC,eAAe,EAAE,CAAC,wBAAwB,CAAC;SAC9C,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACZA;;;;;;"}
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 if (isPresent(this.option.value) && this.host.checkOption) {\n this.host.checkOption(this.option.value);\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":";;;;;;;;;;;IAqCI,kCAEa,OAAqE,EAE7D,IAAwB,EACJ,UAAmC,EACzB,MAA6B,EACtC,OAAkB;QAP5D,iBAQI;;QANS,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,cAAM,OAAA,KAAI,CAAC,QAAQ,GAAA,CAAC,EACxB,oBAAoB,EAAE,CACzB,CAAC;KAUE;IAEJ,sBAAI,6CAAO;aAAX;YACI,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,4BAA4B,CAAC;SACpE;;;OAAA;IAED,2CAAQ,GAAR;QACI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5C;KACJ;IAED,sBAAc,8CAAQ;aAAtB;YACI,QACI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrD;SACL;;;OAAA;;gDAzBI,MAAM,SAAC,oBAAoB;gDAE3B,MAAM,SAAC,kBAAkB;gBAEuB,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBACqC,kBAAkB,uBAAxE,MAAM,SAAC,kBAAkB;gBACqB,SAAS,uBAAvD,MAAM,SAAC,SAAS;;IAjBZ,wBAAwB;QANpC,SAAS,CAAC;YACP,QAAQ,EAAE,mBAAmB;YAC7B,8WAA4C;YAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAYO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAE5B,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC1B,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAjBb,wBAAwB,CAqCpC;IAAD,+BAAC;CArCD,IAqCC;IAEY,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB;;;ICtDnF;KAAqC;IAAxB,qBAAqB;QANjC,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,uBAAuB,CAAC;YAC9D,YAAY,EAAE,CAAC,wBAAwB,CAAC;YACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;YACnC,eAAe,EAAE,CAAC,wBAAwB,CAAC;SAC9C,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACZA;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { __assign, __extends, __decorate, __param } from 'tslib';
2
2
  import { forwardRef, InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ViewChild, Input, ContentChild, TemplateRef, Component, ChangeDetectionStrategy, Directive, NgModule } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, isNativeFocused, setNativeFocused, tuiDefaultProp, tuiPure, AbstractTuiNullableControl, TuiActiveZoneModule } from '@taiga-ui/cdk';
4
+ import { AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, isNativeFocused, setNativeFocused, tuiDefaultProp, AbstractTuiNullableControl, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
5
  import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiTextfieldCleanerDirective, TUI_TEXTFIELD_CLEANER, TuiPrimitiveTextfieldComponent, TuiHostedDropdownComponent, TuiDataListDirective, TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost, TuiPrimitiveTextfieldModule, TuiHostedDropdownModule, TuiTextfieldComponent } from '@taiga-ui/core';
6
6
  import { TUI_ARROW_MODE, TuiArrowModule } from '@taiga-ui/kit/components/arrow';
7
7
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
@@ -93,9 +93,6 @@ var TuiSelectComponent = /** @class */ (function (_super) {
93
93
  enumerable: true,
94
94
  configurable: true
95
95
  });
96
- TuiSelectComponent.prototype.computeContext = function ($implicit, active) {
97
- return { $implicit: $implicit, active: active };
98
- };
99
96
  TuiSelectComponent.prototype.onValueChange = function (value) {
100
97
  if (!value) {
101
98
  this.updateValue(null);
@@ -153,13 +150,10 @@ var TuiSelectComponent = /** @class */ (function (_super) {
153
150
  __decorate([
154
151
  ContentChild(TuiDataListDirective, { read: TemplateRef })
155
152
  ], TuiSelectComponent.prototype, "datalist", void 0);
156
- __decorate([
157
- tuiPure
158
- ], TuiSelectComponent.prototype, "computeContext", null);
159
153
  TuiSelectComponent = __decorate([
160
154
  Component({
161
155
  selector: 'tui-select',
162
- template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [editable]=\"false\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"arrow\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"value !== null\"\n polymorpheus-outlet\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n [content]=\"computedContent\"\n [context]=\"computeContext(value, computedFocused)\"\n >\n <ng-template let-primitiveValue>\n <div class=\"t-primitive-value\">{{ primitiveValue }}</div>\n </ng-template>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
156
+ template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-select__textfield\"\n class=\"t-textfield\"\n [editable]=\"false\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"arrow\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (keydown.delete.prevent)=\"onKeyDownDelete()\"\n (keydown.backspace.prevent)=\"onKeyDownDelete()\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"value !== null\"\n polymorpheus-outlet\n automation-id=\"tui-select__value\"\n class=\"t-value\"\n [content]=\"computedContent\"\n [context]=\"{$implicit: value, active: computedFocused}\"\n >\n <ng-template let-primitiveValue>\n <div class=\"t-primitive-value\">{{ primitiveValue }}</div>\n </ng-template>\n </div>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n",
163
157
  changeDetection: ChangeDetectionStrategy.OnPush,
164
158
  providers: TUI_SELECT_PROVIDERS,
165
159
  styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}:host._readonly ::ng-deep input{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-value{display:flex;width:100%;align-items:center}.t-primitive-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-select.js","sources":["ng://@taiga-ui/kit/components/select/select.providers.ts","ng://@taiga-ui/kit/components/select/select-options.ts","ng://@taiga-ui/kit/components/select/select.component.ts","ng://@taiga-ui/kit/components/select/select.directive.ts","ng://@taiga-ui/kit/components/select/select.module.ts","ng://@taiga-ui/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiSelectComponent} from './select.component';\n\n// TODO: remove in ivy compilation\nexport const SELECT_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_SELECT_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: SELECT_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiValueContentContext} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\nexport const TUI_SELECT_OPTIONS = new InjectionToken<TuiSelectOptions<unknown>>(\n 'Default parameters for select component',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiSelectOptionsProvider: <T>(\n options: Partial<TuiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiSelectOptions<T>>) => ({\n provide: TUI_SELECT_OPTIONS,\n useValue: {...TUI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Inject,\n Input,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldCleanerDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SELECT_PROVIDERS} from './select.providers';\nimport {TUI_SELECT_OPTIONS, TuiSelectOptions} from './select-options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SELECT_PROVIDERS,\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_SELECT_OPTIONS)\n private readonly options: TuiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {$implicit, active};\n }\n\n onValueChange(value: string) {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete() {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T) {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiSelectDirective),\n },\n ],\n})\nexport class TuiSelectDirective extends TuiAbstractTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n get readOnly(): boolean {\n return true;\n }\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiSelectComponent, TuiSelectDirective],\n exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-select.js","sources":["ng://@taiga-ui/kit/components/select/select.providers.ts","ng://@taiga-ui/kit/components/select/select-options.ts","ng://@taiga-ui/kit/components/select/select.component.ts","ng://@taiga-ui/kit/components/select/select.directive.ts","ng://@taiga-ui/kit/components/select/select.module.ts","ng://@taiga-ui/kit/components/select/taiga-ui-kit-components-select.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiSelectComponent} from './select.component';\n\n// TODO: remove in ivy compilation\nexport const SELECT_OPTION: unknown = TUI_SELECT_OPTION;\n\nexport const TUI_SELECT_PROVIDERS = [\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiSelectComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: SELECT_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiValueContentContext} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiSelectOptions<T> {\n readonly valueContent: PolymorpheusContent<TuiValueContentContext<T>>;\n}\n\nexport const TUI_SELECT_DEFAULT_OPTIONS: TuiSelectOptions<unknown> = {\n valueContent: '',\n};\n\nexport const TUI_SELECT_OPTIONS = new InjectionToken<TuiSelectOptions<unknown>>(\n 'Default parameters for select component',\n {\n factory: () => TUI_SELECT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiSelectOptionsProvider: <T>(\n options: Partial<TuiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiSelectOptions<T>>) => ({\n provide: TUI_SELECT_OPTIONS,\n useValue: {...TUI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Inject,\n Input,\n Optional,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiTextfieldCleanerDirective,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_SELECT_PROVIDERS} from './select.providers';\nimport {TUI_SELECT_OPTIONS, TuiSelectOptions} from './select-options';\n\n@Component({\n selector: 'tui-select',\n templateUrl: './select.template.html',\n styleUrls: ['./select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_SELECT_PROVIDERS,\n})\nexport class TuiSelectComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_SELECT_OPTIONS)\n private readonly options: TuiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value === null ? '' : this.stringify(this.value) || ' ';\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.computedValue;\n }\n\n onValueChange(value: string): void {\n if (!value) {\n this.updateValue(null);\n }\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onKeyDownDelete(): void {\n if (this.textfieldCleaner.cleaner) {\n this.updateValue(null);\n }\n }\n\n handleOption(option: T): void {\n this.focusInput();\n this.updateValue(option);\n this.hostedDropdown?.updateOpen(false);\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiSelectComponent} from './select.component';\n\n@Directive({\n selector: 'tui-select',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiSelectDirective),\n },\n ],\n})\nexport class TuiSelectDirective extends TuiAbstractTextfieldHost<\n TuiSelectComponent<unknown>\n> {\n get readOnly(): boolean {\n return true;\n }\n\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiSelectComponent} from './select.component';\nimport {TuiSelectDirective} from './select.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiSelectComponent, TuiSelectDirective],\n exports: [TuiSelectComponent, TuiSelectDirective, TuiTextfieldComponent],\n})\nexport class TuiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,14 +2,14 @@ import { __assign, __decorate, __param, __extends, __read } from 'tslib';
2
2
  import { InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ElementRef, Input, HostBinding, Component, ChangeDetectionStrategy, Output, HostListener, Directive, Pipe, forwardRef, NgModule } from '@angular/core';
3
3
  import { NgModel, NgControl } from '@angular/forms';
4
4
  import { USER_AGENT } from '@ng-web-apis/common';
5
- import { watch, isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, typedFromEvent, isNativeFocused, round, AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiRepeatTimesModule, TuiFocusableModule, TuiFocusVisibleModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
6
- import { take, map } from 'rxjs/operators';
5
+ import { watch, isEdgeOlderThan, CHROMIUM_EDGE_START_VERSION, tuiDefaultProp, typedFromEvent, isNativeFocused, clamp, tuiAssert, AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiCoerceBooleanProperty, TuiDestroyService, TuiRepeatTimesModule, TuiFocusableModule, TuiFocusVisibleModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
6
+ import { take, map, tap, mapTo, filter, takeUntil } from 'rxjs/operators';
7
7
  import { DOCUMENT, CommonModule } from '@angular/common';
8
8
  import { TuiFormatNumberPipeModule } from '@taiga-ui/core';
9
- import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
9
+ import { tuiPercentageToKeyStepValue, tuiKeyStepValueToPercentage, tuiCheckKeyStepsHaveMinMaxPercents } from '@taiga-ui/kit/utils';
10
10
  import { AbstractTuiSlider } from '@taiga-ui/kit/abstract';
11
11
  import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
12
- import { Observable } from 'rxjs';
12
+ import { Observable, merge, combineLatest } from 'rxjs';
13
13
 
14
14
  var TUI_SLIDER_DEFAULT_OPTIONS = {
15
15
  size: 'm',
@@ -75,7 +75,7 @@ var TuiSliderComponent = /** @class */ (function () {
75
75
  });
76
76
  Object.defineProperty(TuiSliderComponent.prototype, "valuePercentage", {
77
77
  get: function () {
78
- return (100 * (this.value - this.min)) / (this.max - this.min);
78
+ return (100 * (this.value - this.min)) / (this.max - this.min) || 0;
79
79
  },
80
80
  enumerable: true,
81
81
  configurable: true
@@ -196,12 +196,7 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
196
196
  });
197
197
  Object.defineProperty(TuiSliderKeyStepsDirective.prototype, "controlValue", {
198
198
  get: function () {
199
- var valuePercentage = this.slider.valuePercentage;
200
- var _a = __read(findKeyStepsBoundariesByFn(this.keySteps, function (_a) {
201
- var _b = __read(_a, 2), keyStepPercentage = _b[0], _ = _b[1];
202
- return valuePercentage <= keyStepPercentage;
203
- }), 2), lowerStep = _a[0], upperStep = _a[1];
204
- return transformToControlValue(valuePercentage, lowerStep, upperStep);
199
+ return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);
205
200
  },
206
201
  enumerable: true,
207
202
  configurable: true
@@ -213,21 +208,16 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
213
208
  if (controlValue === null) {
214
209
  return;
215
210
  }
216
- var _a = __read(findKeyStepsBoundariesByFn(this.keySteps, function (_a) {
217
- var _b = __read(_a, 2), _ = _b[0], keyStepValue = _b[1];
218
- return controlValue <= keyStepValue;
219
- }), 2), lowerStep = _a[0], upperStep = _a[1];
220
- this.slider.value = this.transformToNativeValue(controlValue, lowerStep, upperStep);
211
+ var clampedControlValue = clamp(controlValue, this.min, this.max);
212
+ tuiAssert.assert(controlValue === clampedControlValue, '\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max');
213
+ this.slider.value = this.transformToNativeValue(clampedControlValue);
221
214
  };
222
215
  TuiSliderKeyStepsDirective.prototype.getFallbackValue = function () {
223
216
  return 0;
224
217
  };
225
- TuiSliderKeyStepsDirective.prototype.transformToNativeValue = function (controlValue, _a, _b) {
226
- var _c = __read(_a, 2), upperStepPercent = _c[0], upperStepValue = _c[1];
227
- var _d = __read(_b, 2), lowerStepPercent = _d[0], lowerStepValue = _d[1];
228
- var _e = this.slider, min = _e.min, max = _e.max;
229
- var ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);
230
- var newValuePercentage = (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;
218
+ TuiSliderKeyStepsDirective.prototype.transformToNativeValue = function (controlValue) {
219
+ var _a = this.slider, min = _a.min, max = _a.max;
220
+ var newValuePercentage = tuiKeyStepValueToPercentage(controlValue, this.keySteps);
231
221
  return (newValuePercentage * (max - min)) / 100 + min;
232
222
  };
233
223
  TuiSliderKeyStepsDirective.ctorParameters = function () { return [
@@ -238,7 +228,7 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
238
228
  ]; };
239
229
  __decorate([
240
230
  Input(),
241
- tuiDefaultProp(checkHasMinMaxPercents, 'Should contain min and max values')
231
+ tuiDefaultProp(tuiCheckKeyStepsHaveMinMaxPercents, 'Should contain min and max values')
242
232
  ], TuiSliderKeyStepsDirective.prototype, "keySteps", void 0);
243
233
  __decorate([
244
234
  Output()
@@ -274,33 +264,13 @@ var TuiSliderTickLabelPipe = /** @class */ (function () {
274
264
  }
275
265
  TuiSliderTickLabelPipe.prototype.transform = function (tickIndex, totalSegments, keySteps) {
276
266
  var percentage = (100 / totalSegments) * tickIndex;
277
- var _a = __read(findKeyStepsBoundariesByFn(keySteps, function (_a) {
278
- var _b = __read(_a, 2), keyStepPercentage = _b[0], _ = _b[1];
279
- return percentage <= keyStepPercentage;
280
- }), 2), lowerStep = _a[0], upperStep = _a[1];
281
- return transformToControlValue(percentage, upperStep, lowerStep);
267
+ return tuiPercentageToKeyStepValue(percentage, keySteps);
282
268
  };
283
269
  TuiSliderTickLabelPipe = __decorate([
284
270
  Pipe({ name: 'tuiSliderTickLabel' })
285
271
  ], TuiSliderTickLabelPipe);
286
272
  return TuiSliderTickLabelPipe;
287
273
  }());
288
- function checkHasMinMaxPercents(steps) {
289
- return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);
290
- }
291
- function findKeyStepsBoundariesByFn(keySteps, fn) {
292
- var keyStepUpperIndex = keySteps.findIndex(function (ketStep, i) { return i && fn(ketStep); });
293
- var lowerStep = keySteps[keyStepUpperIndex - 1];
294
- var upperStep = keySteps[keyStepUpperIndex];
295
- return [lowerStep, upperStep];
296
- }
297
- function transformToControlValue(valuePercentage, _a, _b) {
298
- var _c = __read(_a, 2), upperStepPercent = _c[0], upperStepValue = _c[1];
299
- var _d = __read(_b, 2), lowerStepPercent = _d[0], lowerStepValue = _d[1];
300
- var ratio = (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);
301
- var controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;
302
- return round(controlValue, TUI_FLOATING_PRECISION);
303
- }
304
274
 
305
275
  /**
306
276
  * @deprecated use {@link TuiSliderComponent} instead
@@ -403,12 +373,37 @@ var SLIDER_INTERACTION_KEYS = new Set([
403
373
  * Native <input type='range' readonly> doesn't work.
404
374
  * This directive imitates this native behaviour.
405
375
  */
376
+ // @dynamic
406
377
  var TuiSliderReadonlyDirective = /** @class */ (function () {
407
- function TuiSliderReadonlyDirective() {
378
+ function TuiSliderReadonlyDirective(elementRef, documentRef, destroy$) {
379
+ var _this = this;
408
380
  this.readonly = true;
381
+ var touchStart$ = typedFromEvent(elementRef.nativeElement, 'touchstart', {
382
+ passive: false,
383
+ });
384
+ var touchMove$ = typedFromEvent(documentRef, 'touchmove', {
385
+ passive: false,
386
+ });
387
+ var touchEnd$ = typedFromEvent(documentRef, 'touchend', {
388
+ passive: true,
389
+ });
390
+ var shouldPreventMove$ = merge(touchStart$.pipe(tap(function (e) { return _this.preventEvent(e); }), mapTo(true)), touchEnd$.pipe(mapTo(false)));
391
+ /**
392
+ * @bad TODO think about another solution.
393
+ * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.
394
+ */
395
+ combineLatest([touchMove$, shouldPreventMove$])
396
+ .pipe(filter(function (_a) {
397
+ var _b = __read(_a, 2), _ = _b[0], shouldPreventMove = _b[1];
398
+ return shouldPreventMove;
399
+ }), takeUntil(destroy$))
400
+ .subscribe(function (_a) {
401
+ var _b = __read(_a, 1), moveEvent = _b[0];
402
+ return _this.preventEvent(moveEvent);
403
+ });
409
404
  }
410
405
  TuiSliderReadonlyDirective.prototype.preventEvent = function (event) {
411
- if (this.readonly === '' || this.readonly) {
406
+ if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {
412
407
  event.preventDefault();
413
408
  }
414
409
  };
@@ -417,13 +412,17 @@ var TuiSliderReadonlyDirective = /** @class */ (function () {
417
412
  this.preventEvent(event);
418
413
  }
419
414
  };
415
+ TuiSliderReadonlyDirective.ctorParameters = function () { return [
416
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
417
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
418
+ { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] }
419
+ ]; };
420
420
  __decorate([
421
421
  Input(),
422
422
  tuiDefaultProp()
423
423
  ], TuiSliderReadonlyDirective.prototype, "readonly", void 0);
424
424
  __decorate([
425
- HostListener('mousedown', ['$event']),
426
- HostListener('touchstart', ['$event'])
425
+ HostListener('mousedown', ['$event'])
427
426
  ], TuiSliderReadonlyDirective.prototype, "preventEvent", null);
428
427
  __decorate([
429
428
  HostListener('keydown', ['$event'])
@@ -431,7 +430,11 @@ var TuiSliderReadonlyDirective = /** @class */ (function () {
431
430
  TuiSliderReadonlyDirective = __decorate([
432
431
  Directive({
433
432
  selector: 'input[tuiSlider][readonly]',
434
- })
433
+ providers: [TuiDestroyService],
434
+ }),
435
+ __param(0, Inject(ElementRef)),
436
+ __param(1, Inject(DOCUMENT)),
437
+ __param(2, Inject(TuiDestroyService))
435
438
  ], TuiSliderReadonlyDirective);
436
439
  return TuiSliderReadonlyDirective;
437
440
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-slider.js","sources":["ng://@taiga-ui/kit/components/slider/slider-options.ts","ng://@taiga-ui/kit/components/slider/slider.component.ts","ng://@taiga-ui/kit/components/slider/slider-key-steps.directive.ts","ng://@taiga-ui/kit/components/slider/slider-old.component.ts","ng://@taiga-ui/kit/components/slider/slider-readonly.directive.ts","ng://@taiga-ui/kit/components/slider/slider.module.ts","ng://@taiga-ui/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: 'm',\n trackColor: 'var(--tui-base-03)',\n};\n\nexport const TUI_SLIDER_OPTIONS = new InjectionToken<TuiSliderOptions>(\n 'Default parameters for Slider component',\n {factory: () => TUI_SLIDER_DEFAULT_OPTIONS},\n);\n\nexport function tuiSliderOptionsProvider(\n options: Partial<TuiSliderOptions>,\n): ValueProvider {\n return {\n provide: TUI_SLIDER_OPTIONS,\n useValue: {...TUI_SLIDER_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n isEdgeOlderThan,\n tuiDefaultProp,\n watch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TUI_SLIDER_OPTIONS, TuiSliderOptions} from './slider-options';\n\n@Component({\n /**\n * We have to call our component as `<input tuiSlider type=\"range\" ... />`\n * because otherwise built-in angular\n * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}\n * cannot be matched by its CSS selector.\n */\n selector: 'input[type=range][tuiSlider]',\n template: ``,\n styleUrls: ['./slider.style.less'],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valuePercentage} function) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderComponent {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n segments = 1;\n\n get min(): number {\n return Number(this.elementRef.nativeElement.min);\n }\n\n get max(): number {\n return Number(this.elementRef.nativeElement.max || 100);\n }\n\n get step(): number {\n return Number(this.elementRef.nativeElement.step) || 1;\n }\n\n get value(): number {\n return Number(this.elementRef.nativeElement.value) || 0;\n }\n\n set value(newValue: number) {\n this.elementRef.nativeElement.value = `${newValue}`;\n }\n\n @HostBinding('style.--tui-slider-fill-percentage.%')\n get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min);\n }\n\n @HostBinding('style.--tui-slider-segment-width.%')\n get segmentWidth(): number {\n return 100 / Math.max(1, this.segments);\n }\n\n @HostBinding('class._old-edge')\n get isOldEdge(): boolean {\n return isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {\n if (control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n control.valueChanges?.pipe(watch(changeDetectorRef), take(1)).subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Pipe,\n PipeTransform,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n round,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {map} from 'rxjs/operators';\n\nimport {TuiSliderComponent} from './slider.component';\n\n// @dynamic\n@Directive({\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.aria-valuenow]': 'controlValue',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuemax]': 'max',\n },\n})\nexport class TuiSliderKeyStepsDirective\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp(checkHasMinMaxPercents, 'Should contain min and max values')\n keySteps: TuiKeySteps = [];\n\n @Output()\n keyStepsInput = typedFromEvent(this.elementRef.nativeElement, 'input').pipe(\n map(() => this.controlValue),\n );\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled ? null : this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get min(): number {\n return this.keySteps[0]?.[1] || 0;\n }\n\n get max(): number {\n return this.keySteps[this.keySteps.length - 1]?.[1] || 100;\n }\n\n get controlValue(): number {\n const {valuePercentage} = this.slider;\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n this.keySteps,\n ([keyStepPercentage, _]) => valuePercentage <= keyStepPercentage,\n );\n\n return transformToControlValue(valuePercentage, lowerStep, upperStep);\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiSliderComponent) private readonly slider: TuiSliderComponent,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostListener('change')\n updateControlValue() {\n this.updateValue(this.controlValue);\n }\n\n writeValue(controlValue: number | null) {\n if (controlValue === null) {\n return;\n }\n\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n this.keySteps,\n ([_, keyStepValue]) => controlValue <= keyStepValue,\n );\n\n this.slider.value = this.transformToNativeValue(\n controlValue,\n lowerStep,\n upperStep,\n );\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(\n controlValue: number,\n [upperStepPercent, upperStepValue]: [number, number],\n [lowerStepPercent, lowerStepValue]: [number, number],\n ): number {\n const {min, max} = this.slider;\n const ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);\n const newValuePercentage =\n (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;\n\n return (newValuePercentage * (max - min)) / 100 + min;\n }\n}\n\n/**\n * @deprecated DONT USE IT! It is just temporary solution for internal purposes only. We will delete it in next major release.\n * TODO delete it in v3.0\n *\n */\n@Pipe({name: 'tuiSliderTickLabel'})\nexport class TuiSliderTickLabelPipe implements PipeTransform {\n transform(tickIndex: number, totalSegments: number, keySteps: TuiKeySteps): number {\n const percentage = (100 / totalSegments) * tickIndex;\n const [lowerStep, upperStep] = findKeyStepsBoundariesByFn(\n keySteps,\n ([keyStepPercentage, _]) => percentage <= keyStepPercentage,\n );\n\n return transformToControlValue(percentage, upperStep, lowerStep);\n }\n}\n\nfunction checkHasMinMaxPercents(steps: TuiKeySteps): boolean {\n return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);\n}\n\nfunction findKeyStepsBoundariesByFn(\n keySteps: TuiKeySteps,\n fn: ([keyStepPercent, keyStepValue]: [number, number]) => boolean,\n): [[number, number], [number, number]] {\n const keyStepUpperIndex = keySteps.findIndex((ketStep, i) => i && fn(ketStep));\n const lowerStep = keySteps[keyStepUpperIndex - 1];\n const upperStep = keySteps[keyStepUpperIndex];\n\n return [lowerStep, upperStep];\n}\n\nfunction transformToControlValue(\n valuePercentage: number,\n [upperStepPercent, upperStepValue]: [number, number],\n [lowerStepPercent, lowerStepValue]: [number, number],\n): number {\n const ratio =\n (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);\n const controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;\n\n return round(controlValue, TUI_FLOATING_PRECISION);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiSlider} from '@taiga-ui/kit/abstract';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n/**\n * @deprecated use {@link TuiSliderComponent} instead\n * TODO remove in 3.0\n */\n// @dynamic\n@Component({\n selector: 'tui-slider',\n templateUrl: '../../abstract/slider/slider.common.template.html',\n styleUrls: [\n '../../abstract/slider/slider.common.style.less',\n './slider-old.style.less',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSliderOldComponent),\n },\n ],\n})\nexport class TuiSliderOldComponent\n extends AbstractTuiSlider<number>\n implements TuiFocusableElementAccessor\n{\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.dotRight ? this.dotRight.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get left(): number {\n return 0;\n }\n\n get right(): number {\n return 100 - 100 * this.getFractionFromValue(this.value);\n }\n\n processValue(value: number) {\n this.updateValue(this.valueGuard(value));\n }\n\n decrement() {\n this.processStep(false);\n }\n\n increment() {\n this.processStep(true);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected processStep(increment: boolean) {\n const fraction = this.getFractionFromValue(this.value);\n const step = this.computedStep;\n const value = this.getValueFromFraction(\n increment ? fraction + step : fraction - step,\n );\n\n this.processValue(value);\n }\n}\n","import {Directive, HostListener, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nconst SLIDER_INTERACTION_KEYS = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n]);\n\n/**\n * Native <input type='range' readonly> doesn't work.\n * This directive imitates this native behaviour.\n */\n@Directive({\n selector: 'input[tuiSlider][readonly]',\n})\nexport class TuiSliderReadonlyDirective {\n @Input()\n @tuiDefaultProp()\n readonly: '' | boolean = true;\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n preventEvent(event: Event) {\n if (this.readonly === '' || this.readonly) {\n event.preventDefault();\n }\n }\n\n @HostListener('keydown', ['$event'])\n preventKeyboardInteraction(event: KeyboardEvent) {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from './slider.component';\nimport {\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n} from './slider-key-steps.directive';\nimport {TuiSliderOldComponent} from './slider-old.component';\nimport {TuiSliderReadonlyDirective} from './slider-readonly.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiActiveZoneModule,\n TuiFormatNumberPipeModule,\n ],\n declarations: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n})\nexport class TuiSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-slider.js","sources":["ng://@taiga-ui/kit/components/slider/slider-options.ts","ng://@taiga-ui/kit/components/slider/slider.component.ts","ng://@taiga-ui/kit/components/slider/slider-key-steps.directive.ts","ng://@taiga-ui/kit/components/slider/slider-old.component.ts","ng://@taiga-ui/kit/components/slider/slider-readonly.directive.ts","ng://@taiga-ui/kit/components/slider/slider.module.ts","ng://@taiga-ui/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: 'm',\n trackColor: 'var(--tui-base-03)',\n};\n\nexport const TUI_SLIDER_OPTIONS = new InjectionToken<TuiSliderOptions>(\n 'Default parameters for Slider component',\n {factory: () => TUI_SLIDER_DEFAULT_OPTIONS},\n);\n\nexport function tuiSliderOptionsProvider(\n options: Partial<TuiSliderOptions>,\n): ValueProvider {\n return {\n provide: TUI_SLIDER_OPTIONS,\n useValue: {...TUI_SLIDER_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n isEdgeOlderThan,\n tuiDefaultProp,\n watch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TUI_SLIDER_OPTIONS, TuiSliderOptions} from './slider-options';\n\n@Component({\n /**\n * We have to call our component as `<input tuiSlider type=\"range\" ... />`\n * because otherwise built-in angular\n * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}\n * cannot be matched by its CSS selector.\n */\n selector: 'input[type=range][tuiSlider]',\n template: ``,\n styleUrls: ['./slider.style.less'],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valuePercentage} function) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderComponent {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n segments = 1;\n\n get min(): number {\n return Number(this.elementRef.nativeElement.min);\n }\n\n get max(): number {\n return Number(this.elementRef.nativeElement.max || 100);\n }\n\n get step(): number {\n return Number(this.elementRef.nativeElement.step) || 1;\n }\n\n get value(): number {\n return Number(this.elementRef.nativeElement.value) || 0;\n }\n\n set value(newValue: number) {\n this.elementRef.nativeElement.value = `${newValue}`;\n }\n\n @HostBinding('style.--tui-slider-fill-percentage.%')\n get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min) || 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 control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {\n if (control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n control.valueChanges?.pipe(watch(changeDetectorRef), take(1)).subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Pipe,\n PipeTransform,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n 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]': '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 {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiSlider} from '@taiga-ui/kit/abstract';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n/**\n * @deprecated use {@link TuiSliderComponent} instead\n * TODO remove in 3.0\n */\n// @dynamic\n@Component({\n selector: 'tui-slider',\n templateUrl: '../../abstract/slider/slider.common.template.html',\n styleUrls: [\n '../../abstract/slider/slider.common.style.less',\n './slider-old.style.less',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiSliderOldComponent),\n },\n ],\n})\nexport class TuiSliderOldComponent\n extends AbstractTuiSlider<number>\n implements TuiFocusableElementAccessor\n{\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS) fromToTexts$: Observable<[string, string]>,\n ) {\n super(control, changeDetectorRef, documentRef, fromToTexts$);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.dotRight ? this.dotRight.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get left(): number {\n return 0;\n }\n\n get right(): number {\n return 100 - 100 * this.getFractionFromValue(this.value);\n }\n\n processValue(value: number): 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 {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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiFormatNumberPipeModule} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from './slider.component';\nimport {\n TuiSliderKeyStepsDirective,\n TuiSliderTickLabelPipe,\n} from './slider-key-steps.directive';\nimport {TuiSliderOldComponent} from './slider-old.component';\nimport {TuiSliderReadonlyDirective} from './slider-readonly.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiFocusableModule,\n TuiFocusVisibleModule,\n TuiActiveZoneModule,\n TuiFormatNumberPipeModule,\n ],\n declarations: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n TuiSliderTickLabelPipe,\n TuiSliderOldComponent,\n ],\n})\nexport class TuiSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { EventEmitter, ContentChildren, forwardRef, ElementRef, Input, HostBinding, Output, HostListener, Component, ChangeDetectionStrategy, Inject, NgModule } from '@angular/core';
3
- import { EMPTY_QUERY, itemsQueryListObservable, getOriginalArrayFromQueryList, moveFocus, tuiDefaultProp, tuiPure, TuiFocusVisibleService, TuiDestroyService } from '@taiga-ui/cdk';
3
+ import { EMPTY_QUERY, itemsQueryListObservable, getOriginalArrayFromQueryList, tuiAssertIsHTMLElement, moveFocus, tuiDefaultProp, tuiPure, TuiFocusVisibleService, TuiDestroyService } from '@taiga-ui/cdk';
4
4
  import { TuiRouterLinkActiveService, TuiSvgModule } from '@taiga-ui/core';
5
5
  import { identity, Observable } from 'rxjs';
6
6
  import { delay, filter } from 'rxjs/operators';
@@ -53,6 +53,7 @@ var TuiStepperComponent = /** @class */ (function () {
53
53
  this.activeItemIndexChange.emit(index);
54
54
  };
55
55
  TuiStepperComponent.prototype.moveFocus = function (current, step) {
56
+ tuiAssertIsHTMLElement(current);
56
57
  var steps = getOriginalArrayFromQueryList(this.steps).map(function (_a) {
57
58
  var nativeElement = _a.nativeElement;
58
59
  return nativeElement;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nimport {TuiStepComponent} from './step/step.component';\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiStepperComponent {\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number) {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number) {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number) {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n }\n\n private moveFocus(current: EventTarget, step: number) {\n const steps = getOriginalArrayFromQueryList(this.steps).map(\n ({nativeElement}) => nativeElement,\n );\n\n moveFocus(steps.indexOf(current as HTMLElement), steps, step);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {identity, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate() {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n 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\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 }\n\n private moveFocus(current: EventTarget, step: number): void {\n tuiAssertIsHTMLElement(current);\n\n const steps = getOriginalArrayFromQueryList(this.steps).map(\n ({nativeElement}) => nativeElement,\n );\n\n moveFocus(steps.indexOf(current), steps, step);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {identity, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate(): 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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"}