@taiga-ui/kit 3.10.0 → 3.12.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 (271) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +3 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-avatar.umd.js +9 -2
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +3 -1
  10. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +3 -1
  17. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-input-date.umd.js +3 -1
  19. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-files.umd.js +246 -69
  21. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +16 -2
  24. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-month.umd.js +17 -3
  26. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +20 -2
  29. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-input-phone.umd.js +6 -2
  31. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-push.umd.js +3 -1
  40. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-range.umd.js +4 -2
  43. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-slider.umd.js +3 -1
  46. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-stepper.umd.js +20 -13
  48. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-tiles.umd.js +645 -0
  51. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -0
  52. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  53. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +3 -1
  55. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +3 -1
  57. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  64. package/components/accordion/accordion.component.d.ts +1 -1
  65. package/components/arrow/arrow-options.d.ts +2 -2
  66. package/components/avatar/avatar-options.d.ts +1 -1
  67. package/components/avatar/avatar.component.d.ts +5 -3
  68. package/components/badge/badge.component.d.ts +1 -1
  69. package/components/badged-content/badged-content.component.d.ts +1 -1
  70. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  71. package/components/calendar-range/calendar-range.component.d.ts +3 -3
  72. package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
  73. package/components/combo-box/combo-box.component.d.ts +1 -1
  74. package/components/data-list-wrapper/data-list-wrapper.d.ts +3 -3
  75. package/components/filter/filter.component.d.ts +1 -1
  76. package/components/index.d.ts +1 -0
  77. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  78. package/components/input-files/index.d.ts +2 -0
  79. package/components/input-files/input-files.component.d.ts +20 -6
  80. package/components/input-files/input-files.directive.d.ts +20 -0
  81. package/components/input-files/input-files.module.d.ts +8 -7
  82. package/components/input-files/input-files.options.d.ts +17 -0
  83. package/components/input-inline/input-inline.component.d.ts +1 -1
  84. package/components/input-month/input-month.component.d.ts +4 -2
  85. package/components/input-month-range/input-month-range.component.d.ts +4 -2
  86. package/components/input-password/input-password-options.d.ts +2 -2
  87. package/components/input-password/input-password.component.d.ts +3 -3
  88. package/components/input-phone/input-phone.component.d.ts +1 -1
  89. package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
  90. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -1
  91. package/components/input-range/input-range.component.d.ts +1 -1
  92. package/components/input-tag/input-tag-options.d.ts +1 -1
  93. package/components/input-tag/input-tag.component.d.ts +4 -4
  94. package/components/input-time/input-time-options.d.ts +2 -2
  95. package/components/island/island.component.d.ts +1 -1
  96. package/components/marker-icon/marker-icon.component.d.ts +1 -1
  97. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  98. package/components/multi-select/multi-select.component.d.ts +2 -2
  99. package/components/pdf-viewer/pdf-viewer.service.d.ts +1 -1
  100. package/components/push/push-alert.directive.d.ts +1 -1
  101. package/components/radio-block/radio-block.component.d.ts +1 -1
  102. package/components/range/range-change.directive.d.ts +2 -2
  103. package/components/range/range.component.d.ts +1 -1
  104. package/components/select/select.component.d.ts +1 -1
  105. package/components/slider/helpers/slider-readonly.directive.d.ts +2 -2
  106. package/components/stepper/step/step.component.d.ts +1 -1
  107. package/components/stepper/stepper.component.d.ts +3 -2
  108. package/components/tag/tag-options.d.ts +1 -1
  109. package/components/tag/tag.component.d.ts +2 -2
  110. package/components/tiles/index.d.ts +4 -0
  111. package/components/tiles/package.json +10 -0
  112. package/components/tiles/taiga-ui-kit-components-tiles.d.ts +5 -0
  113. package/components/tiles/tile-handle.directive.d.ts +13 -0
  114. package/components/tiles/tile.component.d.ts +30 -0
  115. package/components/tiles/tiles.component.d.ts +19 -0
  116. package/components/tiles/tiles.module.d.ts +10 -0
  117. package/directives/lazy-loading/lazy-loading.directive.d.ts +3 -2
  118. package/directives/lazy-loading/lazy-loading.service.d.ts +4 -3
  119. package/esm2015/components/accordion/accordion.component.js +5 -3
  120. package/esm2015/components/arrow/arrow-options.js +1 -1
  121. package/esm2015/components/avatar/avatar-options.js +1 -1
  122. package/esm2015/components/avatar/avatar.component.js +6 -3
  123. package/esm2015/components/badge/badge.component.js +1 -1
  124. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  125. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  126. package/esm2015/components/calendar-range/calendar-range.component.js +5 -3
  127. package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
  128. package/esm2015/components/combo-box/combo-box.component.js +1 -1
  129. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +1 -1
  130. package/esm2015/components/filter/filter.component.js +1 -1
  131. package/esm2015/components/index.js +2 -1
  132. package/esm2015/components/input-date/input-date.component.js +5 -3
  133. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  134. package/esm2015/components/input-date-time/input-date-time.component.js +5 -3
  135. package/esm2015/components/input-files/index.js +3 -1
  136. package/esm2015/components/input-files/input-files.component.js +75 -26
  137. package/esm2015/components/input-files/input-files.directive.js +77 -0
  138. package/esm2015/components/input-files/input-files.module.js +12 -3
  139. package/esm2015/components/input-files/input-files.options.js +16 -0
  140. package/esm2015/components/input-inline/input-inline.component.js +1 -1
  141. package/esm2015/components/input-month/input-month.component.js +15 -5
  142. package/esm2015/components/input-month-range/input-month-range.component.js +14 -4
  143. package/esm2015/components/input-password/input-password-options.js +1 -1
  144. package/esm2015/components/input-password/input-password.component.js +1 -1
  145. package/esm2015/components/input-phone/input-phone.component.js +7 -3
  146. package/esm2015/components/input-phone-international/input-phone-international.component.js +13 -2
  147. package/esm2015/components/input-phone-international/tokens/countries-masks.js +9 -2
  148. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +1 -1
  149. package/esm2015/components/input-range/input-range.component.js +1 -1
  150. package/esm2015/components/input-tag/input-tag-options.js +1 -1
  151. package/esm2015/components/input-tag/input-tag.component.js +1 -1
  152. package/esm2015/components/input-time/input-time-options.js +1 -1
  153. package/esm2015/components/island/island.component.js +1 -1
  154. package/esm2015/components/marker-icon/marker-icon.component.js +1 -1
  155. package/esm2015/components/multi-select/hide-selected.pipe.js +1 -1
  156. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +1 -1
  157. package/esm2015/components/multi-select/multi-select.component.js +1 -1
  158. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +1 -1
  159. package/esm2015/components/push/push-alert.directive.js +5 -3
  160. package/esm2015/components/radio-block/radio-block.component.js +1 -1
  161. package/esm2015/components/range/range-change.directive.js +5 -3
  162. package/esm2015/components/range/range.component.js +2 -2
  163. package/esm2015/components/select/select.component.js +1 -1
  164. package/esm2015/components/slider/helpers/slider-readonly.directive.js +5 -3
  165. package/esm2015/components/stepper/step/step.component.js +2 -2
  166. package/esm2015/components/stepper/stepper.component.js +12 -9
  167. package/esm2015/components/tag/tag-options.js +1 -1
  168. package/esm2015/components/tag/tag.component.js +1 -1
  169. package/esm2015/components/tiles/index.js +5 -0
  170. package/esm2015/components/tiles/taiga-ui-kit-components-tiles.js +5 -0
  171. package/esm2015/components/tiles/tile-handle.directive.js +53 -0
  172. package/esm2015/components/tiles/tile.component.js +102 -0
  173. package/esm2015/components/tiles/tiles.component.js +99 -0
  174. package/esm2015/components/tiles/tiles.module.js +20 -0
  175. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +1 -1
  176. package/esm2015/directives/lazy-loading/lazy-loading.service.js +5 -3
  177. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +5 -3
  178. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  179. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +1 -1
  180. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  181. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +1 -1
  182. package/esm2015/pipes/stringify/stringify.pipe.js +1 -1
  183. package/esm2015/tokens/input-date-options.js +1 -1
  184. package/esm2015/tokens/validation-errors.js +1 -1
  185. package/esm2015/types/dropdown-position.js +1 -1
  186. package/esm2015/types/file-state.js +1 -1
  187. package/esm2015/types/marker-icon-mode.js +1 -1
  188. package/esm2015/types/status.js +1 -1
  189. package/esm2015/types/step-state.js +1 -1
  190. package/esm2015/types/time-format-parts.js +1 -1
  191. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
  192. package/esm2015/utils/mask/create-time-mask.js +1 -1
  193. package/esm2015/utils/miscellaneous/is-flat.js +1 -1
  194. package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +1 -1
  195. package/fesm2015/taiga-ui-kit-components-accordion.js +3 -1
  196. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  197. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  198. package/fesm2015/taiga-ui-kit-components-avatar.js +5 -2
  199. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  200. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  201. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  202. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  203. package/fesm2015/taiga-ui-kit-components-calendar-range.js +4 -2
  204. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  205. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  206. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  207. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  208. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  209. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  210. package/fesm2015/taiga-ui-kit-components-input-date-time.js +4 -2
  211. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  212. package/fesm2015/taiga-ui-kit-components-input-date.js +4 -2
  213. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  214. package/fesm2015/taiga-ui-kit-components-input-files.js +167 -29
  215. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  216. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  217. package/fesm2015/taiga-ui-kit-components-input-month-range.js +13 -3
  218. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  219. package/fesm2015/taiga-ui-kit-components-input-month.js +14 -4
  220. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  221. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  222. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +20 -2
  223. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  224. package/fesm2015/taiga-ui-kit-components-input-phone.js +6 -2
  225. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  226. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  227. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  228. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  229. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  230. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  231. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  232. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  233. package/fesm2015/taiga-ui-kit-components-push.js +4 -2
  234. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  235. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  236. package/fesm2015/taiga-ui-kit-components-range.js +4 -2
  237. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  238. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  239. package/fesm2015/taiga-ui-kit-components-slider.js +3 -1
  240. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  241. package/fesm2015/taiga-ui-kit-components-stepper.js +12 -9
  242. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  243. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  244. package/fesm2015/taiga-ui-kit-components-tiles.js +262 -0
  245. package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -0
  246. package/fesm2015/taiga-ui-kit-components.js +1 -0
  247. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  248. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +4 -2
  249. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  250. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +4 -2
  251. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  252. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  253. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  254. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  255. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  256. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  257. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  258. package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +1 -1
  259. package/package.json +8 -8
  260. package/pipes/field-error/field-error-pipe.d.ts +1 -1
  261. package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
  262. package/pipes/stringify/stringify.pipe.d.ts +1 -1
  263. package/tokens/input-date-options.d.ts +1 -1
  264. package/types/dropdown-position.d.ts +1 -1
  265. package/types/file-state.d.ts +1 -1
  266. package/types/marker-icon-mode.d.ts +1 -1
  267. package/types/status.d.ts +1 -1
  268. package/types/step-state.d.ts +1 -1
  269. package/types/time-format-parts.d.ts +1 -1
  270. package/utils/miscellaneous/is-flat.d.ts +1 -1
  271. package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Input, Optional, Output, Self, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, HostListener, Inject, Input, Optional, Output, Self, ViewChild, ViewEncapsulation, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { AbstractTuiNullableControl, EMPTY_ARRAY, TUI_IS_MOBILE, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiIsNativeFocused, tuiPure, } from '@taiga-ui/cdk';
5
5
  import { MODE_PROVIDER } from '@taiga-ui/core';
@@ -7,29 +7,46 @@ import { TUI_INPUT_FILE_TEXTS } from '@taiga-ui/kit/tokens';
7
7
  import { tuiGetAcceptArray } from '@taiga-ui/kit/utils/files';
8
8
  import { of } from 'rxjs';
9
9
  import { map } from 'rxjs/operators';
10
+ // eslint-disable-next-line import/no-cycle
11
+ import { TuiInputFilesDirective } from './input-files.directive';
12
+ import { TUI_INPUT_FILES_OPTIONS } from './input-files.options';
10
13
  import * as i0 from "@angular/core";
11
14
  import * as i1 from "@taiga-ui/core";
12
- import * as i2 from "@tinkoff/ng-polymorpheus";
13
- import * as i3 from "@angular/common";
14
- import * as i4 from "@taiga-ui/cdk";
15
+ import * as i2 from "@taiga-ui/cdk";
16
+ import * as i3 from "@tinkoff/ng-polymorpheus";
17
+ import * as i4 from "@angular/common";
15
18
  import * as i5 from "./max-size-rejection-error.pipe";
16
19
  import * as i6 from "@angular/forms";
17
20
  import * as i7 from "rxjs";
18
- const DEFAULT_MAX_SIZE = 30 * 1000 * 1000; // 30 MB
19
21
  export class TuiInputFilesComponent extends AbstractTuiNullableControl {
20
- constructor(control, changeDetectorRef, isMobile, inputFileTexts$) {
22
+ constructor(control, changeDetectorRef, isMobile, inputFileTexts$, options) {
21
23
  super(control, changeDetectorRef);
22
24
  this.isMobile = isMobile;
23
25
  this.inputFileTexts$ = inputFileTexts$;
26
+ this.options = options;
24
27
  this.dataTransfer = null;
25
28
  this.link = ``;
26
29
  this.label = ``;
27
- this.accept = ``;
28
- this.multiple = false;
29
- this.size = `m`;
30
- this.maxFileSize = DEFAULT_MAX_SIZE;
30
+ /**
31
+ * @deprecated: use `<input tuiInputFiles accept="image/*" />`
32
+ */
33
+ this.accept = this.options.accepts;
34
+ /**
35
+ * @deprecated: use `<input tuiInputFiles multiple />`
36
+ */
37
+ this.multiple = this.options.multiple;
38
+ this.size = this.options.size;
39
+ this.maxFileSize = this.options.maxFileSize;
31
40
  this.reject = new EventEmitter();
32
41
  }
42
+ get computedMultiple() {
43
+ var _a, _b;
44
+ return (_b = (_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.multiple) !== null && _b !== void 0 ? _b : this.multiple;
45
+ }
46
+ get computedAccept() {
47
+ var _a, _b;
48
+ return (_b = (_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.accept) !== null && _b !== void 0 ? _b : this.accept;
49
+ }
33
50
  get nativeFocusableElement() {
34
51
  var _a;
35
52
  return ((_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) || null;
@@ -42,10 +59,10 @@ export class TuiInputFilesComponent extends AbstractTuiNullableControl {
42
59
  return (_a = this.pseudoHover) !== null && _a !== void 0 ? _a : (this.fileDragged || null);
43
60
  }
44
61
  get computedLink$() {
45
- return this.computeLink$(this.fileDragged, this.multiple, this.link);
62
+ return this.computeLink$(this.fileDragged, this.computedMultiple, this.link);
46
63
  }
47
64
  get computedLabel$() {
48
- return this.computeLabel$(this.isMobile, this.fileDragged, this.multiple, this.label);
65
+ return this.computeLabel$(this.isMobile, this.fileDragged, this.computedMultiple, this.label);
49
66
  }
50
67
  get fileDragged() {
51
68
  var _a;
@@ -57,18 +74,25 @@ export class TuiInputFilesComponent extends AbstractTuiNullableControl {
57
74
  onFocused(focused) {
58
75
  this.updateFocused(focused);
59
76
  }
60
- onFilesSelected(input, errors) {
61
- this.processSelectedFiles(input.files, errors);
77
+ onFilesSelected() {
78
+ var _a, _b, _c;
79
+ const input = (_b = (_a = this.nativeInput) === null || _a === void 0 ? void 0 : _a.input) !== null && _b !== void 0 ? _b : (_c = this.input) === null || _c === void 0 ? void 0 : _c.nativeElement;
80
+ if (!input) {
81
+ return;
82
+ }
83
+ this.processSelectedFiles(input.files);
62
84
  input.value = ``;
63
85
  }
64
- onDropped(event, errors) {
65
- this.processSelectedFiles(event.files, errors);
86
+ onDropped(event) {
87
+ this.processSelectedFiles(event.files);
66
88
  }
67
89
  onDragOver(dataTransfer) {
68
90
  this.dataTransfer = dataTransfer;
69
91
  }
70
92
  removeFile(removedFile) {
71
- this.updateValue(this.multiple ? this.arrayValue.filter(file => file !== removedFile) : null);
93
+ this.updateValue(this.computedMultiple
94
+ ? this.arrayValue.filter(file => file !== removedFile)
95
+ : null);
72
96
  }
73
97
  computeLink$(fileDragged, multiple, link) {
74
98
  return fileDragged
@@ -94,12 +118,16 @@ export class TuiInputFilesComponent extends AbstractTuiNullableControl {
94
118
  }
95
119
  return Array.isArray(value) ? value : [value];
96
120
  }
97
- processSelectedFiles(files, errors) {
121
+ processSelectedFiles(files) {
98
122
  // IE11 after selecting a file through the open dialog generates a second event passing an empty FileList.
99
123
  if (!(files === null || files === void 0 ? void 0 : files.length)) {
100
124
  return;
101
125
  }
102
- const newFiles = this.multiple ? Array.from(files) : [files[0]];
126
+ const errors = {
127
+ formatRejection: this.formatRejection,
128
+ maxSizeRejection: this.maxSizeRejection,
129
+ };
130
+ const newFiles = this.computedMultiple ? Array.from(files) : [files[0]];
103
131
  const tooBigFiles = newFiles.filter(file => file.size > this.maxFileSize);
104
132
  const wrongFormatFiles = newFiles.filter(file => !this.isFormatAcceptable(file) && !tooBigFiles.includes(file));
105
133
  const acceptedFiles = newFiles.filter(file => !tooBigFiles.includes(file) && !wrongFormatFiles.includes(file));
@@ -119,26 +147,26 @@ export class TuiInputFilesComponent extends AbstractTuiNullableControl {
119
147
  })),
120
148
  ]);
121
149
  }
122
- this.updateValue(this.multiple
150
+ this.updateValue(this.computedMultiple
123
151
  ? [...this.arrayValue, ...acceptedFiles]
124
152
  : acceptedFiles[0] || null);
125
153
  }
126
154
  isFormatAcceptable(file) {
127
- if (!this.accept) {
155
+ if (!this.computedAccept) {
128
156
  return true;
129
157
  }
130
158
  const extension = `.${(file.name.split(`.`).pop() || ``).toLowerCase()}`;
131
- return tuiGetAcceptArray(this.accept).some(format => format === extension ||
159
+ return tuiGetAcceptArray(this.computedAccept).some(format => format === extension ||
132
160
  format === file.type ||
133
161
  (format.split(`/`)[1] === `*` &&
134
162
  file.type.split(`/`)[0] === format.split(`/`)[0]));
135
163
  }
136
164
  rejectFiles(rejectedFiles) {
137
- this.reject.emit(this.multiple ? rejectedFiles : rejectedFiles[0]);
165
+ this.reject.emit(this.computedMultiple ? rejectedFiles : rejectedFiles[0]);
138
166
  }
139
167
  }
140
- TuiInputFilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: TUI_INPUT_FILE_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
141
- TuiInputFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputFilesComponent, selector: "tui-input-files", inputs: { link: "link", label: "label", accept: "accept", multiple: "multiple", size: "size", maxFileSize: "maxFileSize" }, outputs: { reject: "reject" }, providers: [MODE_PROVIDER, tuiAsFocusableItemAccessor(TuiInputFilesComponent)], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n appearance=\"input-file\"\n class=\"t-wrapper\"\n [class._mobile]=\"isMobile\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover || fileDragged || null\"\n [active]=\"pseudoActive\"\n [disabled]=\"computedDisabled\"\n>\n <label automation-id=\"tui-input-file__label\">\n <a tuiLink>\n <ng-container *polymorpheusOutlet=\"computedLink$ | async as text\">\n {{ text }}\n </ng-container>\n </a>\n <ng-container *polymorpheusOutlet=\"computedLabel$ | async as text\">\n {{ text }}\n </ng-container>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <input\n #input\n type=\"file\"\n class=\"t-native\"\n [id]=\"id\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n (change)=\"onFilesSelected(input, {formatRejection, maxSizeRejection})\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiDroppableDropped)=\"onDropped($event, {formatRejection, maxSizeRejection})\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n (mousedown.prevent.silent)=\"(0)\"\n />\n </ng-container>\n </label>\n</div>\n\n<ng-template #formatRejection>\n {{ (inputFileTexts$ | async)?.formatRejectionReason || '' }}\n</ng-template>\n\n<ng-template #maxSizeRejection>\n {{ maxFileSize | tuiMaxSizeRejectionError | async }}\n</ng-template>\n", styles: ["tui-input-files{display:block}tui-input-files .t-native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}tui-input-files .t-native::-webkit-file-upload-button{display:none}[tuiWrapper][data-appearance=input-file]{display:flex;background:transparent;font:var(--tui-font-text-m);word-wrap:break-word;color:var(--tui-text-02);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}[tuiWrapper][data-appearance=input-file]:after{border:1px dashed;color:var(--tui-link)}[tuiWrapper][data-appearance=input-file]._mobile:after{border:1px solid}[tuiWrapper][data-appearance=input-file]:disabled:disabled,[tuiWrapper][data-appearance=input-file][data-state=disabled][data-state=disabled]{opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiWrapper][data-appearance=input-file]:disabled:disabled:after,[tuiWrapper][data-appearance=input-file][data-state=disabled][data-state=disabled]:after{color:var(--tui-text-03)}[tuiWrapper][data-appearance=input-file]:focus-visible:focus-visible:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file]._focused._focused:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:focus-visible:focus-visible:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]._focused._focused:after{color:var(--tui-text-01-night)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]{background:var(--tui-clear-inverse-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]:after{color:var(--tui-text-03-night)}}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover{background:var(--tui-clear-inverse-active)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover:after{color:var(--tui-text-03-night)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]{color:var(--tui-text-01)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:after{color:var(--tui-text-01)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]{background:var(--tui-clear-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]:after{color:var(--tui-text-03)}}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover{background:var(--tui-clear-active)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover:after{color:var(--tui-text-03)}@media (hover: hover){[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-state=hover]{background:var(--tui-secondary)}[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-state=hover]:after{color:var(--tui-link-hover)}}[tuiWrapper][data-appearance=input-file]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-state=active],[tuiWrapper][data-appearance=input-file][data-state=active]:hover{background:var(--tui-secondary-hover)}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i4.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i4.TuiDroppableDirective, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: ["tuiDroppableDropped", "tuiDroppableDragOverChange"] }], pipes: { "async": i3.AsyncPipe, "tuiMaxSizeRejectionError": i5.TuiMaxSizeRejectionErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
168
+ TuiInputFilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: TUI_INPUT_FILE_TEXTS }, { token: TUI_INPUT_FILES_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
169
+ TuiInputFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputFilesComponent, selector: "tui-input-files", inputs: { link: "link", label: "label", accept: "accept", multiple: "multiple", size: "size", maxFileSize: "maxFileSize" }, outputs: { reject: "reject" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)", "change": "onFilesSelected()" } }, providers: [MODE_PROVIDER, tuiAsFocusableItemAccessor(TuiInputFilesComponent)], queries: [{ propertyName: "nativeInput", first: true, predicate: TuiInputFilesDirective, descendants: true, read: TuiInputFilesDirective }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "formatRejection", first: true, predicate: ["formatRejection"], descendants: true }, { propertyName: "maxSizeRejection", first: true, predicate: ["maxSizeRejection"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n appearance=\"input-file\"\n class=\"t-wrapper\"\n [class._mobile]=\"isMobile\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover || fileDragged || null\"\n [active]=\"pseudoActive\"\n [disabled]=\"computedDisabled\"\n>\n <label\n automation-id=\"tui-input-file__label\"\n class=\"t-label\"\n (tuiDroppableDropped)=\"onDropped($event)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n (mousedown.prevent.silent)=\"(0)\"\n >\n <a tuiLink>\n <ng-container *polymorpheusOutlet=\"computedLink$ | async as text\">\n {{ text }}\n </ng-container>\n </a>\n <ng-container *polymorpheusOutlet=\"computedLabel$ | async as text\">\n {{ text }}\n </ng-container>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <ng-content select=\"input\"></ng-content>\n <input\n #input\n type=\"file\"\n class=\"t-native\"\n [id]=\"id\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n />\n </ng-container>\n </label>\n</div>\n\n<ng-template #formatRejection>\n {{ (inputFileTexts$ | async)?.formatRejectionReason || '' }}\n</ng-template>\n\n<ng-template #maxSizeRejection>\n {{ maxFileSize | tuiMaxSizeRejectionError | async }}\n</ng-template>\n", styles: ["tui-input-files{display:block}tui-input-files .t-native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}tui-input-files .t-native::-webkit-file-upload-button{display:none}tui-input-files .t-native+.t-native{display:none}[tuiWrapper][data-appearance=input-file]{display:flex;background:transparent;font:var(--tui-font-text-m);word-wrap:break-word;color:var(--tui-text-02);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}[tuiWrapper][data-appearance=input-file]:after{border:1px dashed;color:var(--tui-link)}[tuiWrapper][data-appearance=input-file]._mobile:after{border:1px solid}[tuiWrapper][data-appearance=input-file]:disabled:disabled,[tuiWrapper][data-appearance=input-file][data-state=disabled][data-state=disabled]{opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiWrapper][data-appearance=input-file]:disabled:disabled:after,[tuiWrapper][data-appearance=input-file][data-state=disabled][data-state=disabled]:after{color:var(--tui-text-03)}[tuiWrapper][data-appearance=input-file]:focus-visible:focus-visible:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file]._focused._focused:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:focus-visible:focus-visible:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]._focused._focused:after{color:var(--tui-text-01-night)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]{background:var(--tui-clear-inverse-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]:after{color:var(--tui-text-03-night)}}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover{background:var(--tui-clear-inverse-active)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover:after{color:var(--tui-text-03-night)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]{color:var(--tui-text-01)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:after{color:var(--tui-text-01)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]{background:var(--tui-clear-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]:after{color:var(--tui-text-03)}}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover{background:var(--tui-clear-active)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover:after{color:var(--tui-text-03)}@media (hover: hover){[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-state=hover]{background:var(--tui-secondary)}[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-state=hover]:after{color:var(--tui-link-hover)}}[tuiWrapper][data-appearance=input-file]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-state=active],[tuiWrapper][data-appearance=input-file][data-state=active]:hover{background:var(--tui-secondary-hover)}.t-label{text-align:center}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i2.TuiDroppableDirective, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: ["tuiDroppableDropped", "tuiDroppableDragOverChange"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i4.AsyncPipe, "tuiMaxSizeRejectionError": i5.TuiMaxSizeRejectionErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
142
170
  __decorate([
143
171
  tuiDefaultProp()
144
172
  ], TuiInputFilesComponent.prototype, "link", void 0);
@@ -192,9 +220,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
192
220
  }] }, { type: i7.Observable, decorators: [{
193
221
  type: Inject,
194
222
  args: [TUI_INPUT_FILE_TEXTS]
223
+ }] }, { type: undefined, decorators: [{
224
+ type: Inject,
225
+ args: [TUI_INPUT_FILES_OPTIONS]
195
226
  }] }]; }, propDecorators: { input: [{
196
227
  type: ViewChild,
197
228
  args: [`input`]
229
+ }], nativeInput: [{
230
+ type: ContentChild,
231
+ args: [TuiInputFilesDirective, { read: TuiInputFilesDirective }]
232
+ }], formatRejection: [{
233
+ type: ViewChild,
234
+ args: [`formatRejection`]
235
+ }], maxSizeRejection: [{
236
+ type: ViewChild,
237
+ args: [`maxSizeRejection`]
198
238
  }], link: [{
199
239
  type: Input
200
240
  }], label: [{
@@ -209,5 +249,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
209
249
  type: Input
210
250
  }], reject: [{
211
251
  type: Output
252
+ }], onFocused: [{
253
+ type: HostListener,
254
+ args: [`focusin`, [`true`]]
255
+ }, {
256
+ type: HostListener,
257
+ args: [`focusout`, [`false`]]
258
+ }], onFilesSelected: [{
259
+ type: HostListener,
260
+ args: [`change`]
212
261
  }], computeLink$: [], computeLabel$: [], getValueArray: [] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGFBQWEsRUFDYiwwQkFBMEIsRUFDMUIsY0FBYyxFQUVkLGtCQUFrQixFQUVsQixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBRXZELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLFFBQVE7QUFVbkQsTUFBTSxPQUFPLHNCQUNULFNBQVEsMEJBQWdFO0lBbUN4RSxZQUlJLE9BQXlCLEVB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RXBCLE1BQU07MkJBQUMsb0JBQW9COzRDQXhDZixLQUFLO3NCQURyQixTQUFTO3VCQUFDLE9BQU87Z0JBT2xCLElBQUk7c0JBRkgsS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLO2dCQU1OLFFBQVE7c0JBRlAsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQUtOLE1BQU07c0JBREwsTUFBTTtnQkE2RkMsWUFBWSxNQWlCWixhQUFhLE1BMEJiLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSLCBUdWlTaXplTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlGaWxlTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0lOUFVUX0ZJTEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0QWNjZXB0QXJyYXl9IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvZmlsZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBERUZBVUxUX01BWF9TSVpFID0gMzAgKiAxMDAwICogMTAwMDsgLy8gMzAgTUJcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtZmlsZXNgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC1maWxlcy50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1maWxlcy5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtNT0RFX1BST1ZJREVSLCB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dEZpbGVzQ29tcG9uZW50KV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RmlsZXNDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUZpbGVMaWtlIHwgcmVhZG9ubHkgVHVpRmlsZUxpa2VbXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoYGlucHV0YClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsaW5rOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY2NlcHQgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gYG1gO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heEZpbGVTaXplID0gREVGQVVMVF9NQVhfU0laRTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlamVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRmlsZUxpa2UgfCByZWFkb25seSBUdWlGaWxlTGlrZVtdPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfRklMRV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgaW5wdXRGaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFxuICAgICAgICAgICAgUmVjb3JkPFxuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbFNpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGFiZWxNdWx0aXBsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua1NpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua011bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ21heFNpemVSZWplY3Rpb25SZWFzb24nXG4gICAgICAgICAgICAgICAgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJ1xuICAgICAgICAgICAgICAgIHwgJ2Ryb3AnXG4gICAgICAgICAgICAgICAgfCAnZHJvcE11bHRpcGxlJyxcbiAgICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgID5cbiAgICAgICAgPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFBzZXVkb0hvdmVyZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5wc2V1ZG9Ib3ZlciA/PyAodGhpcy5maWxlRHJhZ2dlZCB8fCBudWxsKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRMaW5rJCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUxpbmskKHRoaXMuZmlsZURyYWdnZWQsIHRoaXMubXVsdGlwbGUsIHRoaXMubGluayk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTGFiZWwkKCk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTGFiZWwkKFxuICAgICAgICAgICAgdGhpcy5pc01vYmlsZSxcbiAgICAgICAgICAgIHRoaXMuZmlsZURyYWdnZWQsXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlLFxuICAgICAgICAgICAgdGhpcy5sYWJlbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZURyYWdnZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZGF0YVRyYW5zZmVyPy50eXBlcy5pbmNsdWRlcyhgRmlsZXNgKTtcbiAgICB9XG5cbiAgICBnZXQgYXJyYXlWYWx1ZSgpOiByZWFkb25seSBUdWlGaWxlTGlrZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVBcnJheSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25GaWxlc1NlbGVjdGVkKFxuICAgICAgICBpbnB1dDogSFRNTElucHV0RWxlbWVudCxcbiAgICAgICAgZXJyb3JzOiBSZWNvcmQ8J21heFNpemVSZWplY3Rpb24nIHwgJ2Zvcm1hdFJlamVjdGlvbicsIFBvbHltb3JwaGV1c0NvbnRlbnQ+LFxuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGlucHV0LmZpbGVzLCBlcnJvcnMpO1xuICAgICAgICBpbnB1dC52YWx1ZSA9IGBgO1xuICAgIH1cblxuICAgIG9uRHJvcHBlZChcbiAgICAgICAgZXZlbnQ6IERhdGFUcmFuc2ZlcixcbiAgICAgICAgZXJyb3JzOiBSZWNvcmQ8J21heFNpemVSZWplY3Rpb24nIHwgJ2Zvcm1hdFJlamVjdGlvbicsIFBvbHltb3JwaGV1c0NvbnRlbnQ+LFxuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGV2ZW50LmZpbGVzLCBlcnJvcnMpO1xuICAgIH1cblxuICAgIG9uRHJhZ092ZXIoZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF0YVRyYW5zZmVyID0gZGF0YVRyYW5zZmVyO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbGUocmVtb3ZlZEZpbGU6IFR1aUZpbGVMaWtlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlID8gdGhpcy5hcnJheVZhbHVlLmZpbHRlcihmaWxlID0+IGZpbGUgIT09IHJlbW92ZWRGaWxlKSA6IG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVMaW5rJChcbiAgICAgICAgZmlsZURyYWdnZWQ6IGJvb2xlYW4sXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBsaW5rOiBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgICk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gZmlsZURyYWdnZWRcbiAgICAgICAgICAgID8gb2YoYGApXG4gICAgICAgICAgICA6IHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICAgICAgICBtYXAodGV4dHMgPT5cbiAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSAmJiBsaW5rID09PSBgYFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMaW5rTXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBsaW5rIHx8IHRleHRzLmRlZmF1bHRMaW5rU2luZ2xlLFxuICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZUxhYmVsJChcbiAgICAgICAgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQsXG4gICAgKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGBgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlRHJhZ2dlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHRleHRzID0+IChtdWx0aXBsZSA/IHRleHRzLmRyb3BNdWx0aXBsZSA6IHRleHRzLmRyb3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEZpbGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcCh0ZXh0cyA9PlxuICAgICAgICAgICAgICAgIG11bHRpcGxlICYmIGxhYmVsID09PSBgYFxuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMYWJlbE11bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgIDogbGFiZWwgfHwgdGV4dHMuZGVmYXVsdExhYmVsU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0VmFsdWVBcnJheShcbiAgICAgICAgdmFsdWU6IFR1aUZpbGVMaWtlIHwgcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB8IG51bGwsXG4gICAgKTogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWV9BUlJBWTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NTZWxlY3RlZEZpbGVzKFxuICAgICAgICBmaWxlczogRmlsZUxpc3QgfCBudWxsLFxuICAgICAgICBlcnJvcnM6IFJlY29yZDwnbWF4U2l6ZVJlamVjdGlvbicgfCAnZm9ybWF0UmVqZWN0aW9uJywgUG9seW1vcnBoZXVzQ29udGVudD4sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIElFMTEgYWZ0ZXIgc2VsZWN0aW5nIGEgZmlsZSB0aHJvdWdoIHRoZSBvcGVuIGRpYWxvZyBnZW5lcmF0ZXMgYSBzZWNvbmQgZXZlbnQgcGFzc2luZyBhbiBlbXB0eSBGaWxlTGlzdC5cbiAgICAgICAgaWYgKCFmaWxlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdGaWxlcyA9IHRoaXMubXVsdGlwbGUgPyBBcnJheS5mcm9tKGZpbGVzKSA6IFtmaWxlc1swXV07XG4gICAgICAgIGNvbnN0IHRvb0JpZ0ZpbGVzID0gbmV3RmlsZXMuZmlsdGVyKGZpbGUgPT4gZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSk7XG4gICAgICAgIGNvbnN0IHdyb25nRm9ybWF0RmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoXG4gICAgICAgICAgICBmaWxlID0+ICF0aGlzLmlzRm9ybWF0QWNjZXB0YWJsZShmaWxlKSAmJiAhdG9vQmlnRmlsZXMuaW5jbHVkZXMoZmlsZSksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGFjY2VwdGVkRmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoXG4gICAgICAgICAgICBmaWxlID0+ICF0b29CaWdGaWxlcy5pbmNsdWRlcyhmaWxlKSAmJiAhd3JvbmdGb3JtYXRGaWxlcy5pbmNsdWRlcyhmaWxlKSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodG9vQmlnRmlsZXMubGVuZ3RoIHx8IHdyb25nRm9ybWF0RmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJlamVjdEZpbGVzKFtcbiAgICAgICAgICAgICAgICAuLi50b29CaWdGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBlcnJvcnMubWF4U2l6ZVJlamVjdGlvbixcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgLi4ud3JvbmdGb3JtYXRGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBlcnJvcnMuZm9ybWF0UmVqZWN0aW9uLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHRoaXMubXVsdGlwbGVcbiAgICAgICAgICAgICAgICA/IFsuLi50aGlzLmFycmF5VmFsdWUsIC4uLmFjY2VwdGVkRmlsZXNdXG4gICAgICAgICAgICAgICAgOiBhY2NlcHRlZEZpbGVzWzBdIHx8IG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Zvcm1hdEFjY2VwdGFibGUoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuYWNjZXB0KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGAuJHsoZmlsZS5uYW1lLnNwbGl0KGAuYCkucG9wKCkgfHwgYGApLnRvTG93ZXJDYXNlKCl9YDtcblxuICAgICAgICByZXR1cm4gdHVpR2V0QWNjZXB0QXJyYXkodGhpcy5hY2NlcHQpLnNvbWUoXG4gICAgICAgICAgICBmb3JtYXQgPT5cbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09IGV4dGVuc2lvbiB8fFxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gZmlsZS50eXBlIHx8XG4gICAgICAgICAgICAgICAgKGZvcm1hdC5zcGxpdChgL2ApWzFdID09PSBgKmAgJiZcbiAgICAgICAgICAgICAgICAgICAgZmlsZS50eXBlLnNwbGl0KGAvYClbMF0gPT09IGZvcm1hdC5zcGxpdChgL2ApWzBdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlamVjdEZpbGVzKHJlamVjdGVkRmlsZXM6IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWplY3QuZW1pdCh0aGlzLm11bHRpcGxlID8gcmVqZWN0ZWRGaWxlcyA6IHJlamVjdGVkRmlsZXNbMF0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICB0dWlXcmFwcGVyXG4gICAgYXBwZWFyYW5jZT1cImlucHV0LWZpbGVcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbY2xhc3MuX21vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW2hvdmVyXT1cInBzZXVkb0hvdmVyIHx8IGZpbGVEcmFnZ2VkIHx8IG51bGxcIlxuICAgIFthY3RpdmVdPVwicHNldWRvQWN0aXZlXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4+XG4gICAgPGxhYmVsIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZmlsZV9fbGFiZWxcIj5cbiAgICAgICAgPGEgdHVpTGluaz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbXB1dGVkTGluayQgfCBhc3luYyBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29tcHV0ZWRMYWJlbCQgfCBhc3luYyBhcyB0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlYWRPbmx5ICYmICFjb21wdXRlZERpc2FibGVkXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LW5hdGl2ZVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVzU2VsZWN0ZWQoaW5wdXQsIHtmb3JtYXRSZWplY3Rpb24sIG1heFNpemVSZWplY3Rpb259KVwiXG4gICAgICAgICAgICAgICAgKHR1aUZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICh0dWlEcm9wcGFibGVEcm9wcGVkKT1cIm9uRHJvcHBlZCgkZXZlbnQsIHtmb3JtYXRSZWplY3Rpb24sIG1heFNpemVSZWplY3Rpb259KVwiXG4gICAgICAgICAgICAgICAgKHR1aURyb3BwYWJsZURyYWdPdmVyQ2hhbmdlKT1cIm9uRHJhZ092ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50LnNpbGVudCk9XCIoMClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9sYWJlbD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Zvcm1hdFJlamVjdGlvbj5cbiAgICB7eyAoaW5wdXRGaWxlVGV4dHMkIHwgYXN5bmMpPy5mb3JtYXRSZWplY3Rpb25SZWFzb24gfHwgJycgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbWF4U2l6ZVJlamVjdGlvbj5cbiAgICB7eyBtYXhGaWxlU2l6ZSB8IHR1aU1heFNpemVSZWplY3Rpb25FcnJvciB8IGFzeW5jIH19XG48L25nLXRlbXBsYXRlPlxuIl19
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsYUFBYSxFQUNiLDBCQUEwQixFQUMxQixjQUFjLEVBRWQsa0JBQWtCLEVBRWxCLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyx1QkFBdUIsRUFBdUIsTUFBTSx1QkFBdUIsQ0FBQzs7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QUs7Z0JBU04sTUFBTTtzQkFGTCxLQUFLO2dCQVNOLFFBQVE7c0JBRlAsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQUtOLE1BQU07c0JBREwsTUFBTTtnQkEyRVAsU0FBUztzQkFGUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQzs7c0JBQ2hDLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDO2dCQU1uQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsUUFBUTtnQkE4QmQsWUFBWSxNQWlCWixhQUFhLE1BMEJiLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgRU1QVFlfQVJSQVksXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVIsIFR1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUZpbGVMaWtlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfSU5QVVRfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRBY2NlcHRBcnJheX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9maWxlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpSW5wdXRGaWxlc0RpcmVjdGl2ZX0gZnJvbSAnLi9pbnB1dC1maWxlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfSU5QVVRfRklMRVNfT1BUSU9OUywgVHVpSW5wdXRGaWxlc09wdGlvbnN9IGZyb20gJy4vaW5wdXQtZmlsZXMub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LWZpbGVzYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtZmlsZXMudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtZmlsZXMuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbTU9ERV9QUk9WSURFUiwgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRGaWxlc0NvbXBvbmVudCldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dEZpbGVzQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlGaWxlTGlrZSB8IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKGBpbnB1dGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUlucHV0RmlsZXNEaXJlY3RpdmUsIHtyZWFkOiBUdWlJbnB1dEZpbGVzRGlyZWN0aXZlfSlcbiAgICByZWFkb25seSBuYXRpdmVJbnB1dD86IFR1aUlucHV0RmlsZXNEaXJlY3RpdmU7XG5cbiAgICBAVmlld0NoaWxkKGBmb3JtYXRSZWplY3Rpb25gKVxuICAgIHJlYWRvbmx5IGZvcm1hdFJlamVjdGlvbiE6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBAVmlld0NoaWxkKGBtYXhTaXplUmVqZWN0aW9uYClcbiAgICByZWFkb25seSBtYXhTaXplUmVqZWN0aW9uITogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsaW5rOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkOiB1c2UgYDxpbnB1dCB0dWlJbnB1dEZpbGVzIGFjY2VwdD1cImltYWdlLypcIiAvPmBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWNjZXB0ID0gdGhpcy5vcHRpb25zLmFjY2VwdHM7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZDogdXNlIGA8aW5wdXQgdHVpSW5wdXRGaWxlcyBtdWx0aXBsZSAvPmBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbXVsdGlwbGUgPSB0aGlzLm9wdGlvbnMubXVsdGlwbGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZUwgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXhGaWxlU2l6ZSA9IHRoaXMub3B0aW9ucy5tYXhGaWxlU2l6ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlamVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRmlsZUxpa2UgfCByZWFkb25seSBUdWlGaWxlTGlrZVtdPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfRklMRV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgaW5wdXRGaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFxuICAgICAgICAgICAgUmVjb3JkPFxuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbE11bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbFNpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua011bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMaW5rU2luZ2xlJ1xuICAgICAgICAgICAgICAgIHwgJ2Ryb3AnXG4gICAgICAgICAgICAgICAgfCAnZHJvcE11bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ2Zvcm1hdFJlamVjdGlvblJlYXNvbidcbiAgICAgICAgICAgICAgICB8ICdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyxcbiAgICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgID5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfRklMRVNfT1BUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRGaWxlc09wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlSW5wdXQ/Lm11bHRpcGxlID8/IHRoaXMubXVsdGlwbGU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQWNjZXB0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUlucHV0Py5hY2NlcHQgPz8gdGhpcy5hY2NlcHQ7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkUHNldWRvSG92ZXJlZCgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBzZXVkb0hvdmVyID8/ICh0aGlzLmZpbGVEcmFnZ2VkIHx8IG51bGwpO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZExpbmskKCk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTGluayQodGhpcy5maWxlRHJhZ2dlZCwgdGhpcy5jb21wdXRlZE11bHRpcGxlLCB0aGlzLmxpbmspO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZExhYmVsJCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUxhYmVsJChcbiAgICAgICAgICAgIHRoaXMuaXNNb2JpbGUsXG4gICAgICAgICAgICB0aGlzLmZpbGVEcmFnZ2VkLFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE11bHRpcGxlLFxuICAgICAgICAgICAgdGhpcy5sYWJlbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsZURyYWdnZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZGF0YVRyYW5zZmVyPy50eXBlcy5pbmNsdWRlcyhgRmlsZXNgKTtcbiAgICB9XG5cbiAgICBnZXQgYXJyYXlWYWx1ZSgpOiByZWFkb25seSBUdWlGaWxlTGlrZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVBcnJheSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBmb2N1c2luYCwgW2B0cnVlYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihgZm9jdXNvdXRgLCBbYGZhbHNlYF0pXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNoYW5nZWApXG4gICAgb25GaWxlc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMubmF0aXZlSW5wdXQ/LmlucHV0ID8/IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKCFpbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9jZXNzU2VsZWN0ZWRGaWxlcyhpbnB1dC5maWxlcyk7XG5cbiAgICAgICAgaW5wdXQudmFsdWUgPSBgYDtcbiAgICB9XG5cbiAgICBvbkRyb3BwZWQoZXZlbnQ6IERhdGFUcmFuc2Zlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGV2ZW50LmZpbGVzKTtcbiAgICB9XG5cbiAgICBvbkRyYWdPdmVyKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFUcmFuc2ZlciA9IGRhdGFUcmFuc2ZlcjtcbiAgICB9XG5cbiAgICByZW1vdmVGaWxlKHJlbW92ZWRGaWxlOiBUdWlGaWxlTGlrZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE11bHRpcGxlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmFycmF5VmFsdWUuZmlsdGVyKGZpbGUgPT4gZmlsZSAhPT0gcmVtb3ZlZEZpbGUpXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTGluayQoXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGluazogUG9seW1vcnBoZXVzQ29udGVudCxcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIGZpbGVEcmFnZ2VkXG4gICAgICAgICAgICA/IG9mKGBgKVxuICAgICAgICAgICAgOiB0aGlzLmlucHV0RmlsZVRleHRzJC5waXBlKFxuICAgICAgICAgICAgICAgICAgbWFwKHRleHRzID0+XG4gICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgJiYgbGluayA9PT0gYGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0ZXh0cy5kZWZhdWx0TGlua011bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogbGluayB8fCB0ZXh0cy5kZWZhdWx0TGlua1NpbmdsZSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVMYWJlbCQoXG4gICAgICAgIGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBmaWxlRHJhZ2dlZDogYm9vbGVhbixcbiAgICAgICAgbXVsdGlwbGU6IGJvb2xlYW4sXG4gICAgICAgIGxhYmVsOiBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgICk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihgYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZURyYWdnZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlucHV0RmlsZVRleHRzJC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCh0ZXh0cyA9PiAobXVsdGlwbGUgPyB0ZXh0cy5kcm9wTXVsdGlwbGUgOiB0ZXh0cy5kcm9wKSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICBtYXAodGV4dHMgPT5cbiAgICAgICAgICAgICAgICBtdWx0aXBsZSAmJiBsYWJlbCA9PT0gYGBcbiAgICAgICAgICAgICAgICAgICAgPyB0ZXh0cy5kZWZhdWx0TGFiZWxNdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICA6IGxhYmVsIHx8IHRleHRzLmRlZmF1bHRMYWJlbFNpbmdsZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFZhbHVlQXJyYXkoXG4gICAgICAgIHZhbHVlOiBUdWlGaWxlTGlrZSB8IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10gfCBudWxsLFxuICAgICk6IHJlYWRvbmx5IFR1aUZpbGVMaWtlW10ge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlfQVJSQVk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU2VsZWN0ZWRGaWxlcyhmaWxlczogRmlsZUxpc3QgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIC8vIElFMTEgYWZ0ZXIgc2VsZWN0aW5nIGEgZmlsZSB0aHJvdWdoIHRoZSBvcGVuIGRpYWxvZyBnZW5lcmF0ZXMgYSBzZWNvbmQgZXZlbnQgcGFzc2luZyBhbiBlbXB0eSBGaWxlTGlzdC5cbiAgICAgICAgaWYgKCFmaWxlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlcnJvcnM6IFJlY29yZDxcbiAgICAgICAgICAgICdmb3JtYXRSZWplY3Rpb24nIHwgJ21heFNpemVSZWplY3Rpb24nLFxuICAgICAgICAgICAgUG9seW1vcnBoZXVzQ29udGVudFxuICAgICAgICA+ID0ge1xuICAgICAgICAgICAgZm9ybWF0UmVqZWN0aW9uOiB0aGlzLmZvcm1hdFJlamVjdGlvbixcbiAgICAgICAgICAgIG1heFNpemVSZWplY3Rpb246IHRoaXMubWF4U2l6ZVJlamVjdGlvbixcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBuZXdGaWxlcyA9IHRoaXMuY29tcHV0ZWRNdWx0aXBsZSA/IEFycmF5LmZyb20oZmlsZXMpIDogW2ZpbGVzWzBdXTtcbiAgICAgICAgY29uc3QgdG9vQmlnRmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplKTtcbiAgICAgICAgY29uc3Qgd3JvbmdGb3JtYXRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRoaXMuaXNGb3JtYXRBY2NlcHRhYmxlKGZpbGUpICYmICF0b29CaWdGaWxlcy5pbmNsdWRlcyhmaWxlKSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYWNjZXB0ZWRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRvb0JpZ0ZpbGVzLmluY2x1ZGVzKGZpbGUpICYmICF3cm9uZ0Zvcm1hdEZpbGVzLmluY2x1ZGVzKGZpbGUpLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0b29CaWdGaWxlcy5sZW5ndGggfHwgd3JvbmdGb3JtYXRGaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0RmlsZXMoW1xuICAgICAgICAgICAgICAgIC4uLnRvb0JpZ0ZpbGVzLm1hcChmaWxlID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGVycm9ycy5tYXhTaXplUmVqZWN0aW9uLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAuLi53cm9uZ0Zvcm1hdEZpbGVzLm1hcChmaWxlID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGVycm9ycy5mb3JtYXRSZWplY3Rpb24sXG4gICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZE11bHRpcGxlXG4gICAgICAgICAgICAgICAgPyBbLi4udGhpcy5hcnJheVZhbHVlLCAuLi5hY2NlcHRlZEZpbGVzXVxuICAgICAgICAgICAgICAgIDogYWNjZXB0ZWRGaWxlc1swXSB8fCBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGb3JtYXRBY2NlcHRhYmxlKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkQWNjZXB0KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGAuJHsoZmlsZS5uYW1lLnNwbGl0KGAuYCkucG9wKCkgfHwgYGApLnRvTG93ZXJDYXNlKCl9YDtcblxuICAgICAgICByZXR1cm4gdHVpR2V0QWNjZXB0QXJyYXkodGhpcy5jb21wdXRlZEFjY2VwdCkuc29tZShcbiAgICAgICAgICAgIGZvcm1hdCA9PlxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gZXh0ZW5zaW9uIHx8XG4gICAgICAgICAgICAgICAgZm9ybWF0ID09PSBmaWxlLnR5cGUgfHxcbiAgICAgICAgICAgICAgICAoZm9ybWF0LnNwbGl0KGAvYClbMV0gPT09IGAqYCAmJlxuICAgICAgICAgICAgICAgICAgICBmaWxlLnR5cGUuc3BsaXQoYC9gKVswXSA9PT0gZm9ybWF0LnNwbGl0KGAvYClbMF0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVqZWN0RmlsZXMocmVqZWN0ZWRGaWxlczogcmVhZG9ubHkgVHVpRmlsZUxpa2VbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlamVjdC5lbWl0KHRoaXMuY29tcHV0ZWRNdWx0aXBsZSA/IHJlamVjdGVkRmlsZXMgOiByZWplY3RlZEZpbGVzWzBdKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgdHVpV3JhcHBlclxuICAgIGFwcGVhcmFuY2U9XCJpbnB1dC1maWxlXCJcbiAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgW2NsYXNzLl9tb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlciB8fCBmaWxlRHJhZ2dlZCB8fCBudWxsXCJcbiAgICBbYWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuPlxuICAgIDxsYWJlbFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWZpbGVfX2xhYmVsXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxhYmVsXCJcbiAgICAgICAgKHR1aURyb3BwYWJsZURyb3BwZWQpPVwib25Ecm9wcGVkKCRldmVudClcIlxuICAgICAgICAodHVpRHJvcHBhYmxlRHJhZ092ZXJDaGFuZ2UpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50LnNpbGVudCk9XCIoMClcIlxuICAgID5cbiAgICAgICAgPGEgdHVpTGluaz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbXB1dGVkTGluayQgfCBhc3luYyBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29tcHV0ZWRMYWJlbCQgfCBhc3luYyBhcyB0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlYWRPbmx5ICYmICFjb21wdXRlZERpc2FibGVkXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtbmF0aXZlXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgICAgIFthY2NlcHRdPVwiYWNjZXB0XCJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbGFiZWw+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNmb3JtYXRSZWplY3Rpb24+XG4gICAge3sgKGlucHV0RmlsZVRleHRzJCB8IGFzeW5jKT8uZm9ybWF0UmVqZWN0aW9uUmVhc29uIHx8ICcnIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21heFNpemVSZWplY3Rpb24+XG4gICAge3sgbWF4RmlsZVNpemUgfCB0dWlNYXhTaXplUmVqZWN0aW9uRXJyb3IgfCBhc3luYyB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,77 @@
1
+ import { Directive, ElementRef, HostBinding, Inject } from '@angular/core';
2
+ import { TuiIdService } from '@taiga-ui/cdk';
3
+ // eslint-disable-next-line import/no-cycle
4
+ import { TuiInputFilesComponent } from './input-files.component';
5
+ import { TUI_INPUT_FILES_OPTIONS } from './input-files.options';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./input-files.component";
8
+ import * as i2 from "@taiga-ui/cdk";
9
+ export class TuiInputFilesDirective {
10
+ constructor(host, elementRef, idService, options) {
11
+ this.host = host;
12
+ this.elementRef = elementRef;
13
+ this.idService = idService;
14
+ this.options = options;
15
+ }
16
+ get tabIndex() {
17
+ return this.host.focusable ? 0 : -1;
18
+ }
19
+ get id() {
20
+ return this.elementRef.nativeElement.id || this.idService.generate();
21
+ }
22
+ get accept() {
23
+ var _a;
24
+ return (_a = this.elementRef.nativeElement.accept) !== null && _a !== void 0 ? _a : this.options.accepts;
25
+ }
26
+ get multiple() {
27
+ var _a;
28
+ return (_a = this.elementRef.nativeElement.multiple) !== null && _a !== void 0 ? _a : this.options.multiple;
29
+ }
30
+ get capture() {
31
+ var _a;
32
+ return ((_a = this.elementRef.nativeElement.capture) !== null && _a !== void 0 ? _a : this.options.capture);
33
+ }
34
+ get input() {
35
+ return this.elementRef.nativeElement;
36
+ }
37
+ }
38
+ TuiInputFilesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesDirective, deps: [{ token: TuiInputFilesComponent }, { token: ElementRef }, { token: TuiIdService }, { token: TUI_INPUT_FILES_OPTIONS }], target: i0.ɵɵFactoryTarget.Directive });
39
+ TuiInputFilesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputFilesDirective, selector: "input[tuiInputFiles]", host: { attributes: { "type": "file" }, properties: { "tabIndex": "this.tabIndex", "id": "this.id", "accept": "this.accept", "multiple": "this.multiple", "capture": "this.capture" }, classAttribute: "t-native" }, ngImport: i0 });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesDirective, decorators: [{
41
+ type: Directive,
42
+ args: [{
43
+ selector: `input[tuiInputFiles]`,
44
+ host: {
45
+ type: `file`,
46
+ class: `t-native`,
47
+ },
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i1.TuiInputFilesComponent, decorators: [{
50
+ type: Inject,
51
+ args: [TuiInputFilesComponent]
52
+ }] }, { type: i0.ElementRef, decorators: [{
53
+ type: Inject,
54
+ args: [ElementRef]
55
+ }] }, { type: i2.TuiIdService, decorators: [{
56
+ type: Inject,
57
+ args: [TuiIdService]
58
+ }] }, { type: undefined, decorators: [{
59
+ type: Inject,
60
+ args: [TUI_INPUT_FILES_OPTIONS]
61
+ }] }]; }, propDecorators: { tabIndex: [{
62
+ type: HostBinding,
63
+ args: [`tabIndex`]
64
+ }], id: [{
65
+ type: HostBinding,
66
+ args: [`id`]
67
+ }], accept: [{
68
+ type: HostBinding,
69
+ args: [`accept`]
70
+ }], multiple: [{
71
+ type: HostBinding,
72
+ args: [`multiple`]
73
+ }], capture: [{
74
+ type: HostBinding,
75
+ args: [`capture`]
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUzQywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLHVCQUF1QixDQUFDOzs7O0FBU3BGLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFDNkMsSUFBNEIsRUFDaEMsVUFBd0MsRUFDdEMsU0FBdUIsRUFDWixPQUE2QjtRQUh0QyxTQUFJLEdBQUosSUFBSSxDQUF3QjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUN0QyxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBc0I7SUFDaEYsQ0FBQztJQUVKLElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQ0ksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELElBQ0ksTUFBTTs7UUFDTixPQUFPLE1BQUEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxtQ0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFDSSxRQUFROztRQUNSLE9BQU8sTUFBQSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLG1DQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUNJLE9BQU87O1FBQ1AsT0FBTyxDQUNILE1BQ0ksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUduQixDQUFDLE9BQU8sbUNBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ3BDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDOztvSEF6Q1Esc0JBQXNCLGtCQUVuQixzQkFBc0IsYUFDdEIsVUFBVSxhQUNWLFlBQVksYUFDWix1QkFBdUI7d0dBTDFCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsTUFBTTt3QkFDWixLQUFLLEVBQUUsVUFBVTtxQkFDcEI7aUJBQ0o7OzBCQUdRLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxZQUFZOzswQkFDbkIsTUFBTTsyQkFBQyx1QkFBdUI7NENBSS9CLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxVQUFVO2dCQU1uQixFQUFFO3NCQURMLFdBQVc7dUJBQUMsSUFBSTtnQkFNYixNQUFNO3NCQURULFdBQVc7dUJBQUMsUUFBUTtnQkFNakIsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLFVBQVU7Z0JBTW5CLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlJZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQge1R1aUlucHV0RmlsZXNDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZmlsZXMuY29tcG9uZW50JztcbmltcG9ydCB7VFVJX0lOUFVUX0ZJTEVTX09QVElPTlMsIFR1aUlucHV0RmlsZXNPcHRpb25zfSBmcm9tICcuL2lucHV0LWZpbGVzLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYGlucHV0W3R1aUlucHV0RmlsZXNdYCxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6IGBmaWxlYCxcbiAgICAgICAgY2xhc3M6IGB0LW5hdGl2ZWAsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRGaWxlc0RpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSW5wdXRGaWxlc0NvbXBvbmVudCkgcmVhZG9ubHkgaG9zdDogVHVpSW5wdXRGaWxlc0NvbXBvbmVudCxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGlkU2VydmljZTogVHVpSWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9GSUxFU19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0RmlsZXNPcHRpb25zLFxuICAgICkge31cblxuICAgIEBIb3N0QmluZGluZyhgdGFiSW5kZXhgKVxuICAgIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmZvY3VzYWJsZSA/IDAgOiAtMTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGlkYClcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlkIHx8IHRoaXMuaWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBhY2NlcHRgKVxuICAgIGdldCBhY2NlcHQoKTogVHVpSW5wdXRGaWxlc09wdGlvbnNbJ2FjY2VwdHMnXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hY2NlcHQgPz8gdGhpcy5vcHRpb25zLmFjY2VwdHM7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBtdWx0aXBsZWApXG4gICAgZ2V0IG11bHRpcGxlKCk6IFR1aUlucHV0RmlsZXNPcHRpb25zWydtdWx0aXBsZSddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm11bHRpcGxlID8/IHRoaXMub3B0aW9ucy5tdWx0aXBsZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNhcHR1cmVgKVxuICAgIGdldCBjYXB0dXJlKCk6IFR1aUlucHV0RmlsZXNPcHRpb25zWydjYXB0dXJlJ10ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQgJiB7XG4gICAgICAgICAgICAgICAgICAgIGNhcHR1cmU6IFR1aUlucHV0RmlsZXNPcHRpb25zWydjYXB0dXJlJ107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKS5jYXB0dXJlID8/IHRoaXMub3B0aW9ucy5jYXB0dXJlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxufVxuIl19
@@ -5,12 +5,15 @@ import { TuiButtonModule, TuiGroupModule, TuiLinkModule, TuiLoaderModule, TuiSvg
5
5
  import { TuiFileComponent, TuiFilesComponent, TuiFilesModule, } from '@taiga-ui/kit/components/files';
6
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import { TuiInputFilesComponent } from './input-files.component';
8
+ import { TuiInputFilesDirective } from './input-files.directive';
8
9
  import { TuiMaxSizeRejectionErrorPipe } from './max-size-rejection-error.pipe';
9
10
  import * as i0 from "@angular/core";
10
11
  export class TuiInputFilesModule {
11
12
  }
12
13
  TuiInputFilesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- TuiInputFilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesModule, declarations: [TuiInputFilesComponent, TuiMaxSizeRejectionErrorPipe], imports: [CommonModule,
14
+ TuiInputFilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputFilesModule, declarations: [TuiInputFilesComponent,
15
+ TuiInputFilesDirective,
16
+ TuiMaxSizeRejectionErrorPipe], imports: [CommonModule,
14
17
  PolymorpheusModule,
15
18
  TuiLetModule,
16
19
  TuiFocusedModule,
@@ -26,6 +29,7 @@ TuiInputFilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
26
29
  TuiButtonModule,
27
30
  TuiGroupModule,
28
31
  TuiFilesModule], exports: [TuiInputFilesComponent,
32
+ TuiInputFilesDirective,
29
33
  TuiFilesComponent,
30
34
  TuiFileComponent,
31
35
  TuiItemDirective] });
@@ -68,13 +72,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
68
72
  TuiGroupModule,
69
73
  TuiFilesModule,
70
74
  ],
71
- declarations: [TuiInputFilesComponent, TuiMaxSizeRejectionErrorPipe],
75
+ declarations: [
76
+ TuiInputFilesComponent,
77
+ TuiInputFilesDirective,
78
+ TuiMaxSizeRejectionErrorPipe,
79
+ ],
72
80
  exports: [
73
81
  TuiInputFilesComponent,
82
+ TuiInputFilesDirective,
74
83
  TuiFilesComponent,
75
84
  TuiFileComponent,
76
85
  TuiItemDirective,
77
86
  ],
78
87
  }]
79
88
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLGFBQWEsRUFDYixlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUE2QjdFLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFSYixzQkFBc0IsRUFBRSw0QkFBNEIsYUFqQi9ELFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsY0FBYztRQUNkLGNBQWMsYUFJZCxzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixnQkFBZ0I7a0hBR1gsbUJBQW1CLFlBMUJuQjtZQUNMLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsY0FBYztZQUNkLGNBQWM7U0FDakI7NEZBU1EsbUJBQW1CO2tCQTNCL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsY0FBYztxQkFDakI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsNEJBQTRCLENBQUM7b0JBQ3BFLE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcHBhYmxlTW9kdWxlLFxuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgIFR1aUl0ZW1EaXJlY3RpdmUsXG4gICAgVHVpTGV0TW9kdWxlLFxuICAgIFR1aVByZXNzZWRNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgVHVpTGlua01vZHVsZSxcbiAgICBUdWlMb2FkZXJNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVdyYXBwZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpRmlsZUNvbXBvbmVudCxcbiAgICBUdWlGaWxlc0NvbXBvbmVudCxcbiAgICBUdWlGaWxlc01vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUlucHV0RmlsZXNDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZmlsZXMuY29tcG9uZW50JztcbmltcG9ydCB7VHVpTWF4U2l6ZVJlamVjdGlvbkVycm9yUGlwZX0gZnJvbSAnLi9tYXgtc2l6ZS1yZWplY3Rpb24tZXJyb3IucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpTGV0TW9kdWxlLFxuICAgICAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgICAgICBUdWlGb2N1c1Zpc2libGVNb2R1bGUsXG4gICAgICAgIFR1aVByZXNzZWRNb2R1bGUsXG4gICAgICAgIFR1aUhvdmVyZWRNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICAgICAgVHVpRHJvcHBhYmxlTW9kdWxlLFxuICAgICAgICBUdWlXcmFwcGVyTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFR1aUxvYWRlck1vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBUdWlHcm91cE1vZHVsZSxcbiAgICAgICAgVHVpRmlsZXNNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlJbnB1dEZpbGVzQ29tcG9uZW50LCBUdWlNYXhTaXplUmVqZWN0aW9uRXJyb3JQaXBlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFR1aUlucHV0RmlsZXNDb21wb25lbnQsXG4gICAgICAgIFR1aUZpbGVzQ29tcG9uZW50LFxuICAgICAgICBUdWlGaWxlQ29tcG9uZW50LFxuICAgICAgICBUdWlJdGVtRGlyZWN0aXZlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RmlsZXNNb2R1bGUge31cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZXMvaW5wdXQtZmlsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxlQUFlLEVBQ2YsY0FBYyxFQUNkLGFBQWEsRUFDYixlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFrQzdFLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFaeEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qiw0QkFBNEIsYUFwQjVCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsY0FBYztRQUNkLGNBQWMsYUFRZCxzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO2tIQUdYLG1CQUFtQixZQS9CbkI7WUFDTCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxjQUFjO1NBQ2pCOzRGQWNRLG1CQUFtQjtrQkFoQy9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDVixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsNEJBQTRCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcHBhYmxlTW9kdWxlLFxuICAgIFR1aUZvY3VzYWJsZU1vZHVsZSxcbiAgICBUdWlGb2N1c2VkTW9kdWxlLFxuICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICBUdWlIb3ZlcmVkTW9kdWxlLFxuICAgIFR1aUl0ZW1EaXJlY3RpdmUsXG4gICAgVHVpTGV0TW9kdWxlLFxuICAgIFR1aVByZXNzZWRNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgVHVpTGlua01vZHVsZSxcbiAgICBUdWlMb2FkZXJNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVdyYXBwZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpRmlsZUNvbXBvbmVudCxcbiAgICBUdWlGaWxlc0NvbXBvbmVudCxcbiAgICBUdWlGaWxlc01vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUlucHV0RmlsZXNDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZmlsZXMuY29tcG9uZW50JztcbmltcG9ydCB7VHVpSW5wdXRGaWxlc0RpcmVjdGl2ZX0gZnJvbSAnLi9pbnB1dC1maWxlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlNYXhTaXplUmVqZWN0aW9uRXJyb3JQaXBlfSBmcm9tICcuL21heC1zaXplLXJlamVjdGlvbi1lcnJvci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlMZXRNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzZWRNb2R1bGUsXG4gICAgICAgIFR1aUZvY3VzVmlzaWJsZU1vZHVsZSxcbiAgICAgICAgVHVpUHJlc3NlZE1vZHVsZSxcbiAgICAgICAgVHVpSG92ZXJlZE1vZHVsZSxcbiAgICAgICAgVHVpRm9jdXNhYmxlTW9kdWxlLFxuICAgICAgICBUdWlEcm9wcGFibGVNb2R1bGUsXG4gICAgICAgIFR1aVdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpTGlua01vZHVsZSxcbiAgICAgICAgVHVpTG9hZGVyTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgICAgICBUdWlGaWxlc01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlJbnB1dEZpbGVzQ29tcG9uZW50LFxuICAgICAgICBUdWlJbnB1dEZpbGVzRGlyZWN0aXZlLFxuICAgICAgICBUdWlNYXhTaXplUmVqZWN0aW9uRXJyb3JQaXBlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlJbnB1dEZpbGVzQ29tcG9uZW50LFxuICAgICAgICBUdWlJbnB1dEZpbGVzRGlyZWN0aXZlLFxuICAgICAgICBUdWlGaWxlc0NvbXBvbmVudCxcbiAgICAgICAgVHVpRmlsZUNvbXBvbmVudCxcbiAgICAgICAgVHVpSXRlbURpcmVjdGl2ZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dEZpbGVzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_INPUT_FILES_DEFAULT_OPTIONS = {
3
+ capture: null,
4
+ accepts: ``,
5
+ multiple: false,
6
+ size: `m`,
7
+ maxFileSize: 30 * 1000 * 1000, // 30 MB
8
+ };
9
+ export const TUI_INPUT_FILES_OPTIONS = new InjectionToken(`[TUI_INPUT_FILES_OPTIONS]: Default parameters for input files component`, {
10
+ factory: () => TUI_INPUT_FILES_DEFAULT_OPTIONS,
11
+ });
12
+ export const tuiInputFilesOptionsProvider = (options) => ({
13
+ provide: TUI_INPUT_FILES_OPTIONS,
14
+ useValue: Object.assign(Object.assign({}, TUI_INPUT_FILES_DEFAULT_OPTIONS), options),
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZXMub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWZpbGVzL2lucHV0LWZpbGVzLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFnQjVELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUF5QjtJQUNqRSxPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLEtBQUs7SUFDZixJQUFJLEVBQUUsR0FBRztJQUNULFdBQVcsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksRUFBRSxRQUFRO0NBQzFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDckQseUVBQXlFLEVBQ3pFO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLCtCQUErQjtDQUNqRCxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FFcEIsQ0FBQyxPQUFzQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELE9BQU8sRUFBRSx1QkFBdUI7SUFDaEMsUUFBUSxrQ0FBTSwrQkFBK0IsR0FBSyxPQUFPLENBQUM7Q0FDN0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSW5wdXRGaWxlc09wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbjpcbiAgICAgKiB1c2VyIC0gVGhlIHVzZXItZmFjaW5nIGNhbWVyYSBhbmQvb3IgbWljcm9waG9uZSBzaG91bGQgYmUgdXNlZC5cbiAgICAgKiBlbnZpcm9ubWVudCAtIFRoZSBvdXR3YXJkLWZhY2luZyBjYW1lcmEgYW5kL29yIG1pY3JvcGhvbmUgc2hvdWxkIGJlIHVzZWRcbiAgICAgKi9cbiAgICBjYXB0dXJlOiAnZW52aXJvbm1lbnQnIHwgJ3VzZXInIHwgbnVsbDtcbiAgICBhY2NlcHRzOiBzdHJpbmc7XG4gICAgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgc2l6ZTogVHVpU2l6ZUw7XG4gICAgbWF4RmlsZVNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9GSUxFU19ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0RmlsZXNPcHRpb25zID0ge1xuICAgIGNhcHR1cmU6IG51bGwsXG4gICAgYWNjZXB0czogYGAsXG4gICAgbXVsdGlwbGU6IGZhbHNlLFxuICAgIHNpemU6IGBtYCxcbiAgICBtYXhGaWxlU2l6ZTogMzAgKiAxMDAwICogMTAwMCwgLy8gMzAgTUJcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfRklMRVNfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlJbnB1dEZpbGVzT3B0aW9ucz4oXG4gICAgYFtUVUlfSU5QVVRfRklMRVNfT1BUSU9OU106IERlZmF1bHQgcGFyYW1ldGVycyBmb3IgaW5wdXQgZmlsZXMgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9GSUxFU19ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlJbnB1dEZpbGVzT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dEZpbGVzT3B0aW9ucz4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSAob3B0aW9uczogUGFydGlhbDxUdWlJbnB1dEZpbGVzT3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0lOUFVUX0ZJTEVTX09QVElPTlMsXG4gICAgdXNlVmFsdWU6IHsuLi5UVUlfSU5QVVRfRklMRVNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
68
68
  }], maxLength: [{
69
69
  type: Input
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWlubGluZS9pbnB1dC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtaW5saW5lL2lucHV0LWlubGluZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsY0FBYyxFQUVkLGtCQUFrQixHQUVyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBWXBFLE1BQU0sT0FBTyx1QkFDVCxTQUFRLGtCQUFtQztJQVUzQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DO1FBRS9ELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQVR0QyxjQUFTLEdBQWtCLElBQUksQ0FBQztJQVVoQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDOztxSEEzQ1EsdUJBQXVCLGtCQWNwQixTQUFTLHlDQUVULGlCQUFpQjt5R0FoQnBCLHVCQUF1QiwrRUFMckI7UUFDUCwyQkFBMkI7UUFDM0IsMEJBQTBCLENBQUMsdUJBQXVCLENBQUM7S0FDdEQsbUpDOUJMLHdtQkF5QkE7QURnQkk7SUFEQyxjQUFjLEVBQUU7MERBQ2U7NEZBVHZCLHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLDBCQUEwQix5QkFBeUI7cUJBQ3REO2lCQUNKOzswQkFhUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FYWixNQUFNO3NCQUR0QixTQUFTO3VCQUFDLFFBQVE7Z0JBS25CLFNBQVM7c0JBRlIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfVkFMVUVfQUNDRVNTT1JfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtaW5saW5lYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtaW5saW5lLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LWlubGluZS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRVSV9WQUxVRV9BQ0NFU1NPUl9QUk9WSURFUixcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRJbmxpbmVDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0SW5saW5lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nIHwgbnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChgbmF0aXZlYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZT86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4TGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXRpdmUgPyBudWxsIDogdGhpcy5uYXRpdmUubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IGBgO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBgO1xuICAgIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwidC1iZWZvcmVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cblxuPHNwYW5cbiAgICAqbmdJZj1cIiFoYXNWYWx1ZVwiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1pbmxpbmVfX3BsYWNlaG9sZGVyXCJcbiAgICBjbGFzcz1cInQtcGxhY2Vob2xkZXJcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cblxuPGlucHV0XG4gICAgI25hdGl2ZVxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtaW5saW5lX19uYXRpdmVcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICB0dWlNYXNrQWNjZXNzb3JcbiAgICBjbGFzcz1cInQtbmF0aXZlXCJcbiAgICBbYXR0ci5tYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt0dWlGb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAodHVpRm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4vPlxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LWlubGluZS9pbnB1dC1pbmxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtaW5saW5lL2lucHV0LWlubGluZS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQiwwQkFBMEIsRUFDMUIsY0FBYyxFQUVkLGtCQUFrQixHQUVyQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBWXBFLE1BQU0sT0FBTyx1QkFDVCxTQUFRLGtCQUFtQztJQVUzQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DO1FBRS9ELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQVR0QyxjQUFTLEdBQWtCLElBQUksQ0FBQztJQVVoQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDOztxSEEzQ1EsdUJBQXVCLGtCQWNwQixTQUFTLHlDQUVULGlCQUFpQjt5R0FoQnBCLHVCQUF1QiwrRUFMckI7UUFDUCwyQkFBMkI7UUFDM0IsMEJBQTBCLENBQUMsdUJBQXVCLENBQUM7S0FDdEQsbUpDOUJMLHdtQkF5QkE7QURnQkk7SUFEQyxjQUFjLEVBQUU7MERBQ2U7NEZBVHZCLHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDeEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLDBCQUEwQix5QkFBeUI7cUJBQ3REO2lCQUNKOzswQkFhUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FYWixNQUFNO3NCQUR0QixTQUFTO3VCQUFDLFFBQVE7Z0JBS25CLFNBQVM7c0JBRlIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfVkFMVUVfQUNDRVNTT1JfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtaW5saW5lYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtaW5saW5lLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LWlubGluZS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRVSV9WQUxVRV9BQ0NFU1NPUl9QUk9WSURFUixcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRJbmxpbmVDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0SW5saW5lQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyIHwgc3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChgbmF0aXZlYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZT86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4TGVuZ3RoOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5uYXRpdmUgPyBudWxsIDogdGhpcy5uYXRpdmUubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IGBgO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBgO1xuICAgIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwidC1iZWZvcmVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cblxuPHNwYW5cbiAgICAqbmdJZj1cIiFoYXNWYWx1ZVwiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1pbmxpbmVfX3BsYWNlaG9sZGVyXCJcbiAgICBjbGFzcz1cInQtcGxhY2Vob2xkZXJcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cblxuPGlucHV0XG4gICAgI25hdGl2ZVxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtaW5saW5lX19uYXRpdmVcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICB0dWlNYXNrQWNjZXNzb3JcbiAgICBjbGFzcz1cInQtbmF0aXZlXCJcbiAgICBbYXR0ci5tYXhMZW5ndGhdPVwibWF4TGVuZ3RoXCJcbiAgICBbaWRdPVwiaWRcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt0dWlGb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAodHVpRm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4vPlxuIl19