@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
@@ -111,4 +111,4 @@ var TuiRadioListComponent = /** @class */ (function (_super) {
111
111
  return TuiRadioListComponent;
112
112
  }(AbstractTuiNullableControl));
113
113
  export { TuiRadioListComponent };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdC8iLCJzb3VyY2VzIjpbInJhZGlvLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUUzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBZWhGO0lBQThDLHlDQUE2QjtJQTBCdkUsK0JBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFDMUIsVUFBbUM7UUFONUUsWUFRSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFId0MsZ0JBQVUsR0FBVixVQUFVLENBQXlCO1FBOUIzRCxrQkFBWSxHQUE0QyxXQUFXLENBQUM7UUFJckYsV0FBSyxHQUFpQixFQUFFLENBQUM7UUFLekIsVUFBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixxQkFBZSxHQUEwQiw0QkFBNEIsQ0FBQztRQUt0RSxpQkFBVyxHQUFvQixVQUFVLENBQUM7UUFJMUMseUJBQW1CLEdBQXlCLG9CQUFvQixDQUFDO1FBYWpFLHdDQUF3QztRQUd4QyxpQkFBVyxHQUFxRSxVQUFDLEVBRWhGO2dCQURHLHdCQUFTO1lBQ1AsT0FBQSxNQUFN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VSxDQUFDLENBQUE7T0FoQ2QscUJBQXFCLENBaUZqQztJQUFELDRCQUFDO0NBQUEsQUFqRkQsQ0FBOEMsMEJBQTBCLEdBaUZ2RTtTQWpGWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9uVCwgVHVpU2l6ZUwsIFR1aVZhbHVlQ29udGVudENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpUmFkaW9MYWJlbGVkQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGFiZWxlZCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXJhZGlvLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1saXN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlSYWRpb0xpc3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhZGlvTGlzdENvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFQ+IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aVJhZGlvTGFiZWxlZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvQnV0dG9uczogUXVlcnlMaXN0PFR1aVJhZGlvTGFiZWxlZENvbXBvbmVudDx7fT4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IHJlYWRvbmx5IFRbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+ID0gVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtb3JpZW50YXRpb24nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3JpZW50YXRpb246IFR1aU9yaWVudGF0aW9uVCA9ICd2ZXJ0aWNhbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VD4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIC8vIEBiYWQgVE9ETzogUmVtb3ZlICYgeyBpbmRleDogbnVtYmVyIH1cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpVmFsdWVDb250ZW50Q29udGV4dDxUPiAmIHtpbmRleDogbnVtYmVyfT4gPSAoe1xuICAgICAgICAkaW1wbGljaXQsXG4gICAgfSkgPT4gU3RyaW5nKCRpbXBsaWNpdCk7XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZVJhZGlvQnV0dG9uID0gdGhpcy5yYWRpb0J1dHRvbnMuZmluZChcbiAgICAgICAgICAgIHJhZGlvQnV0dG9uID0+IHJhZGlvQnV0dG9uLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgIT09IG51bGwsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZvY3VzYWJsZVJhZGlvQnV0dG9uID8gZm9jdXNhYmxlUmFkaW9CdXR0b24ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgY29tcHV0ZUlkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH0tJHtpbmRleH1gO1xuICAgIH1cblxuICAgIGl0ZW1Jc0Rpc2FibGVkKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICB9XG5cbiAgICBnZXRDb250ZW50Q29udGV4dChcbiAgICAgICAgaXRlbTogVCxcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAgYWN0aXZlOiBib29sZWFuLFxuICAgICk6IFR1aVZhbHVlQ29udGVudENvbnRleHQ8VD4gJiB7aW5kZXg6IG51bWJlcn0ge1xuICAgICAgICByZXR1cm4geyRpbXBsaWNpdDogaXRlbSwgaW5kZXgsIGFjdGl2ZX07XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpdGVtSXNBY3RpdmUoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbFxuICAgICAgICAgICAgPyBpdGVtID09PSBudWxsXG4gICAgICAgICAgICA6IHRoaXMuaWRlbnRpdHlNYXRjaGVyKHRoaXMudmFsdWUsIGl0ZW0pO1xuICAgIH1cbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdC8iLCJzb3VyY2VzIjpbInJhZGlvLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUUzQixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBZWhGO0lBQThDLHlDQUE2QjtJQTJCdkUsK0JBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFDMUIsVUFBbUM7UUFONUUsWUFRSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFId0MsZ0JBQVUsR0FBVixVQUFVLENBQXlCO1FBL0IzRCxrQkFBWSxHQUN6QixXQUFXLENBQUM7UUFJaEIsV0FBSyxHQUFpQixFQUFFLENBQUM7UUFLekIsVUFBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixxQkFBZSxHQUEwQiw0QkFBNEIsQ0FBQztRQUt0RSxpQkFBVyxHQUFvQixVQUFVLENBQUM7UUFJMUMseUJBQW1CLEdBQXlCLG9CQUFvQixDQUFDO1FBYWpFLHdDQUF3QztRQUd4QyxpQkFBVyxHQUFxRSxVQUFDLEVBRWhGO2dCQURHLHdCQUFTO1lBQ1AsT0FBQSxNQUFN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VSxDQUFDLENBQUE7T0FqQ2QscUJBQXFCLENBa0ZqQztJQUFELDRCQUFDO0NBQUEsQUFsRkQsQ0FBOEMsMEJBQTBCLEdBa0Z2RTtTQWxGWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aU9yaWVudGF0aW9uVCwgVHVpU2l6ZUwsIFR1aVZhbHVlQ29udGVudENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpUmFkaW9MYWJlbGVkQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGFiZWxlZCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXJhZGlvLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1saXN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhZGlvLWxpc3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlSYWRpb0xpc3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhZGlvTGlzdENvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFQ+IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aVJhZGlvTGFiZWxlZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhZGlvQnV0dG9uczogUXVlcnlMaXN0PFR1aVJhZGlvTGFiZWxlZENvbXBvbmVudDx1bmtub3duPj4gPVxuICAgICAgICBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogcmVhZG9ubHkgVFtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZUwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWRlbnRpdHlNYXRjaGVyOiBUdWlJZGVudGl0eU1hdGNoZXI8VD4gPSBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1vcmllbnRhdGlvbicpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBvcmllbnRhdGlvbjogVHVpT3JpZW50YXRpb25UID0gJ3ZlcnRpY2FsJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgLy8gQGJhZCBUT0RPOiBSZW1vdmUgJiB7IGluZGV4OiBudW1iZXIgfVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+ICYge2luZGV4OiBudW1iZXJ9PiA9ICh7XG4gICAgICAgICRpbXBsaWNpdCxcbiAgICB9KSA9PiBTdHJpbmcoJGltcGxpY2l0KTtcblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlUmFkaW9CdXR0b24gPSB0aGlzLnJhZGlvQnV0dG9ucy5maW5kKFxuICAgICAgICAgICAgcmFkaW9CdXR0b24gPT4gcmFkaW9CdXR0b24ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCAhPT0gbnVsbCxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZm9jdXNhYmxlUmFkaW9CdXR0b24gPyBmb2N1c2FibGVSYWRpb0J1dHRvbi5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBjb21wdXRlSWQoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfS0ke2luZGV4fWA7XG4gICAgfVxuXG4gICAgaXRlbUlzRGlzYWJsZWQoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pO1xuICAgIH1cblxuICAgIGdldENvbnRlbnRDb250ZXh0KFxuICAgICAgICBpdGVtOiBULFxuICAgICAgICBpbmRleDogbnVtYmVyLFxuICAgICAgICBhY3RpdmU6IGJvb2xlYW4sXG4gICAgKTogVHVpVmFsdWVDb250ZW50Q29udGV4dDxUPiAmIHtpbmRleDogbnVtYmVyfSB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0OiBpdGVtLCBpbmRleCwgYWN0aXZlfTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGl0ZW1Jc0FjdGl2ZShpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID09PSBudWxsXG4gICAgICAgICAgICA/IGl0ZW0gPT09IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5pZGVudGl0eU1hdGNoZXIodGhpcy52YWx1ZSwgaXRlbSk7XG4gICAgfVxufVxuIl19
@@ -2,10 +2,12 @@ import { __decorate, __extends, __param, __read, __spread } from "tslib";
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, forwardRef, HostBinding, HostListener, Inject, Input, Optional, QueryList, Self, ViewChildren, } from '@angular/core';
4
4
  import { NgControl } from '@angular/forms';
5
- import { EMPTY_QUERY, isNativeFocusedIn, nonNegativeFiniteAssertion, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiPure, } from '@taiga-ui/cdk';
6
- import { AbstractTuiSlider } from '@taiga-ui/kit/abstract';
5
+ import { clamp, EMPTY_QUERY, isNativeFocusedIn, nonNegativeFiniteAssertion, quantize, round, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiAssert, tuiDefaultProp, tuiPure, } from '@taiga-ui/cdk';
6
+ import { AbstractTuiSlider, SLIDER_KEYBOARD_STEP } from '@taiga-ui/kit/abstract';
7
7
  import { TuiSliderComponent } from '@taiga-ui/kit/components/slider';
8
+ import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
8
9
  import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
10
+ import { tuiCheckKeyStepsHaveMinMaxPercents, tuiKeyStepValueToPercentage, tuiPercentageToKeyStepValue, } from '@taiga-ui/kit/utils';
9
11
  import { Observable } from 'rxjs';
10
12
  /**
11
13
  * Turn on new mode for `Range` and `InputRange`.
@@ -37,14 +39,17 @@ var TuiRangeComponent = /** @class */ (function (_super) {
37
39
  _this.max = Infinity;
38
40
  /**
39
41
  * TODO: think about replacing this props by `step` (to be like native slider).
40
- * It can be easy after refactor of keySteps.
42
+ * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0
41
43
  */
42
44
  _this.steps = 0;
43
45
  /**
44
46
  * TODO: think about replacing this props by `step` (to be like native slider).
45
- * It can be easy after refactor of keySteps.
47
+ * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0
46
48
  * */
47
49
  _this.quantum = 0;
50
+ _this.size = 'm';
51
+ _this.segments = 0;
52
+ _this.keySteps = null;
48
53
  _this.slidersRefs = EMPTY_QUERY;
49
54
  _this.lastActiveThumb = 'right';
50
55
  return _this;
@@ -70,6 +75,16 @@ var TuiRangeComponent = /** @class */ (function (_super) {
70
75
  enumerable: true,
71
76
  configurable: true
72
77
  });
78
+ Object.defineProperty(TuiRangeComponent.prototype, "fractionStep", {
79
+ get: function () {
80
+ if (this.steps) {
81
+ return 1 / this.steps;
82
+ }
83
+ return this.quantum ? this.quantum / (this.max - this.min) : SLIDER_KEYBOARD_STEP;
84
+ },
85
+ enumerable: true,
86
+ configurable: true
87
+ });
73
88
  Object.defineProperty(TuiRangeComponent.prototype, "computedKeySteps", {
74
89
  get: function () {
75
90
  return this.computePureKeySteps(this.keySteps, this.min, this.max);
@@ -79,14 +94,14 @@ var TuiRangeComponent = /** @class */ (function (_super) {
79
94
  });
80
95
  Object.defineProperty(TuiRangeComponent.prototype, "left", {
81
96
  get: function () {
82
- return 100 * this.getFractionFromValue(this.value[0]);
97
+ return this.getPercentageFromValue(this.value[0]);
83
98
  },
84
99
  enumerable: true,
85
100
  configurable: true
86
101
  });
87
102
  Object.defineProperty(TuiRangeComponent.prototype, "right", {
88
103
  get: function () {
89
- return 100 - 100 * this.getFractionFromValue(this.value[1]);
104
+ return 100 - this.getPercentageFromValue(this.value[1]);
90
105
  },
91
106
  enumerable: true,
92
107
  configurable: true
@@ -104,8 +119,8 @@ var TuiRangeComponent = /** @class */ (function (_super) {
104
119
  var activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;
105
120
  var previousValue = isRightThumb ? this.value[1] : this.value[0];
106
121
  /** @bad TODO think about a solution without twice conversion */
107
- var previousFraction = this.getFractionFromValue(previousValue);
108
- var newFractionValue = previousFraction + coefficient * this.computedStep;
122
+ var previousFraction = this.getPercentageFromValue(previousValue) / 100;
123
+ var newFractionValue = previousFraction + coefficient * this.fractionStep;
109
124
  this.processValue(this.getValueFromFraction(newFractionValue), isRightThumb);
110
125
  if (activeThumbElement) {
111
126
  activeThumbElement.focus();
@@ -121,10 +136,33 @@ var TuiRangeComponent = /** @class */ (function (_super) {
121
136
  }
122
137
  this.lastActiveThumb = right ? 'right' : 'left';
123
138
  };
139
+ TuiRangeComponent.prototype.fractionGuard = function (fraction) {
140
+ return clamp(quantize(fraction, this.fractionStep), 0, 1);
141
+ };
142
+ TuiRangeComponent.prototype.getValueFromFraction = function (fraction) {
143
+ var percentage = this.fractionGuard(fraction) * 100;
144
+ return tuiPercentageToKeyStepValue(percentage, this.computedKeySteps);
145
+ };
146
+ TuiRangeComponent.prototype.getPercentageFromValue = function (value) {
147
+ return tuiKeyStepValueToPercentage(value, this.computedKeySteps);
148
+ };
149
+ TuiRangeComponent.prototype.valueGuard = function (value) {
150
+ return clamp(this.quantum
151
+ ? round(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION)
152
+ : value, this.min, this.max);
153
+ };
124
154
  TuiRangeComponent.prototype.getFallbackValue = function () {
125
155
  return [0, 0];
126
156
  };
127
157
  TuiRangeComponent.prototype.computePureKeySteps = function (keySteps, min, max) {
158
+ if (keySteps && tuiCheckKeyStepsHaveMinMaxPercents(keySteps)) {
159
+ return keySteps;
160
+ }
161
+ // TODO replace all function by `return keySteps || [[0, min], [100, max]]` in v3.0
162
+ tuiAssert.assert(!keySteps, '\n' +
163
+ 'Input property [keySteps] should contain min and max percents.\n' +
164
+ 'We have taken [min] and [max] properties of your component for now (but it will not work in v3.0).\n' +
165
+ 'See example how properly use [keySteps]: https://taiga-ui.dev/components/range#key-steps');
128
166
  return __spread([[0, min]], (keySteps || []), [[100, max]]);
129
167
  };
130
168
  TuiRangeComponent.prototype.updateStart = function (value) {
@@ -158,6 +196,19 @@ var TuiRangeComponent = /** @class */ (function (_super) {
158
196
  Input(),
159
197
  tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')
160
198
  ], TuiRangeComponent.prototype, "quantum", void 0);
199
+ __decorate([
200
+ Input(),
201
+ HostBinding('attr.data-size'),
202
+ tuiDefaultProp()
203
+ ], TuiRangeComponent.prototype, "size", void 0);
204
+ __decorate([
205
+ Input(),
206
+ tuiDefaultProp()
207
+ ], TuiRangeComponent.prototype, "segments", void 0);
208
+ __decorate([
209
+ Input(),
210
+ tuiDefaultProp()
211
+ ], TuiRangeComponent.prototype, "keySteps", void 0);
161
212
  __decorate([
162
213
  ViewChildren(TuiSliderComponent, { read: ElementRef })
163
214
  ], TuiRangeComponent.prototype, "slidersRefs", void 0);
@@ -183,7 +234,7 @@ var TuiRangeComponent = /** @class */ (function (_super) {
183
234
  TuiRangeComponent = TuiRangeComponent_1 = __decorate([
184
235
  Component({
185
236
  selector: 'tui-range',
186
- template: "<div class=\"track\">\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n\n<!-- TODO backward compatibility only (remove in v3.0) -->\n<div\n *ngIf=\"segmented\"\n class=\"segments\"\n>\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"segment\"\n >\n <ng-container *ngIf=\"fromToTexts$ | async as fromToText\">\n <span\n *ngIf=\"!isNew\"\n class=\"number\"\n >\n {{ getSegmentPrefix(tickIndex, fromToText) }} {{ tickIndex |\n tuiSliderTickLabel:segments:computedKeySteps | tuiFormatNumber\n }}\n <span *ngIf=\"pluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: pluralizeMap }}\n </span>\n </span>\n </ng-container>\n </span>\n</div>\n",
237
+ template: "<div class=\"track\">\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__left\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[0]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n <input\n tuiSlider\n readonly\n type=\"range\"\n step=\"any\"\n automation-id=\"tui-range__right\"\n class=\"thumb\"\n [min]=\"min\"\n [max]=\"max\"\n [ngModel]=\"value[1]\"\n [size]=\"size\"\n [keySteps]=\"computedKeySteps\"\n [tuiFocusable]=\"focusable\"\n [attr.disabled]=\"computedDisabled || null\"\n />\n</div>\n\n<!-- TODO backward compatibility only (remove in v3.0) -->\n<div\n *ngIf=\"segments > 0\"\n class=\"segments\"\n>\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n class=\"segment\"\n >\n <ng-container *ngIf=\"fromToTexts$ | async as fromToText\">\n <span\n *ngIf=\"!isNew\"\n class=\"number\"\n >\n {{ getSegmentPrefix(tickIndex, fromToText) }} {{ tickIndex |\n tuiSliderTickLabel:segments:computedKeySteps | tuiFormatNumber\n }}\n <span *ngIf=\"pluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: pluralizeMap }}\n </span>\n </span>\n </ng-container>\n </span>\n</div>\n",
187
238
  changeDetection: ChangeDetectionStrategy.OnPush,
188
239
  host: {
189
240
  '[attr.tabindex]': '-1',
@@ -195,8 +246,13 @@ var TuiRangeComponent = /** @class */ (function (_super) {
195
246
  useExisting: forwardRef(function () { return TuiRangeComponent_1; }),
196
247
  },
197
248
  ],
198
- styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-base-03);cursor:pointer;outline:0;margin:.4375rem 0}:host:active{cursor:ew-resize}:host:after{content:'';position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size='s'] .track{position:relative;margin:0 .25rem;height:100%}:host[data-size='s'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.25rem}:host[data-size='m'] .track{position:relative;margin:0 .5rem;height:100%}:host[data-size='m'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.5rem}.thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translate(0,-50%)}.thumb::-webkit-slider-thumb{pointer-events:all}.thumb::-moz-range-thumb{pointer-events:all}input[type=range].thumb::-webkit-slider-runnable-track{background:0 0}input[type=range].thumb::-moz-range-track{background:0 0}input[type=range].thumb::-moz-range-progress{background:0 0}input[type=range].thumb::-ms-track{background:0 0}input[type=range].thumb::-ms-fill-lower{background:0 0}.thumb:last-of-type::-webkit-slider-thumb{transform:translate(50%,0)}.thumb:first-of-type::-webkit-slider-thumb{transform:translate(-50%,0)}.thumb:last-of-type::-moz-range-thumb{transform:translate(50%,0)}.thumb:first-of-type::-moz-range-thumb{transform:translate(-50%,0)}:host._disabled .thumb{opacity:1}.segments{position:absolute;top:0;left:0;bottom:0;right:0}:host[data-size='s'] .segments{display:flex;margin:0 .25rem;font:var(--tui-font-text-s);padding:0 .25rem}:host[data-size='s'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='s'] .segments>:first-child{left:-.25rem;flex:1;text-align:left}:host[data-size='s'] .segments>:last-child{right:-.25rem;flex:1;text-align:right}tui-input-slider+:host[data-size='s'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .25rem)}tui-input-range+:host[data-size='s'] .segments,tui-range+:host[data-size='s'] .segments{margin-left:.5rem;margin-right:.5rem}tui-input-range+:host[data-size='s'] .segments>:first-child,tui-range+:host[data-size='s'] .segments>:first-child{left:-.5rem}tui-input-range+:host[data-size='s'] .segments>:last-child,tui-range+:host[data-size='s'] .segments>:last-child{right:-.5rem}:host[data-size='m'] .segments{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);padding:0 .5rem}:host[data-size='m'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='m'] .segments>:first-child{left:-.5rem;flex:1;text-align:left}:host[data-size='m'] .segments>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+:host[data-size='m'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}tui-input-range+:host[data-size='m'] .segments,tui-range+:host[data-size='m'] .segments{margin-left:1rem;margin-right:1rem}tui-input-range+:host[data-size='m'] .segments>:first-child,tui-range+:host[data-size='m'] .segments>:first-child{left:-1rem}tui-input-range+:host[data-size='m'] .segments>:last-child,tui-range+:host[data-size='m'] .segments>:last-child{right:-1rem}.segment:not(:last-of-type):not(:first-of-type):before{content:'';position:absolute;left:0;right:0;margin:auto;background:var(--tui-base-07);width:.25rem;height:100%}.segment:last-of-type .number{margin-right:-.5rem}.segment:first-of-type .number{margin-left:-.5rem}.number{display:inline-block;margin-top:.5rem}"]
199
- }),
249
+ styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-base-03);cursor:pointer;outline:0;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:'';position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size='s'] .track{position:relative;margin:0 .25rem;height:100%}:host[data-size='s'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.25rem}:host[data-size='m'] .track{position:relative;margin:0 .5rem;height:100%}:host[data-size='m'] .track:after{content:'';position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-primary);margin:0 -.5rem}.thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translate(0,-50%)}.thumb::-webkit-slider-thumb{pointer-events:all}.thumb::-moz-range-thumb{pointer-events:all}input[type=range].thumb::-webkit-slider-runnable-track{background:0 0}input[type=range].thumb::-moz-range-track{background:0 0}input[type=range].thumb::-moz-range-progress{background:0 0}input[type=range].thumb::-ms-track{background:0 0}input[type=range].thumb::-ms-fill-lower{background:0 0}.thumb:last-of-type::-webkit-slider-thumb{transform:translate(50%,0)}.thumb:first-of-type::-webkit-slider-thumb{transform:translate(-50%,0)}.thumb:last-of-type::-moz-range-thumb{transform:translate(50%,0)}.thumb:first-of-type::-moz-range-thumb{transform:translate(-50%,0)}:host._disabled .thumb{opacity:1}.segments{position:absolute;top:0;left:0;bottom:0;right:0}:host[data-size='s'] .segments{display:flex;margin:0 .25rem;font:var(--tui-font-text-s);padding:0 .25rem}:host[data-size='s'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='s'] .segments>:first-child{left:-.25rem;flex:1;text-align:left}:host[data-size='s'] .segments>:last-child{right:-.25rem;flex:1;text-align:right}tui-input-slider+:host[data-size='s'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .25rem)}tui-input-range+:host[data-size='s'] .segments,tui-range+:host[data-size='s'] .segments{margin-left:.5rem;margin-right:.5rem}tui-input-range+:host[data-size='s'] .segments>:first-child,tui-range+:host[data-size='s'] .segments>:first-child{left:-.5rem}tui-input-range+:host[data-size='s'] .segments>:last-child,tui-range+:host[data-size='s'] .segments>:last-child{right:-.5rem}:host[data-size='m'] .segments{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);padding:0 .5rem}:host[data-size='m'] .segments>*{position:relative;flex:2;text-align:center}:host[data-size='m'] .segments>:first-child{left:-.5rem;flex:1;text-align:left}:host[data-size='m'] .segments>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+:host[data-size='m'] .segments{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}tui-input-range+:host[data-size='m'] .segments,tui-range+:host[data-size='m'] .segments{margin-left:1rem;margin-right:1rem}tui-input-range+:host[data-size='m'] .segments>:first-child,tui-range+:host[data-size='m'] .segments>:first-child{left:-1rem}tui-input-range+:host[data-size='m'] .segments>:last-child,tui-range+:host[data-size='m'] .segments>:last-child{right:-1rem}.segment:not(:last-of-type):not(:first-of-type):before{content:'';position:absolute;left:0;right:0;margin:auto;background:var(--tui-base-07);width:.25rem;height:100%}.segment:last-of-type .number{margin-right:-.5rem}.segment:first-of-type .number{margin-left:-.5rem}.number{display:inline-block;margin-top:.5rem}"]
250
+ })
251
+ /**
252
+ * `AbstractTuiSlider` includes all legacy code (it can be deleted in v3.0)
253
+ * TODO replace `extends AbstractTuiSlider<[number, number]>` by `extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor`
254
+ */
255
+ ,
200
256
  __param(0, Optional()),
201
257
  __param(0, Self()),
202
258
  __param(0, Inject(NgControl)),
@@ -210,4 +266,4 @@ var TuiRangeComponent = /** @class */ (function (_super) {
210
266
  return TuiRangeComponent;
211
267
  }(AbstractTuiSlider));
212
268
  export { TuiRangeComponent };
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhbmdlLyIsInNvdXJjZXMiOlsicmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsY0FBYyxFQUdkLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDOzs7O0dBSUc7QUFJSDtJQUFBO0lBQW1DLENBQUM7SUFBdkIsb0JBQW9CO1FBSGhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxzQ0FBc0M7U0FDbkQsQ0FBQztPQUNXLG9CQUFvQixDQUFHO0lBQUQsMkJBQUM7Q0FBQSxBQUFwQyxJQUFvQztTQUF2QixvQkFBb0I7QUFFakMsV0FBVztBQWlCWDtJQUNZLHFDQUFtQztJQW1DM0MsMkJBSUksT0FBeUIsRUFDRSxpQkFB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O0NBQUEsQUFsSkQsQ0FDWSxpQkFBaUIsR0FpSjVCO1NBbEpZLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIG5vbk5lZ2F0aXZlRmluaXRlQXNzZXJ0aW9uLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QWJzdHJhY3RUdWlTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlTbGlkZXJDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFR1cm4gb24gbmV3IG1vZGUgZm9yIGBSYW5nZWAgYW5kIGBJbnB1dFJhbmdlYC5cbiAqIFRoZSBuZXcgdmVyc2lvbiBvZiBjb21wb25lbnQgd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIHRoZSBzYW1lIGNvbXBvbmVudCBmcm9tIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG4gKiBAZGVwcmVjYXRlZCBUT0RPIHJlbW92ZSBtZSBpbiB2My4wIGFuZCBtYWtlIGBSYW5nZWAgYW5kIGBJbnB1dFJhbmdlYCBhbHdheXMgXCJuZXdcIi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktcmFuZ2VbbmV3XSwgdHVpLWlucHV0LXJhbmdlW25ld10nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOZXdSYW5nZURpcmVjdGl2ZSB7fVxuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2NvbXB1dGVkRGlzYWJsZWQnLFxuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aVJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlTbGlkZXI8W251bWJlciwgbnVtYmVyXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAwO1xuXG4gICAgLyoqXG4gICAgICogVE9ETzogbWFrZSBgMTAwYCBhcyBkZWZhdWx0IHZhbHVlICh0byBiZSBsaWtlIG5hdGl2ZSBzbGlkZXJzKSBpbiB2My4wXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgLyoqXG4gICAgICogVE9ETzogdGhpbmsgYWJvdXQgcmVwbGFjaW5nIHRoaXMgcHJvcHMgYnkgYHN0ZXBgICh0byBiZSBsaWtlIG5hdGl2ZSBzbGlkZXIpLlxuICAgICAqIEl0IGNhbiBiZSBlYXN5IGFmdGVyIHJlZmFjdG9yIG9mIGtleVN0ZXBzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBUT0RPOiB0aGluayBhYm91dCByZXBsYWNpbmcgdGhpcyBwcm9wcyBieSBgc3RlcGAgKHRvIGJlIGxpa2UgbmF0aXZlIHNsaWRlcikuXG4gICAgICogSXQgY2FuIGJlIGVhc3kgYWZ0ZXIgcmVmYWN0b3Igb2Yga2V5U3RlcHMuXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChub25OZWdhdGl2ZUZpbml0ZUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXInKVxuICAgIHF1YW50dW0gPSAwO1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBzbGlkZXJzUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBsYXN0QWN0aXZlVGh1bWI6ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0ZST01fVE9fVEVYVFMpIGZyb21Ub1RleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOZXdSYW5nZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaXNOZXc6IFR1aU5ld1JhbmdlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYsIGRvY3VtZW50UmVmLCBmcm9tVG9UZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3QgW3NsaWRlckxlZnRSZWYsIHNsaWRlclJpZ2h0UmVmXSA9IHRoaXMuc2xpZGVyc1JlZnM7XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCAhc2xpZGVyTGVmdFJlZiB8fCAhc2xpZGVyUmlnaHRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMZWZ0Rm9jdXNhYmxlXG4gICAgICAgICAgICA/IHNsaWRlckxlZnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiBzbGlkZXJSaWdodFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEtleVN0ZXBzKCk6IFR1aUtleVN0ZXBzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZVB1cmVLZXlTdGVwcyh0aGlzLmtleVN0ZXBzLCB0aGlzLm1pbiwgdGhpcy5tYXgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1sZWZ0LiUnKVxuICAgIGdldCBsZWZ0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAxMDAgKiB0aGlzLmdldEZyYWN0aW9uRnJvbVZhbHVlKHRoaXMudmFsdWVbMF0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1yaWdodC4lJylcbiAgICBnZXQgcmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDEwMCAtIDEwMCAqIHRoaXMuZ2V0RnJhY3Rpb25Gcm9tVmFsdWUodGhpcy52YWx1ZVsxXSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNpbicsIFsndHJ1ZSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWydmYWxzZSddKVxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAucHJldmVudCcsIFsnMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQnLCBbJzEnLCAnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQnLCBbJy0xJywgJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bi5wcmV2ZW50JywgWyctMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgY2hhbmdlQnlTdGVwKGNvZWZmaWNpZW50OiBudW1iZXIsIHRhcmdldDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgW3NsaWRlckxlZnRSZWYsIHNsaWRlclJpZ2h0UmVmXSA9IHRoaXMuc2xpZGVyc1JlZnM7XG4gICAgICAgIGNvbnN0IGxlZnRUaHVtYkVsZW1lbnQgPSBzbGlkZXJMZWZ0UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJpZ2h0VGh1bWJFbGVtZW50ID0gc2xpZGVyUmlnaHRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBjb25zdCBpc1JpZ2h0VGh1bWIgPVxuICAgICAgICAgICAgdGFyZ2V0ID09PSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgID8gdGhpcy5sYXN0QWN0aXZlVGh1bWIgPT09ICdyaWdodCdcbiAgICAgICAgICAgICAgICA6IHRhcmdldCA9PT0gcmlnaHRUaHVtYkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRodW1iRWxlbWVudCA9IGlzUmlnaHRUaHVtYiA/IHJpZ2h0VGh1bWJFbGVtZW50IDogbGVmdFRodW1iRWxlbWVudDtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGlzUmlnaHRUaHVtYiA/IHRoaXMudmFsdWVbMV0gOiB0aGlzLnZhbHVlWzBdO1xuICAgICAgICAvKiogQGJhZCBUT0RPIHRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCB0d2ljZSBjb252ZXJzaW9uICovXG4gICAgICAgIGNvbnN0IHByZXZpb3VzRnJhY3Rpb24gPSB0aGlzLmdldEZyYWN0aW9uRnJvbVZhbHVlKHByZXZpb3VzVmFsdWUpO1xuICAgICAgICBjb25zdCBuZXdGcmFjdGlvblZhbHVlID0gcHJldmlvdXNGcmFjdGlvbiArIGNvZWZmaWNpZW50ICogdGhpcy5jb21wdXRlZFN0ZXA7XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzVmFsdWUodGhpcy5nZXRWYWx1ZUZyb21GcmFjdGlvbihuZXdGcmFjdGlvblZhbHVlKSwgaXNSaWdodFRodW1iKTtcblxuICAgICAgICBpZiAoYWN0aXZlVGh1bWJFbGVtZW50KSB7XG4gICAgICAgICAgICBhY3RpdmVUaHVtYkVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb2Nlc3NWYWx1ZSh2YWx1ZTogbnVtYmVyLCByaWdodDogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBndWFyZGVkVmFsdWUgPSB0aGlzLnZhbHVlR3VhcmQodmFsdWUpO1xuXG4gICAgICAgIGlmIChyaWdodCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFbmQoZ3VhcmRlZFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhcnQoZ3VhcmRlZFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdEFjdGl2ZVRodW1iID0gcmlnaHQgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICByZXR1cm4gWzAsIDBdO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlUHVyZUtleVN0ZXBzKFxuICAgICAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsLFxuICAgICAgICBtaW46IG51bWJlcixcbiAgICAgICAgbWF4OiBudW1iZXIsXG4gICAgKTogVHVpS2V5U3RlcHMge1xuICAgICAgICByZXR1cm4gW1swLCBtaW5dLCAuLi4oa2V5U3RlcHMgfHwgW10pLCBbMTAwLCBtYXhdXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXJ0KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbTWF0aC5taW4odmFsdWUsIHRoaXMudmFsdWVbMV0pLCB0aGlzLnZhbHVlWzFdXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVFbmQodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFt0aGlzLnZhbHVlWzBdLCBNYXRoLm1heCh2YWx1ZSwgdGhpcy52YWx1ZVswXSldKTtcbiAgICB9XG59XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhbmdlLyIsInNvdXJjZXMiOlsicmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIsUUFBUSxFQUNSLEtBQUssRUFDTCwyQkFBMkIsRUFDM0IsU0FBUyxFQUNULGNBQWMsRUFHZCxPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDL0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUNILGtDQUFrQyxFQUNsQywyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzlCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQzs7OztHQUlHO0FBSUg7SUFBQTtJQUFtQyxDQUFDO0lBQXZCLG9C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QVc7WUFDckIsd3REQUFvQztZQUVwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxJQUFJLEVBQUU7Z0JBQ0YsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsc0JBQXNCLEVBQUUsa0JBQWtCO2FBQzdDO1lBQ0QsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLG1CQUFpQixFQUFqQixDQUFpQixDQUFDO2lCQUNuRDthQUNKOztTQUNKLENBQUM7UUFDRjs7O1dBR0c7O1FBbURNLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO09BM0R4QixpQkFBaUIsQ0ErTTdCO0lBQUQsd0JBQUM7Q0FBQSxBQS9NRCxDQUNZLGlCQUFpQixHQThNNUI7U0EvTVksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgbm9uTmVnYXRpdmVGaW5pdGVBc3NlcnRpb24sXG4gICAgcXVhbnRpemUsXG4gICAgcm91bmQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzc2VydCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlTbGlkZXIsIFNMSURFUl9LRVlCT0FSRF9TVEVQfSBmcm9tICdAdGFpZ2EtdWkva2l0L2Fic3RyYWN0JztcbmltcG9ydCB7VHVpU2xpZGVyQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1xuICAgIHR1aUNoZWNrS2V5U3RlcHNIYXZlTWluTWF4UGVyY2VudHMsXG4gICAgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlLFxuICAgIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFR1cm4gb24gbmV3IG1vZGUgZm9yIGBSYW5nZWAgYW5kIGBJbnB1dFJhbmdlYC5cbiAqIFRoZSBuZXcgdmVyc2lvbiBvZiBjb21wb25lbnQgd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIHRoZSBzYW1lIGNvbXBvbmVudCBmcm9tIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG4gKiBAZGVwcmVjYXRlZCBUT0RPIHJlbW92ZSBtZSBpbiB2My4wIGFuZCBtYWtlIGBSYW5nZWAgYW5kIGBJbnB1dFJhbmdlYCBhbHdheXMgXCJuZXdcIi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktcmFuZ2VbbmV3XSwgdHVpLWlucHV0LXJhbmdlW25ld10nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOZXdSYW5nZURpcmVjdGl2ZSB7fVxuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJy0xJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2NvbXB1dGVkRGlzYWJsZWQnLFxuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aVJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbi8qKlxuICogYEFic3RyYWN0VHVpU2xpZGVyYCBpbmNsdWRlcyBhbGwgbGVnYWN5IGNvZGUgKGl0IGNhbiBiZSBkZWxldGVkIGluIHYzLjApXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlTbGlkZXI8W251bWJlciwgbnVtYmVyXT5gIGJ5IGBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxbbnVtYmVyLCBudW1iZXJdPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JgXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlTbGlkZXI8W251bWJlciwgbnVtYmVyXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAwO1xuXG4gICAgLyoqXG4gICAgICogVE9ETzogbWFrZSBgMTAwYCBhcyBkZWZhdWx0IHZhbHVlICh0byBiZSBsaWtlIG5hdGl2ZSBzbGlkZXJzKSBpbiB2My4wXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgLyoqXG4gICAgICogVE9ETzogdGhpbmsgYWJvdXQgcmVwbGFjaW5nIHRoaXMgcHJvcHMgYnkgYHN0ZXBgICh0byBiZSBsaWtlIG5hdGl2ZSBzbGlkZXIpLlxuICAgICAqIEl0IGNhbiBiZSBkb25lIGFmdGVyIHJlbW92aW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgY29kZSBpbnNpZGUge0BsaW5rIGNvbXB1dGVQdXJlS2V5U3RlcHN9IGluIHYzLjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgLyoqXG4gICAgICogVE9ETzogdGhpbmsgYWJvdXQgcmVwbGFjaW5nIHRoaXMgcHJvcHMgYnkgYHN0ZXBgICh0byBiZSBsaWtlIG5hdGl2ZSBzbGlkZXIpLlxuICAgICAqIEl0IGNhbiBiZSBkb25lIGFmdGVyIHJlbW92aW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgY29kZSBpbnNpZGUge0BsaW5rIGNvbXB1dGVQdXJlS2V5U3RlcHN9IGluIHYzLjBcbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKG5vbk5lZ2F0aXZlRmluaXRlQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlcicpXG4gICAgcXVhbnR1bSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQFZpZXdDaGlsZHJlbihUdWlTbGlkZXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBzbGlkZXJzUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBsYXN0QWN0aXZlVGh1bWI6ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0ZST01fVE9fVEVYVFMpIGZyb21Ub1RleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOZXdSYW5nZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaXNOZXc6IFR1aU5ld1JhbmdlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYsIGRvY3VtZW50UmVmLCBmcm9tVG9UZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3QgW3NsaWRlckxlZnRSZWYsIHNsaWRlclJpZ2h0UmVmXSA9IHRoaXMuc2xpZGVyc1JlZnM7XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCAhc2xpZGVyTGVmdFJlZiB8fCAhc2xpZGVyUmlnaHRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMZWZ0Rm9jdXNhYmxlXG4gICAgICAgICAgICA/IHNsaWRlckxlZnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgOiBzbGlkZXJSaWdodFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBmcmFjdGlvblN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuc3RlcHMpIHtcbiAgICAgICAgICAgIHJldHVybiAxIC8gdGhpcy5zdGVwcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1YW50dW0gPyB0aGlzLnF1YW50dW0gLyAodGhpcy5tYXggLSB0aGlzLm1pbikgOiBTTElERVJfS0VZQk9BUkRfU1RFUDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRLZXlTdGVwcygpOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVQdXJlS2V5U3RlcHModGhpcy5rZXlTdGVwcywgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tbGVmdC4lJylcbiAgICBnZXQgbGVmdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQZXJjZW50YWdlRnJvbVZhbHVlKHRoaXMudmFsdWVbMF0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS1yaWdodC4lJylcbiAgICBnZXQgcmlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDEwMCAtIHRoaXMuZ2V0UGVyY2VudGFnZUZyb21WYWx1ZSh0aGlzLnZhbHVlWzFdKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1c2luJywgWyd0cnVlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnLCBbJ2ZhbHNlJ10pXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWycxJywgJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93UmlnaHQucHJldmVudCcsIFsnMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCcsIFsnLTEnLCAnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJy0xJywgJyRldmVudC50YXJnZXQnXSlcbiAgICBjaGFuZ2VCeVN0ZXAoY29lZmZpY2llbnQ6IG51bWJlciwgdGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBbc2xpZGVyTGVmdFJlZiwgc2xpZGVyUmlnaHRSZWZdID0gdGhpcy5zbGlkZXJzUmVmcztcbiAgICAgICAgY29uc3QgbGVmdFRodW1iRWxlbWVudCA9IHNsaWRlckxlZnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgcmlnaHRUaHVtYkVsZW1lbnQgPSBzbGlkZXJSaWdodFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGNvbnN0IGlzUmlnaHRUaHVtYiA9XG4gICAgICAgICAgICB0YXJnZXQgPT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgICAgICAgPyB0aGlzLmxhc3RBY3RpdmVUaHVtYiA9PT0gJ3JpZ2h0J1xuICAgICAgICAgICAgICAgIDogdGFyZ2V0ID09PSByaWdodFRodW1iRWxlbWVudDtcbiAgICAgICAgY29uc3QgYWN0aXZlVGh1bWJFbGVtZW50ID0gaXNSaWdodFRodW1iID8gcmlnaHRUaHVtYkVsZW1lbnQgOiBsZWZ0VGh1bWJFbGVtZW50O1xuICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gaXNSaWdodFRodW1iID8gdGhpcy52YWx1ZVsxXSA6IHRoaXMudmFsdWVbMF07XG4gICAgICAgIC8qKiBAYmFkIFRPRE8gdGhpbmsgYWJvdXQgYSBzb2x1dGlvbiB3aXRob3V0IHR3aWNlIGNvbnZlcnNpb24gKi9cbiAgICAgICAgY29uc3QgcHJldmlvdXNGcmFjdGlvbiA9IHRoaXMuZ2V0UGVyY2VudGFnZUZyb21WYWx1ZShwcmV2aW91c1ZhbHVlKSAvIDEwMDtcbiAgICAgICAgY29uc3QgbmV3RnJhY3Rpb25WYWx1ZSA9IHByZXZpb3VzRnJhY3Rpb24gKyBjb2VmZmljaWVudCAqIHRoaXMuZnJhY3Rpb25TdGVwO1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc1ZhbHVlKHRoaXMuZ2V0VmFsdWVGcm9tRnJhY3Rpb24obmV3RnJhY3Rpb25WYWx1ZSksIGlzUmlnaHRUaHVtYik7XG5cbiAgICAgICAgaWYgKGFjdGl2ZVRodW1iRWxlbWVudCkge1xuICAgICAgICAgICAgYWN0aXZlVGh1bWJFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9jZXNzVmFsdWUodmFsdWU6IG51bWJlciwgcmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ3VhcmRlZFZhbHVlID0gdGhpcy52YWx1ZUd1YXJkKHZhbHVlKTtcblxuICAgICAgICBpZiAocmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRW5kKGd1YXJkZWRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXJ0KGd1YXJkZWRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RBY3RpdmVUaHVtYiA9IHJpZ2h0ID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgICB9XG5cbiAgICBmcmFjdGlvbkd1YXJkKGZyYWN0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gY2xhbXAocXVhbnRpemUoZnJhY3Rpb24sIHRoaXMuZnJhY3Rpb25TdGVwKSwgMCwgMSk7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVGcm9tRnJhY3Rpb24oZnJhY3Rpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSB0aGlzLmZyYWN0aW9uR3VhcmQoZnJhY3Rpb24pICogMTAwO1xuXG4gICAgICAgIHJldHVybiB0dWlQZXJjZW50YWdlVG9LZXlTdGVwVmFsdWUocGVyY2VudGFnZSwgdGhpcy5jb21wdXRlZEtleVN0ZXBzKTtcbiAgICB9XG5cbiAgICBnZXRQZXJjZW50YWdlRnJvbVZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLmNvbXB1dGVkS2V5U3RlcHMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB2YWx1ZUd1YXJkKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gY2xhbXAoXG4gICAgICAgICAgICB0aGlzLnF1YW50dW1cbiAgICAgICAgICAgICAgICA/IHJvdW5kKFxuICAgICAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQodmFsdWUgLyB0aGlzLnF1YW50dW0pICogdGhpcy5xdWFudHVtLFxuICAgICAgICAgICAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB2YWx1ZSxcbiAgICAgICAgICAgIHRoaXMubWluLFxuICAgICAgICAgICAgdGhpcy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIHJldHVybiBbMCwgMF07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVQdXJlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIGlmIChrZXlTdGVwcyAmJiB0dWlDaGVja0tleVN0ZXBzSGF2ZU1pbk1heFBlcmNlbnRzKGtleVN0ZXBzKSkge1xuICAgICAgICAgICAgcmV0dXJuIGtleVN0ZXBzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETyByZXBsYWNlIGFsbCBmdW5jdGlvbiBieSBgcmV0dXJuIGtleVN0ZXBzIHx8IFtbMCwgbWluXSwgWzEwMCwgbWF4XV1gIGluIHYzLjBcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICFrZXlTdGVwcyxcbiAgICAgICAgICAgICdcXG4nICtcbiAgICAgICAgICAgICAgICAnSW5wdXQgcHJvcGVydHkgW2tleVN0ZXBzXSBzaG91bGQgY29udGFpbiBtaW4gYW5kIG1heCBwZXJjZW50cy5cXG4nICtcbiAgICAgICAgICAgICAgICAnV2UgaGF2ZSB0YWtlbiBbbWluXSBhbmQgW21heF0gcHJvcGVydGllcyBvZiB5b3VyIGNvbXBvbmVudCBmb3Igbm93IChidXQgaXQgd2lsbCBub3Qgd29yayBpbiB2My4wKS5cXG4nICtcbiAgICAgICAgICAgICAgICAnU2VlIGV4YW1wbGUgaG93IHByb3Blcmx5IHVzZSBba2V5U3RlcHNdOiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL3JhbmdlI2tleS1zdGVwcycsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIFtbMCwgbWluXSwgLi4uKGtleVN0ZXBzIHx8IFtdKSwgWzEwMCwgbWF4XV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTdGFydCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW01hdGgubWluKHZhbHVlLCB0aGlzLnZhbHVlWzFdKSwgdGhpcy52YWx1ZVsxXV0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW5kKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgTWF0aC5tYXgodmFsdWUsIHRoaXMudmFsdWVbMF0pXSk7XG4gICAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __extends, __param } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Inject, Input, Optional, Self, TemplateRef, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { AbstractTuiNullableControl, isNativeFocused, setNativeFocused, tuiDefaultProp, tuiPure, } from '@taiga-ui/cdk';
4
+ import { AbstractTuiNullableControl, isNativeFocused, setNativeFocused, tuiDefaultProp, } from '@taiga-ui/cdk';
5
5
  import { TUI_TEXTFIELD_CLEANER, TuiDataListDirective, TuiDataListHost, TuiHostedDropdownComponent, TuiPrimitiveTextfieldComponent, TuiSizeL, TuiSizeM, TuiSizeS, TuiTextfieldCleanerDirective, TuiValueContentContext, } from '@taiga-ui/core';
6
6
  import { TUI_ARROW_MODE } from '@taiga-ui/kit/components/arrow';
7
7
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
@@ -57,9 +57,6 @@ var TuiSelectComponent = /** @class */ (function (_super) {
57
57
  enumerable: true,
58
58
  configurable: true
59
59
  });
60
- TuiSelectComponent.prototype.computeContext = function ($implicit, active) {
61
- return { $implicit: $implicit, active: active };
62
- };
63
60
  TuiSelectComponent.prototype.onValueChange = function (value) {
64
61
  if (!value) {
65
62
  this.updateValue(null);
@@ -117,13 +114,10 @@ var TuiSelectComponent = /** @class */ (function (_super) {
117
114
  __decorate([
118
115
  ContentChild(TuiDataListDirective, { read: TemplateRef })
119
116
  ], TuiSelectComponent.prototype, "datalist", void 0);
120
- __decorate([
121
- tuiPure
122
- ], TuiSelectComponent.prototype, "computeContext", null);
123
117
  TuiSelectComponent = __decorate([
124
118
  Component({
125
119
  selector: 'tui-select',
126
- 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",
120
+ 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",
127
121
  changeDetection: ChangeDetectionStrategy.OnPush,
128
122
  providers: TUI_SELECT_PROVIDERS,
129
123
  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}"]
@@ -140,4 +134,4 @@ var TuiSelectComponent = /** @class */ (function (_super) {
140
134
  return TuiSelectComponent;
141
135
  }(AbstractTuiNullableControl));
142
136
  export { TuiSelectComponent };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QvIiwic291cmNlcyI6WyJzZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGVBQWUsRUFDZixnQkFBZ0IsRUFHaEIsY0FBYyxFQUVkLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLDhCQUE4QixFQUM5QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUiw0QkFBNEIsRUFDNUIsc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFTdEU7SUFDWSxzQ0FBNkI7SUEyQnJDLDRCQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLGdCQUE4QyxFQUU5QyxTQUF1QixFQUV2QixhQUFrQyxFQUVsQyxPQUE0QjtRQWJqRCxZQWVJLGtCQUFNLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxTQUNwQztRQVRvQixz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LGtCQUFrQixDQUFDLENBQUE7T0F4Q3RCLGtCQUFrQixDQThHOUI7SUFBRCx5QkFBQztDQUFBLEFBOUdELENBQ1ksMEJBQTBCLEdBNkdyQztTQTlHWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfQ0xFQU5FUixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVNLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZENsZWFuZXJEaXJlY3RpdmUsXG4gICAgVHVpVmFsdWVDb250ZW50Q29udGV4dCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlMsIFR1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUVUlfU0VMRUNUX1BST1ZJREVSU30gZnJvbSAnLi9zZWxlY3QucHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1NFTEVDVF9PUFRJT05TLCBUdWlTZWxlY3RPcHRpb25zfSBmcm9tICcuL3NlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBUVUlfU0VMRUNUX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VsZWN0Q29tcG9uZW50PFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VD5cbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmluZ2lmeTogVHVpSXRlbXNIYW5kbGVyczxUPlsnc3RyaW5naWZ5J10gPSB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnaWRlbnRpdHlNYXRjaGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogVHVpU2VsZWN0T3B0aW9uczxUPlsndmFsdWVDb250ZW50J10gPSB0aGlzLm9wdGlvbnMudmFsdWVDb250ZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkYXRhbGlzdDogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPlxuICAgID4gPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9DTEVBTkVSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZENsZWFuZXI6IFR1aVRleHRmaWVsZENsZWFuZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0FSUk9XX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3dNb2RlOiBUdWlBcnJvd01vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NFTEVDVF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVNlbGVjdE9wdGlvbnM8VD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3coKTogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplUyB8IFR1aVNpemVNIHwgVHVpU2l6ZUw+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSA/IHRoaXMuYXJyb3dNb2RlLmRpc2FibGVkIDogdGhpcy5hcnJvd01vZGUuaW50ZXJhY3RpdmU7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQgPyB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmhvc3RlZERyb3Bkb3duICYmIHRoaXMuaG9zdGVkRHJvcGRvd24uZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCA/ICcnIDogdGhpcy5zdHJpbmdpZnkodGhpcy52YWx1ZSkgfHwgJyAnO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZENvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlQ29udGVudCB8fCB0aGlzLmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBjb21wdXRlQ29udGV4dChcbiAgICAgICAgJGltcGxpY2l0OiBUIHwgbnVsbCxcbiAgICAgICAgYWN0aXZlOiBib29sZWFuLFxuICAgICk6IFR1aVZhbHVlQ29udGVudENvbnRleHQ8VCB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHskaW1wbGljaXQsIGFjdGl2ZX07XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbktleURvd25EZWxldGUoKSB7XG4gICAgICAgIGlmICh0aGlzLnRleHRmaWVsZENsZWFuZXIuY2xlYW5lcikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUob3B0aW9uKTtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbihmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QvIiwic291cmNlcyI6WyJzZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGVBQWUsRUFDZixnQkFBZ0IsRUFHaEIsY0FBYyxHQUVqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLDhCQUE4QixFQUM5QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUiw0QkFBNEIsRUFDNUIsc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBZSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFTdEU7SUFDWSxzQ0FBNkI7SUEyQnJDLDRCQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLGdCQUE4QyxFQUU5QyxTQUF1QixFQUV2QixhQUFrQyxFQUVsQyxPQUE0QjtRQWJqRCxZQWVJLGtCQUFNLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxTQUNwQztRQVRvQixzQkFBZ0IsR0FB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bmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfQ0xFQU5FUixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVNLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZENsZWFuZXJEaXJlY3RpdmUsXG4gICAgVHVpVmFsdWVDb250ZW50Q29udGV4dCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlMsIFR1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUVUlfU0VMRUNUX1BST1ZJREVSU30gZnJvbSAnLi9zZWxlY3QucHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1NFTEVDVF9PUFRJT05TLCBUdWlTZWxlY3RPcHRpb25zfSBmcm9tICcuL3NlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBUVUlfU0VMRUNUX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VsZWN0Q29tcG9uZW50PFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VD5cbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmluZ2lmeTogVHVpSXRlbXNIYW5kbGVyczxUPlsnc3RyaW5naWZ5J10gPSB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnaWRlbnRpdHlNYXRjaGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogVHVpU2VsZWN0T3B0aW9uczxUPlsndmFsdWVDb250ZW50J10gPSB0aGlzLm9wdGlvbnMudmFsdWVDb250ZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkYXRhbGlzdDogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPlxuICAgID4gPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9DTEVBTkVSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZENsZWFuZXI6IFR1aVRleHRmaWVsZENsZWFuZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0FSUk9XX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3dNb2RlOiBUdWlBcnJvd01vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgICAgIEBJbmplY3QoVFVJX1NFTEVDVF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aVNlbGVjdE9wdGlvbnM8VD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgYXJyb3coKTogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplUyB8IFR1aVNpemVNIHwgVHVpU2l6ZUw+XG4gICAgPiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnRlcmFjdGl2ZSA/IHRoaXMuYXJyb3dNb2RlLmRpc2FibGVkIDogdGhpcy5hcnJvd01vZGUuaW50ZXJhY3RpdmU7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQgPyB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmhvc3RlZERyb3Bkb3duICYmIHRoaXMuaG9zdGVkRHJvcGRvd24uZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCA/ICcnIDogdGhpcy5zdHJpbmdpZnkodGhpcy52YWx1ZSkgfHwgJyAnO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZENvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlWYWx1ZUNvbnRlbnRDb250ZXh0PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlQ29udGVudCB8fCB0aGlzLmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbktleURvd25EZWxldGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRleHRmaWVsZENsZWFuZXIuY2xlYW5lcikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUob3B0aW9uKTtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbihmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -39,4 +39,4 @@ var TuiSelectDirective = /** @class */ (function (_super) {
39
39
  return TuiSelectDirective;
40
40
  }(TuiAbstractTextfieldHost));
41
41
  export { TuiSelectDirective };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QvIiwic291cmNlcyI6WyJzZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWE1RTtJQUF3QyxzQ0FFdkM7SUFGRDs7SUFjQSxDQUFDOzJCQWRZLGtCQUFrQjtJQUczQixzQkFBSSx3Q0FBUTthQUFaO1lBQ0ksT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBSzthQUFUO1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQUVELDBDQUFhLEdBQWIsVUFBYyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7O0lBYlEsa0JBQWtCO1FBVDlCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxvQkFBa0IsRUFBbEIsQ0FBa0IsQ0FBQztpQkFDcEQ7YUFDSjtTQUNKLENBQUM7T0FDVyxrQkFBa0IsQ0FjOUI7SUFBRCx5QkFBQztDQUFBLEFBZEQsQ0FBd0Msd0JBQXdCLEdBYy9EO1NBZFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1QsIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQge1R1aVNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2VsZWN0JyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWxlY3REaXJlY3RpdmUgZXh0ZW5kcyBUdWlBYnN0cmFjdFRleHRmaWVsZEhvc3Q8XG4gICAgVHVpU2VsZWN0Q29tcG9uZW50PHVua25vd24+XG4+IHtcbiAgICBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QvIiwic291cmNlcyI6WyJzZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWE1RTtJQUF3QyxzQ0FFdkM7SUFGRDs7SUFjQSxDQUFDOzJCQWRZLGtCQUFrQjtJQUczQixzQkFBSSx3Q0FBUTthQUFaO1lBQ0ksT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQ0FBSzthQUFUO1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNuQyxDQUFDOzs7T0FBQTtJQUVELDBDQUFhLEdBQWIsVUFBYyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7O0lBYlEsa0JBQWtCO1FBVDlCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsa0JBQWtCO29CQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxvQkFBa0IsRUFBbEIsQ0FBa0IsQ0FBQztpQkFDcEQ7YUFDSjtTQUNKLENBQUM7T0FDVyxrQkFBa0IsQ0FjOUI7SUFBRCx5QkFBQztDQUFBLEFBZEQsQ0FBd0Msd0JBQXdCLEdBYy9EO1NBZFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1QsIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQge1R1aVNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9zZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktc2VsZWN0JyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpU2VsZWN0RGlyZWN0aXZlKSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWxlY3REaXJlY3RpdmUgZXh0ZW5kcyBUdWlBYnN0cmFjdFRleHRmaWVsZEhvc3Q8XG4gICAgVHVpU2VsZWN0Q29tcG9uZW50PHVua25vd24+XG4+IHtcbiAgICBnZXQgcmVhZE9ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -62,4 +62,4 @@ var TuiSelectOptionComponent = /** @class */ (function () {
62
62
  }());
63
63
  export { TuiSelectOptionComponent };
64
64
  export var TUI_SELECT_OPTION = new PolymorpheusComponent(TuiSelectOptionComponent);
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbi8iLCJzb3VyY2VzIjpbInNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsNEJBQTRCLEVBRzVCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFRcEU7SUFVSSxrQ0FFYSxPQUFnRCxFQUV4QyxJQUF3QixFQUNKLFVBQW1DLEVBQ3pCLE1BQTZCLEVBQ3RDLE9BQWtCO1FBUDVELGlCQVFJOztRQU5TLFlBQU8sR0FBUCxPQUFPLENBQXlDO1FBRXhDLFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ0osZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDekIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWhCbkQsY0FBUyxHQUFHLEtBQUssT0FDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLG1DQUFJLEtBQUssRUFDbEMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQ2xFLENBQUMsSUFBSSxDQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxRQUFRLEVBQWIsQ0FBYSxDQUFDLEVBQ3hCLG9CQUFvQixFQUFFLENBQ3pCLENBQUM7SUFVQyxDQUFDO0lBRUosc0JBQUksNkNBQU87YUFBWDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksNEJBQTRCLENBQUM7UUFDckUsQ0FBQzs7O09BQUE7SUFFRCwyQ0FBUSxHQUFSO1FBQ0ksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELHNCQUFjLDhDQUFRO2FBQXRCO1lBQ0ksT0FBTyxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3RELENBQUM7UUFDTixDQUFDOzs7T0FBQTs7Z0RBekJJLE1BQU0sU0FBQyxvQkFBb0I7Z0RBRTNCLE1BQU0sU0FBQyxrQkFBa0I7Z0JBRXVCLFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO2dCQUNxQyxrQkFBa0IsdUJBQXhFLE1BQU0sU0FBQyxrQkFBa0I7Z0JBQ3FCLFNBQVMsdUJBQXZELE1BQU0sU0FBQyxTQUFTOztJQWpCWix3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1CQUFtQjtZQUM3Qiw4V0FBNEM7WUFFNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2xELENBQUM7UUFZTyxXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBRTVCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFMUIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMxQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtPQWpCYix3QkFBd0IsQ0FxQ3BDO0lBQUQsK0JBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQXJDWSx3QkFBd0I7QUF1Q3JDLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLElBQUkscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc1ByZXNlbnQsXG4gICAgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUlkZW50aXR5TWF0Y2hlcixcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgVHVpRGF0YUxpc3RIb3N0LCBUdWlPcHRpb25Db21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UE9MWU1PUlBIRVVTX0NPTlRFWFQsIFBvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7RU1QVFksIG1lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNlbGVjdC1vcHRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtb3B0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1vcHRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWxlY3RPcHRpb25Db21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHJlYWRvbmx5IHNlbGVjdGVkJCA9IG1lcmdlKFxuICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzID8/IEVNUFRZLFxuICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FuaW1hdGlvbnN0YXJ0JyksXG4gICAgKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLnNlbGVjdGVkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRleHQ6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VGVtcGxhdGVSZWY8e30+PixcbiAgICAgICAgQEluamVjdChUVUlfREFUQV9MSVNUX0hPU1QpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHVpRGF0YUxpc3RIb3N0PFQ+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpT3B0aW9uQ29tcG9uZW50KSBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uOiBUdWlPcHRpb25Db21wb25lbnQ8VD4sXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKSBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICkge31cblxuICAgIGdldCBtYXRjaGVyKCk6IFR1aUlkZW50aXR5TWF0Y2hlcjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuaWRlbnRpdHlNYXRjaGVyIHx8IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmIChpc1ByZXNlbnQodGhpcy5vcHRpb24udmFsdWUpICYmIHRoaXMuaG9zdC5jaGVja09wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ob3N0LmNoZWNrT3B0aW9uKHRoaXMub3B0aW9uLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc1ByZXNlbnQodGhpcy5vcHRpb24udmFsdWUpICYmXG4gICAgICAgICAgICBpc1ByZXNlbnQodGhpcy5jb250cm9sLnZhbHVlKSAmJlxuICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHRoaXMuY29udHJvbC52YWx1ZSwgdGhpcy5vcHRpb24udmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgVFVJX1NFTEVDVF9PUFRJT04gPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFR1aVNlbGVjdE9wdGlvbkNvbXBvbmVudCk7XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbi8iLCJzb3VyY2VzIjpbInNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxTQUFTLEVBQ1QsNEJBQTRCLEVBRzVCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFRcEU7SUFVSSxrQ0FFYSxPQUFxRSxFQUU3RCxJQUF3QixFQUNKLFVBQW1DLEVBQ3pCLE1BQTZCLEVBQ3RDLE9BQWtCO1FBUDVELGlCQVFJOztRQU5TLFlBQU8sR0FBUCxPQUFPLENBQThEO1FBRTdELFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ0osZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDekIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFDdEMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWhCbkQsY0FBUyxHQUFHLEtBQUssT0FDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLG1DQUFJLEtBQUssRUFDbEMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQ2xFLENBQUMsSUFBSSxDQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixHQUFHLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxRQUFRLEVBQWIsQ0FBYSxDQUFDLEVBQ3hCLG9CQUFvQixFQUFFLENBQ3pCLENBQUM7SUFVQyxDQUFDO0lBRUosc0JBQUksNkNBQU87YUFBWDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksNEJBQTRCLENBQUM7UUFDckUsQ0FBQzs7O09BQUE7SUFFRCwyQ0FBUSxHQUFSO1FBQ0ksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELHNCQUFjLDhDQUFRO2FBQXRCO1lBQ0ksT0FBTyxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQ3RELENBQUM7UUFDTixDQUFDOzs7T0FBQTs7Z0RBekJJLE1BQU0sU0FBQyxvQkFBb0I7Z0RBRTNCLE1BQU0sU0FBQyxrQkFBa0I7Z0JBRXVCLFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO2dCQUNxQyxrQkFBa0IsdUJBQXhFLE1BQU0sU0FBQyxrQkFBa0I7Z0JBQ3FCLFNBQVMsdUJBQXZELE1BQU0sU0FBQyxTQUFTOztJQWpCWix3QkFBd0I7UUFOcEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1CQUFtQjtZQUM3Qiw4V0FBNEM7WUFFNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2xELENBQUM7UUFZTyxXQUFBLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBRTVCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFMUIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMxQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtPQWpCYix3QkFBd0IsQ0FxQ3BDO0lBQUQsK0JBQUM7Q0FBQSxBQXJDRCxJQXFDQztTQXJDWSx3QkFBd0I7QUF1Q3JDLE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLElBQUkscUJBQXFCLENBQUMsd0JBQXdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBpc1ByZXNlbnQsXG4gICAgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUlkZW50aXR5TWF0Y2hlcixcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgVHVpRGF0YUxpc3RIb3N0LCBUdWlPcHRpb25Db21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UE9MWU1PUlBIRVVTX0NPTlRFWFQsIFBvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7RU1QVFksIG1lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNlbGVjdC1vcHRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3Qtb3B0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1vcHRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWxlY3RPcHRpb25Db21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHJlYWRvbmx5IHNlbGVjdGVkJCA9IG1lcmdlKFxuICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzID8/IEVNUFRZLFxuICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2FuaW1hdGlvbnN0YXJ0JyksXG4gICAgKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLnNlbGVjdGVkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRleHQ6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PixcbiAgICAgICAgQEluamVjdChUVUlfREFUQV9MSVNUX0hPU1QpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogVHVpRGF0YUxpc3RIb3N0PFQ+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpT3B0aW9uQ29tcG9uZW50KSBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uOiBUdWlPcHRpb25Db21wb25lbnQ8VD4sXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKSBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICkge31cblxuICAgIGdldCBtYXRjaGVyKCk6IFR1aUlkZW50aXR5TWF0Y2hlcjxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuaWRlbnRpdHlNYXRjaGVyIHx8IFRVSV9ERUZBVUxUX0lERU5USVRZX01BVENIRVI7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1ByZXNlbnQodGhpcy5vcHRpb24udmFsdWUpICYmIHRoaXMuaG9zdC5jaGVja09wdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ob3N0LmNoZWNrT3B0aW9uKHRoaXMub3B0aW9uLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc1ByZXNlbnQodGhpcy5vcHRpb24udmFsdWUpICYmXG4gICAgICAgICAgICBpc1ByZXNlbnQodGhpcy5jb250cm9sLnZhbHVlKSAmJlxuICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHRoaXMuY29udHJvbC52YWx1ZSwgdGhpcy5vcHRpb24udmFsdWUpXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgVFVJX1NFTEVDVF9PUFRJT04gPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFR1aVNlbGVjdE9wdGlvbkNvbXBvbmVudCk7XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { __decorate, __extends, __param, __read } from "tslib";
1
+ import { __decorate, __extends, __param } from "tslib";
2
2
  import { ChangeDetectorRef, Directive, ElementRef, HostListener, Inject, Input, Optional, Output, Pipe, PipeTransform, Self, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { AbstractTuiControl, isNativeFocused, round, tuiDefaultProp, typedFromEvent, } from '@taiga-ui/cdk';
5
- import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
4
+ import { AbstractTuiControl, clamp, isNativeFocused, tuiAssert, tuiDefaultProp, typedFromEvent, } from '@taiga-ui/cdk';
5
+ import { tuiCheckKeyStepsHaveMinMaxPercents, tuiKeyStepValueToPercentage, tuiPercentageToKeyStepValue, } from '@taiga-ui/kit/utils';
6
6
  import { map } from 'rxjs/operators';
7
7
  import { TuiSliderComponent } from './slider.component';
8
8
  // @dynamic
@@ -48,12 +48,7 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
48
48
  });
49
49
  Object.defineProperty(TuiSliderKeyStepsDirective.prototype, "controlValue", {
50
50
  get: function () {
51
- var valuePercentage = this.slider.valuePercentage;
52
- var _a = __read(findKeyStepsBoundariesByFn(this.keySteps, function (_a) {
53
- var _b = __read(_a, 2), keyStepPercentage = _b[0], _ = _b[1];
54
- return valuePercentage <= keyStepPercentage;
55
- }), 2), lowerStep = _a[0], upperStep = _a[1];
56
- return transformToControlValue(valuePercentage, lowerStep, upperStep);
51
+ return tuiPercentageToKeyStepValue(this.slider.valuePercentage, this.keySteps);
57
52
  },
58
53
  enumerable: true,
59
54
  configurable: true
@@ -65,21 +60,16 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
65
60
  if (controlValue === null) {
66
61
  return;
67
62
  }
68
- var _a = __read(findKeyStepsBoundariesByFn(this.keySteps, function (_a) {
69
- var _b = __read(_a, 2), _ = _b[0], keyStepValue = _b[1];
70
- return controlValue <= keyStepValue;
71
- }), 2), lowerStep = _a[0], upperStep = _a[1];
72
- this.slider.value = this.transformToNativeValue(controlValue, lowerStep, upperStep);
63
+ var clampedControlValue = clamp(controlValue, this.min, this.max);
64
+ tuiAssert.assert(controlValue === clampedControlValue, '\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max');
65
+ this.slider.value = this.transformToNativeValue(clampedControlValue);
73
66
  };
74
67
  TuiSliderKeyStepsDirective.prototype.getFallbackValue = function () {
75
68
  return 0;
76
69
  };
77
- TuiSliderKeyStepsDirective.prototype.transformToNativeValue = function (controlValue, _a, _b) {
78
- var _c = __read(_a, 2), upperStepPercent = _c[0], upperStepValue = _c[1];
79
- var _d = __read(_b, 2), lowerStepPercent = _d[0], lowerStepValue = _d[1];
80
- var _e = this.slider, min = _e.min, max = _e.max;
81
- var ratio = (controlValue - lowerStepValue) / (upperStepValue - lowerStepValue);
82
- var newValuePercentage = (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;
70
+ TuiSliderKeyStepsDirective.prototype.transformToNativeValue = function (controlValue) {
71
+ var _a = this.slider, min = _a.min, max = _a.max;
72
+ var newValuePercentage = tuiKeyStepValueToPercentage(controlValue, this.keySteps);
83
73
  return (newValuePercentage * (max - min)) / 100 + min;
84
74
  };
85
75
  TuiSliderKeyStepsDirective.ctorParameters = function () { return [
@@ -90,7 +80,7 @@ var TuiSliderKeyStepsDirective = /** @class */ (function (_super) {
90
80
  ]; };
91
81
  __decorate([
92
82
  Input(),
93
- tuiDefaultProp(checkHasMinMaxPercents, 'Should contain min and max values')
83
+ tuiDefaultProp(tuiCheckKeyStepsHaveMinMaxPercents, 'Should contain min and max values')
94
84
  ], TuiSliderKeyStepsDirective.prototype, "keySteps", void 0);
95
85
  __decorate([
96
86
  Output()
@@ -127,11 +117,7 @@ var TuiSliderTickLabelPipe = /** @class */ (function () {
127
117
  }
128
118
  TuiSliderTickLabelPipe.prototype.transform = function (tickIndex, totalSegments, keySteps) {
129
119
  var percentage = (100 / totalSegments) * tickIndex;
130
- var _a = __read(findKeyStepsBoundariesByFn(keySteps, function (_a) {
131
- var _b = __read(_a, 2), keyStepPercentage = _b[0], _ = _b[1];
132
- return percentage <= keyStepPercentage;
133
- }), 2), lowerStep = _a[0], upperStep = _a[1];
134
- return transformToControlValue(percentage, upperStep, lowerStep);
120
+ return tuiPercentageToKeyStepValue(percentage, keySteps);
135
121
  };
136
122
  TuiSliderTickLabelPipe = __decorate([
137
123
  Pipe({ name: 'tuiSliderTickLabel' })
@@ -139,20 +125,4 @@ var TuiSliderTickLabelPipe = /** @class */ (function () {
139
125
  return TuiSliderTickLabelPipe;
140
126
  }());
141
127
  export { TuiSliderTickLabelPipe };
142
- function checkHasMinMaxPercents(steps) {
143
- return !steps.length || (steps[0][0] === 0 && steps[steps.length - 1][0] === 100);
144
- }
145
- function findKeyStepsBoundariesByFn(keySteps, fn) {
146
- var keyStepUpperIndex = keySteps.findIndex(function (ketStep, i) { return i && fn(ketStep); });
147
- var lowerStep = keySteps[keyStepUpperIndex - 1];
148
- var upperStep = keySteps[keyStepUpperIndex];
149
- return [lowerStep, upperStep];
150
- }
151
- function transformToControlValue(valuePercentage, _a, _b) {
152
- var _c = __read(_a, 2), upperStepPercent = _c[0], upperStepValue = _c[1];
153
- var _d = __read(_b, 2), lowerStepPercent = _d[0], lowerStepValue = _d[1];
154
- var ratio = (valuePercentage - lowerStepPercent) / (upperStepPercent - lowerStepPercent);
155
- var controlValue = (upperStepValue - lowerStepValue) * ratio + lowerStepValue;
156
- return round(controlValue, TUI_FLOATING_PRECISION);
157
- }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyLyIsInNvdXJjZXMiOlsic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixhQUFhLEVBQ2IsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixLQUFLLEVBQ0wsY0FBYyxFQUVkLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXRELFdBQVc7QUFTWDtJQUNZLDhDQUEwQjtJQXNDbEMsb0NBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFDMUIsVUFBd0MsRUFDaEMsTUFBMEI7UUFQM0UsWUFTSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFKd0MsZ0JBQVUsR0FBVixVQUFVLENBQThCO1FBQ2hDLFlBQU0sR0FBTixNQUFNLENBQW9CO1FBeEMzRSxjQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUczQixtQkFBYSxHQUFHLGNBQWMsQ0FBQyxLQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZFLEdBQUcsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFD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SyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUN0RixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FDL0IsUUFBcUIsRUFDckIsRUFBaUU7SUFFakUsSUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQUMsT0FBTyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQWhCLENBQWdCLENBQUMsQ0FBQztJQUMvRSxJQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsSUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFOUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FDNUIsZUFBdUIsRUFDdkIsRUFBb0QsRUFDcEQsRUFBb0Q7UUFEcEQsa0JBQW9ELEVBQW5ELHdCQUFnQixFQUFFLHNCQUFjO1FBQ2pDLGtCQUFvRCxFQUFuRCx3QkFBZ0IsRUFBRSxzQkFBYztJQUVqQyxJQUFNLEtBQUssR0FDUCxDQUFDLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztJQUNqRixJQUFNLFlBQVksR0FBRyxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsR0FBRyxLQUFLLEdBQUcsY0FBYyxDQUFDO0lBRWhGLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgcm91bmQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVNsaWRlckNvbXBvbmVudH0gZnJvbSAnLi9zbGlkZXIuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc10nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVub3ddJzogJ2NvbnRyb2xWYWx1ZScsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWluXSc6ICdtaW4nLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW1heF0nOiAnbWF4JyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTbGlkZXJLZXlTdGVwc0RpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPG51bWJlcj5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKGNoZWNrSGFzTWluTWF4UGVyY2VudHMsICdTaG91bGQgY29udGFpbiBtaW4gYW5kIG1heCB2YWx1ZXMnKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAga2V5U3RlcHNJbnB1dCA9IHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5jb250cm9sVmFsdWUpLFxuICAgICk7XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRGlzYWJsZWQgPyBudWxsIDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgbWluKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVN0ZXBzWzBdPy5bMV0gfHwgMDtcbiAgICB9XG5cbiAgICBnZXQgbWF4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVN0ZXBzW3RoaXMua2V5U3RlcHMubGVuZ3RoIC0gMV0/LlsxXSB8fCAxMDA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRyb2xWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7dmFsdWVQZXJjZW50YWdlfSA9IHRoaXMuc2xpZGVyO1xuICAgICAgICBjb25zdCBbbG93ZXJTdGVwLCB1cHBlclN0ZXBdID0gZmluZEtleVN0ZXBzQm91bmRhcmllc0J5Rm4oXG4gICAgICAgICAgICB0aGlzLmtleVN0ZXBzLFxuICAgICAgICAgICAgKFtrZXlTdGVwUGVyY2VudGFnZSwgX10pID0+IHZhbHVlUGVyY2VudGFnZSA8PSBrZXlTdGVwUGVyY2VudGFnZSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdHJhbnNmb3JtVG9Db250cm9sVmFsdWUodmFsdWVQZXJjZW50YWdlLCBsb3dlclN0ZXAsIHVwcGVyU3RlcCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpU2xpZGVyQ29tcG9uZW50KSBwcml2YXRlIHJlYWRvbmx5IHNsaWRlcjogVHVpU2xpZGVyQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJylcbiAgICB1cGRhdGVDb250cm9sVmFsdWUoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5jb250cm9sVmFsdWUpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUoY29udHJvbFZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgICAgIGlmIChjb250cm9sVmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtsb3dlclN0ZXAsIHVwcGVyU3RlcF0gPSBmaW5kS2V5U3RlcHNCb3VuZGFyaWVzQnlGbihcbiAgICAgICAgICAgIHRoaXMua2V5U3RlcHMsXG4gICAgICAgICAgICAoW18sIGtleVN0ZXBWYWx1ZV0pID0+IGNvbnRyb2xWYWx1ZSA8PSBrZXlTdGVwVmFsdWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zbGlkZXIudmFsdWUgPSB0aGlzLnRyYW5zZm9ybVRvTmF0aXZlVmFsdWUoXG4gICAgICAgICAgICBjb250cm9sVmFsdWUsXG4gICAgICAgICAgICBsb3dlclN0ZXAsXG4gICAgICAgICAgICB1cHBlclN0ZXAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1Ub05hdGl2ZVZhbHVlKFxuICAgICAgICBjb250cm9sVmFsdWU6IG51bWJlcixcbiAgICAgICAgW3VwcGVyU3RlcFBlcmNlbnQsIHVwcGVyU3RlcFZhbHVlXTogW251bWJlciwgbnVtYmVyXSxcbiAgICAgICAgW2xvd2VyU3RlcFBlcmNlbnQsIGxvd2VyU3RlcFZhbHVlXTogW251bWJlciwgbnVtYmVyXSxcbiAgICApOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7bWluLCBtYXh9ID0gdGhpcy5zbGlkZXI7XG4gICAgICAgIGNvbnN0IHJhdGlvID0gKGNvbnRyb2xWYWx1ZSAtIGxvd2VyU3RlcFZhbHVlKSAvICh1cHBlclN0ZXBWYWx1ZSAtIGxvd2VyU3RlcFZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3VmFsdWVQZXJjZW50YWdlID1cbiAgICAgICAgICAgICh1cHBlclN0ZXBQZXJjZW50IC0gbG93ZXJTdGVwUGVyY2VudCkgKiByYXRpbyArIGxvd2VyU3RlcFBlcmNlbnQ7XG5cbiAgICAgICAgcmV0dXJuIChuZXdWYWx1ZVBlcmNlbnRhZ2UgKiAobWF4IC0gbWluKSkgLyAxMDAgKyBtaW47XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUISBJdCBpcyBqdXN0IHRlbXBvcmFyeSBzb2x1dGlvbiBmb3IgaW50ZXJuYWwgcHVycG9zZXMgb25seS4gV2Ugd2lsbCBkZWxldGUgaXQgaW4gbmV4dCBtYWpvciByZWxlYXNlLlxuICogVE9ETyBkZWxldGUgaXQgaW4gdjMuMFxuICpcbiAqL1xuQFBpcGUoe25hbWU6ICd0dWlTbGlkZXJUaWNrTGFiZWwnfSlcbmV4cG9ydCBjbGFzcyBUdWlTbGlkZXJUaWNrTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHRpY2tJbmRleDogbnVtYmVyLCB0b3RhbFNlZ21lbnRzOiBudW1iZXIsIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoMTAwIC8gdG90YWxTZWdtZW50cykgKiB0aWNrSW5kZXg7XG4gICAgICAgIGNvbnN0IFtsb3dlclN0ZXAsIHVwcGVyU3RlcF0gPSBmaW5kS2V5U3RlcHNCb3VuZGFyaWVzQnlGbihcbiAgICAgICAgICAgIGtleVN0ZXBzLFxuICAgICAgICAgICAgKFtrZXlTdGVwUGVyY2VudGFnZSwgX10pID0+IHBlcmNlbnRhZ2UgPD0ga2V5U3RlcFBlcmNlbnRhZ2UsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVRvQ29udHJvbFZhbHVlKHBlcmNlbnRhZ2UsIHVwcGVyU3RlcCwgbG93ZXJTdGVwKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrSGFzTWluTWF4UGVyY2VudHMoc3RlcHM6IFR1aUtleVN0ZXBzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFzdGVwcy5sZW5ndGggfHwgKHN0ZXBzWzBdWzBdID09PSAwICYmIHN0ZXBzW3N0ZXBzLmxlbmd0aCAtIDFdWzBdID09PSAxMDApO1xufVxuXG5mdW5jdGlvbiBmaW5kS2V5U3RlcHNCb3VuZGFyaWVzQnlGbihcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMsXG4gICAgZm46IChba2V5U3RlcFBlcmNlbnQsIGtleVN0ZXBWYWx1ZV06IFtudW1iZXIsIG51bWJlcl0pID0+IGJvb2xlYW4sXG4pOiBbW251bWJlciwgbnVtYmVyXSwgW251bWJlciwgbnVtYmVyXV0ge1xuICAgIGNvbnN0IGtleVN0ZXBVcHBlckluZGV4ID0ga2V5U3RlcHMuZmluZEluZGV4KChrZXRTdGVwLCBpKSA9PiBpICYmIGZuKGtldFN0ZXApKTtcbiAgICBjb25zdCBsb3dlclN0ZXAgPSBrZXlTdGVwc1trZXlTdGVwVXBwZXJJbmRleCAtIDFdO1xuICAgIGNvbnN0IHVwcGVyU3RlcCA9IGtleVN0ZXBzW2tleVN0ZXBVcHBlckluZGV4XTtcblxuICAgIHJldHVybiBbbG93ZXJTdGVwLCB1cHBlclN0ZXBdO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Ub0NvbnRyb2xWYWx1ZShcbiAgICB2YWx1ZVBlcmNlbnRhZ2U6IG51bWJlcixcbiAgICBbdXBwZXJTdGVwUGVyY2VudCwgdXBwZXJTdGVwVmFsdWVdOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIFtsb3dlclN0ZXBQZXJjZW50LCBsb3dlclN0ZXBWYWx1ZV06IFtudW1iZXIsIG51bWJlcl0sXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IHJhdGlvID1cbiAgICAgICAgKHZhbHVlUGVyY2VudGFnZSAtIGxvd2VyU3RlcFBlcmNlbnQpIC8gKHVwcGVyU3RlcFBlcmNlbnQgLSBsb3dlclN0ZXBQZXJjZW50KTtcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSAodXBwZXJTdGVwVmFsdWUgLSBsb3dlclN0ZXBWYWx1ZSkgKiByYXRpbyArIGxvd2VyU3RlcFZhbHVlO1xuXG4gICAgcmV0dXJuIHJvdW5kKGNvbnRyb2xWYWx1ZSwgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTik7XG59XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyLyIsInNvdXJjZXMiOlsic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixhQUFhLEVBQ2IsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLEtBQUssRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULGNBQWMsRUFFZCxjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxrQ0FBa0MsRUFDbEMsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM5QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxXQUFXO0FBU1g7SUFDWSw4Q0FBMEI7SUFtQ2xDLG9DQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBQzFCLFVBQXdDLEVBQ2hDLE1BQTBCO1FBUDNFLFlBU0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBSndDLGdCQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUNoQyxZQUFNLEdBQU4sTUFBTSxDQUFvQjtRQWxDM0UsY0FBUSxHQUFnQixFQUFFLENBQUM7UUFHM0IsbUJBQWEsR0FBRyxjQUFjLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFB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QztTQUNKLENBQUM7UUFzQ08sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7T0EzQ3RCLDBCQUEwQixDQWlGdEM7SUFBRCxpQ0FBQztDQUFBLEFBakZELENBQ1ksa0JBQWtCLEdBZ0Y3QjtTQWpGWSwwQkFBMEI7QUFtRnZDOzs7O0dBSUc7QUFFSDtJQUFBO0lBTUEsQ0FBQztJQUxHLDBDQUFTLEdBQVQsVUFBVSxTQUFpQixFQUFFLGFBQXFCLEVBQUUsUUFBcUI7UUFDckUsSUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBRXJELE9BQU8sMkJBQTJCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFMUSxzQkFBc0I7UUFEbEMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFDLENBQUM7T0FDdEIsc0JBQXNCLENBTWxDO0lBQUQsNkJBQUM7Q0FBQSxBQU5ELElBTUM7U0FOWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFBpcGUsXG4gICAgUGlwZVRyYW5zZm9ybSxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBjbGFtcCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpQXNzZXJ0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7XG4gICAgdHVpQ2hlY2tLZXlTdGVwc0hhdmVNaW5NYXhQZXJjZW50cyxcbiAgICB0dWlLZXlTdGVwVmFsdWVUb1BlcmNlbnRhZ2UsXG4gICAgdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpU2xpZGVyQ29tcG9uZW50fSBmcm9tICcuL3NsaWRlci5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlTbGlkZXJdW2tleVN0ZXBzXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAnY29udHJvbFZhbHVlJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJ21pbicsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICdtYXgnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlcktleVN0ZXBzRGlyZWN0aXZlXG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoXG4gICAgICAgIHR1aUNoZWNrS2V5U3RlcHNIYXZlTWluTWF4UGVyY2VudHMsXG4gICAgICAgICdTaG91bGQgY29udGFpbiBtaW4gYW5kIG1heCB2YWx1ZXMnLFxuICAgIClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgPSBbXTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGtleVN0ZXBzSW5wdXQgPSB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lucHV0JykucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuY29udHJvbFZhbHVlKSxcbiAgICApO1xuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZERpc2FibGVkID8gbnVsbCA6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5rZXlTdGVwc1swXT8uWzFdIHx8IDA7XG4gICAgfVxuXG4gICAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5rZXlTdGVwc1t0aGlzLmtleVN0ZXBzLmxlbmd0aCAtIDFdPy5bMV0gfHwgMTAwO1xuICAgIH1cblxuICAgIGdldCBjb250cm9sVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZSh0aGlzLnNsaWRlci52YWx1ZVBlcmNlbnRhZ2UsIHRoaXMua2V5U3RlcHMpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aVNsaWRlckNvbXBvbmVudCkgcHJpdmF0ZSByZWFkb25seSBzbGlkZXI6IFR1aVNsaWRlckNvbXBvbmVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScpXG4gICAgdXBkYXRlQ29udHJvbFZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMuY29udHJvbFZhbHVlKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKGNvbnRyb2xWYWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoY29udHJvbFZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGFtcGVkQ29udHJvbFZhbHVlID0gY2xhbXAoY29udHJvbFZhbHVlLCB0aGlzLm1pbiwgdGhpcy5tYXgpO1xuXG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICBjb250cm9sVmFsdWUgPT09IGNsYW1wZWRDb250cm9sVmFsdWUsXG4gICAgICAgICAgICAnXFxuW1NsaWRlcktleVN0ZXBzXTogWW91IGNhbm5vdCBwcm9ncmFtbWF0aWNhbGx5IHNldCB2YWx1ZSB3aGljaCBpcyBsZXNzL21vcmUgdGhhbiBtaW4vbWF4JyxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnNsaWRlci52YWx1ZSA9IHRoaXMudHJhbnNmb3JtVG9OYXRpdmVWYWx1ZShjbGFtcGVkQ29udHJvbFZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zZm9ybVRvTmF0aXZlVmFsdWUoY29udHJvbFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7bWluLCBtYXh9ID0gdGhpcy5zbGlkZXI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlUGVyY2VudGFnZSA9IHR1aUtleVN0ZXBWYWx1ZVRvUGVyY2VudGFnZShcbiAgICAgICAgICAgIGNvbnRyb2xWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMua2V5U3RlcHMsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChuZXdWYWx1ZVBlcmNlbnRhZ2UgKiAobWF4IC0gbWluKSkgLyAxMDAgKyBtaW47XG4gICAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUISBJdCBpcyBqdXN0IHRlbXBvcmFyeSBzb2x1dGlvbiBmb3IgaW50ZXJuYWwgcHVycG9zZXMgb25seS4gV2Ugd2lsbCBkZWxldGUgaXQgaW4gbmV4dCBtYWpvciByZWxlYXNlLlxuICogVE9ETyBkZWxldGUgaXQgaW4gdjMuMFxuICpcbiAqL1xuQFBpcGUoe25hbWU6ICd0dWlTbGlkZXJUaWNrTGFiZWwnfSlcbmV4cG9ydCBjbGFzcyBUdWlTbGlkZXJUaWNrTGFiZWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHRpY2tJbmRleDogbnVtYmVyLCB0b3RhbFNlZ21lbnRzOiBudW1iZXIsIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoMTAwIC8gdG90YWxTZWdtZW50cykgKiB0aWNrSW5kZXg7XG5cbiAgICAgICAgcmV0dXJuIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZShwZXJjZW50YWdlLCBrZXlTdGVwcyk7XG4gICAgfVxufVxuIl19