@acorex/components 21.0.1-next.7 → 21.0.1-next.70

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 (337) hide show
  1. package/conversation2/README.md +71 -31
  2. package/fab/README.md +3 -0
  3. package/fesm2022/acorex-components-accordion.mjs +18 -16
  4. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  5. package/fesm2022/acorex-components-action-sheet.mjs +284 -118
  6. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  7. package/fesm2022/acorex-components-alert.mjs +9 -9
  8. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  9. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  10. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  11. package/fesm2022/acorex-components-audio-wave.mjs +8 -8
  12. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  13. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  14. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  15. package/fesm2022/acorex-components-avatar.mjs +11 -11
  16. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  17. package/fesm2022/acorex-components-badge.mjs +8 -8
  18. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  19. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  20. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  21. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  22. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  23. package/fesm2022/acorex-components-button-group.mjs +35 -24
  24. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  25. package/fesm2022/acorex-components-button.mjs +17 -17
  26. package/fesm2022/acorex-components-button.mjs.map +1 -1
  27. package/fesm2022/acorex-components-calendar.mjs +17 -17
  28. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  29. package/fesm2022/acorex-components-check-box.mjs +9 -9
  30. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  31. package/fesm2022/acorex-components-chips.mjs +8 -8
  32. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  33. package/fesm2022/acorex-components-circular-progress.mjs +8 -8
  34. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  35. package/fesm2022/acorex-components-code-editor.mjs +13 -13
  36. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  37. package/fesm2022/acorex-components-collapse.mjs +10 -10
  38. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  39. package/fesm2022/acorex-components-color-box.mjs +9 -9
  40. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  41. package/fesm2022/acorex-components-color-palette.mjs +33 -38
  42. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  43. package/fesm2022/acorex-components-command.mjs +31 -14
  44. package/fesm2022/acorex-components-command.mjs.map +1 -1
  45. package/fesm2022/acorex-components-comment.mjs +94 -91
  46. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  47. package/fesm2022/acorex-components-conversation.mjs +50 -50
  48. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  49. package/fesm2022/acorex-components-conversation2.mjs +5147 -3762
  50. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  51. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  52. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  53. package/fesm2022/acorex-components-data-list.mjs +4 -4
  54. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  55. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  56. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-table.mjs +111 -42
  58. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  59. package/fesm2022/acorex-components-datetime-box.mjs +9 -10
  60. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  61. package/fesm2022/acorex-components-datetime-input.mjs +12 -12
  62. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  63. package/fesm2022/acorex-components-datetime-picker.mjs +19 -17
  64. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  65. package/fesm2022/acorex-components-decorators.mjs +32 -32
  66. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  67. package/fesm2022/acorex-components-dialog.mjs +76 -56
  68. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  69. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  70. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  71. package/fesm2022/acorex-components-drawer.mjs +14 -14
  72. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  73. package/fesm2022/acorex-components-dropdown-button.mjs +19 -11
  74. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dropdown.mjs +25 -56
  76. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  77. package/fesm2022/acorex-components-editor.mjs +9 -9
  78. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  79. package/fesm2022/acorex-components-fab.mjs +114 -0
  80. package/fesm2022/acorex-components-fab.mjs.map +1 -0
  81. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  82. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  83. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  84. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  85. package/fesm2022/acorex-components-form.mjs +36 -38
  86. package/fesm2022/acorex-components-form.mjs.map +1 -1
  87. package/fesm2022/acorex-components-grid-layout-builder.mjs +42 -20
  88. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  89. package/fesm2022/acorex-components-image-editor.mjs +42 -42
  90. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  91. package/fesm2022/acorex-components-image.mjs +9 -9
  92. package/fesm2022/acorex-components-image.mjs.map +1 -1
  93. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  94. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  95. package/fesm2022/acorex-components-kanban.mjs +15 -30
  96. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  97. package/fesm2022/acorex-components-kbd.mjs +9 -9
  98. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  99. package/fesm2022/acorex-components-label.mjs +9 -9
  100. package/fesm2022/acorex-components-label.mjs.map +1 -1
  101. package/fesm2022/acorex-components-list.mjs +69 -21
  102. package/fesm2022/acorex-components-list.mjs.map +1 -1
  103. package/fesm2022/acorex-components-loading-dialog.mjs +82 -45
  104. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  105. package/fesm2022/acorex-components-loading.mjs +91 -51
  106. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  107. package/fesm2022/acorex-components-map.mjs +14 -14
  108. package/fesm2022/acorex-components-map.mjs.map +1 -1
  109. package/fesm2022/acorex-components-media-viewer.mjs +294 -92
  110. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  111. package/fesm2022/acorex-components-menu.mjs +77 -36
  112. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  113. package/fesm2022/{acorex-components-modal-acorex-components-modal-BnUdtPke.mjs → acorex-components-modal-acorex-components-modal-Bjw8EpLk.mjs} +48 -24
  114. package/fesm2022/acorex-components-modal-acorex-components-modal-Bjw8EpLk.mjs.map +1 -0
  115. package/fesm2022/{acorex-components-modal-modal-content.component-Cgq-wx_m.mjs → acorex-components-modal-modal-content.component-A2h_OC6e.mjs} +8 -8
  116. package/fesm2022/acorex-components-modal-modal-content.component-A2h_OC6e.mjs.map +1 -0
  117. package/fesm2022/acorex-components-modal.mjs +1 -1
  118. package/fesm2022/acorex-components-navbar.mjs +8 -8
  119. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  120. package/fesm2022/acorex-components-notification.mjs +383 -255
  121. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  122. package/fesm2022/acorex-components-number-box-legacy.mjs +7 -7
  123. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  124. package/fesm2022/acorex-components-number-box.mjs +45 -26
  125. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  126. package/fesm2022/acorex-components-otp.mjs +9 -9
  127. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  128. package/fesm2022/acorex-components-page.mjs +10 -10
  129. package/fesm2022/acorex-components-page.mjs.map +1 -1
  130. package/fesm2022/acorex-components-paint.mjs +49 -28
  131. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  132. package/fesm2022/acorex-components-password-box.mjs +11 -11
  133. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  134. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  135. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  136. package/fesm2022/acorex-components-phone-box.mjs +88 -41
  137. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  138. package/fesm2022/acorex-components-picker.mjs +24 -23
  139. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  140. package/fesm2022/acorex-components-popover.mjs +255 -202
  141. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  142. package/fesm2022/acorex-components-popup.mjs +309 -113
  143. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  144. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  145. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  146. package/fesm2022/acorex-components-qrcode.mjs +9 -9
  147. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  148. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  149. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  150. package/fesm2022/acorex-components-radio.mjs +10 -9
  151. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  152. package/fesm2022/acorex-components-rail-navigation.mjs +14 -14
  153. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  154. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  155. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  156. package/fesm2022/acorex-components-rate-picker.mjs +9 -9
  157. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  159. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  160. package/fesm2022/acorex-components-result.mjs +8 -8
  161. package/fesm2022/acorex-components-result.mjs.map +1 -1
  162. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  163. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rrule.mjs +9 -9
  165. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  166. package/fesm2022/acorex-components-scheduler-picker.mjs +54 -54
  167. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  168. package/fesm2022/acorex-components-scheduler.mjs +159 -83
  169. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  170. package/fesm2022/acorex-components-scss.mjs +4 -4
  171. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  172. package/fesm2022/acorex-components-search-box.mjs +7 -7
  173. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  174. package/fesm2022/acorex-components-select-box.mjs +9 -9
  175. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  176. package/fesm2022/acorex-components-selection-list-2.mjs +9 -9
  177. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  178. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  179. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  180. package/fesm2022/acorex-components-side-menu.mjs +28 -20
  181. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  182. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  183. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  184. package/fesm2022/acorex-components-slider.mjs +7 -7
  185. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  186. package/fesm2022/acorex-components-sliding-item.mjs +16 -16
  187. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  188. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  189. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  190. package/fesm2022/acorex-components-switch.mjs +12 -12
  191. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  192. package/fesm2022/acorex-components-tabs.mjs +15 -15
  193. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  194. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  195. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  196. package/fesm2022/acorex-components-tag.mjs +8 -8
  197. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  198. package/fesm2022/acorex-components-text-area.mjs +9 -9
  199. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  200. package/fesm2022/acorex-components-text-box.mjs +51 -129
  201. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-time-duration.mjs +39 -24
  203. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  204. package/fesm2022/acorex-components-time-line.mjs +12 -12
  205. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  206. package/fesm2022/acorex-components-toast.mjs +241 -133
  207. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  208. package/fesm2022/acorex-components-toolbar.mjs +9 -9
  209. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  210. package/fesm2022/acorex-components-tooltip.mjs +76 -64
  211. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  212. package/fesm2022/acorex-components-tree-view-legacy.mjs +16 -12
  213. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  214. package/fesm2022/acorex-components-tree-view.mjs +32 -11
  215. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  216. package/fesm2022/acorex-components-uploader.mjs +16 -16
  217. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  218. package/fesm2022/acorex-components-video-player.mjs +7 -7
  219. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  220. package/fesm2022/acorex-components-wysiwyg.mjs +39 -39
  221. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  222. package/package.json +150 -155
  223. package/{accordion/index.d.ts → types/acorex-components-accordion.d.ts} +7 -3
  224. package/types/acorex-components-action-sheet.d.ts +256 -0
  225. package/{button-group/index.d.ts → types/acorex-components-button-group.d.ts} +12 -12
  226. package/{button/index.d.ts → types/acorex-components-button.d.ts} +3 -3
  227. package/{calendar/index.d.ts → types/acorex-components-calendar.d.ts} +1 -1
  228. package/{check-box/index.d.ts → types/acorex-components-check-box.d.ts} +1 -1
  229. package/{code-editor/index.d.ts → types/acorex-components-code-editor.d.ts} +1 -1
  230. package/{color-palette/index.d.ts → types/acorex-components-color-palette.d.ts} +1 -2
  231. package/{command/index.d.ts → types/acorex-components-command.d.ts} +35 -13
  232. package/{comment/index.d.ts → types/acorex-components-comment.d.ts} +23 -22
  233. package/{conversation/index.d.ts → types/acorex-components-conversation.d.ts} +1 -1
  234. package/{conversation2/index.d.ts → types/acorex-components-conversation2.d.ts} +3356 -3032
  235. package/{data-pager/index.d.ts → types/acorex-components-data-pager.d.ts} +1 -1
  236. package/{data-table/index.d.ts → types/acorex-components-data-table.d.ts} +23 -4
  237. package/{datetime-input/index.d.ts → types/acorex-components-datetime-input.d.ts} +1 -1
  238. package/{dialog/index.d.ts → types/acorex-components-dialog.d.ts} +19 -15
  239. package/{dropdown-button/index.d.ts → types/acorex-components-dropdown-button.d.ts} +4 -2
  240. package/{dropdown/index.d.ts → types/acorex-components-dropdown.d.ts} +5 -14
  241. package/types/acorex-components-fab.d.ts +50 -0
  242. package/{form/index.d.ts → types/acorex-components-form.d.ts} +3 -2
  243. package/{grid-layout-builder/index.d.ts → types/acorex-components-grid-layout-builder.d.ts} +15 -0
  244. package/{kanban/index.d.ts → types/acorex-components-kanban.d.ts} +2 -1
  245. package/{list/index.d.ts → types/acorex-components-list.d.ts} +24 -2
  246. package/{loading-dialog/index.d.ts → types/acorex-components-loading-dialog.d.ts} +31 -15
  247. package/{loading/index.d.ts → types/acorex-components-loading.d.ts} +3 -1
  248. package/types/acorex-components-media-viewer.d.ts +184 -0
  249. package/{menu/index.d.ts → types/acorex-components-menu.d.ts} +13 -7
  250. package/{modal/index.d.ts → types/acorex-components-modal.d.ts} +7 -0
  251. package/{notification/index.d.ts → types/acorex-components-notification.d.ts} +47 -30
  252. package/{number-box/index.d.ts → types/acorex-components-number-box.d.ts} +3 -0
  253. package/{paint/index.d.ts → types/acorex-components-paint.d.ts} +6 -0
  254. package/{phone-box/index.d.ts → types/acorex-components-phone-box.d.ts} +13 -3
  255. package/{popover/index.d.ts → types/acorex-components-popover.d.ts} +46 -36
  256. package/types/acorex-components-popup.d.ts +193 -0
  257. package/{radio/index.d.ts → types/acorex-components-radio.d.ts} +1 -1
  258. package/{scheduler-picker/index.d.ts → types/acorex-components-scheduler-picker.d.ts} +82 -81
  259. package/{scheduler/index.d.ts → types/acorex-components-scheduler.d.ts} +46 -23
  260. package/{select-box/index.d.ts → types/acorex-components-select-box.d.ts} +7 -7
  261. package/{side-menu/index.d.ts → types/acorex-components-side-menu.d.ts} +1 -1
  262. package/{tabs/index.d.ts → types/acorex-components-tabs.d.ts} +1 -1
  263. package/{tag/index.d.ts → types/acorex-components-tag.d.ts} +3 -3
  264. package/types/acorex-components-text-box.d.ts +79 -0
  265. package/{time-duration/index.d.ts → types/acorex-components-time-duration.d.ts} +6 -4
  266. package/{toast/index.d.ts → types/acorex-components-toast.d.ts} +24 -18
  267. package/{tooltip/index.d.ts → types/acorex-components-tooltip.d.ts} +6 -8
  268. package/{tree-view-legacy/index.d.ts → types/acorex-components-tree-view-legacy.d.ts} +1 -0
  269. package/{tree-view/index.d.ts → types/acorex-components-tree-view.d.ts} +17 -0
  270. package/action-sheet/index.d.ts +0 -174
  271. package/fesm2022/acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map +0 -1
  272. package/fesm2022/acorex-components-modal-modal-content.component-Cgq-wx_m.mjs.map +0 -1
  273. package/media-viewer/index.d.ts +0 -145
  274. package/popup/index.d.ts +0 -120
  275. package/text-box/index.d.ts +0 -95
  276. /package/{alert/index.d.ts → types/acorex-components-alert.d.ts} +0 -0
  277. /package/{aspect-ratio/index.d.ts → types/acorex-components-aspect-ratio.d.ts} +0 -0
  278. /package/{audio-wave/index.d.ts → types/acorex-components-audio-wave.d.ts} +0 -0
  279. /package/{autocomplete/index.d.ts → types/acorex-components-autocomplete.d.ts} +0 -0
  280. /package/{avatar/index.d.ts → types/acorex-components-avatar.d.ts} +0 -0
  281. /package/{badge/index.d.ts → types/acorex-components-badge.d.ts} +0 -0
  282. /package/{bottom-navigation/index.d.ts → types/acorex-components-bottom-navigation.d.ts} +0 -0
  283. /package/{breadcrumbs/index.d.ts → types/acorex-components-breadcrumbs.d.ts} +0 -0
  284. /package/{chips/index.d.ts → types/acorex-components-chips.d.ts} +0 -0
  285. /package/{circular-progress/index.d.ts → types/acorex-components-circular-progress.d.ts} +0 -0
  286. /package/{collapse/index.d.ts → types/acorex-components-collapse.d.ts} +0 -0
  287. /package/{color-box/index.d.ts → types/acorex-components-color-box.d.ts} +0 -0
  288. /package/{cron-job/index.d.ts → types/acorex-components-cron-job.d.ts} +0 -0
  289. /package/{data-list/index.d.ts → types/acorex-components-data-list.d.ts} +0 -0
  290. /package/{datetime-box/index.d.ts → types/acorex-components-datetime-box.d.ts} +0 -0
  291. /package/{datetime-picker/index.d.ts → types/acorex-components-datetime-picker.d.ts} +0 -0
  292. /package/{decorators/index.d.ts → types/acorex-components-decorators.d.ts} +0 -0
  293. /package/{drawer-legacy/index.d.ts → types/acorex-components-drawer-legacy.d.ts} +0 -0
  294. /package/{drawer/index.d.ts → types/acorex-components-drawer.d.ts} +0 -0
  295. /package/{editor/index.d.ts → types/acorex-components-editor.d.ts} +0 -0
  296. /package/{file-explorer/index.d.ts → types/acorex-components-file-explorer.d.ts} +0 -0
  297. /package/{flow-chart/index.d.ts → types/acorex-components-flow-chart.d.ts} +0 -0
  298. /package/{image-editor/index.d.ts → types/acorex-components-image-editor.d.ts} +0 -0
  299. /package/{image/index.d.ts → types/acorex-components-image.d.ts} +0 -0
  300. /package/{json-viewer/index.d.ts → types/acorex-components-json-viewer.d.ts} +0 -0
  301. /package/{kbd/index.d.ts → types/acorex-components-kbd.d.ts} +0 -0
  302. /package/{label/index.d.ts → types/acorex-components-label.d.ts} +0 -0
  303. /package/{map/index.d.ts → types/acorex-components-map.d.ts} +0 -0
  304. /package/{navbar/index.d.ts → types/acorex-components-navbar.d.ts} +0 -0
  305. /package/{number-box-legacy/index.d.ts → types/acorex-components-number-box-legacy.d.ts} +0 -0
  306. /package/{otp/index.d.ts → types/acorex-components-otp.d.ts} +0 -0
  307. /package/{page/index.d.ts → types/acorex-components-page.d.ts} +0 -0
  308. /package/{password-box/index.d.ts → types/acorex-components-password-box.d.ts} +0 -0
  309. /package/{pdf-reader/index.d.ts → types/acorex-components-pdf-reader.d.ts} +0 -0
  310. /package/{picker/index.d.ts → types/acorex-components-picker.d.ts} +0 -0
  311. /package/{progress-bar/index.d.ts → types/acorex-components-progress-bar.d.ts} +0 -0
  312. /package/{qrcode/index.d.ts → types/acorex-components-qrcode.d.ts} +0 -0
  313. /package/{query-builder/index.d.ts → types/acorex-components-query-builder.d.ts} +0 -0
  314. /package/{rail-navigation/index.d.ts → types/acorex-components-rail-navigation.d.ts} +0 -0
  315. /package/{range-slider/index.d.ts → types/acorex-components-range-slider.d.ts} +0 -0
  316. /package/{rate-picker/index.d.ts → types/acorex-components-rate-picker.d.ts} +0 -0
  317. /package/{rest-api-generator/index.d.ts → types/acorex-components-rest-api-generator.d.ts} +0 -0
  318. /package/{result/index.d.ts → types/acorex-components-result.d.ts} +0 -0
  319. /package/{routing-progress/index.d.ts → types/acorex-components-routing-progress.d.ts} +0 -0
  320. /package/{rrule/index.d.ts → types/acorex-components-rrule.d.ts} +0 -0
  321. /package/{scss/index.d.ts → types/acorex-components-scss.d.ts} +0 -0
  322. /package/{search-box/index.d.ts → types/acorex-components-search-box.d.ts} +0 -0
  323. /package/{selection-list-2/index.d.ts → types/acorex-components-selection-list-2.d.ts} +0 -0
  324. /package/{selection-list/index.d.ts → types/acorex-components-selection-list.d.ts} +0 -0
  325. /package/{skeleton/index.d.ts → types/acorex-components-skeleton.d.ts} +0 -0
  326. /package/{slider/index.d.ts → types/acorex-components-slider.d.ts} +0 -0
  327. /package/{sliding-item/index.d.ts → types/acorex-components-sliding-item.d.ts} +0 -0
  328. /package/{step-wizard/index.d.ts → types/acorex-components-step-wizard.d.ts} +0 -0
  329. /package/{switch/index.d.ts → types/acorex-components-switch.d.ts} +0 -0
  330. /package/{tag-box/index.d.ts → types/acorex-components-tag-box.d.ts} +0 -0
  331. /package/{text-area/index.d.ts → types/acorex-components-text-area.d.ts} +0 -0
  332. /package/{time-line/index.d.ts → types/acorex-components-time-line.d.ts} +0 -0
  333. /package/{toolbar/index.d.ts → types/acorex-components-toolbar.d.ts} +0 -0
  334. /package/{uploader/index.d.ts → types/acorex-components-uploader.d.ts} +0 -0
  335. /package/{video-player/index.d.ts → types/acorex-components-video-player.d.ts} +0 -0
  336. /package/{wysiwyg/index.d.ts → types/acorex-components-wysiwyg.d.ts} +0 -0
  337. /package/{index.d.ts → types/acorex-components.d.ts} +0 -0
@@ -4,10 +4,10 @@ import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
4
4
  import { AXLoadingComponent } from '@acorex/components/loading';
5
5
  import { AXProgressBarComponent } from '@acorex/components/progress-bar';
6
6
  import { AXTranslatorPipe } from '@acorex/core/translation';
7
- import { DIALOG_DATA, DialogRef, Dialog } from '@angular/cdk/dialog';
8
7
  import { AsyncPipe } from '@angular/common';
9
8
  import * as i0 from '@angular/core';
10
- import { inject, signal, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule, Injectable } from '@angular/core';
9
+ import { input, signal, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule, inject, ComponentRef, Injectable } from '@angular/core';
10
+ import { AXOverlayService } from '@acorex/cdk/overlay';
11
11
 
12
12
  /**
13
13
  * Represents a loading dialog component with custom styles and encapsulation.
@@ -16,18 +16,30 @@ import { inject, signal, ViewEncapsulation, ChangeDetectionStrategy, Component,
16
16
  class AXLoadingDialogComponent extends MXBaseComponent {
17
17
  constructor() {
18
18
  super(...arguments);
19
- this.data = inject(DIALOG_DATA);
20
- this.dialogRef = inject(DialogRef);
19
+ /** Loading dialog configuration data */
20
+ this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : []));
21
+ /** @internal Callback function to close the dialog */
22
+ this.onClose = input(...(ngDevMode ? [undefined, { debugName: "onClose" }] : []));
21
23
  /** @ignore */
22
- this.progressText = signal(this.data.text, ...(ngDevMode ? [{ debugName: "progressText" }] : []));
24
+ this.progressText = signal('', ...(ngDevMode ? [{ debugName: "progressText" }] : []));
23
25
  /** @ignore */
24
- this.progressStatus = signal(this.data.status, ...(ngDevMode ? [{ debugName: "progressStatus" }] : []));
26
+ this.progressStatus = signal('', ...(ngDevMode ? [{ debugName: "progressStatus" }] : []));
25
27
  /** @ignore */
26
- this.progressColor = signal(this.data.progressColor, ...(ngDevMode ? [{ debugName: "progressColor" }] : []));
28
+ this.progressColor = signal('primary', ...(ngDevMode ? [{ debugName: "progressColor" }] : []));
27
29
  /** @ignore */
28
- this.dialogTitle = signal(this.data.title, ...(ngDevMode ? [{ debugName: "dialogTitle" }] : []));
30
+ this.dialogTitle = signal('', ...(ngDevMode ? [{ debugName: "dialogTitle" }] : []));
29
31
  /** @ignore */
30
- this.progressValue = signal(this.data.progressValue, ...(ngDevMode ? [{ debugName: "progressValue" }] : []));
32
+ this.progressValue = signal(0, ...(ngDevMode ? [{ debugName: "progressValue" }] : []));
33
+ }
34
+ ngOnInit() {
35
+ super.ngOnInit();
36
+ // Initialize signals from input data
37
+ const config = this.data();
38
+ this.progressText.set(config.text ?? '');
39
+ this.progressStatus.set(config.status ?? '');
40
+ this.progressColor.set(config.progressColor ?? 'primary');
41
+ this.dialogTitle.set(config.title ?? '');
42
+ this.progressValue.set(config.progressValue ?? 0);
31
43
  }
32
44
  /**
33
45
  * Closes the loading dialog.
@@ -35,7 +47,10 @@ class AXLoadingDialogComponent extends MXBaseComponent {
35
47
  * @returns void - No return value. The dialog is closed and control returns to the caller.
36
48
  */
37
49
  close() {
38
- this.dialogRef.close();
50
+ const closeCallback = this.onClose();
51
+ if (closeCallback) {
52
+ closeCallback();
53
+ }
39
54
  }
40
55
  /**
41
56
  * Sets the displayed progress text inside the dialog.
@@ -90,22 +105,25 @@ class AXLoadingDialogComponent extends MXBaseComponent {
90
105
  }
91
106
  /** @ignore */
92
107
  _hasAutoFocus(button) {
93
- const autoFocusItem = this.data.buttons.find((item) => item.autofocus === true);
108
+ const buttons = this.data().buttons;
109
+ if (!buttons || buttons.length === 0)
110
+ return false;
111
+ const autoFocusItem = buttons.find((item) => item.autofocus === true);
94
112
  if (autoFocusItem && autoFocusItem.text === button.text) {
95
113
  return true;
96
114
  }
97
115
  if (!autoFocusItem) {
98
- if (this.data.buttons.length > 0) {
99
- this.data.buttons[0].autofocus = true;
100
- return this.data.buttons[0].text === button.text;
116
+ if (buttons.length > 0) {
117
+ buttons[0].autofocus = true;
118
+ return buttons[0].text === button.text;
101
119
  }
102
120
  }
103
121
  return false;
104
122
  }
105
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXLoadingDialogComponent, isStandalone: true, selector: "ax-loading-dialog", providers: [{ provide: AXComponent, useExisting: AXLoadingDialogComponent }], usesInheritance: true, ngImport: i0, template: "<ax-title>{{ dialogTitle() }}</ax-title>\n\n<ax-progress-bar [mode]=\"data.mode\" [progress]=\"this.progressValue()\" [color]=\"progressColor()\"></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ progressText() }}</div>\n <div>{{ progressStatus() }}</div>\n</div>\n<ax-footer>\n @for (button of data.buttons; track $index) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"$index\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{ax-loading-dialog{gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-lg,.5rem);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:93vw;padding:calc(var(--spacing,.25rem)*4);flex-direction:column;display:flex}@media (min-width:40rem){ax-loading-dialog{width:80vw}}@media (min-width:48rem){ax-loading-dialog{width:55vw}}@media (min-width:64rem){ax-loading-dialog{width:30vw}}@media (min-width:80rem){ax-loading-dialog{width:25vw}}ax-loading-dialog ax-title{margin-bottom:calc(var(--spacing,.25rem)*2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-loading-dialog .progress-decorators{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));justify-content:space-between;display:flex}ax-loading-dialog ax-footer{padding-top:calc(var(--spacing,.25rem)*3);justify-content:flex-end}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXHotkeyDirective, selector: "[axHotkey]", inputs: ["axHotkey"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXLoadingDialogComponent, isStandalone: true, selector: "ax-loading-dialog", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, onClose: { classPropertyName: "onClose", publicName: "onClose", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: AXComponent, useExisting: AXLoadingDialogComponent }], usesInheritance: true, ngImport: i0, template: "<ax-title>{{ dialogTitle() }}</ax-title>\n\n<ax-progress-bar [mode]=\"data().mode\" [progress]=\"progressValue()\" [color]=\"progressColor()\"></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ progressText() }}</div>\n <div>{{ progressStatus() }}</div>\n</div>\n<ax-footer>\n @for (button of data().buttons; track $index) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"$index\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{ax-loading-dialog{gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:93vw;padding:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex}@media(min-width:40rem){ax-loading-dialog{width:80vw}}@media(min-width:48rem){ax-loading-dialog{width:55vw}}@media(min-width:64rem){ax-loading-dialog{width:30vw}}@media(min-width:80rem){ax-loading-dialog{width:25vw}}ax-loading-dialog ax-title{margin-bottom:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-loading-dialog .progress-decorators{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));justify-content:space-between;display:flex}ax-loading-dialog ax-footer{padding-top:calc(var(--spacing,.25rem) * 3);justify-content:flex-end}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "directive", type: AXHotkeyDirective, selector: "[axHotkey]", inputs: ["axHotkey"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
107
125
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogComponent, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogComponent, decorators: [{
109
127
  type: Component,
110
128
  args: [{ selector: 'ax-loading-dialog', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
111
129
  AXDecoratorGenericComponent,
@@ -116,15 +134,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
116
134
  AXLoadingComponent,
117
135
  AXTranslatorPipe,
118
136
  AsyncPipe,
119
- ], providers: [{ provide: AXComponent, useExisting: AXLoadingDialogComponent }], template: "<ax-title>{{ dialogTitle() }}</ax-title>\n\n<ax-progress-bar [mode]=\"data.mode\" [progress]=\"this.progressValue()\" [color]=\"progressColor()\"></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ progressText() }}</div>\n <div>{{ progressStatus() }}</div>\n</div>\n<ax-footer>\n @for (button of data.buttons; track $index) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"$index\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{ax-loading-dialog{gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-lg,.5rem);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:93vw;padding:calc(var(--spacing,.25rem)*4);flex-direction:column;display:flex}@media (min-width:40rem){ax-loading-dialog{width:80vw}}@media (min-width:48rem){ax-loading-dialog{width:55vw}}@media (min-width:64rem){ax-loading-dialog{width:30vw}}@media (min-width:80rem){ax-loading-dialog{width:25vw}}ax-loading-dialog ax-title{margin-bottom:calc(var(--spacing,.25rem)*2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-loading-dialog .progress-decorators{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));justify-content:space-between;display:flex}ax-loading-dialog ax-footer{padding-top:calc(var(--spacing,.25rem)*3);justify-content:flex-end}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
120
- }] });
137
+ ], providers: [{ provide: AXComponent, useExisting: AXLoadingDialogComponent }], template: "<ax-title>{{ dialogTitle() }}</ax-title>\n\n<ax-progress-bar [mode]=\"data().mode\" [progress]=\"progressValue()\" [color]=\"progressColor()\"></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ progressText() }}</div>\n <div>{{ progressStatus() }}</div>\n</div>\n<ax-footer>\n @for (button of data().buttons; track $index) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"$index\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n", styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}@layer components{ax-loading-dialog{gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:93vw;padding:calc(var(--spacing,.25rem) * 4);flex-direction:column;display:flex}@media(min-width:40rem){ax-loading-dialog{width:80vw}}@media(min-width:48rem){ax-loading-dialog{width:55vw}}@media(min-width:64rem){ax-loading-dialog{width:30vw}}@media(min-width:80rem){ax-loading-dialog{width:25vw}}ax-loading-dialog ax-title{margin-bottom:calc(var(--spacing,.25rem) * 2);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500)}ax-loading-dialog .progress-decorators{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));justify-content:space-between;display:flex}ax-loading-dialog ax-footer{padding-top:calc(var(--spacing,.25rem) * 3);justify-content:flex-end}}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"] }]
138
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], onClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "onClose", required: false }] }] } });
121
139
 
122
140
  class AXLoadingDialogModule {
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
124
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogModule, imports: [AXLoadingDialogComponent], exports: [AXLoadingDialogComponent] }); }
125
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogModule, imports: [AXLoadingDialogComponent] }); }
141
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
142
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogModule, imports: [AXLoadingDialogComponent], exports: [AXLoadingDialogComponent] }); }
143
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogModule, imports: [AXLoadingDialogComponent] }); }
126
144
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogModule, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogModule, decorators: [{
128
146
  type: NgModule,
129
147
  args: [{
130
148
  imports: [AXLoadingDialogComponent],
@@ -134,40 +152,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
134
152
 
135
153
  class AXLoadingDialogService {
136
154
  constructor() {
137
- this.dialog = inject(Dialog);
155
+ this.overlayService = inject(AXOverlayService);
138
156
  }
139
- // private data$: BehaviorSubject<AXLoadingDialogConfig> = new BehaviorSubject<AXLoadingDialogConfig>(null);
140
157
  /**
141
158
  * Opens a loading dialog with the specified configuration.
142
159
  *
143
160
  * @param options Configuration for the loading dialog, including title, progress mode, and optional initial values.
144
- * @returns AXDialogRef - A reference with helper methods to control the dialog lifecycle and UI (close, setProgressValue, setProgressText, setDialogTitle, setProgressColor, setProgressStatus).
161
+ * @returns AXLoadingDialogRef - A reference with helper methods to control the dialog lifecycle and UI (close, setProgressValue, setProgressText, setDialogTitle, setProgressColor, setProgressStatus).
145
162
  */
146
163
  show(options) {
147
- const dialogRef = this.dialog.open(AXLoadingDialogComponent, {
148
- hasBackdrop: true,
149
- disableClose: true,
150
- restoreFocus: true,
151
- closeOnDestroy: true,
152
- closeOnNavigation: true,
153
- ariaModal: true,
154
- role: 'alertdialog',
155
- panelClass: ['animate-fadeIn'],
156
- data: options,
164
+ let internalRef;
165
+ let componentInstance = null;
166
+ const closeDialog = () => {
167
+ if (internalRef) {
168
+ internalRef.overlayRef.dispose();
169
+ }
170
+ };
171
+ this.overlayService
172
+ .create(AXLoadingDialogComponent, {
173
+ inputs: {
174
+ data: options,
175
+ onClose: closeDialog,
176
+ },
177
+ backdrop: {
178
+ enabled: true,
179
+ background: true,
180
+ closeOnClick: false, // disableClose: true equivalent
181
+ },
182
+ panelClass: ['ax-loading-dialog-panel', 'ax-animate-fadeIn'],
183
+ })
184
+ .then((overlayRef) => {
185
+ internalRef = {
186
+ overlayRef,
187
+ close: closeDialog,
188
+ };
189
+ // Get the component instance for method calls
190
+ if (overlayRef.instance instanceof ComponentRef) {
191
+ componentInstance = overlayRef.instance.instance;
192
+ }
157
193
  });
194
+ // Return the dialog ref with methods that will work once the component is created
158
195
  return {
159
- close: () => dialogRef.componentInstance?.close(),
160
- setProgressValue: (value) => dialogRef.componentInstance?.setProgressValue(value),
161
- setDialogTitle: (text) => dialogRef.componentInstance?.setDialogTitle(text),
162
- setProgressText: (text) => dialogRef.componentInstance?.setProgressText(text),
163
- setProgressStatus: (status) => dialogRef.componentInstance?.setProgressStatus(status),
164
- setProgressColor: (color) => dialogRef.componentInstance?.setProgressColor(color),
196
+ close: () => closeDialog(),
197
+ setProgressValue: (value) => componentInstance?.setProgressValue(value),
198
+ setDialogTitle: (text) => componentInstance?.setDialogTitle(text),
199
+ setProgressText: (text) => componentInstance?.setProgressText(text),
200
+ setProgressStatus: (status) => componentInstance?.setProgressStatus(status),
201
+ setProgressColor: (color) => componentInstance?.setProgressColor(color),
165
202
  };
166
203
  }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
168
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogService, providedIn: 'root' }); }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
205
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogService, providedIn: 'root' }); }
169
206
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDialogService, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDialogService, decorators: [{
171
208
  type: Injectable,
172
209
  args: [{
173
210
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-loading-dialog.mjs","sources":["../../../../packages/components/loading-dialog/src/lib/loading-dialog.component.ts","../../../../packages/components/loading-dialog/src/lib/loading-dialog.component.html","../../../../packages/components/loading-dialog/src/lib/loading-dialog.module.ts","../../../../packages/components/loading-dialog/src/lib/loading-dialog.service.ts","../../../../packages/components/loading-dialog/src/acorex-components-loading-dialog.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXComponent,\n AXComponentCloseEvent,\n AXHotkeyDirective,\n AXStyleColorType,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXProgressBarComponent } from '@acorex/components/progress-bar';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, WritableSignal, inject, signal } from '@angular/core';\nimport { AXLoadingDialogButtonItem, AXLoadingDialogConfig } from './loading-dialog.class';\n\n/**\n * Represents a loading dialog component with custom styles and encapsulation.\n * @category components\n */\n@Component({\n selector: 'ax-loading-dialog',\n templateUrl: './loading-dialog.component.html',\n styleUrls: ['./loading-dialog.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXDecoratorGenericComponent,\n AXProgressBarComponent,\n AXButtonComponent,\n AXHotkeyDirective,\n AXAutoFocusDirective,\n AXLoadingComponent,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n providers: [{ provide: AXComponent, useExisting: AXLoadingDialogComponent }],\n})\nexport class AXLoadingDialogComponent extends MXBaseComponent {\n data = inject<AXLoadingDialogConfig>(DIALOG_DATA);\n private dialogRef = inject<DialogRef<AXComponentCloseEvent>>(DialogRef);\n\n /** @ignore */\n protected progressText: WritableSignal<string> = signal(this.data.text);\n\n /** @ignore */\n protected progressStatus: WritableSignal<string> = signal(this.data.status);\n\n /** @ignore */\n protected progressColor: WritableSignal<AXStyleColorType> = signal(this.data.progressColor);\n\n /** @ignore */\n protected dialogTitle: WritableSignal<string> = signal(this.data.title);\n\n /** @ignore */\n protected progressValue: WritableSignal<number> = signal(this.data.progressValue);\n\n /**\n * Closes the loading dialog.\n *\n * @returns void - No return value. The dialog is closed and control returns to the caller.\n */\n close() {\n this.dialogRef.close();\n }\n\n /**\n * Sets the displayed progress text inside the dialog.\n *\n * @param text The text to display under the progress bar.\n * @returns void\n */\n setProgressText(text: string) {\n this.progressText.set(text);\n }\n\n /**\n * Sets the status text, typically representing the current step out of total steps (e.g., \"5/10\").\n *\n * @param status The status text to display.\n * @returns void\n */\n setProgressStatus(status: string) {\n this.progressStatus.set(status);\n }\n\n /**\n * Sets the color used by the progress indicator.\n *\n * @param color The color token to apply to the progress UI.\n * @returns void\n */\n setProgressColor(color: AXStyleColorType) {\n this.progressColor.set(color);\n }\n\n /**\n * Sets the dialog title text.\n *\n * @param text The title text to display at the top of the dialog.\n * @returns void\n */\n setDialogTitle(text: string) {\n this.dialogTitle.set(text);\n }\n\n /**\n * Sets the numeric progress value.\n *\n * @param value A number in the range 0–100 representing the current progress.\n * @returns void\n */\n setProgressValue(value: number) {\n this.progressValue.set(value);\n }\n\n /** @ignore */\n protected _handleButtonClick(button: AXLoadingDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /** @ignore */\n protected _hasAutoFocus(button: AXLoadingDialogButtonItem) {\n const autoFocusItem = this.data.buttons.find((item) => item.autofocus === true);\n if (autoFocusItem && autoFocusItem.text === button.text) {\n return true;\n }\n if (!autoFocusItem) {\n if (this.data.buttons.length > 0) {\n this.data.buttons[0].autofocus = true;\n return this.data.buttons[0].text === button.text;\n }\n }\n return false;\n }\n}\n","<ax-title>{{ dialogTitle() }}</ax-title>\n\n<ax-progress-bar [mode]=\"data.mode\" [progress]=\"this.progressValue()\" [color]=\"progressColor()\"></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ progressText() }}</div>\n <div>{{ progressStatus() }}</div>\n</div>\n<ax-footer>\n @for (button of data.buttons; track $index) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"$index\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n","import { NgModule } from '@angular/core';\nimport { AXLoadingDialogComponent } from './loading-dialog.component';\n\n@NgModule({\n imports: [AXLoadingDialogComponent],\n exports: [AXLoadingDialogComponent],\n})\nexport class AXLoadingDialogModule {}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogRef, AXLoadingDialogConfig } from './loading-dialog.class';\nimport { AXLoadingDialogComponent } from './loading-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLoadingDialogService {\n private dialog = inject(Dialog);\n\n // private data$: BehaviorSubject<AXLoadingDialogConfig> = new BehaviorSubject<AXLoadingDialogConfig>(null);\n\n /**\n * Opens a loading dialog with the specified configuration.\n *\n * @param options Configuration for the loading dialog, including title, progress mode, and optional initial values.\n * @returns AXDialogRef - A reference with helper methods to control the dialog lifecycle and UI (close, setProgressValue, setProgressText, setDialogTitle, setProgressColor, setProgressStatus).\n */\n show(options: AXLoadingDialogConfig): AXDialogRef {\n const dialogRef = this.dialog.open(AXLoadingDialogComponent, {\n hasBackdrop: true,\n disableClose: true,\n restoreFocus: true,\n closeOnDestroy: true,\n closeOnNavigation: true,\n ariaModal: true,\n role: 'alertdialog',\n panelClass: ['animate-fadeIn'],\n data: options,\n });\n return {\n close: () => dialogRef.componentInstance?.close(),\n setProgressValue: (value: number) => dialogRef.componentInstance?.setProgressValue(value),\n setDialogTitle: (text: string) => dialogRef.componentInstance?.setDialogTitle(text),\n setProgressText: (text: string) => dialogRef.componentInstance?.setProgressText(text),\n setProgressStatus: (status: string) => dialogRef.componentInstance?.setProgressStatus(status),\n setProgressColor: (color: AXStyleColorType) => dialogRef.componentInstance?.setProgressColor(color),\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-loading-dialog.mjs","sources":["../../../../packages/components/loading-dialog/src/lib/loading-dialog.component.ts","../../../../packages/components/loading-dialog/src/lib/loading-dialog.component.html","../../../../packages/components/loading-dialog/src/lib/loading-dialog.module.ts","../../../../packages/components/loading-dialog/src/lib/loading-dialog.service.ts","../../../../packages/components/loading-dialog/src/acorex-components-loading-dialog.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXComponent,\n AXHotkeyDirective,\n AXStyleColorType,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXProgressBarComponent } from '@acorex/components/progress-bar';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation, WritableSignal, input, signal } from '@angular/core';\nimport { AXLoadingDialogButtonItem, AXLoadingDialogConfig } from './loading-dialog.class';\n\n/**\n * Represents a loading dialog component with custom styles and encapsulation.\n * @category components\n */\n@Component({\n selector: 'ax-loading-dialog',\n templateUrl: './loading-dialog.component.html',\n styleUrls: ['./loading-dialog.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXDecoratorGenericComponent,\n AXProgressBarComponent,\n AXButtonComponent,\n AXHotkeyDirective,\n AXAutoFocusDirective,\n AXLoadingComponent,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n providers: [{ provide: AXComponent, useExisting: AXLoadingDialogComponent }],\n})\nexport class AXLoadingDialogComponent extends MXBaseComponent implements OnInit {\n /** Loading dialog configuration data */\n data = input.required<AXLoadingDialogConfig>();\n\n /** @internal Callback function to close the dialog */\n onClose = input<() => void>();\n\n /** @ignore */\n protected progressText: WritableSignal<string> = signal('');\n\n /** @ignore */\n protected progressStatus: WritableSignal<string> = signal('');\n\n /** @ignore */\n protected progressColor: WritableSignal<AXStyleColorType> = signal('primary');\n\n /** @ignore */\n protected dialogTitle: WritableSignal<string> = signal('');\n\n /** @ignore */\n protected progressValue: WritableSignal<number> = signal(0);\n\n override ngOnInit(): void {\n super.ngOnInit();\n // Initialize signals from input data\n const config = this.data();\n this.progressText.set(config.text ?? '');\n this.progressStatus.set(config.status ?? '');\n this.progressColor.set(config.progressColor ?? 'primary');\n this.dialogTitle.set(config.title ?? '');\n this.progressValue.set(config.progressValue ?? 0);\n }\n\n /**\n * Closes the loading dialog.\n *\n * @returns void - No return value. The dialog is closed and control returns to the caller.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n\n /**\n * Sets the displayed progress text inside the dialog.\n *\n * @param text The text to display under the progress bar.\n * @returns void\n */\n setProgressText(text: string) {\n this.progressText.set(text);\n }\n\n /**\n * Sets the status text, typically representing the current step out of total steps (e.g., \"5/10\").\n *\n * @param status The status text to display.\n * @returns void\n */\n setProgressStatus(status: string) {\n this.progressStatus.set(status);\n }\n\n /**\n * Sets the color used by the progress indicator.\n *\n * @param color The color token to apply to the progress UI.\n * @returns void\n */\n setProgressColor(color: AXStyleColorType) {\n this.progressColor.set(color);\n }\n\n /**\n * Sets the dialog title text.\n *\n * @param text The title text to display at the top of the dialog.\n * @returns void\n */\n setDialogTitle(text: string) {\n this.dialogTitle.set(text);\n }\n\n /**\n * Sets the numeric progress value.\n *\n * @param value A number in the range 0–100 representing the current progress.\n * @returns void\n */\n setProgressValue(value: number) {\n this.progressValue.set(value);\n }\n\n /** @ignore */\n protected _handleButtonClick(button: AXLoadingDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /** @ignore */\n protected _hasAutoFocus(button: AXLoadingDialogButtonItem) {\n const buttons = this.data().buttons;\n if (!buttons || buttons.length === 0) return false;\n\n const autoFocusItem = buttons.find((item) => item.autofocus === true);\n if (autoFocusItem && autoFocusItem.text === button.text) {\n return true;\n }\n if (!autoFocusItem) {\n if (buttons.length > 0) {\n buttons[0].autofocus = true;\n return buttons[0].text === button.text;\n }\n }\n return false;\n }\n}\n","<ax-title>{{ dialogTitle() }}</ax-title>\n\n<ax-progress-bar [mode]=\"data().mode\" [progress]=\"progressValue()\" [color]=\"progressColor()\"></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ progressText() }}</div>\n <div>{{ progressStatus() }}</div>\n</div>\n<ax-footer>\n @for (button of data().buttons; track $index) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"$index\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n","import { NgModule } from '@angular/core';\nimport { AXLoadingDialogComponent } from './loading-dialog.component';\n\n@NgModule({\n imports: [AXLoadingDialogComponent],\n exports: [AXLoadingDialogComponent],\n})\nexport class AXLoadingDialogModule {}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { ComponentRef, Injectable, inject } from '@angular/core';\nimport { AXLoadingDialogConfig, AXLoadingDialogInternalRef, AXLoadingDialogRef } from './loading-dialog.class';\nimport { AXLoadingDialogComponent } from './loading-dialog.component';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXLoadingDialogService {\n private overlayService = inject(AXOverlayService);\n\n /**\n * Opens a loading dialog with the specified configuration.\n *\n * @param options Configuration for the loading dialog, including title, progress mode, and optional initial values.\n * @returns AXLoadingDialogRef - A reference with helper methods to control the dialog lifecycle and UI (close, setProgressValue, setProgressText, setDialogTitle, setProgressColor, setProgressStatus).\n */\n show(options: AXLoadingDialogConfig): AXLoadingDialogRef {\n let internalRef: AXLoadingDialogInternalRef;\n let componentInstance: AXLoadingDialogComponent | null = null;\n\n const closeDialog = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n }\n };\n\n this.overlayService\n .create<AXLoadingDialogComponent>(AXLoadingDialogComponent, {\n inputs: {\n data: options,\n onClose: closeDialog,\n },\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: false, // disableClose: true equivalent\n },\n panelClass: ['ax-loading-dialog-panel', 'ax-animate-fadeIn'],\n })\n .then((overlayRef) => {\n internalRef = {\n overlayRef,\n close: closeDialog,\n };\n\n // Get the component instance for method calls\n if (overlayRef.instance instanceof ComponentRef) {\n componentInstance = overlayRef.instance.instance as AXLoadingDialogComponent;\n }\n });\n\n // Return the dialog ref with methods that will work once the component is created\n return {\n close: () => closeDialog(),\n setProgressValue: (value: number) => componentInstance?.setProgressValue(value),\n setDialogTitle: (text: string) => componentInstance?.setDialogTitle(text),\n setProgressText: (text: string) => componentInstance?.setProgressText(text),\n setProgressStatus: (status: string) => componentInstance?.setProgressStatus(status),\n setProgressColor: (color: AXStyleColorType) => componentInstance?.setProgressColor(color),\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';
2
2
  import * as i0 from '@angular/core';
3
- import { HostBinding, Input, ViewEncapsulation, Component, InjectionToken, inject, EventEmitter, Output, ChangeDetectionStrategy, Injectable, ElementRef, Directive, NgModule } from '@angular/core';
3
+ import { HostBinding, Input, ViewEncapsulation, Component, InjectionToken, inject, EventEmitter, Output, ChangeDetectionStrategy, ComponentRef, Injectable, ElementRef, Directive, NgModule } from '@angular/core';
4
4
  import { ComponentPortal, CdkPortalOutlet } from '@angular/cdk/portal';
5
- import { Dialog } from '@angular/cdk/dialog';
5
+ import { AXOverlayService } from '@acorex/cdk/overlay';
6
+ import { DOCUMENT } from '@angular/common';
6
7
  import { asyncScheduler, BehaviorSubject } from 'rxjs';
7
8
  import { observeOn, finalize } from 'rxjs/operators';
8
9
 
@@ -34,8 +35,8 @@ class AXLoadingSpinnerComponent {
34
35
  get __hostClass() {
35
36
  return `ax-${this.color}`;
36
37
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXLoadingSpinnerComponent, isStandalone: true, selector: "ax-loading-spinner", inputs: { text: "text", color: "color", size: "size", stroke: "stroke" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXLoadingSpinnerComponent }], ngImport: i0, template: `
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: AXLoadingSpinnerComponent, isStandalone: true, selector: "ax-loading-spinner", inputs: { text: "text", color: "color", size: "size", stroke: "stroke" }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXLoadingSpinnerComponent }], ngImport: i0, template: `
39
40
  <span
40
41
  class="ax-loader"
41
42
  [style.width.px]="size"
@@ -46,9 +47,9 @@ class AXLoadingSpinnerComponent {
46
47
  @if (text) {
47
48
  <span> {{ text }} </span>
48
49
  }
49
- `, isInline: true, styles: ["@layer components{ax-loading-spinner .ax-loader{box-sizing:border-box;animation:var(--animate-spin,spin 1s linear infinite);border-color:var(--ax-comp-bg);border-radius:3.40282e38px;margin:auto;display:inline-block;border-bottom-color:#0000!important}ax-loading-spinner.ax-white .ax-loader{border-color:var(--color-white,#fff)}ax-loading-spinner.ax-default .ax-loader{border-color:var(--color-black,#000)}ax-loading-spinner.ax-default .ax-loader:where(.dark,.dark *){border-color:var(--color-white,#fff)}ax-loading-spinner.ax-black .ax-loader{border-color:var(--color-black,#000)}}@keyframes spin{to{transform:rotate(360deg)}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
50
+ `, isInline: true, styles: ["@layer components{ax-loading-spinner .ax-loader{box-sizing:border-box;animation:var(--animate-spin,spin 1s linear infinite);border-color:var(--ax-comp-bg);border-radius:3.40282e38px;margin:auto;display:inline-block;border-bottom-color:#0000!important}ax-loading-spinner.ax-white .ax-loader{border-color:var(--color-white,#fff)}ax-loading-spinner.ax-default .ax-loader{border-color:var(--color-black,#000)}ax-loading-spinner.ax-default .ax-loader:where(.dark,.dark *){border-color:var(--color-white,#fff)}ax-loading-spinner.ax-black .ax-loader{border-color:var(--color-black,#000)}}@keyframes spin{to{transform:rotate(360deg)}}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"], encapsulation: i0.ViewEncapsulation.None }); }
50
51
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingSpinnerComponent, decorators: [{
52
53
  type: Component,
53
54
  args: [{ selector: 'ax-loading-spinner', template: `
54
55
  <span
@@ -61,7 +62,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
61
62
  @if (text) {
62
63
  <span> {{ text }} </span>
63
64
  }
64
- `, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXLoadingSpinnerComponent }], styles: ["@layer components{ax-loading-spinner .ax-loader{box-sizing:border-box;animation:var(--animate-spin,spin 1s linear infinite);border-color:var(--ax-comp-bg);border-radius:3.40282e38px;margin:auto;display:inline-block;border-bottom-color:#0000!important}ax-loading-spinner.ax-white .ax-loader{border-color:var(--color-white,#fff)}ax-loading-spinner.ax-default .ax-loader{border-color:var(--color-black,#000)}ax-loading-spinner.ax-default .ax-loader:where(.dark,.dark *){border-color:var(--color-white,#fff)}ax-loading-spinner.ax-black .ax-loader{border-color:var(--color-black,#000)}}@keyframes spin{to{transform:rotate(360deg)}}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
65
+ `, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXLoadingSpinnerComponent }], styles: ["@layer components{ax-loading-spinner .ax-loader{box-sizing:border-box;animation:var(--animate-spin,spin 1s linear infinite);border-color:var(--ax-comp-bg);border-radius:3.40282e38px;margin:auto;display:inline-block;border-bottom-color:#0000!important}ax-loading-spinner.ax-white .ax-loader{border-color:var(--color-white,#fff)}ax-loading-spinner.ax-default .ax-loader{border-color:var(--color-black,#000)}ax-loading-spinner.ax-default .ax-loader:where(.dark,.dark *){border-color:var(--color-white,#fff)}ax-loading-spinner.ax-black .ax-loader{border-color:var(--color-black,#000)}}@keyframes spin{to{transform:rotate(360deg)}}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"] }]
65
66
  }], propDecorators: { text: [{
66
67
  type: Input
67
68
  }], color: [{
@@ -144,12 +145,12 @@ class AXLoadingComponent extends MXBaseComponent {
144
145
  Object.assign(ref.instance, this.context);
145
146
  }
146
147
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AXLoadingComponent, isStandalone: true, selector: "ax-loading", inputs: { visible: "visible", type: "type", context: "context" }, outputs: { visibleChange: "visibleChange" }, providers: [{ provide: AXComponent, useExisting: AXLoadingComponent }], usesInheritance: true, ngImport: i0, template: ` <ng-template [cdkPortalOutlet]="_selectedPortal" (attached)="_handleAttached($event)"></ng-template> `, isInline: true, styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-content:\"\";--tw-outline-style:solid}}}@layer components{ax-loading{padding-inline:calc(var(--spacing,.25rem)*2);position:relative}ax-loading:before,ax-loading:after{--tw-translate-x:-50%;--tw-translate-y:-50%;width:100%;height:100%;translate:var(--tw-translate-x)var(--tw-translate-y);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);animation:var(--animate-pulse,1s ease-in-out both pulse);--tw-content:\"\";content:var(--tw-content);inset-inline-start:50%;background-color:#0000;border-radius:3.40282e38px;animation-iteration-count:infinite;position:absolute;top:50%}ax-loading ax-loading-spinner{gap:calc(var(--spacing,.25rem)*3);display:flex}.ax-loading-overlay-backdrop{background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));opacity:.6!important}.ax-loading-pane{inset-inline-start:calc(var(--spacing,.25rem)*0);inset-inline-end:calc(var(--spacing,.25rem)*0);top:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);width:100%!important;height:100%!important}.ax-loading-pane .cdk-dialog-container{justify-content:center;align-items:center;display:flex!important}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline-style:var(--tw-outline-style);outline-offset:2px;--tw-outline-style:solid;outline:2px solid #0000}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: AXLoadingComponent, isStandalone: true, selector: "ax-loading", inputs: { visible: "visible", type: "type", context: "context" }, outputs: { visibleChange: "visibleChange" }, providers: [{ provide: AXComponent, useExisting: AXLoadingComponent }], usesInheritance: true, ngImport: i0, template: ` <ng-template [cdkPortalOutlet]="_selectedPortal" (attached)="_handleAttached($event)"></ng-template> `, isInline: true, styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-content:\"\";--tw-outline-style:solid}}}@layer components{ax-loading{padding-inline:calc(var(--spacing,.25rem) * 2);position:relative}ax-loading:before,ax-loading:after{--tw-translate-x:-50%;--tw-translate-y:-50%;width:100%;height:100%;translate:var(--tw-translate-x) var(--tw-translate-y);transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);animation:var(--animate-pulse,1s ease-in-out both pulse);--tw-content:\"\";content:var(--tw-content);inset-inline-start:50%;background-color:#0000;border-radius:3.40282e38px;animation-iteration-count:infinite;position:absolute;top:50%}ax-loading ax-loading-spinner{gap:calc(var(--spacing,.25rem) * 3);display:flex}.ax-loading-overlay-backdrop{background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));opacity:.6!important}.ax-loading-pane{inset-inline-start:calc(var(--spacing,.25rem) * 0);inset-inline-end:calc(var(--spacing,.25rem) * 0);top:calc(var(--spacing,.25rem) * 0);bottom:calc(var(--spacing,.25rem) * 0);width:100%!important;height:100%!important}.ax-loading-pane .cdk-dialog-container{justify-content:center;align-items:center;display:flex!important}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline-style:var(--tw-outline-style);outline-offset:2px;--tw-outline-style:solid;outline:2px solid #0000}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
149
150
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingComponent, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingComponent, decorators: [{
151
152
  type: Component,
152
- args: [{ selector: 'ax-loading', template: ` <ng-template [cdkPortalOutlet]="_selectedPortal" (attached)="_handleAttached($event)"></ng-template> `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CdkPortalOutlet], providers: [{ provide: AXComponent, useExisting: AXLoadingComponent }], styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-content:\"\";--tw-outline-style:solid}}}@layer components{ax-loading{padding-inline:calc(var(--spacing,.25rem)*2);position:relative}ax-loading:before,ax-loading:after{--tw-translate-x:-50%;--tw-translate-y:-50%;width:100%;height:100%;translate:var(--tw-translate-x)var(--tw-translate-y);transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);animation:var(--animate-pulse,1s ease-in-out both pulse);--tw-content:\"\";content:var(--tw-content);inset-inline-start:50%;background-color:#0000;border-radius:3.40282e38px;animation-iteration-count:infinite;position:absolute;top:50%}ax-loading ax-loading-spinner{gap:calc(var(--spacing,.25rem)*3);display:flex}.ax-loading-overlay-backdrop{background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));opacity:.6!important}.ax-loading-pane{inset-inline-start:calc(var(--spacing,.25rem)*0);inset-inline-end:calc(var(--spacing,.25rem)*0);top:calc(var(--spacing,.25rem)*0);bottom:calc(var(--spacing,.25rem)*0);width:100%!important;height:100%!important}.ax-loading-pane .cdk-dialog-container{justify-content:center;align-items:center;display:flex!important}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline-style:var(--tw-outline-style);outline-offset:2px;--tw-outline-style:solid;outline:2px solid #0000}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
153
+ args: [{ selector: 'ax-loading', template: ` <ng-template [cdkPortalOutlet]="_selectedPortal" (attached)="_handleAttached($event)"></ng-template> `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CdkPortalOutlet], providers: [{ provide: AXComponent, useExisting: AXLoadingComponent }], styles: ["@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-content:\"\";--tw-outline-style:solid}}}@layer components{ax-loading{padding-inline:calc(var(--spacing,.25rem) * 2);position:relative}ax-loading:before,ax-loading:after{--tw-translate-x:-50%;--tw-translate-y:-50%;width:100%;height:100%;translate:var(--tw-translate-x) var(--tw-translate-y);transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);animation:var(--animate-pulse,1s ease-in-out both pulse);--tw-content:\"\";content:var(--tw-content);inset-inline-start:50%;background-color:#0000;border-radius:3.40282e38px;animation-iteration-count:infinite;position:absolute;top:50%}ax-loading ax-loading-spinner{gap:calc(var(--spacing,.25rem) * 3);display:flex}.ax-loading-overlay-backdrop{background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));opacity:.6!important}.ax-loading-pane{inset-inline-start:calc(var(--spacing,.25rem) * 0);inset-inline-end:calc(var(--spacing,.25rem) * 0);top:calc(var(--spacing,.25rem) * 0);bottom:calc(var(--spacing,.25rem) * 0);width:100%!important;height:100%!important}.ax-loading-pane .cdk-dialog-container{justify-content:center;align-items:center;display:flex!important}.ax-loading-pane .cdk-dialog-container:focus,.ax-loading-pane .cdk-dialog-container:focus-visible,.ax-loading-pane .cdk-dialog-container:focus-within{outline-style:var(--tw-outline-style);outline-offset:2px;--tw-outline-style:solid;outline:2px solid #0000}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}\n/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n"] }]
153
154
  }], propDecorators: { visibleChange: [{
154
155
  type: Output
155
156
  }], visible: [{
@@ -169,7 +170,9 @@ class AXLoadingService {
169
170
  // Both loading state maps are kept in-sync such that
170
171
  // they can be used by both sync and async methods.
171
172
  this.loadingStates$ = new WeakMap();
172
- this.dialog = inject(Dialog);
173
+ this.overlayService = inject(AXOverlayService);
174
+ this.document = inject(DOCUMENT);
175
+ this.activeOverlays = new Map();
173
176
  }
174
177
  /**
175
178
  * Shows a modal loading overlay.
@@ -181,34 +184,70 @@ class AXLoadingService {
181
184
  * @returns number Unique loading reference id to be used with {@link hide}.
182
185
  */
183
186
  show(config) {
184
- const ce = (config?.location ?? document.body);
185
- const dialogRef = this.dialog.open(AXLoadingComponent, {
186
- hasBackdrop: true,
187
- disableClose: true,
188
- restoreFocus: true,
189
- closeOnDestroy: true,
190
- closeOnNavigation: true,
191
- ariaModal: true,
192
- role: 'alertdialog',
193
- panelClass: ['ax-loading-pane', 'animate-fadeIn'],
194
- backdropClass: ['ax-loading-overlay-backdrop', 'animate-fadeIn'],
195
- });
187
+ const ce = (config?.location ?? this.document.body);
196
188
  const id = new Date().getTime();
197
- dialogRef.componentInstance.visible = true;
198
- dialogRef.componentInstance.id = id.toString();
199
- if (ce != document.body) {
200
- const bg = dialogRef.overlayRef.backdropElement;
201
- const ov = dialogRef.overlayRef.overlayElement;
202
- ce.style.position = 'relative';
203
- ov.style.position = 'absolute';
204
- ce.appendChild(bg);
205
- ce.appendChild(ov);
206
- setTimeout(() => {
207
- ov.style.position = 'absolute';
208
- });
209
- }
189
+ const isElementLevel = ce !== this.document.body;
190
+ const inputs = {};
191
+ if (config?.type)
192
+ inputs['type'] = config.type;
193
+ if (config?.context)
194
+ inputs['context'] = config.context;
195
+ const entry = {
196
+ dispose: () => {
197
+ /* noop until overlay is created */
198
+ },
199
+ };
200
+ this.activeOverlays.set(id, entry);
201
+ this.overlayService
202
+ .create(AXLoadingComponent, {
203
+ inputs,
204
+ backdrop: isElementLevel
205
+ ? { enabled: false }
206
+ : {
207
+ enabled: true,
208
+ background: true,
209
+ closeOnClick: false,
210
+ backdropClass: 'ax-loading-overlay-backdrop',
211
+ },
212
+ panelClass: ['ax-loading-pane', 'ax-animate-fadeIn'],
213
+ })
214
+ .then((overlayRef) => {
215
+ if (overlayRef.instance instanceof ComponentRef) {
216
+ const instance = overlayRef.instance.instance;
217
+ instance.visible = true;
218
+ instance.id = id.toString();
219
+ }
220
+ if (isElementLevel) {
221
+ const backdrop = this.document.createElement('div');
222
+ backdrop.classList.add('ax-loading-overlay-backdrop', 'ax-animate-fadeIn');
223
+ backdrop.style.position = 'absolute';
224
+ backdrop.style.top = '0';
225
+ backdrop.style.left = '0';
226
+ backdrop.style.width = '100%';
227
+ backdrop.style.height = '100%';
228
+ ce.style.position = 'relative';
229
+ const ov = overlayRef.overlayElement;
230
+ if (ov) {
231
+ ov.style.position = 'absolute';
232
+ ce.appendChild(backdrop);
233
+ ce.appendChild(ov);
234
+ setTimeout(() => {
235
+ ov.style.position = 'absolute';
236
+ });
237
+ }
238
+ entry.dispose = () => {
239
+ backdrop.remove();
240
+ overlayRef.dispose();
241
+ };
242
+ }
243
+ else {
244
+ entry.dispose = () => overlayRef.dispose();
245
+ }
246
+ if (!this.activeOverlays.has(id)) {
247
+ entry.dispose();
248
+ }
249
+ });
210
250
  return id;
211
- // TODO: diabled focus and click, maybe we need a service and directive for it
212
251
  }
213
252
  /**
214
253
  * Hides a previously shown modal loading overlay.
@@ -216,9 +255,10 @@ class AXLoadingService {
216
255
  * @param id Loading reference id returned by {@link show}.
217
256
  */
218
257
  hide(id) {
219
- const f = this.dialog.openDialogs.find((c) => c.componentInstance.id === id.toString());
220
- if (f) {
221
- f.close();
258
+ const entry = this.activeOverlays.get(id);
259
+ if (entry) {
260
+ entry.dispose();
261
+ this.activeOverlays.delete(id);
222
262
  }
223
263
  }
224
264
  /**
@@ -328,10 +368,10 @@ class AXLoadingService {
328
368
  getLoaderId(loaderId) {
329
369
  return loaderId ?? DEFAULT_LOADER_ID;
330
370
  }
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
332
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingService, providedIn: 'root' }); }
371
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
372
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingService, providedIn: 'root' }); }
333
373
  }
334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingService, decorators: [{
374
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingService, decorators: [{
335
375
  type: Injectable,
336
376
  args: [{
337
377
  providedIn: 'root',
@@ -360,10 +400,10 @@ class AXLoadingDirective {
360
400
  this.loadingService = inject(AXLoadingService);
361
401
  this._hostElement = this.elementRef.nativeElement;
362
402
  }
363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
364
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: AXLoadingDirective, isStandalone: true, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, ngImport: i0 }); }
403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
404
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: AXLoadingDirective, isStandalone: true, selector: "[axIsLoading]", inputs: { isLoading: ["axIsLoading", "isLoading"] }, ngImport: i0 }); }
365
405
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingDirective, decorators: [{
406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingDirective, decorators: [{
367
407
  type: Directive,
368
408
  args: [{ selector: '[axIsLoading]' }]
369
409
  }], ctorParameters: () => [], propDecorators: { isLoading: [{
@@ -372,11 +412,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
372
412
  }] } });
373
413
 
374
414
  class AXLoadingModule {
375
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
376
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingModule, imports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] }); }
377
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingModule }); }
415
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
416
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingModule, imports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent], exports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent] }); }
417
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingModule }); }
378
418
  }
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXLoadingModule, decorators: [{
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXLoadingModule, decorators: [{
380
420
  type: NgModule,
381
421
  args: [{
382
422
  imports: [AXLoadingComponent, AXLoadingDirective, AXLoadingSpinnerComponent],