@ardium-ui/ui 2.3.2 → 3.0.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 (410) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +3 -2
  2. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +9 -6
  3. package/esm2022/lib/_internal/disablable-component.mjs +13 -8
  4. package/esm2022/lib/_internal/focusable-component.mjs +11 -4
  5. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +30 -23
  6. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +4 -5
  7. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +7 -8
  8. package/esm2022/lib/_internal/models/pagination.model.mjs +3 -3
  9. package/esm2022/lib/_internal/models/queue.mjs +59 -0
  10. package/esm2022/lib/_internal/ngmodel-component.mjs +4 -3
  11. package/esm2022/lib/_internal/selectable-list-component.mjs +31 -42
  12. package/esm2022/lib/badge/badge.defaults.mjs +20 -0
  13. package/esm2022/lib/badge/badge.directive.mjs +18 -15
  14. package/esm2022/lib/badge/index.mjs +3 -2
  15. package/esm2022/lib/buttons/_button-base.defaults.mjs +16 -0
  16. package/esm2022/lib/buttons/_button-base.mjs +12 -12
  17. package/esm2022/lib/buttons/button/button.component.mjs +15 -15
  18. package/esm2022/lib/buttons/button/button.defaults.mjs +17 -0
  19. package/esm2022/lib/buttons/button/index.mjs +3 -2
  20. package/esm2022/lib/buttons/fab/fab.component.mjs +16 -15
  21. package/esm2022/lib/buttons/fab/fab.defaults.mjs +17 -0
  22. package/esm2022/lib/buttons/fab/index.mjs +3 -2
  23. package/esm2022/lib/buttons/general-button.types.mjs +2 -2
  24. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +16 -13
  25. package/esm2022/lib/buttons/icon-button/icon-button.defaults.mjs +9 -0
  26. package/esm2022/lib/buttons/icon-button/index.mjs +3 -2
  27. package/esm2022/lib/card/card.children.mjs +15 -15
  28. package/esm2022/lib/card/card.component.mjs +6 -5
  29. package/esm2022/lib/card/card.defaults.mjs +17 -0
  30. package/esm2022/lib/card/index.mjs +4 -3
  31. package/esm2022/lib/checkbox/checkbox.component.mjs +16 -19
  32. package/esm2022/lib/checkbox/checkbox.defaults.mjs +17 -0
  33. package/esm2022/lib/checkbox/index.mjs +3 -2
  34. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +19 -21
  35. package/esm2022/lib/checkbox-list/checkbox-list.defaults.mjs +25 -0
  36. package/esm2022/lib/checkbox-list/index.mjs +3 -2
  37. package/esm2022/lib/chip/chip.component.mjs +17 -16
  38. package/esm2022/lib/chip/chip.defaults.mjs +20 -0
  39. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +18 -20
  40. package/esm2022/lib/chip/deletable-chip/deletable-chip.defaults.mjs +17 -0
  41. package/esm2022/lib/chip/index.mjs +5 -2
  42. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +21 -21
  43. package/esm2022/lib/chip/selectable-chip/selectable-chip.defaults.mjs +18 -0
  44. package/esm2022/lib/color/color-display/color-display.component.mjs +13 -12
  45. package/esm2022/lib/color/color-display/color-display.defaults.mjs +16 -0
  46. package/esm2022/lib/color/color-display/index.mjs +3 -2
  47. package/esm2022/lib/dialog/dialog.component.mjs +23 -22
  48. package/esm2022/lib/dialog/dialog.defaults.mjs +24 -0
  49. package/esm2022/lib/dialog/dialog.types.mjs +1 -1
  50. package/esm2022/lib/dialog/index.mjs +4 -3
  51. package/esm2022/lib/divider/divider.component.mjs +10 -12
  52. package/esm2022/lib/divider/divider.defaults.mjs +13 -0
  53. package/esm2022/lib/divider/index.mjs +3 -2
  54. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +10 -9
  55. package/esm2022/lib/dropdown-panel/dropdown-panel.defaults.mjs +17 -0
  56. package/esm2022/lib/dropdown-panel/index.mjs +3 -2
  57. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +14 -12
  58. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.defaults.mjs +18 -0
  59. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +1 -1
  60. package/esm2022/lib/file-inputs/file-drop-area/index.mjs +3 -2
  61. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +23 -25
  62. package/esm2022/lib/file-inputs/file-input/file-input.defaults.mjs +23 -0
  63. package/esm2022/lib/file-inputs/file-input/index.mjs +3 -2
  64. package/esm2022/lib/file-inputs/file-input-base.defaults.mjs +8 -0
  65. package/esm2022/lib/file-inputs/file-input-base.mjs +2 -2
  66. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +12 -8
  67. package/esm2022/lib/form-field-frame/form-field-frame.defaults.mjs +18 -0
  68. package/esm2022/lib/form-field-frame/index.mjs +3 -2
  69. package/esm2022/lib/icon/icon.component.mjs +6 -4
  70. package/esm2022/lib/icon/icon.defaults.mjs +17 -0
  71. package/esm2022/lib/icon/index.mjs +3 -2
  72. package/esm2022/lib/inputs/_simple-input-base.mjs +159 -0
  73. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +17 -15
  74. package/esm2022/lib/inputs/digit-input/digit-input.defaults.mjs +21 -0
  75. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +1 -1
  76. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  77. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  78. package/esm2022/lib/inputs/digit-input/index.mjs +3 -2
  79. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +24 -23
  80. package/esm2022/lib/inputs/hex-input/hex-input.defaults.mjs +26 -0
  81. package/esm2022/lib/inputs/hex-input/hex-input.model.mjs +97 -0
  82. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +1 -1
  83. package/esm2022/lib/inputs/hex-input/index.mjs +3 -2
  84. package/esm2022/lib/inputs/input/index.mjs +1 -1
  85. package/esm2022/lib/inputs/input/input.component.mjs +28 -48
  86. package/esm2022/lib/inputs/input/input.defaults.mjs +17 -0
  87. package/esm2022/lib/inputs/input/input.directives.mjs +1 -1
  88. package/esm2022/lib/inputs/input/input.module.mjs +1 -1
  89. package/esm2022/lib/inputs/input-transformers.mjs +1 -1
  90. package/esm2022/lib/inputs/input-utils.mjs +1 -1
  91. package/esm2022/lib/inputs/number-input/index.mjs +3 -2
  92. package/esm2022/lib/inputs/number-input/number-input.component.mjs +34 -30
  93. package/esm2022/lib/inputs/number-input/number-input.defaults.mjs +27 -0
  94. package/esm2022/lib/inputs/password-input/index.mjs +3 -2
  95. package/esm2022/lib/inputs/password-input/password-input.component.mjs +23 -18
  96. package/esm2022/lib/inputs/password-input/password-input.defaults.mjs +24 -0
  97. package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
  98. package/esm2022/lib/inputs/simple-input/index.mjs +3 -2
  99. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +15 -145
  100. package/esm2022/lib/inputs/simple-input/simple-input.defaults.mjs +25 -0
  101. package/esm2022/lib/kbd/index.mjs +2 -1
  102. package/esm2022/lib/kbd/kbd.component.mjs +6 -4
  103. package/esm2022/lib/kbd/kbd.defaults.mjs +15 -0
  104. package/esm2022/lib/kbd/kbd.directive.mjs +1 -1
  105. package/esm2022/lib/kbd/kbd.pipe.mjs +7 -3
  106. package/esm2022/lib/kbd-shortcut/index.mjs +3 -2
  107. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +12 -7
  108. package/esm2022/lib/kbd-shortcut/kbd-shortcut.defaults.mjs +8 -0
  109. package/esm2022/lib/modal/index.mjs +3 -2
  110. package/esm2022/lib/modal/modal.component.mjs +14 -11
  111. package/esm2022/lib/modal/modal.defaults.mjs +20 -0
  112. package/esm2022/lib/option/index.mjs +1 -1
  113. package/esm2022/lib/option/option.component.mjs +1 -1
  114. package/esm2022/lib/progress-bar/index.mjs +4 -3
  115. package/esm2022/lib/progress-bar/progress-bar.component.mjs +19 -18
  116. package/esm2022/lib/progress-bar/progress-bar.defaults.mjs +21 -0
  117. package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
  118. package/esm2022/lib/progress-circle/index.mjs +4 -3
  119. package/esm2022/lib/progress-circle/progress-circle.component.mjs +18 -22
  120. package/esm2022/lib/progress-circle/progress-circle.defaults.mjs +21 -0
  121. package/esm2022/lib/progress-circle/progress-circle.module.mjs +4 -4
  122. package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
  123. package/esm2022/lib/radio/index.mjs +4 -3
  124. package/esm2022/lib/radio/radio/radio.component.mjs +13 -10
  125. package/esm2022/lib/radio/radio/radio.defaults.mjs +16 -0
  126. package/esm2022/lib/radio/radio-group.component.mjs +7 -7
  127. package/esm2022/lib/search-functions.mjs +2 -2
  128. package/esm2022/lib/segment/index.mjs +3 -2
  129. package/esm2022/lib/segment/segment.component.mjs +22 -21
  130. package/esm2022/lib/segment/segment.defaults.mjs +26 -0
  131. package/esm2022/lib/segment/segment.directives.mjs +1 -1
  132. package/esm2022/lib/select/index.mjs +3 -2
  133. package/esm2022/lib/select/select.component.mjs +76 -101
  134. package/esm2022/lib/select/select.defaults.mjs +53 -0
  135. package/esm2022/lib/select/select.directive.mjs +1 -1
  136. package/esm2022/lib/select/select.types.mjs +1 -1
  137. package/esm2022/lib/slide-toggle/index.mjs +2 -1
  138. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +17 -15
  139. package/esm2022/lib/slide-toggle/slide-toggle.defaults.mjs +21 -0
  140. package/esm2022/lib/slide-toggle/slide-toggle.types.mjs +1 -1
  141. package/esm2022/lib/slider/abstract-slider.mjs +44 -34
  142. package/esm2022/lib/slider/index.mjs +5 -4
  143. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +13 -9
  144. package/esm2022/lib/slider/slider.component.mjs +13 -9
  145. package/esm2022/lib/slider/slider.defaults.mjs +14 -0
  146. package/esm2022/lib/slider/slider.module.mjs +1 -1
  147. package/esm2022/lib/slider/slider.types.mjs +1 -1
  148. package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
  149. package/esm2022/lib/snackbar/snackbar.component.mjs +3 -3
  150. package/esm2022/lib/snackbar/snackbar.service.mjs +10 -14
  151. package/esm2022/lib/snackbar/snackbar.token.mjs +12 -6
  152. package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
  153. package/esm2022/lib/spinner/index.mjs +3 -2
  154. package/esm2022/lib/spinner/spinner.component.mjs +7 -6
  155. package/esm2022/lib/spinner/spinner.defaults.mjs +14 -0
  156. package/esm2022/lib/star/index.mjs +3 -2
  157. package/esm2022/lib/star/star-button/index.mjs +3 -2
  158. package/esm2022/lib/star/star-button/star-button.component.mjs +14 -11
  159. package/esm2022/lib/star/star-button/star-button.defaults.mjs +18 -0
  160. package/esm2022/lib/star/star-display/index.mjs +3 -2
  161. package/esm2022/lib/star/star-display/star-display.component.mjs +10 -8
  162. package/esm2022/lib/star/star-display/star-display.defaults.mjs +16 -0
  163. package/esm2022/lib/star/star-input/index.mjs +3 -2
  164. package/esm2022/lib/star/star-input/star-input.component.mjs +14 -11
  165. package/esm2022/lib/star/star-input/star-input.defaults.mjs +17 -0
  166. package/esm2022/lib/star/star.component.mjs +15 -8
  167. package/esm2022/lib/star/star.defaults.mjs +15 -0
  168. package/esm2022/lib/statebox/index.mjs +2 -1
  169. package/esm2022/lib/statebox/statebox.component.mjs +19 -25
  170. package/esm2022/lib/statebox/statebox.defaults.mjs +20 -0
  171. package/esm2022/lib/statebox/statebox.types.mjs +1 -1
  172. package/esm2022/lib/tabber/index.mjs +5 -3
  173. package/esm2022/lib/tabber/tab/tab.component.mjs +7 -5
  174. package/esm2022/lib/tabber/tab/tab.defaults.mjs +13 -0
  175. package/esm2022/lib/tabber/tabber.component.mjs +13 -11
  176. package/esm2022/lib/tabber/tabber.defaults.mjs +19 -0
  177. package/esm2022/lib/tabber/tabber.module.mjs +1 -1
  178. package/esm2022/lib/table/index.mjs +3 -2
  179. package/esm2022/lib/table/table-item-storage.mjs +4 -4
  180. package/esm2022/lib/table/table.component.mjs +69 -50
  181. package/esm2022/lib/table/table.defaults.mjs +53 -0
  182. package/esm2022/lib/table/table.directives.mjs +1 -1
  183. package/esm2022/lib/table/table.module.mjs +8 -7
  184. package/esm2022/lib/table-from-csv/index.mjs +3 -2
  185. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +44 -44
  186. package/esm2022/lib/table-from-csv/table-from-csv.defaults.mjs +15 -0
  187. package/esm2022/lib/table-pagination/index.mjs +3 -2
  188. package/esm2022/lib/table-pagination/table-pagination.component.mjs +13 -9
  189. package/esm2022/lib/table-pagination/table-pagination.defaults.mjs +25 -0
  190. package/esm2022/lib/types/button.types.mjs +1 -1
  191. package/esm2022/lib/types/item-storage.types.mjs +1 -1
  192. package/esm2022/lib/types/utility.types.mjs +1 -1
  193. package/esm2022/public-api.mjs +1 -1
  194. package/fesm2022/ardium-ui-ui.mjs +3049 -2265
  195. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  196. package/lib/_internal/boolean-component.d.ts +5 -1
  197. package/lib/_internal/clear-button/clear-button.component.d.ts +1 -0
  198. package/lib/_internal/disablable-component.d.ts +9 -2
  199. package/lib/_internal/focusable-component.d.ts +6 -1
  200. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +9 -19
  201. package/lib/_internal/item-storages/simple-item-storage.d.ts +1 -1
  202. package/lib/_internal/item-storages/simplest-item-storage.d.ts +3 -3
  203. package/lib/_internal/models/pagination.model.d.ts +2 -2
  204. package/lib/_internal/ngmodel-component.d.ts +6 -2
  205. package/lib/_internal/selectable-list-component.d.ts +18 -13
  206. package/lib/badge/badge.defaults.d.ts +13 -0
  207. package/lib/badge/badge.directive.d.ts +4 -4
  208. package/lib/badge/index.d.ts +2 -1
  209. package/lib/buttons/_button-base.d.ts +6 -1
  210. package/lib/buttons/_button-base.defaults.d.ts +15 -0
  211. package/lib/buttons/button/button.component.d.ts +4 -3
  212. package/lib/buttons/button/button.defaults.d.ts +11 -0
  213. package/lib/buttons/button/index.d.ts +2 -1
  214. package/lib/buttons/fab/fab.component.d.ts +5 -6
  215. package/lib/buttons/fab/fab.defaults.d.ts +8 -0
  216. package/lib/buttons/fab/index.d.ts +2 -1
  217. package/lib/buttons/general-button.types.d.ts +2 -2
  218. package/lib/buttons/icon-button/icon-button.component.d.ts +3 -0
  219. package/lib/buttons/icon-button/icon-button.defaults.d.ts +6 -0
  220. package/lib/buttons/icon-button/index.d.ts +2 -1
  221. package/lib/card/card.children.d.ts +1 -1
  222. package/lib/card/card.component.d.ts +1 -0
  223. package/lib/card/card.defaults.d.ts +10 -0
  224. package/lib/card/index.d.ts +3 -2
  225. package/lib/checkbox/checkbox.component.d.ts +4 -2
  226. package/lib/checkbox/checkbox.defaults.d.ts +9 -0
  227. package/lib/checkbox/index.d.ts +2 -1
  228. package/lib/checkbox-list/checkbox-list.component.d.ts +4 -5
  229. package/lib/checkbox-list/checkbox-list.defaults.d.ts +19 -0
  230. package/lib/checkbox-list/index.d.ts +2 -1
  231. package/lib/chip/chip.component.d.ts +3 -0
  232. package/lib/chip/chip.defaults.d.ts +15 -0
  233. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +3 -3
  234. package/lib/chip/deletable-chip/deletable-chip.defaults.d.ts +8 -0
  235. package/lib/chip/index.d.ts +4 -1
  236. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +3 -3
  237. package/lib/chip/selectable-chip/selectable-chip.defaults.d.ts +9 -0
  238. package/lib/color/color-display/color-display.component.d.ts +2 -1
  239. package/lib/color/color-display/color-display.defaults.d.ts +9 -0
  240. package/lib/color/color-display/index.d.ts +2 -1
  241. package/lib/dialog/dialog.component.d.ts +1 -0
  242. package/lib/dialog/dialog.defaults.d.ts +16 -0
  243. package/lib/dialog/index.d.ts +3 -2
  244. package/lib/divider/divider.component.d.ts +1 -1
  245. package/lib/divider/divider.defaults.d.ts +6 -0
  246. package/lib/divider/index.d.ts +2 -1
  247. package/lib/dropdown-panel/dropdown-panel.component.d.ts +1 -0
  248. package/lib/dropdown-panel/dropdown-panel.defaults.d.ts +10 -0
  249. package/lib/dropdown-panel/index.d.ts +2 -1
  250. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +5 -2
  251. package/lib/file-inputs/file-drop-area/file-drop-area.defaults.d.ts +10 -0
  252. package/lib/file-inputs/file-drop-area/index.d.ts +2 -1
  253. package/lib/file-inputs/file-input/file-input.component.d.ts +4 -4
  254. package/lib/file-inputs/file-input/file-input.defaults.d.ts +15 -0
  255. package/lib/file-inputs/file-input/index.d.ts +2 -1
  256. package/lib/file-inputs/file-input-base.d.ts +2 -0
  257. package/lib/file-inputs/file-input-base.defaults.d.ts +7 -0
  258. package/lib/form-field-frame/form-field-frame.component.d.ts +3 -0
  259. package/lib/form-field-frame/form-field-frame.defaults.d.ts +10 -0
  260. package/lib/form-field-frame/index.d.ts +2 -1
  261. package/lib/icon/icon.component.d.ts +7 -3
  262. package/lib/icon/icon.defaults.d.ts +11 -0
  263. package/lib/icon/index.d.ts +2 -1
  264. package/lib/inputs/_simple-input-base.d.ts +62 -0
  265. package/lib/inputs/digit-input/digit-input.component.d.ts +3 -0
  266. package/lib/inputs/digit-input/digit-input.defaults.d.ts +13 -0
  267. package/lib/inputs/digit-input/index.d.ts +2 -1
  268. package/lib/inputs/hex-input/hex-input.component.d.ts +4 -4
  269. package/lib/inputs/hex-input/hex-input.defaults.d.ts +19 -0
  270. package/lib/inputs/{hex-input.model.d.ts → hex-input/hex-input.model.d.ts} +2 -2
  271. package/lib/inputs/hex-input/index.d.ts +2 -1
  272. package/lib/inputs/input/input.component.d.ts +10 -17
  273. package/lib/inputs/input/input.defaults.d.ts +9 -0
  274. package/lib/inputs/number-input/index.d.ts +2 -1
  275. package/lib/inputs/number-input/number-input.component.d.ts +3 -1
  276. package/lib/inputs/number-input/number-input.defaults.d.ts +19 -0
  277. package/lib/inputs/password-input/index.d.ts +2 -1
  278. package/lib/inputs/password-input/password-input.component.d.ts +3 -0
  279. package/lib/inputs/password-input/password-input.defaults.d.ts +17 -0
  280. package/lib/inputs/simple-input/index.d.ts +2 -1
  281. package/lib/inputs/simple-input/simple-input.component.d.ts +6 -50
  282. package/lib/inputs/simple-input/simple-input.defaults.d.ts +6 -0
  283. package/lib/kbd/index.d.ts +1 -0
  284. package/lib/kbd/kbd.component.d.ts +1 -0
  285. package/lib/kbd/kbd.defaults.d.ts +8 -0
  286. package/lib/kbd/kbd.pipe.d.ts +1 -0
  287. package/lib/kbd-shortcut/index.d.ts +2 -1
  288. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +2 -0
  289. package/lib/kbd-shortcut/kbd-shortcut.defaults.d.ts +8 -0
  290. package/lib/modal/index.d.ts +2 -1
  291. package/lib/modal/modal.component.d.ts +1 -0
  292. package/lib/modal/modal.defaults.d.ts +14 -0
  293. package/lib/progress-bar/index.d.ts +3 -2
  294. package/lib/progress-bar/progress-bar.component.d.ts +3 -1
  295. package/lib/progress-bar/progress-bar.defaults.d.ts +14 -0
  296. package/lib/progress-circle/index.d.ts +3 -2
  297. package/lib/progress-circle/progress-circle.component.d.ts +3 -1
  298. package/lib/progress-circle/progress-circle.defaults.d.ts +14 -0
  299. package/lib/progress-circle/progress-circle.module.d.ts +1 -1
  300. package/lib/radio/index.d.ts +3 -2
  301. package/lib/radio/radio/radio.component.d.ts +5 -2
  302. package/lib/radio/radio/radio.defaults.d.ts +8 -0
  303. package/lib/segment/index.d.ts +2 -1
  304. package/lib/segment/segment.component.d.ts +3 -0
  305. package/lib/segment/segment.defaults.d.ts +18 -0
  306. package/lib/select/index.d.ts +2 -1
  307. package/lib/select/select.component.d.ts +11 -22
  308. package/lib/select/select.defaults.d.ts +49 -0
  309. package/lib/slide-toggle/index.d.ts +1 -0
  310. package/lib/slide-toggle/slide-toggle.component.d.ts +9 -6
  311. package/lib/slide-toggle/slide-toggle.defaults.d.ts +14 -0
  312. package/lib/slider/abstract-slider.d.ts +22 -5
  313. package/lib/slider/index.d.ts +4 -3
  314. package/lib/slider/range-slider/range-slider.component.d.ts +3 -0
  315. package/lib/slider/slider.component.d.ts +3 -0
  316. package/lib/slider/slider.defaults.d.ts +6 -0
  317. package/lib/snackbar/snackbar.service.d.ts +1 -2
  318. package/lib/snackbar/snackbar.token.d.ts +3 -3
  319. package/lib/spinner/index.d.ts +2 -1
  320. package/lib/spinner/spinner.component.d.ts +1 -0
  321. package/lib/spinner/spinner.defaults.d.ts +7 -0
  322. package/lib/star/index.d.ts +2 -1
  323. package/lib/star/star-button/index.d.ts +2 -1
  324. package/lib/star/star-button/star-button.component.d.ts +3 -0
  325. package/lib/star/star-button/star-button.defaults.d.ts +10 -0
  326. package/lib/star/star-display/index.d.ts +2 -1
  327. package/lib/star/star-display/star-display.component.d.ts +1 -0
  328. package/lib/star/star-display/star-display.defaults.d.ts +9 -0
  329. package/lib/star/star-input/index.d.ts +2 -1
  330. package/lib/star/star-input/star-input.component.d.ts +3 -1
  331. package/lib/star/star-input/star-input.defaults.d.ts +9 -0
  332. package/lib/star/star.component.d.ts +4 -2
  333. package/lib/star/star.defaults.d.ts +8 -0
  334. package/lib/statebox/index.d.ts +1 -0
  335. package/lib/statebox/statebox.component.d.ts +7 -6
  336. package/lib/statebox/statebox.defaults.d.ts +10 -0
  337. package/lib/tabber/index.d.ts +4 -2
  338. package/lib/tabber/tab/tab.component.d.ts +1 -0
  339. package/lib/tabber/tab/tab.defaults.d.ts +6 -0
  340. package/lib/tabber/tabber.component.d.ts +3 -1
  341. package/lib/tabber/tabber.defaults.d.ts +12 -0
  342. package/lib/table/index.d.ts +2 -1
  343. package/lib/table/table-item-storage.d.ts +5 -10
  344. package/lib/table/table.component.d.ts +11 -9
  345. package/lib/table/table.defaults.d.ts +50 -0
  346. package/lib/table/table.module.d.ts +2 -1
  347. package/lib/table-from-csv/index.d.ts +2 -1
  348. package/lib/table-from-csv/table-from-csv.component.d.ts +7 -5
  349. package/lib/table-from-csv/table-from-csv.defaults.d.ts +7 -0
  350. package/lib/table-pagination/index.d.ts +2 -1
  351. package/lib/table-pagination/table-pagination.component.d.ts +3 -0
  352. package/lib/table-pagination/table-pagination.defaults.d.ts +20 -0
  353. package/lib/types/button.types.d.ts +1 -1
  354. package/lib/types/item-storage.types.d.ts +3 -63
  355. package/package.json +1 -1
  356. package/prebuilt-themes/default/buttons/fab.css +1 -1
  357. package/prebuilt-themes/default/buttons/icon-button.css +7 -12
  358. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  359. package/prebuilt-themes/default/checkbox.css.map +1 -1
  360. package/prebuilt-themes/default/inputs/color-input.css +5 -0
  361. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  362. package/prebuilt-themes/default/inputs/file-input.css +5 -0
  363. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  364. package/prebuilt-themes/default/inputs/hex-input.css +5 -0
  365. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  366. package/prebuilt-themes/default/inputs/input.css +5 -0
  367. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  368. package/prebuilt-themes/default/inputs/number-input.css +5 -0
  369. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  370. package/prebuilt-themes/default/inputs/password-input.css +5 -0
  371. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  372. package/prebuilt-themes/default/inputs/search-bar.css +5 -0
  373. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  374. package/prebuilt-themes/default/inputs/simple-input.css +5 -0
  375. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
  376. package/prebuilt-themes/default/segment.css.map +1 -1
  377. package/prebuilt-themes/default/select.css +4 -0
  378. package/prebuilt-themes/default/select.css.map +1 -1
  379. package/prebuilt-themes/default/tabber.css +2 -0
  380. package/prebuilt-themes/default/tabber.css.map +1 -1
  381. package/prebuilt-themes/default/table.css +17 -0
  382. package/prebuilt-themes/default/table.css.map +1 -1
  383. package/themes/default/_clear-button.scss +73 -73
  384. package/themes/default/badge.scss +94 -94
  385. package/themes/default/buttons/button.scss +72 -72
  386. package/themes/default/buttons/fab.scss +74 -74
  387. package/themes/default/buttons/icon-button.scss +55 -62
  388. package/themes/default/card.scss +129 -129
  389. package/themes/default/checkbox.scss +1 -1
  390. package/themes/default/chips.scss +200 -200
  391. package/themes/default/core.scss +99 -99
  392. package/themes/default/inputs/_shared.scss +5 -0
  393. package/themes/default/inputs/digit-input.scss +56 -56
  394. package/themes/default/inputs/file-input.scss +85 -85
  395. package/themes/default/inputs/hex-input.scss +27 -27
  396. package/themes/default/modal.scss +93 -93
  397. package/themes/default/segment.scss +355 -351
  398. package/themes/default/select.scss +259 -255
  399. package/themes/default/snackbar.scss +58 -58
  400. package/themes/default/tabber.scss +89 -87
  401. package/themes/default/table.scss +20 -0
  402. package/esm2022/lib/_internal/queue.mjs +0 -59
  403. package/esm2022/lib/color/color-picker/color-picker.types.mjs +0 -11
  404. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +0 -101
  405. package/esm2022/lib/inputs/color-input/color-input.types.mjs +0 -2
  406. package/esm2022/lib/inputs/hex-input.model.mjs +0 -97
  407. package/lib/color/color-picker/color-picker.types.d.ts +0 -21
  408. package/lib/inputs/color-input/color-input.directives.d.ts +0 -52
  409. package/lib/inputs/color-input/color-input.types.d.ts +0 -5
  410. /package/lib/_internal/{queue.d.ts → models/queue.d.ts} +0 -0
@@ -1,7 +1,6 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewEncapsulation, computed, input, } from '@angular/core';
2
- import { ComponentColor } from '../../types/colors.types';
3
- import { FormElementVariant } from '../../types/theming.types';
1
+ import { ChangeDetectionStrategy, Component, ContentChild, Inject, TemplateRef, ViewEncapsulation, computed, input, } from '@angular/core';
4
2
  import { _FileInputComponentBase } from '../file-input-base';
3
+ import { ARD_FILE_DROP_AREA_DEFAULTS } from './file-drop-area.defaults';
5
4
  import { ArdiumFileDropAreaDragoverContentTemplateDirective, ArdiumFileDropAreaIdleContentTemplateDirective, ArdiumFileDropAreaUploadedContentTemplateDirective, } from './file-drop-area.directives';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "@angular/common";
@@ -9,12 +8,12 @@ import * as i2 from "../../buttons/button/button.component";
9
8
  import * as i3 from "../../icon/icon.component";
10
9
  import * as i4 from "@ardium-ui/devkit";
11
10
  export class ArdiumFileDropAreaComponent extends _FileInputComponentBase {
12
- constructor() {
13
- super(...arguments);
11
+ constructor(defaults) {
12
+ super(defaults);
14
13
  this.componentId = '010';
15
14
  //! appearance
16
- this.variant = input(FormElementVariant.Rounded);
17
- this.color = input(ComponentColor.Primary);
15
+ this.variant = input(this._DEFAULTS.variant);
16
+ this.color = input(this._DEFAULTS.color);
18
17
  this.ngClasses = computed(() => [`ard-variant-${this.variant()}`, `ard-color-${this.color()}`, this.compact() ? 'ard-compact' : ''].join(' '));
19
18
  //! triggering file dialog
20
19
  this._wasMousedownOnElement = null;
@@ -52,13 +51,16 @@ export class ArdiumFileDropAreaComponent extends _FileInputComponentBase {
52
51
  files,
53
52
  };
54
53
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileDropAreaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFileDropAreaComponent, selector: "ard-file-drop-area", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "idleTemplate", first: true, predicate: ArdiumFileDropAreaIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileDropAreaDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileDropAreaUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-file-drop-area\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n (dragleave)=\"onDragleave()\"\r\n (dragover)=\"onDragover($event)\"\r\n (drop)=\"onDrop($event)\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n <div class=\"ard-file-drop-area-outline\">\r\n <div class=\"ard-file-drop-area-content\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n }\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'dragover'\"\r\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n ></ng-template>\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'uploaded'\"\r\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<input\r\n #fileInput\r\n class=\"ard-file-drop-area-input-element\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [id]=\"htmlId()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <ard-icon class=\"ard-file-drop-area-icon\">upload</ard-icon>\r\n <strong class=\"ard-file-drop-area-drop-text\">\r\n <span *ngIf=\"!multiple\">Drag & Drop a file</span>\r\n <span *ngIf=\"multiple\">Drag & Drop files</span>\r\n here\r\n </strong>\r\n <span class=\"ard-file-drop-area-or-text\">or</span>\r\n <ard-button\r\n class=\"ard-file-drop-area-browse-button\"\r\n appearance=\"transparent\"\r\n [compact]=\"compact()\"\r\n [variant]=\"variant()\"\r\n [color]=\"color()\"\r\n (click)=\"browse()\"\r\n >Browse files</ard-button\r\n >\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-drop-area-dragover-text\">Drop </span>\r\n <span class=\"ard-file-drop-area-dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-dragover-text\"> here to upload. </span>\r\n @if (amount > 1 && !multiple()) {\r\n <strong class=\"ard-file-drop-area-dragover-warning\"> Only the first file will be uploaded! </strong>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-drop-area-uploaded-container\">\r\n <div class=\"ard-file-drop-area-uploaded-message\">\r\n <span class=\"ard-file-drop-area-uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-uploaded-text\"> uploaded.</span>\r\n </div>\r\n <div class=\"ard-file-drop-area-uploaded-files\">\r\n @for (file of files; track $index) {\r\n <div class=\"ard-file-drop-area-file\">\r\n <ard-icon>draft</ard-icon>\r\n <div class=\"ard-file-drop-area-file-info\">\r\n <span class=\"ard-file-drop-area-filename\">\r\n <span class=\"ard-file-drop-area-filename-name\">{{ file | filename }}</span>\r\n <span class=\"ard-file-drop-area-filename-ext\">{{ file | fileext: true }}</span>\r\n </span>\r\n <span class=\"ard-file-drop-area-filesize\">{{ file.size | filesize }}</span>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-drop-area-input-element{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "type", "variant", "alignIcon", "vertical"] }, { kind: "component", type: i3.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[ardClickOutside]", outputs: ["ardClickOutside"] }, { kind: "pipe", type: i4.ArdiumFilesizePipe, name: "filesize" }, { kind: "pipe", type: i4.ArdiumFilenamePipe, name: "filename" }, { kind: "pipe", type: i4.ArdiumFileextPipe, name: "fileext" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileDropAreaComponent, deps: [{ token: ARD_FILE_DROP_AREA_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFileDropAreaComponent, selector: "ard-file-drop-area", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "idleTemplate", first: true, predicate: ArdiumFileDropAreaIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileDropAreaDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileDropAreaUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ard-file-drop-area\"\n (ardClickOutside)=\"onDragleave()\"\n (dragleave)=\"onDragleave()\"\n (dragover)=\"onDragover($event)\"\n (drop)=\"onDrop($event)\"\n [ngClass]=\"ngClasses\"\n>\n <div class=\"ard-file-drop-area-outline\">\n <div class=\"ard-file-drop-area-content\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n <ng-template\n *ngIf=\"currentViewState() === 'dragover'\"\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n ></ng-template>\n <ng-template\n *ngIf=\"currentViewState() === 'uploaded'\"\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n ></ng-template>\n </div>\n </div>\n</div>\n<input\n #fileInput\n class=\"ard-file-drop-area-input-element\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <ard-icon class=\"ard-file-drop-area-icon\">upload</ard-icon>\n <strong class=\"ard-file-drop-area-drop-text\">\n <span *ngIf=\"!multiple\">Drag & Drop a file</span>\n <span *ngIf=\"multiple\">Drag & Drop files</span>\n here\n </strong>\n <span class=\"ard-file-drop-area-or-text\">or</span>\n <ard-button\n class=\"ard-file-drop-area-browse-button\"\n appearance=\"transparent\"\n [compact]=\"compact()\"\n [variant]=\"variant()\"\n [color]=\"color()\"\n (click)=\"browse()\"\n >Browse files</ard-button\n >\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-drop-area-dragover-text\">Drop </span>\n <span class=\"ard-file-drop-area-dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-drop-area-dragover-text\"> here to upload. </span>\n @if (amount > 1 && !multiple()) {\n <strong class=\"ard-file-drop-area-dragover-warning\"> Only the first file will be uploaded! </strong>\n }\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n let-files=\"files\"\n>\n <div class=\"ard-file-drop-area-uploaded-container\">\n <div class=\"ard-file-drop-area-uploaded-message\">\n <span class=\"ard-file-drop-area-uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-drop-area-uploaded-text\"> uploaded.</span>\n </div>\n <div class=\"ard-file-drop-area-uploaded-files\">\n @for (file of files; track $index) {\n <div class=\"ard-file-drop-area-file\">\n <ard-icon>draft</ard-icon>\n <div class=\"ard-file-drop-area-file-info\">\n <span class=\"ard-file-drop-area-filename\">\n <span class=\"ard-file-drop-area-filename-name\">{{ file | filename }}</span>\n <span class=\"ard-file-drop-area-filename-ext\">{{ file | fileext: true }}</span>\n </span>\n <span class=\"ard-file-drop-area-filesize\">{{ file.size | filesize }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n</ng-template>\n", styles: [".ard-file-drop-area-input-element{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumButtonComponent, selector: "ard-button", inputs: ["icon", "variant", "alignIcon", "vertical"] }, { kind: "component", type: i3.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }, { kind: "directive", type: i4.ClickOutsideDirective, selector: "[ardClickOutside]", outputs: ["ardClickOutside"] }, { kind: "pipe", type: i4.ArdiumFilesizePipe, name: "filesize" }, { kind: "pipe", type: i4.ArdiumFilenamePipe, name: "filename" }, { kind: "pipe", type: i4.ArdiumFileextPipe, name: "fileext" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
57
56
  }
58
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileDropAreaComponent, decorators: [{
59
58
  type: Component,
60
- args: [{ selector: 'ard-file-drop-area', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-file-drop-area\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n (dragleave)=\"onDragleave()\"\r\n (dragover)=\"onDragover($event)\"\r\n (drop)=\"onDrop($event)\"\r\n [ngClass]=\"ngClasses\"\r\n>\r\n <div class=\"ard-file-drop-area-outline\">\r\n <div class=\"ard-file-drop-area-content\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n }\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'dragover'\"\r\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n ></ng-template>\r\n <ng-template\r\n *ngIf=\"currentViewState() === 'uploaded'\"\r\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n ></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n<input\r\n #fileInput\r\n class=\"ard-file-drop-area-input-element\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [id]=\"htmlId()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <ard-icon class=\"ard-file-drop-area-icon\">upload</ard-icon>\r\n <strong class=\"ard-file-drop-area-drop-text\">\r\n <span *ngIf=\"!multiple\">Drag & Drop a file</span>\r\n <span *ngIf=\"multiple\">Drag & Drop files</span>\r\n here\r\n </strong>\r\n <span class=\"ard-file-drop-area-or-text\">or</span>\r\n <ard-button\r\n class=\"ard-file-drop-area-browse-button\"\r\n appearance=\"transparent\"\r\n [compact]=\"compact()\"\r\n [variant]=\"variant()\"\r\n [color]=\"color()\"\r\n (click)=\"browse()\"\r\n >Browse files</ard-button\r\n >\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-drop-area-dragover-text\">Drop </span>\r\n <span class=\"ard-file-drop-area-dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-dragover-text\"> here to upload. </span>\r\n @if (amount > 1 && !multiple()) {\r\n <strong class=\"ard-file-drop-area-dragover-warning\"> Only the first file will be uploaded! </strong>\r\n }\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n let-files=\"files\"\r\n>\r\n <div class=\"ard-file-drop-area-uploaded-container\">\r\n <div class=\"ard-file-drop-area-uploaded-message\">\r\n <span class=\"ard-file-drop-area-uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-drop-area-uploaded-text\"> uploaded.</span>\r\n </div>\r\n <div class=\"ard-file-drop-area-uploaded-files\">\r\n @for (file of files; track $index) {\r\n <div class=\"ard-file-drop-area-file\">\r\n <ard-icon>draft</ard-icon>\r\n <div class=\"ard-file-drop-area-file-info\">\r\n <span class=\"ard-file-drop-area-filename\">\r\n <span class=\"ard-file-drop-area-filename-name\">{{ file | filename }}</span>\r\n <span class=\"ard-file-drop-area-filename-ext\">{{ file | fileext: true }}</span>\r\n </span>\r\n <span class=\"ard-file-drop-area-filesize\">{{ file.size | filesize }}</span>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-drop-area-input-element{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
61
- }], propDecorators: { idleTemplate: [{
59
+ args: [{ selector: 'ard-file-drop-area', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ard-file-drop-area\"\n (ardClickOutside)=\"onDragleave()\"\n (dragleave)=\"onDragleave()\"\n (dragover)=\"onDragover($event)\"\n (drop)=\"onDrop($event)\"\n [ngClass]=\"ngClasses\"\n>\n <div class=\"ard-file-drop-area-outline\">\n <div class=\"ard-file-drop-area-content\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n <ng-template\n *ngIf=\"currentViewState() === 'dragover'\"\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n ></ng-template>\n <ng-template\n *ngIf=\"currentViewState() === 'uploaded'\"\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n ></ng-template>\n </div>\n </div>\n</div>\n<input\n #fileInput\n class=\"ard-file-drop-area-input-element\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <ard-icon class=\"ard-file-drop-area-icon\">upload</ard-icon>\n <strong class=\"ard-file-drop-area-drop-text\">\n <span *ngIf=\"!multiple\">Drag & Drop a file</span>\n <span *ngIf=\"multiple\">Drag & Drop files</span>\n here\n </strong>\n <span class=\"ard-file-drop-area-or-text\">or</span>\n <ard-button\n class=\"ard-file-drop-area-browse-button\"\n appearance=\"transparent\"\n [compact]=\"compact()\"\n [variant]=\"variant()\"\n [color]=\"color()\"\n (click)=\"browse()\"\n >Browse files</ard-button\n >\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-drop-area-dragover-text\">Drop </span>\n <span class=\"ard-file-drop-area-dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-drop-area-dragover-text\"> here to upload. </span>\n @if (amount > 1 && !multiple()) {\n <strong class=\"ard-file-drop-area-dragover-warning\"> Only the first file will be uploaded! </strong>\n }\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n let-files=\"files\"\n>\n <div class=\"ard-file-drop-area-uploaded-container\">\n <div class=\"ard-file-drop-area-uploaded-message\">\n <span class=\"ard-file-drop-area-uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-drop-area-uploaded-text\"> uploaded.</span>\n </div>\n <div class=\"ard-file-drop-area-uploaded-files\">\n @for (file of files; track $index) {\n <div class=\"ard-file-drop-area-file\">\n <ard-icon>draft</ard-icon>\n <div class=\"ard-file-drop-area-file-info\">\n <span class=\"ard-file-drop-area-filename\">\n <span class=\"ard-file-drop-area-filename-name\">{{ file | filename }}</span>\n <span class=\"ard-file-drop-area-filename-ext\">{{ file | fileext: true }}</span>\n </span>\n <span class=\"ard-file-drop-area-filesize\">{{ file.size | filesize }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n</ng-template>\n", styles: [".ard-file-drop-area-input-element{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
60
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
61
+ type: Inject,
62
+ args: [ARD_FILE_DROP_AREA_DEFAULTS]
63
+ }] }], propDecorators: { idleTemplate: [{
62
64
  type: ContentChild,
63
65
  args: [ArdiumFileDropAreaIdleContentTemplateDirective, {
64
66
  read: TemplateRef,
@@ -74,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
74
76
  read: TemplateRef,
75
77
  }]
76
78
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWRyb3AtYXJlYS9maWxlLWRyb3AtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtZHJvcC1hcmVhL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFDTCxrREFBa0QsRUFDbEQsOENBQThDLEVBQzlDLGtEQUFrRCxHQUNuRCxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFTckMsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtJQVB4RTs7UUFRVyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFjO1FBQ0wsWUFBTyxHQUFHLEtBQUssQ0FBcUIsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsVUFBSyxHQUFHLEtBQUssQ0FBaUIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRELGNBQVMsR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFLENBQ3pDLENBQUMsZUFBZSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxhQUFhLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzlHLENBQUM7UUFFRiwwQkFBMEI7UUFDaEIsMkJBQXNCLEdBQWdCLElBQUksQ0FBQztRQVdyRCxhQUFhO1FBSWIsaUJBQVksR0FBK0MsSUFBSSxDQUFDO1FBSWhFLHFCQUFnQixHQUE4QyxJQUFJLENBQUM7UUFJbkUscUJBQWdCLEdBQThDLElBQUksQ0FBQztLQXNCcEU7SUE1Q0MsV0FBVztRQUNULElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQjtZQUFFLE9BQU87UUFDekMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUVuQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBZ0JELGNBQWM7UUFDWixPQUFPO1lBQ0wsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYztTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUNELGtCQUFrQjtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDO1FBQzFCLE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSztZQUNoQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsS0FBSztTQUNOLENBQUM7SUFDSixDQUFDOzhHQXhEVSwyQkFBMkI7a0dBQTNCLDJCQUEyQixzV0F3QnhCLDhDQUE4QywyQkFDcEQsV0FBVyxnRUFHTCxrREFBa0QsMkJBQ3hELFdBQVcsZ0VBR0wsa0RBQWtELDJCQUN4RCxXQUFXLG9EQzVEckIsNjRIQStHQTs7MkZEcEZhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSxvQkFBb0IsaUJBR2YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkE2Qi9DLFlBQVk7c0JBSFgsWUFBWTt1QkFBQyw4Q0FBOEMsRUFBRTt3QkFDNUQsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCO2dCQUtELGdCQUFnQjtzQkFIZixZQUFZO3VCQUFDLGtEQUFrRCxFQUFFO3dCQUNoRSxJQUFJLEVBQUUsV0FBVztxQkFDbEI7Z0JBS0QsZ0JBQWdCO3NCQUhmLFlBQVk7dUJBQUMsa0RBQWtELEVBQUU7d0JBQ2hFLElBQUksRUFBRSxXQUFXO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBPbkluaXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgY29tcHV0ZWQsXHJcbiAgaW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcclxuaW1wb3J0IHsgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XHJcbmltcG9ydCB7IF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vZmlsZS1pbnB1dC1iYXNlJztcclxuaW1wb3J0IHsgRmlsZUlucHV0QnJvd3NlQ29udGV4dCwgRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQsIEZpbGVJbnB1dEZpbGVzQ29udGV4dCB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gIEFyZGl1bUZpbGVEcm9wQXJlYURyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZGl1bUZpbGVEcm9wQXJlYUlkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkaXVtRmlsZURyb3BBcmVhVXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbn0gZnJvbSAnLi9maWxlLWRyb3AtYXJlYS5kaXJlY3RpdmVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtZHJvcC1hcmVhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1kcm9wLWFyZWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVEcm9wQXJlYUNvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcwMTAnO1xyXG5cclxuICAvLyEgYXBwZWFyYW5jZVxyXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxGb3JtRWxlbWVudFZhcmlhbnQ+KEZvcm1FbGVtZW50VmFyaWFudC5Sb3VuZGVkKTtcclxuICByZWFkb25seSBjb2xvciA9IGlucHV0PENvbXBvbmVudENvbG9yPihDb21wb25lbnRDb2xvci5QcmltYXJ5KTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzc2VzID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PlxyXG4gICAgW2BhcmQtdmFyaWFudC0ke3RoaXMudmFyaWFudCgpfWAsIGBhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgdGhpcy5jb21wYWN0KCkgPyAnYXJkLWNvbXBhY3QnIDogJyddLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIC8vISB0cmlnZ2VyaW5nIGZpbGUgZGlhbG9nXHJcbiAgcHJvdGVjdGVkIF93YXNNb3VzZWRvd25PbkVsZW1lbnQ6IHRydWUgfCBudWxsID0gbnVsbDtcclxuICBvbk1vdXNlZG93bigpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dhc01vdXNlZG93bk9uRWxlbWVudCA9IHRydWU7XHJcbiAgfVxyXG4gIG9uTW91c2V1cCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fd2FzTW91c2Vkb3duT25FbGVtZW50KSByZXR1cm47XHJcbiAgICB0aGlzLl93YXNNb3VzZWRvd25PbkVsZW1lbnQgPSBudWxsO1xyXG5cclxuICAgIHRoaXMub3BlbkJyb3dzZURpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHRlbXBsYXRlc1xyXG4gIEBDb250ZW50Q2hpbGQoQXJkaXVtRmlsZURyb3BBcmVhSWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xyXG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXHJcbiAgfSlcclxuICBpZGxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEJyb3dzZUNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlRHJvcEFyZWFEcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xyXG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXHJcbiAgfSlcclxuICBkcmFnb3ZlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlRHJvcEFyZWFVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xyXG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXHJcbiAgfSlcclxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGdldElkbGVDb250ZXh0KCk6IEZpbGVJbnB1dEJyb3dzZUNvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYnJvd3NlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYW1vdW50OiB0aGlzLl9kcmFnZ2VkRmlsZXMhLFxyXG4gICAgfTtcclxuICB9XHJcbiAgZ2V0VXBsb2FkZWRDb250ZXh0KCk6IEZpbGVJbnB1dEZpbGVzQ29udGV4dCB7XHJcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJGltcGxpY2l0OiBmaWxlcyxcclxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXHJcbiAgICAgIGZpbGVzLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhXCJcclxuICAoYXJkQ2xpY2tPdXRzaWRlKT1cIm9uRHJhZ2xlYXZlKClcIlxyXG4gIChkcmFnbGVhdmUpPVwib25EcmFnbGVhdmUoKVwiXHJcbiAgKGRyYWdvdmVyKT1cIm9uRHJhZ292ZXIoJGV2ZW50KVwiXHJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxyXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3Nlc1wiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLW91dGxpbmVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtY29udGVudFwiPlxyXG4gICAgICBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2lkbGUnKSB7XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpZGxlVGVtcGxhdGUgPz8gZGVmYXVsdElkbGVUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0SWRsZUNvbnRleHQoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgfVxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAqbmdJZj1cImN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJ1wiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhZ292ZXJUZW1wbGF0ZSA/PyBkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldERyYWdvdmVyQ29udGV4dCgpXCJcclxuICAgICAgPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICpuZ0lmPVwiY3VycmVudFZpZXdTdGF0ZSgpID09PSAndXBsb2FkZWQnXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1cGxvYWRlZFRlbXBsYXRlID8/IGRlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VXBsb2FkZWRDb250ZXh0KClcIlxyXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGlucHV0XHJcbiAgI2ZpbGVJbnB1dFxyXG4gIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWlucHV0LWVsZW1lbnRcIlxyXG4gIHR5cGU9XCJmaWxlXCJcclxuICBbbmFtZV09XCJuYW1lKClcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcclxuICBbaWRdPVwiaHRtbElkKClcIlxyXG4gIChjaGFuZ2UpPVwib25JbnB1dENoYW5nZSgpXCJcclxuLz5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICNkZWZhdWx0SWRsZVRlbXBsYXRlXHJcbiAgbGV0LWJyb3dzZT1cImJyb3dzZVwiXHJcbj5cclxuICA8YXJkLWljb24gY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtaWNvblwiPnVwbG9hZDwvYXJkLWljb24+XHJcbiAgPHN0cm9uZyBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1kcm9wLXRleHRcIj5cclxuICAgIDxzcGFuICpuZ0lmPVwiIW11bHRpcGxlXCI+RHJhZyAmIERyb3AgYSBmaWxlPC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJtdWx0aXBsZVwiPkRyYWcgJiBEcm9wIGZpbGVzPC9zcGFuPlxyXG4gICAgaGVyZVxyXG4gIDwvc3Ryb25nPlxyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLW9yLXRleHRcIj5vcjwvc3Bhbj5cclxuICA8YXJkLWJ1dHRvblxyXG4gICAgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtYnJvd3NlLWJ1dHRvblwiXHJcbiAgICBhcHBlYXJhbmNlPVwidHJhbnNwYXJlbnRcIlxyXG4gICAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcclxuICAgIFt2YXJpYW50XT1cInZhcmlhbnQoKVwiXHJcbiAgICBbY29sb3JdPVwiY29sb3IoKVwiXHJcbiAgICAoY2xpY2spPVwiYnJvd3NlKClcIlxyXG4gICAgPkJyb3dzZSBmaWxlczwvYXJkLWJ1dHRvblxyXG4gID5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICNkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVxyXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtZHJhZ292ZXItdGV4dFwiPkRyb3AgPC9zcGFuPlxyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWRyYWdvdmVyLWFtb3VudFwiPlxyXG4gICAge3sgYW1vdW50IH19XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCJvdGhlclwiPmZpbGVzPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1kcmFnb3Zlci10ZXh0XCI+IGhlcmUgdG8gdXBsb2FkLiA8L3NwYW4+XHJcbiAgQGlmIChhbW91bnQgPiAxICYmICFtdWx0aXBsZSgpKSB7XHJcbiAgICA8c3Ryb25nIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWRyYWdvdmVyLXdhcm5pbmdcIj4gT25seSB0aGUgZmlyc3QgZmlsZSB3aWxsIGJlIHVwbG9hZGVkISA8L3N0cm9uZz5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAjZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcclxuICBsZXQtYW1vdW50PVwiYW1vdW50XCJcclxuICBsZXQtZmlsZXM9XCJmaWxlc1wiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLXVwbG9hZGVkLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS11cGxvYWRlZC1tZXNzYWdlXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLXVwbG9hZGVkLWFtb3VudFwiPlxyXG4gICAgICAgIHt7IGFtb3VudCB9fVxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwib3RoZXJcIj5maWxlczwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtdXBsb2FkZWQtdGV4dFwiPiB1cGxvYWRlZC48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtdXBsb2FkZWQtZmlsZXNcIj5cclxuICAgICAgQGZvciAoZmlsZSBvZiBmaWxlczsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1maWxlXCI+XHJcbiAgICAgICAgICA8YXJkLWljb24+ZHJhZnQ8L2FyZC1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1maWxlLWluZm9cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtZmlsZW5hbWVcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1maWxlbmFtZS1uYW1lXCI+e3sgZmlsZSB8IGZpbGVuYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWZpbGVuYW1lLWV4dFwiPnt7IGZpbGUgfCBmaWxlZXh0OiB0cnVlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWZpbGVzaXplXCI+e3sgZmlsZS5zaXplIHwgZmlsZXNpemUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWRyb3AtYXJlYS9maWxlLWRyb3AtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtZHJvcC1hcmVhL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSwyQkFBMkIsRUFBMkIsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRyxPQUFPLEVBQ0wsa0RBQWtELEVBQ2xELDhDQUE4QyxFQUM5QyxrREFBa0QsR0FDbkQsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7O0FBU3JDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSx1QkFBdUI7SUFFdEUsWUFBaUQsUUFBaUM7UUFDaEYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBR1QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0IsY0FBYztRQUNMLFlBQU8sR0FBRyxLQUFLLENBQXFCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsVUFBSyxHQUFHLEtBQUssQ0FBaUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxjQUFTLEdBQUcsUUFBUSxDQUFTLEdBQUcsRUFBRSxDQUN6QyxDQUFDLGVBQWUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsYUFBYSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUM5RyxDQUFDO1FBRUYsMEJBQTBCO1FBQ2hCLDJCQUFzQixHQUFnQixJQUFJLENBQUM7UUFXckQsYUFBYTtRQUliLGlCQUFZLEdBQStDLElBQUksQ0FBQztRQUloRSxxQkFBZ0IsR0FBOEMsSUFBSSxDQUFDO1FBSW5FLHFCQUFnQixHQUE4QyxJQUFJLENBQUM7SUFwQ25FLENBQUM7SUFjRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBQ0QsU0FBUztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCO1lBQUUsT0FBTztRQUN6QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRW5DLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFnQkQsY0FBYztRQUNaLE9BQU87WUFDTCxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNYLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELGtCQUFrQjtRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFjO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0Qsa0JBQWtCO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFNLENBQUM7UUFDMUIsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixLQUFLO1NBQ04sQ0FBQztJQUNKLENBQUM7OEdBN0RVLDJCQUEyQixrQkFFbEIsMkJBQTJCO2tHQUZwQywyQkFBMkIsc1dBNkJ4Qiw4Q0FBOEMsMkJBQ3BELFdBQVcsZ0VBR0wsa0RBQWtELDJCQUN4RCxXQUFXLGdFQUdMLGtEQUFrRCwyQkFDeEQsV0FBVyxvRENsRXJCLCtxSEErR0E7OzJGRG5GYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0Usb0JBQW9CLGlCQUdmLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQUlsQyxNQUFNOzJCQUFDLDJCQUEyQjt5Q0E4Qi9DLFlBQVk7c0JBSFgsWUFBWTt1QkFBQyw4Q0FBOEMsRUFBRTt3QkFDNUQsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCO2dCQUtELGdCQUFnQjtzQkFIZixZQUFZO3VCQUFDLGtEQUFrRCxFQUFFO3dCQUNoRSxJQUFJLEVBQUUsV0FBVztxQkFDbEI7Z0JBS0QsZ0JBQWdCO3NCQUhmLFlBQVk7dUJBQUMsa0RBQWtELEVBQUU7d0JBQ2hFLElBQUksRUFBRSxXQUFXO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5qZWN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcbmltcG9ydCB7IF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vZmlsZS1pbnB1dC1iYXNlJztcbmltcG9ydCB7IEZpbGVJbnB1dEJyb3dzZUNvbnRleHQsIEZpbGVJbnB1dEZpbGVBbW91bnRDb250ZXh0LCBGaWxlSW5wdXRGaWxlc0NvbnRleHQgfSBmcm9tICcuLi9maWxlLWlucHV0LXR5cGVzJztcbmltcG9ydCB7IEFSRF9GSUxFX0RST1BfQVJFQV9ERUZBVUxUUywgQXJkRmlsZURyb3BBcmVhRGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmRlZmF1bHRzJztcbmltcG9ydCB7XG4gIEFyZGl1bUZpbGVEcm9wQXJlYURyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlRHJvcEFyZWFJZGxlQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlRHJvcEFyZWFVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9maWxlLWRyb3AtYXJlYS5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtZHJvcC1hcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS1kcm9wLWFyZWEuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVEcm9wQXJlYUNvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVEcm9wQXJlYURlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9GSUxFX0RST1BfQVJFQV9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZEZpbGVEcm9wQXJlYURlZmF1bHRzKSB7XG4gICAgc3VwZXIoZGVmYXVsdHMpO1xuICB9XG5cbiAgcmVhZG9ubHkgY29tcG9uZW50SWQgPSAnMDEwJztcblxuICAvLyEgYXBwZWFyYW5jZVxuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT5cbiAgICBbYGFyZC12YXJpYW50LSR7dGhpcy52YXJpYW50KCl9YCwgYGFyZC1jb2xvci0ke3RoaXMuY29sb3IoKX1gLCB0aGlzLmNvbXBhY3QoKSA/ICdhcmQtY29tcGFjdCcgOiAnJ10uam9pbignICcpXG4gICk7XG5cbiAgLy8hIHRyaWdnZXJpbmcgZmlsZSBkaWFsb2dcbiAgcHJvdGVjdGVkIF93YXNNb3VzZWRvd25PbkVsZW1lbnQ6IHRydWUgfCBudWxsID0gbnVsbDtcbiAgb25Nb3VzZWRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5fd2FzTW91c2Vkb3duT25FbGVtZW50ID0gdHJ1ZTtcbiAgfVxuICBvbk1vdXNldXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl93YXNNb3VzZWRvd25PbkVsZW1lbnQpIHJldHVybjtcbiAgICB0aGlzLl93YXNNb3VzZWRvd25PbkVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XG4gIH1cblxuICAvLyEgdGVtcGxhdGVzXG4gIEBDb250ZW50Q2hpbGQoQXJkaXVtRmlsZURyb3BBcmVhSWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBpZGxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEJyb3dzZUNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoQXJkaXVtRmlsZURyb3BBcmVhRHJhZ292ZXJDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgZHJhZ292ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RmlsZUlucHV0RmlsZXNDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVEcm9wQXJlYVVwbG9hZGVkQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHVwbG9hZGVkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEZpbGVzQ29udGV4dD4gfCBudWxsID0gbnVsbDtcblxuICBnZXRJZGxlQ29udGV4dCgpOiBGaWxlSW5wdXRCcm93c2VDb250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgYnJvd3NlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMub3BlbkJyb3dzZURpYWxvZygpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIGdldERyYWdvdmVyQ29udGV4dCgpOiBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFtb3VudDogdGhpcy5fZHJhZ2dlZEZpbGVzISxcbiAgICB9O1xuICB9XG4gIGdldFVwbG9hZGVkQ29udGV4dCgpOiBGaWxlSW5wdXRGaWxlc0NvbnRleHQge1xuICAgIGNvbnN0IGZpbGVzID0gdGhpcy52YWx1ZSE7XG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogZmlsZXMsXG4gICAgICBhbW91bnQ6IGZpbGVzLmxlbmd0aCxcbiAgICAgIGZpbGVzLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWFcIlxuICAoYXJkQ2xpY2tPdXRzaWRlKT1cIm9uRHJhZ2xlYXZlKClcIlxuICAoZHJhZ2xlYXZlKT1cIm9uRHJhZ2xlYXZlKClcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnb3ZlcigkZXZlbnQpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXNcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLW91dGxpbmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWNvbnRlbnRcIj5cbiAgICAgIEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAnaWRsZScpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWRsZVRlbXBsYXRlID8/IGRlZmF1bHRJZGxlVGVtcGxhdGVcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRJZGxlQ29udGV4dCgpXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdJZj1cImN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2RyYWdvdmVyJ1wiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYWdvdmVyVGVtcGxhdGUgPz8gZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0RHJhZ292ZXJDb250ZXh0KClcIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgKm5nSWY9XCJjdXJyZW50Vmlld1N0YXRlKCkgPT09ICd1cGxvYWRlZCdcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1cGxvYWRlZFRlbXBsYXRlID8/IGRlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldFVwbG9hZGVkQ29udGV4dCgpXCJcbiAgICAgID48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGlucHV0XG4gICNmaWxlSW5wdXRcbiAgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtaW5wdXQtZWxlbWVudFwiXG4gIHR5cGU9XCJmaWxlXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlKClcIlxuICBbaWRdPVwiaHRtbElkKClcIlxuICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXG4vPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRJZGxlVGVtcGxhdGVcbiAgbGV0LWJyb3dzZT1cImJyb3dzZVwiXG4+XG4gIDxhcmQtaWNvbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1pY29uXCI+dXBsb2FkPC9hcmQtaWNvbj5cbiAgPHN0cm9uZyBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1kcm9wLXRleHRcIj5cbiAgICA8c3BhbiAqbmdJZj1cIiFtdWx0aXBsZVwiPkRyYWcgJiBEcm9wIGEgZmlsZTwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cIm11bHRpcGxlXCI+RHJhZyAmIERyb3AgZmlsZXM8L3NwYW4+XG4gICAgaGVyZVxuICA8L3N0cm9uZz5cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtb3ItdGV4dFwiPm9yPC9zcGFuPlxuICA8YXJkLWJ1dHRvblxuICAgIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWJyb3dzZS1idXR0b25cIlxuICAgIGFwcGVhcmFuY2U9XCJ0cmFuc3BhcmVudFwiXG4gICAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgICBbdmFyaWFudF09XCJ2YXJpYW50KClcIlxuICAgIFtjb2xvcl09XCJjb2xvcigpXCJcbiAgICAoY2xpY2spPVwiYnJvd3NlKClcIlxuICAgID5Ccm93c2UgZmlsZXM8L2FyZC1idXR0b25cbiAgPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVxuICBsZXQtYW1vdW50PVwiYW1vdW50XCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtZHJhZ292ZXItdGV4dFwiPkRyb3AgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1kcmFnb3Zlci1hbW91bnRcIj5cbiAgICB7eyBhbW91bnQgfX1cbiAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCI9MVwiPmZpbGU8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWRyYWdvdmVyLXRleHRcIj4gaGVyZSB0byB1cGxvYWQuIDwvc3Bhbj5cbiAgQGlmIChhbW91bnQgPiAxICYmICFtdWx0aXBsZSgpKSB7XG4gICAgPHN0cm9uZyBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1kcmFnb3Zlci13YXJuaW5nXCI+IE9ubHkgdGhlIGZpcnN0IGZpbGUgd2lsbCBiZSB1cGxvYWRlZCEgPC9zdHJvbmc+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcbiAgbGV0LWFtb3VudD1cImFtb3VudFwiXG4gIGxldC1maWxlcz1cImZpbGVzXCJcbj5cbiAgPGRpdiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS11cGxvYWRlZC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLXVwbG9hZGVkLW1lc3NhZ2VcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLXVwbG9hZGVkLWFtb3VudFwiPlxuICAgICAgICB7eyBhbW91bnQgfX1cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdQbHVyYWxdPVwiYW1vdW50XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLXVwbG9hZGVkLXRleHRcIj4gdXBsb2FkZWQuPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtdXBsb2FkZWQtZmlsZXNcIj5cbiAgICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWZpbGVcIj5cbiAgICAgICAgICA8YXJkLWljb24+ZHJhZnQ8L2FyZC1pY29uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1kcm9wLWFyZWEtZmlsZS1pbmZvXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1maWxlbmFtZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1maWxlbmFtZS1uYW1lXCI+e3sgZmlsZSB8IGZpbGVuYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWRyb3AtYXJlYS1maWxlbmFtZS1leHRcIj57eyBmaWxlIHwgZmlsZWV4dDogdHJ1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtZHJvcC1hcmVhLWZpbGVzaXplXCI+e3sgZmlsZS5zaXplIHwgZmlsZXNpemUgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { _fileInputBaseDefaults } from '../file-input-base.defaults';
3
+ import { ComponentColor } from './../../types/colors.types';
4
+ import { FormElementVariant } from './../../types/theming.types';
5
+ const _fileDropAreaDefaults = {
6
+ ..._fileInputBaseDefaults,
7
+ variant: FormElementVariant.Rounded,
8
+ color: ComponentColor.Primary,
9
+ };
10
+ export const ARD_FILE_DROP_AREA_DEFAULTS = new InjectionToken('ard-file-drop-area-defaults', {
11
+ factory: () => ({
12
+ ..._fileDropAreaDefaults,
13
+ }),
14
+ });
15
+ export function provideFileDropAreaDefaults(config) {
16
+ return { provide: ARD_FILE_DROP_AREA_DEFAULTS, useValue: { ..._fileDropAreaDefaults, ...config } };
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWFyZWEuZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtZHJvcC1hcmVhL2ZpbGUtZHJvcC1hcmVhLmRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9qRSxNQUFNLHFCQUFxQixHQUE0QjtJQUNyRCxHQUFHLHNCQUFzQjtJQUN6QixPQUFPLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNuQyxLQUFLLEVBQUUsY0FBYyxDQUFDLE9BQU87Q0FDOUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUEwQiw2QkFBNkIsRUFBRTtJQUNwSCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcscUJBQXFCO0tBQ3pCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsTUFBd0M7SUFDbEYsT0FBTyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUNyRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfRmlsZUlucHV0QmFzZURlZmF1bHRzLCBfZmlsZUlucHV0QmFzZURlZmF1bHRzIH0gZnJvbSAnLi4vZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzJztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi8uLi8uLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi8uLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBcmRGaWxlRHJvcEFyZWFEZWZhdWx0cyBleHRlbmRzIF9GaWxlSW5wdXRCYXNlRGVmYXVsdHMge1xuICB2YXJpYW50OiBGb3JtRWxlbWVudFZhcmlhbnQ7XG4gIGNvbG9yOiBDb21wb25lbnRDb2xvcjtcbn1cblxuY29uc3QgX2ZpbGVEcm9wQXJlYURlZmF1bHRzOiBBcmRGaWxlRHJvcEFyZWFEZWZhdWx0cyA9IHtcbiAgLi4uX2ZpbGVJbnB1dEJhc2VEZWZhdWx0cyxcbiAgdmFyaWFudDogRm9ybUVsZW1lbnRWYXJpYW50LlJvdW5kZWQsXG4gIGNvbG9yOiBDb21wb25lbnRDb2xvci5QcmltYXJ5LFxufTtcblxuZXhwb3J0IGNvbnN0IEFSRF9GSUxFX0RST1BfQVJFQV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcmRGaWxlRHJvcEFyZWFEZWZhdWx0cz4oJ2FyZC1maWxlLWRyb3AtYXJlYS1kZWZhdWx0cycsIHtcbiAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAuLi5fZmlsZURyb3BBcmVhRGVmYXVsdHMsXG4gIH0pLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRmlsZURyb3BBcmVhRGVmYXVsdHMoY29uZmlnOiBQYXJ0aWFsPEFyZEZpbGVEcm9wQXJlYURlZmF1bHRzPik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogQVJEX0ZJTEVfRFJPUF9BUkVBX0RFRkFVTFRTLCB1c2VWYWx1ZTogeyAuLi5fZmlsZURyb3BBcmVhRGVmYXVsdHMsIC4uLmNvbmZpZyB9IH07XG59XG4iXX0=
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
55
55
  ],
56
56
  }]
57
57
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWRyb3AtYXJlYS9maWxlLWRyb3AtYXJlYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixHQUN6QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxrREFBa0QsRUFDbEQsOENBQThDLEVBQzlDLGtEQUFrRCxHQUNuRCxNQUFNLDZCQUE2QixDQUFDOztBQXlCckMsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsaUJBckJqQywyQkFBMkI7WUFDM0IsOENBQThDO1lBQzlDLGtEQUFrRDtZQUNsRCxrREFBa0QsYUFHbEQsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsNkJBQTZCLGFBRzdCLDJCQUEyQjtZQUMzQiw4Q0FBOEM7WUFDOUMsa0RBQWtEO1lBQ2xELGtEQUFrRDsrR0FHekMsd0JBQXdCLFlBZmpDLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLDZCQUE2Qjs7MkZBU3BCLHdCQUF3QjtrQkF2QnBDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjt3QkFDM0IsOENBQThDO3dCQUM5QyxrREFBa0Q7d0JBQ2xELGtEQUFrRDtxQkFDbkQ7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsOENBQThDO3dCQUM5QyxrREFBa0Q7d0JBQ2xELGtEQUFrRDtxQkFDbkQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlLFxyXG4gIEFyZGl1bUZpbGVleHRQaXBlTW9kdWxlLFxyXG4gIEFyZGl1bUZpbGVuYW1lUGlwZU1vZHVsZSxcclxuICBBcmRpdW1GaWxlc2l6ZVBpcGVNb2R1bGUsXHJcbn0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBBcmRpdW1CdXR0b25Nb2R1bGUgfSBmcm9tICcuLi8uLi9idXR0b25zL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgQXJkaXVtSWNvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBcmRpdW1GaWxlRHJvcEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQXJkaXVtRmlsZURyb3BBcmVhRHJhZ292ZXJDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkaXVtRmlsZURyb3BBcmVhSWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRpdW1GaWxlRHJvcEFyZWFVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxufSBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmRpcmVjdGl2ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFyZGl1bUZpbGVEcm9wQXJlYUNvbXBvbmVudCxcclxuICAgIEFyZGl1bUZpbGVEcm9wQXJlYUlkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFEcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIEFyZGl1bUZpbGVEcm9wQXJlYVVwbG9hZGVkQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQXJkaXVtQnV0dG9uTW9kdWxlLFxyXG4gICAgQXJkaXVtSWNvbk1vZHVsZSxcclxuICAgIEFyZGl1bUZpbGVzaXplUGlwZU1vZHVsZSxcclxuICAgIEFyZGl1bUZpbGVuYW1lUGlwZU1vZHVsZSxcclxuICAgIEFyZGl1bUZpbGVleHRQaXBlTW9kdWxlLFxyXG4gICAgQXJkaXVtQ2xpY2tPdXRzaWRlRXZlbnRNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFDb21wb25lbnQsXHJcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFJZGxlQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgQXJkaXVtRmlsZURyb3BBcmVhRHJhZ292ZXJDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtRmlsZURyb3BBcmVhTW9kdWxlIHt9XHJcbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wLWFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWRyb3AtYXJlYS9maWxlLWRyb3AtYXJlYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixHQUN6QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxrREFBa0QsRUFDbEQsOENBQThDLEVBQzlDLGtEQUFrRCxHQUNuRCxNQUFNLDZCQUE2QixDQUFDOztBQXlCckMsTUFBTSxPQUFPLHdCQUF3Qjs4R0FBeEIsd0JBQXdCOytHQUF4Qix3QkFBd0IsaUJBckJqQywyQkFBMkI7WUFDM0IsOENBQThDO1lBQzlDLGtEQUFrRDtZQUNsRCxrREFBa0QsYUFHbEQsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsNkJBQTZCLGFBRzdCLDJCQUEyQjtZQUMzQiw4Q0FBOEM7WUFDOUMsa0RBQWtEO1lBQ2xELGtEQUFrRDsrR0FHekMsd0JBQXdCLFlBZmpDLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLDZCQUE2Qjs7MkZBU3BCLHdCQUF3QjtrQkF2QnBDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjt3QkFDM0IsOENBQThDO3dCQUM5QyxrREFBa0Q7d0JBQ2xELGtEQUFrRDtxQkFDbkQ7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsOENBQThDO3dCQUM5QyxrREFBa0Q7d0JBQ2xELGtEQUFrRDtxQkFDbkQ7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlLFxuICBBcmRpdW1GaWxlZXh0UGlwZU1vZHVsZSxcbiAgQXJkaXVtRmlsZW5hbWVQaXBlTW9kdWxlLFxuICBBcmRpdW1GaWxlc2l6ZVBpcGVNb2R1bGUsXG59IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IEFyZGl1bUJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2J1dHRvbnMvYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQXJkaXVtSWNvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuaW1wb3J0IHsgQXJkaXVtRmlsZURyb3BBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWRyb3AtYXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQXJkaXVtRmlsZURyb3BBcmVhRHJhZ292ZXJDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZGl1bUZpbGVEcm9wQXJlYUlkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZGl1bUZpbGVEcm9wQXJlYVVwbG9hZGVkQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmRpcmVjdGl2ZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFDb21wb25lbnQsXG4gICAgQXJkaXVtRmlsZURyb3BBcmVhSWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFEcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRpdW1GaWxlRHJvcEFyZWFVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBcmRpdW1CdXR0b25Nb2R1bGUsXG4gICAgQXJkaXVtSWNvbk1vZHVsZSxcbiAgICBBcmRpdW1GaWxlc2l6ZVBpcGVNb2R1bGUsXG4gICAgQXJkaXVtRmlsZW5hbWVQaXBlTW9kdWxlLFxuICAgIEFyZGl1bUZpbGVleHRQaXBlTW9kdWxlLFxuICAgIEFyZGl1bUNsaWNrT3V0c2lkZUV2ZW50TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXJkaXVtRmlsZURyb3BBcmVhQ29tcG9uZW50LFxuICAgIEFyZGl1bUZpbGVEcm9wQXJlYUlkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkaXVtRmlsZURyb3BBcmVhRHJhZ292ZXJDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkaXVtRmlsZURyb3BBcmVhVXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVEcm9wQXJlYU1vZHVsZSB7fVxuIl19
@@ -1,4 +1,5 @@
1
- export * from './file-drop-area.module';
2
1
  export * from './file-drop-area.component';
2
+ export * from './file-drop-area.defaults';
3
3
  export * from './file-drop-area.directives';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtZHJvcC1hcmVhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWxlLWRyb3AtYXJlYS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1kcm9wLWFyZWEuZGlyZWN0aXZlcyc7XHJcbiJdfQ==
4
+ export * from './file-drop-area.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtZHJvcC1hcmVhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLmRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1kcm9wLWFyZWEuZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtZHJvcC1hcmVhLm1vZHVsZSc7XG4iXX0=
@@ -1,38 +1,33 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewEncapsulation, computed, forwardRef, input, output, signal, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChild, Inject, TemplateRef, ViewEncapsulation, computed, forwardRef, input, output, signal, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { coerceBooleanProperty } from '@ardium-ui/devkit';
4
- import { ArdColorInputPlaceholderTemplateDirective } from '../../inputs/color-input/color-input.directives';
5
- import { ComponentColor } from '../../types/colors.types';
6
- import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
7
4
  import { _FileInputComponentBase } from '../file-input-base';
8
- import { ArdFileInputPrefixTemplateDirective, ArdFileInputSuffixTemplateDirective, ArdiumFileInputDragoverContentTemplateDirective, ArdiumFileInputIdleContentTemplateDirective, ArdiumFileInputUploadedContentTemplateDirective, } from './file-input.directives';
5
+ import { ARD_FILE_INPUT_DEFAULTS } from './file-input.defaults';
6
+ import { ArdFileInputPlaceholderTemplateDirective, ArdFileInputPrefixTemplateDirective, ArdFileInputSuffixTemplateDirective, ArdiumFileInputDragoverContentTemplateDirective, ArdiumFileInputIdleContentTemplateDirective, ArdiumFileInputUploadedContentTemplateDirective, } from './file-input.directives';
9
7
  import * as i0 from "@angular/core";
10
8
  import * as i1 from "@angular/common";
11
9
  import * as i2 from "../../form-field-frame/form-field-frame.component";
12
10
  import * as i3 from "../../_internal/clear-button/clear-button.component";
13
11
  import * as i4 from "../../icon/icon.component";
14
12
  export class ArdiumFileInputComponent extends _FileInputComponentBase {
15
- constructor() {
16
- super(...arguments);
17
- this.DEFAULTS = {
18
- clearButtonTitle: 'Clear',
19
- };
13
+ constructor(defaults) {
14
+ super(defaults);
20
15
  this.componentId = '011';
21
16
  //! appearance
22
17
  //all handled in ard-form-field-frame component
23
- this.appearance = input(FormElementAppearance.Outlined);
24
- this.variant = input(FormElementVariant.Rounded);
25
- this.color = input(ComponentColor.Primary);
18
+ this.appearance = input(this._DEFAULTS.appearance);
19
+ this.variant = input(this._DEFAULTS.variant);
20
+ this.color = input(this._DEFAULTS.color);
26
21
  //! other inputs
27
- this.inputAttrs = input({});
22
+ this.inputAttrs = input(this._DEFAULTS.inputAttrs);
28
23
  //! placeholder
29
- this.placeholder = input('');
24
+ this.placeholder = input(this._DEFAULTS.placeholder);
30
25
  //! root element classes
31
26
  this.ngClasses = computed(() => [`ard-color-${this.color()}`, `ard-state-${this.currentViewState()}`, this.value ? 'ard-has-value' : ''].join(' '));
32
27
  //! clear button
33
- this.clearable = input(false, { transform: v => coerceBooleanProperty(v) });
34
- this.clearButtonTitle = input(this.DEFAULTS.clearButtonTitle);
35
- this.clearEvent = output();
28
+ this.clearable = input(this._DEFAULTS.clearable, { transform: v => coerceBooleanProperty(v) });
29
+ this.clearButtonTitle = input(this._DEFAULTS.clearButtonTitle);
30
+ this.clearEvent = output({ alias: 'clear' });
36
31
  //! state
37
32
  this.touched = signal(false);
38
33
  //! templates
@@ -79,14 +74,14 @@ export class ArdiumFileInputComponent extends _FileInputComponentBase {
79
74
  files,
80
75
  };
81
76
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFileInputComponent, selector: "ard-file-input", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, inputAttrs: { classPropertyName: "inputAttrs", publicName: "inputAttrs", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearButtonTitle: { classPropertyName: "clearButtonTitle", publicName: "clearButtonTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clearEvent: "clearEvent" }, providers: [
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileInputComponent, deps: [{ token: ARD_FILE_INPUT_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumFileInputComponent, selector: "ard-file-input", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, inputAttrs: { classPropertyName: "inputAttrs", publicName: "inputAttrs", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearButtonTitle: { classPropertyName: "clearButtonTitle", publicName: "clearButtonTitle", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clearEvent: "clear" }, providers: [
84
79
  {
85
80
  provide: NG_VALUE_ACCESSOR,
86
81
  useExisting: forwardRef(() => ArdiumFileInputComponent),
87
82
  multi: true,
88
83
  },
89
- ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdColorInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n class=\"ard-file-input-form-field-frame\"\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate\"\r\n [suffixTemplate]=\"suffixTemplate\"\r\n (dragover)=\"onDragover($event)\"\r\n (dragleave)=\"onDragleave()\"\r\n (drop)=\"onDrop($event)\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n>\r\n <div\r\n class=\"ard-file-input\"\r\n [ngClass]=\"ngClasses()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <div class=\"ard-file-input__value\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n } @if (currentViewState() === 'dragover') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n />\r\n } @if (currentViewState() === 'uploaded') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (shouldShowClearButton) {\r\n <ard-clear-button\r\n #focusableElement\r\n [title]=\"clearButtonTitle()\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n />\r\n } @if (!shouldBeBlocked) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n class=\"ard-browse-button\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (click)=\"openBrowseDialog()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-icon>folder</ard-icon>\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<input\r\n #fileInput\r\n class=\"ard-file-input__input\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [attr.id]=\"htmlId()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <span class=\"ard-file-input__idle\">\r\n @if (multiple()) {\r\n <span>Upload a file</span>\r\n } @else {\r\n <span>Upload files</span>\r\n }\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-input__dragover-text\">Drop </span>\r\n @if (multiple()) {\r\n <span class=\"ard-file-input__dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n } @else {\r\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\r\n }\r\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n>\r\n <div class=\"ard-file-input__uploaded\">\r\n <span class=\"ard-file-input__uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
84
+ ], queries: [{ propertyName: "placeholderTemplate", first: true, predicate: ArdFileInputPlaceholderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "prefixTemplate", first: true, predicate: ArdFileInputPrefixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "suffixTemplate", first: true, predicate: ArdFileInputSuffixTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "idleTemplate", first: true, predicate: ArdiumFileInputIdleContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "dragoverTemplate", first: true, predicate: ArdiumFileInputDragoverContentTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: "uploadedTemplate", first: true, predicate: ArdiumFileInputUploadedContentTemplateDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgPlural, selector: "[ngPlural]", inputs: ["ngPlural"] }, { kind: "directive", type: i1.NgPluralCase, selector: "[ngPluralCase]" }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }, { kind: "component", type: i4.ArdiumIconComponent, selector: "ard-icon", inputs: ["ariaLabel", "icon", "filled", "weight", "grade", "opticalSize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
85
  }
91
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumFileInputComponent, decorators: [{
92
87
  type: Component,
@@ -96,10 +91,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
96
91
  useExisting: forwardRef(() => ArdiumFileInputComponent),
97
92
  multi: true,
98
93
  },
99
- ], template: "<ard-form-field-frame\r\n class=\"ard-file-input-form-field-frame\"\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate\"\r\n [suffixTemplate]=\"suffixTemplate\"\r\n (dragover)=\"onDragover($event)\"\r\n (dragleave)=\"onDragleave()\"\r\n (drop)=\"onDrop($event)\"\r\n (ardClickOutside)=\"onDragleave()\"\r\n>\r\n <div\r\n class=\"ard-file-input\"\r\n [ngClass]=\"ngClasses()\"\r\n >\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\r\n }\r\n\r\n <div class=\"ard-file-input__value\">\r\n @if (currentViewState() === 'idle') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\r\n [ngTemplateOutletContext]=\"getIdleContext()\"\r\n />\r\n } @if (currentViewState() === 'dragover') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\r\n [ngTemplateOutletContext]=\"getDragoverContext()\"\r\n />\r\n } @if (currentViewState() === 'uploaded') {\r\n <ng-template\r\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\r\n [ngTemplateOutletContext]=\"getUploadedContext()\"\r\n />\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (shouldShowClearButton) {\r\n <ard-clear-button\r\n #focusableElement\r\n [title]=\"clearButtonTitle()\"\r\n (mouseup)=\"onClearButtonClick($event)\"\r\n />\r\n } @if (!shouldBeBlocked) {\r\n <button\r\n #focusableElement\r\n type=\"button\"\r\n class=\"ard-browse-button\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (click)=\"openBrowseDialog()\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <ard-icon>folder</ard-icon>\r\n </button>\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n\r\n<input\r\n #fileInput\r\n class=\"ard-file-input__input\"\r\n type=\"file\"\r\n [name]=\"name()\"\r\n [multiple]=\"multiple()\"\r\n [attr.id]=\"htmlId()\"\r\n (change)=\"onInputChange()\"\r\n/>\r\n\r\n<ng-template\r\n #defaultIdleTemplate\r\n let-browse=\"browse\"\r\n>\r\n <span class=\"ard-file-input__idle\">\r\n @if (multiple()) {\r\n <span>Upload a file</span>\r\n } @else {\r\n <span>Upload files</span>\r\n }\r\n </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultDragoverTemplate\r\n let-amount=\"amount\"\r\n>\r\n <span class=\"ard-file-input__dragover-text\">Drop </span>\r\n @if (multiple()) {\r\n <span class=\"ard-file-input__dragover-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n } @else {\r\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\r\n }\r\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\r\n</ng-template>\r\n\r\n<ng-template\r\n #defaultUploadedTemplate\r\n let-amount=\"amount\"\r\n>\r\n <div class=\"ard-file-input__uploaded\">\r\n <span class=\"ard-file-input__uploaded-amount\">\r\n {{ amount }}\r\n <ng-container [ngPlural]=\"amount\">\r\n <ng-template ngPluralCase=\"=1\">file</ng-template>\r\n <ng-template ngPluralCase=\"other\">files</ng-template>\r\n </ng-container>\r\n </span>\r\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\r\n </div>\r\n</ng-template>\r\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
100
- }], propDecorators: { placeholderTemplate: [{
94
+ ], template: "<ard-form-field-frame\n class=\"ard-file-input-form-field-frame\"\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate\"\n [suffixTemplate]=\"suffixTemplate\"\n (dragover)=\"onDragover($event)\"\n (dragleave)=\"onDragleave()\"\n (drop)=\"onDrop($event)\"\n (ardClickOutside)=\"onDragleave()\"\n>\n <div\n class=\"ard-file-input\"\n [ngClass]=\"ngClasses()\"\n >\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate || defaultPlaceholderTemplate\" />\n }\n\n <div class=\"ard-file-input__value\">\n @if (currentViewState() === 'idle') {\n <ng-template\n [ngTemplateOutlet]=\"idleTemplate ?? defaultIdleTemplate\"\n [ngTemplateOutletContext]=\"getIdleContext()\"\n />\n }\n @if (currentViewState() === 'dragover') {\n <ng-template\n [ngTemplateOutlet]=\"dragoverTemplate ?? defaultDragoverTemplate\"\n [ngTemplateOutletContext]=\"getDragoverContext()\"\n />\n }\n @if (currentViewState() === 'uploaded') {\n <ng-template\n [ngTemplateOutlet]=\"uploadedTemplate ?? defaultUploadedTemplate\"\n [ngTemplateOutletContext]=\"getUploadedContext()\"\n />\n }\n </div>\n </div>\n\n @if (shouldShowClearButton) {\n <ard-clear-button\n #focusableElement\n [title]=\"clearButtonTitle()\"\n (mouseup)=\"onClearButtonClick($event)\"\n />\n }\n @if (!shouldBeBlocked) {\n <button\n #focusableElement\n type=\"button\"\n class=\"ard-browse-button\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (click)=\"openBrowseDialog()\"\n >\n <div class=\"ard-focus-overlay\"></div>\n <ard-icon>folder</ard-icon>\n </button>\n }\n </div>\n</ard-form-field-frame>\n\n<input\n #fileInput\n class=\"ard-file-input__input\"\n type=\"file\"\n [name]=\"name()\"\n [multiple]=\"multiple()\"\n [attr.id]=\"htmlId()\"\n (change)=\"onInputChange()\"\n/>\n\n<ng-template\n #defaultIdleTemplate\n let-browse=\"browse\"\n>\n <span class=\"ard-file-input__idle\">\n @if (multiple()) {\n <span>Upload a file</span>\n } @else {\n <span>Upload files</span>\n }\n </span>\n</ng-template>\n\n<ng-template\n #defaultDragoverTemplate\n let-amount=\"amount\"\n>\n <span class=\"ard-file-input__dragover-text\">Drop </span>\n @if (multiple()) {\n <span class=\"ard-file-input__dragover-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n } @else {\n <span class=\"ard-file-input__dragover-amount\"> a file </span>\n }\n <span class=\"ard-file-input__dragover-text\"> here to upload </span>\n</ng-template>\n\n<ng-template\n #defaultUploadedTemplate\n let-amount=\"amount\"\n>\n <div class=\"ard-file-input__uploaded\">\n <span class=\"ard-file-input__uploaded-amount\">\n {{ amount }}\n <ng-container [ngPlural]=\"amount\">\n <ng-template ngPluralCase=\"=1\">file</ng-template>\n <ng-template ngPluralCase=\"other\">files</ng-template>\n </ng-container>\n </span>\n <span class=\"ard-file-input__uploaded-text\"> uploaded.</span>\n </div>\n</ng-template>\n", styles: [".ard-file-input__input{position:absolute;appearance:none;opacity:0;pointer-events:none}\n"] }]
95
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
96
+ type: Inject,
97
+ args: [ARD_FILE_INPUT_DEFAULTS]
98
+ }] }], propDecorators: { placeholderTemplate: [{
101
99
  type: ContentChild,
102
- args: [ArdColorInputPlaceholderTemplateDirective, {
100
+ args: [ArdFileInputPlaceholderTemplateDirective, {
103
101
  read: TemplateRef,
104
102
  }]
105
103
  }], prefixTemplate: [{
@@ -124,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
124
122
  read: TemplateRef,
125
123
  }]
126
124
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNuQywrQ0FBK0MsRUFDL0MsMkNBQTJDLEVBQzNDLCtDQUErQyxHQUNoRCxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFnQmpDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7SUFkckU7O1FBZVcsYUFBUSxHQUFHO1lBQ2xCLGdCQUFnQixFQUFFLE9BQU87U0FDMUIsQ0FBQztRQUVPLGdCQUFXLEdBQUcs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RUFBRSxXQUFXO3FCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBjb21wdXRlZCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIGlucHV0LFxyXG4gIG91dHB1dCxcclxuICBzaWduYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IEFyZENvbG9ySW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vaW5wdXRzL2NvbG9yLWlucHV0L2NvbG9yLWlucHV0LmRpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb2xvciB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XHJcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XHJcbmltcG9ydCB7IF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vZmlsZS1pbnB1dC1iYXNlJztcclxuaW1wb3J0IHsgRmlsZUlucHV0QnJvd3NlQ29udGV4dCwgRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQsIEZpbGVJbnB1dEZpbGVzQ29udGV4dCB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gIEFyZEZpbGVJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZGl1bUZpbGVJbnB1dERyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIEFyZGl1bUZpbGVJbnB1dElkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkaXVtRmlsZUlucHV0VXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXHJcbn0gZnJvbSAnLi9maWxlLWlucHV0LmRpcmVjdGl2ZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtZmlsZS1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtRmlsZUlucHV0Q29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1GaWxlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB7XHJcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB7XHJcbiAgICBjbGVhckJ1dHRvblRpdGxlOiAnQ2xlYXInLFxyXG4gIH07XHJcblxyXG4gIHJlYWRvbmx5IGNvbXBvbmVudElkID0gJzAxMSc7XHJcblxyXG4gIC8vISBhcHBlYXJhbmNlXHJcbiAgLy9hbGwgaGFuZGxlZCBpbiBhcmQtZm9ybS1maWVsZC1mcmFtZSBjb21wb25lbnRcclxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8Rm9ybUVsZW1lbnRBcHBlYXJhbmNlPihGb3JtRWxlbWVudEFwcGVhcmFuY2UuT3V0bGluZWQpO1xyXG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxGb3JtRWxlbWVudFZhcmlhbnQ+KEZvcm1FbGVtZW50VmFyaWFudC5Sb3VuZGVkKTtcclxuICByZWFkb25seSBjb2xvciA9IGlucHV0PENvbXBvbmVudENvbG9yPihDb21wb25lbnRDb2xvci5QcmltYXJ5KTtcclxuXHJcbiAgLy8hIG90aGVyIGlucHV0c1xyXG4gIHJlYWRvbmx5IGlucHV0QXR0cnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XHJcblxyXG4gIC8vISBwbGFjZWhvbGRlclxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblxyXG4gIC8vISByb290IGVsZW1lbnQgY2xhc3Nlc1xyXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT5cclxuICAgIFtgYXJkLWNvbG9yLSR7dGhpcy5jb2xvcigpfWAsIGBhcmQtc3RhdGUtJHt0aGlzLmN1cnJlbnRWaWV3U3RhdGUoKX1gLCB0aGlzLnZhbHVlID8gJ2FyZC1oYXMtdmFsdWUnIDogJyddLmpvaW4oJyAnKVxyXG4gICk7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQXJkQ29sb3JJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsIHtcclxuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxyXG4gIH0pXHJcbiAgcGxhY2Vob2xkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGdldCBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnBsYWNlaG9sZGVyKCkpICYmICF0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8hIGNsZWFyIGJ1dHRvblxyXG4gIHJlYWRvbmx5IGNsZWFyYWJsZSA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgY2xlYXJCdXR0b25UaXRsZSA9IGlucHV0PHN0cmluZz4odGhpcy5ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcclxuXHJcbiAgZ2V0IHNob3VsZFNob3dDbGVhckJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcclxuICB9XHJcbiAgb25DbGVhckJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIC8vISBjbGVhciBmdW5jdGlvblxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNsZWFyYWJsZSgpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5fZW1pdENoYW5nZSgpO1xyXG4gICAgdGhpcy5jbGVhckV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGNsZWFyRXZlbnQgPSBvdXRwdXQoKTtcclxuXHJcbiAgLy8hIHN0YXRlXHJcbiAgcmVhZG9ubHkgdG91Y2hlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8vISBwcmVmaXggJiBzdWZmaXhcclxuICBAQ29udGVudENoaWxkKEFyZEZpbGVJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXHJcbiAgcHJlZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBDb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcclxuICBzdWZmaXhUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLy8hIHRlbXBsYXRlc1xyXG4gIEBDb250ZW50Q2hpbGQoQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xyXG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXHJcbiAgfSlcclxuICBpZGxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEJyb3dzZUNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xyXG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXHJcbiAgfSlcclxuICBkcmFnb3ZlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xyXG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXHJcbiAgfSlcclxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGdldElkbGVDb250ZXh0KCk6IEZpbGVJbnB1dEJyb3dzZUNvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYnJvd3NlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vcGVuQnJvd3NlRGlhbG9nKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gIH1cclxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYW1vdW50OiB0aGlzLl9kcmFnZ2VkRmlsZXMhLFxyXG4gICAgfTtcclxuICB9XHJcbiAgZ2V0VXBsb2FkZWRDb250ZXh0KCk6IEZpbGVJbnB1dEZpbGVzQ29udGV4dCB7XHJcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJGltcGxpY2l0OiBmaWxlcyxcclxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXHJcbiAgICAgIGZpbGVzLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGFyZC1mb3JtLWZpZWxkLWZyYW1lXHJcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dC1mb3JtLWZpZWxkLWZyYW1lXCJcclxuICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxyXG4gIFt2YXJpYW50XT1cInZhcmlhbnQoKVwiXHJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcclxuICBbaXNGb2N1c2VkXT1cImlzRm9jdXNlZFwiXHJcbiAgW3ByZWZpeFRlbXBsYXRlXT1cInByZWZpeFRlbXBsYXRlXCJcclxuICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGVcIlxyXG4gIChkcmFnb3Zlcik9XCJvbkRyYWdvdmVyKCRldmVudClcIlxyXG4gIChkcmFnbGVhdmUpPVwib25EcmFnbGVhdmUoKVwiXHJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxyXG4gIChhcmRDbGlja091dHNpZGUpPVwib25EcmFnbGVhdmUoKVwiXHJcbj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImFyZC1maWxlLWlucHV0XCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWlucHV0LWNvbnRhaW5lclwiPlxyXG4gICAgICBAaWYgKHNob3VsZERpc3BsYXlQbGFjZWhvbGRlcikge1xyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlcigpIH19PC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdmFsdWVcIj5cclxuICAgICAgICBAaWYgKGN1cnJlbnRWaWV3U3RhdGUoKSA9PT0gJ2lkbGUnKSB7XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpZGxlVGVtcGxhdGUgPz8gZGVmYXVsdElkbGVUZW1wbGF0ZVwiXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0SWRsZUNvbnRleHQoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICB9IEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAnZHJhZ292ZXInKSB7XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkcmFnb3ZlclRlbXBsYXRlID8/IGRlZmF1bHREcmFnb3ZlclRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXREcmFnb3ZlckNvbnRleHQoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICB9IEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAndXBsb2FkZWQnKSB7XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1cGxvYWRlZFRlbXBsYXRlID8/IGRlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRVcGxvYWRlZENvbnRleHQoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChzaG91bGRTaG93Q2xlYXJCdXR0b24pIHtcclxuICAgIDxhcmQtY2xlYXItYnV0dG9uXHJcbiAgICAgICNmb2N1c2FibGVFbGVtZW50XHJcbiAgICAgIFt0aXRsZV09XCJjbGVhckJ1dHRvblRpdGxlKClcIlxyXG4gICAgICAobW91c2V1cCk9XCJvbkNsZWFyQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gICAgfSBAaWYgKCFzaG91bGRCZUJsb2NrZWQpIHtcclxuICAgIDxidXR0b25cclxuICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIGNsYXNzPVwiYXJkLWJyb3dzZS1idXR0b25cIlxyXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAoY2xpY2spPVwib3BlbkJyb3dzZURpYWxvZygpXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgIDxhcmQtaWNvbj5mb2xkZXI8L2FyZC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvYXJkLWZvcm0tZmllbGQtZnJhbWU+XHJcblxyXG48aW5wdXRcclxuICAjZmlsZUlucHV0XHJcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faW5wdXRcIlxyXG4gIHR5cGU9XCJmaWxlXCJcclxuICBbbmFtZV09XCJuYW1lKClcIlxyXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcclxuICBbYXR0ci5pZF09XCJodG1sSWQoKVwiXHJcbiAgKGNoYW5nZSk9XCJvbklucHV0Q2hhbmdlKClcIlxyXG4vPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgI2RlZmF1bHRJZGxlVGVtcGxhdGVcclxuICBsZXQtYnJvd3NlPVwiYnJvd3NlXCJcclxuPlxyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2lkbGVcIj5cclxuICAgIEBpZiAobXVsdGlwbGUoKSkge1xyXG4gICAgPHNwYW4+VXBsb2FkIGEgZmlsZTwvc3Bhbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPHNwYW4+VXBsb2FkIGZpbGVzPC9zcGFuPlxyXG4gICAgfVxyXG4gIDwvc3Bhbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICNkZWZhdWx0RHJhZ292ZXJUZW1wbGF0ZVxyXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItdGV4dFwiPkRyb3AgPC9zcGFuPlxyXG4gIEBpZiAobXVsdGlwbGUoKSkge1xyXG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLWFtb3VudFwiPlxyXG4gICAge3sgYW1vdW50IH19XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCJvdGhlclwiPmZpbGVzPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvc3Bhbj5cclxuICB9IEBlbHNlIHtcclxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci1hbW91bnRcIj4gYSBmaWxlIDwvc3Bhbj5cclxuICB9XHJcbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItdGV4dFwiPiBoZXJlIHRvIHVwbG9hZCA8L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGVcclxuICAjZGVmYXVsdFVwbG9hZGVkVGVtcGxhdGVcclxuICBsZXQtYW1vdW50PVwiYW1vdW50XCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWRcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkLWFtb3VudFwiPlxyXG4gICAgICB7eyBhbW91bnQgfX1cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdQbHVyYWxdPVwiYW1vdW50XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkLXRleHRcIj4gdXBsb2FkZWQuPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdEYsT0FBTyxFQUNMLHdDQUF3QyxFQUN4QyxtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLCtDQUErQyxFQUMvQywyQ0FBMkMsRUFDM0MsK0NBQStDLEdBQ2hELE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWdCakMsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUVuRSxZQUE2QyxRQUE4QjtRQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3QixjQUFjO1FBQ2QsK0NBQStDO1FBQ3RDLGVBQVUsR0FBRyxLQUFLLENBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFB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LElBQUksRUFBRSxXQUFXO3FCQUNsQjtnQkFLRCxnQkFBZ0I7c0JBSGYsWUFBWTt1QkFBQywrQ0FBK0MsRUFBRTt3QkFDN0QsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBJbmplY3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGZvcndhcmRSZWYsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL2ZpbGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBGaWxlSW5wdXRCcm93c2VDb250ZXh0LCBGaWxlSW5wdXRGaWxlQW1vdW50Q29udGV4dCwgRmlsZUlucHV0RmlsZXNDb250ZXh0IH0gZnJvbSAnLi4vZmlsZS1pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUywgQXJkRmlsZUlucHV0RGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtaW5wdXQuZGVmYXVsdHMnO1xuaW1wb3J0IHtcbiAgQXJkRmlsZUlucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRpdW1GaWxlSW5wdXREcmFnb3ZlckNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0SWRsZUNvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkaXVtRmlsZUlucHV0VXBsb2FkZWRDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWZpbGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtRmlsZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUZpbGVJbnB1dENvbXBvbmVudCBleHRlbmRzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEZpbGVJbnB1dERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9GSUxFX0lOUFVUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkRmlsZUlucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cblxuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcwMTEnO1xuXG4gIC8vISBhcHBlYXJhbmNlXG4gIC8vYWxsIGhhbmRsZWQgaW4gYXJkLWZvcm0tZmllbGQtZnJhbWUgY29tcG9uZW50XG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KHRoaXMuX0RFRkFVTFRTLmFwcGVhcmFuY2UpO1xuICByZWFkb25seSB2YXJpYW50ID0gaW5wdXQ8Rm9ybUVsZW1lbnRWYXJpYW50Pih0aGlzLl9ERUZBVUxUUy52YXJpYW50KTtcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIC8vISBvdGhlciBpbnB1dHNcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHRoaXMuX0RFRkFVTFRTLmlucHV0QXR0cnMpO1xuXG4gIC8vISBwbGFjZWhvbGRlclxuICByZWFkb25seSBwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4odGhpcy5fREVGQVVMVFMucGxhY2Vob2xkZXIpO1xuXG4gIC8vISByb290IGVsZW1lbnQgY2xhc3Nlc1xuICByZWFkb25seSBuZ0NsYXNzZXMgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+XG4gICAgW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YCwgYGFyZC1zdGF0ZS0ke3RoaXMuY3VycmVudFZpZXdTdGF0ZSgpfWAsIHRoaXMudmFsdWUgPyAnYXJkLWhhcy12YWx1ZScgOiAnJ10uam9pbignICcpXG4gICk7XG5cbiAgQENvbnRlbnRDaGlsZChBcmRGaWxlSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHBsYWNlaG9sZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wbGFjZWhvbGRlcigpKSAmJiAhdGhpcy52YWx1ZTtcbiAgfVxuXG4gIC8vISBjbGVhciBidXR0b25cbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jbGVhcmFibGUsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5jbGVhckJ1dHRvblRpdGxlKTtcblxuICBnZXQgc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyYWJsZSgpICYmICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLnZhbHVlKTtcbiAgfVxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgLy8hIGNsZWFyIGZ1bmN0aW9uXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbGVhcmFibGUoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy53cml0ZVZhbHVlKG51bGwpO1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgcmVhZG9ubHkgY2xlYXJFdmVudCA9IG91dHB1dCh7IGFsaWFzOiAnY2xlYXInIH0pO1xuXG4gIC8vISBzdGF0ZVxuICByZWFkb25seSB0b3VjaGVkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyEgcHJlZml4ICYgc3VmZml4XG4gIEBDb250ZW50Q2hpbGQoQXJkRmlsZUlucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgcHJlZml4VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKEFyZEZpbGVJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHN1ZmZpeFRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8hIHRlbXBsYXRlc1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dElkbGVDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgaWRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRCcm93c2VDb250ZXh0PiB8IG51bGwgPSBudWxsO1xuICBAQ29udGVudENoaWxkKEFyZGl1bUZpbGVJbnB1dERyYWdvdmVyQ29udGVudFRlbXBsYXRlRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIGRyYWdvdmVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEZpbGVJbnB1dEZpbGVzQ29udGV4dD4gfCBudWxsID0gbnVsbDtcbiAgQENvbnRlbnRDaGlsZChBcmRpdW1GaWxlSW5wdXRVcGxvYWRlZENvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICB1cGxvYWRlZFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxGaWxlSW5wdXRGaWxlc0NvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0SWRsZUNvbnRleHQoKTogRmlsZUlucHV0QnJvd3NlQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJyb3dzZTogKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZW5Ccm93c2VEaWFsb2coKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBnZXREcmFnb3ZlckNvbnRleHQoKTogRmlsZUlucHV0RmlsZUFtb3VudENvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBhbW91bnQ6IHRoaXMuX2RyYWdnZWRGaWxlcyEsXG4gICAgfTtcbiAgfVxuICBnZXRVcGxvYWRlZENvbnRleHQoKTogRmlsZUlucHV0RmlsZXNDb250ZXh0IHtcbiAgICBjb25zdCBmaWxlcyA9IHRoaXMudmFsdWUhO1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGZpbGVzLFxuICAgICAgYW1vdW50OiBmaWxlcy5sZW5ndGgsXG4gICAgICBmaWxlcyxcbiAgICB9O1xuICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dC1mb3JtLWZpZWxkLWZyYW1lXCJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxuICBbcHJlZml4VGVtcGxhdGVdPVwicHJlZml4VGVtcGxhdGVcIlxuICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGVcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnb3ZlcigkZXZlbnQpXCJcbiAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdsZWF2ZSgpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuICAoYXJkQ2xpY2tPdXRzaWRlKT1cIm9uRHJhZ2xlYXZlKClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dFwiXG4gICAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiIC8+XG4gICAgICB9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdmFsdWVcIj5cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdpZGxlJykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWRsZVRlbXBsYXRlID8/IGRlZmF1bHRJZGxlVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldElkbGVDb250ZXh0KClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChjdXJyZW50Vmlld1N0YXRlKCkgPT09ICdkcmFnb3ZlcicpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYWdvdmVyVGVtcGxhdGUgPz8gZGVmYXVsdERyYWdvdmVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldERyYWdvdmVyQ29udGV4dCgpXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY3VycmVudFZpZXdTdGF0ZSgpID09PSAndXBsb2FkZWQnKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1cGxvYWRlZFRlbXBsYXRlID8/IGRlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRVcGxvYWRlZENvbnRleHQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKHNob3VsZFNob3dDbGVhckJ1dHRvbikge1xuICAgICAgPGFyZC1jbGVhci1idXR0b25cbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgW3RpdGxlXT1cImNsZWFyQnV0dG9uVGl0bGUoKVwiXG4gICAgICAgIChtb3VzZXVwKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgfVxuICAgIEBpZiAoIXNob3VsZEJlQmxvY2tlZCkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhcmQtYnJvd3NlLWJ1dHRvblwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChjbGljayk9XCJvcGVuQnJvd3NlRGlhbG9nKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgPGFyZC1pY29uPmZvbGRlcjwvYXJkLWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvZGl2PlxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cblxuPGlucHV0XG4gICNmaWxlSW5wdXRcbiAgY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9faW5wdXRcIlxuICB0eXBlPVwiZmlsZVwiXG4gIFtuYW1lXT1cIm5hbWUoKVwiXG4gIFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcbiAgW2F0dHIuaWRdPVwiaHRtbElkKClcIlxuICAoY2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoKVwiXG4vPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRJZGxlVGVtcGxhdGVcbiAgbGV0LWJyb3dzZT1cImJyb3dzZVwiXG4+XG4gIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2lkbGVcIj5cbiAgICBAaWYgKG11bHRpcGxlKCkpIHtcbiAgICAgIDxzcGFuPlVwbG9hZCBhIGZpbGU8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3Bhbj5VcGxvYWQgZmlsZXM8L3NwYW4+XG4gICAgfVxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHREcmFnb3ZlclRlbXBsYXRlXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxuPlxuICA8c3BhbiBjbGFzcz1cImFyZC1maWxlLWlucHV0X19kcmFnb3Zlci10ZXh0XCI+RHJvcCA8L3NwYW4+XG4gIEBpZiAobXVsdGlwbGUoKSkge1xuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX2RyYWdvdmVyLWFtb3VudFwiPlxuICAgICAge3sgYW1vdW50IH19XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1BsdXJhbF09XCJhbW91bnRcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIj0xXCI+ZmlsZTwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ1BsdXJhbENhc2U9XCJvdGhlclwiPmZpbGVzPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgfSBAZWxzZSB7XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItYW1vdW50XCI+IGEgZmlsZSA8L3NwYW4+XG4gIH1cbiAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fZHJhZ292ZXItdGV4dFwiPiBoZXJlIHRvIHVwbG9hZCA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRVcGxvYWRlZFRlbXBsYXRlXG4gIGxldC1hbW91bnQ9XCJhbW91bnRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhcmQtZmlsZS1pbnB1dF9fdXBsb2FkZWQtYW1vdW50XCI+XG4gICAgICB7eyBhbW91bnQgfX1cbiAgICAgIDxuZy1jb250YWluZXIgW25nUGx1cmFsXT1cImFtb3VudFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbmdQbHVyYWxDYXNlPVwiPTFcIj5maWxlPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nUGx1cmFsQ2FzZT1cIm90aGVyXCI+ZmlsZXM8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiYXJkLWZpbGUtaW5wdXRfX3VwbG9hZGVkLXRleHRcIj4gdXBsb2FkZWQuPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { _fileInputBaseDefaults } from '../file-input-base.defaults';
3
+ import { ComponentColor } from './../../types/colors.types';
4
+ import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
5
+ const _fileInputDefaults = {
6
+ ..._fileInputBaseDefaults,
7
+ appearance: FormElementAppearance.Outlined,
8
+ variant: FormElementVariant.Rounded,
9
+ color: ComponentColor.Primary,
10
+ inputAttrs: {},
11
+ placeholder: '',
12
+ clearable: false,
13
+ clearButtonTitle: 'Clear',
14
+ };
15
+ export const ARD_FILE_INPUT_DEFAULTS = new InjectionToken('ard-file-input-defaults', {
16
+ factory: () => ({
17
+ ..._fileInputDefaults,
18
+ }),
19
+ });
20
+ export function provideFileInputDefaults(config) {
21
+ return { provide: ARD_FILE_INPUT_DEFAULTS, useValue: { ..._fileInputDefaults, ...config } };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC5kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZmlsZS1pbnB1dHMvZmlsZS1pbnB1dC9maWxlLWlucHV0LmRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUEwQixNQUFNLDZCQUE2QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVl4RixNQUFNLGtCQUFrQixHQUF5QjtJQUMvQyxHQUFHLHNCQUFzQjtJQUN6QixVQUFVLEVBQUUscUJBQXFCLENBQUMsUUFBUTtJQUMxQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNuQyxLQUFLLEVBQUUsY0FBYyxDQUFDLE9BQU87SUFDN0IsVUFBVSxFQUFFLEVBQUU7SUFDZCxXQUFXLEVBQUUsRUFBRTtJQUNmLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGdCQUFnQixFQUFFLE9BQU87Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUF1Qix5QkFBeUIsRUFBRTtJQUN6RyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcsa0JBQWtCO0tBQ3RCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBcUM7SUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUM5RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfZmlsZUlucHV0QmFzZURlZmF1bHRzLCBfRmlsZUlucHV0QmFzZURlZmF1bHRzIH0gZnJvbSAnLi4vZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzJztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi8uLi8uLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLy4uLy4uL3R5cGVzL3RoZW1pbmcudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZEZpbGVJbnB1dERlZmF1bHRzIGV4dGVuZHMgX0ZpbGVJbnB1dEJhc2VEZWZhdWx0cyB7XG4gIGFwcGVhcmFuY2U6IEZvcm1FbGVtZW50QXBwZWFyYW5jZTtcbiAgdmFyaWFudDogRm9ybUVsZW1lbnRWYXJpYW50O1xuICBjb2xvcjogQ29tcG9uZW50Q29sb3I7XG4gIGlucHV0QXR0cnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgY2xlYXJCdXR0b25UaXRsZTogc3RyaW5nO1xufVxuXG5jb25zdCBfZmlsZUlucHV0RGVmYXVsdHM6IEFyZEZpbGVJbnB1dERlZmF1bHRzID0ge1xuICAuLi5fZmlsZUlucHV0QmFzZURlZmF1bHRzLFxuICBhcHBlYXJhbmNlOiBGb3JtRWxlbWVudEFwcGVhcmFuY2UuT3V0bGluZWQsXG4gIHZhcmlhbnQ6IEZvcm1FbGVtZW50VmFyaWFudC5Sb3VuZGVkLFxuICBjb2xvcjogQ29tcG9uZW50Q29sb3IuUHJpbWFyeSxcbiAgaW5wdXRBdHRyczoge30sXG4gIHBsYWNlaG9sZGVyOiAnJyxcbiAgY2xlYXJhYmxlOiBmYWxzZSxcbiAgY2xlYXJCdXR0b25UaXRsZTogJ0NsZWFyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcmRGaWxlSW5wdXREZWZhdWx0cz4oJ2FyZC1maWxlLWlucHV0LWRlZmF1bHRzJywge1xuICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgIC4uLl9maWxlSW5wdXREZWZhdWx0cyxcbiAgfSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVGaWxlSW5wdXREZWZhdWx0cyhjb25maWc6IFBhcnRpYWw8QXJkRmlsZUlucHV0RGVmYXVsdHM+KTogUHJvdmlkZXIge1xuICByZXR1cm4geyBwcm92aWRlOiBBUkRfRklMRV9JTlBVVF9ERUZBVUxUUywgdXNlVmFsdWU6IHsgLi4uX2ZpbGVJbnB1dERlZmF1bHRzLCAuLi5jb25maWcgfSB9O1xufVxuIl19
@@ -1,4 +1,5 @@
1
- export * from './file-input.module';
2
1
  export * from './file-input.component';
2
+ export * from './file-input.defaults';
3
3
  export * from './file-input.directives';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbGUtaW5wdXQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLWlucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcclxuIl19
4
+ export * from './file-input.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2ZpbGUtaW5wdXRzL2ZpbGUtaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLWlucHV0LmRlZmF1bHRzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1pbnB1dC5kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1pbnB1dC5tb2R1bGUnO1xuIl19
@@ -0,0 +1,8 @@
1
+ import { _ngModelComponentDefaults } from '../_internal/ngmodel-component';
2
+ export const _fileInputBaseDefaults = {
3
+ ..._ngModelComponentDefaults,
4
+ compact: false,
5
+ multiple: false,
6
+ blockAfterUpload: false,
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UuZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUE2QixNQUFNLGdDQUFnQyxDQUFDO0FBUXRHLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxHQUFHLHlCQUF5QjtJQUM1QixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsZ0JBQWdCLEVBQUUsS0FBSztDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgX25nTW9kZWxDb21wb25lbnREZWZhdWx0cywgX05nTW9kZWxDb21wb25lbnREZWZhdWx0cyB9IGZyb20gJy4uL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgX0ZpbGVJbnB1dEJhc2VEZWZhdWx0cyBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMge1xuICBjb21wYWN0OiBib29sZWFuO1xuICBtdWx0aXBsZTogYm9vbGVhbjtcbiAgYmxvY2tBZnRlclVwbG9hZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IF9maWxlSW5wdXRCYXNlRGVmYXVsdHM6IF9GaWxlSW5wdXRCYXNlRGVmYXVsdHMgPSB7XG4gIC4uLl9uZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMsXG4gIGNvbXBhY3Q6IGZhbHNlLFxuICBtdWx0aXBsZTogZmFsc2UsXG4gIGJsb2NrQWZ0ZXJVcGxvYWQ6IGZhbHNlLFxufTtcbiJdfQ==
@@ -30,7 +30,7 @@ export class _FileInputComponentBase extends _NgModelComponentBase {
30
30
  }
31
31
  ngOnInit() {
32
32
  if (!(window.File && window.FileReader && window.Blob)) {
33
- console.error(new Error(`ARD-${this.componentId}0: Cannot use Ardium UI file features because this browser does not support them!`));
33
+ console.error(new Error(`ARD-${this.componentId}0: Cannot use Ardium UI file features because this browser does not support file handling!`));
34
34
  }
35
35
  }
36
36
  ngAfterViewInit() {
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
150
150
  }], propDecorators: { value: [{
151
151
  type: Input
152
152
  }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBRUwsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3ZFLE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEscUJBQXFCO0lBRDNFOztRQUlXLGdCQUFXLEdBQUcsU0FBUyxDQUErQixXQUFXLENBQUMsQ0FBQztRQUVuRSxXQUFNLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFNBQUksR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFTeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFPL0IsY0FBYztRQUNMLFlBQU8sR0FBRyxLQUFLLENBQWUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTVGLFlBQVk7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFlLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRixxQkFBZ0IsR0FBRyxLQUFLLENBQWUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMs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Q0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQzs4R0FqS21CLHVCQUF1QjtrR0FBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQUQ1QyxTQUFTOzhCQXFDSixLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIGlucHV0LFxyXG4gIG91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgdmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xyXG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBfRmlsZUlucHV0Q29tcG9uZW50QmFzZSBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgY29tcG9uZW50SWQ6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgZmlsZUlucHV0RWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj4oJ2ZpbGVJbnB1dCcpO1xyXG5cclxuICByZWFkb25seSBodG1sSWQgPSBpbnB1dDxzdHJpbmc+KGNyeXB0by5yYW5kb21VVUlEKCkpO1xyXG4gIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoISh3aW5kb3cuRmlsZSAmJiB3aW5kb3cuRmlsZVJlYWRlciAmJiB3aW5kb3cuQmxvYikpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICBuZXcgRXJyb3IoYEFSRC0ke3RoaXMuY29tcG9uZW50SWR9MDogQ2Fubm90IHVzZSBBcmRpdW0gVUkgZmlsZSBmZWF0dXJlcyBiZWNhdXNlIHRoaXMgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZW0hYClcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJvdGVjdGVkIF93YXNWaWV3SW5pdCA9IGZhbHNlO1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dhc1ZpZXdJbml0ID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLl91cGRhdGVFbGVtZW50VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8vISBhcHBlYXJhbmNlXHJcbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgLy8hIHNldHRpbmdzXHJcbiAgcmVhZG9ubHkgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XHJcbiAgcmVhZG9ubHkgYmxvY2tBZnRlclVwbG9hZCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgZ2V0IHNob3VsZEJlQmxvY2tlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmJsb2NrQWZ0ZXJVcGxvYWQoKSAmJiBpc0RlZmluZWQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyEgdmFsdWVcclxuICBwcm90ZWN0ZWQgX3ZhbHVlOiBGaWxlW10gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIGdldCB2YWx1ZSgpOiBGaWxlW10gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHY6IEZpbGUgfCBGaWxlW10gfCBudWxsKSB7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodik7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxGaWxlW10gfCBudWxsPigpO1xyXG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xyXG4gIHJlYWRvbmx5IGRyYWdGaWxlc0V2ZW50ID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KHsgYWxpYXM6ICdkcmFnRmlsZXMnIH0pO1xyXG5cclxuICBwcm90ZWN0ZWQgX3ZhbHVlQmVmb3JlSW5pdDogRmlsZVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh2LCBmYWxzZSk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBfd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCwgZW1pdEV2ZW50cyA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmICh2IGluc3RhbmNlb2YgRmlsZSkge1xyXG4gICAgICB2ID0gW3ZdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ3VwbG9hZGVkJyk7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHY7XHJcblxyXG4gICAgaWYgKHRoaXMuX3dhc1ZpZXdJbml0KSB0aGlzLl91cGRhdGVFbGVtZW50VmFsdWUoKTtcclxuXHJcbiAgICBpZiAoZW1pdEV2ZW50cykge1xyXG4gICAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xyXG4gIH1cclxuXHJcbiAgb3BlbkJyb3dzZURpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZUlucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHRlbXBvcmFyeSB2YWx1ZVxyXG4gIC8vZm9yIGRyYWcgZXZlbnQgaGFuZGxpbmdcclxuICBwcm90ZWN0ZWQgX2RyYWdnZWRGaWxlczogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vISB2aWV3IHN0YXRlXHJcbiAgcmVhZG9ubHkgY3VycmVudFZpZXdTdGF0ZSA9IHNpZ25hbDwnaWRsZScgfCAnZHJhZ292ZXInIHwgJ3VwbG9hZGVkJz4oJ2lkbGUnKTtcclxuICBwcml2YXRlIF9iZWZvcmVEcmFnb3ZlclN0YXRlOiAnaWRsZScgfCAndXBsb2FkZWQnID0gJ2lkbGUnO1xyXG5cclxuICAvLyEgZXZlbnQgaGFuZGxlcnNcclxuICBvbkRyYWdvdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAodGhpcy5zaG91bGRCZUJsb2NrZWQpIHtcclxuICAgICAgaWYgKCFldmVudC5kYXRhVHJhbnNmZXIpIHJldHVybjtcclxuXHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ25vbmUnO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Vmlld1N0YXRlKCkgPT09ICdkcmFnb3ZlcicpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9kcmFnZ2VkRmlsZXMgPSB0aGlzLl9jb3VudERyYWdlbnRlckZpbGVzKGV2ZW50LmRhdGFUcmFuc2Zlcik7XHJcblxyXG4gICAgaWYgKCF0aGlzLl9kcmFnZ2VkRmlsZXMpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9iZWZvcmVEcmFnb3ZlclN0YXRlID0gdGhpcy5jdXJyZW50Vmlld1N0YXRlKCkgYXMgJ2lkbGUnIHwgJ3VwbG9hZGVkJztcclxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2RyYWdvdmVyJyk7XHJcbiAgfVxyXG4gIG9uRHJhZ2xlYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Vmlld1N0YXRlKCkgIT09ICdkcmFnb3ZlcicpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KHRoaXMuX2JlZm9yZURyYWdvdmVyU3RhdGUpO1xyXG4gIH1cclxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5zaG91bGRCZUJsb2NrZWQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBmaWxlbGlzdCA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XHJcbiAgICBpZiAoIWZpbGVsaXN0KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGZpbGVsaXN0KTtcclxuICAgIGlmICghZmlsZXMpIHtcclxuICAgICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgnaWRsZScpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcclxuICAgIHRoaXMuX3dyaXRlVmFsdWUoZmlsZXMpO1xyXG4gIH1cclxuICBvbklucHV0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKHRoaXMuZmlsZUlucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5maWxlcyA/PyBbXSk7XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuX3dyaXRlVmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fd3JpdGVWYWx1ZShmaWxlcyk7XHJcbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCd1cGxvYWRlZCcpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGhlbHBlcnNcclxuICBwcm90ZWN0ZWQgX2NvdW50RHJhZ2VudGVyRmlsZXMoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRhLml0ZW1zKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmtpbmQgPT09ICdmaWxlJykubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF91cGRhdGVFbGVtZW50VmFsdWUoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcclxuXHJcbiAgICBjb25zdCBpbnB1dEVsID0gdGhpcy5maWxlSW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKCFpbnB1dEVsKSByZXR1cm47XHJcbiAgICBpZiAoIXYpIHtcclxuICAgICAgaW5wdXRFbC5maWxlcyA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XHJcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2Ygdikge1xyXG4gICAgICBkYXRhVHJhbnNmZXIuaXRlbXMuYWRkKGZpbGUpO1xyXG4gICAgfVxyXG4gICAgaW5wdXRFbC5maWxlcyA9IGRhdGFUcmFuc2Zlci5maWxlcztcclxuICB9XHJcbn1cclxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbnB1dC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9maWxlLWlucHV0cy9maWxlLWlucHV0LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsS0FBSyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUl2RSxNQUFNLE9BQWdCLHVCQUF3QixTQUFRLHFCQUFxQjtJQUQzRTs7UUFNVyxnQkFBVyxHQUFHLFNBQVMsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFFbkUsV0FBTSxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM1QyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBV3hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTy9CLGNBQWM7UUFDTCxZQUFPLEdBQUcsS0FBSyxDQUFlLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU1RixZQUFZO1FBQ0gsYUFBUSxHQUFHLEtBQUssQ0FBZSxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEYscUJBQWdCLEdBQUcsS0FBSyxDQUFlLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU1yRyxTQUFTO1FBQ0MsV0FBTSxHQUFrQixJQUFJLENBQUM7UUFTOUIsZ0JBQVcsR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFDdEMsZ0JBQVcsR0FBRyxNQUFNLENBQWdCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDekQsbUJBQWMsR0FBRyxNQUFNLENBQWdCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFOUQscUJBQWdCLEdBQWtCLElBQUksQ0FBQztRQThCakQsbUJBQW1CO1FBQ25CLHlCQUF5QjtRQUNmLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUU5QyxjQUFjO1FBQ0wscUJBQWdCLEdBQUcsTUFBTSxDQUFtQyxNQUFNLENBQUMsQ0FBQztRQUNyRSx5QkFBb0IsR0FBd0IsTUFBTSxDQUFDO0tBK0U1RDtJQTVKQyxRQUFRO1FBQ04sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxLQUFLLENBQ1gsSUFBSSxLQUFLLENBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyw0RkFBNEYsQ0FDcEgsQ0FDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQVNELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUlELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBdUI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBT0QsVUFBVSxDQUFDLENBQXVCO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDUyxXQUFXLENBQUMsQ0FBdUIsRUFBRSxVQUFVLEdBQUcsSUFBSTtRQUM5RCxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUN0QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUVsRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRVMsV0FBVztRQUNuQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFVRCxrQkFBa0I7SUFDbEIsVUFBVSxDQUFDLEtBQWdCO1FBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQUUsT0FBTztZQUVoQyxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDdkMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLFVBQVU7WUFBRSxPQUFPO1FBRW5ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBRWhDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQXlCLENBQUM7UUFDM0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssVUFBVTtZQUFFLE9BQU87UUFFbkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQWdCO1FBQ3JCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUVqQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDRCxhQUFhO1FBQ1gsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsYUFBYSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO0lBQ0Qsb0JBQW9CLENBQUMsSUFBeUI7UUFDdEQsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV2QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVFLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsYUFBYSxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUNyQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNyQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7OEdBckttQix1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUzs4QkF5Q0osS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IF9GaWxlSW5wdXRCYXNlRGVmYXVsdHMgfSBmcm9tICcuL2ZpbGUtaW5wdXQtYmFzZS5kZWZhdWx0cyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9GaWxlSW5wdXRDb21wb25lbnRCYXNlIGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IF9GaWxlSW5wdXRCYXNlRGVmYXVsdHM7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgY29tcG9uZW50SWQ6IHN0cmluZztcblxuICByZWFkb25seSBmaWxlSW5wdXRFbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PignZmlsZUlucHV0Jyk7XG5cbiAgcmVhZG9ubHkgaHRtbElkID0gaW5wdXQ8c3RyaW5nPihjcnlwdG8ucmFuZG9tVVVJRCgpKTtcbiAgcmVhZG9ubHkgbmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghKHdpbmRvdy5GaWxlICYmIHdpbmRvdy5GaWxlUmVhZGVyICYmIHdpbmRvdy5CbG9iKSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgIGBBUkQtJHt0aGlzLmNvbXBvbmVudElkfTA6IENhbm5vdCB1c2UgQXJkaXVtIFVJIGZpbGUgZmVhdHVyZXMgYmVjYXVzZSB0aGlzIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBmaWxlIGhhbmRsaW5nIWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIF93YXNWaWV3SW5pdCA9IGZhbHNlO1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fd2FzVmlld0luaXQgPSB0cnVlO1xuXG4gICAgdGhpcy5fdXBkYXRlRWxlbWVudFZhbHVlKCk7XG4gIH1cblxuICAvLyEgYXBwZWFyYW5jZVxuICByZWFkb25seSBjb21wYWN0ID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuXG4gIC8vISBzZXR0aW5nc1xuICByZWFkb25seSBtdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcbiAgcmVhZG9ubHkgYmxvY2tBZnRlclVwbG9hZCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICBnZXQgc2hvdWxkQmVCbG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJsb2NrQWZ0ZXJVcGxvYWQoKSAmJiBpc0RlZmluZWQodGhpcy52YWx1ZSk7XG4gIH1cblxuICAvLyEgdmFsdWVcbiAgcHJvdGVjdGVkIF92YWx1ZTogRmlsZVtdIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBGaWxlW10gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgc2V0IHZhbHVlKHY6IEZpbGUgfCBGaWxlW10gfCBudWxsKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICB9XG5cbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8RmlsZVtdIHwgbnVsbD4oKTtcbiAgcmVhZG9ubHkgY2hhbmdlRXZlbnQgPSBvdXRwdXQ8RmlsZVtdIHwgbnVsbD4oeyBhbGlhczogJ2NoYW5nZScgfSk7XG4gIHJlYWRvbmx5IGRyYWdGaWxlc0V2ZW50ID0gb3V0cHV0PEZpbGVbXSB8IG51bGw+KHsgYWxpYXM6ICdkcmFnRmlsZXMnIH0pO1xuXG4gIHByb3RlY3RlZCBfdmFsdWVCZWZvcmVJbml0OiBGaWxlW10gfCBudWxsID0gbnVsbDtcbiAgd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuX3dyaXRlVmFsdWUodiwgZmFsc2UpO1xuICB9XG4gIHByb3RlY3RlZCBfd3JpdGVWYWx1ZSh2OiBGaWxlIHwgRmlsZVtdIHwgbnVsbCwgZW1pdEV2ZW50cyA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAodiBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgIHYgPSBbdl07XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG5cbiAgICBpZiAodGhpcy5fd2FzVmlld0luaXQpIHRoaXMuX3VwZGF0ZUVsZW1lbnRWYWx1ZSgpO1xuXG4gICAgaWYgKGVtaXRFdmVudHMpIHtcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdiA9IHRoaXMudmFsdWU7XG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odik7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xuICAgIHRoaXMuY2hhbmdlRXZlbnQuZW1pdCh2KTtcbiAgfVxuXG4gIG9wZW5Ccm93c2VEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICAvLyEgdGVtcG9yYXJ5IHZhbHVlXG4gIC8vZm9yIGRyYWcgZXZlbnQgaGFuZGxpbmdcbiAgcHJvdGVjdGVkIF9kcmFnZ2VkRmlsZXM6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8vISB2aWV3IHN0YXRlXG4gIHJlYWRvbmx5IGN1cnJlbnRWaWV3U3RhdGUgPSBzaWduYWw8J2lkbGUnIHwgJ2RyYWdvdmVyJyB8ICd1cGxvYWRlZCc+KCdpZGxlJyk7XG4gIHByaXZhdGUgX2JlZm9yZURyYWdvdmVyU3RhdGU6ICdpZGxlJyB8ICd1cGxvYWRlZCcgPSAnaWRsZSc7XG5cbiAgLy8hIGV2ZW50IGhhbmRsZXJzXG4gIG9uRHJhZ292ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSB7XG4gICAgICBpZiAoIWV2ZW50LmRhdGFUcmFuc2ZlcikgcmV0dXJuO1xuXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICdub25lJztcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXdTdGF0ZSgpID09PSAnZHJhZ292ZXInKSByZXR1cm47XG5cbiAgICB0aGlzLl9kcmFnZ2VkRmlsZXMgPSB0aGlzLl9jb3VudERyYWdlbnRlckZpbGVzKGV2ZW50LmRhdGFUcmFuc2Zlcik7XG5cbiAgICBpZiAoIXRoaXMuX2RyYWdnZWRGaWxlcykgcmV0dXJuO1xuXG4gICAgdGhpcy5fYmVmb3JlRHJhZ292ZXJTdGF0ZSA9IHRoaXMuY3VycmVudFZpZXdTdGF0ZSgpIGFzICdpZGxlJyB8ICd1cGxvYWRlZCc7XG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgnZHJhZ292ZXInKTtcbiAgfVxuICBvbkRyYWdsZWF2ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG91bGRCZUJsb2NrZWQpIHJldHVybjtcbiAgICBpZiAodGhpcy5jdXJyZW50Vmlld1N0YXRlKCkgIT09ICdkcmFnb3ZlcicpIHJldHVybjtcblxuICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQodGhpcy5fYmVmb3JlRHJhZ292ZXJTdGF0ZSk7XG4gIH1cbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRoaXMuc2hvdWxkQmVCbG9ja2VkKSByZXR1cm47XG5cbiAgICBjb25zdCBmaWxlbGlzdCA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XG4gICAgaWYgKCFmaWxlbGlzdCkge1xuICAgICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgnaWRsZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaWxlcyA9IEFycmF5LmZyb20oZmlsZWxpc3QpO1xuICAgIGlmICghZmlsZXMpIHtcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRWaWV3U3RhdGUuc2V0KCd1cGxvYWRlZCcpO1xuICAgIHRoaXMuX3dyaXRlVmFsdWUoZmlsZXMpO1xuICB9XG4gIG9uSW5wdXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKHRoaXMuZmlsZUlucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5maWxlcyA/PyBbXSk7XG4gICAgaWYgKGZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5fd3JpdGVWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY3VycmVudFZpZXdTdGF0ZS5zZXQoJ2lkbGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fd3JpdGVWYWx1ZShmaWxlcyk7XG4gICAgdGhpcy5jdXJyZW50Vmlld1N0YXRlLnNldCgndXBsb2FkZWQnKTtcbiAgfVxuXG4gIC8vISBoZWxwZXJzXG4gIHByb3RlY3RlZCBfY291bnREcmFnZW50ZXJGaWxlcyhkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKGRhdGEuaXRlbXMpLmZpbHRlcihpdGVtID0+IGl0ZW0ua2luZCA9PT0gJ2ZpbGUnKS5sZW5ndGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3VwZGF0ZUVsZW1lbnRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZTtcblxuICAgIGNvbnN0IGlucHV0RWwgPSB0aGlzLmZpbGVJbnB1dEVsKCk/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKCFpbnB1dEVsKSByZXR1cm47XG4gICAgaWYgKCF2KSB7XG4gICAgICBpbnB1dEVsLmZpbGVzID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHYpIHtcbiAgICAgIGRhdGFUcmFuc2Zlci5pdGVtcy5hZGQoZmlsZSk7XG4gICAgfVxuICAgIGlucHV0RWwuZmlsZXMgPSBkYXRhVHJhbnNmZXIuZmlsZXM7XG4gIH1cbn1cbiJdfQ==