@acorex/components 7.3.2 → 7.4.3

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 (423) hide show
  1. package/button/lib/button-group.component.d.ts +10 -73
  2. package/button/lib/button-item.class.d.ts +1 -3
  3. package/button/lib/button-item.component.d.ts +12 -75
  4. package/button/lib/button.component.d.ts +1 -1
  5. package/button-group/README.md +3 -0
  6. package/button-group/index.d.ts +2 -0
  7. package/button-group/lib/button-group.component.d.ts +21 -0
  8. package/button-group/lib/button-group.module.d.ts +8 -0
  9. package/calendar/lib/calendar-range.component.d.ts +2 -1
  10. package/calendar/lib/calendar.class.d.ts +9 -8
  11. package/calendar/lib/calendar.component.d.ts +2 -1
  12. package/check-box/lib/check-box.component.d.ts +3 -2
  13. package/color-box/README.md +3 -0
  14. package/color-box/index.d.ts +2 -0
  15. package/color-box/lib/color-box.component.d.ts +27 -0
  16. package/color-box/lib/color-box.module.d.ts +11 -0
  17. package/common/index.d.ts +5 -3
  18. package/common/lib/classes/styles.class.d.ts +1 -10
  19. package/common/lib/components/button-base-component.class.d.ts +0 -2
  20. package/common/lib/components/interactive-component.class.d.ts +7 -1
  21. package/common/lib/types/direction.d.ts +4 -0
  22. package/common/lib/types/orientation.d.ts +4 -0
  23. package/common/lib/types/placement.d.ts +30 -0
  24. package/common/lib/types/selection-mode.d.ts +4 -0
  25. package/data-pager/lib/data-pager.module.d.ts +5 -4
  26. package/data-table/lib/data-column.directive.d.ts +2 -2
  27. package/datetime-box/README.md +3 -0
  28. package/datetime-box/index.d.ts +2 -0
  29. package/datetime-box/lib/datetime-box.component.d.ts +34 -0
  30. package/datetime-box/lib/datetime-box.module.d.ts +13 -0
  31. package/datetime-input/README.md +3 -0
  32. package/datetime-input/index.d.ts +2 -0
  33. package/datetime-input/lib/datetime-input.component.d.ts +44 -0
  34. package/datetime-input/lib/datetime-input.module.d.ts +10 -0
  35. package/datetime-picker/README.md +3 -0
  36. package/datetime-picker/index.d.ts +2 -0
  37. package/datetime-picker/lib/datetime-picker.component.d.ts +42 -0
  38. package/datetime-picker/lib/datetime-picker.module.d.ts +14 -0
  39. package/decorators/index.d.ts +4 -4
  40. package/decorators/lib/decorators.module.d.ts +4 -4
  41. package/dropdown/index.d.ts +2 -0
  42. package/dropdown/lib/dropdown-box.class.d.ts +15 -0
  43. package/dropdown/lib/dropdown-box.component.d.ts +25 -0
  44. package/dropdown/lib/dropdown-panel.component.d.ts +31 -20
  45. package/dropdown/lib/dropdown.module.d.ts +9 -8
  46. package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
  47. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  48. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  49. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  50. package/esm2022/alert/lib/alert.component.mjs +3 -3
  51. package/esm2022/alert/lib/alert.module.mjs +4 -4
  52. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  53. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  54. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  55. package/esm2022/badge/lib/badge.component.mjs +3 -3
  56. package/esm2022/badge/lib/badge.module.mjs +4 -4
  57. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  58. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  59. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  60. package/esm2022/button/lib/button-group.component.mjs +36 -29
  61. package/esm2022/button/lib/button-item.class.mjs +1 -1
  62. package/esm2022/button/lib/button-item.component.mjs +46 -32
  63. package/esm2022/button/lib/button.component.mjs +10 -7
  64. package/esm2022/button/lib/button.module.mjs +4 -4
  65. package/esm2022/{color-picker/acorex-components-color-picker.mjs → button-group/acorex-components-button-group.mjs} +1 -1
  66. package/esm2022/button-group/index.mjs +3 -0
  67. package/esm2022/button-group/lib/button-group.component.mjs +97 -0
  68. package/esm2022/button-group/lib/button-group.module.mjs +21 -0
  69. package/esm2022/calendar/lib/calendar-range.component.mjs +14 -13
  70. package/esm2022/calendar/lib/calendar.class.mjs +19 -18
  71. package/esm2022/calendar/lib/calendar.component.mjs +80 -40
  72. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  73. package/esm2022/check-box/lib/check-box.component.mjs +9 -5
  74. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  75. package/esm2022/chips/lib/chips.component.mjs +3 -3
  76. package/esm2022/chips/lib/chips.module.mjs +4 -4
  77. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  78. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  79. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  80. package/esm2022/color-box/acorex-components-color-box.mjs +5 -0
  81. package/esm2022/color-box/index.mjs +3 -0
  82. package/esm2022/color-box/lib/color-box.component.mjs +91 -0
  83. package/esm2022/color-box/lib/color-box.module.mjs +24 -0
  84. package/esm2022/color-palette/lib/color-palette-input.component.mjs +3 -3
  85. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +13 -13
  86. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  87. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  88. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  89. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
  90. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  91. package/esm2022/common/index.mjs +6 -4
  92. package/esm2022/common/lib/classes/components.class.mjs +22 -22
  93. package/esm2022/common/lib/classes/styles.class.mjs +20 -4
  94. package/esm2022/common/lib/common.module.mjs +4 -4
  95. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  96. package/esm2022/common/lib/components/button-base-component.class.mjs +4 -18
  97. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  98. package/esm2022/common/lib/components/interactive-component.class.mjs +14 -1
  99. package/esm2022/common/lib/components/value-component.class.mjs +6 -6
  100. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  101. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  102. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  103. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  104. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  105. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  106. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  107. package/esm2022/common/lib/types/direction.mjs +2 -0
  108. package/esm2022/common/lib/types/orientation.mjs +2 -0
  109. package/esm2022/common/lib/types/placement.mjs +160 -0
  110. package/esm2022/common/lib/types/range.mjs +2 -0
  111. package/esm2022/common/lib/types/selection-mode.mjs +5 -0
  112. package/esm2022/context-menu/lib/context-menu.component.mjs +3 -3
  113. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  114. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  115. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  116. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +3 -3
  117. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +4 -4
  118. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +15 -18
  119. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +7 -7
  120. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +4 -4
  121. package/esm2022/data-pager/lib/data-pager.component.mjs +5 -5
  122. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  123. package/esm2022/data-table/lib/data-column.directive.mjs +6 -8
  124. package/esm2022/data-table/lib/data-table.component.mjs +3 -3
  125. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  126. package/esm2022/datetime-box/acorex-components-datetime-box.mjs +5 -0
  127. package/esm2022/datetime-box/index.mjs +3 -0
  128. package/esm2022/datetime-box/lib/datetime-box.component.mjs +109 -0
  129. package/esm2022/datetime-box/lib/datetime-box.module.mjs +38 -0
  130. package/esm2022/datetime-input/acorex-components-datetime-input.mjs +5 -0
  131. package/esm2022/datetime-input/index.mjs +3 -0
  132. package/esm2022/datetime-input/lib/datetime-input.component.mjs +522 -0
  133. package/esm2022/datetime-input/lib/datetime-input.module.mjs +23 -0
  134. package/esm2022/datetime-picker/acorex-components-datetime-picker.mjs +5 -0
  135. package/esm2022/datetime-picker/index.mjs +3 -0
  136. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +232 -0
  137. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +41 -0
  138. package/esm2022/decorators/index.mjs +5 -5
  139. package/esm2022/decorators/lib/components/clear-button.component.mjs +58 -0
  140. package/esm2022/decorators/lib/components/close-button.component.mjs +43 -0
  141. package/esm2022/decorators/lib/components/generic-content.component.mjs +17 -0
  142. package/esm2022/decorators/lib/components/icon.component.mjs +26 -0
  143. package/esm2022/decorators/lib/decorators.module.mjs +10 -10
  144. package/esm2022/dialog/lib/dialog.component.mjs +4 -4
  145. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  146. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  147. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  148. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  149. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  150. package/esm2022/dropdown/index.mjs +3 -1
  151. package/esm2022/dropdown/lib/dropdown-box.class.mjs +38 -0
  152. package/esm2022/dropdown/lib/dropdown-box.component.mjs +94 -0
  153. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +88 -37
  154. package/esm2022/dropdown/lib/dropdown.module.mjs +8 -7
  155. package/esm2022/form/index.mjs +2 -1
  156. package/esm2022/form/lib/form-field.component.mjs +3 -3
  157. package/esm2022/form/lib/form.component.mjs +3 -3
  158. package/esm2022/form/lib/form.config.mjs +36 -0
  159. package/esm2022/form/lib/form.module.mjs +6 -28
  160. package/esm2022/form/lib/validation-rule.widget.mjs +8 -7
  161. package/esm2022/form/lib/validation-summary.component.mjs +4 -4
  162. package/esm2022/image/lib/image.component.mjs +3 -3
  163. package/esm2022/image/lib/image.module.mjs +4 -4
  164. package/esm2022/label/lib/label.component.mjs +3 -3
  165. package/esm2022/label/lib/label.module.mjs +4 -4
  166. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  167. package/esm2022/loading/lib/loading.component.mjs +3 -3
  168. package/esm2022/loading/lib/loading.directive.mjs +3 -3
  169. package/esm2022/loading/lib/loading.module.mjs +4 -4
  170. package/esm2022/loading/lib/loading.service.mjs +3 -3
  171. package/esm2022/menu/lib/menu.component.mjs +3 -3
  172. package/esm2022/menu/lib/menu.module.mjs +4 -4
  173. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  174. package/esm2022/mixin/lib/selection-component.class.mjs +3 -3
  175. package/esm2022/mixin/lib/value-mixin.class.mjs +3 -3
  176. package/esm2022/notification/lib/notification.component.mjs +3 -3
  177. package/esm2022/notification/lib/notification.module.mjs +4 -4
  178. package/esm2022/notification/lib/notification.service.mjs +3 -3
  179. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  180. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  181. package/esm2022/otp/lib/otp.component.mjs +23 -11
  182. package/esm2022/otp/lib/otp.module.mjs +4 -4
  183. package/esm2022/page/lib/base-page.class.mjs +3 -3
  184. package/esm2022/page/lib/page.component.mjs +3 -3
  185. package/esm2022/page/lib/page.module.mjs +4 -4
  186. package/esm2022/password-box/lib/password-box.component.mjs +3 -3
  187. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  188. package/esm2022/picker/acorex-components-picker.mjs +5 -0
  189. package/esm2022/picker/index.mjs +4 -0
  190. package/esm2022/picker/lib/picker-column.directive.mjs +73 -0
  191. package/esm2022/picker/lib/picker.component.mjs +148 -0
  192. package/esm2022/picker/lib/picker.module.mjs +22 -0
  193. package/esm2022/popover/index.mjs +1 -2
  194. package/esm2022/popover/lib/popover.component.mjs +241 -176
  195. package/esm2022/popover/lib/popover.module.mjs +4 -4
  196. package/esm2022/popup/lib/popup.component.mjs +37 -12
  197. package/esm2022/popup/lib/popup.module.mjs +4 -4
  198. package/esm2022/popup/lib/popup.service.mjs +9 -6
  199. package/esm2022/progress-bar/lib/progress-bar.component.mjs +4 -4
  200. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  201. package/esm2022/radio/lib/radio.component.mjs +36 -21
  202. package/esm2022/radio/lib/radio.module.mjs +4 -4
  203. package/esm2022/range-slider/lib/range-slider.component.mjs +21 -34
  204. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  205. package/esm2022/result/lib/result.component.mjs +6 -6
  206. package/esm2022/result/lib/result.module.mjs +4 -4
  207. package/esm2022/scheduler/index.mjs +2 -1
  208. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +16 -9
  209. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +12 -0
  210. package/esm2022/scheduler/lib/scheduler.component.mjs +27 -14
  211. package/esm2022/scheduler/lib/scheduler.module.mjs +10 -9
  212. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  213. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  214. package/esm2022/select-box/lib/select-box.component.mjs +7 -7
  215. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  216. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  217. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  218. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  219. package/esm2022/switch/lib/switch.component.mjs +3 -3
  220. package/esm2022/switch/lib/switch.module.mjs +4 -4
  221. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  222. package/esm2022/tabs/lib/tab-item.component.mjs +23 -53
  223. package/esm2022/tabs/lib/tabs.class.mjs +1 -1
  224. package/esm2022/tabs/lib/tabs.component.mjs +19 -28
  225. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  226. package/esm2022/tag/lib/tag.component.mjs +8 -10
  227. package/esm2022/tag/lib/tag.module.mjs +4 -4
  228. package/esm2022/text-area/lib/text-area.component.mjs +3 -3
  229. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  230. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  231. package/esm2022/text-box/lib/text-box.component.mjs +3 -3
  232. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  233. package/esm2022/toast/lib/toast.component.mjs +3 -3
  234. package/esm2022/toast/lib/toast.module.mjs +4 -4
  235. package/esm2022/toast/lib/toast.service.mjs +3 -3
  236. package/esm2022/tooltip/lib/tooltip.component.mjs +9 -13
  237. package/esm2022/tooltip/lib/tooltip.directive.mjs +35 -143
  238. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  239. package/esm2022/uploader/index.mjs +4 -2
  240. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +13 -0
  241. package/esm2022/uploader/lib/uploader-list.component.mjs +14 -0
  242. package/esm2022/uploader/lib/uploader-overlay.component.mjs +12 -0
  243. package/esm2022/uploader/lib/uploader.module.mjs +14 -11
  244. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  245. package/fesm2022/acorex-components-alert.mjs +7 -7
  246. package/fesm2022/acorex-components-avatar.mjs +10 -10
  247. package/fesm2022/acorex-components-badge.mjs +7 -7
  248. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  249. package/fesm2022/acorex-components-button-group.mjs +122 -0
  250. package/fesm2022/acorex-components-button-group.mjs.map +1 -0
  251. package/fesm2022/acorex-components-button.mjs +134 -113
  252. package/fesm2022/acorex-components-button.mjs.map +1 -1
  253. package/fesm2022/acorex-components-calendar.mjs +110 -68
  254. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  255. package/fesm2022/acorex-components-check-box.mjs +12 -8
  256. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  257. package/fesm2022/acorex-components-chips.mjs +7 -7
  258. package/fesm2022/acorex-components-collapse.mjs +10 -10
  259. package/fesm2022/acorex-components-color-box.mjs +116 -0
  260. package/fesm2022/acorex-components-color-box.mjs.map +1 -0
  261. package/fesm2022/acorex-components-color-palette.mjs +36 -36
  262. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  263. package/fesm2022/acorex-components-common.mjs +255 -151
  264. package/fesm2022/acorex-components-common.mjs.map +1 -1
  265. package/fesm2022/acorex-components-context-menu.mjs +7 -7
  266. package/fesm2022/acorex-components-data-pager.mjs +52 -54
  267. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  268. package/fesm2022/acorex-components-data-table.mjs +12 -14
  269. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  270. package/fesm2022/acorex-components-datetime-box.mjs +146 -0
  271. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -0
  272. package/fesm2022/acorex-components-datetime-input.mjs +547 -0
  273. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -0
  274. package/fesm2022/acorex-components-datetime-picker.mjs +273 -0
  275. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -0
  276. package/fesm2022/acorex-components-decorators.mjs +50 -50
  277. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  278. package/fesm2022/acorex-components-dialog.mjs +11 -11
  279. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  280. package/fesm2022/acorex-components-drawer.mjs +10 -10
  281. package/fesm2022/acorex-components-dropdown.mjs +217 -44
  282. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  283. package/fesm2022/acorex-components-form.mjs +58 -44
  284. package/fesm2022/acorex-components-form.mjs.map +1 -1
  285. package/fesm2022/acorex-components-image.mjs +7 -7
  286. package/fesm2022/acorex-components-label.mjs +7 -7
  287. package/fesm2022/acorex-components-loading.mjs +16 -16
  288. package/fesm2022/acorex-components-menu.mjs +7 -7
  289. package/fesm2022/acorex-components-mixin.mjs +6 -7
  290. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  291. package/fesm2022/acorex-components-notification.mjs +10 -10
  292. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  293. package/fesm2022/acorex-components-number-box.mjs +7 -7
  294. package/fesm2022/acorex-components-otp.mjs +27 -15
  295. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  296. package/fesm2022/acorex-components-page.mjs +10 -10
  297. package/fesm2022/acorex-components-password-box.mjs +7 -7
  298. package/fesm2022/acorex-components-picker.mjs +242 -0
  299. package/fesm2022/acorex-components-picker.mjs.map +1 -0
  300. package/fesm2022/acorex-components-popover.mjs +246 -251
  301. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  302. package/fesm2022/acorex-components-popup.mjs +48 -20
  303. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  304. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  305. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  306. package/fesm2022/acorex-components-radio.mjs +39 -25
  307. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  308. package/fesm2022/acorex-components-range-slider.mjs +24 -37
  309. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  310. package/fesm2022/acorex-components-result.mjs +9 -9
  311. package/fesm2022/acorex-components-result.mjs.map +1 -1
  312. package/fesm2022/acorex-components-scheduler.mjs +50 -25
  313. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  314. package/fesm2022/acorex-components-search-box.mjs +7 -7
  315. package/fesm2022/acorex-components-select-box.mjs +10 -10
  316. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  317. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  318. package/fesm2022/acorex-components-switch.mjs +10 -10
  319. package/fesm2022/acorex-components-tabs.mjs +45 -85
  320. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  321. package/fesm2022/acorex-components-tag.mjs +11 -13
  322. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  323. package/fesm2022/acorex-components-text-area.mjs +7 -7
  324. package/fesm2022/acorex-components-text-box.mjs +10 -10
  325. package/fesm2022/acorex-components-toast.mjs +10 -10
  326. package/fesm2022/acorex-components-tooltip.mjs +45 -157
  327. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  328. package/fesm2022/acorex-components-uploader.mjs +38 -103
  329. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  330. package/form/index.d.ts +1 -0
  331. package/form/lib/form.config.d.ts +17 -0
  332. package/form/lib/form.module.d.ts +0 -1
  333. package/form/lib/validation-rule.widget.d.ts +1 -0
  334. package/mixin/lib/base-components.class.d.ts +2 -2
  335. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  336. package/mixin/lib/button-mixin.class.d.ts +2 -2
  337. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  338. package/mixin/lib/color-look-mixing.class.d.ts +2 -2
  339. package/mixin/lib/datalist-component.class.d.ts +10 -10
  340. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  341. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  342. package/mixin/lib/mixin.class.d.ts +61 -61
  343. package/mixin/lib/page-component.class.d.ts +2 -2
  344. package/mixin/lib/selection-component.class.d.ts +2 -2
  345. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  346. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  347. package/mixin/lib/value-mixin.class.d.ts +8 -8
  348. package/otp/lib/otp.component.d.ts +10 -6
  349. package/package.json +36 -18
  350. package/picker/README.md +3 -0
  351. package/picker/index.d.ts +3 -0
  352. package/picker/lib/picker-column.directive.d.ts +16 -0
  353. package/picker/lib/picker.component.d.ts +30 -0
  354. package/picker/lib/picker.module.d.ts +9 -0
  355. package/popover/index.d.ts +0 -1
  356. package/popover/lib/popover.component.d.ts +43 -27
  357. package/popup/lib/popup.component.d.ts +6 -6
  358. package/radio/lib/radio.component.d.ts +8 -10
  359. package/range-slider/lib/range-slider.component.d.ts +12 -12
  360. package/result/lib/result.component.d.ts +2 -2
  361. package/scheduler/index.d.ts +1 -0
  362. package/scheduler/lib/scheduler-month-view.component.d.ts +2 -1
  363. package/scheduler/lib/scheduler-week-view.component.d.ts +6 -0
  364. package/scheduler/lib/scheduler.component.d.ts +6 -0
  365. package/scheduler/lib/scheduler.module.d.ts +7 -6
  366. package/tabs/lib/tab-item.component.d.ts +7 -38
  367. package/tabs/lib/tabs.class.d.ts +2 -1
  368. package/tabs/lib/tabs.component.d.ts +7 -9
  369. package/tag/lib/tag.component.d.ts +2 -4
  370. package/tooltip/lib/tooltip.component.d.ts +3 -6
  371. package/tooltip/lib/tooltip.directive.d.ts +11 -17
  372. package/uploader/index.d.ts +3 -1
  373. package/uploader/lib/uploader-drop-zone.component.d.ts +6 -0
  374. package/uploader/lib/uploader-list.component.d.ts +6 -0
  375. package/uploader/lib/uploader-overlay.component.d.ts +6 -0
  376. package/uploader/lib/uploader.module.d.ts +7 -4
  377. package/color-picker/README.md +0 -3
  378. package/color-picker/index.d.ts +0 -2
  379. package/color-picker/lib/color-picker.component.d.ts +0 -191
  380. package/color-picker/lib/color-picker.module.d.ts +0 -18
  381. package/common/lib/classes/drawing.class.d.ts +0 -9
  382. package/common/lib/constant/positions.d.ts +0 -75
  383. package/date-picker/README.md +0 -3
  384. package/date-picker/index.d.ts +0 -2
  385. package/date-picker/lib/datepicker.component.d.ts +0 -40
  386. package/date-picker/lib/datepicker.module.d.ts +0 -15
  387. package/esm2022/color-picker/index.mjs +0 -3
  388. package/esm2022/color-picker/lib/color-picker.component.mjs +0 -116
  389. package/esm2022/color-picker/lib/color-picker.module.mjs +0 -61
  390. package/esm2022/common/lib/classes/data.class.mjs +0 -2
  391. package/esm2022/common/lib/classes/drawing.class.mjs +0 -2
  392. package/esm2022/common/lib/constant/positions.mjs +0 -75
  393. package/esm2022/date-picker/acorex-components-date-picker.mjs +0 -5
  394. package/esm2022/date-picker/index.mjs +0 -3
  395. package/esm2022/date-picker/lib/datepicker.component.mjs +0 -128
  396. package/esm2022/date-picker/lib/datepicker.module.mjs +0 -44
  397. package/esm2022/decorators/lib/clear-button.component.mjs +0 -58
  398. package/esm2022/decorators/lib/close-button.component.mjs +0 -43
  399. package/esm2022/decorators/lib/generic-content.component.mjs +0 -17
  400. package/esm2022/decorators/lib/icon.component.mjs +0 -26
  401. package/esm2022/popover/lib/dropdown-component.class.mjs +0 -73
  402. package/esm2022/time-box/acorex-components-time-box.mjs +0 -5
  403. package/esm2022/time-box/index.mjs +0 -3
  404. package/esm2022/time-box/lib/time-box.component.mjs +0 -294
  405. package/esm2022/time-box/lib/time-box.module.mjs +0 -32
  406. package/esm2022/uploader/lib/uploader.component.mjs +0 -99
  407. package/fesm2022/acorex-components-color-picker.mjs +0 -178
  408. package/fesm2022/acorex-components-color-picker.mjs.map +0 -1
  409. package/fesm2022/acorex-components-date-picker.mjs +0 -173
  410. package/fesm2022/acorex-components-date-picker.mjs.map +0 -1
  411. package/fesm2022/acorex-components-time-box.mjs +0 -329
  412. package/fesm2022/acorex-components-time-box.mjs.map +0 -1
  413. package/popover/lib/dropdown-component.class.d.ts +0 -17
  414. package/time-box/README.md +0 -3
  415. package/time-box/index.d.ts +0 -2
  416. package/time-box/lib/time-box.component.d.ts +0 -50
  417. package/time-box/lib/time-box.module.d.ts +0 -11
  418. package/uploader/lib/uploader.component.d.ts +0 -28
  419. /package/common/lib/{classes/data.class.d.ts → types/range.d.ts} +0 -0
  420. /package/decorators/lib/{clear-button.component.d.ts → components/clear-button.component.d.ts} +0 -0
  421. /package/decorators/lib/{close-button.component.d.ts → components/close-button.component.d.ts} +0 -0
  422. /package/decorators/lib/{generic-content.component.d.ts → components/generic-content.component.d.ts} +0 -0
  423. /package/decorators/lib/{icon.component.d.ts → components/icon.component.d.ts} +0 -0
@@ -1,294 +0,0 @@
1
- import { AXStringUtil } from '@acorex/core/utils';
2
- import { AXDateTime } from '@acorex/core/dateTime';
3
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, EventEmitter, Output, Input, ViewChild, } from '@angular/core';
4
- import { MaskedRange, createMask } from 'imask';
5
- import { IMaskDirective } from 'angular-imask';
6
- import { AXBaseTextBoxMixin } from '@acorex/components/mixin';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- import * as i2 from "angular-imask";
10
- /**
11
- * The Button is a component which detects user interaction and triggers a corresponding event
12
- *
13
- * @category Components
14
- */
15
- export class AXTimeBoxComponent extends AXBaseTextBoxMixin {
16
- get minValue() {
17
- return this._minValue;
18
- }
19
- set minValue(v) {
20
- this._minValue = v;
21
- }
22
- get maxValue() {
23
- return this._maxValue;
24
- }
25
- set maxValue(v) {
26
- this._maxValue = v;
27
- }
28
- get format() {
29
- return this._format;
30
- }
31
- set format(v) {
32
- this._setOption({
33
- name: 'format',
34
- value: v,
35
- });
36
- }
37
- get displayText() {
38
- return this._displayText;
39
- }
40
- set displayText(v) {
41
- this._displayText = v;
42
- this.displayTextChange.emit(v);
43
- }
44
- /**
45
- * @ignore
46
- */
47
- constructor(elementRef, cdr) {
48
- super(elementRef, cdr);
49
- this.cdr = cdr;
50
- this.formatChange = new EventEmitter();
51
- this._format = 'HH:mm';
52
- this.displayTextChange = new EventEmitter();
53
- this._displayText = '';
54
- }
55
- onViewInit() {
56
- super.onViewInit();
57
- this._updateMask();
58
- }
59
- _onValueChanged(oldValue, newValue) {
60
- this._updateText();
61
- this._maskDirective?.maskRef?.updateValue();
62
- this._maskDirective?.maskRef?.updateControl();
63
- }
64
- _updateText() {
65
- this.displayText = this.value ? AXDateTime.convert(this.value).format(this.format) : '';
66
- }
67
- _onOptionChanged(option) {
68
- super._onOptionChanged(option);
69
- this._updateMask();
70
- }
71
- focus() {
72
- this.input.nativeElement.focus();
73
- }
74
- _updateMask() {
75
- if (!this._maskObj) {
76
- this._maskObj = createMask({
77
- mask: this.format,
78
- lazy: false,
79
- autofix: true,
80
- overwrite: true,
81
- blocks: {
82
- HH: {
83
- mask: MaskedRange,
84
- from: 0,
85
- to: 23,
86
- maxLength: 2,
87
- placeholderChar: '0',
88
- autofix: 'pad',
89
- },
90
- mm: {
91
- mask: MaskedRange,
92
- from: 0,
93
- to: 59,
94
- maxLength: 2,
95
- placeholderChar: '0',
96
- autofix: 'pad',
97
- },
98
- ss: {
99
- mask: MaskedRange,
100
- from: 0,
101
- to: 59,
102
- maxLength: 2,
103
- placeholderChar: '0',
104
- autofix: 'pad',
105
- },
106
- },
107
- });
108
- }
109
- else {
110
- this._maskObj.updateOptions({
111
- mask: this.format,
112
- });
113
- }
114
- this._maskDirective?.maskRef?.updateValue();
115
- this._maskDirective?.maskRef?.updateControl();
116
- }
117
- _handleOnKeydownEvent(e) {
118
- const ignore = () => {
119
- e.preventDefault();
120
- e.stopPropagation();
121
- };
122
- const nums = Array(10)
123
- .fill(0)
124
- .map((v, i) => i.toString());
125
- const chars = [
126
- 'Backspace',
127
- 'ArrowDown',
128
- 'ArrowUp',
129
- 'ArrowRight',
130
- 'ArrowLeft',
131
- 'Tab',
132
- 'Enter',
133
- ];
134
- const input = e.target;
135
- const key = e.key;
136
- const valStr = input.value;
137
- const sStart = input.selectionStart || 0;
138
- const sEnd = input.selectionEnd || 0;
139
- const dateVal = new AXDateTime(this.value);
140
- //
141
- const re = /[a-zA-Z0-9]+/gi;
142
- const parts = Array.from(this.format.matchAll(re));
143
- const word = valStr.substring(sStart, sEnd);
144
- const part = parts.find((c) => c.index >= sStart);
145
- const next = Array.from(valStr.substr(sEnd).matchAll(re));
146
- const prev = Array.from(valStr.substring(0, sStart).matchAll(re));
147
- //const part = parts[Array.from(valStr.matchAll(re)).findIndex(c => c[0] == word)];
148
- //
149
- const goNext = () => {
150
- this._highlightPart(input, sEnd + (next[0]?.index || 0));
151
- };
152
- const goPrev = () => {
153
- this._highlightPart(input, prev[prev.length - 1]?.index);
154
- };
155
- //
156
- if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {
157
- ignore();
158
- e.key === 'ArrowRight' ? goNext() : goPrev();
159
- }
160
- else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
161
- if (e.ctrlKey && e.key === 'ArrowDown') {
162
- //this.open();
163
- }
164
- else {
165
- const sign = e.key === 'ArrowUp' ? +1 : -1;
166
- if (part) {
167
- switch (part[0]) {
168
- case 'hh':
169
- case 'h':
170
- case 'HH':
171
- case 'H':
172
- this.value = dateVal.add('hour', sign).date;
173
- break;
174
- case 'mm':
175
- this.value = dateVal.add('minute', sign).date;
176
- break;
177
- case 'ss':
178
- case 'SS':
179
- this.value = dateVal.add('second', sign).date;
180
- break;
181
- }
182
- setTimeout(() => {
183
- this._highlightPart(input, sStart);
184
- }, 10);
185
- }
186
- }
187
- ignore();
188
- }
189
- else if (e.key == 'Backspace') {
190
- // if (this.allowNull) {
191
- // this.value = null;
192
- // }
193
- // ignore();
194
- }
195
- else if (e.key == 'Tab') {
196
- if (sEnd < valStr.length && !e.shiftKey) {
197
- goNext();
198
- ignore();
199
- }
200
- else if (sStart != 0 && e.shiftKey) {
201
- goPrev();
202
- ignore();
203
- }
204
- }
205
- else {
206
- // const keys = {
207
- // h: {
208
- // v: /^[0-9]$|^[1][0-2]$/,
209
- // p: '0'
210
- // },
211
- // H: {
212
- // v: /^[0-9]$|^1[0-9]$|2[0-3]$/,
213
- // p: '0'
214
- // },
215
- // m: {
216
- // v: /^[0-9]$|^[1-5][0-9]$/,
217
- // p: '0'
218
- // }
219
- // }
220
- // // const re = new RegExp(_.orderBy(Object.keys(keys), c => c.length, ['desc']).join("|"), "gi");
221
- // // return format.replace(re, function (matched) {
222
- // // return keys[matched]();
223
- // // });
224
- // const t = keys[part[0]];
225
- // if (!t.v.test(key)) {
226
- // ignore();
227
- // }
228
- // else {
229
- // this._updateText()
230
- // }
231
- }
232
- // super._emitOnKeydownEvent(e);
233
- }
234
- _handleKeyUpEvent(e) {
235
- // const input = (e.target as HTMLInputElement);
236
- // setTimeout(() => {
237
- // this._highlightPart(input);
238
- // }, 700);
239
- }
240
- _emitOnFocusEvent(e) {
241
- const input = e.target;
242
- this._highlightPart(input);
243
- super._emitOnFocusEvent(e);
244
- }
245
- _handleOnInputClickEvent(e) {
246
- const input = e.target;
247
- this._highlightPart(input);
248
- e.preventDefault();
249
- e.stopPropagation();
250
- }
251
- _highlightPart(input, pos) {
252
- const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, pos != null ? pos : input.selectionStart || 0);
253
- input.setSelectionRange(start, end);
254
- }
255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXTimeBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
256
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXTimeBoxComponent, selector: "ax-time-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", size: "size", value: "value", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", name: "name", checked: "checked", minValue: "minValue", maxValue: "maxValue", format: "format", displayText: "displayText" }, outputs: { valueChange: "valueChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", formatChange: "formatChange", displayTextChange: "displayTextChange" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" [imask]=\"_maskObj\" [unmask]=\"false\" type=\"text\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"displayText\" (mouseup)=\"_handleOnInputClickEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\" (keyup)=\"_handleKeyUpEvent($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" autocomplete=\"off\">\n<ng-content select=\"ax-clear-button\"></ng-content>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
257
- }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXTimeBoxComponent, decorators: [{
259
- type: Component,
260
- args: [{ selector: 'ax-time-box', inputs: [
261
- 'disabled',
262
- 'readonly',
263
- 'tabIndex',
264
- 'size',
265
- 'value',
266
- 'placeholder',
267
- 'maxLength',
268
- 'type',
269
- 'autoComplete',
270
- 'readonly',
271
- 'value',
272
- 'name',
273
- 'checked',
274
- ], outputs: ['valueChange', 'onValueChanged', 'onBlur', 'onFocus', 'valueChange', 'onValueChanged'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" [imask]=\"_maskObj\" [unmask]=\"false\" type=\"text\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"displayText\" (mouseup)=\"_handleOnInputClickEvent($event)\"\n (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\" (keyup)=\"_handleKeyUpEvent($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" autocomplete=\"off\">\n<ng-content select=\"ax-clear-button\"></ng-content>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
275
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { input: [{
276
- type: ViewChild,
277
- args: ['input']
278
- }], minValue: [{
279
- type: Input
280
- }], maxValue: [{
281
- type: Input
282
- }], formatChange: [{
283
- type: Output
284
- }], format: [{
285
- type: Input
286
- }], displayTextChange: [{
287
- type: Output
288
- }], displayText: [{
289
- type: Input
290
- }], _maskDirective: [{
291
- type: ViewChild,
292
- args: [IMaskDirective]
293
- }] } });
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtYm94L3NyYy9saWIvdGltZS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtYm94L3NyYy9saWIvdGltZS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUErQixXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLDBCQUEwQixDQUFDOzs7O0FBR3hGOzs7O0dBSUc7QUF3QkgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtJQUt4RCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFPO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFHRCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFPO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFD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LEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsbUJBQy9FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7aUlBSW5ELEtBQUs7c0JBREosU0FBUzt1QkFBQyxPQUFPO2dCQUtQLFFBQVE7c0JBRGxCLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSztnQkFTTixZQUFZO3NCQURYLE1BQU07Z0JBS0ksTUFBTTtzQkFEaEIsS0FBSztnQkFZQyxpQkFBaUI7c0JBRHZCLE1BQU07Z0JBS0ksV0FBVztzQkFEckIsS0FBSztnQkFnQkUsY0FBYztzQkFEckIsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhTdHJpbmdVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYRGF0ZVRpbWUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZVRpbWUnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXNrZWRQYXR0ZXJuLCBNYXNrZWROdW1iZXIsIE1hc2tlZFJhbmdlLCBjcmVhdGVNYXNrIH0gZnJvbSAnaW1hc2snO1xuaW1wb3J0IHsgSU1hc2tEaXJlY3RpdmUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCB7IEFYQmFzZVRleHRCb3hNaXhpbiwgQVhDb21wb25lbnRPcHRpb25DaGFuZ2VkIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcblxuZXhwb3J0IHR5cGUgQVhfVElNRV9GT1JNQVQgPSAnSEg6bW0nIHwgJ0hIOm1tOnNzJztcbi8qKlxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRpbWUtYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtYm94LmNvbXBvbmVudC5odG1sJyxcbiAgaW5wdXRzOiBbXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAncmVhZG9ubHknLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3NpemUnLFxuICAgICd2YWx1ZScsXG4gICAgJ3BsYWNlaG9sZGVyJyxcbiAgICAnbWF4TGVuZ3RoJyxcbiAgICAndHlwZScsXG4gICAgJ2F1dG9Db21wbGV0ZScsXG4gICAgJ3JlYWRvbmx5JyxcbiAgICAndmFsdWUnLFxuICAgICduYW1lJyxcbiAgICAnY2hlY2tlZCcsXG4gIF0sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnLCAnb25CbHVyJywgJ29uRm9jdXMnLCAndmFsdWVDaGFuZ2UnLCAnb25WYWx1ZUNoYW5nZWQnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LWRyb3AtZG93bicgfSxcbn0pXG5leHBvcnQgY2xhc3MgQVhUaW1lQm94Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlVGV4dEJveE1peGluIHtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBpbnB1dDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIF9taW5WYWx1ZTogRGF0ZTtcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBtaW5WYWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fbWluVmFsdWU7XG4gIH1cbiAgcHVibGljIHNldCBtaW5WYWx1ZSh2OiBEYXRlKSB7XG4gICAgdGhpcy5fbWluVmFsdWUgPSB2O1xuICB9XG5cbiAgcHJpdmF0ZSBfbWF4VmFsdWU6IERhdGU7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgbWF4VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX21heFZhbHVlO1xuICB9XG4gIHB1YmxpYyBzZXQgbWF4VmFsdWUodjogRGF0ZSkge1xuICAgIHRoaXMuX21heFZhbHVlID0gdjtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBmb3JtYXRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBwcml2YXRlIF9mb3JtYXQ6IEFYX1RJTUVfRk9STUFUID0gJ0hIOm1tJztcbiAgQElucHV0KClcbiAgcHVibGljIGdldCBmb3JtYXQoKTogQVhfVElNRV9GT1JNQVQge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXQ7XG4gIH1cbiAgcHVibGljIHNldCBmb3JtYXQodjogQVhfVElNRV9GT1JNQVQpIHtcbiAgICB0aGlzLl9zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2Zvcm1hdCcsXG4gICAgICB2YWx1ZTogdixcbiAgICB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGlzcGxheVRleHRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXlUZXh0OiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUZXh0O1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNwbGF5VGV4dCh2OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9kaXNwbGF5VGV4dCA9IHY7XG4gICAgdGhpcy5kaXNwbGF5VGV4dENoYW5nZS5lbWl0KHYpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgX21hc2tPYmo6IE1hc2tlZFBhdHRlcm47XG5cbiAgQFZpZXdDaGlsZChJTWFza0RpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfbWFza0RpcmVjdGl2ZTogSU1hc2tEaXJlY3RpdmU8TWFza2VkTnVtYmVyPjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gIH1cblxuICBvdmVycmlkZSBvblZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICBvdmVycmlkZSBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XG4gICAgdGhpcy5fdXBkYXRlVGV4dCgpO1xuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZVZhbHVlKCk7XG4gICAgdGhpcy5fbWFza0RpcmVjdGl2ZT8ubWFza1JlZj8udXBkYXRlQ29udHJvbCgpO1xuICB9XG5cbiAgX3VwZGF0ZVRleHQoKSB7XG4gICAgdGhpcy5kaXNwbGF5VGV4dCA9IHRoaXMudmFsdWUgPyBBWERhdGVUaW1lLmNvbnZlcnQodGhpcy52YWx1ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KSA6ICcnO1xuICB9XG5cbiAgb3ZlcnJpZGUgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQge1xuICAgIHN1cGVyLl9vbk9wdGlvbkNoYW5nZWQob3B0aW9uKTtcbiAgICB0aGlzLl91cGRhdGVNYXNrKCk7XG4gIH1cblxuICBvdmVycmlkZSBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU1hc2soKSB7XG4gICAgaWYgKCF0aGlzLl9tYXNrT2JqKSB7XG4gICAgICB0aGlzLl9tYXNrT2JqID0gY3JlYXRlTWFzayh7XG4gICAgICAgIG1hc2s6IHRoaXMuZm9ybWF0LFxuICAgICAgICBsYXp5OiBmYWxzZSxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgb3ZlcndyaXRlOiB0cnVlLFxuICAgICAgICBibG9ja3M6IHtcbiAgICAgICAgICBISDoge1xuICAgICAgICAgICAgbWFzazogTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgdG86IDIzLFxuICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnMCcsXG4gICAgICAgICAgICBhdXRvZml4OiAncGFkJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG1tOiB7XG4gICAgICAgICAgICBtYXNrOiBNYXNrZWRSYW5nZSxcbiAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICB0bzogNTksXG4gICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICcwJyxcbiAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3M6IHtcbiAgICAgICAgICAgIG1hc2s6IE1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgIHRvOiA1OSxcbiAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJzAnLFxuICAgICAgICAgICAgYXV0b2ZpeDogJ3BhZCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXNrT2JqLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBtYXNrOiB0aGlzLmZvcm1hdCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLl9tYXNrRGlyZWN0aXZlPy5tYXNrUmVmPy51cGRhdGVWYWx1ZSgpO1xuICAgIHRoaXMuX21hc2tEaXJlY3RpdmU/Lm1hc2tSZWY/LnVwZGF0ZUNvbnRyb2woKTtcbiAgfVxuXG4gIF9oYW5kbGVPbktleWRvd25FdmVudChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaWdub3JlID0gKCkgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuXG4gICAgY29uc3QgbnVtczogc3RyaW5nW10gPSBBcnJheSgxMClcbiAgICAgIC5maWxsKDApXG4gICAgICAubWFwKCh2LCBpKSA9PiBpLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IGNoYXJzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCYWNrc3BhY2UnLFxuICAgICAgJ0Fycm93RG93bicsXG4gICAgICAnQXJyb3dVcCcsXG4gICAgICAnQXJyb3dSaWdodCcsXG4gICAgICAnQXJyb3dMZWZ0JyxcbiAgICAgICdUYWInLFxuICAgICAgJ0VudGVyJyxcbiAgICBdO1xuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICBjb25zdCBrZXkgPSBlLmtleTtcbiAgICBjb25zdCB2YWxTdHIgPSBpbnB1dC52YWx1ZTtcbiAgICBjb25zdCBzU3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuICAgIGNvbnN0IHNFbmQgPSBpbnB1dC5zZWxlY3Rpb25FbmQgfHwgMDtcbiAgICBjb25zdCBkYXRlVmFsID0gbmV3IEFYRGF0ZVRpbWUodGhpcy52YWx1ZSk7XG4gICAgLy9cbiAgICBjb25zdCByZSA9IC9bYS16QS1aMC05XSsvZ2k7XG4gICAgY29uc3QgcGFydHMgPSBBcnJheS5mcm9tKHRoaXMuZm9ybWF0Lm1hdGNoQWxsKHJlKSk7XG4gICAgY29uc3Qgd29yZCA9IHZhbFN0ci5zdWJzdHJpbmcoc1N0YXJ0LCBzRW5kKTtcbiAgICBjb25zdCBwYXJ0ID0gcGFydHMuZmluZCgoYzogYW55KSA9PiBjLmluZGV4ID49IHNTdGFydCk7XG4gICAgY29uc3QgbmV4dCA9IEFycmF5LmZyb20odmFsU3RyLnN1YnN0cihzRW5kKS5tYXRjaEFsbChyZSkpO1xuICAgIGNvbnN0IHByZXYgPSBBcnJheS5mcm9tKHZhbFN0ci5zdWJzdHJpbmcoMCwgc1N0YXJ0KS5tYXRjaEFsbChyZSkpO1xuICAgIC8vY29uc3QgcGFydCA9IHBhcnRzW0FycmF5LmZyb20odmFsU3RyLm1hdGNoQWxsKHJlKSkuZmluZEluZGV4KGMgPT4gY1swXSA9PSB3b3JkKV07XG4gICAgLy9cblxuICAgIGNvbnN0IGdvTmV4dCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2hpZ2hsaWdodFBhcnQoaW5wdXQsIHNFbmQgKyAobmV4dFswXT8uaW5kZXggfHwgMCkpO1xuICAgIH07XG4gICAgY29uc3QgZ29QcmV2ID0gKCkgPT4ge1xuICAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCwgcHJldltwcmV2Lmxlbmd0aCAtIDFdPy5pbmRleCk7XG4gICAgfTtcblxuICAgIC8vXG4gICAgaWYgKGUua2V5ID09PSAnQXJyb3dSaWdodCcgfHwgZS5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICBpZ25vcmUoKTtcbiAgICAgIGUua2V5ID09PSAnQXJyb3dSaWdodCcgPyBnb05leHQoKSA6IGdvUHJldigpO1xuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJyB8fCBlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIGlmIChlLmN0cmxLZXkgJiYgZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgIC8vdGhpcy5vcGVuKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzaWduID0gZS5rZXkgPT09ICdBcnJvd1VwJyA/ICsxIDogLTE7XG4gICAgICAgIGlmIChwYXJ0KSB7XG4gICAgICAgICAgc3dpdGNoIChwYXJ0WzBdKSB7XG4gICAgICAgICAgICBjYXNlICdoaCc6XG4gICAgICAgICAgICBjYXNlICdoJzpcbiAgICAgICAgICAgIGNhc2UgJ0hIJzpcbiAgICAgICAgICAgIGNhc2UgJ0gnOlxuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZVZhbC5hZGQoJ2hvdXInLCBzaWduKS5kYXRlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ21tJzpcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdtaW51dGUnLCBzaWduKS5kYXRlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3NzJzpcbiAgICAgICAgICAgIGNhc2UgJ1NTJzpcbiAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWwuYWRkKCdzZWNvbmQnLCBzaWduKS5kYXRlO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0LCBzU3RhcnQpO1xuICAgICAgICAgIH0sIDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWdub3JlKCk7XG4gICAgfSBlbHNlIGlmIChlLmtleSA9PSAnQmFja3NwYWNlJykge1xuICAgICAgLy8gaWYgKHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICAvLyAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAvLyB9XG4gICAgICAvLyBpZ25vcmUoKTtcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09ICdUYWInKSB7XG4gICAgICBpZiAoc0VuZCA8IHZhbFN0ci5sZW5ndGggJiYgIWUuc2hpZnRLZXkpIHtcbiAgICAgICAgZ29OZXh0KCk7XG4gICAgICAgIGlnbm9yZSgpO1xuICAgICAgfSBlbHNlIGlmIChzU3RhcnQgIT0gMCAmJiBlLnNoaWZ0S2V5KSB7XG4gICAgICAgIGdvUHJldigpO1xuICAgICAgICBpZ25vcmUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY29uc3Qga2V5cyA9IHtcbiAgICAgIC8vICAgICBoOiB7XG4gICAgICAvLyAgICAgICAgIHY6IC9eWzAtOV0kfF5bMV1bMC0yXSQvLFxuICAgICAgLy8gICAgICAgICBwOiAnMCdcbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIEg6IHtcbiAgICAgIC8vICAgICAgICAgdjogL15bMC05XSR8XjFbMC05XSR8MlswLTNdJC8sXG4gICAgICAvLyAgICAgICAgIHA6ICcwJ1xuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgbToge1xuICAgICAgLy8gICAgICAgICB2OiAvXlswLTldJHxeWzEtNV1bMC05XSQvLFxuICAgICAgLy8gICAgICAgICBwOiAnMCdcbiAgICAgIC8vICAgICB9XG4gICAgICAvLyB9XG4gICAgICAvLyAvLyBjb25zdCByZSA9IG5ldyBSZWdFeHAoXy5vcmRlckJ5KE9iamVjdC5rZXlzKGtleXMpLCBjID0+IGMubGVuZ3RoLCBbJ2Rlc2MnXSkuam9pbihcInxcIiksIFwiZ2lcIik7XG4gICAgICAvLyAvLyByZXR1cm4gZm9ybWF0LnJlcGxhY2UocmUsIGZ1bmN0aW9uIChtYXRjaGVkKSB7XG4gICAgICAvLyAvLyAgIHJldHVybiBrZXlzW21hdGNoZWRdKCk7XG4gICAgICAvLyAvLyB9KTtcbiAgICAgIC8vIGNvbnN0IHQgPSBrZXlzW3BhcnRbMF1dO1xuICAgICAgLy8gaWYgKCF0LnYudGVzdChrZXkpKSB7XG4gICAgICAvLyAgICAgaWdub3JlKCk7XG4gICAgICAvLyB9XG4gICAgICAvLyBlbHNlIHtcbiAgICAgIC8vICAgICB0aGlzLl91cGRhdGVUZXh0KClcbiAgICAgIC8vIH1cbiAgICB9XG4gICAgLy8gc3VwZXIuX2VtaXRPbktleWRvd25FdmVudChlKTtcbiAgfVxuXG4gIF9oYW5kbGVLZXlVcEV2ZW50KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyBjb25zdCBpbnB1dCA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KTtcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAvLyAgICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XG4gICAgLy8gfSwgNzAwKTtcbiAgfVxuXG4gIG92ZXJyaWRlIF9lbWl0T25Gb2N1c0V2ZW50KGU6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5faGlnaGxpZ2h0UGFydChpbnB1dCk7XG4gICAgc3VwZXIuX2VtaXRPbkZvY3VzRXZlbnQoZSk7XG4gIH1cblxuICBfaGFuZGxlT25JbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLl9oaWdobGlnaHRQYXJ0KGlucHV0KTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hpZ2hsaWdodFBhcnQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHBvcz86IG51bWJlcikge1xuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gQVhTdHJpbmdVdGlsLmdldFdvcmRCb3VuZHNBdFBvc2l0aW9uKFxuICAgICAgaW5wdXQudmFsdWUsXG4gICAgICBwb3MgIT0gbnVsbCA/IHBvcyA6IGlucHV0LnNlbGVjdGlvblN0YXJ0IHx8IDBcbiAgICApO1xuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0LCBlbmQpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cbjwvbmctY29udGVudD5cbjxpbnB1dCAjaW5wdXQgY2xhc3M9XCJheC1pbnB1dFwiIFtpbWFza109XCJfbWFza09ialwiIFt1bm1hc2tdPVwiZmFsc2VcIiB0eXBlPVwidGV4dFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbY2xhc3MuYXgtc3RhdGUtcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiIFtuZ01vZGVsXT1cImRpc3BsYXlUZXh0XCIgKG1vdXNldXApPVwiX2hhbmRsZU9uSW5wdXRDbGlja0V2ZW50KCRldmVudClcIlxuICAgIChmb2N1cyk9XCJfZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCIgKGJsdXIpPVwiX2VtaXRPbkJsdXJFdmVudCgkZXZlbnQpXCIgKGtleXVwKT1cIl9oYW5kbGVLZXlVcEV2ZW50KCRldmVudClcIlxuICAgIChrZXlkb3duKT1cIl9oYW5kbGVPbktleWRvd25FdmVudCgkZXZlbnQpXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1jbGVhci1idXR0b25cIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cbjwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxuPC9uZy1jb250ZW50PiJdfQ==
@@ -1,32 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { AXTimeBoxComponent } from './time-box.component';
4
- import { FormsModule } from '@angular/forms';
5
- import { IMaskModule } from 'angular-imask';
6
- import { AXButtonModule } from '@acorex/components/button';
7
- import * as i0 from "@angular/core";
8
- const COMPONENT = [AXTimeBoxComponent];
9
- const MODULES = [
10
- CommonModule,
11
- FormsModule,
12
- AXButtonModule,
13
- IMaskModule
14
- ];
15
- export class AXTimeBoxModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXTimeBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.8", ngImport: i0, type: AXTimeBoxModule, declarations: [AXTimeBoxComponent], imports: [CommonModule,
18
- FormsModule,
19
- AXButtonModule,
20
- IMaskModule], exports: [AXTimeBoxComponent] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXTimeBoxModule, imports: [MODULES] }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXTimeBoxModule, decorators: [{
24
- type: NgModule,
25
- args: [{
26
- declarations: [...COMPONENT],
27
- imports: [...MODULES],
28
- exports: [...COMPONENT],
29
- providers: [],
30
- }]
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1ib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbWUtYm94L3NyYy9saWIvdGltZS1ib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFM0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0sT0FBTyxHQUFHO0lBQ1osWUFBWTtJQUNaLFdBQVc7SUFDWCxjQUFjO0lBQ2QsV0FBVztDQUNkLENBQUM7QUFRRixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsaUJBZFQsa0JBQWtCLGFBRWpDLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYztZQUNkLFdBQVcsYUFMSSxrQkFBa0I7K0dBY3hCLGVBQWUsWUFKWCxPQUFPOzsyRkFJWCxlQUFlO2tCQU4zQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhUaW1lQm94Q29tcG9uZW50IH0gZnJvbSAnLi90aW1lLWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJTWFza01vZHVsZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcblxuY29uc3QgQ09NUE9ORU5UID0gW0FYVGltZUJveENvbXBvbmVudF07XG5jb25zdCBNT0RVTEVTID0gW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBJTWFza01vZHVsZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxuICAgIGltcG9ydHM6IFsuLi5NT0RVTEVTXSxcbiAgICBleHBvcnRzOiBbLi4uQ09NUE9ORU5UXSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRpbWVCb3hNb2R1bGUgeyB9XG4iXX0=
@@ -1,99 +0,0 @@
1
- import { AXBaseComponentMixin } from '@acorex/components/mixin';
2
- import { AXFileService } from '@acorex/core/file';
3
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@acorex/core/file";
6
- import * as i2 from "@angular/common";
7
- export class AXUploaderComponent extends AXBaseComponentMixin {
8
- constructor(elementRef, cdr, _fileService) {
9
- super(elementRef, cdr);
10
- this._fileService = _fileService;
11
- this.onValueChanged = new EventEmitter();
12
- this.firstInit = true;
13
- this._showText = true;
14
- this.multiple = false;
15
- this.accept = '*/*';
16
- }
17
- async _handleClick(e) {
18
- const files = await this._fileService.choose({
19
- accept: this.accept,
20
- multiple: this.multiple,
21
- });
22
- this._handleFiles(files);
23
- }
24
- async _handleDrop(e) {
25
- let dt = e.dataTransfer;
26
- let files = dt.files;
27
- this._handleFiles(Array.from(files));
28
- e.preventDefault();
29
- }
30
- _handleFiles(files) {
31
- this.onValueChanged.emit({
32
- component: this,
33
- isUserInteraction: true,
34
- value: files,
35
- htmlElement: this._getHostElement(),
36
- });
37
- }
38
- onInit() {
39
- this._dropArea = this._getHostElement();
40
- ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
41
- this._dropArea.addEventListener(eventName, this.preventDefaults, false);
42
- });
43
- ['dragenter', 'dragover'].forEach((eventName) => {
44
- this._dropArea.addEventListener(eventName, this._handleHighlight.bind(this), false);
45
- });
46
- ['dragleave', 'drop'].forEach((eventName) => {
47
- this._dropArea.addEventListener(eventName, this._handleUnhighlight.bind(this), false);
48
- });
49
- }
50
- ngDoCheck() {
51
- this.checkIsBoxHasMinWidth();
52
- }
53
- checkIsBoxHasMinWidth() {
54
- this.firstInit = false;
55
- let boxWidth = this._getHostElement().getBoundingClientRect().width;
56
- console.log(boxWidth);
57
- if (boxWidth <= 176 && this.firstInit === false) {
58
- this._showText = false;
59
- }
60
- }
61
- preventDefaults(e) {
62
- e.preventDefault();
63
- e.stopPropagation();
64
- }
65
- _handleHighlight(e) {
66
- this._dropArea.classList.add('ax-state-hover');
67
- }
68
- _handleUnhighlight(e) {
69
- this._dropArea.classList.remove('ax-state-hover');
70
- }
71
- get __defaultClass() {
72
- return !this._placeholder?.nativeElement.childNodes.length;
73
- }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXUploaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.AXFileService }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.8", type: AXUploaderComponent, selector: "ax-uploader", inputs: { multiple: "multiple", accept: "accept" }, outputs: { onValueChanged: "onValueChanged" }, host: { listeners: { "click": "_handleClick($event)", "drop": "_handleDrop($event)" }, properties: { "class.ax-look-default": "this.__defaultClass" } }, viewQueries: [{ propertyName: "_placeholder", first: true, predicate: ["contentRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #contentRef><ng-content></ng-content></div>\n</ng-container>\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\n <i class=\"ax-icon ax-icon-upload upload-icon\"></i>\n <div class=\"ax-uploader-hint\" *ngIf=\"_showText\">Drag your file here or, <span class=\"ax-text-primary-500\">click to\n browse</span></div>\n</ng-container>", styles: ["ax-uploader.ax-look-default{position:relative;width:100%;color:rgba(var(--ax-color-text-default));border-radius:var(--ax-rounded-border-default);border-width:2px;border-style:dashed;border-color:rgba(var(--ax-color-border-default));display:flex;align-items:center;justify-content:center;cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-position:center;background-size:cover}ax-uploader.ax-look-default:hover,ax-uploader.ax-look-default.ax-state-hover{border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-uploader.ax-look-default:before{content:\"\";padding-bottom:100%}ax-uploader.ax-look-default .upload-icon{font-size:3rem}ax-uploader.ax-look-default .ax-uploader-hint{padding:1rem;text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: AXUploaderComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: 'ax-uploader', encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <div #contentRef><ng-content></ng-content></div>\n</ng-container>\n<ng-container *ngIf=\"contentRef.childNodes.length == 0\">\n <i class=\"ax-icon ax-icon-upload upload-icon\"></i>\n <div class=\"ax-uploader-hint\" *ngIf=\"_showText\">Drag your file here or, <span class=\"ax-text-primary-500\">click to\n browse</span></div>\n</ng-container>", styles: ["ax-uploader.ax-look-default{position:relative;width:100%;color:rgba(var(--ax-color-text-default));border-radius:var(--ax-rounded-border-default);border-width:2px;border-style:dashed;border-color:rgba(var(--ax-color-border-default));display:flex;align-items:center;justify-content:center;cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-position:center;background-size:cover}ax-uploader.ax-look-default:hover,ax-uploader.ax-look-default.ax-state-hover{border-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-500))}ax-uploader.ax-look-default:before{content:\"\";padding-bottom:100%}ax-uploader.ax-look-default .upload-icon{font-size:3rem}ax-uploader.ax-look-default .ax-uploader-hint{padding:1rem;text-align:center}\n"] }]
80
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.AXFileService }]; }, propDecorators: { onValueChanged: [{
81
- type: Output
82
- }], _placeholder: [{
83
- type: ViewChild,
84
- args: ['contentRef', { static: true }]
85
- }], multiple: [{
86
- type: Input
87
- }], accept: [{
88
- type: Input
89
- }], _handleClick: [{
90
- type: HostListener,
91
- args: ['click', ['$event']]
92
- }], _handleDrop: [{
93
- type: HostListener,
94
- args: ['drop', ['$event']]
95
- }], __defaultClass: [{
96
- type: HostBinding,
97
- args: ['class.ax-look-default']
98
- }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3VwbG9hZGVyL3NyYy9saWIvdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3VwbG9hZGVyL3NyYy9saWIvdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFRdkIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQVMzRCxZQUFZLFVBQXNCLEVBQUUsR0FBc0IsRUFBVSxZQUEyQjtRQUM3RixLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRDJDLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBUC9GLG1CQUFjLEdBQThDLElBQUksWUFBWSxFQUV6RSxDQUFDO1FBRUosY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBVTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsV0FBTSxHQUFXLEtBQUssQ0FBQztJQVR2QixDQUFDO0lBY0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFhO1FBQzlCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDM0MsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFB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LGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQzdELENBQUM7OEdBOUZVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGdjQ3RCaEMsNlhBT2U7OzJGRGVGLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxhQUFhLGlCQUdSLGlCQUFpQixDQUFDLElBQUk7NkpBSXJDLGNBQWM7c0JBRGIsTUFBTTtnQkFhUCxZQUFZO3NCQURYLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJekMsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFNQSxZQUFZO3NCQURqQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVM0IsV0FBVztzQkFEaEIsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkQ1QixjQUFjO3NCQURqQixXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudE1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcbmltcG9ydCB7IEFYRmlsZVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZmlsZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC11cGxvYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb21wb25lbnRNaXhpbiB7XG4gIEBPdXRwdXQoKVxuICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8RmlsZVtdPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEFYVmFsdWVDaGFuZ2VkRXZlbnQ8RmlsZVtdPlxuICA+KCk7XG5cbiAgZmlyc3RJbml0OiBib29sZWFuID0gdHJ1ZTtcbiAgX3Nob3dUZXh0OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9maWxlU2VydmljZTogQVhGaWxlU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGNkcik7XG4gIH1cblxuICBAVmlld0NoaWxkKCdjb250ZW50UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3BsYWNlaG9sZGVyOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWNjZXB0OiBzdHJpbmcgPSAnKi8qJztcblxuICBwcml2YXRlIF9kcm9wQXJlYTogSFRNTERpdkVsZW1lbnQ7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBhc3luYyBfaGFuZGxlQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgdGhpcy5fZmlsZVNlcnZpY2UuY2hvb3NlKHtcbiAgICAgIGFjY2VwdDogdGhpcy5hY2NlcHQsXG4gICAgICBtdWx0aXBsZTogdGhpcy5tdWx0aXBsZSxcbiAgICB9KTtcbiAgICB0aGlzLl9oYW5kbGVGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgYXN5bmMgX2hhbmRsZURyb3AoZTogYW55KSB7XG4gICAgbGV0IGR0ID0gZS5kYXRhVHJhbnNmZXI7XG4gICAgbGV0IGZpbGVzID0gZHQuZmlsZXM7XG4gICAgdGhpcy5faGFuZGxlRmlsZXMoQXJyYXkuZnJvbShmaWxlcykpO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIF9oYW5kbGVGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgICAgdmFsdWU6IGZpbGVzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuX2dldEhvc3RFbGVtZW50KCksXG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBvbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZHJvcEFyZWEgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpO1xuICAgIFsnZHJhZ2VudGVyJywgJ2RyYWdvdmVyJywgJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICB0aGlzLl9kcm9wQXJlYS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgdGhpcy5wcmV2ZW50RGVmYXVsdHMsIGZhbHNlKTtcbiAgICB9KTtcbiAgICBbJ2RyYWdlbnRlcicsICdkcmFnb3ZlciddLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgdGhpcy5fZHJvcEFyZWEuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX2hhbmRsZUhpZ2hsaWdodC5iaW5kKHRoaXMpLCBmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBbJ2RyYWdsZWF2ZScsICdkcm9wJ10uZm9yRWFjaCgoZXZlbnROYW1lKSA9PiB7XG4gICAgICB0aGlzLl9kcm9wQXJlYS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgdGhpcy5faGFuZGxlVW5oaWdobGlnaHQuYmluZCh0aGlzKSwgZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuY2hlY2tJc0JveEhhc01pbldpZHRoKCk7XG4gIH1cblxuICBjaGVja0lzQm94SGFzTWluV2lkdGgoKSB7XG4gICAgdGhpcy5maXJzdEluaXQgPSBmYWxzZTtcbiAgICBsZXQgYm94V2lkdGg6IG51bWJlciA9IHRoaXMuX2dldEhvc3RFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgY29uc29sZS5sb2coYm94V2lkdGgpO1xuXG4gICAgaWYgKGJveFdpZHRoIDw9IDE3NiAmJiB0aGlzLmZpcnN0SW5pdCA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuX3Nob3dUZXh0ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJldmVudERlZmF1bHRzKGU6IGFueSkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgX2hhbmRsZUhpZ2hsaWdodChlKSB7XG4gICAgdGhpcy5fZHJvcEFyZWEuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtaG92ZXInKTtcbiAgfVxuXG4gIF9oYW5kbGVVbmhpZ2hsaWdodChlKSB7XG4gICAgdGhpcy5fZHJvcEFyZWEuY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtaG92ZXInKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYXgtbG9vay1kZWZhdWx0JylcbiAgZ2V0IF9fZGVmYXVsdENsYXNzKCkge1xuICAgIHJldHVybiAhdGhpcy5fcGxhY2Vob2xkZXI/Lm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXI+XG4gICAgPGRpdiAjY29udGVudFJlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50UmVmLmNoaWxkTm9kZXMubGVuZ3RoID09IDBcIj5cbiAgICA8aSBjbGFzcz1cImF4LWljb24gYXgtaWNvbi11cGxvYWQgdXBsb2FkLWljb25cIj48L2k+XG4gICAgPGRpdiBjbGFzcz1cImF4LXVwbG9hZGVyLWhpbnRcIiAqbmdJZj1cIl9zaG93VGV4dFwiPkRyYWcgeW91ciBmaWxlIGhlcmUgb3IsIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1wcmltYXJ5LTUwMFwiPmNsaWNrIHRvXG4gICAgICAgICAgICBicm93c2U8L3NwYW4+PC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=