@taiga-ui/kit 2.38.0 → 2.41.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 (657) hide show
  1. package/abstract/input-slider.d.ts +27 -9
  2. package/abstract/slider/slider.d.ts +3 -6
  3. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.js +43 -64
  5. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  7. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  11. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  13. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  15. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.js +27 -5
  17. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +2 -2
  19. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  21. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  23. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  25. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  33. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-combo-box.umd.js +1 -1
  42. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  44. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +2 -2
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
  48. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-files.umd.js +3 -3
  50. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  52. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  54. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-count.umd.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
  66. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  74. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  78. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +2 -2
  80. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  82. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +2 -2
  84. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  88. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  90. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-number.umd.js +9 -6
  94. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  96. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-input-password.umd.js +1 -1
  98. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  100. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +5 -1
  102. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
  104. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-phone.umd.js +6 -9
  106. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  108. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-input-range.umd.js +196 -164
  110. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  112. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-slider.umd.js +10 -30
  114. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  116. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-input-tag.umd.js +21 -12
  118. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  124. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  126. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  128. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  130. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -1
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  138. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
  142. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-progress.umd.js +2 -2
  144. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-progress.umd.min.js +1 -1
  146. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
  150. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  152. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-range.umd.js +221 -31
  154. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-range.umd.min.js +2 -2
  156. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-kit-components-rating.umd.js +1 -1
  158. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  160. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  162. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  163. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  164. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-slider.umd.js +86 -9
  166. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  168. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  170. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +2 -2
  172. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-tabs.umd.js +38 -36
  174. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  176. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-tag.umd.js +28 -8
  178. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  179. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  180. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  182. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  183. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  184. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  186. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  187. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  189. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  190. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  191. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  192. package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
  193. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  194. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  195. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  196. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  197. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  198. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  199. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  200. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  201. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  202. package/components/avatar/avatar-options.d.ts +11 -0
  203. package/components/avatar/avatar.component.d.ts +4 -2
  204. package/components/avatar/index.d.ts +1 -0
  205. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  206. package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  207. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  208. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  209. package/components/calendar-range/calendar-range.component.d.ts +2 -2
  210. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  211. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  212. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  213. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  214. package/components/data-list-wrapper/data-list-group-wrapper.component.d.ts +1 -1
  215. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
  216. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  217. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  218. package/components/filter/filter.component.d.ts +1 -1
  219. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  220. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  221. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  222. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  223. package/components/input-date/input-date.component.d.ts +1 -1
  224. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  225. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  226. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  227. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  228. package/components/input-file/input-file.component.d.ts +6 -6
  229. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  230. package/components/input-files/input-files.component.d.ts +2 -2
  231. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  232. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  233. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  234. package/components/input-number/input-number.component.d.ts +2 -1
  235. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  236. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  237. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  238. package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
  239. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  240. package/components/input-range/input-range.component.d.ts +44 -31
  241. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  242. package/components/input-slider/input-slider.component.d.ts +2 -8
  243. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  244. package/components/input-tag/input-tag.component.d.ts +11 -4
  245. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  246. package/components/input-time/input-time.component.d.ts +2 -2
  247. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  248. package/components/multi-select/multi-select-options.d.ts +1 -1
  249. package/components/multi-select/multi-select.component.d.ts +3 -3
  250. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  251. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  252. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  253. package/components/progress/progress-segmented/progress-segmented.component.d.ts +1 -1
  254. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  255. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  256. package/components/radio-list/radio-list.component.d.ts +1 -1
  257. package/components/range/index.d.ts +1 -0
  258. package/components/range/range-change.directive.d.ts +20 -0
  259. package/components/range/range.component.d.ts +33 -5
  260. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  261. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  262. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  263. package/components/slider/index.d.ts +1 -0
  264. package/components/slider/slider-key-steps.directive.d.ts +3 -1
  265. package/components/slider/slider-old.component.d.ts +3 -1
  266. package/components/slider/slider-readonly.directive.d.ts +9 -0
  267. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  268. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  269. package/components/tabs/index.d.ts +0 -1
  270. package/components/tabs/tab/tab.component.d.ts +2 -1
  271. package/components/tabs/tabs/tabs.component.d.ts +3 -4
  272. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +5 -2
  273. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  274. package/components/tag/index.d.ts +1 -0
  275. package/components/tag/tag-options.d.ts +12 -0
  276. package/components/tag/tag.component.d.ts +3 -1
  277. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  278. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  279. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  280. package/esm2015/abstract/input-slider.js +30 -37
  281. package/esm2015/abstract/slider/slider.js +13 -19
  282. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
  283. package/esm2015/components/action/action.component.js +2 -2
  284. package/esm2015/components/avatar/avatar-options.js +15 -0
  285. package/esm2015/components/avatar/avatar.component.js +14 -8
  286. package/esm2015/components/avatar/index.js +2 -1
  287. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  288. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +1 -1
  289. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  290. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  291. package/esm2015/components/carousel/carousel.component.js +2 -2
  292. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  293. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
  294. package/esm2015/components/combo-box/combo-box.component.js +2 -2
  295. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  296. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  297. package/esm2015/components/files/file/file.component.js +2 -2
  298. package/esm2015/components/files/files.component.js +3 -3
  299. package/esm2015/components/filter/filter.component.js +2 -2
  300. package/esm2015/components/input/input.component.js +2 -2
  301. package/esm2015/components/input-copy/input-copy.component.js +2 -2
  302. package/esm2015/components/input-count/input-count.component.js +2 -2
  303. package/esm2015/components/input-date/input-date.component.js +2 -2
  304. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  305. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  306. package/esm2015/components/input-file/file/file.component.js +2 -2
  307. package/esm2015/components/input-file/input-file.component.js +1 -1
  308. package/esm2015/components/input-files/input-files.component.js +2 -2
  309. package/esm2015/components/input-month/input-month.component.js +2 -2
  310. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  311. package/esm2015/components/input-number/input-number.component.js +11 -8
  312. package/esm2015/components/input-password/input-password.component.js +2 -2
  313. package/esm2015/components/input-phone/input-phone.component.js +8 -11
  314. package/esm2015/components/input-phone-international/input-phone-international.component.js +7 -3
  315. package/esm2015/components/input-range/input-range.component.js +192 -156
  316. package/esm2015/components/input-range/input-range.module.js +13 -15
  317. package/esm2015/components/input-slider/input-slider.component.js +8 -20
  318. package/esm2015/components/input-slider/input-slider.module.js +3 -12
  319. package/esm2015/components/input-tag/input-tag.component.js +24 -15
  320. package/esm2015/components/input-time/input-time.component.js +1 -1
  321. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  322. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  323. package/esm2015/components/multi-select/multi-select-options.js +1 -1
  324. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  325. package/esm2015/components/pagination/pagination.component.js +2 -2
  326. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  327. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  328. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  329. package/esm2015/components/radio/radio.component.js +3 -3
  330. package/esm2015/components/radio-list/radio-list.component.js +1 -1
  331. package/esm2015/components/range/index.js +2 -1
  332. package/esm2015/components/range/range-change.directive.js +83 -0
  333. package/esm2015/components/range/range.component.js +118 -28
  334. package/esm2015/components/range/range.module.js +10 -7
  335. package/esm2015/components/rating/rating.component.js +2 -2
  336. package/esm2015/components/select/select.component.js +2 -2
  337. package/esm2015/components/slider/index.js +2 -1
  338. package/esm2015/components/slider/slider-key-steps.directive.js +15 -2
  339. package/esm2015/components/slider/slider-old.component.js +11 -5
  340. package/esm2015/components/slider/slider-readonly.directive.js +50 -0
  341. package/esm2015/components/slider/slider.component.js +5 -5
  342. package/esm2015/components/slider/slider.module.js +4 -1
  343. package/esm2015/components/stepper/step/step.component.js +2 -2
  344. package/esm2015/components/tabs/index.js +1 -2
  345. package/esm2015/components/tabs/tab/tab.component.js +13 -9
  346. package/esm2015/components/tabs/tabs/tabs.component.js +5 -11
  347. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +24 -16
  348. package/esm2015/components/tabs/underline/underline.component.js +2 -2
  349. package/esm2015/components/tag/index.js +2 -1
  350. package/esm2015/components/tag/tag-options.js +15 -0
  351. package/esm2015/components/tag/tag.component.js +13 -9
  352. package/esm2015/components/text-area/text-area.component.js +3 -3
  353. package/esm2015/components/toggle/toggle.component.js +1 -1
  354. package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -1
  355. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  356. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  357. package/esm2015/tokens/index.js +2 -1
  358. package/esm2015/tokens/mobile-aware.js +2 -1
  359. package/esm2015/tokens/tab-margin.js +5 -0
  360. package/esm2015/tokens/tag-status.js +2 -1
  361. package/esm2015/types/key-steps.js +1 -1
  362. package/esm2015/utils/mask/create-time-mask.js +1 -1
  363. package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +1 -1
  364. package/esm2015/utils/miscellaneous/create-time-periods.js +1 -1
  365. package/esm5/abstract/input-slider.js +30 -48
  366. package/esm5/abstract/slider/slider.js +13 -19
  367. package/esm5/components/accordion/accordion-item/accordion-item.component.js +2 -2
  368. package/esm5/components/action/action.component.js +2 -2
  369. package/esm5/components/avatar/avatar-options.js +16 -0
  370. package/esm5/components/avatar/avatar.component.js +14 -8
  371. package/esm5/components/avatar/index.js +2 -1
  372. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  373. package/esm5/components/breadcrumbs/breadcrumbs.component.js +1 -1
  374. package/esm5/components/calendar-month/calendar-month.component.js +2 -2
  375. package/esm5/components/calendar-range/calendar-range.component.js +1 -1
  376. package/esm5/components/carousel/carousel.component.js +2 -2
  377. package/esm5/components/checkbox/checkbox.component.js +1 -1
  378. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +2 -2
  379. package/esm5/components/combo-box/combo-box.component.js +2 -2
  380. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  381. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  382. package/esm5/components/files/file/file.component.js +2 -2
  383. package/esm5/components/files/files.component.js +3 -3
  384. package/esm5/components/filter/filter.component.js +2 -2
  385. package/esm5/components/input/input.component.js +2 -2
  386. package/esm5/components/input-copy/input-copy.component.js +2 -2
  387. package/esm5/components/input-count/input-count.component.js +2 -2
  388. package/esm5/components/input-date/input-date.component.js +2 -2
  389. package/esm5/components/input-date-range/input-date-range.component.js +2 -2
  390. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  391. package/esm5/components/input-file/file/file.component.js +2 -2
  392. package/esm5/components/input-file/input-file.component.js +1 -1
  393. package/esm5/components/input-files/input-files.component.js +2 -2
  394. package/esm5/components/input-month/input-month.component.js +2 -2
  395. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  396. package/esm5/components/input-number/input-number.component.js +11 -8
  397. package/esm5/components/input-password/input-password.component.js +2 -2
  398. package/esm5/components/input-phone/input-phone.component.js +8 -11
  399. package/esm5/components/input-phone-international/input-phone-international.component.js +7 -3
  400. package/esm5/components/input-range/input-range.component.js +194 -157
  401. package/esm5/components/input-range/input-range.module.js +13 -15
  402. package/esm5/components/input-slider/input-slider.component.js +8 -20
  403. package/esm5/components/input-slider/input-slider.module.js +3 -12
  404. package/esm5/components/input-tag/input-tag.component.js +24 -15
  405. package/esm5/components/input-time/input-time.component.js +1 -1
  406. package/esm5/components/marker-icon/marker-icon.component.js +2 -2
  407. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  408. package/esm5/components/multi-select/multi-select-options.js +1 -1
  409. package/esm5/components/multi-select/multi-select.component.js +2 -2
  410. package/esm5/components/pagination/pagination.component.js +2 -2
  411. package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
  412. package/esm5/components/progress/progress-circle/progress-circle.component.js +2 -2
  413. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  414. package/esm5/components/radio/radio.component.js +3 -3
  415. package/esm5/components/radio-list/radio-list.component.js +1 -1
  416. package/esm5/components/range/index.js +2 -1
  417. package/esm5/components/range/range-change.directive.js +101 -0
  418. package/esm5/components/range/range.component.js +126 -29
  419. package/esm5/components/range/range.module.js +10 -7
  420. package/esm5/components/rating/rating.component.js +2 -2
  421. package/esm5/components/select/select.component.js +2 -2
  422. package/esm5/components/slider/index.js +2 -1
  423. package/esm5/components/slider/slider-key-steps.directive.js +23 -2
  424. package/esm5/components/slider/slider-old.component.js +11 -5
  425. package/esm5/components/slider/slider-readonly.directive.js +51 -0
  426. package/esm5/components/slider/slider.component.js +5 -5
  427. package/esm5/components/slider/slider.module.js +4 -1
  428. package/esm5/components/stepper/step/step.component.js +2 -2
  429. package/esm5/components/tabs/index.js +1 -2
  430. package/esm5/components/tabs/tab/tab.component.js +13 -9
  431. package/esm5/components/tabs/tabs/tabs.component.js +5 -15
  432. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +27 -16
  433. package/esm5/components/tabs/underline/underline.component.js +2 -2
  434. package/esm5/components/tag/index.js +2 -1
  435. package/esm5/components/tag/tag-options.js +16 -0
  436. package/esm5/components/tag/tag.component.js +13 -9
  437. package/esm5/components/text-area/text-area.component.js +3 -3
  438. package/esm5/components/toggle/toggle.component.js +1 -1
  439. package/esm5/pipes/field-error/field-error-content-pipe.js +1 -1
  440. package/esm5/pipes/field-error/field-error-pipe.js +1 -1
  441. package/esm5/pipes/filter-by-input/filter-by-input.base.js +1 -1
  442. package/esm5/tokens/index.js +2 -1
  443. package/esm5/tokens/mobile-aware.js +2 -1
  444. package/esm5/tokens/tab-margin.js +5 -0
  445. package/esm5/tokens/tag-status.js +2 -1
  446. package/esm5/types/key-steps.js +1 -1
  447. package/esm5/utils/mask/create-time-mask.js +1 -1
  448. package/esm5/utils/miscellaneous/create-default-day-range-periods.js +1 -1
  449. package/esm5/utils/miscellaneous/create-time-periods.js +1 -1
  450. package/fesm2015/taiga-ui-kit-abstract.js +43 -55
  451. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  452. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  453. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  454. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  455. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  456. package/fesm2015/taiga-ui-kit-components-avatar.js +27 -8
  457. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  458. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  459. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  460. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  461. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  462. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  463. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  464. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  465. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +1 -1
  466. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  467. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  468. package/fesm2015/taiga-ui-kit-components-combo-box.js +1 -1
  469. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  470. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  471. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  472. package/fesm2015/taiga-ui-kit-components-files.js +3 -3
  473. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  474. package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
  475. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  476. package/fesm2015/taiga-ui-kit-components-input-copy.js +1 -1
  477. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  478. package/fesm2015/taiga-ui-kit-components-input-count.js +1 -1
  479. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  480. package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
  481. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  482. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  483. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  484. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  485. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  486. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  487. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  488. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  489. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  490. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  491. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  492. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  493. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  494. package/fesm2015/taiga-ui-kit-components-input-number.js +10 -7
  495. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  496. package/fesm2015/taiga-ui-kit-components-input-password.js +1 -1
  497. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  498. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +6 -2
  499. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  500. package/fesm2015/taiga-ui-kit-components-input-phone.js +7 -10
  501. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  502. package/fesm2015/taiga-ui-kit-components-input-range.js +198 -167
  503. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  504. package/fesm2015/taiga-ui-kit-components-input-slider.js +8 -29
  505. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  506. package/fesm2015/taiga-ui-kit-components-input-tag.js +24 -15
  507. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  508. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  509. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  510. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  511. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  512. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  513. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -1
  514. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  515. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  516. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  517. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  518. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  519. package/fesm2015/taiga-ui-kit-components-progress.js +2 -2
  520. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  521. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  522. package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
  523. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  524. package/fesm2015/taiga-ui-kit-components-range.js +199 -34
  525. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  526. package/fesm2015/taiga-ui-kit-components-rating.js +1 -1
  527. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  528. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  529. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  530. package/fesm2015/taiga-ui-kit-components-slider.js +77 -10
  531. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  532. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  533. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  534. package/fesm2015/taiga-ui-kit-components-tabs.js +39 -34
  535. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  536. package/fesm2015/taiga-ui-kit-components-tag.js +27 -10
  537. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  538. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  539. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  540. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  541. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  542. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  543. package/fesm2015/taiga-ui-kit-tokens.js +7 -1
  544. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  546. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  547. package/fesm5/taiga-ui-kit-abstract.js +43 -66
  548. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  549. package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
  550. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  551. package/fesm5/taiga-ui-kit-components-action.js +1 -1
  552. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  553. package/fesm5/taiga-ui-kit-components-avatar.js +27 -8
  554. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  555. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  556. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  557. package/fesm5/taiga-ui-kit-components-calendar-month.js +1 -1
  558. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  559. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  560. package/fesm5/taiga-ui-kit-components-carousel.js +1 -1
  561. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  562. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +1 -1
  563. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  564. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  565. package/fesm5/taiga-ui-kit-components-combo-box.js +1 -1
  566. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  567. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  568. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  569. package/fesm5/taiga-ui-kit-components-files.js +3 -3
  570. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  571. package/fesm5/taiga-ui-kit-components-filter.js +1 -1
  572. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  573. package/fesm5/taiga-ui-kit-components-input-copy.js +1 -1
  574. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  575. package/fesm5/taiga-ui-kit-components-input-count.js +1 -1
  576. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  577. package/fesm5/taiga-ui-kit-components-input-date-range.js +1 -1
  578. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  579. package/fesm5/taiga-ui-kit-components-input-date-time.js +1 -1
  580. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  581. package/fesm5/taiga-ui-kit-components-input-date.js +1 -1
  582. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  583. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  584. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  585. package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
  586. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  587. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  588. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  589. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  590. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  591. package/fesm5/taiga-ui-kit-components-input-number.js +10 -7
  592. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  593. package/fesm5/taiga-ui-kit-components-input-password.js +1 -1
  594. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  595. package/fesm5/taiga-ui-kit-components-input-phone-international.js +6 -2
  596. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  597. package/fesm5/taiga-ui-kit-components-input-phone.js +7 -10
  598. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  599. package/fesm5/taiga-ui-kit-components-input-range.js +200 -168
  600. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  601. package/fesm5/taiga-ui-kit-components-input-slider.js +8 -29
  602. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  603. package/fesm5/taiga-ui-kit-components-input-tag.js +24 -15
  604. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  606. package/fesm5/taiga-ui-kit-components-input.js +1 -1
  607. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  608. package/fesm5/taiga-ui-kit-components-marker-icon.js +1 -1
  609. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  610. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -1
  611. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  612. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  613. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  614. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
  615. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  616. package/fesm5/taiga-ui-kit-components-progress.js +2 -2
  617. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  618. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-radio.js +2 -2
  620. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  621. package/fesm5/taiga-ui-kit-components-range.js +225 -35
  622. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  623. package/fesm5/taiga-ui-kit-components-rating.js +1 -1
  624. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  625. package/fesm5/taiga-ui-kit-components-select.js +1 -1
  626. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  627. package/fesm5/taiga-ui-kit-components-slider.js +86 -10
  628. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  629. package/fesm5/taiga-ui-kit-components-stepper.js +1 -1
  630. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  631. package/fesm5/taiga-ui-kit-components-tabs.js +42 -38
  632. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  633. package/fesm5/taiga-ui-kit-components-tag.js +28 -11
  634. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  635. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  636. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-components-toggle.js +1 -1
  638. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  639. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  640. package/fesm5/taiga-ui-kit-tokens.js +7 -1
  641. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  643. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  644. package/package.json +4 -4
  645. package/pipes/field-error/field-error-content-pipe.d.ts +1 -1
  646. package/pipes/field-error/field-error-pipe.d.ts +1 -1
  647. package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
  648. package/tokens/index.d.ts +1 -0
  649. package/tokens/mobile-aware.d.ts +1 -0
  650. package/tokens/tab-margin.d.ts +2 -0
  651. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  652. package/types/key-steps.d.ts +1 -1
  653. package/utils/miscellaneous/create-default-day-range-periods.d.ts +1 -1
  654. package/utils/miscellaneous/create-time-periods.d.ts +1 -1
  655. package/components/tabs/tabs.const.d.ts +0 -2
  656. package/esm2015/components/tabs/tabs.const.js +0 -3
  657. package/esm5/components/tabs/tabs.const.js +0 -3
@@ -1,13 +1,13 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { AfterViewChecked, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Inject, Input, Output, QueryList, Renderer2, } from '@angular/core';
3
3
  import { MUTATION_OBSERVER_INIT, MutationObserverService, } from '@ng-web-apis/mutation-observer';
4
- import { EMPTY_QUERY, itemsQueryListObservable, moveFocus, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, TuiDestroyService, tuiPure, TuiResizeService, } from '@taiga-ui/cdk';
4
+ import { EMPTY_QUERY, moveFocus, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, TuiDestroyService, TuiResizeService, } from '@taiga-ui/cdk';
5
5
  import { TUI_MOBILE_AWARE } from '@taiga-ui/kit/tokens';
6
6
  import { Observable } from 'rxjs';
7
- import { filter, mapTo } from 'rxjs/operators';
7
+ import { filter } from 'rxjs/operators';
8
8
  import { TuiTabComponent } from '../tab/tab.component';
9
9
  import { TUI_TAB_ACTIVATE } from '../tab/tab.providers';
10
- import { TAB_ACTIVE_CLASS } from '../tabs.const';
10
+ const TAB_ACTIVE_CLASS = '_active';
11
11
  // TODO: remove in ivy compilation
12
12
  export const OBSERVER_INIT = {
13
13
  childList: true,
@@ -31,9 +31,6 @@ let TuiTabsComponent = class TuiTabsComponent {
31
31
  this.activeItemIndex = index;
32
32
  this.scrollTo(this.tabs[index]);
33
33
  }
34
- get refresh$() {
35
- return itemsQueryListObservable(this.children).pipe(mapTo(true));
36
- }
37
34
  get tabs() {
38
35
  return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiTab]'));
39
36
  }
@@ -108,9 +105,6 @@ __decorate([
108
105
  __decorate([
109
106
  HostBinding('class._android')
110
107
  ], TuiTabsComponent.prototype, "isAndroid", void 0);
111
- __decorate([
112
- tuiPure
113
- ], TuiTabsComponent.prototype, "refresh$", null);
114
108
  __decorate([
115
109
  HostListener(`${TUI_TAB_ACTIVATE}.stop`, ['$event.target'])
116
110
  ], TuiTabsComponent.prototype, "onActivate", null);
@@ -121,7 +115,7 @@ __decorate([
121
115
  TuiTabsComponent = __decorate([
122
116
  Component({
123
117
  selector: 'tui-tabs, nav[tuiTabs]',
124
- template: "<tui-underline\n *ngIf=\"underline && (refresh$ | async)\"\n [element]=\"activeElement\"\n></tui-underline>\n<ng-content></ng-content>\n",
118
+ template: "<ng-container *ngIf=\"children.changes | async\"></ng-container>\n<tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n></tui-underline>\n<ng-content></ng-content>\n",
125
119
  changeDetection: ChangeDetectionStrategy.OnPush,
126
120
  providers: [
127
121
  TuiDestroyService,
@@ -143,4 +137,4 @@ TuiTabsComponent = __decorate([
143
137
  __param(6, Inject(TUI_MOBILE_AWARE))
144
138
  ], TuiTabsComponent);
145
139
  export { TuiTabsComponent };
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicy8iLCJzb3VyY2VzIjpbInRhYnMvdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLHVCQUF1QixHQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxjQUFjLEVBQ2QsVUFBVSxFQUNWLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsT0FBTyxFQUNQLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxrQ0FBa0M7QUFDbEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLFNBQVMsRUFBRSxJQUFJO0NBQ2xCLENBQUM7QUFFRixXQUFXO0FBZ0JYLElBQWEsZ0JB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QUFXLENBQUMsWUFBWSxDQUFDOytDQUNGO0FBR3hCO0lBREMsV0FBVyxDQUFDLGdCQUFnQixDQUFDO21EQUNGO0FBc0I1QjtJQURDLE9BQU87Z0RBR1A7QUFhRDtJQURDLFlBQVksQ0FBQyxHQUFHLGdCQUFnQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztrREFVM0Q7QUFJRDtJQUZDLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7c0RBS2xFO0FBNUVRLGdCQUFnQjtJQWY1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLDBKQUFtQztRQUVuQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUCxpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2QjtnQkFDSSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsYUFBYTthQUMxQjtTQUNKOztLQUNKLENBQUM7SUE0Qk8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3RCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7R0FqQ3BCLGdCQUFnQixDQWdINUI7U0FoSFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTVVUQVRJT05fT0JTRVJWRVJfSU5JVCxcbiAgICBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbn0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLFxuICAgIG1vdmVGb2N1cyxcbiAgICBUVUlfSVNfQU5EUk9JRCxcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpUmVzaXplU2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9NT0JJTEVfQVdBUkV9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlUYWJDb21wb25lbnR9IGZyb20gJy4uL3RhYi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX1RBQl9BQ1RJVkFURX0gZnJvbSAnLi4vdGFiL3RhYi5wcm92aWRlcnMnO1xuaW1wb3J0IHtUQUJfQUNUSVZFX0NMQVNTfSBmcm9tICcuLi90YWJzLmNvbnN0JztcblxuLy8gVE9ETzogcmVtb3ZlIGluIGl2eSBjb21waWxhdGlvblxuZXhwb3J0IGNvbnN0IE9CU0VSVkVSX0lOSVQgPSB7XG4gICAgY2hpbGRMaXN0OiB0cnVlLFxufTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXRhYnMsIG5hdlt0dWlUYWJzXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlSZXNpemVTZXJ2aWNlLFxuICAgICAgICBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTVVUQVRJT05fT0JTRVJWRVJfSU5JVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBPQlNFUlZFUl9JTklULFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVHVpVGFiQ29tcG9uZW50KSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuOiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fdW5kZXJsaW5lJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuZGVybGluZSA9IHRydWU7XG5cbiAgICBASW5wdXQoJ2FjdGl2ZUl0ZW1JbmRleCcpXG4gICAgc2V0IGFjdGl2ZUl0ZW1JbmRleFNldHRlcihpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8odGhpcy50YWJzW2luZGV4XSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pb3MnKVxuICAgIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYW5kcm9pZCcpXG4gICAgcmVhZG9ubHkgaXNBbmRyb2lkOiBib29sZWFuO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKSBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlSZXNpemVTZXJ2aWNlKSByZXNpemUkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19BTkRST0lEKSBpc0FuZHJvaWQ6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PQklMRV9BV0FSRSkgbW9iaWxlQXdhcmU6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaXNJb3MgPSBtb2JpbGVBd2FyZSAmJiBpc0lvcztcbiAgICAgICAgdGhpcy5pc0FuZHJvaWQgPSBtb2JpbGVBd2FyZSAmJiBpc0FuZHJvaWQ7XG5cbiAgICAgICAgcmVzaXplJC5waXBlKGZpbHRlcigoKSA9PiB0aGlzLnVuZGVybGluZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IHJlZnJlc2gkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMuY2hpbGRyZW4pLnBpcGUobWFwVG8odHJ1ZSkpO1xuICAgIH1cblxuICAgIGdldCB0YWJzKCk6IFJlYWRvbmx5QXJyYXk8SFRNTEVsZW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignW3R1aVRhYl0nKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzW3RoaXMuYWN0aXZlSXRlbUluZGV4XSB8fCBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYCR7VFVJX1RBQl9BQ1RJVkFURX0uc3RvcGAsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uQWN0aXZhdGUoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRhYnMuZmluZEluZGV4KHRhYiA9PiB0YWIgPT09IGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4U2V0dGVyID0gaW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dSaWdodC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJzEnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgb25LZXlEb3duQXJyb3coY3VycmVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcikge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuXG4gICAgICAgIG1vdmVGb2N1cyh0YWJzLmluZGV4T2YoY3VycmVudCksIHRhYnMsIHN0ZXApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUVsZW1lbnR9ID0gdGhpcztcblxuICAgICAgICB0YWJzLmZvckVhY2gobmF0aXZlRWxlbWVudCA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsZW1lbnQsIFRBQl9BQ1RJVkVfQ0xBU1MpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUobmF0aXZlRWxlbWVudCwgJ3RhYkluZGV4JywgJy0xJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChhY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGFjdGl2ZUVsZW1lbnQsIFRBQl9BQ1RJVkVfQ0xBU1MpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYWN0aXZlRWxlbWVudCwgJ3RhYkluZGV4JywgJzAnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2Nyb2xsVG8oZWxlbWVudD86IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge29mZnNldExlZnQsIG9mZnNldFdpZHRofSA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVFbGVtZW50fSA9IHRoaXMuZWxlbWVudFJlZjtcblxuICAgICAgICBpZiAob2Zmc2V0TGVmdCA8IG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCkge1xuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gb2Zmc2V0TGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCA+XG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyBuYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoXG4gICAgICAgICkge1xuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID1cbiAgICAgICAgICAgICAgICBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGggLSBuYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicy8iLCJzb3VyY2VzIjpbInRhYnMvdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLHVCQUF1QixHQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULGNBQWMsRUFDZCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBRW5DLGtDQUFrQztBQUNsQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsU0FBUyxFQUFFLElBQUk7Q0FDbEIsQ0FBQztBQUVGLFdBQVc7QUFnQlgsSUFBYSxnQkFBZ0IsR0FBN0IsTUFBYSxnQkFBZ0I7SUEwQnpCLFlBQ3lDLFVBQW1DLEVB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QkFBNEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRSxZQUFZLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7c0RBS2xFO0FBdkVRLGdCQUFnQjtJQWY1QixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLHNNQUFtQztRQUVuQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUCxpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtZQUN2QjtnQkFDSSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsYUFBYTthQUMxQjtTQUNKOztLQUNKLENBQUM7SUE0Qk8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3RCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7R0FqQ3BCLGdCQUFnQixDQTJHNUI7U0EzR1ksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgTVVUQVRJT05fT0JTRVJWRVJfSU5JVCxcbiAgICBNdXRhdGlvbk9ic2VydmVyU2VydmljZSxcbn0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgbW92ZUZvY3VzLFxuICAgIFRVSV9JU19BTkRST0lELFxuICAgIFRVSV9JU19JT1MsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpUmVzaXplU2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9NT0JJTEVfQVdBUkV9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVRhYkNvbXBvbmVudH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUVUlfVEFCX0FDVElWQVRFfSBmcm9tICcuLi90YWIvdGFiLnByb3ZpZGVycyc7XG5cbmNvbnN0IFRBQl9BQ1RJVkVfQ0xBU1MgPSAnX2FjdGl2ZSc7XG5cbi8vIFRPRE86IHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBPQlNFUlZFUl9JTklUID0ge1xuICAgIGNoaWxkTGlzdDogdHJ1ZSxcbn07XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS10YWJzLCBuYXZbdHVpVGFic10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJzLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYnMuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgVHVpUmVzaXplU2VydmljZSxcbiAgICAgICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE1VVEFUSU9OX09CU0VSVkVSX0lOSVQsXG4gICAgICAgICAgICB1c2VWYWx1ZTogT0JTRVJWRVJfSU5JVCxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJzQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aVRhYkNvbXBvbmVudCkpXG4gICAgcmVhZG9ubHkgY2hpbGRyZW46IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl91bmRlcmxpbmUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5kZXJsaW5lID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgnYWN0aXZlSXRlbUluZGV4JylcbiAgICBzZXQgYWN0aXZlSXRlbUluZGV4U2V0dGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5zY3JvbGxUbyh0aGlzLnRhYnNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2lvcycpXG4gICAgcmVhZG9ubHkgaXNJb3M6IGJvb2xlYW47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9hbmRyb2lkJylcbiAgICByZWFkb25seSBpc0FuZHJvaWQ6IGJvb2xlYW47XG5cbiAgICBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVJlc2l6ZVNlcnZpY2UpIHJlc2l6ZSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgaXNJb3M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0FORFJPSUQpIGlzQW5kcm9pZDogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfTU9CSUxFX0FXQVJFKSBtb2JpbGVBd2FyZTogYm9vbGVhbixcbiAgICApIHtcbiAgICAgICAgdGhpcy5pc0lvcyA9IG1vYmlsZUF3YXJlICYmIGlzSW9zO1xuICAgICAgICB0aGlzLmlzQW5kcm9pZCA9IG1vYmlsZUF3YXJlICYmIGlzQW5kcm9pZDtcblxuICAgICAgICByZXNpemUkLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMudW5kZXJsaW5lKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHRhYnMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ1t0dWlUYWJdJyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFic1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gfHwgbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGAke1RVSV9UQUJfQUNUSVZBVEV9LnN0b3BgLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBvbkFjdGl2YXRlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy50YWJzLmZpbmRJbmRleCh0YWIgPT4gdGFiID09PSBlbGVtZW50KTtcblxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleFNldHRlciA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5lbWl0KGluZGV4KTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93UmlnaHQucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICctMSddKVxuICAgIG9uS2V5RG93bkFycm93KGN1cnJlbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3Qge3RhYnN9ID0gdGhpcztcblxuICAgICAgICBtb3ZlRm9jdXModGFicy5pbmRleE9mKGN1cnJlbnQpLCB0YWJzLCBzdGVwKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGNvbnN0IHt0YWJzLCBhY3RpdmVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgdGFicy5mb3JFYWNoKG5hdGl2ZUVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhuYXRpdmVFbGVtZW50LCBUQUJfQUNUSVZFX0NMQVNTKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5hdGl2ZUVsZW1lbnQsICd0YWJJbmRleCcsICctMScpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYWN0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhhY3RpdmVFbGVtZW50LCBUQUJfQUNUSVZFX0NMQVNTKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGFjdGl2ZUVsZW1lbnQsICd0YWJJbmRleCcsICcwJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvKGVsZW1lbnQ/OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtvZmZzZXRMZWZ0LCBvZmZzZXRXaWR0aH0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSB0aGlzLmVsZW1lbnRSZWY7XG5cbiAgICAgICAgaWYgKG9mZnNldExlZnQgPCBuYXRpdmVFbGVtZW50LnNjcm9sbExlZnQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IG9mZnNldExlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBvZmZzZXRMZWZ0ICsgb2Zmc2V0V2lkdGggPlxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgbmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aFxuICAgICAgICApIHtcbiAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9XG4gICAgICAgICAgICAgICAgb2Zmc2V0TGVmdCArIG9mZnNldFdpZHRoIC0gbmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,22 +1,23 @@
1
1
  import { __decorate, __param } from "tslib";
2
2
  import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, Inject, Input, Output, QueryList, TemplateRef, ViewChild, } from '@angular/core';
3
3
  import { EMPTY_QUERY, getClosestFocusable, isNativeFocused, setNativeFocused, toInt, tuiDefaultProp, } from '@taiga-ui/cdk';
4
- import { TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
4
+ import { TUI_MORE_WORD, TUI_TAB_MARGIN } from '@taiga-ui/kit/tokens';
5
5
  import { Observable } from 'rxjs';
6
6
  import { filter, map } from 'rxjs/operators';
7
7
  import { TuiTabDirective } from '../tab.directive';
8
8
  import { TuiTabComponent } from '../tab/tab.component';
9
- import { TAB_MARGIN } from '../tabs.const';
10
9
  import { TABS_PROVIDERS, TABS_REFRESH } from './tabs-with-more.providers';
11
10
  // @dynamic
12
11
  let TuiTabsWithMoreComponent = class TuiTabsWithMoreComponent {
13
- constructor(refresh$, elementRef, changeDetectorRef, moreWord$) {
12
+ constructor(margin, refresh$, elementRef, changeDetectorRef, moreWord$) {
13
+ this.margin = margin;
14
14
  this.refresh$ = refresh$;
15
15
  this.elementRef = elementRef;
16
16
  this.changeDetectorRef = changeDetectorRef;
17
17
  this.moreWord$ = moreWord$;
18
18
  this.maxIndex = Infinity;
19
19
  this.moreContent = '';
20
+ this.dropdownContent = '';
20
21
  this.underline = true;
21
22
  this.activeItemIndex = 0;
22
23
  this.itemsLimit = Infinity;
@@ -24,6 +25,7 @@ let TuiTabsWithMoreComponent = class TuiTabsWithMoreComponent {
24
25
  this.items = EMPTY_QUERY;
25
26
  this.open = false;
26
27
  }
28
+ // TODO: Improve performance
27
29
  get tabs() {
28
30
  return Array.from(this.elementRef.nativeElement.querySelectorAll('[tuiTab]'));
29
31
  }
@@ -87,7 +89,7 @@ let TuiTabsWithMoreComponent = class TuiTabsWithMoreComponent {
87
89
  }
88
90
  }
89
91
  getMaxIndex() {
90
- const { tabs, activeItemIndex } = this;
92
+ const { tabs, activeItemIndex, margin } = this;
91
93
  if (tabs.length < 2) {
92
94
  return 0;
93
95
  }
@@ -95,18 +97,18 @@ let TuiTabsWithMoreComponent = class TuiTabsWithMoreComponent {
95
97
  const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;
96
98
  const moreWidth = tabs[tabs.length - 1].scrollWidth;
97
99
  let maxIndex = tabs.length - 2;
98
- let total = tabs.reduce((acc, tab) => acc + tab.scrollWidth, 0) +
99
- maxIndex * TAB_MARGIN -
100
+ let total = tabs.reduce((acc, { scrollWidth }) => acc + scrollWidth, 0) +
101
+ maxIndex * margin -
100
102
  moreWidth;
101
103
  if (total <= clientWidth) {
102
104
  return Infinity;
103
105
  }
104
106
  while (maxIndex) {
105
- total -= tabs[maxIndex].scrollWidth + TAB_MARGIN;
107
+ total -= tabs[maxIndex].scrollWidth + margin;
106
108
  maxIndex--;
107
109
  const activeDisplaced = activeItemIndex > maxIndex;
108
- const activeOffset = activeDisplaced ? activeWidth + TAB_MARGIN : 0;
109
- const currentWidth = total + activeOffset + moreWidth + TAB_MARGIN;
110
+ const activeOffset = activeDisplaced ? activeWidth + margin : 0;
111
+ const currentWidth = total + activeOffset + moreWidth + margin;
110
112
  // Needed for different rounding of visible and hidden elements scrollWidth
111
113
  const safetyOffset = toInt(this.maxIndex === maxIndex - 1);
112
114
  if (currentWidth + safetyOffset < clientWidth) {
@@ -125,6 +127,7 @@ let TuiTabsWithMoreComponent = class TuiTabsWithMoreComponent {
125
127
  }
126
128
  };
127
129
  TuiTabsWithMoreComponent.ctorParameters = () => [
130
+ { type: Number, decorators: [{ type: Inject, args: [TUI_TAB_MARGIN,] }] },
128
131
  { type: Observable, decorators: [{ type: Inject, args: [TABS_REFRESH,] }] },
129
132
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
130
133
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
@@ -137,6 +140,10 @@ __decorate([
137
140
  Input(),
138
141
  tuiDefaultProp()
139
142
  ], TuiTabsWithMoreComponent.prototype, "moreContent", void 0);
143
+ __decorate([
144
+ Input(),
145
+ tuiDefaultProp()
146
+ ], TuiTabsWithMoreComponent.prototype, "dropdownContent", void 0);
140
147
  __decorate([
141
148
  Input(),
142
149
  HostBinding('class._underline'),
@@ -159,15 +166,16 @@ __decorate([
159
166
  TuiTabsWithMoreComponent = __decorate([
160
167
  Component({
161
168
  selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',
162
- template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"wrapper\">\n <tui-tabs\n class=\"tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event.target)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div\n class=\"overflown\"\n [class.overflown_hidden]=\"index !== activeItemIndex\"\n >\n <ng-container *ngTemplateOutlet=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"more_wrapper\"\n [class.overflown_hidden]=\"!isMoreVisible\"\n [content]=\"dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n class=\"more\"\n [class._active]=\"open\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <span polymorpheus-outlet [content]=\"moreContent || more\"></span>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"icon\"\n [class.icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event.target, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event.target, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"index > lastVisibleIndex && index !== activeItemIndex\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline *ngIf=\"underline\" [element]=\"activeElement\"></tui-underline>\n</div>\n",
169
+ template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event.target)\"\n >\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n <ng-template #hidden>\n <div [class.t-overflown]=\"index !== activeItemIndex\">\n <ng-container *ngTemplateOutlet=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n class=\"t-more\"\n [class._active]=\"open\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <span\n polymorpheus-outlet\n [content]=\"moreContent || more\"\n ></span>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event.target, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event.target, element, false)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container\n *ngIf=\"index > lastVisibleIndex && index !== activeItemIndex\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n",
163
170
  changeDetection: ChangeDetectionStrategy.OnPush,
164
171
  providers: TABS_PROVIDERS,
165
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.wrapper{position:relative;display:flex}.tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.overflown{margin-right:1.5rem}.overflown_hidden{margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.more_wrapper{height:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.icon_rotated{transform:rotate(180deg)}.dropdown{padding:.5rem 0}.dropdown ::ng-deep [tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.dropdown ::ng-deep [tuiTab]:before{display:none}.dropdown ::ng-deep [tuiTab]._active,.dropdown ::ng-deep [tuiTab]:focus,.dropdown ::ng-deep [tuiTab]:hover{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}"]
172
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%}.t-more{margin:0}.t-icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep [tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep [tuiTab]:before{display:none}.t-dropdown ::ng-deep [tuiTab]._active,.t-dropdown ::ng-deep [tuiTab]:focus,.t-dropdown ::ng-deep [tuiTab]:hover{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}"]
166
173
  }),
167
- __param(0, Inject(TABS_REFRESH)),
168
- __param(1, Inject(ElementRef)),
169
- __param(2, Inject(ChangeDetectorRef)),
170
- __param(3, Inject(TUI_MORE_WORD))
174
+ __param(0, Inject(TUI_TAB_MARGIN)),
175
+ __param(1, Inject(TABS_REFRESH)),
176
+ __param(2, Inject(ElementRef)),
177
+ __param(3, Inject(ChangeDetectorRef)),
178
+ __param(4, Inject(TUI_MORE_WORD))
171
179
  ], TuiTabsWithMoreComponent);
172
180
  export { TuiTabsWithMoreComponent };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMvIiwic291cmNlcyI6WyJ0YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RSxXQUFXO0FBUVgsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUErQmpDLFlBQzJDLFFBQTZCLEVBQy9CLFVBQW1DLEVBQzVCLGlCQUFvQyxFQUNoRCxTQUE2QjtRQUh0QixhQUFRLEdBQVIsUUFBUSxDQUFx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b25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgdG9JbnQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfTU9SRV9XT1JEfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aVRhYkRpcmVjdGl2ZX0gZnJvbSAnLi4vdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVRhYkNvbXBvbmVudH0gZnJvbSAnLi4vdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUQUJfTUFSR0lOfSBmcm9tICcuLi90YWJzLmNvbnN0JztcbmltcG9ydCB7VEFCU19QUk9WSURFUlMsIFRBQlNfUkVGUkVTSH0gZnJvbSAnLi90YWJzLXdpdGgtbW9yZS5wcm92aWRlcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktdGFicy13aXRoLW1vcmUsIG5hdlt0dWlUYWJzV2l0aE1vcmVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy13aXRoLW1vcmUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy13aXRoLW1vcmUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVEFCU19QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYnNXaXRoTW9yZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoVHVpVGFiQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb3JlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICBwcml2YXRlIG1heEluZGV4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbW9yZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fdW5kZXJsaW5lJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHVuZGVybGluZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtc0xpbWl0ID0gSW5maW5pdHk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpVGFiRGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGl0ZW1zOiBRdWVyeUxpc3Q8VGVtcGxhdGVSZWY8e30+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVEFCU19SRUZSRVNIKSBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9NT1JFX1dPUkQpIHJlYWRvbmx5IG1vcmVXb3JkJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge31cblxuICAgIGdldCB0YWJzKCk6IFJlYWRvbmx5QXJyYXk8SFRNTEVsZW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb208SFRNTEVsZW1lbnQ+KFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW3R1aVRhYl0nKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJzW3RoaXMuYWN0aXZlSXRlbUluZGV4XSB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCBpc01vcmVWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIGdldCBpc01vcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubW9yZUJ1dHRvbiAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5tb3JlQnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBsYXN0VmlzaWJsZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zTGltaXQgKyAxID49IHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXhJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA/IDEgOiAyO1xuXG4gICAgICAgIHJldHVybiBNYXRoLm1pbih0aGlzLml0ZW1zTGltaXQgLSBvZmZzZXQsIHRoaXMubWF4SW5kZXgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0TWF4SW5kZXgoKSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKG1heEluZGV4ID0+IHRoaXMubWF4SW5kZXggIT09IG1heEluZGV4KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobWF4SW5kZXggPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4SW5kZXggPSBtYXhJbmRleDtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQWN0aXZlSXRlbUluZGV4Q2hhbmdlKGFjdGl2ZUl0ZW1JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGFjdGl2ZUl0ZW1JbmRleCk7XG4gICAgfVxuXG4gICAgb25DbGljayhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChpbmRleCk7XG4gICAgfVxuXG4gICAgb25BcnJvd1JpZ2h0KGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChpc05hdGl2ZUZvY3VzZWQoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNNb3JlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFycm93TGVmdCgpIHtcbiAgICAgICAgY29uc3Qge3RhYnN9ID0gdGhpcztcbiAgICAgICAgbGV0IGluZGV4ID0gdGFicy5sZW5ndGggLSAyO1xuXG4gICAgICAgIHdoaWxlIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRhYnNbaW5kZXhdKTtcblxuICAgICAgICAgICAgaWYgKGlzTmF0aXZlRm9jdXNlZCh0YWJzW2luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluZGV4LS07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbldyYXBwZXJBcnJvdyhidXR0b246IEhUTUxCdXR0b25FbGVtZW50LCB3cmFwcGVyOiBIVE1MRWxlbWVudCwgcHJldjogYm9vbGVhbikge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBnZXRDbG9zZXN0Rm9jdXNhYmxlKGJ1dHRvbiwgcHJldiwgd3JhcHBlcik7XG5cbiAgICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YXJnZXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c01vcmUoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vcmVCdXR0b24pIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5tb3JlQnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhJbmRleCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7dGFicywgYWN0aXZlSXRlbUluZGV4fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVdpZHRoID0gdGFic1thY3RpdmVJdGVtSW5kZXhdID8gdGFic1thY3RpdmVJdGVtSW5kZXhdLnNjcm9sbFdpZHRoIDogMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gdGFic1t0YWJzLmxlbmd0aCAtIDFdLnNjcm9sbFdpZHRoO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB0YWIpID0+IGFjYyArIHRhYi5zY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBUQUJfTUFSR0lOIC1cbiAgICAgICAgICAgIG1vcmVXaWR0aDtcblxuICAgICAgICBpZiAodG90YWwgPD0gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChtYXhJbmRleCkge1xuICAgICAgICAgICAgdG90YWwgLT0gdGFic1ttYXhJbmRleF0uc2Nyb2xsV2lkdGggKyBUQUJfTUFSR0lOO1xuICAgICAgICAgICAgbWF4SW5kZXgtLTtcblxuICAgICAgICAgICAgY29uc3QgYWN0aXZlRGlzcGxhY2VkID0gYWN0aXZlSXRlbUluZGV4ID4gbWF4SW5kZXg7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVPZmZzZXQgPSBhY3RpdmVEaXNwbGFjZWQgPyBhY3RpdmVXaWR0aCArIFRBQl9NQVJHSU4gOiAwO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFdpZHRoID0gdG90YWwgKyBhY3RpdmVPZmZzZXQgKyBtb3JlV2lkdGggKyBUQUJfTUFSR0lOO1xuICAgICAgICAgICAgLy8gTmVlZGVkIGZvciBkaWZmZXJlbnQgcm91bmRpbmcgb2YgdmlzaWJsZSBhbmQgaGlkZGVuIGVsZW1lbnRzIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBjb25zdCBzYWZldHlPZmZzZXQgPSB0b0ludCh0aGlzLm1heEluZGV4ID09PSBtYXhJbmRleCAtIDEpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoICsgc2FmZXR5T2Zmc2V0IDwgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IGFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBhY3RpdmVJdGVtSW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLmVtaXQoYWN0aXZlSXRlbUluZGV4KTtcbiAgICAgICAgdGhpcy5tYXhJbmRleCA9IHRoaXMuZ2V0TWF4SW5kZXgoKTtcbiAgICB9XG59XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMvIiwic291cmNlcyI6WyJ0YWJzLXdpdGgtbW9yZS90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsS0FBSyxFQUdMLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXhFLFdBQVc7QUFRWCxJQUFhLHdCQUF3QixHQUFyQyxNQUFhLHdCQUF3QjtJQW9DakMsWUFDNkMsTUFBYyxFQUNoQixRQUE2QixFQUMvQixVQUFtQyxFQUM1QixpQkFBb0MsRUFDaEQsU0FBNkI7UUFKcEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQixhQUFRLEdBQVIsUUFB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QkFBaUIsQ0FBQyxDQUFBO0lBQ3pCLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0dBekNqQix3QkFBd0IsQ0FpTHBDO1NBakxZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgdG9JbnQsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX01PUkVfV09SRCwgVFVJX1RBQl9NQVJHSU59IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpVGFiRGlyZWN0aXZlfSBmcm9tICcuLi90YWIuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpVGFiQ29tcG9uZW50fSBmcm9tICcuLi90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1RBQlNfUFJPVklERVJTLCBUQUJTX1JFRlJFU0h9IGZyb20gJy4vdGFicy13aXRoLW1vcmUucHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXRhYnMtd2l0aC1tb3JlLCBuYXZbdHVpVGFic1dpdGhNb3JlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYnMtd2l0aC1tb3JlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRBQlNfUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWJzV2l0aE1vcmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKFR1aVRhYkNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9yZUJ1dHRvbj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBtYXhJbmRleCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1vcmVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZHJvcGRvd25Db250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT4+ID1cbiAgICAgICAgJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3VuZGVybGluZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB1bmRlcmxpbmUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXNMaW1pdCA9IEluZmluaXR5O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aVRhYkRpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPHt9Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9UQUJfTUFSR0lOKSBwcml2YXRlIHJlYWRvbmx5IG1hcmdpbjogbnVtYmVyLFxuICAgICAgICBASW5qZWN0KFRBQlNfUkVGUkVTSCkgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9SRV9XT1JEKSByZWFkb25seSBtb3JlV29yZCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICApIHt9XG5cbiAgICAvLyBUT0RPOiBJbXByb3ZlIHBlcmZvcm1hbmNlXG4gICAgZ2V0IHRhYnMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tPEhUTUxFbGVtZW50PihcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1t0dWlUYWJdJyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFic1t0aGlzLmFjdGl2ZUl0ZW1JbmRleF0gfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgbGFzdFZpc2libGVJbmRleCgpOiBudW1iZXIge1xuICAgICAgICBpZiAodGhpcy5pdGVtc0xpbWl0ICsgMSA+PSB0aGlzLml0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWF4SW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLml0ZW1zTGltaXQgLSAxID4gdGhpcy5hY3RpdmVJdGVtSW5kZXggPyAxIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmdldE1heEluZGV4KCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihtYXhJbmRleCA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKG1heEluZGV4ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1heEluZGV4ID0gbWF4SW5kZXg7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5mb2N1c01vcmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIG9uQXJyb3dSaWdodChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBpZiAoaXNOYXRpdmVGb2N1c2VkKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0xlZnQoKSB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGxldCBpbmRleCA9IHRhYnMubGVuZ3RoIC0gMjtcblxuICAgICAgICB3aGlsZSAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0YWJzW2luZGV4XSk7XG5cbiAgICAgICAgICAgIGlmIChpc05hdGl2ZUZvY3VzZWQodGFic1tpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmRleC0tO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25XcmFwcGVyQXJyb3coYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCwgd3JhcHBlcjogSFRNTEVsZW1lbnQsIHByZXY6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZ2V0Q2xvc2VzdEZvY3VzYWJsZShidXR0b24sIHByZXYsIHdyYXBwZXIpO1xuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNNb3JlKCkge1xuICAgICAgICBpZiAodGhpcy5tb3JlQnV0dG9uKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUl0ZW1JbmRleCwgbWFyZ2lufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVdpZHRoID0gdGFic1thY3RpdmVJdGVtSW5kZXhdID8gdGFic1thY3RpdmVJdGVtSW5kZXhdLnNjcm9sbFdpZHRoIDogMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gdGFic1t0YWJzLmxlbmd0aCAtIDFdLnNjcm9sbFdpZHRoO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB7c2Nyb2xsV2lkdGh9KSA9PiBhY2MgKyBzY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBtYXJnaW4gLVxuICAgICAgICAgICAgbW9yZVdpZHRoO1xuXG4gICAgICAgIGlmICh0b3RhbCA8PSBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgICAgICB9XG5cbiAgICAgICAgd2hpbGUgKG1heEluZGV4KSB7XG4gICAgICAgICAgICB0b3RhbCAtPSB0YWJzW21heEluZGV4XS5zY3JvbGxXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIG1heEluZGV4LS07XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZURpc3BsYWNlZCA9IGFjdGl2ZUl0ZW1JbmRleCA+IG1heEluZGV4O1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlT2Zmc2V0ID0gYWN0aXZlRGlzcGxhY2VkID8gYWN0aXZlV2lkdGggKyBtYXJnaW4gOiAwO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFdpZHRoID0gdG90YWwgKyBhY3RpdmVPZmZzZXQgKyBtb3JlV2lkdGggKyBtYXJnaW47XG4gICAgICAgICAgICAvLyBOZWVkZWQgZm9yIGRpZmZlcmVudCByb3VuZGluZyBvZiB2aXNpYmxlIGFuZCBoaWRkZW4gZWxlbWVudHMgc2Nyb2xsV2lkdGhcbiAgICAgICAgICAgIGNvbnN0IHNhZmV0eU9mZnNldCA9IHRvSW50KHRoaXMubWF4SW5kZXggPT09IG1heEluZGV4IC0gMSk7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50V2lkdGggKyBzYWZldHlPZmZzZXQgPCBjbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXhJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGFjdGl2ZUl0ZW1JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGFjdGl2ZUl0ZW1JbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UuZW1pdChhY3RpdmVJdGVtSW5kZXgpO1xuICAgICAgICB0aGlzLm1heEluZGV4ID0gdGhpcy5nZXRNYXhJbmRleCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -23,7 +23,7 @@ let TuiUnderlineComponent = class TuiUnderlineComponent {
23
23
  this.isAndroid = this.mobileAware && this.android;
24
24
  this.transition$ = asCallable(this.element$.pipe(map(element => element && 'all'), debounceTime(50)));
25
25
  this.transform$ = asCallable(this.refresh$.pipe(map(element => element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null)));
26
- this.width$ = asCallable(this.refresh$.pipe(map(element => (element ? element.clientWidth : 0))));
26
+ this.width$ = asCallable(this.refresh$.pipe(map(element => (element === null || element === void 0 ? void 0 : element.clientWidth) || 0)));
27
27
  nativeElement['$.style.transitionProperty'] = this.transition$;
28
28
  nativeElement['$.style.transform'] = this.transform$;
29
29
  nativeElement['$.style.width.px'] = this.width$;
@@ -80,4 +80,4 @@ TuiUnderlineComponent = __decorate([
80
80
  __param(6, Inject(TUI_MODE))
81
81
  ], TuiUnderlineComponent);
82
82
  export { TuiUnderlineComponent };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZXJsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWJzLyIsInNvdXJjZXMiOlsidW5kZXJsaW5lL3VuZGVybGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsYUFBYSxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFZMUUsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUE4QzlCLFlBQ3dCLEVBQUMsYUFBYSxFQUFhLEVBQ2QsTUFBYyxFQUNMLGVBQW1DLEVBQ2xDLFdBQW9CLEVBQzFCLEdBQVksRUFDUixPQUFnQixFQUM5QixLQUF1QztRQUxqQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0wsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFT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dUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMxQixJQUFJLEVBQUU7WUFDRixvQkFBb0IsRUFBRSxPQUFPO1NBQ2hDOztLQUNKLENBQUM7SUFnRE8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDZCxXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3RCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0dBckRaLHFCQUFxQixDQTJEakM7U0EzRFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRX0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3B4LCBUVUlfSVNfQU5EUk9JRCwgVFVJX0lTX0lPUywgdHVpRGVmYXVsdFByb3AsIHR1aVpvbmVmcmVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7TU9ERV9QUk9WSURFUiwgVFVJX01PREUsIFR1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX01PQklMRV9BV0FSRX0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHthc0NhbGxhYmxlfSBmcm9tICdAdGlua29mZi9uZy1ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgbWFwVG8sIHNoYXJlLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktdW5kZXJsaW5lJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vdW5kZXJsaW5lLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNT0RFX1BST1ZJREVSXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVVuZGVybGluZUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50JCA9IG5ldyBSZXBsYXlTdWJqZWN0PEhUTUxFbGVtZW50IHwgbnVsbD4oMSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkID0gdGhpcy5lbGVtZW50JC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZWxlbWVudCA9PlxuICAgICAgICAgICAgZWxlbWVudFxuICAgICAgICAgICAgICAgID8gdGhpcy5hbmltYXRpb25GcmFtZSQucGlwZShtYXBUbyhlbGVtZW50KSwgdHVpWm9uZWZyZWUodGhpcy5uZ1pvbmUpKVxuICAgICAgICAgICAgICAgIDogb2YobnVsbCksXG4gICAgICAgICksXG4gICAgICAgIHNoYXJlKCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgZWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50JC5uZXh0KGVsZW1lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2lvcycpXG4gICAgcmVhZG9ubHkgaXNJb3MgPSB0aGlzLm1vYmlsZUF3YXJlICYmIHRoaXMuaW9zO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYW5kcm9pZCcpXG4gICAgcmVhZG9ubHkgaXNBbmRyb2lkID0gdGhpcy5tb2JpbGVBd2FyZSAmJiB0aGlzLmFuZHJvaWQ7XG5cbiAgICBASG9zdExpc3RlbmVyKCckLnN0eWxlLnRyYW5zaXRpb25Qcm9wZXJ0eScpXG4gICAgcmVhZG9ubHkgdHJhbnNpdGlvbiQgPSBhc0NhbGxhYmxlKFxuICAgICAgICB0aGlzLmVsZW1lbnQkLnBpcGUoXG4gICAgICAgICAgICBtYXAoZWxlbWVudCA9PiBlbGVtZW50ICYmICdhbGwnKSxcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MCksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJyQuc3R5bGUudHJhbnNmb3JtJylcbiAgICByZWFkb25seSB0cmFuc2Zvcm0kID0gYXNDYWxsYWJsZShcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5waXBlKFxuICAgICAgICAgICAgbWFwKGVsZW1lbnQgPT5cbiAgICAgICAgICAgICAgICBlbGVtZW50ID8gYHRyYW5zbGF0ZTNkKCR7cHgoZWxlbWVudC5vZmZzZXRMZWZ0KX0sIDAsIDApYCA6IG51bGwsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASG9zdExpc3RlbmVyKCckLnN0eWxlLndpZHRoLnB4JylcbiAgICByZWFkb25seSB3aWR0aCQgPSBhc0NhbGxhYmxlKFxuICAgICAgICB0aGlzLnJlZnJlc2gkLnBpcGUobWFwKGVsZW1lbnQgPT4gKGVsZW1lbnQgPyBlbGVtZW50LmNsaWVudFdpZHRoIDogMCkpKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PQklMRV9BV0FSRSkgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVBd2FyZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlvczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfQU5EUk9JRCkgcHJpdmF0ZSByZWFkb25seSBhbmRyb2lkOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgKSB7XG4gICAgICAgIG5hdGl2ZUVsZW1lbnRbJyQuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5J10gPSB0aGlzLnRyYW5zaXRpb24kO1xuICAgICAgICBuYXRpdmVFbGVtZW50WyckLnN0eWxlLnRyYW5zZm9ybSddID0gdGhpcy50cmFuc2Zvcm0kO1xuICAgICAgICBuYXRpdmVFbGVtZW50WyckLnN0eWxlLndpZHRoLnB4J10gPSB0aGlzLndpZHRoJDtcbiAgICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZXJsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWJzLyIsInNvdXJjZXMiOlsidW5kZXJsaW5lL3VuZGVybGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsYUFBYSxFQUFFLFFBQVEsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFZMUUsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUE4QzlCLFlBQ3dCLEVBQUMsYUFBYSxFQUFhLEVBQ2QsTUFBYyxFQUNMLGVBQW1DLEVBQ2xDLFdBQW9CLEVBQzFCLEdBQVksRUFDUixPQUFnQixFQUM5QixLQUF1QztRQUxqQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0wsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFT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QUMvQyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDMUIsSUFBSSxFQUFFO1lBQ0Ysb0JBQW9CLEVBQUUsT0FBTztTQUNoQzs7S0FDSixDQUFDO0lBZ0RPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUN4QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN0QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtHQXJEWixxQkFBcUIsQ0EyRGpDO1NBM0RZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtweCwgVFVJX0lTX0FORFJPSUQsIFRVSV9JU19JT1MsIHR1aURlZmF1bHRQcm9wLCB0dWlab25lZnJlZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVIsIFRVSV9NT0RFLCBUdWlCcmlnaHRuZXNzfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9NT0JJTEVfQVdBUkV9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7YXNDYWxsYWJsZX0gZnJvbSAnQHRpbmtvZmYvbmctZXZlbnQtcGx1Z2lucyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIG1hcFRvLCBzaGFyZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXVuZGVybGluZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0eWxlVXJsczogWycuL3VuZGVybGluZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlVbmRlcmxpbmVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCQgPSBuZXcgUmVwbGF5U3ViamVjdDxIVE1MRWxlbWVudCB8IG51bGw+KDEpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWZyZXNoJCA9IHRoaXMuZWxlbWVudCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGVsZW1lbnQgPT5cbiAgICAgICAgICAgIGVsZW1lbnRcbiAgICAgICAgICAgICAgICA/IHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUobWFwVG8oZWxlbWVudCksIHR1aVpvbmVmcmVlKHRoaXMubmdab25lKSlcbiAgICAgICAgICAgICAgICA6IG9mKG51bGwpLFxuICAgICAgICApLFxuICAgICAgICBzaGFyZSgpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCQubmV4dChlbGVtZW50KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9pb3MnKVxuICAgIHJlYWRvbmx5IGlzSW9zID0gdGhpcy5tb2JpbGVBd2FyZSAmJiB0aGlzLmlvcztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2FuZHJvaWQnKVxuICAgIHJlYWRvbmx5IGlzQW5kcm9pZCA9IHRoaXMubW9iaWxlQXdhcmUgJiYgdGhpcy5hbmRyb2lkO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignJC5zdHlsZS50cmFuc2l0aW9uUHJvcGVydHknKVxuICAgIHJlYWRvbmx5IHRyYW5zaXRpb24kID0gYXNDYWxsYWJsZShcbiAgICAgICAgdGhpcy5lbGVtZW50JC5waXBlKFxuICAgICAgICAgICAgbWFwKGVsZW1lbnQgPT4gZWxlbWVudCAmJiAnYWxsJyksXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTApLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASG9zdExpc3RlbmVyKCckLnN0eWxlLnRyYW5zZm9ybScpXG4gICAgcmVhZG9ubHkgdHJhbnNmb3JtJCA9IGFzQ2FsbGFibGUoXG4gICAgICAgIHRoaXMucmVmcmVzaCQucGlwZShcbiAgICAgICAgICAgIG1hcChlbGVtZW50ID0+XG4gICAgICAgICAgICAgICAgZWxlbWVudCA/IGB0cmFuc2xhdGUzZCgke3B4KGVsZW1lbnQub2Zmc2V0TGVmdCl9LCAwLCAwKWAgOiBudWxsLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignJC5zdHlsZS53aWR0aC5weCcpXG4gICAgcmVhZG9ubHkgd2lkdGgkID0gYXNDYWxsYWJsZShcbiAgICAgICAgdGhpcy5yZWZyZXNoJC5waXBlKG1hcChlbGVtZW50ID0+IGVsZW1lbnQ/LmNsaWVudFdpZHRoIHx8IDApKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikge25hdGl2ZUVsZW1lbnR9OiBFbGVtZW50UmVmLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIHByaXZhdGUgcmVhZG9ubHkgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgICAgIEBJbmplY3QoVFVJX01PQklMRV9BV0FSRSkgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVBd2FyZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlvczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSVNfQU5EUk9JRCkgcHJpdmF0ZSByZWFkb25seSBhbmRyb2lkOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgKSB7XG4gICAgICAgIG5hdGl2ZUVsZW1lbnRbJyQuc3R5bGUudHJhbnNpdGlvblByb3BlcnR5J10gPSB0aGlzLnRyYW5zaXRpb24kO1xuICAgICAgICBuYXRpdmVFbGVtZW50WyckLnN0eWxlLnRyYW5zZm9ybSddID0gdGhpcy50cmFuc2Zvcm0kO1xuICAgICAgICBuYXRpdmVFbGVtZW50WyckLnN0eWxlLndpZHRoLnB4J10gPSB0aGlzLndpZHRoJDtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
1
  export * from './tag.component';
2
2
  export * from './tag.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFnLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhZy5tb2R1bGUnO1xuIl19
3
+ export * from './tag-options';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFnLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWctb3B0aW9ucyc7XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /** Default values for the tag options. */
3
+ export const TUI_TAG_DEFAULT_OPTIONS = {
4
+ size: 'm',
5
+ status: 'default',
6
+ autoColor: false,
7
+ };
8
+ export const TUI_TAG_OPTIONS = new InjectionToken('Default parameters for tag component', {
9
+ factory: () => TUI_TAG_DEFAULT_OPTIONS,
10
+ });
11
+ export const tuiTagOptionsProvider = (options) => ({
12
+ provide: TUI_TAG_OPTIONS,
13
+ useValue: Object.assign(Object.assign({}, TUI_TAG_DEFAULT_OPTIONS), options),
14
+ });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFnLyIsInNvdXJjZXMiOlsidGFnLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFVNUQsMENBQTBDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFrQjtJQUNsRCxJQUFJLEVBQUUsR0FBRztJQUNULE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFNBQVMsRUFBRSxLQUFLO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLHNDQUFzQyxFQUN0QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyx1QkFBdUI7Q0FDekMsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXVELENBQ3JGLE9BQStCLEVBQ2pDLEVBQUUsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxFQUFFLGVBQWU7SUFDeEIsUUFBUSxrQ0FBTSx1QkFBdUIsR0FBSyxPQUFPLENBQUM7Q0FDckQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtUdWlTdGF0dXNUfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlUYWdPcHRpb25zIHtcbiAgICByZWFkb25seSBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVMO1xuICAgIHJlYWRvbmx5IHN0YXR1czogVHVpU3RhdHVzVDtcbiAgICByZWFkb25seSBhdXRvQ29sb3I6IGJvb2xlYW47XG59XG5cbi8qKiBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHRhZyBvcHRpb25zLiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9UQUdfREVGQVVMVF9PUFRJT05TOiBUdWlUYWdPcHRpb25zID0ge1xuICAgIHNpemU6ICdtJyxcbiAgICBzdGF0dXM6ICdkZWZhdWx0JyxcbiAgICBhdXRvQ29sb3I6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFRVSV9UQUdfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlUYWdPcHRpb25zPihcbiAgICAnRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciB0YWcgY29tcG9uZW50JyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9UQUdfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpVGFnT3B0aW9uc1Byb3ZpZGVyOiAob3B0aW9uczogUGFydGlhbDxUdWlUYWdPcHRpb25zPikgPT4gVmFsdWVQcm92aWRlciA9IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aVRhZ09wdGlvbnM+LFxuKSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9UQUdfT1BUSU9OUyxcbiAgICB1c2VWYWx1ZTogey4uLlRVSV9UQUdfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
@@ -4,11 +4,13 @@ import { setNativeFocused, tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { MODE_PROVIDER, sizeBigger, TUI_MODE, } from '@taiga-ui/core';
5
5
  import { stringHashToHsl } from '@taiga-ui/kit/utils/format';
6
6
  import { Observable } from 'rxjs';
7
+ import { TUI_TAG_OPTIONS } from './tag-options';
7
8
  export const ALLOWED_SPACE_REGEXP = new RegExp(`,|[\\s]`);
8
9
  let TuiTagComponent = class TuiTagComponent {
9
- constructor(elementRef, mode$) {
10
+ constructor(elementRef, mode$, options) {
10
11
  this.elementRef = elementRef;
11
12
  this.mode$ = mode$;
13
+ this.options = options;
12
14
  // TODO: Possibly implement standard focus mechanisms and outline
13
15
  this.value = '';
14
16
  this.editable = false;
@@ -16,13 +18,13 @@ let TuiTagComponent = class TuiTagComponent {
16
18
  this.allowSpaces = true;
17
19
  this.separator = ',';
18
20
  this.maxLength = null;
19
- this.size = 'm';
21
+ this.size = this.options.size;
20
22
  this.showLoader = false;
21
- this.status = 'default';
23
+ this.status = this.options.status;
22
24
  this.hoverable = false;
23
25
  this.removable = false;
24
26
  this.disabled = false;
25
- this.autoColor = false;
27
+ this.autoColor = this.options.autoColor;
26
28
  // TODO: Remove null in 3.0
27
29
  this.leftContent = null;
28
30
  this.edited = new EventEmitter();
@@ -111,7 +113,8 @@ let TuiTagComponent = class TuiTagComponent {
111
113
  };
112
114
  TuiTagComponent.ctorParameters = () => [
113
115
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
114
- { type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] }
116
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
117
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TAG_OPTIONS,] }] }
115
118
  ];
116
119
  __decorate([
117
120
  Input(),
@@ -192,16 +195,17 @@ __decorate([
192
195
  TuiTagComponent = __decorate([
193
196
  Component({
194
197
  selector: 'tui-tag, a[tuiTag]',
195
- template: "<div\n class=\"tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n <div\n *ngIf=\"leftContent\"\n polymorpheus-outlet\n class=\"left-content\"\n [content]=\"leftContent\"\n ></div>\n <span automation-id=\"tui-tag__text\" class=\"text\">{{ displayText }}</span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"icon icon_loader\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n ></tui-loader>\n <tui-svg\n *ngIf=\"canRemove\"\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-tag__remove\"\n src=\"tuiIconCloseLarge\"\n class=\"icon\"\n (click)=\"remove($event)\"\n ></tui-svg>\n</div>\n<input\n *ngIf=\"editing\"\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n (ngModelChange)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n/>\n",
198
+ template: "<div\n class=\"tag\"\n [style.backgroundColor]=\"backgroundColor\"\n (dblclick)=\"edit($event)\"\n>\n <div\n *ngIf=\"leftContent\"\n polymorpheus-outlet\n class=\"left-content\"\n [content]=\"leftContent\"\n ></div>\n <span\n automation-id=\"tui-tag__text\"\n class=\"text\"\n >\n {{ displayText }}\n </span>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"icon icon_loader\"\n [inheritColor]=\"true\"\n [size]=\"loaderSize\"\n ></tui-loader>\n <tui-svg\n *ngIf=\"canRemove\"\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-tag__remove\"\n src=\"tuiIconCloseLarge\"\n class=\"icon\"\n (click)=\"remove($event)\"\n ></tui-svg>\n</div>\n<input\n *ngIf=\"editing\"\n #input\n automation-id=\"tui-tag__edit\"\n type=\"text\"\n class=\"edit\"\n [attr.maxLength]=\"maxLength\"\n [ngModel]=\"editedText\"\n (ngModelChange)=\"onInput($event)\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n/>\n",
196
199
  changeDetection: ChangeDetectionStrategy.OnPush,
197
200
  providers: [MODE_PROVIDER],
198
201
  host: {
199
202
  '($.data-mode.attr)': 'mode$',
200
203
  },
201
- styles: [":host{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:inline-block;font:var(--tui-font-text-s);border-radius:var(--tui-radius-s);max-width:100%;cursor:default;outline:0;text-decoration:none}:host:after{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;pointer-events:none}:host._hoverable:active[data-tui-host-status=custom]:after,:host._hoverable:hover[data-tui-host-status=custom]:after{background-color:var(--tui-clear)}:host:focus:after{border:2px solid var(--tui-focus)}:host[data-tui-host-status=primary]{background-color:var(--tui-primary);color:var(--tui-primary-text)}:host[data-tui-host-status=primary]._hoverable:hover{background-color:var(--tui-primary-hover)}:host[data-tui-host-status=primary]._hoverable:active{background-color:var(--tui-primary-active)}:host[data-tui-host-status=error]{background-color:var(--tui-error-bg);color:var(--tui-text-01)}:host[data-tui-host-status=error]._hoverable:active,:host[data-tui-host-status=error]._hoverable:hover{background-color:var(--tui-error-bg-hover)}:host[data-tui-host-status=error][data-mode=onDark]{background-color:var(--tui-error-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=error][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=error][data-mode=onDark]._hoverable:hover{background-color:var(--tui-error-bg-night-hover)}:host[data-tui-host-status=success]{background-color:var(--tui-success-bg);color:var(--tui-text-01)}:host[data-tui-host-status=success]._hoverable:active,:host[data-tui-host-status=success]._hoverable:hover{background-color:var(--tui-success-bg-hover)}:host[data-tui-host-status=success][data-mode=onDark]{background-color:var(--tui-success-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=success][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=success][data-mode=onDark]._hoverable:hover{background-color:var(--tui-success-bg-night-hover)}:host[data-tui-host-status=warning]{background-color:var(--tui-warning-bg);color:var(--tui-text-01)}:host[data-tui-host-status=warning]._hoverable:active,:host[data-tui-host-status=warning]._hoverable:hover{background-color:var(--tui-warning-bg-hover)}:host[data-tui-host-status=warning][data-mode=onDark]{background-color:var(--tui-warning-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:hover{background-color:var(--tui-warning-bg-night-hover)}:host[data-tui-host-status=default]{color:var(--tui-text-01-night);background-color:var(--tui-base-06)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:hover{background-color:var(--tui-base-07)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:active{background-color:var(--tui-base-08)}:host[data-tui-host-status=default][data-mode=onDark]{color:var(--tui-text-01-night);background-color:var(--tui-clear-inverse)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:hover{background-color:var(--tui-clear-inverse-hover)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:active{background-color:var(--tui-clear-inverse-active)}:host[data-tui-host-status=default][data-mode=onDark]:focus:after{border:2px solid var(--tui-base-01)}:host[data-tui-host-status=default][data-mode=onLight]{background-color:var(--tui-clear);color:var(--tui-text-01)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:hover{background-color:var(--tui-clear-hover)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:active{background-color:var(--tui-clear-active)}:host._editing{background:0 0!important}:host._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host._hoverable{cursor:pointer}:host._autocolor{color:var(--tui-text-01)}.text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:.02em}.tag{position:relative;display:flex;align-items:center;border-radius:inherit;white-space:pre}:host[data-size='s'] .tag{font:var(--tui-font-text-xs);height:1.25rem;padding:0 .5rem}:host[data-size='m'] .tag{height:var(--tui-height-xs);padding:0 .5rem}:host[data-size='l'] .tag{height:var(--tui-height-s);padding:0 .75rem}:host._has-icon[data-size='s'] .tag{padding:0 .125rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem}:host._has-icon[data-size='m'] .tag{padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}:host._has-icon[data-size='l'] .tag{padding:0 .25rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host._editing .tag{visibility:hidden}:host._disabled._has-icon[data-size='m'] .tag,:host._disabled._has-icon[data-size='s'] .tag{padding:0 .5rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem}:host._disabled._has-icon[data-size='l'] .tag{padding:0 .75rem}.edit{padding:0 0 0 .5rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;font:var(--tui-font-text-s);color:var(--tui-text-01);width:100%;box-sizing:border-box;-webkit-padding-start:.5rem;padding-inline-start:.5rem;-webkit-padding-end:0;padding-inline-end:0}.edit:-webkit-autofill,.edit:-webkit-autofill:focus,.edit:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-size='s'] .edit{height:1.25rem;line-height:1.25rem}:host[data-size='m'] .edit{height:var(--tui-height-xs);line-height:var(--tui-height-xs)}:host[data-size='l'] .edit{height:var(--tui-height-s);line-height:var(--tui-height-s);padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.icon{margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;height:100%}.icon:not(.icon_loader){cursor:pointer;pointer-events:all;opacity:var(--tui-disabled-opacity)}.icon:hover{opacity:1}.icon_loader{width:1rem;height:1rem;margin:0 .25rem}:host[data-size='s'] .icon_loader{margin:0 .375rem 0 .75rem;-webkit-margin-start:.75rem;margin-inline-start:.75rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem;width:.5rem;height:.5rem}:host[data-size='l'] .icon_loader{margin:0 .25rem 0 .5rem;-webkit-margin-start:.5rem;margin-inline-start:.5rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.left-content{margin:0 .25rem 0 0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:.25rem;margin-inline-end:.25rem;width:1rem;height:1rem}"]
204
+ styles: [":host{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:inline-block;font:var(--tui-font-text-s);border-radius:var(--tui-radius-s);max-width:100%;cursor:default;outline:0;text-decoration:none}:host:after{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;width:100%;height:100%;content:'';box-sizing:border-box;border-radius:inherit;pointer-events:none}:host._hoverable:active[data-tui-host-status=custom]:after,:host._hoverable:hover[data-tui-host-status=custom]:after{background-color:var(--tui-clear)}:host:focus:after{border:2px solid var(--tui-focus)}:host[data-tui-host-status=primary]{background-color:var(--tui-primary);color:var(--tui-primary-text)}:host[data-tui-host-status=primary]._hoverable:hover{background-color:var(--tui-primary-hover)}:host[data-tui-host-status=primary]._hoverable:active{background-color:var(--tui-primary-active)}:host[data-tui-host-status=error]{background-color:var(--tui-error-bg);color:var(--tui-text-01)}:host[data-tui-host-status=error]._hoverable:active,:host[data-tui-host-status=error]._hoverable:hover{background-color:var(--tui-error-bg-hover)}:host[data-tui-host-status=error][data-mode=onDark]{background-color:var(--tui-error-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=error][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=error][data-mode=onDark]._hoverable:hover{background-color:var(--tui-error-bg-night-hover)}:host[data-tui-host-status=success]{background-color:var(--tui-success-bg);color:var(--tui-text-01)}:host[data-tui-host-status=success]._hoverable:active,:host[data-tui-host-status=success]._hoverable:hover{background-color:var(--tui-success-bg-hover)}:host[data-tui-host-status=success][data-mode=onDark]{background-color:var(--tui-success-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=success][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=success][data-mode=onDark]._hoverable:hover{background-color:var(--tui-success-bg-night-hover)}:host[data-tui-host-status=warning]{background-color:var(--tui-warning-bg);color:var(--tui-text-01)}:host[data-tui-host-status=warning]._hoverable:active,:host[data-tui-host-status=warning]._hoverable:hover{background-color:var(--tui-warning-bg-hover)}:host[data-tui-host-status=warning][data-mode=onDark]{background-color:var(--tui-warning-bg-night);color:var(--tui-text-01-night)}:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:active,:host[data-tui-host-status=warning][data-mode=onDark]._hoverable:hover{background-color:var(--tui-warning-bg-night-hover)}:host[data-tui-host-status=default]{color:var(--tui-text-01-night);background-color:var(--tui-base-06)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:hover{background-color:var(--tui-base-07)}:host[data-tui-host-status=default]:not([data-mode])._hoverable:active{background-color:var(--tui-base-08)}:host[data-tui-host-status=default][data-mode=onDark]{color:var(--tui-text-01-night);background-color:var(--tui-clear-inverse)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:hover{background-color:var(--tui-clear-inverse-hover)}:host[data-tui-host-status=default][data-mode=onDark]._hoverable:active{background-color:var(--tui-clear-inverse-active)}:host[data-tui-host-status=default][data-mode=onDark]:focus:after{border:2px solid var(--tui-base-01)}:host[data-tui-host-status=default][data-mode=onLight]{background-color:var(--tui-clear);color:var(--tui-text-01)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:hover{background-color:var(--tui-clear-hover)}:host[data-tui-host-status=default][data-mode=onLight]._hoverable:active{background-color:var(--tui-clear-active)}:host._editing{background:0 0!important}:host._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}:host._hoverable{cursor:pointer}:host._autocolor{color:var(--tui-text-01)}.text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:.02em}.tag{position:relative;display:flex;align-items:center;border-radius:inherit;white-space:pre}:host[data-size='s'] .tag{font:var(--tui-font-text-xs);height:1.25rem;padding:0 .5rem}:host[data-size='m'] .tag{height:var(--tui-height-xs);padding:0 .5rem}:host[data-size='l'] .tag{height:var(--tui-height-s);padding:0 .75rem}:host._has-icon[data-size='s'] .tag{padding:0 .125rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.125rem;padding-inline-end:.125rem}:host._has-icon[data-size='m'] .tag{padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}:host._has-icon[data-size='l'] .tag{padding:0 .25rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host._editing .tag{visibility:hidden}:host._disabled._has-icon[data-size='m'] .tag,:host._disabled._has-icon[data-size='s'] .tag{padding:0 .5rem 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:.5rem;padding-inline-end:.5rem}:host._disabled._has-icon[data-size='l'] .tag{padding:0 .75rem}.edit{padding:0 0 0 .5rem;margin:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;font:var(--tui-font-text-s);color:var(--tui-text-01);width:100%;box-sizing:border-box;-webkit-padding-start:.5rem;padding-inline-start:.5rem;-webkit-padding-end:0;padding-inline-end:0}.edit:-webkit-autofill,.edit:-webkit-autofill:focus,.edit:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host[data-size='s'] .edit{height:1.25rem;line-height:1.25rem}:host[data-size='m'] .edit{height:var(--tui-height-xs);line-height:var(--tui-height-xs)}:host[data-size='l'] .edit{height:var(--tui-height-s);line-height:var(--tui-height-s);padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.icon{margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;height:100%}.icon:not(.icon_loader){cursor:pointer;pointer-events:all;opacity:var(--tui-disabled-opacity)}.icon:hover{opacity:1}.icon_loader{width:1rem;height:1rem;margin:0 .25rem}:host[data-size='s'] .icon_loader{margin:0 .375rem 0 .75rem;-webkit-margin-start:.75rem;margin-inline-start:.75rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem;width:.5rem;height:.5rem}:host[data-size='l'] .icon_loader{margin:0 .25rem 0 .5rem;-webkit-margin-start:.5rem;margin-inline-start:.5rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.left-content{margin:0 .25rem 0 0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:.25rem;margin-inline-end:.25rem;width:1rem;height:1rem}"]
202
205
  }),
203
206
  __param(0, Inject(ElementRef)),
204
- __param(1, Inject(TUI_MODE))
207
+ __param(1, Inject(TUI_MODE)),
208
+ __param(2, Inject(TUI_TAG_OPTIONS))
205
209
  ], TuiTagComponent);
206
210
  export { TuiTagComponent };
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWcvIiwic291cmNlcyI6WyJ0YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUNILGFBQWEsRUFDYixVQUFVLEVBQ1YsUUFBUSxHQUtYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFZMUQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQTRFeEIsWUFDeUMsVUFBbUMsRUFDN0MsS0FBdUM7UUFEN0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDN0MsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUE3RXRFLGlFQUFpRTtRQUdqRSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBSVgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixzQkFBc0I7UUFHdEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFJbkIsY0FBUyxHQUFvQixHQUFHLENBQUM7UUFJakMsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFLaEMsU0FBSSxHQUF3QixHQUFHLENBQUM7UUFJaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUtuQixXQUFNLEdBQWUsU0FBUyxDQUFDO1FBSy9C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LG9CQUFvQjtRQUM5QixxaUNBQWtDO1FBRWxDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMxQixJQUFJLEVBQUU7WUFDRixvQkFBb0IsRUFBRSxPQUFPO1NBQ2hDOztLQUNKLENBQUM7SUE4RU8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7R0E5RVosZUFBZSxDQWlMM0I7U0FqTFksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3NldE5hdGl2ZUZvY3VzZWQsIHR1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9NT0RFLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU2l6ZVhTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0YXR1c1R9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtzdHJpbmdIYXNoVG9Ic2x9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBBTExPV0VEX1NQQUNFX1JFR0VYUCA9IG5ldyBSZWdFeHAoYCx8W1xcXFxzXWApO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS10YWcsIGFbdHVpVGFnXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhZy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWcuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW01PREVfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFnQ29tcG9uZW50IHtcbiAgICAvLyBUT0RPOiBQb3NzaWJseSBpbXBsZW1lbnQgc3RhbmRhcmQgZm9jdXMgbWVjaGFuaXNtcyBhbmQgb3V0bGluZVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gZmFsc2U7XG5cbiAgICAvLyBUT0RPOiBSZW1vdmUgaW4gMy4wXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFsbG93U3BhY2VzID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXBhcmF0b3I6IHN0cmluZyB8IFJlZ0V4cCA9ICcsJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhMZW5ndGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTIHwgVHVpU2l6ZUwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0xvYWRlciA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zdGF0dXMnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RhdHVzOiBUdWlTdGF0dXNUID0gJ2RlZmF1bHQnO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9ob3ZlcmFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaG92ZXJhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVtb3ZhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2Rpc2FibGVkJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2F1dG9jb2xvcicpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvQ29sb3IgPSBmYWxzZTtcblxuICAgIC8vIFRPRE86IFJlbW92ZSBudWxsIGluIDMuMFxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsZWZ0Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZWRpdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9lZGl0aW5nJylcbiAgICBlZGl0aW5nID0gZmFsc2U7XG5cbiAgICBlZGl0ZWRUZXh0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHNldCBpbnB1dChpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pikge1xuICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoaW5wdXQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IGJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b0NvbG9yID8gc3RyaW5nSGFzaFRvSHNsKHRoaXMudmFsdWUpIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FuUmVtb3ZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW1vdmFibGUgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuc2hvd0xvYWRlcjtcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheVRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGVkVGV4dCA9PT0gbnVsbCA/IHRoaXMudmFsdWUgOiB0aGlzLmVkaXRlZFRleHQ7XG4gICAgfVxuXG4gICAgZ2V0IGxvYWRlclNpemUoKTogVHVpU2l6ZVhTIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy5zaXplKSA/ICdzJyA6ICd4cyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLWljb24nKVxuICAgIGdldCBoYXNJY29uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93TG9hZGVyIHx8IHRoaXMucmVtb3ZhYmxlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIGVkaXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5jYW5FZGl0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmVkaXRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmVkaXRlZFRleHQgPSB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZGVsZXRlJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmJhY2tzcGFjZScsIFsnJGV2ZW50J10pXG4gICAgcmVtb3ZlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY2FuUmVtb3ZlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5lZGl0ZWQuZW1pdCgnJyk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IG5ld1RhZ3MgPSB0aGlzLmFsbG93U3BhY2VzXG4gICAgICAgICAgICA/IHZhbHVlLnNwbGl0KHRoaXMuc2VwYXJhdG9yKVxuICAgICAgICAgICAgOiB2YWx1ZS5zcGxpdChBTExPV0VEX1NQQUNFX1JFR0VYUCk7XG5cbiAgICAgICAgaWYgKG5ld1RhZ3MubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhpcy5zYXZlKFN0cmluZyhuZXdUYWdzKSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdGVkVGV4dCA9IHZhbHVlO1xuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICBjYXNlICdlbnRlcic6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmUodGhpcy5lZGl0ZWRUZXh0IHx8ICcnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2VzY2FwZSc6XG4gICAgICAgICAgICBjYXNlICdlc2MnOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wRWRpdGluZygpO1xuICAgICAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdGVkVGV4dCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlKHRoaXMuZWRpdGVkVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYW5FZGl0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGl0YWJsZSAmJiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5zaG93TG9hZGVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcEVkaXRpbmcoKSB7XG4gICAgICAgIHRoaXMuZWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmVkaXRlZFRleHQgPSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RvcEVkaXRpbmcoKTtcbiAgICAgICAgdGhpcy5lZGl0ZWQuZW1pdCh2YWx1ZS50cmltKCkpO1xuICAgIH1cbn1cbiJdfQ==
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90YWcvIiwic291cmNlcyI6WyJ0YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUNILGFBQWEsRUFDYixVQUFVLEVBQ1YsUUFBUSxHQUtYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsT0FBTyxFQUFDLGVBQWUsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFZMUQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQTRFeEIsWUFDeUMsVUFBbUMsRUFDN0MsS0FBdUMsRUFDeEIsT0FBc0I7UUFGM0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDN0MsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQTlFcEUsaUVBQWlFO1FBR2pFLFVBQUssR0FBRyxFQUFFLENBQUM7UUFJWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHNCQUFzQjtRQUd0QixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUluQixjQUFTLEdBQW9CLEdBQUcsQ0FBQztRQUlqQyxjQUFTLEdBQWtCLElBQUksQ0FBQztRQUto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QUFDLENBQUM7MkNBU3pDO0FBSUQ7SUFGQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs2Q0FTN0M7QUE1SFEsZUFBZTtJQVYzQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsb0JBQW9CO1FBQzlCLDZrQ0FBa0M7UUFFbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0MsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzFCLElBQUksRUFBRTtZQUNGLG9CQUFvQixFQUFFLE9BQU87U0FDaEM7O0tBQ0osQ0FBQztJQThFTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtHQS9FbkIsZUFBZSxDQWtMM0I7U0FsTFksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3NldE5hdGl2ZUZvY3VzZWQsIHR1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9NT0RFLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU2l6ZVhTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0YXR1c1R9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtzdHJpbmdIYXNoVG9Ic2x9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX1RBR19PUFRJT05TLCBUdWlUYWdPcHRpb25zfSBmcm9tICcuL3RhZy1vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IEFMTE9XRURfU1BBQ0VfUkVHRVhQID0gbmV3IFJlZ0V4cChgLHxbXFxcXHNdYCk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXRhZywgYVt0dWlUYWddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhZy5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogJ21vZGUkJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUYWdDb21wb25lbnQge1xuICAgIC8vIFRPRE86IFBvc3NpYmx5IGltcGxlbWVudCBzdGFuZGFyZCBmb2N1cyBtZWNoYW5pc21zIGFuZCBvdXRsaW5lXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSBmYWxzZTtcblxuICAgIC8vIFRPRE86IFJlbW92ZSBpbiAzLjBcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWxsb3dTcGFjZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlcGFyYXRvcjogc3RyaW5nIHwgUmVnRXhwID0gJywnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExlbmd0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgfCBUdWlTaXplTCA9IHRoaXMub3B0aW9ucy5zaXplO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dMb2FkZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtc3RhdHVzJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0YXR1czogVHVpU3RhdHVzVCA9IHRoaXMub3B0aW9ucy5zdGF0dXM7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hvdmVyYWJsZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBob3ZlcmFibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByZW1vdmFibGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZGlzYWJsZWQnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYXV0b2NvbG9yJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGF1dG9Db2xvcjogYm9vbGVhbiA9IHRoaXMub3B0aW9ucy5hdXRvQ29sb3I7XG5cbiAgICAvLyBUT0RPOiBSZW1vdmUgbnVsbCBpbiAzLjBcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGVmdENvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGVkaXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZWRpdGluZycpXG4gICAgZWRpdGluZyA9IGZhbHNlO1xuXG4gICAgZWRpdGVkVGV4dDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBzZXQgaW5wdXQoaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4pIHtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9UQUdfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlUYWdPcHRpb25zLFxuICAgICkge31cblxuICAgIGdldCBiYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9Db2xvciA/IHN0cmluZ0hhc2hUb0hzbCh0aGlzLnZhbHVlKSA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhblJlbW92ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZhYmxlICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnNob3dMb2FkZXI7XG4gICAgfVxuXG4gICAgZ2V0IGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRlZFRleHQgPT09IG51bGwgPyB0aGlzLnZhbHVlIDogdGhpcy5lZGl0ZWRUZXh0O1xuICAgIH1cblxuICAgIGdldCBsb2FkZXJTaXplKCk6IFR1aVNpemVYUyB7XG4gICAgICAgIHJldHVybiBzaXplQmlnZ2VyKHRoaXMuc2l6ZSkgPyAncycgOiAneHMnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy1pY29uJylcbiAgICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0xvYWRlciB8fCB0aGlzLnJlbW92YWJsZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBlZGl0KGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuY2FuRWRpdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5lZGl0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lZGl0ZWRUZXh0ID0gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmRlbGV0ZScsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5iYWNrc3BhY2UnLCBbJyRldmVudCddKVxuICAgIHJlbW92ZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNhblJlbW92ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZWRpdGVkLmVtaXQoJycpO1xuICAgIH1cblxuICAgIG9uSW5wdXQodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBuZXdUYWdzID0gdGhpcy5hbGxvd1NwYWNlc1xuICAgICAgICAgICAgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuXG4gICAgICAgIGlmIChuZXdUYWdzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZShTdHJpbmcobmV3VGFncykpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVkaXRlZFRleHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgY2FzZSAnZW50ZXInOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlKHRoaXMuZWRpdGVkVGV4dCB8fCAnJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlc2NhcGUnOlxuICAgICAgICAgICAgY2FzZSAnZXNjJzpcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcEVkaXRpbmcoKTtcbiAgICAgICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRlZFRleHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZSh0aGlzLmVkaXRlZFRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FuRWRpdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGUgJiYgIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuc2hvd0xvYWRlcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BFZGl0aW5nKCkge1xuICAgICAgICB0aGlzLmVkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lZGl0ZWRUZXh0ID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0b3BFZGl0aW5nKCk7XG4gICAgICAgIHRoaXMuZWRpdGVkLmVtaXQodmFsdWUudHJpbSgpKTtcbiAgICB9XG59XG4iXX0=