@acorex/components 7.17.14 → 7.17.16

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 (291) hide show
  1. package/common/lib/services/hotkey.service.d.ts +14 -0
  2. package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
  3. package/esm2022/action-sheet/lib/action-sheet.module.mjs +4 -4
  4. package/esm2022/action-sheet/lib/action-sheet.service.mjs +3 -3
  5. package/esm2022/alert/lib/alert.component.mjs +9 -9
  6. package/esm2022/alert/lib/alert.module.mjs +4 -4
  7. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  8. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  9. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  10. package/esm2022/badge/lib/badge.component.mjs +3 -3
  11. package/esm2022/badge/lib/badge.module.mjs +4 -4
  12. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  13. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  14. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  15. package/esm2022/button/lib/button-item-list.component.mjs +5 -5
  16. package/esm2022/button/lib/button-item.component.mjs +3 -3
  17. package/esm2022/button/lib/button.component.mjs +5 -5
  18. package/esm2022/button/lib/button.module.mjs +4 -4
  19. package/esm2022/button-group/lib/button-group.component.mjs +4 -4
  20. package/esm2022/button-group/lib/button-group.module.mjs +4 -4
  21. package/esm2022/calendar/lib/calendar-range.component.mjs +3 -3
  22. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  23. package/esm2022/calendar/lib/calendar.component.mjs +5 -5
  24. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  25. package/esm2022/check-box/lib/check-box.component.mjs +3 -3
  26. package/esm2022/check-box/lib/check-box.module.mjs +4 -4
  27. package/esm2022/chips/lib/chips.component.mjs +3 -3
  28. package/esm2022/chips/lib/chips.module.mjs +4 -4
  29. package/esm2022/circular-progress/lib/circular-progress.component.mjs +4 -4
  30. package/esm2022/circular-progress/lib/circular-progress.module.mjs +4 -4
  31. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  32. package/esm2022/collapse/lib/collapse.component.mjs +5 -5
  33. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  34. package/esm2022/color-box/lib/color-box.component.mjs +3 -3
  35. package/esm2022/color-box/lib/color-box.module.mjs +4 -4
  36. package/esm2022/color-palette/lib/color-palette-input.component.mjs +4 -4
  37. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
  38. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  39. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  40. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  41. package/esm2022/color-palette/lib/color-palette.component.mjs +3 -3
  42. package/esm2022/color-palette/lib/color-palette.module.mjs +4 -4
  43. package/esm2022/common/lib/classes/components.class.mjs +21 -21
  44. package/esm2022/common/lib/common.module.mjs +4 -4
  45. package/esm2022/common/lib/components/base-component.class.mjs +3 -3
  46. package/esm2022/common/lib/components/input-base-value-component.class.mjs +3 -3
  47. package/esm2022/common/lib/components/look-component.class.mjs +3 -3
  48. package/esm2022/common/lib/components/selection-base.component.class.mjs +6 -6
  49. package/esm2022/common/lib/components/value-component.class.mjs +3 -3
  50. package/esm2022/common/lib/directives/auto-focus.directive.mjs +3 -3
  51. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +3 -3
  52. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  53. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  54. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  55. package/esm2022/common/lib/directives/ripple.directive.mjs +3 -3
  56. package/esm2022/common/lib/services/dom.service.mjs +3 -3
  57. package/esm2022/common/lib/services/hotkey.service.mjs +12 -4
  58. package/esm2022/data-pager/lib/data-pager-base.component.mjs +6 -6
  59. package/esm2022/data-pager/lib/data-pager-info.component.mjs +3 -3
  60. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +4 -4
  61. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +3 -3
  62. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +3 -3
  63. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +6 -6
  64. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +3 -3
  65. package/esm2022/data-pager/lib/data-pager.component.mjs +5 -5
  66. package/esm2022/data-pager/lib/data-pager.module.mjs +4 -4
  67. package/esm2022/data-table/lib/columns/data-table-column.mjs +3 -3
  68. package/esm2022/data-table/lib/columns/data-text-column.component.mjs +3 -3
  69. package/esm2022/data-table/lib/columns/row-command-column.component.mjs +6 -6
  70. package/esm2022/data-table/lib/columns/row-index-column.component.mjs +3 -3
  71. package/esm2022/data-table/lib/columns/row-select-column.component.mjs +3 -3
  72. package/esm2022/data-table/lib/data-table.component.mjs +4 -4
  73. package/esm2022/data-table/lib/data-table.module.mjs +4 -4
  74. package/esm2022/datetime-box/lib/datetime-box.component.mjs +3 -3
  75. package/esm2022/datetime-box/lib/datetime-box.module.mjs +4 -4
  76. package/esm2022/datetime-input/lib/datetime-input.component.mjs +3 -3
  77. package/esm2022/datetime-input/lib/datetime-input.module.mjs +4 -4
  78. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +6 -6
  79. package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +4 -4
  80. package/esm2022/decorators/lib/components/clear-button.component.mjs +7 -7
  81. package/esm2022/decorators/lib/components/close-button.component.mjs +5 -5
  82. package/esm2022/decorators/lib/components/generic-content.component.mjs +3 -3
  83. package/esm2022/decorators/lib/components/icon.component.mjs +3 -3
  84. package/esm2022/decorators/lib/decorators.module.mjs +4 -4
  85. package/esm2022/dialog/lib/dialog.component.mjs +3 -3
  86. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  87. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  88. package/esm2022/drawer/lib/drawer-container.component.mjs +3 -3
  89. package/esm2022/drawer/lib/drawer.component.mjs +3 -3
  90. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  91. package/esm2022/dropdown/lib/dropdown-box.class.mjs +3 -3
  92. package/esm2022/dropdown/lib/dropdown-box.component.mjs +3 -3
  93. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -3
  94. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  95. package/esm2022/form/lib/form-field.component.mjs +3 -3
  96. package/esm2022/form/lib/form.component.mjs +3 -3
  97. package/esm2022/form/lib/form.module.mjs +4 -4
  98. package/esm2022/form/lib/validation-rule.widget.mjs +3 -3
  99. package/esm2022/form/lib/validation-summary.component.mjs +3 -3
  100. package/esm2022/image/lib/image.component.mjs +3 -3
  101. package/esm2022/image/lib/image.module.mjs +4 -4
  102. package/esm2022/label/lib/label.component.mjs +3 -3
  103. package/esm2022/label/lib/label.module.mjs +4 -4
  104. package/esm2022/list/lib/list.component.mjs +5 -5
  105. package/esm2022/list/lib/list.module.mjs +4 -4
  106. package/esm2022/loading/lib/loading-spinner.component.mjs +3 -3
  107. package/esm2022/loading/lib/loading.component.mjs +3 -3
  108. package/esm2022/loading/lib/loading.directive.mjs +3 -3
  109. package/esm2022/loading/lib/loading.module.mjs +4 -4
  110. package/esm2022/loading/lib/loading.service.mjs +3 -3
  111. package/esm2022/menu/lib/menu-item/menu-item.component.mjs +5 -5
  112. package/esm2022/menu/lib/menu.component.mjs +5 -5
  113. package/esm2022/menu/lib/menu.module.mjs +4 -4
  114. package/esm2022/navbar/lib/navbar.component.mjs +3 -3
  115. package/esm2022/navbar/lib/navbar.module.mjs +4 -4
  116. package/esm2022/notification/lib/notification.component.mjs +9 -9
  117. package/esm2022/notification/lib/notification.module.mjs +4 -4
  118. package/esm2022/notification/lib/notification.service.mjs +3 -3
  119. package/esm2022/number-box/lib/number-box.component.mjs +9 -6
  120. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  121. package/esm2022/otp/lib/otp.component.mjs +3 -3
  122. package/esm2022/otp/lib/otp.module.mjs +4 -4
  123. package/esm2022/page/lib/base-page.class.mjs +4 -4
  124. package/esm2022/page/lib/page.component.mjs +3 -3
  125. package/esm2022/page/lib/page.module.mjs +4 -4
  126. package/esm2022/password-box/lib/password-box.component.mjs +7 -4
  127. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  128. package/esm2022/picker/lib/picker-column.directive.mjs +3 -3
  129. package/esm2022/picker/lib/picker.component.mjs +6 -6
  130. package/esm2022/picker/lib/picker.module.mjs +4 -4
  131. package/esm2022/popover/lib/popover.component.mjs +3 -3
  132. package/esm2022/popover/lib/popover.module.mjs +4 -4
  133. package/esm2022/popup/lib/popup.component.mjs +10 -5
  134. package/esm2022/popup/lib/popup.module.mjs +4 -4
  135. package/esm2022/popup/lib/popup.service.mjs +3 -3
  136. package/esm2022/progress-bar/lib/progress-bar.component.mjs +3 -3
  137. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  138. package/esm2022/radio/lib/radio.component.mjs +3 -3
  139. package/esm2022/radio/lib/radio.module.mjs +4 -4
  140. package/esm2022/range-slider/lib/range-slider.component.mjs +3 -3
  141. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  142. package/esm2022/result/lib/result.component.mjs +3 -3
  143. package/esm2022/result/lib/result.module.mjs +4 -4
  144. package/esm2022/routing-progress/lib/routing-progress.component.mjs +3 -3
  145. package/esm2022/routing-progress/lib/routing-progress.module.mjs +4 -4
  146. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +3 -3
  147. package/esm2022/scheduler/lib/scheduler-week-view.component.mjs +3 -3
  148. package/esm2022/scheduler/lib/scheduler.component.mjs +3 -3
  149. package/esm2022/scheduler/lib/scheduler.module.mjs +4 -4
  150. package/esm2022/search-box/lib/search-box.component.mjs +3 -3
  151. package/esm2022/search-box/lib/search-box.module.mjs +4 -4
  152. package/esm2022/select-box/lib/select-box.component.mjs +48 -15
  153. package/esm2022/select-box/lib/select-box.module.mjs +4 -4
  154. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  155. package/esm2022/selection-list/lib/selection-list.module.mjs +4 -4
  156. package/esm2022/side-menu/lib/side-menu-item/side-menu-item.compoent.mjs +3 -3
  157. package/esm2022/side-menu/lib/side-menu.component.mjs +4 -4
  158. package/esm2022/side-menu/lib/side-menu.module.mjs +4 -4
  159. package/esm2022/skeleton/lib/skeleton.component.mjs +3 -3
  160. package/esm2022/skeleton/lib/skeleton.module.mjs +4 -4
  161. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  162. package/esm2022/switch/lib/switch.component.mjs +3 -3
  163. package/esm2022/switch/lib/switch.module.mjs +4 -4
  164. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  165. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  166. package/esm2022/tabs/lib/tabs.component.mjs +4 -4
  167. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  168. package/esm2022/tag/lib/tag.component.mjs +3 -3
  169. package/esm2022/tag/lib/tag.module.mjs +4 -4
  170. package/esm2022/text-area/lib/text-area.component.mjs +12 -6
  171. package/esm2022/text-area/lib/text-area.module.mjs +4 -4
  172. package/esm2022/text-box/lib/mask-options.directive.mjs +3 -3
  173. package/esm2022/text-box/lib/text-box.component.mjs +7 -4
  174. package/esm2022/text-box/lib/text-box.module.mjs +4 -4
  175. package/esm2022/toast/lib/toast.component.mjs +9 -9
  176. package/esm2022/toast/lib/toast.module.mjs +4 -4
  177. package/esm2022/toast/lib/toast.service.mjs +3 -3
  178. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  179. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  180. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  181. package/esm2022/uploader/index.mjs +3 -2
  182. package/esm2022/uploader/lib/uploader-browse-handle.directive.mjs +27 -0
  183. package/esm2022/uploader/lib/uploader-dialog-container.component.mjs +39 -0
  184. package/esm2022/uploader/lib/uploader-drop-zone.component.mjs +6 -5
  185. package/esm2022/uploader/lib/uploader-list.component.mjs +13 -54
  186. package/esm2022/uploader/lib/uploader-zone.directive.mjs +8 -6
  187. package/esm2022/uploader/lib/uploader.models.mjs +68 -0
  188. package/esm2022/uploader/lib/uploader.module.mjs +40 -18
  189. package/esm2022/uploader/lib/uploader.service.mjs +68 -36
  190. package/fesm2022/acorex-components-action-sheet.mjs +10 -10
  191. package/fesm2022/acorex-components-alert.mjs +12 -12
  192. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  193. package/fesm2022/acorex-components-avatar.mjs +10 -10
  194. package/fesm2022/acorex-components-badge.mjs +7 -7
  195. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  196. package/fesm2022/acorex-components-button-group.mjs +8 -8
  197. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  198. package/fesm2022/acorex-components-button.mjs +17 -17
  199. package/fesm2022/acorex-components-button.mjs.map +1 -1
  200. package/fesm2022/acorex-components-calendar.mjs +15 -15
  201. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  202. package/fesm2022/acorex-components-check-box.mjs +7 -7
  203. package/fesm2022/acorex-components-chips.mjs +7 -7
  204. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  205. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  206. package/fesm2022/acorex-components-collapse.mjs +11 -11
  207. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  208. package/fesm2022/acorex-components-color-box.mjs +7 -7
  209. package/fesm2022/acorex-components-color-palette.mjs +26 -26
  210. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  211. package/fesm2022/acorex-components-common.mjs +75 -67
  212. package/fesm2022/acorex-components-common.mjs.map +1 -1
  213. package/fesm2022/acorex-components-data-pager.mjs +36 -36
  214. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  215. package/fesm2022/acorex-components-data-table.mjs +26 -26
  216. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  217. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  218. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  219. package/fesm2022/acorex-components-datetime-picker.mjs +9 -9
  220. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  221. package/fesm2022/acorex-components-decorators.mjs +21 -21
  222. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  223. package/fesm2022/acorex-components-dialog.mjs +10 -10
  224. package/fesm2022/acorex-components-drawer.mjs +10 -10
  225. package/fesm2022/acorex-components-dropdown.mjs +13 -13
  226. package/fesm2022/acorex-components-form.mjs +16 -16
  227. package/fesm2022/acorex-components-image.mjs +7 -7
  228. package/fesm2022/acorex-components-label.mjs +7 -7
  229. package/fesm2022/acorex-components-list.mjs +9 -9
  230. package/fesm2022/acorex-components-list.mjs.map +1 -1
  231. package/fesm2022/acorex-components-loading.mjs +16 -16
  232. package/fesm2022/acorex-components-menu.mjs +13 -13
  233. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  234. package/fesm2022/acorex-components-navbar.mjs +7 -7
  235. package/fesm2022/acorex-components-notification.mjs +15 -15
  236. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  237. package/fesm2022/acorex-components-number-box.mjs +12 -9
  238. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  239. package/fesm2022/acorex-components-otp.mjs +7 -7
  240. package/fesm2022/acorex-components-page.mjs +10 -10
  241. package/fesm2022/acorex-components-page.mjs.map +1 -1
  242. package/fesm2022/acorex-components-password-box.mjs +10 -7
  243. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  244. package/fesm2022/acorex-components-picker.mjs +12 -12
  245. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  246. package/fesm2022/acorex-components-popover.mjs +7 -7
  247. package/fesm2022/acorex-components-popup.mjs +16 -11
  248. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  249. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  250. package/fesm2022/acorex-components-radio.mjs +7 -7
  251. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  252. package/fesm2022/acorex-components-result.mjs +7 -7
  253. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  254. package/fesm2022/acorex-components-scheduler.mjs +13 -13
  255. package/fesm2022/acorex-components-search-box.mjs +7 -7
  256. package/fesm2022/acorex-components-select-box.mjs +50 -17
  257. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  258. package/fesm2022/acorex-components-selection-list.mjs +7 -7
  259. package/fesm2022/acorex-components-side-menu.mjs +11 -11
  260. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  261. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  262. package/fesm2022/acorex-components-switch.mjs +10 -10
  263. package/fesm2022/acorex-components-tabs.mjs +14 -14
  264. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  265. package/fesm2022/acorex-components-tag.mjs +7 -7
  266. package/fesm2022/acorex-components-text-area.mjs +15 -9
  267. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  268. package/fesm2022/acorex-components-text-box.mjs +13 -10
  269. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  270. package/fesm2022/acorex-components-toast.mjs +15 -15
  271. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  272. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  273. package/fesm2022/acorex-components-uploader.mjs +266 -130
  274. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  275. package/number-box/lib/number-box.component.d.ts +1 -1
  276. package/package.json +3 -3
  277. package/page/lib/base-page.class.d.ts +1 -0
  278. package/password-box/lib/password-box.component.d.ts +1 -1
  279. package/select-box/lib/select-box.component.d.ts +10 -3
  280. package/text-area/lib/text-area.component.d.ts +2 -1
  281. package/text-box/lib/text-box.component.d.ts +1 -1
  282. package/uploader/index.d.ts +2 -1
  283. package/uploader/lib/uploader-browse-handle.directive.d.ts +11 -0
  284. package/uploader/lib/uploader-dialog-container.component.d.ts +9 -0
  285. package/uploader/lib/uploader-list.component.d.ts +4 -19
  286. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
  287. package/uploader/lib/uploader.models.d.ts +19 -0
  288. package/uploader/lib/uploader.module.d.ts +15 -9
  289. package/uploader/lib/uploader.service.d.ts +15 -8
  290. package/esm2022/uploader/lib/uploader-overlay.component.mjs +0 -12
  291. package/uploader/lib/uploader-overlay.component.d.ts +0 -6
@@ -1,133 +1,166 @@
1
- import { MXBaseComponent } from '@acorex/components/common';
2
1
  import * as i0 from '@angular/core';
3
- import { Component, ViewEncapsulation, inject, Injectable, Directive, Input, HostBinding, NgModule } from '@angular/core';
4
- import * as i1 from '@acorex/components/decorators';
5
- import { AXDecoratorModule } from '@acorex/components/decorators';
2
+ import { signal, inject, Injectable, Directive, Input, HostBinding, ElementRef, Component, ViewEncapsulation, NgModule } from '@angular/core';
3
+ import { AXFileService, AXFileModule } from '@acorex/core/file';
4
+ import * as i3 from '@acorex/core/translation';
5
+ import { AXTranslator, AXTranslationModule } from '@acorex/core/translation';
6
+ import { BehaviorSubject, switchMap, map, interval } from 'rxjs';
7
+ import { sumBy } from 'lodash-es';
8
+ import { AXPopupService, AXPopupModule } from '@acorex/components/popup';
6
9
  import { AUTO_STYLE, style, state, animate, transition, trigger } from '@angular/animations';
7
- import * as i1$1 from '@angular/cdk/dialog';
8
- import { Dialog, DIALOG_DATA } from '@angular/cdk/dialog';
9
- import { GlobalPositionStrategy } from '@angular/cdk/overlay';
10
- import { HttpClient, HttpClientModule } from '@angular/common/http';
11
- import { BehaviorSubject } from 'rxjs';
10
+ import { AXClosbaleComponent, MXBaseComponent } from '@acorex/components/common';
12
11
  import * as i2 from '@angular/common';
13
12
  import { CommonModule } from '@angular/common';
14
- import * as i3 from '@acorex/components/progress-bar';
15
- import { AXProgressBarModule } from '@acorex/components/progress-bar';
16
- import * as i4 from '@acorex/core/translation';
17
- import { AXTranslator, AXTranslationModule } from '@acorex/core/translation';
18
- import { AXFileService } from '@acorex/core/file';
13
+ import { AXBasePageComponent } from '@acorex/components/page';
14
+ import * as i1 from '@acorex/components/circular-progress';
15
+ import { AXCircularProgressModule } from '@acorex/components/circular-progress';
16
+ import * as i4 from '@acorex/core/format';
17
+ import { AXFormatModule } from '@acorex/core/format';
18
+ import * as i1$1 from '@acorex/components/decorators';
19
+ import { AXDecoratorModule } from '@acorex/components/decorators';
19
20
  import { AXButtonModule } from '@acorex/components/button';
21
+ import { AXProgressBarModule } from '@acorex/components/progress-bar';
22
+ import { AXDateTimeModule } from '@acorex/core/dateTime';
23
+ import { HttpClientModule } from '@angular/common/http';
20
24
 
21
- class AXUploaderDropZoneComponent extends MXBaseComponent {
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderDropZoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }], encapsulation: i0.ViewEncapsulation.None }); }
25
+ class AXUploadRequest {
26
+ get name() {
27
+ return this.file.name;
28
+ }
29
+ get ext() {
30
+ const parts = this.name.split('.');
31
+ if (parts.length > 1) {
32
+ return parts[parts.length - 1];
33
+ }
34
+ else {
35
+ // No extension found
36
+ return '';
37
+ }
38
+ }
39
+ get size() {
40
+ return this.file.size;
41
+ }
42
+ constructor(file) {
43
+ this.file = file;
44
+ this.progress = signal(0);
45
+ this.estimateTime = signal(0);
46
+ this.status = signal('new');
47
+ this.bytesTransferred = 0;
48
+ this.uploadSpeed = 1000000; // Simulated upload speed in bytes per interval (e.g., 50KB per interval)
49
+ this.interval = 1000;
50
+ this.intervalId = -1;
51
+ }
52
+ estimateTimeRemaining(bytesTransferred) {
53
+ const now = Date.now();
54
+ const elapsed = now - this.startTime; // Time in milliseconds
55
+ if (elapsed === 0) {
56
+ return null; // Avoid division by zero
57
+ }
58
+ const speed = bytesTransferred / elapsed; // Bytes per millisecond
59
+ const remainingBytes = this.size - bytesTransferred;
60
+ const estimatedTime = Math.ceil(remainingBytes / speed); // Time in milliseconds
61
+ return estimatedTime; // Return the estimated time in milliseconds
62
+ }
63
+ async upload() {
64
+ this.startTime = Date.now();
65
+ this.progress.set(0);
66
+ this.status.set('inprogress');
67
+ this.intervalId = setInterval(() => {
68
+ this.bytesTransferred += this.uploadSpeed;
69
+ if (this.bytesTransferred > this.size) {
70
+ this.bytesTransferred = this.size;
71
+ }
72
+ const progress = Math.floor(this.bytesTransferred / this.size * 100);
73
+ this.progress.set(progress);
74
+ this.estimateTime.set(this.estimateTimeRemaining(this.bytesTransferred));
75
+ if (this.bytesTransferred === this.size) {
76
+ clearInterval(this.intervalId);
77
+ this.progress.set(100);
78
+ this.status.set('completed');
79
+ }
80
+ }, this.interval);
81
+ }
82
+ cancel() {
83
+ this.status.set('canceled');
84
+ this.bytesTransferred = 0;
85
+ this.estimateTime.set(0);
86
+ this.progress.set(0);
87
+ clearInterval(this.intervalId);
88
+ return Promise.resolve();
89
+ }
24
90
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderDropZoneComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'ax-uploader-drop-zone', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-uploader-drop-zone-container\">\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>\n" }]
28
- }] });
29
91
 
30
92
  class AXUploaderService {
31
93
  constructor() {
32
- this.dialog = inject(Dialog);
33
- this.http = inject(HttpClient);
94
+ this.popupService = inject(AXPopupService);
95
+ this.fileService = inject(AXFileService);
34
96
  this.files$ = new BehaviorSubject([]);
97
+ this.totalEstimateTime = interval(500).pipe(switchMap(() => this.files$.asObservable()), map(f => sumBy(f, c => c.estimateTime())));
35
98
  }
36
- openDialog() {
37
- const positionStrategy = new GlobalPositionStrategy();
38
- if (!this.dialogRef) {
39
- this.dialogRef = this.dialog.open(AXUploaderListComponent, {
40
- hasBackdrop: false,
41
- closeOnNavigation: false,
42
- width: '320px',
43
- maxWidth: 320,
44
- panelClass: [
45
- 'ax-uploader-list-pane',
46
- 'ax-animate-animated',
47
- 'ax-animate-fadeIn',
48
- 'ax-animate-faster',
49
- ],
50
- positionStrategy: positionStrategy.bottom().end('24px'),
51
- data: {
52
- files: this.files$,
53
- },
54
- });
55
- }
99
+ get files() {
100
+ return this.files$;
56
101
  }
57
- closeDialog() {
58
- this.dialogRef.close();
102
+ showDialog() {
103
+ Promise.resolve().then(function () { return uploaderList_component; }).then(c => {
104
+ this.popupService.open(c.AXUploaderListComponent, {
105
+ size: 'md',
106
+ title: "Upload File"
107
+ }).then(async () => {
108
+ await this.cancelAll();
109
+ this.clearAll();
110
+ });
111
+ });
59
112
  }
60
- upload(requestUrl, file, options) {
61
- const formData = new FormData();
62
- formData.append(file.name, file);
63
- return this.http.post(requestUrl, formData, options);
113
+ convertFileToRequest(file) {
114
+ return new AXUploadRequest(file);
64
115
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderService }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderService, decorators: [{
69
- type: Injectable
70
- }] });
71
-
72
- class AXUploaderListComponent extends MXBaseComponent {
73
- constructor(dialogRef) {
74
- super();
75
- this.dialogRef = dialogRef;
76
- this.data = inject(DIALOG_DATA);
77
- this.items = [];
78
- this.leftTime = 5;
79
- this.isCollapsed = false;
80
- this.uploadService = inject(AXUploaderService);
81
- this.uploadService.files$.subscribe({
82
- next: (e) => {
83
- this.items.push(...e);
84
- // this.upload()
85
- },
116
+ startUpload() {
117
+ this.files.value.filter(c => c.status() == 'new').forEach(c => {
118
+ c.upload();
86
119
  });
87
120
  }
88
- upload(file) {
89
- this.uploadService.upload('http://api.acorexui.com/api/v1/files', file).subscribe({
90
- next: (e) => { },
91
- error: (err) => {
92
- console.error(err);
93
- },
94
- });
121
+ async browse() {
122
+ try {
123
+ const files = await this.fileService.choose();
124
+ if (files.length) {
125
+ return this.add(files);
126
+ }
127
+ return Promise.resolve([]);
128
+ }
129
+ catch (error) {
130
+ console.error(error);
131
+ return Promise.resolve([]);
132
+ }
95
133
  }
96
- toggle() {
97
- this.isCollapsed = !this.isCollapsed;
134
+ async add(files) {
135
+ const list = Array.from(files).map(f => this.convertFileToRequest(f));
136
+ const currentValue = this.files$.value;
137
+ currentValue.push(...list);
138
+ this.files$.next(currentValue);
139
+ this.showDialog();
140
+ this.startUpload();
141
+ return Promise.resolve(list);
98
142
  }
99
- close() {
100
- this.dialogRef.close();
143
+ upload() {
101
144
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderListComponent, deps: [{ token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: AXUploaderListComponent, selector: "ax-uploader-list", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-list-header\">\n <div>Uploader list</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button>{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <div>\n <i class=\"ax-icon ax-icon-inbox\"></i>\n <div class=\"ax-uploader-item-text\">\n <strong>{{ item.name }}</strong>\n <small>{{ item.size }}</small>\n </div>\n </div>\n <div>\n <ax-progress-bar style=\"width: 48px\" color=\"primary\" [progress]=\"20\"></ax-progress-bar>\n </div>\n </li>\n </ng-container>\n </ul>\n</div>\n", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-list .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-list .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer;font-size:1.5rem;line-height:2rem;line-height:1}ax-uploader-list .ax-uploader-list-header .ax-icon:hover{opacity:.75}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{padding:.5rem 0;overflow-y:auto;overflow-x:hidden;max-height:75vh}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;justify-content:space-between;padding:.75rem;font-size:.875rem;line-height:1.25rem}ax-uploader-list .ax-uploader-list-items li>div{display:flex}ax-uploader-list .ax-uploader-list-items li>div .ax-icon{-webkit-margin-end:.5rem;margin-inline-end:.5rem;display:flex;font-size:1.5rem;line-height:1}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text{display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text strong{display:block;font-weight:500}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text small{color:rgb(var(--ax-color-text-default),.5)}.ax-uploader-list-pane .cdk-dialog-container:focus,.ax-uploader-list-pane .cdk-dialog-container:focus-visible,.ax-uploader-list-pane .cdk-dialog-container:focus-within{outline:2px solid transparent;outline-offset:2px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "trans" }], animations: [
104
- trigger('collapse', [
105
- state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
106
- state('true', style({ height: '0', visibility: 'hidden' })),
107
- transition('false => true', animate(150 + 'ms ease-in')),
108
- transition('true => false', animate(150 + 'ms ease-out')),
109
- ]),
110
- ], encapsulation: i0.ViewEncapsulation.None }); }
111
- }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderListComponent, decorators: [{
113
- type: Component,
114
- args: [{ selector: 'ax-uploader-list', encapsulation: ViewEncapsulation.None, animations: [
115
- trigger('collapse', [
116
- state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
117
- state('true', style({ height: '0', visibility: 'hidden' })),
118
- transition('false => true', animate(150 + 'ms ease-in')),
119
- transition('true => false', animate(150 + 'ms ease-out')),
120
- ]),
121
- ], template: "<div class=\"ax-uploader-list-header\">\n <div>Uploader list</div>\n <div>\n <i\n class=\"ax-icon\"\n [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"\n ></i>\n\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n\n<div [@collapse]=\"isCollapsed\">\n <div class=\"ax-uploader-progress-status\">\n <div>{{ leftTime }}min left</div>\n <button>{{ 'common.cancel' | trans }}</button>\n </div>\n <ul class=\"ax-uploader-list-items\">\n <ng-container *ngFor=\"let item of items\">\n <li>\n <div>\n <i class=\"ax-icon ax-icon-inbox\"></i>\n <div class=\"ax-uploader-item-text\">\n <strong>{{ item.name }}</strong>\n <small>{{ item.size }}</small>\n </div>\n </div>\n <div>\n <ax-progress-bar style=\"width: 48px\" color=\"primary\" [progress]=\"20\"></ax-progress-bar>\n </div>\n </li>\n </ng-container>\n </ul>\n</div>\n", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-list .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-list .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer;font-size:1.5rem;line-height:2rem;line-height:1}ax-uploader-list .ax-uploader-list-header .ax-icon:hover{opacity:.75}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{padding:.5rem 0;overflow-y:auto;overflow-x:hidden;max-height:75vh}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;justify-content:space-between;padding:.75rem;font-size:.875rem;line-height:1.25rem}ax-uploader-list .ax-uploader-list-items li>div{display:flex}ax-uploader-list .ax-uploader-list-items li>div .ax-icon{-webkit-margin-end:.5rem;margin-inline-end:.5rem;display:flex;font-size:1.5rem;line-height:1}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text{display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text strong{display:block;font-weight:500}ax-uploader-list .ax-uploader-list-items li>div .ax-uploader-item-text small{color:rgb(var(--ax-color-text-default),.5)}.ax-uploader-list-pane .cdk-dialog-container:focus,.ax-uploader-list-pane .cdk-dialog-container:focus-visible,.ax-uploader-list-pane .cdk-dialog-container:focus-within{outline:2px solid transparent;outline-offset:2px}\n"] }]
122
- }], ctorParameters: () => [{ type: i1$1.DialogRef }] });
123
-
124
- class AXUploaderOverlayComponent extends MXBaseComponent {
125
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderOverlayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
126
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: AXUploaderOverlayComponent, selector: "ax-uploader-overlay", usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-items-center ax-justify-center ax-h-[95vh] hover:ax-bg-primary-50 ax-m-2 hover:ax-border-2 ax-rounded-lg hover:ax-border-primary-500\">\n\n</div>", styles: [""], encapsulation: i0.ViewEncapsulation.None }); }
145
+ async cancelAll() {
146
+ await Promise.all(this.files$.value.filter(c => c.status() != 'completed').map(c => c.cancel()));
147
+ }
148
+ clearAll() {
149
+ this.files$.value
150
+ .filter(c => c.status() != 'inprogress')
151
+ .forEach(c => this.remove(c));
152
+ }
153
+ remove(item) {
154
+ let currentValue = this.files$.value;
155
+ currentValue = currentValue.filter(c => c != item);
156
+ this.files$.next(currentValue);
157
+ }
158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
159
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderService, providedIn: 'root' }); }
127
160
  }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderOverlayComponent, decorators: [{
129
- type: Component,
130
- args: [{ selector: 'ax-uploader-overlay', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-items-center ax-justify-center ax-h-[95vh] hover:ax-bg-primary-50 ax-m-2 hover:ax-border-2 ax-rounded-lg hover:ax-border-primary-500\">\n\n</div>" }]
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderService, decorators: [{
162
+ type: Injectable,
163
+ args: [{ providedIn: 'root' }]
131
164
  }] });
132
165
 
133
166
  class AXUploaderZoneDirective {
@@ -161,8 +194,7 @@ class AXUploaderZoneDirective {
161
194
  handleOnDrop(event) {
162
195
  event.preventDefault();
163
196
  event.stopImmediatePropagation();
164
- this.uploadService.files$.next(event.dataTransfer?.files);
165
- this.uploadService.openDialog();
197
+ this.uploadService.add(event.dataTransfer?.files);
166
198
  this.removeZone();
167
199
  }
168
200
  handleDragOver(event) {
@@ -183,13 +215,16 @@ class AXUploaderZoneDirective {
183
215
  removeZone() {
184
216
  this.overlayElement.remove();
185
217
  }
218
+ browser() {
219
+ this.uploadService.browse();
220
+ }
186
221
  get __hostClass() {
187
222
  return `ax-drop-zone`;
188
223
  }
189
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderZoneDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
190
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: { multiple: "multiple" }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0 }); }
224
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderZoneDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
225
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: { multiple: "multiple" }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0 }); }
191
226
  }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderZoneDirective, decorators: [{
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderZoneDirective, decorators: [{
193
228
  type: Directive,
194
229
  args: [{
195
230
  selector: '[axUploaderZone]',
@@ -201,35 +236,131 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
201
236
  args: ['class']
202
237
  }] } });
203
238
 
239
+ class AXUploaderBrowseDirective {
240
+ constructor() {
241
+ this.uploaderZone = inject(AXUploaderZoneDirective);
242
+ this.elemenrRef = inject((ElementRef));
243
+ }
244
+ ngOnInit() {
245
+ this.elemenrRef.nativeElement.addEventListener('click', this.handleClick.bind(this));
246
+ }
247
+ ngOnDestroy() {
248
+ this.elemenrRef.nativeElement.removeEventListener('click', this.handleClick.bind(this));
249
+ }
250
+ handleClick() {
251
+ this.uploaderZone.browser();
252
+ }
253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderBrowseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
254
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: AXUploaderBrowseDirective, selector: "[axUploaderBrowseHandle]", ngImport: i0 }); }
255
+ }
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderBrowseDirective, decorators: [{
257
+ type: Directive,
258
+ args: [{
259
+ selector: '[axUploaderBrowseHandle]',
260
+ }]
261
+ }] });
262
+
263
+ class AXUploaderListComponent extends AXBasePageComponent {
264
+ constructor() {
265
+ super(...arguments);
266
+ this.uploadService = inject(AXUploaderService);
267
+ }
268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
269
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.6", type: AXUploaderListComponent, selector: "ax-uploader-list", usesInheritance: true, ngImport: i0, template: "@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'common.cancel' | trans }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">Canceled</span>\n }\n @case ('failed') {\n <span class=\"ax-state-failed\">Failed</span>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-solid ax-icon-close ax-hide\" (click)=\"item.cancel()\"\n title=\"{{ 'common.cancel' | trans }}\"></i>\n </div>\n }\n }\n </li>\n }\n</ul>", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{max-height:75vh;width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem;gap:.5rem;display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;gap:1rem;width:100%}ax-uploader-list .ax-uploader-list-items li .ax-item-container{display:flex;flex-direction:column;flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}ax-uploader-list .ax-uploader-list-items li .ax-item-container .ax-item-name{font-size:.875rem;line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:12rem}ax-uploader-list .ax-uploader-list-items li .ax-status{position:relative;color:rgba(var(--ax-color-black),.5)}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon{font-size:1.375rem}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon-close{cursor:pointer}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-canceled{color:rgba(var(--ax-color-neutral-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-failed{color:rgba(var(--ax-color-danger-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-completed{color:rgba(var(--ax-color-success-500))}ax-uploader-list .ax-uploader-list-items li:hover .ax-hide{display:flex!important}ax-uploader-list .ax-uploader-list-items li:hover .ax-show{display:none!important}ax-uploader-list .ax-uploader-list-items li .ax-show{display:flex!important}ax-uploader-list .ax-uploader-list-items li .ax-hide{display:none!important}.ax-file{position:relative;display:flex;align-items:center;justify-content:center;width:1.5rem;aspect-ratio:.7;border-radius:.25rem;color:rgba(var(--ax-color-white))}.ax-file>*{position:absolute;bottom:.3rem;font-weight:700;font-size:.65rem;line-height:.65rem}.ax-file:before{content:\"\";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-color:rgba(var(--ax-color-surface)) rgba(var(--ax-color-surface)) rgba(var(--ax-color-black),.3) rgba(var(--ax-color-black),.3)}\n"], dependencies: [{ kind: "component", type: i1.AXCircularProgressComponent, selector: "ax-circular-progress", inputs: ["color", "progress", "stroke", "size"], outputs: ["ValueChange", "strokeChange", "sizeChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "trans" }, { kind: "pipe", type: i4.AXFormatPipe, name: "format" }], encapsulation: i0.ViewEncapsulation.None }); }
270
+ }
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderListComponent, decorators: [{
272
+ type: Component,
273
+ args: [{ selector: 'ax-uploader-list', encapsulation: ViewEncapsulation.None, template: "@if((uploadService.totalEstimateTime | async) > 0)\n{\n<div class=\"ax-uploader-progress-status\">\n <div>{{ uploadService.totalEstimateTime | async | format: 'timeleft' }}</div>\n <button (click)=\"uploadService.cancelAll()\">{{ 'common.cancel' | trans }}</button>\n</div>\n}\n<ul class=\"ax-uploader-list-items\">\n @for (item of uploadService.files | async; track item.name) {\n <li>\n <div class=\"ax-file ax-bg-success-500\">\n <span>{{ item.ext }}</span>\n </div>\n <div class=\"ax-item-container\">\n <div class=\"ax-item-name\" [title]=\"item.name\">{{ item.name }}</div>\n <div><span>{{ item.size | format: 'filesize' }}</span>\n @switch (item.status()) {\n @case ('inprogress') {\n / {{ item.estimateTime() | format: 'timeleft' }}\n }\n }\n </div>\n </div>\n @switch (item.status()) {\n @case ('completed') {\n <div class=\"ax-status\">\n <i class=\"ax-icon ax-icon-solid ax-icon-check-circle ax-state-completed\"></i>\n </div>\n }\n @case ('canceled') {\n <span class=\"ax-state-canceled\">Canceled</span>\n }\n @case ('failed') {\n <span class=\"ax-state-failed\">Failed</span>\n }\n @default {\n <div class=\"ax-status\">\n <ax-circular-progress [size]=\"22\" [stroke]=\"6\" [progress]=\"item.progress()\" class=\"ax-show\">\n </ax-circular-progress>\n <i class=\"ax-icon ax-icon-solid ax-icon-close ax-hide\" (click)=\"item.cancel()\"\n title=\"{{ 'common.cancel' | trans }}\"></i>\n </div>\n }\n }\n </li>\n }\n</ul>", styles: [".ax-dark ax-uploader-list .ax-uploader-progress-status{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-500),.25);color:rgba(var(--ax-color-primary-fore))}ax-uploader-list .ax-uploader-progress-status{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;border-top-width:1px;border-color:rgba(var(--ax-color-primary-200));background-color:rgba(var(--ax-color-primary-200));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgba(var(--ax-color-primary-fore-tint))}ax-uploader-list .ax-uploader-list-items{max-height:75vh;width:100%;overflow-y:auto;overflow-x:hidden;padding:.5rem 1rem;gap:.5rem;display:flex;flex-direction:column}ax-uploader-list .ax-uploader-list-items li{display:flex;align-items:center;font-size:.875rem;line-height:1.25rem;gap:1rem;width:100%}ax-uploader-list .ax-uploader-list-items li .ax-item-container{display:flex;flex-direction:column;flex:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}ax-uploader-list .ax-uploader-list-items li .ax-item-container .ax-item-name{font-size:.875rem;line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:12rem}ax-uploader-list .ax-uploader-list-items li .ax-status{position:relative;color:rgba(var(--ax-color-black),.5)}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon{font-size:1.375rem}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-icon-close{cursor:pointer}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-canceled{color:rgba(var(--ax-color-neutral-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-failed{color:rgba(var(--ax-color-danger-500))}ax-uploader-list .ax-uploader-list-items li .ax-status .ax-state-completed{color:rgba(var(--ax-color-success-500))}ax-uploader-list .ax-uploader-list-items li:hover .ax-hide{display:flex!important}ax-uploader-list .ax-uploader-list-items li:hover .ax-show{display:none!important}ax-uploader-list .ax-uploader-list-items li .ax-show{display:flex!important}ax-uploader-list .ax-uploader-list-items li .ax-hide{display:none!important}.ax-file{position:relative;display:flex;align-items:center;justify-content:center;width:1.5rem;aspect-ratio:.7;border-radius:.25rem;color:rgba(var(--ax-color-white))}.ax-file>*{position:absolute;bottom:.3rem;font-weight:700;font-size:.65rem;line-height:.65rem}.ax-file:before{content:\"\";position:absolute;top:0;right:0;border-width:0 12px 12px 0;border-color:rgba(var(--ax-color-surface)) rgba(var(--ax-color-surface)) rgba(var(--ax-color-black),.3) rgba(var(--ax-color-black),.3)}\n"] }]
274
+ }] });
275
+
276
+ var uploaderList_component = /*#__PURE__*/Object.freeze({
277
+ __proto__: null,
278
+ AXUploaderListComponent: AXUploaderListComponent
279
+ });
280
+
281
+ class AXUploaderDialogContainerComponent {
282
+ constructor() {
283
+ this.parent = inject(AXClosbaleComponent);
284
+ this.isCollapsed = false;
285
+ }
286
+ close() {
287
+ this.parent.close();
288
+ }
289
+ toggle() {
290
+ this.isCollapsed = !this.isCollapsed;
291
+ }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderDialogContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
293
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: AXUploaderDialogContainerComponent, selector: "ax-uploader-dialog-container", ngImport: i0, template: "<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>", styles: ["ax-uploader-dialog-container{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-dialog-container .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon:hover{opacity:.75}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AXUploaderListComponent, selector: "ax-uploader-list" }], animations: [
294
+ trigger('collapse', [
295
+ state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
296
+ state('true', style({ height: '0', visibility: 'hidden' })),
297
+ transition('false => true', animate(150 + 'ms ease-in')),
298
+ transition('true => false', animate(150 + 'ms ease-out')),
299
+ ]),
300
+ ], encapsulation: i0.ViewEncapsulation.None }); }
301
+ }
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderDialogContainerComponent, decorators: [{
303
+ type: Component,
304
+ args: [{ selector: 'ax-uploader-dialog-container', encapsulation: ViewEncapsulation.None, animations: [
305
+ trigger('collapse', [
306
+ state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
307
+ state('true', style({ height: '0', visibility: 'hidden' })),
308
+ transition('false => true', animate(150 + 'ms ease-in')),
309
+ transition('true => false', animate(150 + 'ms ease-out')),
310
+ ]),
311
+ ], template: "<div class=\"ax-uploader-list-header\">\n <div>Uploading</div>\n <div>\n <i class=\"ax-icon\" [ngClass]=\"{ 'ax-icon-chevron-down': !isCollapsed, 'ax-icon-chevron-up': isCollapsed }\"\n (click)=\"toggle()\"></i>\n <i class=\"ax-icon ax-icon-close\" (click)=\"close()\"></i>\n </div>\n</div>\n<div [@collapse]=\"isCollapsed\">\n <ax-uploader-list></ax-uploader-list>\n</div>", styles: ["ax-uploader-dialog-container{display:block;background-color:rgba(var(--ax-color-surface));-webkit-border-top-left-radius:.75rem;-webkit-border-top-right-radius:.75rem;-moz-border-radius-topleft:.75rem;-moz-border-radius-topright:.75rem;border-top-left-radius:.75rem;border-top-right-radius:.75rem;overflow:hidden;box-shadow:-1px -1px 10px rgba(0,0,0,.16);border:1px solid;border-color:rgba(var(--ax-color-border-default));outline-color:rgba(var(--ax-color-primary-500))}ax-uploader-dialog-container .ax-uploader-list-header{display:flex;justify-content:space-between;background-color:rgba(var(--ax-color-on-surface));padding:.75rem 1rem;font-weight:500;color:rgba(var(--ax-color-on-surface-fore))}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon{-webkit-margin-start:.5rem;margin-inline-start:.5rem;cursor:pointer}ax-uploader-dialog-container .ax-uploader-list-header .ax-icon:hover{opacity:.75}\n"] }]
312
+ }] });
313
+
314
+ class AXUploaderDropZoneComponent extends MXBaseComponent {
315
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderDropZoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
316
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: AXUploaderDropZoneComponent, selector: "ax-uploader-drop-zone", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>", styles: [".ax-uploader-drop-zone-container{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;margin:1rem;padding:1rem;gap:1rem;border:2px dashed;border-color:rgba(var(--ax-color-border-default))}.ax-uploader-drop-zone-container:hover{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}.ax-uploader-drop-zone-container ax-icon{font-size:1.875rem;line-height:2.25rem;color:#a3a3a3}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description{display:flex;flex-direction:column;gap:.5rem}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description a{color:rgba(var(--ax-color-primary-500))}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description p{font-size:.875rem;line-height:1.25rem;color:#a3a3a3}\n"], dependencies: [{ kind: "component", type: i1$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "directive", type: AXUploaderZoneDirective, selector: "[axUploaderZone]", inputs: ["multiple"] }], encapsulation: i0.ViewEncapsulation.None }); }
317
+ }
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderDropZoneComponent, decorators: [{
319
+ type: Component,
320
+ args: [{ selector: 'ax-uploader-drop-zone', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-uploader-drop-zone-container\" axUploaderZone>\n <ax-icon class=\"ax-icon ax-icon-upload\"></ax-icon>\n <div class=\"ax-uploader-drop-zone-description\">\n <span>Drag & Drop or <a href=\"#\">Choose file</a> to upload</span>\n <p>SVG, PNG, JPG or GIF (MAX. 800x400px)</p>\n </div>\n</div>", styles: [".ax-uploader-drop-zone-container{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:.5rem;margin:1rem;padding:1rem;gap:1rem;border:2px dashed;border-color:rgba(var(--ax-color-border-default))}.ax-uploader-drop-zone-container:hover{border-color:rgba(var(--ax-color-primary-500));background-color:rgba(var(--ax-color-primary-50))}.ax-uploader-drop-zone-container ax-icon{font-size:1.875rem;line-height:2.25rem;color:#a3a3a3}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description{display:flex;flex-direction:column;gap:.5rem}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description a{color:rgba(var(--ax-color-primary-500))}.ax-uploader-drop-zone-container .ax-uploader-drop-zone-description p{font-size:.875rem;line-height:1.25rem;color:#a3a3a3}\n"] }]
321
+ }] });
322
+
204
323
  class AXUploaderModule {
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
206
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderDropZoneComponent,
324
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
325
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderModule, declarations: [AXUploaderDropZoneComponent,
207
326
  AXUploaderListComponent,
208
- AXUploaderOverlayComponent,
209
- AXUploaderZoneDirective], imports: [CommonModule,
327
+ AXUploaderZoneDirective,
328
+ AXUploaderBrowseDirective,
329
+ AXUploaderDialogContainerComponent], imports: [CommonModule,
210
330
  HttpClientModule,
211
331
  AXDecoratorModule,
212
332
  AXButtonModule,
213
333
  AXTranslationModule,
214
- AXProgressBarModule], exports: [AXUploaderDropZoneComponent,
215
- AXUploaderListComponent,
216
- AXUploaderOverlayComponent,
217
- AXUploaderZoneDirective] }); }
218
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderModule, providers: [AXUploaderService, AXFileService], imports: [CommonModule,
334
+ AXProgressBarModule,
335
+ AXFormatModule,
336
+ AXFileModule,
337
+ AXDateTimeModule,
338
+ AXCircularProgressModule,
339
+ AXPopupModule], exports: [AXUploaderDropZoneComponent,
340
+ AXUploaderZoneDirective,
341
+ AXUploaderBrowseDirective,
342
+ AXUploaderDialogContainerComponent] }); }
343
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderModule, providers: [AXUploaderService], imports: [CommonModule,
219
344
  HttpClientModule,
220
345
  AXDecoratorModule,
221
346
  AXButtonModule,
222
347
  AXTranslationModule,
223
- AXProgressBarModule] }); }
348
+ AXProgressBarModule,
349
+ AXFormatModule,
350
+ AXFileModule,
351
+ AXDateTimeModule,
352
+ AXCircularProgressModule,
353
+ AXPopupModule] }); }
224
354
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXUploaderModule, decorators: [{
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AXUploaderModule, decorators: [{
226
356
  type: NgModule,
227
357
  args: [{
228
358
  declarations: [
229
359
  AXUploaderDropZoneComponent,
230
360
  AXUploaderListComponent,
231
- AXUploaderOverlayComponent,
232
361
  AXUploaderZoneDirective,
362
+ AXUploaderBrowseDirective,
363
+ AXUploaderDialogContainerComponent,
233
364
  ],
234
365
  imports: [
235
366
  CommonModule,
@@ -238,14 +369,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
238
369
  AXButtonModule,
239
370
  AXTranslationModule,
240
371
  AXProgressBarModule,
372
+ AXFormatModule,
373
+ AXFileModule,
374
+ AXDateTimeModule,
375
+ AXCircularProgressModule,
376
+ AXPopupModule,
241
377
  ],
242
378
  exports: [
243
379
  AXUploaderDropZoneComponent,
244
- AXUploaderListComponent,
245
- AXUploaderOverlayComponent,
246
380
  AXUploaderZoneDirective,
381
+ AXUploaderBrowseDirective,
382
+ AXUploaderDialogContainerComponent,
247
383
  ],
248
- providers: [AXUploaderService, AXFileService],
384
+ providers: [AXUploaderService],
249
385
  }]
250
386
  }] });
251
387
 
@@ -253,5 +389,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
253
389
  * Generated bundle index. Do not edit.
254
390
  */
255
391
 
256
- export { AXUploaderDropZoneComponent, AXUploaderListComponent, AXUploaderModule, AXUploaderOverlayComponent, AXUploaderService, AXUploaderZoneDirective };
392
+ export { AXUploaderBrowseDirective, AXUploaderDialogContainerComponent, AXUploaderDropZoneComponent, AXUploaderListComponent, AXUploaderModule, AXUploaderService, AXUploaderZoneDirective };
257
393
  //# sourceMappingURL=acorex-components-uploader.mjs.map