@taiga-ui/kit 2.54.1 → 2.57.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 (1032) hide show
  1. package/bundles/taiga-ui-kit-abstract.umd.js +22 -22
  2. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.js +13 -13
  5. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.js +8 -8
  8. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +5 -5
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-avatar.umd.js +13 -13
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-badge.umd.js +14 -14
  17. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-badged-content.umd.js +21 -21
  20. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +7 -7
  23. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +3 -3
  29. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.js +18 -18
  32. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +8 -8
  35. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +4 -4
  38. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox.umd.js +3 -3
  41. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-combo-box.umd.js +9 -9
  44. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +4 -4
  47. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-field-error.umd.js +5 -5
  50. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-files.umd.js +20 -20
  53. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-filter.umd.js +3 -3
  56. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.js +8 -8
  59. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-count.umd.js +19 -19
  62. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +14 -14
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +16 -16
  68. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date.umd.js +10 -10
  71. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-file.umd.js +34 -34
  74. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-files.umd.js +26 -20
  77. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  79. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-inline.umd.js +4 -4
  81. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +8 -9
  84. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month.umd.js +5 -5
  88. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-number.umd.js +22 -22
  91. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-password.umd.js +9 -9
  94. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +230 -229
  97. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-phone.umd.js +36 -36
  101. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-range.umd.js +16 -16
  104. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input-slider.umd.js +37 -25
  107. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-input-tag.umd.js +24 -24
  111. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-time.umd.js +13 -13
  114. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input.umd.js +5 -5
  117. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-island.umd.js +18 -18
  120. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-island.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +18 -12
  123. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  125. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +6 -6
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  130. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js +17 -17
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-pagination.umd.js +7 -7
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +10 -10
  139. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-progress.umd.js +26 -26
  142. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-radio-block.umd.js +9 -9
  145. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-radio-group.umd.js +1 -1
  148. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio-group.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +5 -5
  151. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-radio-list.umd.js +5 -5
  154. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-radio.umd.js +8 -8
  157. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-range.umd.js +33 -33
  160. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-rating.umd.js +7 -7
  163. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-select-option.umd.js +2 -2
  166. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-select.umd.js +6 -6
  169. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  170. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-slider.umd.js +158 -106
  172. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  174. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-stepper.umd.js +25 -25
  176. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-kit-components-tabs.umd.js +45 -43
  179. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  180. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  181. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  182. package/bundles/taiga-ui-kit-components-tag.umd.js +24 -24
  183. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  184. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-text-area.umd.js +17 -17
  186. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  187. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-kit-components-toggle.umd.js +11 -11
  189. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  190. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  191. package/bundles/taiga-ui-kit-components-tree.umd.js +24 -24
  192. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  193. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  194. package/bundles/taiga-ui-kit-constants.umd.js +18 -18
  195. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  196. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  197. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +10 -10
  198. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  199. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  200. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js +6 -6
  201. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  202. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  203. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +12 -12
  204. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  205. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  206. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  207. package/bundles/taiga-ui-kit-directives-highlight.umd.js +10 -10
  208. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  209. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  210. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +11 -11
  211. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  212. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  213. package/bundles/taiga-ui-kit-directives-present.umd.js +5 -5
  214. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  215. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  216. package/bundles/taiga-ui-kit-directives-project-class.umd.js +2 -2
  217. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  218. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  219. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +4 -4
  220. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
  221. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.min.js.map +1 -1
  222. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +1 -1
  223. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
  224. package/bundles/taiga-ui-kit-directives-value-accessor.umd.min.js.map +1 -1
  225. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  226. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  227. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  228. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  229. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  230. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +8 -8
  231. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  232. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  233. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +4 -4
  234. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  235. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  236. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js +1 -1
  237. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js.map +1 -1
  238. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.min.js.map +1 -1
  239. package/bundles/taiga-ui-kit-pipes-stringify.umd.js +2 -2
  240. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  241. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  242. package/bundles/taiga-ui-kit-providers.umd.js +3 -3
  243. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  244. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  245. package/bundles/taiga-ui-kit-tokens.umd.js +38 -38
  246. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  247. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  248. package/bundles/taiga-ui-kit-utils-dom.umd.js +4 -4
  249. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  250. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  251. package/bundles/taiga-ui-kit-utils-files.umd.js +2 -2
  252. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  253. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  254. package/bundles/taiga-ui-kit-utils-format.umd.js +2 -2
  255. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  256. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  257. package/bundles/taiga-ui-kit-utils-mask.umd.js +12 -12
  258. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  259. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  260. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  261. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  262. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  263. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +7 -7
  264. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  265. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  266. package/bundles/taiga-ui-kit-validators.umd.js +1 -1
  267. package/bundles/taiga-ui-kit-validators.umd.js.map +1 -1
  268. package/bundles/taiga-ui-kit-validators.umd.min.js.map +1 -1
  269. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  270. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  271. package/components/input-slider/input-slider.component.d.ts +4 -1
  272. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  273. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  274. package/components/slider/{slider-key-steps.directive.d.ts → helpers/slider-key-steps.directive.d.ts} +1 -1
  275. package/components/slider/{slider-readonly.directive.d.ts → helpers/slider-readonly.directive.d.ts} +0 -0
  276. package/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.d.ts +12 -0
  277. package/components/slider/index.d.ts +3 -2
  278. package/components/slider/slider.component.d.ts +1 -1
  279. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  280. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  281. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  282. package/esm2015/abstract/input-slider.js +12 -12
  283. package/esm2015/abstract/slider/slider.js +12 -12
  284. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  285. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  286. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +11 -11
  287. package/esm2015/components/accordion/accordion.component.js +2 -2
  288. package/esm2015/components/action/action.component.js +9 -9
  289. package/esm2015/components/arrow/arrow-options.js +5 -5
  290. package/esm2015/components/arrow/arrow.component.js +2 -2
  291. package/esm2015/components/avatar/avatar-options.js +3 -3
  292. package/esm2015/components/avatar/avatar.component.js +12 -12
  293. package/esm2015/components/badge/badge.component.js +15 -15
  294. package/esm2015/components/badged-content/badged-content.component.js +22 -22
  295. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  296. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +4 -4
  297. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  298. package/esm2015/components/calendar-range/calendar-range.component.js +4 -4
  299. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  300. package/esm2015/components/carousel/carousel-buttons.directive.js +4 -4
  301. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  302. package/esm2015/components/carousel/carousel.component.js +10 -10
  303. package/esm2015/components/carousel/carousel.directive.js +3 -3
  304. package/esm2015/components/checkbox/checkbox.component.js +4 -4
  305. package/esm2015/components/checkbox-block/checkbox-block.component.js +9 -9
  306. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  307. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  308. package/esm2015/components/combo-box/combo-box.component.js +7 -7
  309. package/esm2015/components/combo-box/combo-box.directive.js +2 -2
  310. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  311. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  312. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -3
  313. package/esm2015/components/field-error/field-error.component.js +6 -6
  314. package/esm2015/components/files/file/file.component.js +20 -20
  315. package/esm2015/components/files/files.component.js +2 -2
  316. package/esm2015/components/filter/filter.component.js +4 -4
  317. package/esm2015/components/input/input.component.js +5 -5
  318. package/esm2015/components/input/input.directive.js +2 -2
  319. package/esm2015/components/input-copy/input-copy.component.js +8 -8
  320. package/esm2015/components/input-copy/input-copy.directive.js +2 -2
  321. package/esm2015/components/input-count/input-count-options.js +6 -6
  322. package/esm2015/components/input-count/input-count.component.js +12 -12
  323. package/esm2015/components/input-count/input-count.directive.js +4 -4
  324. package/esm2015/components/input-date/input-date.component.js +9 -9
  325. package/esm2015/components/input-date/input-date.directive.js +3 -3
  326. package/esm2015/components/input-date-range/input-date-range.component.js +13 -13
  327. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  328. package/esm2015/components/input-date-time/input-date-time.component.js +15 -15
  329. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  330. package/esm2015/components/input-file/file/file.component.js +18 -18
  331. package/esm2015/components/input-file/input-file.component.js +18 -18
  332. package/esm2015/components/input-files/input-files.component.js +16 -16
  333. package/esm2015/components/input-files/input-files.module.js +10 -3
  334. package/esm2015/components/input-inline/input-inline.component.js +5 -5
  335. package/esm2015/components/input-month/input-month.component.js +4 -4
  336. package/esm2015/components/input-month/input-month.directive.js +3 -3
  337. package/esm2015/components/input-month-range/input-month-range.component.js +7 -8
  338. package/esm2015/components/input-month-range/input-month-range.directive.js +4 -4
  339. package/esm2015/components/input-number/input-number.component.js +21 -21
  340. package/esm2015/components/input-number/input-number.directive.js +3 -3
  341. package/esm2015/components/input-password/input-password-options.js +4 -4
  342. package/esm2015/components/input-password/input-password.component.js +5 -5
  343. package/esm2015/components/input-password/input-password.directive.js +3 -3
  344. package/esm2015/components/input-phone/input-phone.component.js +30 -30
  345. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  346. package/esm2015/components/input-phone/input-phone.options.js +4 -4
  347. package/esm2015/components/input-phone/input-phone.providers.js +3 -3
  348. package/esm2015/components/input-phone-international/const/countries.js +215 -214
  349. package/esm2015/components/input-phone-international/country-iso-code.js +1 -1
  350. package/esm2015/components/input-phone-international/input-phone-international.component.js +14 -14
  351. package/esm2015/components/input-phone-international/input-phone-international.options.js +2 -2
  352. package/esm2015/components/input-phone-international/tokens/countries-masks.js +2 -2
  353. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +2 -2
  354. package/esm2015/components/input-range/input-range.component.js +17 -17
  355. package/esm2015/components/input-slider/input-slider.component.js +31 -22
  356. package/esm2015/components/input-tag/input-tag-options.js +3 -3
  357. package/esm2015/components/input-tag/input-tag.component.js +23 -23
  358. package/esm2015/components/input-time/input-time-options.js +6 -6
  359. package/esm2015/components/input-time/input-time.component.js +9 -9
  360. package/esm2015/components/island/island.component.js +19 -19
  361. package/esm2015/components/line-clamp/line-clamp-options.js +2 -2
  362. package/esm2015/components/line-clamp/line-clamp.component.js +11 -11
  363. package/esm2015/components/line-clamp/line-clamp.module.js +9 -3
  364. package/esm2015/components/marker-icon/marker-icon.component.js +7 -7
  365. package/esm2015/components/multi-select/hide-selected.pipe.js +2 -2
  366. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  367. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  368. package/esm2015/components/multi-select/multi-select-options.js +3 -3
  369. package/esm2015/components/multi-select/multi-select.component.js +10 -10
  370. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  371. package/esm2015/components/pagination/pagination.component.js +8 -8
  372. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +6 -6
  373. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  374. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +3 -3
  375. package/esm2015/components/progress/progress-bar/progress-bar.component.js +6 -6
  376. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  377. package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -7
  378. package/esm2015/components/progress/progress-label/progress-label.component.js +2 -2
  379. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  380. package/esm2015/components/progress/utils/calculate-color-segments.js +2 -2
  381. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +2 -2
  382. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +2 -2
  383. package/esm2015/components/radio/radio-options.js +3 -3
  384. package/esm2015/components/radio/radio.component.js +7 -7
  385. package/esm2015/components/radio-block/radio-block.component.js +10 -10
  386. package/esm2015/components/radio-group/radio-group.component.js +2 -2
  387. package/esm2015/components/radio-labeled/radio-labeled.component.js +6 -6
  388. package/esm2015/components/radio-list/radio-list.component.js +6 -6
  389. package/esm2015/components/range/range-change.directive.js +10 -10
  390. package/esm2015/components/range/range.component.js +23 -23
  391. package/esm2015/components/rating/rating-options.js +4 -4
  392. package/esm2015/components/rating/rating.component.js +5 -5
  393. package/esm2015/components/select/select-options.js +3 -3
  394. package/esm2015/components/select/select.component.js +4 -4
  395. package/esm2015/components/select/select.directive.js +2 -2
  396. package/esm2015/components/select-option/select-option.component.js +3 -3
  397. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +103 -0
  398. package/esm2015/components/slider/helpers/slider-readonly.directive.js +79 -0
  399. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +40 -0
  400. package/esm2015/components/slider/index.js +4 -3
  401. package/esm2015/components/slider/slider-old.component.js +2 -2
  402. package/esm2015/components/slider/slider-options.js +4 -4
  403. package/esm2015/components/slider/slider.component.js +9 -9
  404. package/esm2015/components/slider/slider.module.js +6 -3
  405. package/esm2015/components/stepper/step/step.component.js +12 -12
  406. package/esm2015/components/stepper/stepper.component.js +15 -15
  407. package/esm2015/components/tabs/tab/tab.component.js +8 -8
  408. package/esm2015/components/tabs/tab/tab.providers.js +4 -4
  409. package/esm2015/components/tabs/tabs/tabs.component.js +13 -13
  410. package/esm2015/components/tabs/tabs-options.js +2 -2
  411. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -9
  412. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -2
  413. package/esm2015/components/tabs/underline/underline.component.js +13 -13
  414. package/esm2015/components/tag/tag-options.js +4 -4
  415. package/esm2015/components/tag/tag.component.js +22 -22
  416. package/esm2015/components/text-area/text-area.component.js +17 -17
  417. package/esm2015/components/text-area/text-area.directive.js +2 -2
  418. package/esm2015/components/toggle/toggle-options.js +5 -5
  419. package/esm2015/components/toggle/toggle.component.js +8 -8
  420. package/esm2015/components/tree/components/tree/tree.component.js +3 -3
  421. package/esm2015/components/tree/components/tree-item/tree-item.component.js +4 -4
  422. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  423. package/esm2015/components/tree/directives/tree-children.directive.js +2 -2
  424. package/esm2015/components/tree/directives/tree-controller.directive.js +4 -4
  425. package/esm2015/components/tree/directives/tree-item-controller.directive.js +4 -4
  426. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  427. package/esm2015/components/tree/misc/tree.tokens.js +9 -9
  428. package/esm2015/constants/date-time-separator.js +2 -2
  429. package/esm2015/constants/group-class-names.js +10 -10
  430. package/esm2015/constants/icon-blank.js +2 -2
  431. package/esm2015/constants/masks.js +7 -7
  432. package/esm2015/constants/router-link-options.js +2 -2
  433. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +11 -11
  434. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +5 -5
  435. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +13 -13
  436. package/esm2015/directives/highlight/highlight.directive.js +11 -11
  437. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +12 -12
  438. package/esm2015/directives/present/present.directive.js +6 -6
  439. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  440. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  441. package/esm2015/directives/value-accessor/value-accessor.directive.js +2 -2
  442. package/esm2015/enums/borders.js +1 -1
  443. package/esm2015/enums/dropdown-position.js +1 -1
  444. package/esm2015/enums/file-state.js +1 -1
  445. package/esm2015/enums/marker-icon-mode.js +1 -1
  446. package/esm2015/enums/status.js +1 -1
  447. package/esm2015/enums/step-state.js +1 -1
  448. package/esm2015/enums/text-align.js +1 -1
  449. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  450. package/esm2015/pipes/field-error/field-error-content-pipe.js +4 -4
  451. package/esm2015/pipes/field-error/field-error-pipe.js +6 -6
  452. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +2 -2
  453. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +3 -3
  454. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +2 -2
  455. package/esm2015/pipes/stringify/stringify.pipe.js +3 -3
  456. package/esm2015/pipes/stringify-content/stringify-content.pipe.js +2 -2
  457. package/esm2015/providers/month-formatter.provider.js +2 -2
  458. package/esm2015/providers/specific-dropdown-controllers.js +3 -3
  459. package/esm2015/tokens/calendar-data-stream.js +2 -2
  460. package/esm2015/tokens/date-inputs-value-transformers.js +4 -4
  461. package/esm2015/tokens/i18n.js +28 -28
  462. package/esm2015/tokens/items-handlers.js +2 -2
  463. package/esm2015/tokens/mobile-aware.js +2 -2
  464. package/esm2015/tokens/mobile-calendar.js +2 -2
  465. package/esm2015/tokens/month-formatter.js +2 -2
  466. package/esm2015/tokens/tab-margin.js +2 -2
  467. package/esm2015/tokens/tag-status.js +2 -2
  468. package/esm2015/tokens/validation-errors.js +2 -2
  469. package/esm2015/utils/dom/get-word-range.js +5 -5
  470. package/esm2015/utils/files/format-size.js +2 -2
  471. package/esm2015/utils/files/get-accept-array.js +2 -2
  472. package/esm2015/utils/format/string-hash-to-hsl.js +3 -3
  473. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  474. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +6 -6
  475. package/esm2015/utils/mask/create-date-mask.js +5 -5
  476. package/esm2015/utils/mask/create-date-range-mask.js +2 -2
  477. package/esm2015/utils/mask/create-time-mask.js +4 -4
  478. package/esm2015/utils/math/horizontal-direction-to-number.js +3 -3
  479. package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +7 -7
  480. package/esm2015/utils/miscellaneous/get-precision.js +2 -2
  481. package/esm2015/validators/unfinished.validator.js +2 -2
  482. package/esm5/abstract/input-slider.js +12 -12
  483. package/esm5/abstract/slider/slider.js +12 -12
  484. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  485. package/esm5/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  486. package/esm5/components/accordion/accordion-item/accordion-item.component.js +11 -11
  487. package/esm5/components/accordion/accordion.component.js +2 -2
  488. package/esm5/components/action/action.component.js +9 -9
  489. package/esm5/components/arrow/arrow-options.js +5 -5
  490. package/esm5/components/arrow/arrow.component.js +2 -2
  491. package/esm5/components/avatar/avatar-options.js +3 -3
  492. package/esm5/components/avatar/avatar.component.js +12 -12
  493. package/esm5/components/badge/badge.component.js +15 -15
  494. package/esm5/components/badged-content/badged-content.component.js +22 -22
  495. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  496. package/esm5/components/breadcrumbs/breadcrumbs.component.js +4 -4
  497. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  498. package/esm5/components/calendar-range/calendar-range.component.js +4 -4
  499. package/esm5/components/carousel/carousel-autoscroll.directive.js +3 -3
  500. package/esm5/components/carousel/carousel-buttons.directive.js +4 -4
  501. package/esm5/components/carousel/carousel-scroll.directive.js +3 -3
  502. package/esm5/components/carousel/carousel.component.js +10 -10
  503. package/esm5/components/carousel/carousel.directive.js +3 -3
  504. package/esm5/components/checkbox/checkbox.component.js +4 -4
  505. package/esm5/components/checkbox-block/checkbox-block.component.js +9 -9
  506. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  507. package/esm5/components/combo-box/combo-box-strict.directive.js +3 -3
  508. package/esm5/components/combo-box/combo-box.component.js +7 -7
  509. package/esm5/components/combo-box/combo-box.directive.js +2 -2
  510. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  511. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  512. package/esm5/components/data-list-wrapper/data-list-wrapper.js +3 -3
  513. package/esm5/components/field-error/field-error.component.js +6 -6
  514. package/esm5/components/files/file/file.component.js +20 -20
  515. package/esm5/components/files/files.component.js +2 -2
  516. package/esm5/components/filter/filter.component.js +4 -4
  517. package/esm5/components/input/input.component.js +5 -5
  518. package/esm5/components/input/input.directive.js +2 -2
  519. package/esm5/components/input-copy/input-copy.component.js +8 -8
  520. package/esm5/components/input-copy/input-copy.directive.js +2 -2
  521. package/esm5/components/input-count/input-count-options.js +6 -6
  522. package/esm5/components/input-count/input-count.component.js +12 -12
  523. package/esm5/components/input-count/input-count.directive.js +4 -4
  524. package/esm5/components/input-date/input-date.component.js +9 -9
  525. package/esm5/components/input-date/input-date.directive.js +3 -3
  526. package/esm5/components/input-date-range/input-date-range.component.js +13 -13
  527. package/esm5/components/input-date-range/input-date-range.directive.js +3 -3
  528. package/esm5/components/input-date-time/input-date-time.component.js +15 -15
  529. package/esm5/components/input-date-time/input-date-time.directive.js +3 -3
  530. package/esm5/components/input-file/file/file.component.js +18 -18
  531. package/esm5/components/input-file/input-file.component.js +18 -18
  532. package/esm5/components/input-files/input-files.component.js +16 -16
  533. package/esm5/components/input-files/input-files.module.js +10 -3
  534. package/esm5/components/input-inline/input-inline.component.js +5 -5
  535. package/esm5/components/input-month/input-month.component.js +4 -4
  536. package/esm5/components/input-month/input-month.directive.js +3 -3
  537. package/esm5/components/input-month-range/input-month-range.component.js +7 -8
  538. package/esm5/components/input-month-range/input-month-range.directive.js +4 -4
  539. package/esm5/components/input-number/input-number.component.js +21 -21
  540. package/esm5/components/input-number/input-number.directive.js +3 -3
  541. package/esm5/components/input-password/input-password-options.js +4 -4
  542. package/esm5/components/input-password/input-password.component.js +5 -5
  543. package/esm5/components/input-password/input-password.directive.js +3 -3
  544. package/esm5/components/input-phone/input-phone.component.js +30 -30
  545. package/esm5/components/input-phone/input-phone.directive.js +3 -3
  546. package/esm5/components/input-phone/input-phone.options.js +4 -4
  547. package/esm5/components/input-phone/input-phone.providers.js +3 -3
  548. package/esm5/components/input-phone-international/const/countries.js +215 -214
  549. package/esm5/components/input-phone-international/country-iso-code.js +1 -1
  550. package/esm5/components/input-phone-international/input-phone-international.component.js +14 -14
  551. package/esm5/components/input-phone-international/input-phone-international.options.js +2 -2
  552. package/esm5/components/input-phone-international/tokens/countries-masks.js +2 -2
  553. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +2 -2
  554. package/esm5/components/input-range/input-range.component.js +17 -17
  555. package/esm5/components/input-slider/input-slider.component.js +35 -22
  556. package/esm5/components/input-tag/input-tag-options.js +3 -3
  557. package/esm5/components/input-tag/input-tag.component.js +23 -23
  558. package/esm5/components/input-time/input-time-options.js +6 -6
  559. package/esm5/components/input-time/input-time.component.js +9 -9
  560. package/esm5/components/island/island.component.js +19 -19
  561. package/esm5/components/line-clamp/line-clamp-options.js +2 -2
  562. package/esm5/components/line-clamp/line-clamp.component.js +11 -11
  563. package/esm5/components/line-clamp/line-clamp.module.js +9 -3
  564. package/esm5/components/marker-icon/marker-icon.component.js +7 -7
  565. package/esm5/components/multi-select/hide-selected.pipe.js +2 -2
  566. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  567. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  568. package/esm5/components/multi-select/multi-select-options.js +3 -3
  569. package/esm5/components/multi-select/multi-select.component.js +10 -10
  570. package/esm5/components/multi-select-option/multi-select-option.component.js +3 -3
  571. package/esm5/components/pagination/pagination.component.js +8 -8
  572. package/esm5/components/pdf-viewer/pdf-viewer.component.js +6 -6
  573. package/esm5/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  574. package/esm5/components/pdf-viewer/pdf-viewer.service.js +3 -3
  575. package/esm5/components/progress/progress-bar/progress-bar.component.js +6 -6
  576. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  577. package/esm5/components/progress/progress-circle/progress-circle.component.js +7 -7
  578. package/esm5/components/progress/progress-label/progress-label.component.js +2 -2
  579. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  580. package/esm5/components/progress/utils/calculate-color-segments.js +2 -2
  581. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +2 -2
  582. package/esm5/components/progress/utils/progress-color-segments.pipe.js +2 -2
  583. package/esm5/components/radio/radio-options.js +3 -3
  584. package/esm5/components/radio/radio.component.js +7 -7
  585. package/esm5/components/radio-block/radio-block.component.js +10 -10
  586. package/esm5/components/radio-group/radio-group.component.js +2 -2
  587. package/esm5/components/radio-labeled/radio-labeled.component.js +6 -6
  588. package/esm5/components/radio-list/radio-list.component.js +6 -6
  589. package/esm5/components/range/range-change.directive.js +12 -12
  590. package/esm5/components/range/range.component.js +23 -23
  591. package/esm5/components/rating/rating-options.js +4 -4
  592. package/esm5/components/rating/rating.component.js +5 -5
  593. package/esm5/components/select/select-options.js +3 -3
  594. package/esm5/components/select/select.component.js +4 -4
  595. package/esm5/components/select/select.directive.js +2 -2
  596. package/esm5/components/select-option/select-option.component.js +3 -3
  597. package/esm5/components/slider/helpers/slider-key-steps.directive.js +129 -0
  598. package/esm5/components/slider/helpers/slider-readonly.directive.js +87 -0
  599. package/esm5/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +55 -0
  600. package/esm5/components/slider/index.js +4 -3
  601. package/esm5/components/slider/slider-old.component.js +2 -2
  602. package/esm5/components/slider/slider-options.js +4 -4
  603. package/esm5/components/slider/slider.component.js +9 -9
  604. package/esm5/components/slider/slider.module.js +6 -3
  605. package/esm5/components/stepper/step/step.component.js +12 -12
  606. package/esm5/components/stepper/stepper.component.js +15 -15
  607. package/esm5/components/tabs/tab/tab.component.js +8 -8
  608. package/esm5/components/tabs/tab/tab.providers.js +4 -4
  609. package/esm5/components/tabs/tabs/tabs.component.js +13 -13
  610. package/esm5/components/tabs/tabs-options.js +2 -2
  611. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -9
  612. package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -2
  613. package/esm5/components/tabs/underline/underline.component.js +13 -13
  614. package/esm5/components/tag/tag-options.js +4 -4
  615. package/esm5/components/tag/tag.component.js +22 -22
  616. package/esm5/components/text-area/text-area.component.js +17 -17
  617. package/esm5/components/text-area/text-area.directive.js +2 -2
  618. package/esm5/components/toggle/toggle-options.js +5 -5
  619. package/esm5/components/toggle/toggle.component.js +8 -8
  620. package/esm5/components/tree/components/tree/tree.component.js +3 -3
  621. package/esm5/components/tree/components/tree-item/tree-item.component.js +4 -4
  622. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  623. package/esm5/components/tree/directives/tree-children.directive.js +2 -2
  624. package/esm5/components/tree/directives/tree-controller.directive.js +4 -4
  625. package/esm5/components/tree/directives/tree-item-controller.directive.js +4 -4
  626. package/esm5/components/tree/directives/tree-node.directive.js +3 -3
  627. package/esm5/components/tree/misc/tree.tokens.js +9 -9
  628. package/esm5/constants/date-time-separator.js +2 -2
  629. package/esm5/constants/group-class-names.js +10 -10
  630. package/esm5/constants/icon-blank.js +2 -2
  631. package/esm5/constants/masks.js +7 -7
  632. package/esm5/constants/router-link-options.js +2 -2
  633. package/esm5/directives/dropdown-context/dropdown-context.directive.js +11 -11
  634. package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +7 -7
  635. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +13 -13
  636. package/esm5/directives/highlight/highlight.directive.js +11 -11
  637. package/esm5/directives/lazy-loading/lazy-loading.directive.js +12 -12
  638. package/esm5/directives/present/present.directive.js +6 -6
  639. package/esm5/directives/project-class/project-class.directive.js +3 -3
  640. package/esm5/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  641. package/esm5/directives/value-accessor/value-accessor.directive.js +2 -2
  642. package/esm5/enums/borders.js +1 -1
  643. package/esm5/enums/dropdown-position.js +1 -1
  644. package/esm5/enums/file-state.js +1 -1
  645. package/esm5/enums/marker-icon-mode.js +1 -1
  646. package/esm5/enums/status.js +1 -1
  647. package/esm5/enums/step-state.js +1 -1
  648. package/esm5/enums/text-align.js +1 -1
  649. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  650. package/esm5/pipes/field-error/field-error-content-pipe.js +4 -4
  651. package/esm5/pipes/field-error/field-error-pipe.js +6 -6
  652. package/esm5/pipes/filter-by-input/filter-by-input-with.pipe.js +2 -2
  653. package/esm5/pipes/filter-by-input/filter-by-input.base.js +3 -3
  654. package/esm5/pipes/filter-by-input/filter-by-input.pipe.js +2 -2
  655. package/esm5/pipes/stringify/stringify.pipe.js +3 -3
  656. package/esm5/pipes/stringify-content/stringify-content.pipe.js +2 -2
  657. package/esm5/providers/month-formatter.provider.js +2 -2
  658. package/esm5/providers/specific-dropdown-controllers.js +3 -3
  659. package/esm5/tokens/calendar-data-stream.js +2 -2
  660. package/esm5/tokens/date-inputs-value-transformers.js +4 -4
  661. package/esm5/tokens/i18n.js +28 -28
  662. package/esm5/tokens/items-handlers.js +2 -2
  663. package/esm5/tokens/mobile-aware.js +2 -2
  664. package/esm5/tokens/mobile-calendar.js +2 -2
  665. package/esm5/tokens/month-formatter.js +2 -2
  666. package/esm5/tokens/tab-margin.js +2 -2
  667. package/esm5/tokens/tag-status.js +2 -2
  668. package/esm5/tokens/validation-errors.js +2 -2
  669. package/esm5/utils/dom/get-word-range.js +5 -5
  670. package/esm5/utils/files/format-size.js +2 -2
  671. package/esm5/utils/files/get-accept-array.js +2 -2
  672. package/esm5/utils/format/string-hash-to-hsl.js +3 -3
  673. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  674. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +6 -6
  675. package/esm5/utils/mask/create-date-mask.js +5 -5
  676. package/esm5/utils/mask/create-date-range-mask.js +2 -2
  677. package/esm5/utils/mask/create-time-mask.js +2 -2
  678. package/esm5/utils/math/horizontal-direction-to-number.js +3 -3
  679. package/esm5/utils/miscellaneous/create-default-day-range-periods.js +7 -7
  680. package/esm5/utils/miscellaneous/get-precision.js +2 -2
  681. package/esm5/validators/unfinished.validator.js +2 -2
  682. package/fesm2015/taiga-ui-kit-abstract.js +22 -22
  683. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  684. package/fesm2015/taiga-ui-kit-components-accordion.js +13 -13
  685. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  686. package/fesm2015/taiga-ui-kit-components-action.js +8 -8
  687. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  688. package/fesm2015/taiga-ui-kit-components-arrow.js +5 -5
  689. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  690. package/fesm2015/taiga-ui-kit-components-avatar.js +13 -13
  691. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  692. package/fesm2015/taiga-ui-kit-components-badge.js +14 -14
  693. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  694. package/fesm2015/taiga-ui-kit-components-badged-content.js +21 -21
  695. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  696. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +7 -7
  697. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  698. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  699. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  700. package/fesm2015/taiga-ui-kit-components-calendar-range.js +3 -3
  701. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  702. package/fesm2015/taiga-ui-kit-components-carousel.js +18 -18
  703. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  704. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +8 -8
  705. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  706. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  707. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  708. package/fesm2015/taiga-ui-kit-components-checkbox.js +3 -3
  709. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  710. package/fesm2015/taiga-ui-kit-components-combo-box.js +9 -9
  711. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  712. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  713. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  714. package/fesm2015/taiga-ui-kit-components-field-error.js +5 -5
  715. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  716. package/fesm2015/taiga-ui-kit-components-files.js +20 -20
  717. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  718. package/fesm2015/taiga-ui-kit-components-filter.js +3 -3
  719. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  720. package/fesm2015/taiga-ui-kit-components-input-copy.js +8 -8
  721. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  722. package/fesm2015/taiga-ui-kit-components-input-count.js +19 -19
  723. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  724. package/fesm2015/taiga-ui-kit-components-input-date-range.js +14 -14
  725. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  726. package/fesm2015/taiga-ui-kit-components-input-date-time.js +16 -16
  727. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  728. package/fesm2015/taiga-ui-kit-components-input-date.js +10 -10
  729. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  730. package/fesm2015/taiga-ui-kit-components-input-file.js +34 -34
  731. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  732. package/fesm2015/taiga-ui-kit-components-input-files.js +24 -17
  733. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  734. package/fesm2015/taiga-ui-kit-components-input-inline.js +4 -4
  735. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  736. package/fesm2015/taiga-ui-kit-components-input-month-range.js +9 -10
  737. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  738. package/fesm2015/taiga-ui-kit-components-input-month.js +5 -5
  739. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  740. package/fesm2015/taiga-ui-kit-components-input-number.js +22 -22
  741. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  742. package/fesm2015/taiga-ui-kit-components-input-password.js +9 -9
  743. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  744. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +230 -229
  745. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  746. package/fesm2015/taiga-ui-kit-components-input-phone.js +36 -36
  747. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  748. package/fesm2015/taiga-ui-kit-components-input-range.js +16 -16
  749. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  750. package/fesm2015/taiga-ui-kit-components-input-slider.js +30 -22
  751. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  752. package/fesm2015/taiga-ui-kit-components-input-tag.js +24 -24
  753. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  754. package/fesm2015/taiga-ui-kit-components-input-time.js +13 -13
  755. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  756. package/fesm2015/taiga-ui-kit-components-input.js +5 -5
  757. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  758. package/fesm2015/taiga-ui-kit-components-island.js +18 -18
  759. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  760. package/fesm2015/taiga-ui-kit-components-line-clamp.js +19 -13
  761. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  762. package/fesm2015/taiga-ui-kit-components-marker-icon.js +6 -6
  763. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  764. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  765. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  766. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -17
  767. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  768. package/fesm2015/taiga-ui-kit-components-pagination.js +7 -7
  769. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  770. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +10 -10
  771. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  772. package/fesm2015/taiga-ui-kit-components-progress.js +26 -26
  773. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  774. package/fesm2015/taiga-ui-kit-components-radio-block.js +9 -9
  775. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  776. package/fesm2015/taiga-ui-kit-components-radio-group.js +1 -1
  777. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  778. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +5 -5
  779. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  780. package/fesm2015/taiga-ui-kit-components-radio-list.js +5 -5
  781. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  782. package/fesm2015/taiga-ui-kit-components-radio.js +8 -8
  783. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  784. package/fesm2015/taiga-ui-kit-components-range.js +31 -31
  785. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  786. package/fesm2015/taiga-ui-kit-components-rating.js +7 -7
  787. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  788. package/fesm2015/taiga-ui-kit-components-select-option.js +2 -2
  789. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  790. package/fesm2015/taiga-ui-kit-components-select.js +6 -6
  791. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  792. package/fesm2015/taiga-ui-kit-components-slider.js +136 -100
  793. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  794. package/fesm2015/taiga-ui-kit-components-stepper.js +25 -25
  795. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  796. package/fesm2015/taiga-ui-kit-components-tabs.js +46 -44
  797. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  798. package/fesm2015/taiga-ui-kit-components-tag.js +24 -24
  799. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  800. package/fesm2015/taiga-ui-kit-components-text-area.js +17 -17
  801. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  802. package/fesm2015/taiga-ui-kit-components-toggle.js +11 -11
  803. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  804. package/fesm2015/taiga-ui-kit-components-tree.js +24 -24
  805. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  806. package/fesm2015/taiga-ui-kit-constants.js +18 -18
  807. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  808. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +10 -10
  809. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  810. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js +4 -4
  811. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  812. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +12 -12
  813. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  814. package/fesm2015/taiga-ui-kit-directives-highlight.js +10 -10
  815. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  816. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +11 -11
  817. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  818. package/fesm2015/taiga-ui-kit-directives-present.js +5 -5
  819. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  820. package/fesm2015/taiga-ui-kit-directives-project-class.js +2 -2
  821. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  822. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  823. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  824. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +1 -1
  825. package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  826. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  827. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  828. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  829. package/fesm2015/taiga-ui-kit-pipes-field-error.js +8 -8
  830. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  831. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  832. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  833. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js +1 -1
  834. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  835. package/fesm2015/taiga-ui-kit-pipes-stringify.js +2 -2
  836. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  837. package/fesm2015/taiga-ui-kit-providers.js +3 -3
  838. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  839. package/fesm2015/taiga-ui-kit-tokens.js +38 -38
  840. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  841. package/fesm2015/taiga-ui-kit-utils-dom.js +4 -4
  842. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  843. package/fesm2015/taiga-ui-kit-utils-files.js +2 -2
  844. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  845. package/fesm2015/taiga-ui-kit-utils-format.js +2 -2
  846. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  847. package/fesm2015/taiga-ui-kit-utils-mask.js +14 -14
  848. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  849. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  850. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  851. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +7 -7
  852. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  853. package/fesm2015/taiga-ui-kit-validators.js +1 -1
  854. package/fesm2015/taiga-ui-kit-validators.js.map +1 -1
  855. package/fesm5/taiga-ui-kit-abstract.js +22 -22
  856. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  857. package/fesm5/taiga-ui-kit-components-accordion.js +13 -13
  858. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  859. package/fesm5/taiga-ui-kit-components-action.js +8 -8
  860. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  861. package/fesm5/taiga-ui-kit-components-arrow.js +5 -5
  862. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  863. package/fesm5/taiga-ui-kit-components-avatar.js +13 -13
  864. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  865. package/fesm5/taiga-ui-kit-components-badge.js +14 -14
  866. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  867. package/fesm5/taiga-ui-kit-components-badged-content.js +21 -21
  868. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  869. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +7 -7
  870. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  871. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  872. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  873. package/fesm5/taiga-ui-kit-components-calendar-range.js +3 -3
  874. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  875. package/fesm5/taiga-ui-kit-components-carousel.js +18 -18
  876. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  877. package/fesm5/taiga-ui-kit-components-checkbox-block.js +8 -8
  878. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  879. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  880. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  881. package/fesm5/taiga-ui-kit-components-checkbox.js +3 -3
  882. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  883. package/fesm5/taiga-ui-kit-components-combo-box.js +9 -9
  884. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  885. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  886. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  887. package/fesm5/taiga-ui-kit-components-field-error.js +5 -5
  888. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  889. package/fesm5/taiga-ui-kit-components-files.js +20 -20
  890. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  891. package/fesm5/taiga-ui-kit-components-filter.js +3 -3
  892. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  893. package/fesm5/taiga-ui-kit-components-input-copy.js +8 -8
  894. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  895. package/fesm5/taiga-ui-kit-components-input-count.js +19 -19
  896. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  897. package/fesm5/taiga-ui-kit-components-input-date-range.js +14 -14
  898. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  899. package/fesm5/taiga-ui-kit-components-input-date-time.js +16 -16
  900. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  901. package/fesm5/taiga-ui-kit-components-input-date.js +10 -10
  902. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  903. package/fesm5/taiga-ui-kit-components-input-file.js +34 -34
  904. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  905. package/fesm5/taiga-ui-kit-components-input-files.js +24 -17
  906. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  907. package/fesm5/taiga-ui-kit-components-input-inline.js +4 -4
  908. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  909. package/fesm5/taiga-ui-kit-components-input-month-range.js +9 -10
  910. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  911. package/fesm5/taiga-ui-kit-components-input-month.js +5 -5
  912. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  913. package/fesm5/taiga-ui-kit-components-input-number.js +22 -22
  914. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  915. package/fesm5/taiga-ui-kit-components-input-password.js +9 -9
  916. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  917. package/fesm5/taiga-ui-kit-components-input-phone-international.js +230 -229
  918. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  919. package/fesm5/taiga-ui-kit-components-input-phone.js +36 -36
  920. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  921. package/fesm5/taiga-ui-kit-components-input-range.js +16 -16
  922. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  923. package/fesm5/taiga-ui-kit-components-input-slider.js +34 -22
  924. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  925. package/fesm5/taiga-ui-kit-components-input-tag.js +24 -24
  926. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  927. package/fesm5/taiga-ui-kit-components-input-time.js +13 -13
  928. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  929. package/fesm5/taiga-ui-kit-components-input.js +5 -5
  930. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  931. package/fesm5/taiga-ui-kit-components-island.js +18 -18
  932. package/fesm5/taiga-ui-kit-components-island.js.map +1 -1
  933. package/fesm5/taiga-ui-kit-components-line-clamp.js +19 -13
  934. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  935. package/fesm5/taiga-ui-kit-components-marker-icon.js +6 -6
  936. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  937. package/fesm5/taiga-ui-kit-components-multi-select-option.js +2 -2
  938. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  939. package/fesm5/taiga-ui-kit-components-multi-select.js +17 -17
  940. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  941. package/fesm5/taiga-ui-kit-components-pagination.js +7 -7
  942. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  943. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +10 -10
  944. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  945. package/fesm5/taiga-ui-kit-components-progress.js +26 -26
  946. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  947. package/fesm5/taiga-ui-kit-components-radio-block.js +9 -9
  948. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  949. package/fesm5/taiga-ui-kit-components-radio-group.js +1 -1
  950. package/fesm5/taiga-ui-kit-components-radio-group.js.map +1 -1
  951. package/fesm5/taiga-ui-kit-components-radio-labeled.js +5 -5
  952. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  953. package/fesm5/taiga-ui-kit-components-radio-list.js +5 -5
  954. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  955. package/fesm5/taiga-ui-kit-components-radio.js +8 -8
  956. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  957. package/fesm5/taiga-ui-kit-components-range.js +33 -33
  958. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  959. package/fesm5/taiga-ui-kit-components-rating.js +7 -7
  960. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  961. package/fesm5/taiga-ui-kit-components-select-option.js +2 -2
  962. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  963. package/fesm5/taiga-ui-kit-components-select.js +6 -6
  964. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  965. package/fesm5/taiga-ui-kit-components-slider.js +159 -108
  966. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  967. package/fesm5/taiga-ui-kit-components-stepper.js +25 -25
  968. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  969. package/fesm5/taiga-ui-kit-components-tabs.js +46 -44
  970. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  971. package/fesm5/taiga-ui-kit-components-tag.js +24 -24
  972. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  973. package/fesm5/taiga-ui-kit-components-text-area.js +17 -17
  974. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  975. package/fesm5/taiga-ui-kit-components-toggle.js +11 -11
  976. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  977. package/fesm5/taiga-ui-kit-components-tree.js +24 -24
  978. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  979. package/fesm5/taiga-ui-kit-constants.js +18 -18
  980. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  981. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +10 -10
  982. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  983. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js +6 -6
  984. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  985. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +12 -12
  986. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  987. package/fesm5/taiga-ui-kit-directives-highlight.js +10 -10
  988. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  989. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +11 -11
  990. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  991. package/fesm5/taiga-ui-kit-directives-present.js +5 -5
  992. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  993. package/fesm5/taiga-ui-kit-directives-project-class.js +2 -2
  994. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  995. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  996. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  997. package/fesm5/taiga-ui-kit-directives-value-accessor.js +1 -1
  998. package/fesm5/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  999. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  1000. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  1001. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  1002. package/fesm5/taiga-ui-kit-pipes-field-error.js +8 -8
  1003. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  1004. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  1005. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  1006. package/fesm5/taiga-ui-kit-pipes-stringify-content.js +1 -1
  1007. package/fesm5/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  1008. package/fesm5/taiga-ui-kit-pipes-stringify.js +2 -2
  1009. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  1010. package/fesm5/taiga-ui-kit-providers.js +3 -3
  1011. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  1012. package/fesm5/taiga-ui-kit-tokens.js +38 -38
  1013. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  1014. package/fesm5/taiga-ui-kit-utils-dom.js +4 -4
  1015. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  1016. package/fesm5/taiga-ui-kit-utils-files.js +2 -2
  1017. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  1018. package/fesm5/taiga-ui-kit-utils-format.js +2 -2
  1019. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  1020. package/fesm5/taiga-ui-kit-utils-mask.js +12 -12
  1021. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  1022. package/fesm5/taiga-ui-kit-utils-math.js +2 -2
  1023. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  1024. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +7 -7
  1025. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  1026. package/fesm5/taiga-ui-kit-validators.js +1 -1
  1027. package/fesm5/taiga-ui-kit-validators.js.map +1 -1
  1028. package/package.json +4 -4
  1029. package/esm2015/components/slider/slider-key-steps.directive.js +0 -103
  1030. package/esm2015/components/slider/slider-readonly.directive.js +0 -79
  1031. package/esm5/components/slider/slider-key-steps.directive.js +0 -129
  1032. package/esm5/components/slider/slider-readonly.directive.js +0 -87
@@ -24,7 +24,7 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
24
24
  this.max = TUI_LAST_DAY;
25
25
  this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
26
26
  this.defaultActiveYearMonth = TuiMonth.currentLocal();
27
- this.timeMode = 'HH:MM';
27
+ this.timeMode = `HH:MM`;
28
28
  this.open = false;
29
29
  this.filler$ = combineLatest([
30
30
  this.dateTexts$.pipe(map(dateTexts => changeDateSeparator(dateTexts[this.dateFormat], this.dateSeparator))),
@@ -45,8 +45,8 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
45
45
  }
46
46
  get calendarIcon() {
47
47
  return sizeBigger(this.textfieldSize.size)
48
- ? 'tuiIconCalendarLarge'
49
- : 'tuiIconCalendar';
48
+ ? `tuiIconCalendarLarge`
49
+ : `tuiIconCalendar`;
50
50
  }
51
51
  get computedValue() {
52
52
  const { value, nativeValue, timeMode } = this;
@@ -70,7 +70,7 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
70
70
  return this.month || this.value[0] || this.defaultActiveYearMonth;
71
71
  }
72
72
  get nativeValue() {
73
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
73
+ return this.nativeFocusableElement ? this.nativeFocusableElement.value : ``;
74
74
  }
75
75
  set nativeValue(value) {
76
76
  if (!this.nativeFocusableElement) {
@@ -118,7 +118,7 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
118
118
  this.value[0] === null ||
119
119
  this.value[1] !== null ||
120
120
  this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||
121
- this.timeMode === 'HH:MM') {
121
+ this.timeMode === `HH:MM`) {
122
122
  return;
123
123
  }
124
124
  const [, time] = this.nativeValue.split(DATE_TIME_SEPARATOR);
@@ -128,7 +128,7 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
128
128
  const parsedTime = TuiTime.fromString(time);
129
129
  this.updateValue([this.value[0], parsedTime]);
130
130
  setTimeout(() => {
131
- if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {
131
+ if (this.nativeValue.endsWith(`.`) || this.nativeValue.endsWith(`:`)) {
132
132
  this.nativeValue = this.nativeValue.slice(0, -1);
133
133
  }
134
134
  });
@@ -139,7 +139,7 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
139
139
  }
140
140
  writeValue(value) {
141
141
  super.writeValue(value);
142
- this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';
142
+ this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : ``;
143
143
  }
144
144
  getFallbackValue() {
145
145
  return [null, null];
@@ -152,8 +152,8 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
152
152
  return {
153
153
  mask: [
154
154
  ...tuiCreateDateMask(dateFormat, dateSeparator),
155
- ',',
156
- ' ',
155
+ `,`,
156
+ ` `,
157
157
  ...tuiCreateTimeMask(timeMode),
158
158
  ],
159
159
  pipe: tuiCreateAutoCorrectedDateTimePipe({
@@ -167,15 +167,15 @@ let TuiInputDateTimeComponent = class TuiInputDateTimeComponent extends Abstract
167
167
  guide: false,
168
168
  };
169
169
  }
170
- getDateTimeString(date, time, timeMode = 'HH:MM') {
170
+ getDateTimeString(date, time, timeMode = `HH:MM`) {
171
171
  const dateString = date instanceof TuiDay
172
172
  ? date.toString(this.dateFormat, this.dateSeparator)
173
173
  : date;
174
- const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';
174
+ const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || ``;
175
175
  return `${dateString}${DATE_TIME_SEPARATOR}${timeString}`;
176
176
  }
177
177
  updateNativeValue(day) {
178
- const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';
178
+ const time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || ``;
179
179
  this.nativeValue = this.getDateTimeString(day, time);
180
180
  }
181
181
  clampTime(time, day) {
@@ -223,7 +223,7 @@ __decorate([
223
223
  tuiDefaultProp()
224
224
  ], TuiInputDateTimeComponent.prototype, "timeMode", void 0);
225
225
  __decorate([
226
- HostListener('click')
226
+ HostListener(`click`)
227
227
  ], TuiInputDateTimeComponent.prototype, "onClick", null);
228
228
  __decorate([
229
229
  tuiPure
@@ -233,7 +233,7 @@ __decorate([
233
233
  ], TuiInputDateTimeComponent.prototype, "getDateTimeString", null);
234
234
  TuiInputDateTimeComponent = __decorate([
235
235
  Component({
236
- selector: 'tui-input-date-time',
236
+ selector: `tui-input-date-time`,
237
237
  template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n class=\"textfield\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [filler]=\"(filler$ | async) || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"iconContent\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n [class.icon]=\"!computedDisabled\"\n [src]=\"calendarIcon\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n",
238
238
  changeDetection: ChangeDetectionStrategy.OnPush,
239
239
  providers: TUI_INPUT_DATE_TIME_PROVIDERS,
@@ -252,4 +252,4 @@ TuiInputDateTimeComponent = __decorate([
252
252
  __param(7, Inject(TUI_DATE_TIME_VALUE_TRANSFORMER))
253
253
  ], TuiInputDateTimeComponent);
254
254
  export { TuiInputDateTimeComponent };
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBTVosTUFBTSxFQUNOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsY0FBYyxFQUNkLCtCQUErQixFQUMvQixjQUFjLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyxpQkFBaUIsRUFDakIsaUJBQWlCLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxF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QUFDLENBQUE7SUFFdEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7R0EzRG5DLHlCQUF5QixDQTZTckM7U0E3U1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICBjbGFtcCxcbiAgICBEQVRFX0ZJTExFUl9MRU5HVEgsXG4gICAgbnVsbGFibGVTYW1lLFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIFR1aURhdGVNb2RlLFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlUaW1lLFxuICAgIFR1aVRpbWVNb2RlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgc2l6ZUJpZ2dlcixcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtEQVRFX1RJTUVfU0VQQVJBVE9SfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRFX1RFWFRTLFxuICAgIFRVSV9EQVRFX1RJTUVfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX1RJTUVfVEVYVFMsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZERhdGVUaW1lUGlwZSxcbiAgICB0dWlDcmVhdGVEYXRlTWFzayxcbiAgICB0dWlDcmVhdGVUaW1lTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHBsdWNrfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfVElNRV9QUk9WSURFUlN9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1kYXRlLXRpbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLXRpbWUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS10aW1lLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9JTlBVVF9EQVRFX1RJTUVfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVUaW1lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8W1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXT5cbiAgICBpbXBsZW1lbnRzXG4gICAgICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXT4sXG4gICAgICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSBtb250aDogVHVpTW9udGggfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aURheSB8IFtUdWlEYXksIFR1aVRpbWVdID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aURheSB8IFtUdWlEYXksIFR1aVRpbWVdID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGltZU1vZGU6IFR1aVRpbWVNb2RlID0gJ0hIOk1NJztcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IHR5cGUhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+O1xuXG4gICAgcmVhZG9ubHkgZmlsbGVyJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuZGF0ZVRleHRzJC5waXBlKFxuICAgICAgICAgICAgbWFwKGRhdGVUZXh0cyA9PlxuICAgICAgICAgICAgICAgIGNoYW5nZURhdGVTZXBhcmF0b3IoZGF0ZVRleHRzW3RoaXMuZGF0ZUZvcm1hdF0sIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnRpbWVUZXh0cyQucGlwZShwbHVjayh0aGlzLnRpbWVNb2RlKSksXG4gICAgXSkucGlwZShtYXAoZmlsbGVycyA9PiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKC4uLmZpbGxlcnMpKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX1RJTUVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IHRpbWVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aVRpbWVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfREFURV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZGF0ZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpRGF0ZU1vZGUsIHN0cmluZz4+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1RJTUVfVkFMVUVfVFJBTlNGT1JNRVIpXG4gICAgICAgIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXI6IFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFxuICAgICAgICAgICAgW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXVxuICAgICAgICA+IHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYsIHZhbHVlVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIGdldCBmaWxsZXJMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIERBVEVfRklMTEVSX0xFTkdUSCArIERBVEVfVElNRV9TRVBBUkFUT1IubGVuZ3RoICsgdGhpcy50aW1lTW9kZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHRleHRNYXNrT3B0aW9ucygpOiBUZXh0TWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1hc2soXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzBdLFxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhck1pbkRheSxcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNYXhEYXksXG4gICAgICAgICAgICB0aGlzLnRpbWVNb2RlLFxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICAgICAgdGhpcy5kYXRlU2VwYXJhdG9yLFxuICAgICAgICApIGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLnRleHRmaWVsZFNpemUuc2l6ZSlcbiAgICAgICAgICAgID8gJ3R1aUljb25DYWxlbmRhckxhcmdlJ1xuICAgICAgICAgICAgOiAndHVpSWNvbkNhbGVuZGFyJztcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7dmFsdWUsIG5hdGl2ZVZhbHVlLCB0aW1lTW9kZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB2YWx1ZTtcbiAgICAgICAgY29uc3QgaGFzVGltZUlucHV0Q2hhcnMgPSBuYXRpdmVWYWx1ZS5sZW5ndGggPiBEQVRFX0ZJTExFUl9MRU5HVEg7XG5cbiAgICAgICAgaWYgKCFkYXRlIHx8ICghdGltZSAmJiBoYXNUaW1lSW5wdXRDaGFycykpIHtcbiAgICAgICAgICAgIHJldHVybiBuYXRpdmVWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKGRhdGUsIHRpbWUsIHRpbWVNb2RlKTtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJWYWx1ZSgpOiBUdWlEYXkgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbMF07XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyTWluRGF5KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubWluKSA/IHRoaXMubWluWzBdIDogdGhpcy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyTWF4RGF5KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubWF4KSA/IHRoaXMubWF4WzBdIDogdGhpcy5tYXg7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWN0aXZlWWVhck1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGggfHwgdGhpcy52YWx1ZVswXSB8fCB0aGlzLmRlZmF1bHRBY3RpdmVZZWFyTW9udGg7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8IERBVEVfRklMTEVSX0xFTkdUSCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbbnVsbCwgbnVsbF0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB2YWx1ZS5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcblxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPVxuICAgICAgICAgICAgdGltZSAmJiB0aW1lLmxlbmd0aCA9PT0gdGhpcy50aW1lTW9kZS5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHRoaXMuY2xhbXBUaW1lKFR1aVRpbWUuZnJvbVN0cmluZyh0aW1lKSwgcGFyc2VkRGF0ZSlcbiAgICAgICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3BhcnNlZERhdGUsIHBhcnNlZFRpbWVdKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1vZGlmaWVkVGltZSA9IHRoaXMudmFsdWVbMV0gJiYgdGhpcy5jbGFtcFRpbWUodGhpcy52YWx1ZVsxXSwgZGF5KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtkYXksIG1vZGlmaWVkVGltZV0pO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdGl2ZVZhbHVlKGRheSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vbnRoID0gbW9udGg7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZm9jdXNlZCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggPD0gdGhpcy5maWxsZXJMZW5ndGggKyBEQVRFX1RJTUVfU0VQQVJBVE9SLmxlbmd0aCB8fFxuICAgICAgICAgICAgdGhpcy50aW1lTW9kZSA9PT0gJ0hIOk1NJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFssIHRpbWVdID0gdGhpcy5uYXRpdmVWYWx1ZS5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcblxuICAgICAgICBpZiAoIXRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodGltZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgcGFyc2VkVGltZV0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoJy4nKSB8fCB0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5uYXRpdmVWYWx1ZS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlICYmICh2YWx1ZVswXSB8fCB2YWx1ZVsxXSkgPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdIHtcbiAgICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVJZGVudGljYWxDb21wYXJhdG9yKFxuICAgICAgICBvbGRWYWx1ZTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSxcbiAgICAgICAgbmV3VmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0sXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBudWxsYWJsZVNhbWUob2xkVmFsdWVbMF0sIG5ld1ZhbHVlWzBdLCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKSAmJlxuICAgICAgICAgICAgbnVsbGFibGVTYW1lKG9sZFZhbHVlWzFdLCBuZXdWYWx1ZVsxXSwgKGEsIGIpID0+IFN0cmluZyhhKSA9PT0gU3RyaW5nKGIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNYXNrKFxuICAgICAgICBkYXk6IFR1aURheSB8IG51bGwsXG4gICAgICAgIG1pbjogVHVpRGF5LFxuICAgICAgICBtYXg6IFR1aURheSxcbiAgICAgICAgdGltZU1vZGU6IFR1aVRpbWVNb2RlLFxuICAgICAgICBkYXRlRm9ybWF0OiBUdWlEYXRlTW9kZSxcbiAgICAgICAgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICk6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiBbXG4gICAgICAgICAgICAgICAgLi4udHVpQ3JlYXRlRGF0ZU1hc2soZGF0ZUZvcm1hdCwgZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICAgICAgICAgJywnLFxuICAgICAgICAgICAgICAgICcgJyxcbiAgICAgICAgICAgICAgICAuLi50dWlDcmVhdGVUaW1lTWFzayh0aW1lTW9kZSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZERhdGVUaW1lUGlwZSh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGRheSxcbiAgICAgICAgICAgICAgICBtaW4sXG4gICAgICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aW1lTW9kZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXREYXRlVGltZVN0cmluZyhcbiAgICAgICAgZGF0ZTogVHVpRGF5IHwgc3RyaW5nLFxuICAgICAgICB0aW1lOiBUdWlUaW1lIHwgc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgdGltZU1vZGU6IFR1aVRpbWVNb2RlID0gJ0hIOk1NJyxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID1cbiAgICAgICAgICAgIGRhdGUgaW5zdGFuY2VvZiBUdWlEYXlcbiAgICAgICAgICAgICAgICA/IGRhdGUudG9TdHJpbmcodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgOiBkYXRlO1xuICAgICAgICBjb25zdCB0aW1lU3RyaW5nID0gdGltZSBpbnN0YW5jZW9mIFR1aVRpbWUgPyB0aW1lLnRvU3RyaW5nKHRpbWVNb2RlKSA6IHRpbWUgfHwgJyc7XG5cbiAgICAgICAgcmV0dXJuIGAke2RhdGVTdHJpbmd9JHtEQVRFX1RJTUVfU0VQQVJBVE9SfSR7dGltZVN0cmluZ31gO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTmF0aXZlVmFsdWUoZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZSA9IHRoaXMubmF0aXZlVmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUilbMV0gfHwgJyc7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZ2V0RGF0ZVRpbWVTdHJpbmcoZGF5LCB0aW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsYW1wVGltZSh0aW1lOiBUdWlUaW1lLCBkYXk6IFR1aURheSk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBtcyA9IHRpbWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpO1xuICAgICAgICBjb25zdCBtaW4gPVxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLm1pbikgJiYgZGF5LmRheVNhbWUodGhpcy5jYWxlbmRhck1pbkRheSlcbiAgICAgICAgICAgICAgICA/IHRoaXMubWluWzFdLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKVxuICAgICAgICAgICAgICAgIDogLUluZmluaXR5O1xuICAgICAgICBjb25zdCBtYXggPVxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLm1heCkgJiYgZGF5LmRheVNhbWUodGhpcy5jYWxlbmRhck1heERheSlcbiAgICAgICAgICAgICAgICA/IHRoaXMubWF4WzFdLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKVxuICAgICAgICAgICAgICAgIDogSW5maW5pdHk7XG5cbiAgICAgICAgcmV0dXJuIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKGNsYW1wKG1zLCBtaW4sIG1heCkpO1xuICAgIH1cbn1cbiJdfQ==
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBTVosTUFBTSxFQUNOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsY0FBYyxFQUNkLCtCQUErQixFQUMvQixjQUFjLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyxpQkFBaUIsRUFDakIsaUJBQWlCLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxF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QUFDLENBQUE7SUFFdEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7R0EzRG5DLHlCQUF5QixDQTZTckM7U0E3U1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICBjbGFtcCxcbiAgICBEQVRFX0ZJTExFUl9MRU5HVEgsXG4gICAgbnVsbGFibGVTYW1lLFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIFR1aURhdGVNb2RlLFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlUaW1lLFxuICAgIFR1aVRpbWVNb2RlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgc2l6ZUJpZ2dlcixcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtEQVRFX1RJTUVfU0VQQVJBVE9SfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRFX1RFWFRTLFxuICAgIFRVSV9EQVRFX1RJTUVfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX1RJTUVfVEVYVFMsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZERhdGVUaW1lUGlwZSxcbiAgICB0dWlDcmVhdGVEYXRlTWFzayxcbiAgICB0dWlDcmVhdGVUaW1lTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHBsdWNrfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfVElNRV9QUk9WSURFUlN9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1kYXRlLXRpbWVgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC1kYXRlLXRpbWUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtZGF0ZS10aW1lLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9JTlBVVF9EQVRFX1RJTUVfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVUaW1lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8W1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXT5cbiAgICBpbXBsZW1lbnRzXG4gICAgICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXT4sXG4gICAgICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSBtb250aDogVHVpTW9udGggfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aURheSB8IFtUdWlEYXksIFR1aVRpbWVdID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aURheSB8IFtUdWlEYXksIFR1aVRpbWVdID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGltZU1vZGU6IFR1aVRpbWVNb2RlID0gYEhIOk1NYDtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IHR5cGUhOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmU+O1xuXG4gICAgcmVhZG9ubHkgZmlsbGVyJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIHRoaXMuZGF0ZVRleHRzJC5waXBlKFxuICAgICAgICAgICAgbWFwKGRhdGVUZXh0cyA9PlxuICAgICAgICAgICAgICAgIGNoYW5nZURhdGVTZXBhcmF0b3IoZGF0ZVRleHRzW3RoaXMuZGF0ZUZvcm1hdF0sIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLnRpbWVUZXh0cyQucGlwZShwbHVjayh0aGlzLnRpbWVNb2RlKSksXG4gICAgXSkucGlwZShtYXAoZmlsbGVycyA9PiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKC4uLmZpbGxlcnMpKSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX1RJTUVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IHRpbWVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aVRpbWVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfREFURV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZGF0ZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpRGF0ZU1vZGUsIHN0cmluZz4+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1RJTUVfVkFMVUVfVFJBTlNGT1JNRVIpXG4gICAgICAgIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXI6IFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFxuICAgICAgICAgICAgW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXVxuICAgICAgICA+IHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYsIHZhbHVlVHJhbnNmb3JtZXIpO1xuICAgIH1cblxuICAgIGdldCBmaWxsZXJMZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIERBVEVfRklMTEVSX0xFTkdUSCArIERBVEVfVElNRV9TRVBBUkFUT1IubGVuZ3RoICsgdGhpcy50aW1lTW9kZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IHRleHRNYXNrT3B0aW9ucygpOiBUZXh0TWFza0NvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZU1hc2soXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzBdLFxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhck1pbkRheSxcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNYXhEYXksXG4gICAgICAgICAgICB0aGlzLnRpbWVNb2RlLFxuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0LFxuICAgICAgICAgICAgdGhpcy5kYXRlU2VwYXJhdG9yLFxuICAgICAgICApIGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLnRleHRmaWVsZFNpemUuc2l6ZSlcbiAgICAgICAgICAgID8gYHR1aUljb25DYWxlbmRhckxhcmdlYFxuICAgICAgICAgICAgOiBgdHVpSWNvbkNhbGVuZGFyYDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7dmFsdWUsIG5hdGl2ZVZhbHVlLCB0aW1lTW9kZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB2YWx1ZTtcbiAgICAgICAgY29uc3QgaGFzVGltZUlucHV0Q2hhcnMgPSBuYXRpdmVWYWx1ZS5sZW5ndGggPiBEQVRFX0ZJTExFUl9MRU5HVEg7XG5cbiAgICAgICAgaWYgKCFkYXRlIHx8ICghdGltZSAmJiBoYXNUaW1lSW5wdXRDaGFycykpIHtcbiAgICAgICAgICAgIHJldHVybiBuYXRpdmVWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVUaW1lU3RyaW5nKGRhdGUsIHRpbWUsIHRpbWVNb2RlKTtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJWYWx1ZSgpOiBUdWlEYXkgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbMF07XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyTWluRGF5KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubWluKSA/IHRoaXMubWluWzBdIDogdGhpcy5taW47XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyTWF4RGF5KCk6IFR1aURheSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubWF4KSA/IHRoaXMubWF4WzBdIDogdGhpcy5tYXg7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWN0aXZlWWVhck1vbnRoKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGggfHwgdGhpcy52YWx1ZVswXSB8fCB0aGlzLmRlZmF1bHRBY3RpdmVZZWFyTW9udGg7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiBgYDtcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihgY2xpY2tgKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8IERBVEVfRklMTEVSX0xFTkdUSCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbbnVsbCwgbnVsbF0pO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbZGF0ZSwgdGltZV0gPSB2YWx1ZS5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcblxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gVHVpRGF5Lm5vcm1hbGl6ZVBhcnNlKGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPVxuICAgICAgICAgICAgdGltZSAmJiB0aW1lLmxlbmd0aCA9PT0gdGhpcy50aW1lTW9kZS5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHRoaXMuY2xhbXBUaW1lKFR1aVRpbWUuZnJvbVN0cmluZyh0aW1lKSwgcGFyc2VkRGF0ZSlcbiAgICAgICAgICAgICAgICA6IG51bGw7XG5cbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3BhcnNlZERhdGUsIHBhcnNlZFRpbWVdKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1vZGlmaWVkVGltZSA9IHRoaXMudmFsdWVbMV0gJiYgdGhpcy5jbGFtcFRpbWUodGhpcy52YWx1ZVsxXSwgZGF5KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtkYXksIG1vZGlmaWVkVGltZV0pO1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdGl2ZVZhbHVlKGRheSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2hhbmdlKG1vbnRoOiBUdWlNb250aCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vbnRoID0gbW9udGg7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZm9jdXNlZCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSAhPT0gbnVsbCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggPD0gdGhpcy5maWxsZXJMZW5ndGggKyBEQVRFX1RJTUVfU0VQQVJBVE9SLmxlbmd0aCB8fFxuICAgICAgICAgICAgdGhpcy50aW1lTW9kZSA9PT0gYEhIOk1NYFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFssIHRpbWVdID0gdGhpcy5uYXRpdmVWYWx1ZS5zcGxpdChEQVRFX1RJTUVfU0VQQVJBVE9SKTtcblxuICAgICAgICBpZiAoIXRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnNlZFRpbWUgPSBUdWlUaW1lLmZyb21TdHJpbmcodGltZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgcGFyc2VkVGltZV0pO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuZW5kc1dpdGgoYC5gKSB8fCB0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKGA6YCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5uYXRpdmVWYWx1ZS5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlICYmICh2YWx1ZVswXSB8fCB2YWx1ZVsxXSkgPyB0aGlzLmNvbXB1dGVkVmFsdWUgOiBgYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdIHtcbiAgICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVJZGVudGljYWxDb21wYXJhdG9yKFxuICAgICAgICBvbGRWYWx1ZTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSxcbiAgICAgICAgbmV3VmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0sXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBudWxsYWJsZVNhbWUob2xkVmFsdWVbMF0sIG5ld1ZhbHVlWzBdLCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKSAmJlxuICAgICAgICAgICAgbnVsbGFibGVTYW1lKG9sZFZhbHVlWzFdLCBuZXdWYWx1ZVsxXSwgKGEsIGIpID0+IFN0cmluZyhhKSA9PT0gU3RyaW5nKGIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNYXNrKFxuICAgICAgICBkYXk6IFR1aURheSB8IG51bGwsXG4gICAgICAgIG1pbjogVHVpRGF5LFxuICAgICAgICBtYXg6IFR1aURheSxcbiAgICAgICAgdGltZU1vZGU6IFR1aVRpbWVNb2RlLFxuICAgICAgICBkYXRlRm9ybWF0OiBUdWlEYXRlTW9kZSxcbiAgICAgICAgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICk6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYXNrOiBbXG4gICAgICAgICAgICAgICAgLi4udHVpQ3JlYXRlRGF0ZU1hc2soZGF0ZUZvcm1hdCwgZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICAgICAgICAgYCxgLFxuICAgICAgICAgICAgICAgIGAgYCxcbiAgICAgICAgICAgICAgICAuLi50dWlDcmVhdGVUaW1lTWFzayh0aW1lTW9kZSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZERhdGVUaW1lUGlwZSh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGRheSxcbiAgICAgICAgICAgICAgICBtaW4sXG4gICAgICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgZGF0ZVNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aW1lTW9kZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXREYXRlVGltZVN0cmluZyhcbiAgICAgICAgZGF0ZTogVHVpRGF5IHwgc3RyaW5nLFxuICAgICAgICB0aW1lOiBUdWlUaW1lIHwgc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgdGltZU1vZGU6IFR1aVRpbWVNb2RlID0gYEhIOk1NYCxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID1cbiAgICAgICAgICAgIGRhdGUgaW5zdGFuY2VvZiBUdWlEYXlcbiAgICAgICAgICAgICAgICA/IGRhdGUudG9TdHJpbmcodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgOiBkYXRlO1xuICAgICAgICBjb25zdCB0aW1lU3RyaW5nID0gdGltZSBpbnN0YW5jZW9mIFR1aVRpbWUgPyB0aW1lLnRvU3RyaW5nKHRpbWVNb2RlKSA6IHRpbWUgfHwgYGA7XG5cbiAgICAgICAgcmV0dXJuIGAke2RhdGVTdHJpbmd9JHtEQVRFX1RJTUVfU0VQQVJBVE9SfSR7dGltZVN0cmluZ31gO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTmF0aXZlVmFsdWUoZGF5OiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZSA9IHRoaXMubmF0aXZlVmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUilbMV0gfHwgYGA7XG5cbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZ2V0RGF0ZVRpbWVTdHJpbmcoZGF5LCB0aW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsYW1wVGltZSh0aW1lOiBUdWlUaW1lLCBkYXk6IFR1aURheSk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBtcyA9IHRpbWUudG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpO1xuICAgICAgICBjb25zdCBtaW4gPVxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLm1pbikgJiYgZGF5LmRheVNhbWUodGhpcy5jYWxlbmRhck1pbkRheSlcbiAgICAgICAgICAgICAgICA/IHRoaXMubWluWzFdLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKVxuICAgICAgICAgICAgICAgIDogLUluZmluaXR5O1xuICAgICAgICBjb25zdCBtYXggPVxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLm1heCkgJiYgZGF5LmRheVNhbWUodGhpcy5jYWxlbmRhck1heERheSlcbiAgICAgICAgICAgICAgICA/IHRoaXMubWF4WzFdLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKVxuICAgICAgICAgICAgICAgIDogSW5maW5pdHk7XG5cbiAgICAgICAgcmV0dXJuIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKGNsYW1wKG1zLCBtaW4sIG1heCkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -10,12 +10,12 @@ let TuiInputDateTimeDirective = TuiInputDateTimeDirective_1 = class TuiInputDate
10
10
  this.host.onValueChange(value);
11
11
  }
12
12
  process(input) {
13
- input.inputMode = 'numeric';
13
+ input.inputMode = `numeric`;
14
14
  }
15
15
  };
16
16
  TuiInputDateTimeDirective = TuiInputDateTimeDirective_1 = __decorate([
17
17
  Directive({
18
- selector: 'tui-input-date-time',
18
+ selector: `tui-input-date-time`,
19
19
  providers: [
20
20
  {
21
21
  provide: TUI_TEXTFIELD_HOST,
@@ -25,4 +25,4 @@ TuiInputDateTimeDirective = TuiInputDateTimeDirective_1 = __decorate([
25
25
  })
26
26
  ], TuiInputDateTimeDirective);
27
27
  export { TuiInputDateTimeDirective };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFhNUUsSUFBYSx5QkFBeUIsaUNBQXRDLE1BQWEseUJBQTBCLFNBQVEsd0JBQW1EO0lBQzlGLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBdUI7UUFDM0IsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztDQUNKLENBQUE7QUFaWSx5QkFBeUI7SUFUckMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUF5QixDQUFDO2FBQzNEO1NBQ0o7S0FDSixDQUFDO0dBQ1cseUJBQXlCLENBWXJDO1NBWlkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1QsIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQge1R1aUlucHV0RGF0ZVRpbWVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWRhdGUtdGltZScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9URVhURklFTERfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmUpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmUgZXh0ZW5kcyBUdWlBYnN0cmFjdFRleHRmaWVsZEhvc3Q8VHVpSW5wdXREYXRlVGltZUNvbXBvbmVudD4ge1xuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzKGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlucHV0LmlucHV0TW9kZSA9ICdudW1lcmljJztcbiAgICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLHdCQUF3QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFhNUUsSUFBYSx5QkFBeUIsaUNBQXRDLE1BQWEseUJBQTBCLFNBQVEsd0JBQW1EO0lBQzlGLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBdUI7UUFDM0IsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztDQUNKLENBQUE7QUFaWSx5QkFBeUI7SUFUckMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUF5QixDQUFDO2FBQzNEO1NBQ0o7S0FDSixDQUFDO0dBQ1cseUJBQXlCLENBWXJDO1NBWlkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0hPU1QsIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQge1R1aUlucHV0RGF0ZVRpbWVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LWRhdGUtdGltZWAsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9URVhURklFTERfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmUpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVRpbWVEaXJlY3RpdmUgZXh0ZW5kcyBUdWlBYnN0cmFjdFRleHRmaWVsZEhvc3Q8VHVpSW5wdXREYXRlVGltZUNvbXBvbmVudD4ge1xuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzKGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlucHV0LmlucHV0TW9kZSA9IGBudW1lcmljYDtcbiAgICB9XG59XG4iXX0=
@@ -13,19 +13,19 @@ let TuiFileOldComponent = class TuiFileOldComponent {
13
13
  this.sanitizer = sanitizer;
14
14
  this.fileTexts$ = fileTexts$;
15
15
  this.units$ = units$;
16
- this.file = { name: '' };
16
+ this.file = { name: `` };
17
17
  this.state = "normal" /* Normal */;
18
- this.size = 'm';
18
+ this.size = `m`;
19
19
  this.allowDelete = true;
20
20
  this.showSize = true;
21
21
  this.fileRemoved = new EventEmitter();
22
22
  this.focused = false;
23
23
  }
24
24
  get preview() {
25
- return this.isBig ? this.createPreview(this.file, this.sanitizer) : '';
25
+ return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;
26
26
  }
27
27
  get isBig() {
28
- return this.size === 'l';
28
+ return this.size === `l`;
29
29
  }
30
30
  get isLoading() {
31
31
  return this.state === "loading" /* Loading */;
@@ -38,25 +38,25 @@ let TuiFileOldComponent = class TuiFileOldComponent {
38
38
  }
39
39
  get icon() {
40
40
  if (this.state === "normal" /* Normal */ && this.isBig) {
41
- return 'tuiIconDefaultDocLarge';
41
+ return `tuiIconDefaultDocLarge`;
42
42
  }
43
43
  switch (this.state) {
44
44
  case "deleted" /* Deleted */:
45
- return 'tuiIconTrashLarge';
45
+ return `tuiIconTrashLarge`;
46
46
  case "error" /* Error */:
47
- return 'tuiIconAlertCircleLarge';
47
+ return `tuiIconAlertCircleLarge`;
48
48
  default:
49
- return 'tuiIconCheckCircleLarge';
49
+ return `tuiIconCheckCircleLarge`;
50
50
  }
51
51
  }
52
52
  get src() {
53
- return this.file.src || '';
53
+ return this.file.src || ``;
54
54
  }
55
55
  get name() {
56
- return this.file.name.split('.').slice(0, -1).join('.');
56
+ return this.file.name.split(`.`).slice(0, -1).join(`.`);
57
57
  }
58
58
  get type() {
59
- return `.${this.file.name.split('.').pop()}` || '';
59
+ return `.${this.file.name.split(`.`).pop()}` || ``;
60
60
  }
61
61
  get content$() {
62
62
  return this.calculateContent$(this.state, this.file, this.fileTexts$);
@@ -73,7 +73,7 @@ let TuiFileOldComponent = class TuiFileOldComponent {
73
73
  calculateContent$(state, file, fileTexts$) {
74
74
  return state === "error" /* Error */ && !file.content
75
75
  ? fileTexts$.pipe(map(texts => texts.loadingError))
76
- : of(this.file.content || '');
76
+ : of(this.file.content || ``);
77
77
  }
78
78
  calculateFileSize$(file, units$) {
79
79
  return units$.pipe(map(units => formatSize(units, file.size)));
@@ -83,10 +83,10 @@ let TuiFileOldComponent = class TuiFileOldComponent {
83
83
  return file.src;
84
84
  }
85
85
  // TODO: iframe warning
86
- if (file instanceof File && file.type && file.type.startsWith('image/')) {
86
+ if (file instanceof File && file.type && file.type.startsWith(`image/`)) {
87
87
  return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));
88
88
  }
89
- return '';
89
+ return ``;
90
90
  }
91
91
  };
92
92
  TuiFileOldComponent.ctorParameters = () => [
@@ -119,10 +119,10 @@ __decorate([
119
119
  Output()
120
120
  ], TuiFileOldComponent.prototype, "fileRemoved", void 0);
121
121
  __decorate([
122
- HostBinding('class._focused')
122
+ HostBinding(`class._focused`)
123
123
  ], TuiFileOldComponent.prototype, "focused", void 0);
124
124
  __decorate([
125
- HostBinding('class._link')
125
+ HostBinding(`class._link`)
126
126
  ], TuiFileOldComponent.prototype, "src", null);
127
127
  __decorate([
128
128
  tuiPure
@@ -135,7 +135,7 @@ __decorate([
135
135
  ], TuiFileOldComponent.prototype, "createPreview", null);
136
136
  TuiFileOldComponent = __decorate([
137
137
  Component({
138
- selector: 'tui-file',
138
+ selector: `tui-file`,
139
139
  changeDetection: ChangeDetectionStrategy.OnPush,
140
140
  template: "<ng-container *ngIf=\"!src; else withLink\">\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"preview\"\n [class.preview_big]=\"isBig\"\n >\n <img\n *ngIf=\"preview && (fileTexts$ | async) as texts; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"image\"\n [alt]=\"texts.preview\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"icon\"\n [class.icon_deleted]=\"isDeleted\"\n [class.icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <div class=\"text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n polymorpheus-outlet\n automation-id=\"tui-file__content\"\n class=\"content\"\n [content]=\"content\"\n ></div>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"remove\"\n [title]=\"texts.remove\"\n [class.remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n",
141
141
  styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:0;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.link:hover{background-color:var(--tui-base-02)}.preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:rgba(0,0,0,.24)}.preview_big{width:4rem;height:4rem;margin-right:1rem}.preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:#333;opacity:.08}.image{max-width:100%;max-height:100%}.loader{position:absolute;top:0;left:0;width:100%;height:100%}.icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.icon_error{color:var(--tui-error-fill)}.icon_deleted{color:var(--tui-base-06)}.remove{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.remove:focus,.remove_mobile{opacity:1}.wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.text{display:flex}.size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.type{flex-shrink:0}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}"]
@@ -146,4 +146,4 @@ TuiFileOldComponent = __decorate([
146
146
  __param(3, Inject(TUI_DIGITAL_INFORMATION_UNITS))
147
147
  ], TuiFileOldComponent);
148
148
  export { TuiFileOldComponent };
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImZpbGUvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsV0FBVztBQU9YLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBMkI1QixZQUNvQyxRQUFpQixFQUNWLFNBQXVCLEVBRXJELFVBRVIsRUFFZ0IsTUFBNEM7UUFQN0IsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFckQsZUFBVSxHQUFWLFVBQVUsQ0FFbEI7UUFFZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0M7UUFoQ2pFLFNBQUksR0FBZ0IsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFJL0IsVUFBSyx5QkFBcUQ7UUFJMUQsU0FBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUluQixhQUFR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QVlQO0FBcklRLG1CQUFtQjtJQU4vQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQywyeUZBQW1DOztLQUV0QyxDQUFDO0lBNkJPLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3JCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBSXRCLFdBQUEsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7R0FsQ2pDLG1CQUFtQixDQXNJL0I7U0F0SVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZUx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZVN0YXRlLCBUdWlGaWxlU3RhdGVUfSBmcm9tICdAdGFpZ2EtdWkva2l0L2VudW1zJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWZpbGUnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbGUuc3R5bGUubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWxlT2xkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsZTogVHVpRmlsZUxpa2UgPSB7bmFtZTogJyd9O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0YXRlOiBUdWlGaWxlU3RhdGVUIHwgVHVpRmlsZVN0YXRlID0gVHVpRmlsZVN0YXRlLk5vcm1hbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd1NpemUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9mb2N1c2VkJylcbiAgICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChEb21TYW5pdGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0ZJTEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGZpbGVUZXh0cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBSZWNvcmQ8J2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge31cblxuICAgIGdldCBwcmV2aWV3KCk6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQmlnID8gdGhpcy5jcmVhdGVQcmV2aWV3KHRoaXMuZmlsZSwgdGhpcy5zYW5pdGl6ZXIpIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzQmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSAnbCc7XG4gICAgfVxuXG4gICAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgPT09IFR1aUZpbGVTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLkVycm9yO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBUdWlGaWxlU3RhdGUuRGVsZXRlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLk5vcm1hbCAmJiB0aGlzLmlzQmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3R1aUljb25EZWZhdWx0RG9jTGFyZ2UnO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlIFR1aUZpbGVTdGF0ZS5EZWxldGVkOlxuICAgICAgICAgICAgICAgIHJldHVybiAndHVpSWNvblRyYXNoTGFyZ2UnO1xuICAgICAgICAgICAgY2FzZSBUdWlGaWxlU3RhdGUuRXJyb3I6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uQWxlcnRDaXJjbGVMYXJnZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2UnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGluaycpXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLm5hbWUuc3BsaXQoJy4nKS5zbGljZSgwLCAtMSkuam9pbignLicpO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgLiR7dGhpcy5maWxlLm5hbWUuc3BsaXQoJy4nKS5wb3AoKX1gIHx8ICcnO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVSZW1vdmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZm9jdXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb250ZW50JChcbiAgICAgICAgc3RhdGU6IGtleW9mIFJlY29yZDxUdWlGaWxlU3RhdGUsIHN0cmluZz4gfCBzdHJpbmcgfCBUdWlGaWxlU3RhdGUsXG4gICAgICAgIGZpbGU6IFR1aUZpbGVMaWtlLFxuICAgICAgICBmaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDwnbG9hZGluZ0Vycm9yJyB8ICdwcmV2aWV3JyB8ICdyZW1vdmUnLCBzdHJpbmc+PixcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID09PSBUdWlGaWxlU3RhdGUuRXJyb3IgJiYgIWZpbGUuY29udGVudFxuICAgICAgICAgICAgPyBmaWxlVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzLmxvYWRpbmdFcnJvcikpXG4gICAgICAgICAgICA6IG9mKHRoaXMuZmlsZS5jb250ZW50IHx8ICcnKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRmlsZVNpemUkKFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgdW5pdHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXT4sXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB1bml0cyQucGlwZShtYXAodW5pdHMgPT4gZm9ybWF0U2l6ZSh1bml0cywgZmlsZS5zaXplKSkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjcmVhdGVQcmV2aWV3KGZpbGU6IFR1aUZpbGVMaWtlLCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIGlmIChmaWxlLnNyYykge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUuc3JjO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGaWxlICYmIGZpbGUudHlwZSAmJiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcbiAgICAgICAgICAgIHJldHVybiBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImZpbGUvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsV0FBVztBQU9YLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0lBMkI1QixZQUNvQyxRQUFpQixFQUNWLFNBQXVCLEVBRXJELFVBRVIsRUFFZ0IsTUFBNEM7UUFQN0IsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFckQsZUFBVSxHQUFWLFVBQVUsQ0FFbEI7UUFFZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0M7UUFoQ2pFLFNBQUksR0FBZ0IsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFJL0IsVUFBSyx5QkFBcUQ7UUFJMUQsU0FBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUluQixhQUFR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QVlQO0FBcklRLG1CQUFtQjtJQU4vQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsVUFBVTtRQUNwQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQywyeUZBQW1DOztLQUV0QyxDQUFDO0lBNkJPLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3JCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBSXRCLFdBQUEsTUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUE7R0FsQ2pDLG1CQUFtQixDQXNJL0I7U0F0SVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZUx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZVN0YXRlLCBUdWlGaWxlU3RhdGVUfSBmcm9tICdAdGFpZ2EtdWkva2l0L2VudW1zJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWZpbGVgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9maWxlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUuc3R5bGUubGVzc2BdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWxlT2xkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsZTogVHVpRmlsZUxpa2UgPSB7bmFtZTogYGB9O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0YXRlOiBUdWlGaWxlU3RhdGVUIHwgVHVpRmlsZVN0YXRlID0gVHVpRmlsZVN0YXRlLk5vcm1hbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9IGBtYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd1NpemUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9mb2N1c2VkYClcbiAgICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChEb21TYW5pdGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0ZJTEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGZpbGVUZXh0cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBSZWNvcmQ8J2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge31cblxuICAgIGdldCBwcmV2aWV3KCk6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQmlnID8gdGhpcy5jcmVhdGVQcmV2aWV3KHRoaXMuZmlsZSwgdGhpcy5zYW5pdGl6ZXIpIDogYGA7XG4gICAgfVxuXG4gICAgZ2V0IGlzQmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSBgbGA7XG4gICAgfVxuXG4gICAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgPT09IFR1aUZpbGVTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLkVycm9yO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBUdWlGaWxlU3RhdGUuRGVsZXRlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLk5vcm1hbCAmJiB0aGlzLmlzQmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gYHR1aUljb25EZWZhdWx0RG9jTGFyZ2VgO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlIFR1aUZpbGVTdGF0ZS5EZWxldGVkOlxuICAgICAgICAgICAgICAgIHJldHVybiBgdHVpSWNvblRyYXNoTGFyZ2VgO1xuICAgICAgICAgICAgY2FzZSBUdWlGaWxlU3RhdGUuRXJyb3I6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB0dWlJY29uQWxlcnRDaXJjbGVMYXJnZWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBgdHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2VgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fbGlua2ApXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCBgYDtcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLm5hbWUuc3BsaXQoYC5gKS5zbGljZSgwLCAtMSkuam9pbihgLmApO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgLiR7dGhpcy5maWxlLm5hbWUuc3BsaXQoYC5gKS5wb3AoKX1gIHx8IGBgO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVSZW1vdmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZm9jdXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb250ZW50JChcbiAgICAgICAgc3RhdGU6IGtleW9mIFJlY29yZDxUdWlGaWxlU3RhdGUsIHN0cmluZz4gfCBzdHJpbmcgfCBUdWlGaWxlU3RhdGUsXG4gICAgICAgIGZpbGU6IFR1aUZpbGVMaWtlLFxuICAgICAgICBmaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDwnbG9hZGluZ0Vycm9yJyB8ICdwcmV2aWV3JyB8ICdyZW1vdmUnLCBzdHJpbmc+PixcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID09PSBUdWlGaWxlU3RhdGUuRXJyb3IgJiYgIWZpbGUuY29udGVudFxuICAgICAgICAgICAgPyBmaWxlVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzLmxvYWRpbmdFcnJvcikpXG4gICAgICAgICAgICA6IG9mKHRoaXMuZmlsZS5jb250ZW50IHx8IGBgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRmlsZVNpemUkKFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgdW5pdHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXT4sXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB1bml0cyQucGlwZShtYXAodW5pdHMgPT4gZm9ybWF0U2l6ZSh1bml0cywgZmlsZS5zaXplKSkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjcmVhdGVQcmV2aWV3KGZpbGU6IFR1aUZpbGVMaWtlLCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIGlmIChmaWxlLnNyYykge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUuc3JjO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGaWxlICYmIGZpbGUudHlwZSAmJiBmaWxlLnR5cGUuc3RhcnRzV2l0aChgaW1hZ2UvYCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgYDtcbiAgICB9XG59XG4iXX0=