@taiga-ui/kit 2.57.0 → 2.59.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 (484) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-action.umd.js +2 -2
  6. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  10. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-badged-content.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +4 -4
  18. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -2
  22. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
  30. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  34. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -2
  38. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
  42. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  44. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -2
  46. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  48. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -2
  50. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  52. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +2 -2
  54. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  58. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-date.umd.js +2 -2
  62. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-file.umd.js +4 -4
  66. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -2
  70. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-month.umd.js +2 -2
  74. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-number.umd.js +2 -2
  78. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -3
  82. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  84. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
  86. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  88. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-phone.umd.js +2 -2
  90. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  94. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  95. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
  97. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input.umd.js +2 -2
  101. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  103. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  105. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
  109. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  111. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-pagination.umd.js +2 -2
  113. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  115. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
  117. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  119. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
  121. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  123. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-radio-list.umd.js +2 -2
  125. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  127. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-radio.umd.js +2 -2
  129. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  131. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-range.umd.js +2 -2
  133. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  135. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-select-option.umd.js +2 -2
  137. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
  139. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-slider.umd.js +29 -10
  141. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  143. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-stepper.umd.js +2 -2
  145. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  147. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-tabs.umd.js +3 -3
  149. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  151. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  153. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  154. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  156. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  157. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
  159. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  161. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +6 -2
  163. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  165. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  167. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +2 -2
  171. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  172. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +1 -1
  173. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  174. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  175. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  176. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  177. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  178. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  179. package/components/calendar-range/taiga-ui-kit-components-calendar-range.metadata.json +1 -1
  180. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  181. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  182. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  183. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  184. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  185. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  186. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  187. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  188. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  189. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  190. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  191. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  192. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  193. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  194. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  195. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  196. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  197. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  198. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  199. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  200. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  201. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  202. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  203. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  204. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  205. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  206. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  207. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  208. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  209. package/components/slider/helpers/slider-key-steps.directive.d.ts +8 -0
  210. package/components/slider/slider.component.d.ts +4 -2
  211. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  212. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  213. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  214. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  215. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  216. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  217. package/esm2015/components/accordion/accordion.component.js +3 -3
  218. package/esm2015/components/action/action.component.js +3 -3
  219. package/esm2015/components/avatar/avatar.component.js +3 -3
  220. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  221. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +3 -3
  222. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  223. package/esm2015/components/calendar-range/calendar-range.component.js +3 -3
  224. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  225. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  226. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  227. package/esm2015/components/combo-box/combo-box.component.js +3 -3
  228. package/esm2015/components/filter/filter.component.js +3 -3
  229. package/esm2015/components/input/input.component.js +3 -3
  230. package/esm2015/components/input-copy/input-copy.component.js +3 -3
  231. package/esm2015/components/input-count/input-count.component.js +3 -3
  232. package/esm2015/components/input-date/input-date.component.js +3 -3
  233. package/esm2015/components/input-date-range/input-date-range.component.js +3 -3
  234. package/esm2015/components/input-date-time/input-date-time.component.js +3 -3
  235. package/esm2015/components/input-file/file/file.component.js +3 -3
  236. package/esm2015/components/input-file/input-file.component.js +3 -3
  237. package/esm2015/components/input-month/input-month.component.js +3 -3
  238. package/esm2015/components/input-month-range/input-month-range.component.js +3 -3
  239. package/esm2015/components/input-number/input-number.component.js +3 -3
  240. package/esm2015/components/input-password/input-password.component.js +3 -3
  241. package/esm2015/components/input-password/input-password.module.js +1 -3
  242. package/esm2015/components/input-phone/input-phone.component.js +3 -3
  243. package/esm2015/components/input-phone-international/input-phone-international.component.js +3 -3
  244. package/esm2015/components/input-tag/input-tag.component.js +1 -1
  245. package/esm2015/components/input-time/input-time.component.js +3 -3
  246. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  247. package/esm2015/components/multi-select/multi-select.component.js +3 -3
  248. package/esm2015/components/pagination/pagination.component.js +3 -3
  249. package/esm2015/components/radio/radio.component.js +3 -3
  250. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  251. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  252. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  253. package/esm2015/components/range/range.component.js +3 -3
  254. package/esm2015/components/select-option/select-option.component.js +3 -3
  255. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +13 -6
  256. package/esm2015/components/slider/slider.component.js +18 -9
  257. package/esm2015/components/stepper/step/step.component.js +3 -3
  258. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +4 -4
  259. package/esm2015/components/tag/tag.component.js +1 -1
  260. package/esm2015/components/text-area/text-area.component.js +1 -1
  261. package/esm2015/components/toggle/toggle.component.js +3 -3
  262. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +8 -4
  263. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +2 -2
  264. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  265. package/esm5/components/accordion/accordion.component.js +3 -3
  266. package/esm5/components/action/action.component.js +3 -3
  267. package/esm5/components/avatar/avatar.component.js +3 -3
  268. package/esm5/components/badged-content/badged-content.component.js +3 -3
  269. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +3 -3
  270. package/esm5/components/breadcrumbs/breadcrumbs.component.js +3 -3
  271. package/esm5/components/calendar-range/calendar-range.component.js +3 -3
  272. package/esm5/components/checkbox/checkbox.component.js +3 -3
  273. package/esm5/components/checkbox-block/checkbox-block.component.js +3 -3
  274. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  275. package/esm5/components/combo-box/combo-box.component.js +3 -3
  276. package/esm5/components/filter/filter.component.js +3 -3
  277. package/esm5/components/input/input.component.js +3 -3
  278. package/esm5/components/input-copy/input-copy.component.js +3 -3
  279. package/esm5/components/input-count/input-count.component.js +3 -3
  280. package/esm5/components/input-date/input-date.component.js +3 -3
  281. package/esm5/components/input-date-range/input-date-range.component.js +3 -3
  282. package/esm5/components/input-date-time/input-date-time.component.js +3 -3
  283. package/esm5/components/input-file/file/file.component.js +3 -3
  284. package/esm5/components/input-file/input-file.component.js +3 -3
  285. package/esm5/components/input-month/input-month.component.js +3 -3
  286. package/esm5/components/input-month-range/input-month-range.component.js +3 -3
  287. package/esm5/components/input-number/input-number.component.js +3 -3
  288. package/esm5/components/input-password/input-password.component.js +3 -3
  289. package/esm5/components/input-password/input-password.module.js +1 -3
  290. package/esm5/components/input-phone/input-phone.component.js +3 -3
  291. package/esm5/components/input-phone-international/input-phone-international.component.js +3 -3
  292. package/esm5/components/input-tag/input-tag.component.js +1 -1
  293. package/esm5/components/input-time/input-time.component.js +3 -3
  294. package/esm5/components/marker-icon/marker-icon.component.js +3 -3
  295. package/esm5/components/multi-select/multi-select.component.js +3 -3
  296. package/esm5/components/pagination/pagination.component.js +3 -3
  297. package/esm5/components/radio/radio.component.js +3 -3
  298. package/esm5/components/radio-block/radio-block.component.js +3 -3
  299. package/esm5/components/radio-labeled/radio-labeled.component.js +3 -3
  300. package/esm5/components/radio-list/radio-list.component.js +3 -3
  301. package/esm5/components/range/range.component.js +3 -3
  302. package/esm5/components/select-option/select-option.component.js +3 -3
  303. package/esm5/components/slider/helpers/slider-key-steps.directive.js +13 -6
  304. package/esm5/components/slider/slider.component.js +22 -9
  305. package/esm5/components/stepper/step/step.component.js +3 -3
  306. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +4 -4
  307. package/esm5/components/tag/tag.component.js +1 -1
  308. package/esm5/components/text-area/text-area.component.js +1 -1
  309. package/esm5/components/toggle/toggle.component.js +3 -3
  310. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +8 -4
  311. package/esm5/directives/lazy-loading/lazy-loading.directive.js +2 -2
  312. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  313. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  314. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  315. package/fesm2015/taiga-ui-kit-components-action.js +2 -2
  316. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  317. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  318. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  319. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  320. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  321. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +4 -4
  322. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  323. package/fesm2015/taiga-ui-kit-components-calendar-range.js +2 -2
  324. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  325. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
  326. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  327. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  328. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  329. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  330. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  331. package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -2
  332. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  333. package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
  334. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  335. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  336. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
  338. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-input-date-range.js +2 -2
  340. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -2
  342. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-input-date.js +2 -2
  344. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  345. package/fesm2015/taiga-ui-kit-components-input-file.js +4 -4
  346. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  347. package/fesm2015/taiga-ui-kit-components-input-month-range.js +2 -2
  348. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-input-month.js +2 -2
  350. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components-input-number.js +2 -2
  352. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  353. package/fesm2015/taiga-ui-kit-components-input-password.js +3 -4
  354. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  355. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +2 -2
  356. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  357. package/fesm2015/taiga-ui-kit-components-input-phone.js +2 -2
  358. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  360. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -2
  361. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  362. package/fesm2015/taiga-ui-kit-components-input.js +2 -2
  363. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  364. package/fesm2015/taiga-ui-kit-components-marker-icon.js +2 -2
  365. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  366. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -2
  367. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  368. package/fesm2015/taiga-ui-kit-components-pagination.js +2 -2
  369. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  370. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
  371. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  372. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
  373. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  374. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -2
  375. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  376. package/fesm2015/taiga-ui-kit-components-radio.js +2 -2
  377. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  378. package/fesm2015/taiga-ui-kit-components-range.js +2 -2
  379. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  380. package/fesm2015/taiga-ui-kit-components-select-option.js +2 -2
  381. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-components-slider.js +27 -12
  383. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  384. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -2
  385. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  386. package/fesm2015/taiga-ui-kit-components-tabs.js +3 -3
  387. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  388. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  389. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  390. package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
  391. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  392. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +7 -3
  393. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  394. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  395. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  396. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +2 -2
  397. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  398. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  399. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  400. package/fesm5/taiga-ui-kit-components-action.js +2 -2
  401. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  402. package/fesm5/taiga-ui-kit-components-avatar.js +2 -2
  403. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  404. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  405. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  406. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +4 -4
  407. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  408. package/fesm5/taiga-ui-kit-components-calendar-range.js +2 -2
  409. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  410. package/fesm5/taiga-ui-kit-components-checkbox-block.js +2 -2
  411. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  412. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  413. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  414. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  415. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  416. package/fesm5/taiga-ui-kit-components-combo-box.js +2 -2
  417. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  418. package/fesm5/taiga-ui-kit-components-filter.js +2 -2
  419. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  420. package/fesm5/taiga-ui-kit-components-input-copy.js +2 -2
  421. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  422. package/fesm5/taiga-ui-kit-components-input-count.js +2 -2
  423. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  424. package/fesm5/taiga-ui-kit-components-input-date-range.js +2 -2
  425. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  426. package/fesm5/taiga-ui-kit-components-input-date-time.js +2 -2
  427. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  428. package/fesm5/taiga-ui-kit-components-input-date.js +2 -2
  429. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  430. package/fesm5/taiga-ui-kit-components-input-file.js +4 -4
  431. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  432. package/fesm5/taiga-ui-kit-components-input-month-range.js +2 -2
  433. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  434. package/fesm5/taiga-ui-kit-components-input-month.js +2 -2
  435. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  436. package/fesm5/taiga-ui-kit-components-input-number.js +2 -2
  437. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  438. package/fesm5/taiga-ui-kit-components-input-password.js +3 -4
  439. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  440. package/fesm5/taiga-ui-kit-components-input-phone-international.js +2 -2
  441. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  442. package/fesm5/taiga-ui-kit-components-input-phone.js +2 -2
  443. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  444. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  445. package/fesm5/taiga-ui-kit-components-input-time.js +2 -2
  446. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  447. package/fesm5/taiga-ui-kit-components-input.js +2 -2
  448. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  449. package/fesm5/taiga-ui-kit-components-marker-icon.js +2 -2
  450. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  451. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -2
  452. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  453. package/fesm5/taiga-ui-kit-components-pagination.js +2 -2
  454. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  455. package/fesm5/taiga-ui-kit-components-radio-block.js +2 -2
  456. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  457. package/fesm5/taiga-ui-kit-components-radio-labeled.js +2 -2
  458. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  459. package/fesm5/taiga-ui-kit-components-radio-list.js +2 -2
  460. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  461. package/fesm5/taiga-ui-kit-components-radio.js +2 -2
  462. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  463. package/fesm5/taiga-ui-kit-components-range.js +2 -2
  464. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  465. package/fesm5/taiga-ui-kit-components-select-option.js +2 -2
  466. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  467. package/fesm5/taiga-ui-kit-components-slider.js +31 -12
  468. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  469. package/fesm5/taiga-ui-kit-components-stepper.js +2 -2
  470. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  471. package/fesm5/taiga-ui-kit-components-tabs.js +3 -3
  472. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  473. package/fesm5/taiga-ui-kit-components-tag.js +1 -1
  474. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  475. package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
  476. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  477. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +7 -3
  478. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  479. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  480. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  481. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +2 -2
  482. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  483. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  484. package/package.json +4 -4
@@ -180,8 +180,8 @@ var TuiFileOldComponent = /** @class */ (function () {
180
180
  Component({
181
181
  selector: "tui-file",
182
182
  changeDetection: ChangeDetectionStrategy.OnPush,
183
- template: "<ng-container *ngIf=\"!src; else withLink\">\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"preview\"\n [class.preview_big]=\"isBig\"\n >\n <img\n *ngIf=\"preview && (fileTexts$ | async) as texts; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"image\"\n [alt]=\"texts.preview\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"icon\"\n [class.icon_deleted]=\"isDeleted\"\n [class.icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <div class=\"wrapper\">\n <div class=\"text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n polymorpheus-outlet\n automation-id=\"tui-file__content\"\n class=\"content\"\n [content]=\"content\"\n ></div>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"remove\"\n [title]=\"texts.remove\"\n [class.remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n",
184
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:0;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.link:hover{background-color:var(--tui-base-02)}.preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:rgba(0,0,0,.24)}.preview_big{width:4rem;height:4rem;margin-right:1rem}.preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:#333;opacity:.08}.image{max-width:100%;max-height:100%}.loader{position:absolute;top:0;left:0;width:100%;height:100%}.icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.icon_error{color:var(--tui-error-fill)}.icon_deleted{color:var(--tui-base-06)}.remove{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.remove:focus,.remove_mobile{opacity:1}.wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.text{display:flex}.size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.type{flex-shrink:0}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}"]
183
+ template: "<ng-container *ngIf=\"!src; else withLink\">\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n</ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <img\n *ngIf=\"preview && (fileTexts$ | async) as texts; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [alt]=\"texts.preview\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n polymorpheus-outlet\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n [content]=\"content\"\n ></div>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n",
184
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:0;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:rgba(0,0,0,.24)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';background:#333;opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}"]
185
185
  }),
186
186
  __param(0, Inject(TUI_IS_MOBILE)),
187
187
  __param(1, Inject(DomSanitizer)),
@@ -191,4 +191,4 @@ var TuiFileOldComponent = /** @class */ (function () {
191
191
  return TuiFileOldComponent;
192
192
  }());
193
193
  export { TuiFileOldComponent };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImZpbGUvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsV0FBVztBQU9YO0lBMkJJLDZCQUNvQyxRQUFpQixFQUNWLFNBQXVCLEVBRXJELFVBRVIsRUFFZ0IsTUFBNEM7UUFQN0IsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFckQsZUFBVSxHQUFWLFVBQVUsQ0FFbEI7UUFFZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0M7UUFoQ2pFLFNBQUksR0FBZ0IsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFJL0IsVUFBSyx5QkFBcUQ7UUFJMUQsU0FBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUluQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR1AsZ0JBQVcsR0FB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QUNEO0lBR2hCO1FBREMsTUFBTSxFQUFFOzREQUN1QztJQUdoRDtRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzt3REFDZDtJQWlEaEI7UUFEQyxXQUFXLENBQUMsYUFBYSxDQUFDO2tEQUcxQjtJQTJCRDtRQURDLE9BQU87Z0VBU1A7SUFHRDtRQURDLE9BQU87aUVBTVA7SUFHRDtRQURDLE9BQU87NERBWVA7SUFySVEsbUJBQW1CO1FBTi9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLDJ5RkFBbUM7O1NBRXRDLENBQUM7UUE2Qk8sV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDckIsV0FBQSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDcEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFJdEIsV0FBQSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtPQWxDakMsbUJBQW1CLENBc0kvQjtJQUFELDBCQUFDO0NBQUEsQUF0SUQsSUFzSUM7U0F0SVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZUx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZVN0YXRlLCBUdWlGaWxlU3RhdGVUfSBmcm9tICdAdGFpZ2EtdWkva2l0L2VudW1zJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWZpbGVgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9maWxlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUuc3R5bGUubGVzc2BdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWxlT2xkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsZTogVHVpRmlsZUxpa2UgPSB7bmFtZTogYGB9O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0YXRlOiBUdWlGaWxlU3RhdGVUIHwgVHVpRmlsZVN0YXRlID0gVHVpRmlsZVN0YXRlLk5vcm1hbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9IGBtYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd1NpemUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9mb2N1c2VkYClcbiAgICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChEb21TYW5pdGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0ZJTEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGZpbGVUZXh0cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBSZWNvcmQ8J2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge31cblxuICAgIGdldCBwcmV2aWV3KCk6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQmlnID8gdGhpcy5jcmVhdGVQcmV2aWV3KHRoaXMuZmlsZSwgdGhpcy5zYW5pdGl6ZXIpIDogYGA7XG4gICAgfVxuXG4gICAgZ2V0IGlzQmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSBgbGA7XG4gICAgfVxuXG4gICAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgPT09IFR1aUZpbGVTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLkVycm9yO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBUdWlGaWxlU3RhdGUuRGVsZXRlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLk5vcm1hbCAmJiB0aGlzLmlzQmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gYHR1aUljb25EZWZhdWx0RG9jTGFyZ2VgO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlIFR1aUZpbGVTdGF0ZS5EZWxldGVkOlxuICAgICAgICAgICAgICAgIHJldHVybiBgdHVpSWNvblRyYXNoTGFyZ2VgO1xuICAgICAgICAgICAgY2FzZSBUdWlGaWxlU3RhdGUuRXJyb3I6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB0dWlJY29uQWxlcnRDaXJjbGVMYXJnZWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBgdHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2VgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fbGlua2ApXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCBgYDtcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLm5hbWUuc3BsaXQoYC5gKS5zbGljZSgwLCAtMSkuam9pbihgLmApO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgLiR7dGhpcy5maWxlLm5hbWUuc3BsaXQoYC5gKS5wb3AoKX1gIHx8IGBgO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVSZW1vdmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZm9jdXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb250ZW50JChcbiAgICAgICAgc3RhdGU6IGtleW9mIFJlY29yZDxUdWlGaWxlU3RhdGUsIHN0cmluZz4gfCBzdHJpbmcgfCBUdWlGaWxlU3RhdGUsXG4gICAgICAgIGZpbGU6IFR1aUZpbGVMaWtlLFxuICAgICAgICBmaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDwnbG9hZGluZ0Vycm9yJyB8ICdwcmV2aWV3JyB8ICdyZW1vdmUnLCBzdHJpbmc+PixcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID09PSBUdWlGaWxlU3RhdGUuRXJyb3IgJiYgIWZpbGUuY29udGVudFxuICAgICAgICAgICAgPyBmaWxlVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzLmxvYWRpbmdFcnJvcikpXG4gICAgICAgICAgICA6IG9mKHRoaXMuZmlsZS5jb250ZW50IHx8IGBgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRmlsZVNpemUkKFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgdW5pdHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXT4sXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB1bml0cyQucGlwZShtYXAodW5pdHMgPT4gZm9ybWF0U2l6ZSh1bml0cywgZmlsZS5zaXplKSkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjcmVhdGVQcmV2aWV3KGZpbGU6IFR1aUZpbGVMaWtlLCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIGlmIChmaWxlLnNyYykge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUuc3JjO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGaWxlICYmIGZpbGUudHlwZSAmJiBmaWxlLnR5cGUuc3RhcnRzV2l0aChgaW1hZ2UvYCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgYDtcbiAgICB9XG59XG4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImZpbGUvZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsV0FBVztBQU9YO0lBMkJJLDZCQUNvQyxRQUFpQixFQUNWLFNBQXVCLEVBRXJELFVBRVIsRUFFZ0IsTUFBNEM7UUFQN0IsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFckQsZUFBVSxHQUFWLFVBQVUsQ0FFbEI7UUFFZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBc0M7UUFoQ2pFLFNBQUksR0FBZ0IsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFJL0IsVUFBSyx5QkFBcUQ7UUFJMUQsU0FBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUluQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR1AsZ0JBQVcsR0FB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QUNEO0lBR2hCO1FBREMsTUFBTSxFQUFFOzREQUN1QztJQUdoRDtRQURDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQzt3REFDZDtJQWlEaEI7UUFEQyxXQUFXLENBQUMsYUFBYSxDQUFDO2tEQUcxQjtJQTJCRDtRQURDLE9BQU87Z0VBU1A7SUFHRDtRQURDLE9BQU87aUVBTVA7SUFHRDtRQURDLE9BQU87NERBWVA7SUFySVEsbUJBQW1CO1FBTi9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLDIwRkFBbUM7O1NBRXRDLENBQUM7UUE2Qk8sV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDckIsV0FBQSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDcEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFJdEIsV0FBQSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtPQWxDakMsbUJBQW1CLENBc0kvQjtJQUFELDBCQUFDO0NBQUEsQUF0SUQsSUFzSUM7U0F0SVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9JU19NT0JJTEUsIHR1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZUx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZVN0YXRlLCBUdWlGaWxlU3RhdGVUfSBmcm9tICdAdGFpZ2EtdWkva2l0L2VudW1zJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWZpbGVgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9maWxlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2ZpbGUuc3R5bGUubGVzc2BdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGaWxlT2xkQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZmlsZTogVHVpRmlsZUxpa2UgPSB7bmFtZTogYGB9O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0YXRlOiBUdWlGaWxlU3RhdGVUIHwgVHVpRmlsZVN0YXRlID0gVHVpRmlsZVN0YXRlLk5vcm1hbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9IGBtYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd1NpemUgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgZmlsZVJlbW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9mb2N1c2VkYClcbiAgICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChEb21TYW5pdGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0ZJTEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGZpbGVUZXh0cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBSZWNvcmQ8J2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge31cblxuICAgIGdldCBwcmV2aWV3KCk6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQmlnID8gdGhpcy5jcmVhdGVQcmV2aWV3KHRoaXMuZmlsZSwgdGhpcy5zYW5pdGl6ZXIpIDogYGA7XG4gICAgfVxuXG4gICAgZ2V0IGlzQmlnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXplID09PSBgbGA7XG4gICAgfVxuXG4gICAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUgPT09IFR1aUZpbGVTdGF0ZS5Mb2FkaW5nO1xuICAgIH1cblxuICAgIGdldCBpc0Vycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLkVycm9yO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSBUdWlGaWxlU3RhdGUuRGVsZXRlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gVHVpRmlsZVN0YXRlLk5vcm1hbCAmJiB0aGlzLmlzQmlnKSB7XG4gICAgICAgICAgICByZXR1cm4gYHR1aUljb25EZWZhdWx0RG9jTGFyZ2VgO1xuICAgICAgICB9XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLnN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlIFR1aUZpbGVTdGF0ZS5EZWxldGVkOlxuICAgICAgICAgICAgICAgIHJldHVybiBgdHVpSWNvblRyYXNoTGFyZ2VgO1xuICAgICAgICAgICAgY2FzZSBUdWlGaWxlU3RhdGUuRXJyb3I6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGB0dWlJY29uQWxlcnRDaXJjbGVMYXJnZWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBgdHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2VgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fbGlua2ApXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCBgYDtcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLm5hbWUuc3BsaXQoYC5gKS5zbGljZSgwLCAtMSkuam9pbihgLmApO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgLiR7dGhpcy5maWxlLm5hbWUuc3BsaXQoYC5gKS5wb3AoKX1gIHx8IGBgO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGVSZW1vdmVkLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZm9jdXNWaXNpYmxlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVDb250ZW50JChcbiAgICAgICAgc3RhdGU6IGtleW9mIFJlY29yZDxUdWlGaWxlU3RhdGUsIHN0cmluZz4gfCBzdHJpbmcgfCBUdWlGaWxlU3RhdGUsXG4gICAgICAgIGZpbGU6IFR1aUZpbGVMaWtlLFxuICAgICAgICBmaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDwnbG9hZGluZ0Vycm9yJyB8ICdwcmV2aWV3JyB8ICdyZW1vdmUnLCBzdHJpbmc+PixcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID09PSBUdWlGaWxlU3RhdGUuRXJyb3IgJiYgIWZpbGUuY29udGVudFxuICAgICAgICAgICAgPyBmaWxlVGV4dHMkLnBpcGUobWFwKHRleHRzID0+IHRleHRzLmxvYWRpbmdFcnJvcikpXG4gICAgICAgICAgICA6IG9mKHRoaXMuZmlsZS5jb250ZW50IHx8IGBgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRmlsZVNpemUkKFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgdW5pdHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXT4sXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB1bml0cyQucGlwZShtYXAodW5pdHMgPT4gZm9ybWF0U2l6ZSh1bml0cywgZmlsZS5zaXplKSkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjcmVhdGVQcmV2aWV3KGZpbGU6IFR1aUZpbGVMaWtlLCBzYW5pdGl6ZXI6IERvbVNhbml0aXplcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIGlmIChmaWxlLnNyYykge1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUuc3JjO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVE9ETzogaWZyYW1lIHdhcm5pbmdcbiAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGaWxlICYmIGZpbGUudHlwZSAmJiBmaWxlLnR5cGUuc3RhcnRzV2l0aChgaW1hZ2UvYCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgYDtcbiAgICB9XG59XG4iXX0=
@@ -285,7 +285,7 @@ var TuiInputFileComponent = /** @class */ (function (_super) {
285
285
  TuiInputFileComponent = TuiInputFileComponent_1 = __decorate([
286
286
  Component({
287
287
  selector: "tui-input-file",
288
- template: "<tui-wrapper\n *ngIf=\"multiple || !value\"\n class=\"wrapper\"\n [class.wrapper_mobile]=\"isMobile\"\n [class.wrapper_has-files]=\"hasFiles\"\n [appearance]=\"getAppearance(mode$ | async)\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered || fileDragged\"\n [pressed]=\"computedPressed\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n>\n <label\n *ngIf=\"units$ | async as units\"\n automation-id=\"tui-input-file__label\"\n >\n <a tuiLink>\n <span\n polymorpheus-outlet\n class=\"inline\"\n [content]=\"computedLink$ | async\"\n ></span>\n </a>\n <ng-container *ngIf=\"computedLabel$ | async as computedLabel\">\n <span>&nbsp;</span>\n <span\n polymorpheus-outlet\n class=\"inline\"\n [content]=\"computedLabel\"\n ></span>\n </ng-container>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <input\n *ngIf=\"inputFileTexts$ | async as texts\"\n #input\n type=\"file\"\n tuiPreventDefault=\"mousedown\"\n class=\"native\"\n [id]=\"id\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n (change)=\"onFilesSelected(input, texts, units)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiPressedChange)=\"onPressed($event)\"\n (tuiDroppableDropped)=\"onDropped($event, texts, units)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n />\n </ng-container>\n </label>\n</tui-wrapper>\n\n<section\n *tuiLet=\"mode$ | async as mode\"\n tuiGroup\n orientation=\"vertical\"\n class=\"files\"\n [collapsed]=\"true\"\n>\n <tui-file\n *ngFor=\"let file of rejectedFiles\"\n automation-id=\"tui-input-file__error\"\n state=\"error\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeRejectedFile(file)\"\n ></tui-file>\n <tui-file\n *ngFor=\"let file of computedLoading\"\n automation-id=\"tui-input-file__loading\"\n state=\"loading\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeFile(file)\"\n ></tui-file>\n <tui-file\n *ngFor=\"let file of readyFiles\"\n automation-id=\"tui-input-file__file\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeFile(file)\"\n ></tui-file>\n</section>\n",
288
+ template: "<tui-wrapper\n *ngIf=\"multiple || !value\"\n class=\"t-wrapper\"\n [class.t-wrapper_mobile]=\"isMobile\"\n [class.t-wrapper_has-files]=\"hasFiles\"\n [appearance]=\"getAppearance(mode$ | async)\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered || fileDragged\"\n [pressed]=\"computedPressed\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n>\n <label\n *ngIf=\"units$ | async as units\"\n automation-id=\"tui-input-file__label\"\n >\n <a tuiLink>\n <span\n polymorpheus-outlet\n class=\"t-inline\"\n [content]=\"computedLink$ | async\"\n ></span>\n </a>\n <ng-container *ngIf=\"computedLabel$ | async as computedLabel\">\n <span>&nbsp;</span>\n <span\n polymorpheus-outlet\n class=\"t-inline\"\n [content]=\"computedLabel\"\n ></span>\n </ng-container>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <input\n *ngIf=\"inputFileTexts$ | async as texts\"\n #input\n type=\"file\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-native\"\n [id]=\"id\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n (change)=\"onFilesSelected(input, texts, units)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiPressedChange)=\"onPressed($event)\"\n (tuiDroppableDropped)=\"onDropped($event, texts, units)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n />\n </ng-container>\n </label>\n</tui-wrapper>\n\n<section\n *tuiLet=\"mode$ | async as mode\"\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <tui-file\n *ngFor=\"let file of rejectedFiles\"\n automation-id=\"tui-input-file__error\"\n state=\"error\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeRejectedFile(file)\"\n ></tui-file>\n <tui-file\n *ngFor=\"let file of computedLoading\"\n automation-id=\"tui-input-file__loading\"\n state=\"loading\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeFile(file)\"\n ></tui-file>\n <tui-file\n *ngFor=\"let file of readyFiles\"\n automation-id=\"tui-input-file__file\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeFile(file)\"\n ></tui-file>\n</section>\n",
289
289
  changeDetection: ChangeDetectionStrategy.OnPush,
290
290
  providers: [
291
291
  MODE_PROVIDER,
@@ -294,7 +294,7 @@ var TuiInputFileComponent = /** @class */ (function (_super) {
294
294
  useExisting: forwardRef(function () { return TuiInputFileComponent_1; }),
295
295
  },
296
296
  ],
297
- styles: [":host{display:block;font:var(--tui-font-text-m);word-wrap:break-word;color:var(--tui-text-02)}.native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.native::-webkit-file-upload-button{display:none}.inline{display:inline}.wrapper{display:flex;flex:1;justify-content:center;align-items:center;min-height:var(--tui-height-l);border-radius:var(--tui-radius-m);padding:1rem .5rem;box-sizing:border-box}.wrapper:after{border:1px dashed;color:var(--tui-link)}.wrapper_mobile:after{border-style:solid}.wrapper_has-files{margin-bottom:.5rem}.wrapper[data-state=hovered]{background:var(--tui-secondary)}.wrapper[data-state=hovered]:after{color:var(--tui-link-hover)}.wrapper[data-state=pressed]{background:var(--tui-secondary-hover)}.wrapper[data-state=readonly]{pointer-events:none}.wrapper[data-state=readonly]:after{color:var(--tui-text-03)}.wrapper[data-state=disabled]{opacity:var(--tui-disabled-opacity);pointer-events:none}.wrapper[data-state=disabled]:after{color:var(--tui-text-03)}.wrapper._focused:after{border-style:solid;border-width:2px;color:var(--tui-focus)}.files{display:flex}"]
297
+ styles: [":host{display:block;font:var(--tui-font-text-m);word-wrap:break-word;color:var(--tui-text-02)}.t-native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.t-native::-webkit-file-upload-button{display:none}.t-inline{display:inline}.t-wrapper{display:flex;flex:1;justify-content:center;align-items:center;min-height:var(--tui-height-l);border-radius:var(--tui-radius-m);padding:1rem .5rem;box-sizing:border-box}.t-wrapper:after{border:1px dashed;color:var(--tui-link)}.t-wrapper_mobile:after{border-style:solid}.t-wrapper_has-files{margin-bottom:.5rem}.t-wrapper[data-state=hovered]{background:var(--tui-secondary)}.t-wrapper[data-state=hovered]:after{color:var(--tui-link-hover)}.t-wrapper[data-state=pressed]{background:var(--tui-secondary-hover)}.t-wrapper[data-state=readonly]{pointer-events:none}.t-wrapper[data-state=readonly]:after{color:var(--tui-text-03)}.t-wrapper[data-state=disabled]{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-wrapper[data-state=disabled]:after{color:var(--tui-text-03)}.t-wrapper._focused:after{border-style:solid;border-width:2px;color:var(--tui-focus)}.t-files{display:flex}"]
298
298
  }),
299
299
  __param(0, Optional()),
300
300
  __param(0, Self()),
@@ -308,4 +308,4 @@ var TuiInputFileComponent = /** @class */ (function (_super) {
308
308
  return TuiInputFileComponent;
309
309
  }(AbstractTuiNullableControl));
310
310
  export { TuiInputFileComponent };
311
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImlucHV0LWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNiLGNBQWMsRUFHZCxPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEdBSVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsT0FBTyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLElBQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRO0FBRW5ELFdBQVc7QUFjWDtJQUNZLHlDQUFnRTtJQStDeEUsK0JBSUksT0FBeUIsRUFFekIsaUJBQW9DLEVBRTNCLFFBQWlCLEVBRWpCLGVBWVIsRUFDMEIsS0FBdUMsRUFFekQsTUFBNEM7UUF6QnpELFlBMkJJ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QjtRQWJqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLGdpR0FBeUM7WUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2I7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7aUJBQ3ZEO2FBQ0o7O1NBQ0osQ0FBQztRQWtETyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFckIsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQWM1QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO09BeEVqQyxxQkFBcUIsQ0E0VGpDO0lBQUQsNEJBQUM7Q0FBQSxBQTVURCxDQUNZLDBCQUEwQixHQTJUckM7U0E1VFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpU2l6ZUwsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfSU5QVVRfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgREVGQVVMVF9NQVhfU0laRSA9IDMwICogMTAwMCAqIDEwMDA7IC8vIDMwIE1CXG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1maWxlYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtZmlsZS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1maWxlLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRGaWxlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dEZpbGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUZpbGVMaWtlIHwgcmVhZG9ubHkgVHVpRmlsZUxpa2VbXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIHByaXZhdGUgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsaW5rOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY2NlcHQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gYG1gO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dTaXplID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhGaWxlU2l6ZSA9IERFRkFVTFRfTUFYX1NJWkU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbG9hZGluZ0ZpbGVzOiByZWFkb25seSBUdWlGaWxlTGlrZVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVqZWN0ZWRGaWxlczogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVqZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8cmVhZG9ubHkgVHVpRmlsZUxpa2VbXT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoYGlucHV0YClcbiAgICByZWFkb25seSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpXG4gICAgICAgIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9GSUxFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBpbnB1dEZpbGVUZXh0cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBSZWNvcmQ8XG4gICAgICAgICAgICAgICAgfCAnZGVmYXVsdExhYmVsU2luZ2xlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbE11bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMaW5rU2luZ2xlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMaW5rTXVsdGlwbGUnXG4gICAgICAgICAgICAgICAgfCAnbWF4U2l6ZVJlamVjdGlvblJlYXNvbidcbiAgICAgICAgICAgICAgICB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nXG4gICAgICAgICAgICAgICAgfCAnZHJvcCdcbiAgICAgICAgICAgICAgICB8ICdkcm9wTXVsdGlwbGUnLFxuICAgICAgICAgICAgICAgIHN0cmluZ1xuICAgICAgICAgICAgPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFMpXG4gICAgICAgIHJlYWRvbmx5IHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dCA/IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRMaW5rJCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUxpbmskKHRoaXMuZmlsZURyYWdnZWQsIHRoaXMubXVsdGlwbGUsIHRoaXMubGluayk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTGFiZWwkKCk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTGFiZWwkKFxuICAgICAgICAgICAgdGhpcy5pc01vYmlsZSxcbiAgICAgICAgICAgIHRoaXMuZmlsZURyYWdnZWQsXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlLFxuICAgICAgICAgICAgdGhpcy5sYWJlbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IDMuMCByZWZhY3RvciBhZnRlciBJRSBpcyBkcm9wcGVkXG4gICAgZ2V0IGZpbGVEcmFnZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmRhdGFUcmFuc2ZlciAmJlxuICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0aGlzLmRhdGFUcmFuc2Zlci50eXBlcywgYEZpbGVzYCkgIT09IC0xXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjY2VwdEFycmF5KCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWNjZXB0QXJyYXkodGhpcy5hY2NlcHQpO1xuICAgIH1cblxuICAgIGdldCBhcnJheVZhbHVlKCk6IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUFycmF5KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldCByZWFkeUZpbGVzKCk6IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSZWFkeUZpbGVzKHRoaXMuYXJyYXlWYWx1ZSwgdGhpcy5sb2FkaW5nRmlsZXMpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZExvYWRpbmcoKTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExvYWRpbmdGaWxlcyh0aGlzLmFycmF5VmFsdWUsIHRoaXMubG9hZGluZ0ZpbGVzKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRmlsZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucmVqZWN0ZWRGaWxlcy5sZW5ndGggfHwgISF0aGlzLmFycmF5VmFsdWUubGVuZ3RoO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIGkxOG4gbWVzc2FnZXNcbiAgICBvbkZpbGVzU2VsZWN0ZWQoXG4gICAgICAgIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50LFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGlucHV0LmZpbGVzLCB0ZXh0cywgdW5pdHMpO1xuICAgICAgICBpbnB1dC52YWx1ZSA9IGBgO1xuICAgIH1cblxuICAgIG9uRHJvcHBlZChcbiAgICAgICAgZXZlbnQ6IERhdGFUcmFuc2ZlcixcbiAgICAgICAgdGV4dHM6IFJlY29yZDwnbWF4U2l6ZVJlamVjdGlvblJlYXNvbicgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJywgc3RyaW5nPixcbiAgICAgICAgdW5pdHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzU2VsZWN0ZWRGaWxlcyhldmVudC5maWxlcywgdGV4dHMsIHVuaXRzKTtcbiAgICB9XG5cbiAgICBvbkRyYWdPdmVyKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFUcmFuc2ZlciA9IGRhdGFUcmFuc2ZlcjtcbiAgICB9XG5cbiAgICByZW1vdmVGaWxlKHJlbW92ZWRGaWxlOiBUdWlGaWxlTGlrZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZSA/IHRoaXMuYXJyYXlWYWx1ZS5maWx0ZXIoZmlsZSA9PiBmaWxlICE9PSByZW1vdmVkRmlsZSkgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlbW92ZVJlamVjdGVkRmlsZShyZW1vdmVkRmlsZTogVHVpRmlsZUxpa2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVSZWplY3RlZEZpbGVzKHRoaXMucmVqZWN0ZWRGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlICE9PSByZW1vdmVkRmlsZSkpO1xuICAgIH1cblxuICAgIGdldEFwcGVhcmFuY2UobW9kZTogbnVsbCB8IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9kZSA9PT0gbnVsbCA/IGBgIDogVHVpQXBwZWFyYW5jZS5PdXRsaW5lO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTGluayQoXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGluazogUG9seW1vcnBoZXVzQ29udGVudCxcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgaWYgKGZpbGVEcmFnZ2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoYGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICBtYXAodGV4dHMgPT5cbiAgICAgICAgICAgICAgICBtdWx0aXBsZSAmJiBsaW5rID09PSBgYFxuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMaW5rTXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgOiBsaW5rIHx8IHRleHRzLmRlZmF1bHRMaW5rU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZUxhYmVsJChcbiAgICAgICAgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQsXG4gICAgKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGBgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlRHJhZ2dlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHRleHRzID0+IChtdWx0aXBsZSA/IHRleHRzLmRyb3BNdWx0aXBsZSA6IHRleHRzLmRyb3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEZpbGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcCh0ZXh0cyA9PlxuICAgICAgICAgICAgICAgIG11bHRpcGxlICYmIGxhYmVsID09PSBgYFxuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMYWJlbE11bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgIDogbGFiZWwgfHwgdGV4dHMuZGVmYXVsdExhYmVsU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0VmFsdWVBcnJheShcbiAgICAgICAgdmFsdWU6IFR1aUZpbGVMaWtlIHwgcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB8IG51bGwsXG4gICAgKTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWV9BUlJBWTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRSZWFkeUZpbGVzKFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICAgICAgbG9hZGluZzogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICApOiByZWFkb25seSBUdWlGaWxlTGlrZVtdIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcihmaWxlID0+ICFsb2FkaW5nLmluY2x1ZGVzKGZpbGUpKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0TG9hZGluZ0ZpbGVzKFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICAgICAgbG9hZGluZzogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICApOiByZWFkb25seSBUdWlGaWxlTGlrZVtdIHtcbiAgICAgICAgcmV0dXJuIGxvYWRpbmcuZmlsdGVyKGZpbGUgPT4gdmFsdWUuaW5jbHVkZXMoZmlsZSkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRBY2NlcHRBcnJheShhY2NlcHQ6IHN0cmluZyk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIGFjY2VwdFxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5zcGxpdChgLGApXG4gICAgICAgICAgICAubWFwKGZvcm1hdCA9PiBmb3JtYXQudHJpbSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NTZWxlY3RlZEZpbGVzKFxuICAgICAgICBmaWxlczogRmlsZUxpc3QgfCBudWxsLFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBJRTExIGFmdGVyIHNlbGVjdGluZyBhIGZpbGUgdGhyb3VnaCB0aGUgb3BlbiBkaWFsb2cgZ2VuZXJhdGVzIGEgc2Vjb25kIGV2ZW50IHBhc3NpbmcgYW4gZW1wdHkgRmlsZUxpc3QuXG4gICAgICAgIGlmIChmaWxlcyA9PT0gbnVsbCB8fCBmaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld0ZpbGVzID0gdGhpcy5tdWx0aXBsZSA/IEFycmF5LmZyb20oZmlsZXMpIDogW2ZpbGVzWzBdXTtcbiAgICAgICAgY29uc3QgdG9vQmlnRmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplKTtcbiAgICAgICAgY29uc3Qgd3JvbmdGb3JtYXRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRoaXMuaXNGb3JtYXRBY2NlcHRhYmxlKGZpbGUpICYmICF0b29CaWdGaWxlcy5pbmNsdWRlcyhmaWxlKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYWNjZXB0ZWRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRvb0JpZ0ZpbGVzLmluY2x1ZGVzKGZpbGUpICYmICF3cm9uZ0Zvcm1hdEZpbGVzLmluY2x1ZGVzKGZpbGUpLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUmVqZWN0ZWRGaWxlcyhbXG4gICAgICAgICAgICAuLi50b29CaWdGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XG4gICAgICAgICAgICAgICAgICAgIHRleHRzLm1heFNpemVSZWplY3Rpb25SZWFzb24gKyBmb3JtYXRTaXplKHVuaXRzLCB0aGlzLm1heEZpbGVTaXplKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLndyb25nRm9ybWF0RmlsZXMubWFwKGZpbGUgPT4gKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiB0ZXh0cy5mb3JtYXRSZWplY3Rpb25SZWFzb24sXG4gICAgICAgICAgICB9KSksXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgICAgID8gWy4uLnRoaXMuYXJyYXlWYWx1ZSwgLi4uYWNjZXB0ZWRGaWxlc11cbiAgICAgICAgICAgICAgICA6IGFjY2VwdGVkRmlsZXNbMF0gfHwgbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRm9ybWF0QWNjZXB0YWJsZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5hY2NlcHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gYC4keyhmaWxlLm5hbWUuc3BsaXQoYC5gKS5wb3AoKSB8fCBgYCkudG9Mb3dlckNhc2UoKX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFjY2VwdEFycmF5LnNvbWUoXG4gICAgICAgICAgICBmb3JtYXQgPT5cbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09IGV4dGVuc2lvbiB8fFxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gZmlsZS50eXBlIHx8XG4gICAgICAgICAgICAgICAgKGZvcm1hdC5zcGxpdChgL2ApWzFdID09PSBgKmAgJiZcbiAgICAgICAgICAgICAgICAgICAgZmlsZS50eXBlLnNwbGl0KGAvYClbMF0gPT09IGZvcm1hdC5zcGxpdChgL2ApWzBdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlamVjdGVkRmlsZXMocmVqZWN0ZWRGaWxlczogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlamVjdGVkRmlsZXMgPSByZWplY3RlZEZpbGVzO1xuICAgICAgICB0aGlzLnJlamVjdGVkRmlsZXNDaGFuZ2UuZW1pdChyZWplY3RlZEZpbGVzKTtcbiAgICB9XG59XG4iXX0=
311
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImlucHV0LWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNiLGNBQWMsRUFHZCxPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEdBSVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsT0FBTyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLElBQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRO0FBRW5ELFdBQVc7QUFjWDtJQUNZLHlDQUFnRTtJQStDeEUsK0JBSUksT0FBeUIsRUFFekIsaUJBQW9DLEVBRTNCLFFBQWlCLEVBRWpCLGVBWVIsRUFDMEIsS0FBdUMsRUFFekQsTUFBNEM7UUF6QnpELFlBMkJJ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QjtRQWJqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLDhpR0FBeUM7WUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2I7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7aUJBQ3ZEO2FBQ0o7O1NBQ0osQ0FBQztRQWtETyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFckIsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQWM1QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO09BeEVqQyxxQkFBcUIsQ0E0VGpDO0lBQUQsNEJBQUM7Q0FBQSxBQTVURCxDQUNZLDBCQUEwQixHQTJUckM7U0E1VFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpU2l6ZUwsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfSU5QVVRfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgREVGQVVMVF9NQVhfU0laRSA9IDMwICogMTAwMCAqIDEwMDA7IC8vIDMwIE1CXG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1maWxlYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtZmlsZS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1maWxlLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRGaWxlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dEZpbGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUZpbGVMaWtlIHwgcmVhZG9ubHkgVHVpRmlsZUxpa2VbXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIHByaXZhdGUgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsaW5rOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY2NlcHQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gYG1gO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dTaXplID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhGaWxlU2l6ZSA9IERFRkFVTFRfTUFYX1NJWkU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbG9hZGluZ0ZpbGVzOiByZWFkb25seSBUdWlGaWxlTGlrZVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVqZWN0ZWRGaWxlczogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVqZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8cmVhZG9ubHkgVHVpRmlsZUxpa2VbXT4oKTtcblxuICAgIEBWaWV3Q2hpbGQoYGlucHV0YClcbiAgICByZWFkb25seSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpXG4gICAgICAgIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9GSUxFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBpbnB1dEZpbGVUZXh0cyQ6IE9ic2VydmFibGU8XG4gICAgICAgICAgICBSZWNvcmQ8XG4gICAgICAgICAgICAgICAgfCAnZGVmYXVsdExhYmVsU2luZ2xlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbE11bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMaW5rU2luZ2xlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMaW5rTXVsdGlwbGUnXG4gICAgICAgICAgICAgICAgfCAnbWF4U2l6ZVJlamVjdGlvblJlYXNvbidcbiAgICAgICAgICAgICAgICB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nXG4gICAgICAgICAgICAgICAgfCAnZHJvcCdcbiAgICAgICAgICAgICAgICB8ICdkcm9wTXVsdGlwbGUnLFxuICAgICAgICAgICAgICAgIHN0cmluZ1xuICAgICAgICAgICAgPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFMpXG4gICAgICAgIHJlYWRvbmx5IHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dCA/IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRMaW5rJCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUxpbmskKHRoaXMuZmlsZURyYWdnZWQsIHRoaXMubXVsdGlwbGUsIHRoaXMubGluayk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTGFiZWwkKCk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTGFiZWwkKFxuICAgICAgICAgICAgdGhpcy5pc01vYmlsZSxcbiAgICAgICAgICAgIHRoaXMuZmlsZURyYWdnZWQsXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlLFxuICAgICAgICAgICAgdGhpcy5sYWJlbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IDMuMCByZWZhY3RvciBhZnRlciBJRSBpcyBkcm9wcGVkXG4gICAgZ2V0IGZpbGVEcmFnZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmRhdGFUcmFuc2ZlciAmJlxuICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0aGlzLmRhdGFUcmFuc2Zlci50eXBlcywgYEZpbGVzYCkgIT09IC0xXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjY2VwdEFycmF5KCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWNjZXB0QXJyYXkodGhpcy5hY2NlcHQpO1xuICAgIH1cblxuICAgIGdldCBhcnJheVZhbHVlKCk6IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUFycmF5KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldCByZWFkeUZpbGVzKCk6IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSZWFkeUZpbGVzKHRoaXMuYXJyYXlWYWx1ZSwgdGhpcy5sb2FkaW5nRmlsZXMpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZExvYWRpbmcoKTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExvYWRpbmdGaWxlcyh0aGlzLmFycmF5VmFsdWUsIHRoaXMubG9hZGluZ0ZpbGVzKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRmlsZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucmVqZWN0ZWRGaWxlcy5sZW5ndGggfHwgISF0aGlzLmFycmF5VmFsdWUubGVuZ3RoO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIGkxOG4gbWVzc2FnZXNcbiAgICBvbkZpbGVzU2VsZWN0ZWQoXG4gICAgICAgIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50LFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGlucHV0LmZpbGVzLCB0ZXh0cywgdW5pdHMpO1xuICAgICAgICBpbnB1dC52YWx1ZSA9IGBgO1xuICAgIH1cblxuICAgIG9uRHJvcHBlZChcbiAgICAgICAgZXZlbnQ6IERhdGFUcmFuc2ZlcixcbiAgICAgICAgdGV4dHM6IFJlY29yZDwnbWF4U2l6ZVJlamVjdGlvblJlYXNvbicgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJywgc3RyaW5nPixcbiAgICAgICAgdW5pdHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzU2VsZWN0ZWRGaWxlcyhldmVudC5maWxlcywgdGV4dHMsIHVuaXRzKTtcbiAgICB9XG5cbiAgICBvbkRyYWdPdmVyKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFUcmFuc2ZlciA9IGRhdGFUcmFuc2ZlcjtcbiAgICB9XG5cbiAgICByZW1vdmVGaWxlKHJlbW92ZWRGaWxlOiBUdWlGaWxlTGlrZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZSA/IHRoaXMuYXJyYXlWYWx1ZS5maWx0ZXIoZmlsZSA9PiBmaWxlICE9PSByZW1vdmVkRmlsZSkgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlbW92ZVJlamVjdGVkRmlsZShyZW1vdmVkRmlsZTogVHVpRmlsZUxpa2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVSZWplY3RlZEZpbGVzKHRoaXMucmVqZWN0ZWRGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlICE9PSByZW1vdmVkRmlsZSkpO1xuICAgIH1cblxuICAgIGdldEFwcGVhcmFuY2UobW9kZTogbnVsbCB8IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9kZSA9PT0gbnVsbCA/IGBgIDogVHVpQXBwZWFyYW5jZS5PdXRsaW5lO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTGluayQoXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGluazogUG9seW1vcnBoZXVzQ29udGVudCxcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgaWYgKGZpbGVEcmFnZ2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoYGApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICBtYXAodGV4dHMgPT5cbiAgICAgICAgICAgICAgICBtdWx0aXBsZSAmJiBsaW5rID09PSBgYFxuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMaW5rTXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgOiBsaW5rIHx8IHRleHRzLmRlZmF1bHRMaW5rU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZUxhYmVsJChcbiAgICAgICAgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQsXG4gICAgKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGBgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlRHJhZ2dlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHRleHRzID0+IChtdWx0aXBsZSA/IHRleHRzLmRyb3BNdWx0aXBsZSA6IHRleHRzLmRyb3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEZpbGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcCh0ZXh0cyA9PlxuICAgICAgICAgICAgICAgIG11bHRpcGxlICYmIGxhYmVsID09PSBgYFxuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMYWJlbE11bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgIDogbGFiZWwgfHwgdGV4dHMuZGVmYXVsdExhYmVsU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0VmFsdWVBcnJheShcbiAgICAgICAgdmFsdWU6IFR1aUZpbGVMaWtlIHwgcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB8IG51bGwsXG4gICAgKTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWV9BUlJBWTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRSZWFkeUZpbGVzKFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICAgICAgbG9hZGluZzogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICApOiByZWFkb25seSBUdWlGaWxlTGlrZVtdIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmZpbHRlcihmaWxlID0+ICFsb2FkaW5nLmluY2x1ZGVzKGZpbGUpKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0TG9hZGluZ0ZpbGVzKFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICAgICAgbG9hZGluZzogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSxcbiAgICApOiByZWFkb25seSBUdWlGaWxlTGlrZVtdIHtcbiAgICAgICAgcmV0dXJuIGxvYWRpbmcuZmlsdGVyKGZpbGUgPT4gdmFsdWUuaW5jbHVkZXMoZmlsZSkpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRBY2NlcHRBcnJheShhY2NlcHQ6IHN0cmluZyk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIGFjY2VwdFxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5zcGxpdChgLGApXG4gICAgICAgICAgICAubWFwKGZvcm1hdCA9PiBmb3JtYXQudHJpbSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NTZWxlY3RlZEZpbGVzKFxuICAgICAgICBmaWxlczogRmlsZUxpc3QgfCBudWxsLFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBJRTExIGFmdGVyIHNlbGVjdGluZyBhIGZpbGUgdGhyb3VnaCB0aGUgb3BlbiBkaWFsb2cgZ2VuZXJhdGVzIGEgc2Vjb25kIGV2ZW50IHBhc3NpbmcgYW4gZW1wdHkgRmlsZUxpc3QuXG4gICAgICAgIGlmIChmaWxlcyA9PT0gbnVsbCB8fCBmaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld0ZpbGVzID0gdGhpcy5tdWx0aXBsZSA/IEFycmF5LmZyb20oZmlsZXMpIDogW2ZpbGVzWzBdXTtcbiAgICAgICAgY29uc3QgdG9vQmlnRmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplKTtcbiAgICAgICAgY29uc3Qgd3JvbmdGb3JtYXRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRoaXMuaXNGb3JtYXRBY2NlcHRhYmxlKGZpbGUpICYmICF0b29CaWdGaWxlcy5pbmNsdWRlcyhmaWxlKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYWNjZXB0ZWRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRvb0JpZ0ZpbGVzLmluY2x1ZGVzKGZpbGUpICYmICF3cm9uZ0Zvcm1hdEZpbGVzLmluY2x1ZGVzKGZpbGUpLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUmVqZWN0ZWRGaWxlcyhbXG4gICAgICAgICAgICAuLi50b29CaWdGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XG4gICAgICAgICAgICAgICAgICAgIHRleHRzLm1heFNpemVSZWplY3Rpb25SZWFzb24gKyBmb3JtYXRTaXplKHVuaXRzLCB0aGlzLm1heEZpbGVTaXplKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLndyb25nRm9ybWF0RmlsZXMubWFwKGZpbGUgPT4gKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiB0ZXh0cy5mb3JtYXRSZWplY3Rpb25SZWFzb24sXG4gICAgICAgICAgICB9KSksXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgICAgID8gWy4uLnRoaXMuYXJyYXlWYWx1ZSwgLi4uYWNjZXB0ZWRGaWxlc11cbiAgICAgICAgICAgICAgICA6IGFjY2VwdGVkRmlsZXNbMF0gfHwgbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRm9ybWF0QWNjZXB0YWJsZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5hY2NlcHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gYC4keyhmaWxlLm5hbWUuc3BsaXQoYC5gKS5wb3AoKSB8fCBgYCkudG9Mb3dlckNhc2UoKX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFjY2VwdEFycmF5LnNvbWUoXG4gICAgICAgICAgICBmb3JtYXQgPT5cbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09IGV4dGVuc2lvbiB8fFxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gZmlsZS50eXBlIHx8XG4gICAgICAgICAgICAgICAgKGZvcm1hdC5zcGxpdChgL2ApWzFdID09PSBgKmAgJiZcbiAgICAgICAgICAgICAgICAgICAgZmlsZS50eXBlLnNwbGl0KGAvYClbMF0gPT09IGZvcm1hdC5zcGxpdChgL2ApWzBdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlamVjdGVkRmlsZXMocmVqZWN0ZWRGaWxlczogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlamVjdGVkRmlsZXMgPSByZWplY3RlZEZpbGVzO1xuICAgICAgICB0aGlzLnJlamVjdGVkRmlsZXNDaGFuZ2UuZW1pdChyZWplY3RlZEZpbGVzKTtcbiAgICB9XG59XG4iXX0=
@@ -99,10 +99,10 @@ var TuiInputMonthComponent = /** @class */ (function (_super) {
99
99
  TuiInputMonthComponent = __decorate([
100
100
  Component({
101
101
  selector: "tui-input-month",
102
- template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n class=\"textfield\"\n [editable]=\"false\"\n [disabled]=\"computedDisabled\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"calendarIcon\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [value]=\"(value | tuiMapper: formatter | async) || ''\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"value\"\n [(year)]=\"activeYear\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n",
102
+ template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [editable]=\"false\"\n [disabled]=\"computedDisabled\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"calendarIcon\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [value]=\"(value | tuiMapper: formatter | async) || ''\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"value\"\n [(year)]=\"activeYear\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n",
103
103
  providers: TUI_INPUT_MONTH_PROVIDERS,
104
104
  changeDetection: ChangeDetectionStrategy.OnPush,
105
- styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.hosted{display:block;border-radius:inherit}.textfield{border-radius:inherit;text-align:inherit}.icon{position:relative;cursor:pointer}"]
105
+ styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}"]
106
106
  }),
107
107
  __param(0, Optional()),
108
108
  __param(0, Self()),
@@ -114,4 +114,4 @@ var TuiInputMonthComponent = /** @class */ (function (_super) {
114
114
  return TuiInputMonthComponent;
115
115
  }(AbstractTuiNullableControl));
116
116
  export { TuiInputMonthComponent };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFFWixNQUFNLEVBQ04sY0FBYyxHQUtqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRWxFLFdBQVc7QUFRWDtJQUNZLDBDQUFvQztJQXFCNUMsZ0NBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFFOUMsYUFBd0MsRUFFaEQsU0FBMEQ7UUFUdkUsWUFXSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFMb0IsbUJBQWEsR0FBYixhQUFhLENBQTJCO1FBRWhELGVBQVMsR0FBVCxTQUFTLENBQWlEO1FBdEJ2RSxTQUFHLEdBQWEsYUFBYSxDQUFDO1FBSTlCLFNBQUcsR0FBYSxZQUFZLENBQUM7UUFJN0IseUJBQW1CLEdBQWdDLG9CQUFvQixDQUFDO1FBRXhFLFVBQUksR0FBRyxLQUFLLENB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Q0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFMUIsV0FBQSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtPQTlCdkIsc0JBQXNCLENBNEZsQztJQUFELDZCQUFDO0NBQUEsQUE1RkQsQ0FDWSwwQkFBMEIsR0EyRnJDO1NBNUZZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUhhbmRsZXIsXG4gICAgVHVpTW9udGgsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9NT05USF9QUk9WSURFUlN9IGZyb20gJy4vaW5wdXQtbW9udGgucHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LW1vbnRoYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtbW9udGgudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtbW9udGguc3R5bGUubGVzc2BdLFxuICAgIHByb3ZpZGVyczogVFVJX0lOUFVUX01PTlRIX1BST1ZJREVSUyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRNb250aENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpTW9udGg+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aU1vbnRoID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuICAgIGFjdGl2ZVllYXI6IFR1aVllYXIgPSB0aGlzLnZhbHVlIHx8IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX01PTlRIX0ZPUk1BVFRFUilcbiAgICAgICAgcmVhZG9ubHkgZm9ybWF0dGVyOiBUdWlIYW5kbGVyPFR1aU1vbnRoIHwgbnVsbCwgT2JzZXJ2YWJsZTxzdHJpbmc+PixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLnRleHRmaWVsZFNpemUuc2l6ZSlcbiAgICAgICAgICAgID8gYHR1aUljb25DYWxlbmRhckxhcmdlYFxuICAgICAgICAgICAgOiBgdHVpSWNvbkNhbGVuZGFyYDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2xpY2sobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobW9udGgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAob3BlbiAmJiB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFFWixNQUFNLEVBQ04sY0FBYyxHQUtqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3pELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRWxFLFdBQVc7QUFRWDtJQUNZLDBDQUFvQztJQXFCNUMsZ0NBSUksT0FBeUIsRUFDRSxpQkFBb0MsRUFFOUMsYUFBd0MsRUFFaEQsU0FBMEQ7UUFUdkUsWUFXSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFMb0IsbUJBQWEsR0FBYixhQUFhLENBQTJCO1FBRWhELGVBQVMsR0FBVCxTQUFTLENBQWlEO1FBdEJ2RSxTQUFHLEdBQWEsYUFBYSxDQUFDO1FBSTlCLFNBQUcsR0FBYSxZQUFZLENBQUM7UUFJN0IseUJBQW1CLEdBQWdDLG9CQUFvQixDQUFDO1FBRXhFLFVBQUksR0FBRyxLQUFLLENB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Q0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFMUIsV0FBQSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtPQTlCdkIsc0JBQXNCLENBNEZsQztJQUFELDZCQUFDO0NBQUEsQUE1RkQsQ0FDWSwwQkFBMEIsR0EyRnJDO1NBNUZZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUhhbmRsZXIsXG4gICAgVHVpTW9udGgsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9NT05USF9QUk9WSURFUlN9IGZyb20gJy4vaW5wdXQtbW9udGgucHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LW1vbnRoYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtbW9udGgudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtbW9udGguc3R5bGUubGVzc2BdLFxuICAgIHByb3ZpZGVyczogVFVJX0lOUFVUX01PTlRIX1BST1ZJREVSUyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRNb250aENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpTW9udGg+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aU1vbnRoID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuICAgIGFjdGl2ZVllYXI6IFR1aVllYXIgPSB0aGlzLnZhbHVlIHx8IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX01PTlRIX0ZPUk1BVFRFUilcbiAgICAgICAgcmVhZG9ubHkgZm9ybWF0dGVyOiBUdWlIYW5kbGVyPFR1aU1vbnRoIHwgbnVsbCwgT2JzZXJ2YWJsZTxzdHJpbmc+PixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLnRleHRmaWVsZFNpemUuc2l6ZSlcbiAgICAgICAgICAgID8gYHR1aUljb25DYWxlbmRhckxhcmdlYFxuICAgICAgICAgICAgOiBgdHVpSWNvbkNhbGVuZGFyYDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2xpY2sobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobW9udGgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAob3BlbiAmJiB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVllYXIgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -107,10 +107,10 @@ var TuiInputMonthRangeComponent = /** @class */ (function (_super) {
107
107
  TuiInputMonthRangeComponent = __decorate([
108
108
  Component({
109
109
  selector: "tui-input-month-range",
110
- template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n class=\"textfield\"\n [editable]=\"false\"\n [disabled]=\"computedDisabled\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"calendarIcon\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [value]=\"\n value\n ? computeValue(value.from | tuiMapper: formatter | async, value.to | tuiMapper: formatter | async)\n : ''\n \"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"value\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n",
110
+ template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n class=\"t-textfield\"\n [editable]=\"false\"\n [disabled]=\"computedDisabled\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"calendarIcon\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [value]=\"\n value\n ? computeValue(value.from | tuiMapper: formatter | async, value.to | tuiMapper: formatter | async)\n : ''\n \"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"value\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n",
111
111
  providers: TUI_INPUT_MONTH_RANGE_PROVIDERS,
112
112
  changeDetection: ChangeDetectionStrategy.OnPush,
113
- styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.hosted{display:block;border-radius:inherit}.textfield{border-radius:inherit;text-align:inherit}.icon{position:relative;cursor:pointer}"]
113
+ styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}"]
114
114
  }),
115
115
  __param(0, Optional()),
116
116
  __param(0, Self()),
@@ -122,4 +122,4 @@ var TuiInputMonthRangeComponent = /** @class */ (function (_super) {
122
122
  return TuiInputMonthRangeComponent;
123
123
  }(AbstractTuiNullableControl));
124
124
  export { TuiInputMonthRangeComponent };
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osY0FBYyxFQUlkLGFBQWEsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsOEJBQThCLEVBQzlCLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUl6RCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU5RSxXQUFXO0FBUVg7SUFDWSwrQ0FBeUM7SUFxQmpELHFDQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRXRELFNBQTBELEVBRWxELGFBQXdDO1FBVDdELFlBV0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBTFksZUFBUyxHQUFULFNBQVMsQ0FBaUQ7UUFFbEQsbUJBQWEsR0FBYixhQUFhLENBQTJCO1FBdEI3RCxTQUFHLEdBQWEsYUFBYSxDQUFDO1FBSTlCLFNBQUcsR0FBYSxZQUFZLENBQUM7UUFJN0IseUJBQW1CLEdBQ2Ysb0JBQW9CLENB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QUFNLFNBQUMsbUJBQW1CO2dCQUdLLHlCQUF5Qix1QkFEeEQsTUFBTSxTQUFDLGtCQUFrQjs7SUF6QjlCO1FBREMsU0FBUyxDQUFDLDhCQUE4QixDQUFDO2tFQUNrQjtJQUk1RDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0REFDYTtJQUk5QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0REFDWTtJQUk3QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0RUFFUTtJQWxCaEIsMkJBQTJCO1FBUHZDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsKzZDQUFnRDtZQUVoRCxTQUFTLEVBQUUsK0JBQStCO1lBQzFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBd0JPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRTNCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7T0E5QnRCLDJCQUEyQixDQXdHdkM7SUFBRCxrQ0FBQztDQUFBLEFBeEdELENBQ1ksMEJBQTBCLEdBdUdyQztTQXhHWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQ0hBUl9FTl9EQVNILFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlIYW5kbGVyLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpTW9udGhDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTU9OVEhfUkFOR0VfUFJPVklERVJTfSBmcm9tICcuL2lucHV0LW1vbnRoLXJhbmdlLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1tb250aC1yYW5nZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LW1vbnRoLXJhbmdlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LW1vbnRoLXJhbmdlLnN0eWxlLmxlc3NgXSxcbiAgICBwcm92aWRlcnM6IFRVSV9JTlBVVF9NT05USF9SQU5HRV9QUk9WSURFUlMsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TW9udGhSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpTW9udGhSYW5nZT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlNb250aD4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dDxUdWlNb250aCwgVHVpTW9udGhDb250ZXh0PiA9XG4gICAgICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKVxuICAgICAgICByZWFkb25seSBmb3JtYXR0ZXI6IFR1aUhhbmRsZXI8VHVpTW9udGggfCBudWxsLCBPYnNlcnZhYmxlPHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQgPyB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQgJiYgdGhpcy50ZXh0ZmllbGQuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzaXplQmlnZ2VyKHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplKVxuICAgICAgICAgICAgPyBgdHVpSWNvbkNhbGVuZGFyTGFyZ2VgXG4gICAgICAgICAgICA6IGB0dWlJY29uQ2FsZW5kYXJgO1xuICAgIH1cblxuICAgIGNvbXB1dGVWYWx1ZShmcm9tOiBzdHJpbmcgfCBudWxsLCB0bzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFRvID0gZnJvbSA9PT0gdG8gJiYgdGhpcy5mb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5ID8gYGAgOiB0bztcblxuICAgICAgICByZXR1cm4gYCR7ZnJvbX0gJHtDSEFSX0VOX0RBU0h9ICR7Zm9ybWF0dGVkVG99YDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2xpY2sobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsIHx8ICF0aGlzLnZhbHVlLmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShuZXcgVHVpTW9udGhSYW5nZShtb250aCwgbW9udGgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShUdWlNb250aFJhbmdlLnNvcnQodGhpcy52YWx1ZS5mcm9tLCBtb250aCkpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZT8uaXNTaW5nbGVNb250aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXcgVHVpTW9udGhSYW5nZSh0aGlzLnZhbHVlLmZyb20sIHRoaXMudmFsdWUuZnJvbSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osY0FBYyxFQUlkLGFBQWEsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsOEJBQThCLEVBQzlCLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUl6RCxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUU5RSxXQUFXO0FBUVg7SUFDWSwrQ0FBeUM7SUFxQmpELHFDQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRXRELFNBQTBELEVBRWxELGFBQXdDO1FBVDdELFlBV0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBTFksZUFBUyxHQUFULFNBQVMsQ0FBaUQ7UUFFbEQsbUJBQWEsR0FBYixhQUFhLENBQTJCO1FBdEI3RCxTQUFHLEdBQWEsYUFBYSxDQUFDO1FBSTlCLFNBQUcsR0FBYSxZQUFZLENBQUM7UUFJN0IseUJBQW1CLEdBQ2Ysb0JBQW9CLENB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QUFNLFNBQUMsbUJBQW1CO2dCQUdLLHlCQUF5Qix1QkFEeEQsTUFBTSxTQUFDLGtCQUFrQjs7SUF6QjlCO1FBREMsU0FBUyxDQUFDLDhCQUE4QixDQUFDO2tFQUNrQjtJQUk1RDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0REFDYTtJQUk5QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0REFDWTtJQUk3QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTs0RUFFUTtJQWxCaEIsMkJBQTJCO1FBUHZDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsbTdDQUFnRDtZQUVoRCxTQUFTLEVBQUUsK0JBQStCO1lBQzFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBd0JPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBRTNCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7T0E5QnRCLDJCQUEyQixDQXdHdkM7SUFBRCxrQ0FBQztDQUFBLEFBeEdELENBQ1ksMEJBQTBCLEdBdUdyQztTQXhHWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQ0hBUl9FTl9EQVNILFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlIYW5kbGVyLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpTW9udGhDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfTU9OVEhfRk9STUFUVEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTU9OVEhfUkFOR0VfUFJPVklERVJTfSBmcm9tICcuL2lucHV0LW1vbnRoLXJhbmdlLnByb3ZpZGVycyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1tb250aC1yYW5nZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LW1vbnRoLXJhbmdlLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LW1vbnRoLXJhbmdlLnN0eWxlLmxlc3NgXSxcbiAgICBwcm92aWRlcnM6IFRVSV9JTlBVVF9NT05USF9SQU5HRV9QUk9WSURFUlMsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TW9udGhSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpTW9udGhSYW5nZT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlNb250aD4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dDxUdWlNb250aCwgVHVpTW9udGhDb250ZXh0PiA9XG4gICAgICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTU9OVEhfRk9STUFUVEVSKVxuICAgICAgICByZWFkb25seSBmb3JtYXR0ZXI6IFR1aUhhbmRsZXI8VHVpTW9udGggfCBudWxsLCBPYnNlcnZhYmxlPHN0cmluZz4+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfU0laRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplOiBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQgPyB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQgJiYgdGhpcy50ZXh0ZmllbGQuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzaXplQmlnZ2VyKHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplKVxuICAgICAgICAgICAgPyBgdHVpSWNvbkNhbGVuZGFyTGFyZ2VgXG4gICAgICAgICAgICA6IGB0dWlJY29uQ2FsZW5kYXJgO1xuICAgIH1cblxuICAgIGNvbXB1dGVWYWx1ZShmcm9tOiBzdHJpbmcgfCBudWxsLCB0bzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFRvID0gZnJvbSA9PT0gdG8gJiYgdGhpcy5mb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5ID8gYGAgOiB0bztcblxuICAgICAgICByZXR1cm4gYCR7ZnJvbX0gJHtDSEFSX0VOX0RBU0h9ICR7Zm9ybWF0dGVkVG99YDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICB9XG5cbiAgICBvbk1vbnRoQ2xpY2sobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsIHx8ICF0aGlzLnZhbHVlLmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShuZXcgVHVpTW9udGhSYW5nZShtb250aCwgbW9udGgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShUdWlNb250aFJhbmdlLnNvcnQodGhpcy52YWx1ZS5mcm9tLCBtb250aCkpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZT8uaXNTaW5nbGVNb250aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXcgVHVpTW9udGhSYW5nZSh0aGlzLnZhbHVlLmZyb20sIHRoaXMudmFsdWUuZnJvbSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIl19
@@ -267,7 +267,7 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
267
267
  TuiInputNumberComponent = TuiInputNumberComponent_1 = __decorate([
268
268
  Component({
269
269
  selector: "tui-input-number",
270
- template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"textfield\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoPressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n [tuiTextfieldInputMode]=\"inputMode\"\n [tuiTextfieldMaxLength]=\"calculatedMaxLength\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"isNegativeAllowed | tuiMapper: mask:decimal:precision:nativeFocusableElement\"\n [value]=\"computedValue\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [focusable]=\"focusable\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n polymorpheus-outlet\n class=\"t-value-content\"\n [content]=\"valueContent\"\n ></div>\n</tui-primitive-textfield>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\"></ng-container>\n\n<ng-template #valueContent>\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n</ng-template>\n",
270
+ template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoPressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n [tuiTextfieldInputMode]=\"inputMode\"\n [tuiTextfieldMaxLength]=\"calculatedMaxLength\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"isNegativeAllowed | tuiMapper: mask:decimal:precision:nativeFocusableElement\"\n [value]=\"computedValue\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [focusable]=\"focusable\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n polymorpheus-outlet\n class=\"t-value-content\"\n [content]=\"valueContent\"\n ></div>\n</tui-primitive-textfield>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\"></ng-container>\n\n<ng-template #valueContent>\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n</ng-template>\n",
271
271
  changeDetection: ChangeDetectionStrategy.OnPush,
272
272
  providers: [
273
273
  {
@@ -279,7 +279,7 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
279
279
  useExisting: forwardRef(function () { return TuiInputNumberComponent_1; }),
280
280
  },
281
281
  ],
282
- styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.textfield{border-radius:inherit;text-align:inherit}.t-value-content{width:100%}"]
282
+ styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-textfield{border-radius:inherit;text-align:inherit}.t-value-content{width:100%}"]
283
283
  }),
284
284
  __param(0, Optional()),
285
285
  __param(0, Self()),
@@ -291,4 +291,4 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
291
291
  return TuiInputNumberComponent;
292
292
  }(AbstractTuiNullableControl));
293
293
  export { TuiInputNumberComponent };
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvIiwic291cmNlcyI6WyJpbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCwyQkFBMkIsRUFDM0IsVUFBVSxFQUNWLGNBQWMsR0FJakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFlBQVksRUFDWixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFFbkIsaUNBQWlDLEVBRWpDLDhCQUE4QixHQUVqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBR3JFLElBQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRTlCLFdBQVc7QUFpQlg7SUFDWSwyQ0FBa0M7SUFpQzFDLGlDQUlJLE9BQXlCLEVBRXpCLGlCQUFvQyxFQUVuQixZQUFxQyxFQUNqQixLQUFjO1FBVHZELFlBV0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBSm9CLGtCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNqQixXQUFLLEdBQUwsS0FBSyxDQUFTO1FBbEN2RCxT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QUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUV6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtPQTNDZCx1QkFBdUIsQ0E4U25DO0lBQUQsOEJBQUM7Q0FBQSxBQTlTRCxDQUNZLDBCQUEwQixHQTZTckM7U0E5U1ksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlJbnB1dE1vZGVULFxuICAgIFR1aU1hcHBlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBnZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgbWFza2VkTW9uZXlWYWx1ZUlzRW1wdHksXG4gICAgbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIsXG4gICAgVFVJX0RFQ0lNQUxfU1lNQk9MUyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZSxcbiAgICB0dWlDcmVhdGVOdW1iZXJNYXNrLFxuICAgIFR1aURlY2ltYWxULFxuICAgIHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldENvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtbnVtYmVyYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LW51bWJlci5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWJzdHJhY3RUdWlDb250cm9sLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW1pdGl2ZVRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAtSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVjaW1hbDogVHVpRGVjaW1hbFQgPSBgbm90LXplcm9gO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWNpc2lvbiA9IDI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9IGBgO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQb2x5bW9ycGhldXNPdXRsZXRDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgcG9seW1vcnBoZXVzVmFsdWVDb250ZW50OiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSU9TOiBib29sZWFuLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkICYmIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzTmVnYXRpdmVBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPCAwO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogVHVpSW5wdXRNb2RlVCB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TICYmIHRoaXMuaXNOZWdhdGl2ZUFsbG93ZWQpIHtcbiAgICAgICAgICAgIC8vIGlwaG9uZXMgZG8gbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgaXMgZXF1YWwgdG8gJ251bWVyaWMnIC8gJ2RlY2ltYWwnXG4gICAgICAgICAgICByZXR1cm4gYHRleHRgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbCA9PT0gYG5ldmVyYCA/IGBudW1lcmljYCA6IGBkZWNpbWFsYDtcbiAgICB9XG5cbiAgICBnZXQgY2FsY3VsYXRlZE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICB0aGlzLmRlY2ltYWwgIT09IGBuZXZlcmAgJiZcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuaW5jbHVkZXModGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGRlY2ltYWxQYXJ0ID8gdGhpcy5wcmVjaXNpb24gKyAxIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlIHx8IDApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGwgPyBgYCA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi4wYCwgW2AkZXZlbnRgXSlcbiAgICBvblplcm8oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbCA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpWzFdIHx8IGBgO1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2ltYWwubGVuZ3RoIDwgdGhpcy5wcmVjaXNpb24gfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICAhbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZVtuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0XSAhPT0gYDBgXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCsrO1xuICAgIH1cblxuICAgIG1hc2s6IFR1aU1hcHBlcjxib29sZWFuLCBUZXh0TWFza0NvbmZpZz4gPSAoXG4gICAgICAgIGFsbG93TmVnYXRpdmU6IGJvb2xlYW4sXG4gICAgICAgIGRlY2ltYWw6IFR1aURlY2ltYWxULFxuICAgICAgICBkZWNpbWFsTGltaXQ6IG51bWJlcixcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgICAgICAgICBkZWNpbWFsTGltaXQsXG4gICAgICAgICAgICAgICAgYWxsb3dEZWNpbWFsOiBkZWNpbWFsICE9PSBgbmV2ZXJgLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVEZWNpbWFsOiBkZWNpbWFsID09PSBgYWx3YXlzYCxcbiAgICAgICAgICAgICAgICBkZWNpbWFsU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUoXG4gICAgICAgICAgICAgICAgZGVjaW1hbCA9PT0gYGFsd2F5c2AgPyBkZWNpbWFsTGltaXQgOiAwLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNJT1MsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9IGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnKTtcblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuYWJzb2x1dGVDYXBJbnB1dFZhbHVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoY2FwcGVkID09PSBudWxsIHx8IGlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjYXBwZWQgIT09XG4gICAgICAgICAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghVFVJX0RFQ0lNQUxfU1lNQk9MUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZWNpbWFsID09PSBgbmV2ZXJgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXRBZnRlckNvbW1hKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy5uYXRpdmVOdW1iZXJWYWx1ZTtcblxuICAgICAgICBpZiAoaXNOYU4obmF0aXZlTnVtYmVyVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsYW1wZWQgPSBNYXRoLm1pbih0aGlzLm1heCwgTWF0aC5tYXgodGhpcy5taW4sIG5hdGl2ZU51bWJlclZhbHVlKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShjbGFtcGVkKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uUHJlc3NlZChwcmVzc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZChwcmVzc2VkKTtcbiAgICB9XG5cbiAgICBnZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYWJzVmFsdWUgPSBNYXRoLmFicyh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGhhc0ZyYWN0aW9uID0gYWJzVmFsdWUgJSAxID4gMDtcbiAgICAgICAgbGV0IGxpbWl0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCA9PT0gYGFsd2F5c2AgfHwgKGhhc0ZyYWN0aW9uICYmIHRoaXMuZGVjaW1hbCAhPT0gYG5ldmVyYClcbiAgICAgICAgICAgICAgICA/IHRoaXMucHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgOiAwO1xuXG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRnJhY3Rpb24gPyBnZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKSA6IGBgO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5kZWNpbWFsICE9PSBgYWx3YXlzYCkge1xuICAgICAgICAgICAgbGltaXQgPSBmcmFjdGlvbi5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0Lnplcm9QYWRkaW5nLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLm1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogYGA7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBgYDtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFic29sdXRlQ2FwSW5wdXRWYWx1ZShpbnB1dFZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9XG4gICAgICAgICAgICB2YWx1ZSA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGgubWF4KE1hdGgubWF4KHRoaXMubWluLCBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksIHZhbHVlKVxuICAgICAgICAgICAgICAgIDogTWF0aC5taW4odmFsdWUsIE1hdGgubWluKHRoaXMubWF4LCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO1xuICAgICAgICBjb25zdCBpbmVsaWdpYmxlVmFsdWUgPSBpc05hTihjYXBwZWQpIHx8IGNhcHBlZCA8IHRoaXMubWluIHx8IGNhcHBlZCA+IHRoaXMubWF4O1xuXG4gICAgICAgIHJldHVybiBpbmVsaWdpYmxlVmFsdWUgPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FyZXRBZnRlckNvbW1hKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJDb21tYVBvc2l0aW9uID0gdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggLSB0aGlzLnByZWNpc2lvbjtcblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvIiwic291cmNlcyI6WyJpbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCwyQkFBMkIsRUFDM0IsVUFBVSxFQUNWLGNBQWMsR0FJakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFlBQVksRUFDWixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFFbkIsaUNBQWlDLEVBRWpDLDhCQUE4QixHQUVqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBR3JFLElBQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRTlCLFdBQVc7QUFpQlg7SUFDWSwyQ0FBa0M7SUFpQzFDLGlDQUlJLE9BQXlCLEVBRXpCLGlCQUFvQyxFQUVuQixZQUFxQyxFQUNqQixLQUFjO1FBVHZELFlBV0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBSm9CLGtCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNqQixXQUFLLEdBQUwsS0FBSyxDQUFTO1FBbEN2RCxT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QUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUV6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtPQTNDZCx1QkFBdUIsQ0E4U25DO0lBQUQsOEJBQUM7Q0FBQSxBQTlTRCxDQUNZLDBCQUEwQixHQTZTckM7U0E5U1ksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlJbnB1dE1vZGVULFxuICAgIFR1aU1hcHBlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGZvcm1hdE51bWJlcixcbiAgICBnZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgbWFza2VkTW9uZXlWYWx1ZUlzRW1wdHksXG4gICAgbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIsXG4gICAgVFVJX0RFQ0lNQUxfU1lNQk9MUyxcbiAgICBUVUlfTlVNQkVSX0ZPUk1BVCxcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZSxcbiAgICB0dWlDcmVhdGVOdW1iZXJNYXNrLFxuICAgIFR1aURlY2ltYWxULFxuICAgIHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldENvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7VGV4dE1hc2tDb25maWd9IGZyb20gJ2FuZ3VsYXIyLXRleHQtbWFzayc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtbnVtYmVyYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LW51bWJlci5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQWJzdHJhY3RUdWlDb250cm9sLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW1pdGl2ZVRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAtSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVjaW1hbDogVHVpRGVjaW1hbFQgPSBgbm90LXplcm9gO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWNpc2lvbiA9IDI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9IGBgO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQb2x5bW9ycGhldXNPdXRsZXRDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgcG9seW1vcnBoZXVzVmFsdWVDb250ZW50OiBRdWVyeUxpc3Q8dW5rbm93bj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSU9TOiBib29sZWFuLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkICYmIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzTmVnYXRpdmVBbGxvd2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPCAwO1xuICAgIH1cblxuICAgIGdldCBpbnB1dE1vZGUoKTogVHVpSW5wdXRNb2RlVCB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TICYmIHRoaXMuaXNOZWdhdGl2ZUFsbG93ZWQpIHtcbiAgICAgICAgICAgIC8vIGlwaG9uZXMgZG8gbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgaXMgZXF1YWwgdG8gJ251bWVyaWMnIC8gJ2RlY2ltYWwnXG4gICAgICAgICAgICByZXR1cm4gYHRleHRgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVjaW1hbCA9PT0gYG5ldmVyYCA/IGBudW1lcmljYCA6IGBkZWNpbWFsYDtcbiAgICB9XG5cbiAgICBnZXQgY2FsY3VsYXRlZE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICB0aGlzLmRlY2ltYWwgIT09IGBuZXZlcmAgJiZcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuaW5jbHVkZXModGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHByZWNpc2lvbiA9IGRlY2ltYWxQYXJ0ID8gdGhpcy5wcmVjaXNpb24gKyAxIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWRWYWx1ZSh0aGlzLnZhbHVlIHx8IDApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGwgPyBgYCA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi4wYCwgW2AkZXZlbnRgXSlcbiAgICBvblplcm8oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbCA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpWzFdIHx8IGBgO1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2ltYWwubGVuZ3RoIDwgdGhpcy5wcmVjaXNpb24gfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICAhbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZVtuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0XSAhPT0gYDBgXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCsrO1xuICAgIH1cblxuICAgIG1hc2s6IFR1aU1hcHBlcjxib29sZWFuLCBUZXh0TWFza0NvbmZpZz4gPSAoXG4gICAgICAgIGFsbG93TmVnYXRpdmU6IGJvb2xlYW4sXG4gICAgICAgIGRlY2ltYWw6IFR1aURlY2ltYWxULFxuICAgICAgICBkZWNpbWFsTGltaXQ6IG51bWJlcixcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IG51bGwsXG4gICAgKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgICAgICAgICBkZWNpbWFsTGltaXQsXG4gICAgICAgICAgICAgICAgYWxsb3dEZWNpbWFsOiBkZWNpbWFsICE9PSBgbmV2ZXJgLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVEZWNpbWFsOiBkZWNpbWFsID09PSBgYWx3YXlzYCxcbiAgICAgICAgICAgICAgICBkZWNpbWFsU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgcGlwZTogdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUoXG4gICAgICAgICAgICAgICAgZGVjaW1hbCA9PT0gYGFsd2F5c2AgPyBkZWNpbWFsTGltaXQgOiAwLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIHRoaXMuaXNJT1MsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9IGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnKTtcblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuYWJzb2x1dGVDYXBJbnB1dFZhbHVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoY2FwcGVkID09PSBudWxsIHx8IGlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjYXBwZWQgIT09XG4gICAgICAgICAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghVFVJX0RFQ0lNQUxfU1lNQk9MUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kZWNpbWFsID09PSBgbmV2ZXJgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q2FyZXRBZnRlckNvbW1hKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy5uYXRpdmVOdW1iZXJWYWx1ZTtcblxuICAgICAgICBpZiAoaXNOYU4obmF0aXZlTnVtYmVyVmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsYW1wZWQgPSBNYXRoLm1pbih0aGlzLm1heCwgTWF0aC5tYXgodGhpcy5taW4sIG5hdGl2ZU51bWJlclZhbHVlKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShjbGFtcGVkKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uUHJlc3NlZChwcmVzc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZChwcmVzc2VkKTtcbiAgICB9XG5cbiAgICBnZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYWJzVmFsdWUgPSBNYXRoLmFicyh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGhhc0ZyYWN0aW9uID0gYWJzVmFsdWUgJSAxID4gMDtcbiAgICAgICAgbGV0IGxpbWl0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCA9PT0gYGFsd2F5c2AgfHwgKGhhc0ZyYWN0aW9uICYmIHRoaXMuZGVjaW1hbCAhPT0gYG5ldmVyYClcbiAgICAgICAgICAgICAgICA/IHRoaXMucHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgOiAwO1xuXG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRnJhY3Rpb24gPyBnZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKSA6IGBgO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5kZWNpbWFsICE9PSBgYWx3YXlzYCkge1xuICAgICAgICAgICAgbGltaXQgPSBmcmFjdGlvbi5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0Lnplcm9QYWRkaW5nLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLm1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogYGA7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBgYDtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFic29sdXRlQ2FwSW5wdXRWYWx1ZShpbnB1dFZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9XG4gICAgICAgICAgICB2YWx1ZSA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGgubWF4KE1hdGgubWF4KHRoaXMubWluLCBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksIHZhbHVlKVxuICAgICAgICAgICAgICAgIDogTWF0aC5taW4odmFsdWUsIE1hdGgubWluKHRoaXMubWF4LCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO1xuICAgICAgICBjb25zdCBpbmVsaWdpYmxlVmFsdWUgPSBpc05hTihjYXBwZWQpIHx8IGNhcHBlZCA8IHRoaXMubWluIHx8IGNhcHBlZCA+IHRoaXMubWF4O1xuXG4gICAgICAgIHJldHVybiBpbmVsaWdpYmxlVmFsdWUgPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FyZXRBZnRlckNvbW1hKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJDb21tYVBvc2l0aW9uID0gdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggLSB0aGlzLnByZWNpc2lvbjtcblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19