@acorex/components 21.0.0-next.3 → 21.0.0-next.31

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 (273) hide show
  1. package/accordion/index.d.ts +0 -1
  2. package/autocomplete/index.d.ts +23 -9
  3. package/button/index.d.ts +38 -17
  4. package/chips/index.d.ts +3 -8
  5. package/code-editor/README.md +291 -1
  6. package/code-editor/index.d.ts +260 -12
  7. package/command/index.d.ts +1 -0
  8. package/conversation2/README.md +426 -0
  9. package/conversation2/index.d.ts +6139 -0
  10. package/data-table/index.d.ts +79 -7
  11. package/dialog/index.d.ts +1 -1
  12. package/drawer/README.md +2 -2
  13. package/drawer/index.d.ts +33 -57
  14. package/drawer-legacy/README.md +3 -0
  15. package/drawer-legacy/index.d.ts +86 -0
  16. package/editor/README.md +3 -0
  17. package/editor/index.d.ts +79 -0
  18. package/fesm2022/acorex-components-accordion.mjs +19 -24
  19. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  20. package/fesm2022/acorex-components-action-sheet.mjs +12 -12
  21. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  22. package/fesm2022/acorex-components-alert.mjs +14 -14
  23. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  24. package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
  25. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  26. package/fesm2022/acorex-components-audio-wave.mjs +12 -11
  27. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  28. package/fesm2022/acorex-components-autocomplete.mjs +30 -13
  29. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  30. package/fesm2022/acorex-components-avatar.mjs +13 -13
  31. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  32. package/fesm2022/acorex-components-badge.mjs +10 -10
  33. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  34. package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
  35. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  36. package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
  37. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  38. package/fesm2022/acorex-components-button-group.mjs +17 -19
  39. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  40. package/fesm2022/acorex-components-button.mjs +78 -29
  41. package/fesm2022/acorex-components-button.mjs.map +1 -1
  42. package/fesm2022/acorex-components-calendar.mjs +18 -18
  43. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  44. package/fesm2022/acorex-components-check-box.mjs +11 -11
  45. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  46. package/fesm2022/acorex-components-chips.mjs +12 -14
  47. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  48. package/fesm2022/acorex-components-circular-progress.mjs +13 -11
  49. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  50. package/fesm2022/acorex-components-code-editor.mjs +494 -162
  51. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  52. package/fesm2022/acorex-components-collapse.mjs +13 -28
  53. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  54. package/fesm2022/acorex-components-color-box.mjs +11 -11
  55. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  56. package/fesm2022/acorex-components-color-palette.mjs +32 -32
  57. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  58. package/fesm2022/acorex-components-command.mjs +18 -11
  59. package/fesm2022/acorex-components-command.mjs.map +1 -1
  60. package/fesm2022/acorex-components-comment.mjs +34 -34
  61. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  62. package/fesm2022/acorex-components-conversation.mjs +56 -65
  63. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  64. package/fesm2022/acorex-components-conversation2.mjs +17641 -0
  65. package/fesm2022/acorex-components-conversation2.mjs.map +1 -0
  66. package/fesm2022/acorex-components-cron-job.mjs +53 -53
  67. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  68. package/fesm2022/acorex-components-data-list.mjs +5 -5
  69. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  70. package/fesm2022/acorex-components-data-pager.mjs +53 -41
  71. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  72. package/fesm2022/acorex-components-data-table.mjs +462 -105
  73. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  74. package/fesm2022/acorex-components-datetime-box.mjs +10 -10
  75. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  76. package/fesm2022/acorex-components-datetime-input.mjs +8 -8
  77. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  78. package/fesm2022/acorex-components-datetime-picker.mjs +11 -11
  79. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  80. package/fesm2022/acorex-components-decorators.mjs +96 -54
  81. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  82. package/fesm2022/acorex-components-dialog.mjs +26 -16
  83. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  84. package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
  85. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
  86. package/fesm2022/acorex-components-drawer.mjs +66 -150
  87. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  88. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  89. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  90. package/fesm2022/acorex-components-dropdown.mjs +18 -16
  91. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  92. package/fesm2022/acorex-components-editor.mjs +195 -0
  93. package/fesm2022/acorex-components-editor.mjs.map +1 -0
  94. package/fesm2022/acorex-components-file-explorer.mjs +28 -28
  95. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  96. package/fesm2022/acorex-components-flow-chart.mjs +18 -18
  97. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  98. package/fesm2022/acorex-components-form.mjs +52 -35
  99. package/fesm2022/acorex-components-form.mjs.map +1 -1
  100. package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -15
  101. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  102. package/fesm2022/acorex-components-image-editor.mjs +166 -126
  103. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  104. package/fesm2022/acorex-components-image.mjs +10 -10
  105. package/fesm2022/acorex-components-image.mjs.map +1 -1
  106. package/fesm2022/acorex-components-json-viewer.mjs +9 -9
  107. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  108. package/fesm2022/acorex-components-kanban.mjs +9 -7
  109. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  110. package/fesm2022/acorex-components-kbd.mjs +8 -8
  111. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  112. package/fesm2022/acorex-components-label.mjs +9 -9
  113. package/fesm2022/acorex-components-label.mjs.map +1 -1
  114. package/fesm2022/acorex-components-list.mjs +10 -10
  115. package/fesm2022/acorex-components-list.mjs.map +1 -1
  116. package/fesm2022/acorex-components-loading-dialog.mjs +22 -13
  117. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  118. package/fesm2022/acorex-components-loading.mjs +23 -23
  119. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  120. package/fesm2022/acorex-components-map.mjs +16 -15
  121. package/fesm2022/acorex-components-map.mjs.map +1 -1
  122. package/fesm2022/acorex-components-media-viewer.mjs +78 -97
  123. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  124. package/fesm2022/acorex-components-menu.mjs +24 -24
  125. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  126. package/fesm2022/{acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs → acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs} +24 -24
  127. package/fesm2022/acorex-components-modal-acorex-components-modal-BmmAkCKJ.mjs.map +1 -0
  128. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs +214 -0
  129. package/fesm2022/acorex-components-modal-modal-content.component-5GqTzNOs.mjs.map +1 -0
  130. package/fesm2022/acorex-components-modal.mjs +1 -1
  131. package/fesm2022/acorex-components-navbar.mjs +9 -9
  132. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  133. package/fesm2022/acorex-components-notification.mjs +16 -23
  134. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  135. package/fesm2022/acorex-components-number-box-legacy.mjs +412 -0
  136. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
  137. package/fesm2022/acorex-components-number-box.mjs +98 -331
  138. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  139. package/fesm2022/acorex-components-otp.mjs +10 -10
  140. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  141. package/fesm2022/acorex-components-page.mjs +10 -10
  142. package/fesm2022/acorex-components-page.mjs.map +1 -1
  143. package/fesm2022/acorex-components-paint.mjs +35 -40
  144. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  145. package/fesm2022/acorex-components-password-box.mjs +13 -13
  146. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  147. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  148. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  149. package/fesm2022/acorex-components-phone-box.mjs +10 -10
  150. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  151. package/fesm2022/acorex-components-picker.mjs +17 -17
  152. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  153. package/fesm2022/acorex-components-popover.mjs +12 -12
  154. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  155. package/fesm2022/acorex-components-popup.mjs +13 -13
  156. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  157. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  158. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  159. package/fesm2022/acorex-components-qrcode.mjs +8 -8
  160. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  161. package/fesm2022/acorex-components-query-builder.mjs +9 -9
  162. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  163. package/fesm2022/acorex-components-radio.mjs +7 -7
  164. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  165. package/fesm2022/acorex-components-rail-navigation.mjs +40 -38
  166. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  167. package/fesm2022/acorex-components-range-slider.mjs +11 -11
  168. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  169. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  170. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  171. package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
  172. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  173. package/fesm2022/acorex-components-result.mjs +8 -8
  174. package/fesm2022/acorex-components-result.mjs.map +1 -1
  175. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  176. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  177. package/fesm2022/acorex-components-rrule.mjs +111 -16
  178. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  179. package/fesm2022/acorex-components-scheduler-picker.mjs +2339 -0
  180. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -0
  181. package/fesm2022/acorex-components-scheduler.mjs +52 -52
  182. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  183. package/fesm2022/acorex-components-scss.mjs +4 -4
  184. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  185. package/fesm2022/acorex-components-search-box.mjs +23 -12
  186. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  187. package/fesm2022/acorex-components-select-box.mjs +36 -17
  188. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  189. package/fesm2022/acorex-components-selection-list-2.mjs +10 -10
  190. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  191. package/fesm2022/acorex-components-selection-list.mjs +10 -10
  192. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  193. package/fesm2022/acorex-components-side-menu.mjs +31 -38
  194. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  195. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  196. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  197. package/fesm2022/acorex-components-slider.mjs +11 -11
  198. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  199. package/fesm2022/acorex-components-sliding-item.mjs +17 -17
  200. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  201. package/fesm2022/acorex-components-step-wizard.mjs +16 -16
  202. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  203. package/fesm2022/acorex-components-switch.mjs +14 -14
  204. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  205. package/fesm2022/acorex-components-tabs.mjs +20 -16
  206. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  207. package/fesm2022/acorex-components-tag-box.mjs +51 -21
  208. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  209. package/fesm2022/acorex-components-tag.mjs +47 -11
  210. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  211. package/fesm2022/acorex-components-text-area.mjs +9 -9
  212. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  213. package/fesm2022/acorex-components-text-box.mjs +13 -13
  214. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  215. package/fesm2022/acorex-components-time-duration.mjs +54 -14
  216. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  217. package/fesm2022/acorex-components-time-line.mjs +14 -29
  218. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  219. package/fesm2022/acorex-components-toast.mjs +14 -14
  220. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  221. package/fesm2022/acorex-components-toolbar.mjs +9 -9
  222. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  223. package/fesm2022/acorex-components-tooltip.mjs +12 -12
  224. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  225. package/fesm2022/acorex-components-tree-view.mjs +16 -45
  226. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  227. package/fesm2022/acorex-components-tree2.mjs +689 -0
  228. package/fesm2022/acorex-components-tree2.mjs.map +1 -0
  229. package/fesm2022/acorex-components-uploader.mjs +28 -641
  230. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  231. package/fesm2022/acorex-components-video-player.mjs +8 -8
  232. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  233. package/fesm2022/acorex-components-wysiwyg.mjs +213 -462
  234. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  235. package/fesm2022/acorex-components.mjs.map +1 -1
  236. package/form/index.d.ts +3 -3
  237. package/grid-layout-builder/index.d.ts +1 -2
  238. package/image-editor/index.d.ts +8 -5
  239. package/loading/index.d.ts +1 -1
  240. package/media-viewer/index.d.ts +2 -3
  241. package/notification/index.d.ts +0 -2
  242. package/number-box/README.md +2 -2
  243. package/number-box/index.d.ts +31 -171
  244. package/number-box-legacy/README.md +3 -0
  245. package/number-box-legacy/index.d.ts +191 -0
  246. package/package.json +53 -26
  247. package/paint/index.d.ts +1 -6
  248. package/phone-box/index.d.ts +4 -4
  249. package/rate-picker/index.d.ts +5 -15
  250. package/rrule/index.d.ts +96 -1
  251. package/scheduler-picker/README.md +15 -0
  252. package/scheduler-picker/index.d.ts +1360 -0
  253. package/search-box/index.d.ts +6 -1
  254. package/select-box/index.d.ts +15 -10
  255. package/side-menu/index.d.ts +3 -2
  256. package/tag/index.d.ts +8 -2
  257. package/tag-box/index.d.ts +12 -3
  258. package/time-duration/index.d.ts +19 -3
  259. package/tree2/README.md +3 -0
  260. package/tree2/index.d.ts +337 -0
  261. package/uploader/index.d.ts +4 -331
  262. package/wysiwyg/index.d.ts +57 -159
  263. package/drawer-2/README.md +0 -3
  264. package/drawer-2/index.d.ts +0 -62
  265. package/fesm2022/acorex-components-drawer-2.mjs +0 -134
  266. package/fesm2022/acorex-components-drawer-2.mjs.map +0 -1
  267. package/fesm2022/acorex-components-modal-acorex-components-modal-h5Y-qcbh.mjs.map +0 -1
  268. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs +0 -235
  269. package/fesm2022/acorex-components-modal-modal-content.component-B6tyMLdU.mjs.map +0 -1
  270. package/fesm2022/acorex-components-number-box-2.mjs +0 -183
  271. package/fesm2022/acorex-components-number-box-2.mjs.map +0 -1
  272. package/number-box-2/README.md +0 -3
  273. package/number-box-2/index.d.ts +0 -41
@@ -0,0 +1,218 @@
1
+ import { MXBaseComponent, AXComponent, AXClosableComponent } from '@acorex/cdk/common';
2
+ import * as i0 from '@angular/core';
3
+ import { signal, Injectable, inject, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, model, input, NgZone, DOCUMENT, PLATFORM_ID, effect, HostBinding, NgModule } from '@angular/core';
4
+ import { isBrowser } from '@acorex/core/platform';
5
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
6
+
7
+ class AXDrawerLegacyService {
8
+ constructor() {
9
+ this.drawerElements = signal(null, ...(ngDevMode ? [{ debugName: "drawerElements" }] : []));
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyService }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyService, decorators: [{
15
+ type: Injectable
16
+ }] });
17
+
18
+ /**
19
+ * A container component that organizes and positions drawer components.
20
+ * @category component
21
+ */
22
+ class AXDrawerLegacyContainerComponent extends MXBaseComponent {
23
+ constructor() {
24
+ super();
25
+ this.service = inject(AXDrawerLegacyService);
26
+ afterNextRender(() => {
27
+ const host = this.getHostElement();
28
+ const drawerClasses = Array.from(host.querySelectorAll(`ax-drawer`)).map((c) => c['__axContext__']);
29
+ this.service.drawerElements.set(drawerClasses);
30
+ });
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: AXDrawerLegacyContainerComponent, isStandalone: true, selector: "ax-drawer-legacy-container", providers: [AXDrawerLegacyService, { provide: AXComponent, useExisting: AXDrawerLegacyContainerComponent }], usesInheritance: true, ngImport: i0, template: `
34
+ <ng-content select="ax-drawer"> </ng-content>
35
+ <ng-content select="ax-content"></ng-content>
36
+ `, isInline: true, styles: ["ax-drawer-legacy-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-legacy-container.ax-fixed{bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;z-index:50;display:none}ax-drawer-legacy-container.ax-fixed.ax-visible{display:flex}ax-drawer-legacy-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:rgba(var(--ax-comp-drawer-container-bg-color, 0, 0, 0, .2));transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer-legacy-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyContainerComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'ax-drawer-legacy-container', template: `
41
+ <ng-content select="ax-drawer"> </ng-content>
42
+ <ng-content select="ax-content"></ng-content>
43
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [AXDrawerLegacyService, { provide: AXComponent, useExisting: AXDrawerLegacyContainerComponent }], styles: ["ax-drawer-legacy-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-legacy-container.ax-fixed{bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;z-index:50;display:none}ax-drawer-legacy-container.ax-fixed.ax-visible{display:flex}ax-drawer-legacy-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:rgba(var(--ax-comp-drawer-container-bg-color, 0, 0, 0, .2));transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer-legacy-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"] }]
44
+ }], ctorParameters: () => [] });
45
+
46
+ /**
47
+ * A component that represents a drawer with header and content sections.
48
+ *
49
+ * @category Components
50
+ */
51
+ class AXDrawerLegacyComponent extends MXBaseComponent {
52
+ constructor() {
53
+ super(...arguments);
54
+ this.location = model('start', ...(ngDevMode ? [{ debugName: "location" }] : []));
55
+ this.showBackdrop = input(true, ...(ngDevMode ? [{ debugName: "showBackdrop" }] : []));
56
+ this.mode = model('overlay', ...(ngDevMode ? [{ debugName: "mode" }] : []));
57
+ this.closeOthers = input(false, ...(ngDevMode ? [{ debugName: "closeOthers" }] : []));
58
+ this.collapsed = model(true, ...(ngDevMode ? [{ debugName: "collapsed" }] : []));
59
+ this.backdropElement = signal(null, ...(ngDevMode ? [{ debugName: "backdropElement" }] : []));
60
+ this.loaded = signal(false, ...(ngDevMode ? [{ debugName: "loaded" }] : []));
61
+ this.service = inject(AXDrawerLegacyService);
62
+ this._zone = inject(NgZone);
63
+ this.document = inject(DOCUMENT);
64
+ this.platformID = inject(PLATFORM_ID);
65
+ this.#eff = effect(() => {
66
+ if (!this.collapsed()) {
67
+ if (this.showBackdrop() && this.mode() === 'overlay') {
68
+ this._addBackdrop();
69
+ }
70
+ }
71
+ else {
72
+ this._removeBackdrop();
73
+ }
74
+ }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
75
+ }
76
+ /**
77
+ *
78
+ * @ignore
79
+ */
80
+ ngAfterContentInit() {
81
+ this._detectBoundingSize();
82
+ setTimeout(() => {
83
+ this.loaded.set(true);
84
+ }, 5000);
85
+ }
86
+ /**
87
+ * @ignore
88
+ */
89
+ ngDoCheck() {
90
+ this._detectBoundingSize();
91
+ }
92
+ /**
93
+ * @ignore
94
+ */
95
+ _detectBoundingSize() {
96
+ this._zone.runOutsideAngular(() => {
97
+ const host = this.getHostElement();
98
+ if (host.clientWidth) {
99
+ host.style.setProperty('--ax-sys-el-width', `${host.clientWidth}px`);
100
+ }
101
+ });
102
+ }
103
+ /**
104
+ * Toggles the collapsed state of the drawer.
105
+ */
106
+ toggle() {
107
+ if (this.collapsed()) {
108
+ this.open();
109
+ }
110
+ else {
111
+ this.close();
112
+ }
113
+ }
114
+ /**
115
+ * Collapses the drawer.
116
+ * @ignore
117
+ */
118
+ close() {
119
+ this.collapsed.set(true);
120
+ }
121
+ /**
122
+ * Expands the drawer.
123
+ */
124
+ open() {
125
+ if (!this.collapsed())
126
+ return;
127
+ this.collapsed.set(false);
128
+ if (!this.closeOthers()) {
129
+ this.service.drawerElements()?.forEach((element) => {
130
+ if (element.location() === this.location() && element.id !== this.id) {
131
+ element.close();
132
+ }
133
+ });
134
+ }
135
+ }
136
+ #eff;
137
+ /**
138
+ * @ignore
139
+ */
140
+ _addBackdrop() {
141
+ if (isPlatformBrowser(this.platformID)) {
142
+ this._zone.runOutsideAngular(() => {
143
+ const backDropElem = this.document.createElement('div');
144
+ backDropElem.classList.add('ax-backdrop');
145
+ backDropElem.onclick = () => {
146
+ this._zone.run(() => {
147
+ this.close();
148
+ });
149
+ };
150
+ this.getHostElement()?.parentElement?.appendChild(backDropElem);
151
+ this.backdropElement.set(backDropElem);
152
+ });
153
+ }
154
+ }
155
+ /**
156
+ * @ignore
157
+ */
158
+ _removeBackdrop() {
159
+ if (isBrowser()) {
160
+ this._zone.runOutsideAngular(() => {
161
+ if (this.backdropElement()) {
162
+ this.getHostElement()?.parentElement?.removeChild(this.backdropElement());
163
+ this.backdropElement.set(null);
164
+ }
165
+ });
166
+ }
167
+ }
168
+ /**
169
+ * @ignore
170
+ */
171
+ get __hostClass() {
172
+ return `ax-drawer-${this.mode()} ax-drawer-${this.location()} ${this.collapsed() ? 'ax-collapsed' : 'ax-expanded'} ${this.loaded() && 'ax-state-loaded'}`;
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: AXDrawerLegacyComponent, isStandalone: true, selector: "ax-drawer-legacy", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, closeOthers: { classPropertyName: "closeOthers", publicName: "closeOthers", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { location: "locationChange", mode: "modeChange", collapsed: "collapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
176
+ { provide: AXComponent, useExisting: AXDrawerLegacyComponent },
177
+ { provide: AXClosableComponent, useExisting: AXDrawerLegacyComponent },
178
+ ], usesInheritance: true, ngImport: i0, template: `
179
+ <ng-content select="ax-header"></ng-content>
180
+ <ng-content select="ax-content"></ng-content>
181
+ `, isInline: true, styles: ["ax-drawer-legacy{height:100%;display:flex;max-width:95%;flex-direction:column}ax-drawer-legacy>ax-content{flex:1 1 0%;overflow:auto}ax-drawer-legacy.ax-drawer-overlay{position:absolute;transition-property:background-color,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer-legacy.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer-legacy.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-sys-el-width))}ax-drawer-legacy.ax-drawer-push{flex:0 1 auto}ax-drawer-legacy.ax-drawer-push.ax-expanded{z-index:20}ax-drawer-legacy.ax-drawer-push.ax-collapsed{z-index:0}ax-drawer-legacy.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer-legacy.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer-legacy.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer-legacy.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer-legacy.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer-legacy.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-sys-el-width))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyComponent, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'ax-drawer-legacy', template: `
186
+ <ng-content select="ax-header"></ng-content>
187
+ <ng-content select="ax-content"></ng-content>
188
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
189
+ { provide: AXComponent, useExisting: AXDrawerLegacyComponent },
190
+ { provide: AXClosableComponent, useExisting: AXDrawerLegacyComponent },
191
+ ], styles: ["ax-drawer-legacy{height:100%;display:flex;max-width:95%;flex-direction:column}ax-drawer-legacy>ax-content{flex:1 1 0%;overflow:auto}ax-drawer-legacy.ax-drawer-overlay{position:absolute;transition-property:background-color,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer-legacy.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer-legacy.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer-legacy.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-sys-el-width))}ax-drawer-legacy.ax-drawer-push{flex:0 1 auto}ax-drawer-legacy.ax-drawer-push.ax-expanded{z-index:20}ax-drawer-legacy.ax-drawer-push.ax-collapsed{z-index:0}ax-drawer-legacy.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer-legacy.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer-legacy.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer-legacy.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer-legacy.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer-legacy.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-sys-el-width))}\n"] }]
192
+ }], propDecorators: { location: [{ type: i0.Input, args: [{ isSignal: true, alias: "location", required: false }] }, { type: i0.Output, args: ["locationChange"] }], showBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBackdrop", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }, { type: i0.Output, args: ["modeChange"] }], closeOthers: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOthers", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }, { type: i0.Output, args: ["collapsedChange"] }], __hostClass: [{
193
+ type: HostBinding,
194
+ args: ['class']
195
+ }] } });
196
+
197
+ const COMPONENT = [AXDrawerLegacyComponent, AXDrawerLegacyContainerComponent];
198
+ const MODULES = [CommonModule];
199
+ class AXDrawerLegacyModule {
200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
201
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyModule, imports: [CommonModule, AXDrawerLegacyComponent, AXDrawerLegacyContainerComponent], exports: [AXDrawerLegacyComponent, AXDrawerLegacyContainerComponent] }); }
202
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyModule, imports: [MODULES] }); }
203
+ }
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerLegacyModule, decorators: [{
205
+ type: NgModule,
206
+ args: [{
207
+ imports: [...MODULES, ...COMPONENT],
208
+ exports: [...COMPONENT],
209
+ providers: [],
210
+ }]
211
+ }] });
212
+
213
+ /**
214
+ * Generated bundle index. Do not edit.
215
+ */
216
+
217
+ export { AXDrawerLegacyComponent, AXDrawerLegacyContainerComponent, AXDrawerLegacyModule };
218
+ //# sourceMappingURL=acorex-components-drawer-legacy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-components-drawer-legacy.mjs","sources":["../../../../packages/components/drawer-legacy/src/lib/drawer.service.ts","../../../../packages/components/drawer-legacy/src/lib/drawer-container/drawer-container.component.ts","../../../../packages/components/drawer-legacy/src/lib/drawer-item/drawer.component.ts","../../../../packages/components/drawer-legacy/src/lib/drawer.module.ts","../../../../packages/components/drawer-legacy/src/acorex-components-drawer-legacy.ts"],"sourcesContent":["import { Injectable, signal } from '@angular/core';\nimport { AXDrawerLegacyComponent } from './drawer-item/drawer.component';\n\n@Injectable()\nexport class AXDrawerLegacyService {\n drawerElements = signal<AXDrawerLegacyComponent[]>(null);\n}\n","import { AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { AXDrawerLegacyComponent } from '../drawer-item/drawer.component';\nimport { AXDrawerLegacyService } from '../drawer.service';\n\n/**\n * A container component that organizes and positions drawer components.\n * @category component\n */\n@Component({\n selector: 'ax-drawer-legacy-container',\n template: `\n <ng-content select=\"ax-drawer\"> </ng-content>\n <ng-content select=\"ax-content\"></ng-content>\n `,\n styleUrls: ['./drawer-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXDrawerLegacyService, { provide: AXComponent, useExisting: AXDrawerLegacyContainerComponent }],\n})\nexport class AXDrawerLegacyContainerComponent extends MXBaseComponent {\n private service = inject(AXDrawerLegacyService);\n\n constructor() {\n super();\n afterNextRender(() => {\n const host = this.getHostElement();\n const drawerClasses = Array.from(host.querySelectorAll(`ax-drawer`)).map(\n (c) => c['__axContext__'] as AXDrawerLegacyComponent,\n );\n this.service.drawerElements.set(drawerClasses);\n });\n }\n}\n","import { AXClosableComponent, AXComponent, MXBaseComponent } from '@acorex/cdk/common';\nimport { isBrowser } from '@acorex/core/platform';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n DOCUMENT,\n effect,\n HostBinding,\n inject,\n input,\n model,\n NgZone,\n PLATFORM_ID,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXDrawerLegacyService } from '../drawer.service';\n\nexport type AXDrawerMode = 'push' | 'overlay';\nexport type AXDrawerLocation = 'start' | 'end';\n\n/**\n * A component that represents a drawer with header and content sections.\n *\n * @category Components\n */\n@Component({\n selector: 'ax-drawer-legacy',\n template: `\n <ng-content select=\"ax-header\"></ng-content>\n <ng-content select=\"ax-content\"></ng-content>\n `,\n styleUrls: ['./drawer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDrawerLegacyComponent },\n { provide: AXClosableComponent, useExisting: AXDrawerLegacyComponent },\n ],\n})\nexport class AXDrawerLegacyComponent extends MXBaseComponent implements AfterContentInit, DoCheck {\n location = model<AXDrawerLocation>('start');\n\n showBackdrop = input(true);\n\n mode = model<AXDrawerMode>('overlay');\n\n closeOthers = input(false);\n\n collapsed = model(true);\n\n private backdropElement = signal<HTMLElement>(null);\n\n protected loaded = signal(false);\n\n private service = inject(AXDrawerLegacyService);\n\n private _zone = inject(NgZone);\n\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n /**\n *\n * @ignore\n */\n ngAfterContentInit(): void {\n this._detectBoundingSize();\n setTimeout(() => {\n this.loaded.set(true);\n }, 5000);\n }\n\n /**\n * @ignore\n */\n ngDoCheck() {\n this._detectBoundingSize();\n }\n\n /**\n * @ignore\n */\n private _detectBoundingSize() {\n this._zone.runOutsideAngular(() => {\n const host = this.getHostElement();\n if (host.clientWidth) {\n host.style.setProperty('--ax-sys-el-width', `${host.clientWidth}px`);\n }\n });\n }\n\n /**\n * Toggles the collapsed state of the drawer.\n */\n toggle() {\n if (this.collapsed()) {\n this.open();\n } else {\n this.close();\n }\n }\n\n /**\n * Collapses the drawer.\n * @ignore\n */\n close() {\n this.collapsed.set(true);\n }\n\n /**\n * Expands the drawer.\n */\n open() {\n if (!this.collapsed()) return;\n\n this.collapsed.set(false);\n if (!this.closeOthers()) {\n this.service.drawerElements()?.forEach((element) => {\n if (element.location() === this.location() && element.id !== this.id) {\n element.close();\n }\n });\n }\n }\n\n #eff = effect(() => {\n if (!this.collapsed()) {\n if (this.showBackdrop() && this.mode() === 'overlay') {\n this._addBackdrop();\n }\n } else {\n this._removeBackdrop();\n }\n });\n\n /**\n * @ignore\n */\n private _addBackdrop() {\n if (isPlatformBrowser(this.platformID)) {\n this._zone.runOutsideAngular(() => {\n const backDropElem = this.document.createElement('div');\n backDropElem.classList.add('ax-backdrop');\n backDropElem.onclick = () => {\n this._zone.run(() => {\n this.close();\n });\n };\n this.getHostElement()?.parentElement?.appendChild(backDropElem);\n this.backdropElement.set(backDropElem);\n });\n }\n }\n\n /**\n * @ignore\n */\n private _removeBackdrop() {\n if (isBrowser()) {\n this._zone.runOutsideAngular(() => {\n if (this.backdropElement()) {\n this.getHostElement()?.parentElement?.removeChild(this.backdropElement());\n this.backdropElement.set(null);\n }\n });\n }\n }\n\n /**\n * @ignore\n */\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-drawer-${this.mode()} ax-drawer-${this.location()} ${this.collapsed() ? 'ax-collapsed' : 'ax-expanded'} ${this.loaded() && 'ax-state-loaded'}`;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDrawerLegacyContainerComponent } from './drawer-container/drawer-container.component';\nimport { AXDrawerLegacyComponent } from './drawer-item/drawer.component';\n\nconst COMPONENT = [AXDrawerLegacyComponent, AXDrawerLegacyContainerComponent];\nconst MODULES = [CommonModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDrawerLegacyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,47 +1,31 @@
1
1
  import { MXBaseComponent, AXComponent, AXClosableComponent } from '@acorex/cdk/common';
2
+ import * as i1 from '@acorex/cdk/drawer';
3
+ import { AXDrawerContainerDirective, AXDrawerItemDirective } from '@acorex/cdk/drawer';
2
4
  import * as i0 from '@angular/core';
3
- import { signal, Injectable, inject, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, model, input, NgZone, DOCUMENT, PLATFORM_ID, effect, HostBinding, NgModule } from '@angular/core';
4
- import { isBrowser } from '@acorex/core/platform';
5
- import { isPlatformBrowser, CommonModule } from '@angular/common';
6
-
7
- class AXDrawerService {
8
- constructor() {
9
- this.drawerElements = signal(null, ...(ngDevMode ? [{ debugName: "drawerElements" }] : []));
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerService }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerService, decorators: [{
15
- type: Injectable
16
- }] });
5
+ import { afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, input, output, inject, effect, NgModule } from '@angular/core';
17
6
 
18
7
  /**
19
8
  * A container component that organizes and positions drawer components.
20
9
  * @category component
21
10
  */
22
11
  class AXDrawerContainerComponent extends MXBaseComponent {
23
- constructor() {
24
- super();
25
- this.service = inject(AXDrawerService);
26
- afterNextRender(() => {
27
- const host = this.getHostElement();
28
- const drawerClasses = Array.from(host.querySelectorAll(`ax-drawer`)).map((c) => c['__axContext__']);
29
- this.service.drawerElements.set(drawerClasses);
30
- });
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: AXDrawerContainerComponent, isStandalone: true, selector: "ax-drawer-container", providers: [AXDrawerService, { provide: AXComponent, useExisting: AXDrawerContainerComponent }], usesInheritance: true, ngImport: i0, template: `
12
+ #init = afterNextRender(() => {
13
+ const host = this.getHostElement();
14
+ Array.from(host.querySelectorAll(`ax-drawer`)).map((c) => c['__axContext__']);
15
+ });
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: AXDrawerContainerComponent, isStandalone: true, selector: "ax-drawer-container", providers: [{ provide: AXComponent, useExisting: AXDrawerContainerComponent }], usesInheritance: true, hostDirectives: [{ directive: i1.AXDrawerContainerDirective }], ngImport: i0, template: `
34
18
  <ng-content select="ax-drawer"> </ng-content>
35
- <ng-content select="ax-content"></ng-content>
36
- `, isInline: true, styles: ["ax-drawer-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-container.ax-fixed{bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;z-index:50;display:none}ax-drawer-container.ax-fixed.ax-visible{display:flex}ax-drawer-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:rgba(var(--ax-comp-drawer-container-bg-color, 0, 0, 0, .2));transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
+ <ng-content select="ax-content"> </ng-content>
20
+ `, isInline: true, styles: ["ax-drawer-container{width:100%;height:100%;z-index:10}ax-drawer-container>ax-content{height:100%;flex:1 1 0%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
21
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerContainerComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerContainerComponent, decorators: [{
39
23
  type: Component,
40
24
  args: [{ selector: 'ax-drawer-container', template: `
41
25
  <ng-content select="ax-drawer"> </ng-content>
42
- <ng-content select="ax-content"></ng-content>
43
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [AXDrawerService, { provide: AXComponent, useExisting: AXDrawerContainerComponent }], styles: ["ax-drawer-container{position:relative;display:flex;height:100%;width:100%;overflow:hidden}ax-drawer-container.ax-fixed{bottom:0;inset-inline-end:0px;inset-inline-start:0px;top:0;z-index:50;display:none}ax-drawer-container.ax-fixed.ax-visible{display:flex}ax-drawer-container .ax-backdrop{position:absolute;bottom:0;top:0;z-index:10;height:100%;width:100%;background-color:rgba(var(--ax-comp-drawer-container-bg-color, 0, 0, 0, .2));transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer-container>ax-content{height:100%;flex:1 1 0%;overflow:auto}\n"] }]
44
- }], ctorParameters: () => [] });
26
+ <ng-content select="ax-content"> </ng-content>
27
+ `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXDrawerContainerComponent }], hostDirectives: [AXDrawerContainerDirective], styles: ["ax-drawer-container{width:100%;height:100%;z-index:10}ax-drawer-container>ax-content{height:100%;flex:1 1 0%}\n"] }]
28
+ }] });
45
29
 
46
30
  /**
47
31
  * A component that represents a drawer with header and content sections.
@@ -51,136 +35,72 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
51
35
  class AXDrawerComponent extends MXBaseComponent {
52
36
  constructor() {
53
37
  super(...arguments);
54
- this.location = model('start', ...(ngDevMode ? [{ debugName: "location" }] : []));
38
+ this.location = input('start', ...(ngDevMode ? [{ debugName: "location" }] : []));
55
39
  this.showBackdrop = input(true, ...(ngDevMode ? [{ debugName: "showBackdrop" }] : []));
56
- this.mode = model('overlay', ...(ngDevMode ? [{ debugName: "mode" }] : []));
57
- this.closeOthers = input(false, ...(ngDevMode ? [{ debugName: "closeOthers" }] : []));
58
- this.collapsed = model(true, ...(ngDevMode ? [{ debugName: "collapsed" }] : []));
59
- this.backdropElement = signal(null, ...(ngDevMode ? [{ debugName: "backdropElement" }] : []));
60
- this.loaded = signal(false, ...(ngDevMode ? [{ debugName: "loaded" }] : []));
61
- this.service = inject(AXDrawerService);
62
- this._zone = inject(NgZone);
63
- this.document = inject(DOCUMENT);
64
- this.platformID = inject(PLATFORM_ID);
40
+ this.mode = input('overlay', ...(ngDevMode ? [{ debugName: "mode" }] : []));
41
+ this.transition = input(100, ...(ngDevMode ? [{ debugName: "transition" }] : []));
42
+ this.closeOnBackdropClick = input(true, ...(ngDevMode ? [{ debugName: "closeOnBackdropClick" }] : []));
43
+ this.backdropClass = input('ax-bg-black/45', ...(ngDevMode ? [{ debugName: "backdropClass" }] : []));
44
+ this.collapsed = input(true, ...(ngDevMode ? [{ debugName: "collapsed" }] : []));
45
+ this.singleOpenMode = input(true, ...(ngDevMode ? [{ debugName: "singleOpenMode" }] : []));
46
+ this.onBackdropClick = output();
47
+ this.collapsedStateChanged = output();
48
+ this.drawerItem = inject(AXDrawerItemDirective);
65
49
  this.#eff = effect(() => {
66
- if (!this.collapsed()) {
67
- if (this.showBackdrop() && this.mode() === 'overlay') {
68
- this._addBackdrop();
69
- }
70
- }
71
- else {
72
- this._removeBackdrop();
73
- }
50
+ this.drawerItem.mode.set(this.mode());
51
+ this.drawerItem.transition.set(this.transition());
52
+ this.drawerItem.backdropClass.set(this.backdropClass());
53
+ this.drawerItem.closeOnBackdropClick.set(this.closeOnBackdropClick());
54
+ this.drawerItem.location.set(this.location());
55
+ this.drawerItem.backDrop.set(this.showBackdrop());
56
+ this.drawerItem.collapsed.set(this.collapsed());
57
+ this.drawerItem.singleOpenMode.set(this.singleOpenMode());
74
58
  }, ...(ngDevMode ? [{ debugName: "#eff" }] : []));
75
- }
76
- /**
77
- *
78
- * @ignore
79
- */
80
- ngAfterContentInit() {
81
- this._detectBoundingSize();
82
- setTimeout(() => {
83
- this.loaded.set(true);
84
- }, 5000);
85
- }
86
- /**
87
- * @ignore
88
- */
89
- ngDoCheck() {
90
- this._detectBoundingSize();
91
- }
92
- /**
93
- * @ignore
94
- */
95
- _detectBoundingSize() {
96
- this._zone.runOutsideAngular(() => {
97
- const host = this.getHostElement();
98
- if (host.clientWidth) {
99
- host.style.setProperty('--ax-sys-el-width', `${host.clientWidth}px`);
100
- }
59
+ this.#init = afterNextRender(() => {
60
+ this.drawerItem.onBackdropClick.subscribe((event) => {
61
+ this.onBackdropClick.emit({ nativeEvent: event, component: this });
62
+ });
63
+ this.drawerItem.collapseStateChanged.subscribe((event) => {
64
+ this.collapsedStateChanged.emit(event);
65
+ });
101
66
  });
102
67
  }
68
+ #eff;
69
+ #init;
103
70
  /**
104
- * Toggles the collapsed state of the drawer.
71
+ * Toggles the drawer state between open and closed.
72
+ *
73
+ * @returns void - No return value. The drawer state is toggled.
105
74
  */
106
75
  toggle() {
107
- if (this.collapsed()) {
108
- this.open();
109
- }
110
- else {
111
- this.close();
112
- }
76
+ this.drawerItem.toggle();
113
77
  }
114
78
  /**
115
- * Collapses the drawer.
116
- * @ignore
79
+ * Closes the drawer.
80
+ *
81
+ * @returns void - No return value. The drawer is collapsed.
117
82
  */
118
83
  close() {
119
- this.collapsed.set(true);
84
+ this.drawerItem.hide();
120
85
  }
121
86
  /**
122
- * Expands the drawer.
87
+ * Opens the drawer.
88
+ *
89
+ * @returns void - No return value. The drawer is expanded.
123
90
  */
124
91
  open() {
125
- if (!this.collapsed())
126
- return;
127
- this.collapsed.set(false);
128
- if (!this.closeOthers()) {
129
- this.service.drawerElements()?.forEach((element) => {
130
- if (element.location() === this.location() && element.id !== this.id) {
131
- element.close();
132
- }
133
- });
134
- }
135
- }
136
- #eff;
137
- /**
138
- * @ignore
139
- */
140
- _addBackdrop() {
141
- if (isPlatformBrowser(this.platformID)) {
142
- this._zone.runOutsideAngular(() => {
143
- const backDropElem = this.document.createElement('div');
144
- backDropElem.classList.add('ax-backdrop');
145
- backDropElem.onclick = () => {
146
- this._zone.run(() => {
147
- this.close();
148
- });
149
- };
150
- this.getHostElement()?.parentElement?.appendChild(backDropElem);
151
- this.backdropElement.set(backDropElem);
152
- });
153
- }
154
- }
155
- /**
156
- * @ignore
157
- */
158
- _removeBackdrop() {
159
- if (isBrowser()) {
160
- this._zone.runOutsideAngular(() => {
161
- if (this.backdropElement()) {
162
- this.getHostElement()?.parentElement?.removeChild(this.backdropElement());
163
- this.backdropElement.set(null);
164
- }
165
- });
166
- }
167
- }
168
- /**
169
- * @ignore
170
- */
171
- get __hostClass() {
172
- return `ax-drawer-${this.mode()} ax-drawer-${this.location()} ${this.collapsed() ? 'ax-collapsed' : 'ax-expanded'} ${this.loaded() && 'ax-state-loaded'}`;
92
+ this.drawerItem.show();
173
93
  }
174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: AXDrawerComponent, isStandalone: true, selector: "ax-drawer", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, closeOthers: { classPropertyName: "closeOthers", publicName: "closeOthers", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { location: "locationChange", mode: "modeChange", collapsed: "collapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: AXDrawerComponent, isStandalone: true, selector: "ax-drawer", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, showBackdrop: { classPropertyName: "showBackdrop", publicName: "showBackdrop", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, transition: { classPropertyName: "transition", publicName: "transition", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdropClick: { classPropertyName: "closeOnBackdropClick", publicName: "closeOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, singleOpenMode: { classPropertyName: "singleOpenMode", publicName: "singleOpenMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onBackdropClick: "onBackdropClick", collapsedStateChanged: "collapsedStateChanged" }, providers: [
176
96
  { provide: AXComponent, useExisting: AXDrawerComponent },
177
97
  { provide: AXClosableComponent, useExisting: AXDrawerComponent },
178
- ], usesInheritance: true, ngImport: i0, template: `
98
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.AXDrawerItemDirective }], ngImport: i0, template: `
179
99
  <ng-content select="ax-header"></ng-content>
180
100
  <ng-content select="ax-content"></ng-content>
181
- `, isInline: true, styles: ["ax-drawer{height:100%;display:flex;max-width:95%;flex-direction:column}ax-drawer>ax-content{flex:1 1 0%;overflow:auto}ax-drawer.ax-drawer-overlay{position:absolute;transition-property:background-color,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-sys-el-width))}ax-drawer.ax-drawer-push{flex:0 1 auto}ax-drawer.ax-drawer-push.ax-expanded{z-index:20}ax-drawer.ax-drawer-push.ax-collapsed{z-index:0}ax-drawer.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-sys-el-width))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
101
+ `, isInline: true, styles: ["ax-drawer>ax-content{flex:1 1 0%;width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
182
102
  }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerComponent, decorators: [{
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerComponent, decorators: [{
184
104
  type: Component,
185
105
  args: [{ selector: 'ax-drawer', template: `
186
106
  <ng-content select="ax-header"></ng-content>
@@ -188,23 +108,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
188
108
  `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
189
109
  { provide: AXComponent, useExisting: AXDrawerComponent },
190
110
  { provide: AXClosableComponent, useExisting: AXDrawerComponent },
191
- ], styles: ["ax-drawer{height:100%;display:flex;max-width:95%;flex-direction:column}ax-drawer>ax-content{flex:1 1 0%;overflow:auto}ax-drawer.ax-drawer-overlay{position:absolute;transition-property:background-color,color;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function)}ax-drawer.ax-drawer-overlay.ax-expanded{z-index:20}ax-drawer.ax-drawer-overlay.ax-collapsed{z-index:0}ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-expanded{inset-inline-start:0px}ax-drawer.ax-drawer-overlay.ax-drawer-start.ax-collapsed{inset-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-expanded{inset-inline-end:0px}ax-drawer.ax-drawer-overlay.ax-drawer-end.ax-collapsed{inset-inline-end:calc(-1 * var(--ax-sys-el-width))}ax-drawer.ax-drawer-push{flex:0 1 auto}ax-drawer.ax-drawer-push.ax-expanded{z-index:20}ax-drawer.ax-drawer-push.ax-collapsed{z-index:0}ax-drawer.ax-drawer-push.ax-drawer-start{order:-9999}ax-drawer.ax-drawer-push.ax-drawer-start.ax-expanded{margin-inline-start:0px}ax-drawer.ax-drawer-push.ax-drawer-start.ax-collapsed{margin-inline-start:calc(-1 * var(--ax-sys-el-width))}ax-drawer.ax-drawer-push.ax-drawer-end{order:9999}ax-drawer.ax-drawer-push.ax-drawer-end.ax-expanded{margin-inline-end:0px}ax-drawer.ax-drawer-push.ax-drawer-end.ax-collapsed{margin-inline-end:calc(-1 * var(--ax-sys-el-width))}\n"] }]
192
- }], propDecorators: { __hostClass: [{
193
- type: HostBinding,
194
- args: ['class']
195
- }] } });
111
+ ], hostDirectives: [AXDrawerItemDirective], styles: ["ax-drawer>ax-content{flex:1 1 0%;width:100%;height:100%}\n"] }]
112
+ }], propDecorators: { location: [{ type: i0.Input, args: [{ isSignal: true, alias: "location", required: false }] }], showBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBackdrop", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], transition: [{ type: i0.Input, args: [{ isSignal: true, alias: "transition", required: false }] }], closeOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdropClick", required: false }] }], backdropClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdropClass", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }], singleOpenMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "singleOpenMode", required: false }] }], onBackdropClick: [{ type: i0.Output, args: ["onBackdropClick"] }], collapsedStateChanged: [{ type: i0.Output, args: ["collapsedStateChanged"] }] } });
196
113
 
197
114
  const COMPONENT = [AXDrawerComponent, AXDrawerContainerComponent];
198
- const MODULES = [CommonModule];
199
115
  class AXDrawerModule {
200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
201
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerModule, imports: [CommonModule, AXDrawerComponent, AXDrawerContainerComponent], exports: [AXDrawerComponent, AXDrawerContainerComponent] }); }
202
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerModule, imports: [MODULES] }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
117
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerModule, imports: [AXDrawerComponent, AXDrawerContainerComponent], exports: [AXDrawerComponent, AXDrawerContainerComponent] }); }
118
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerModule }); }
203
119
  }
204
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDrawerModule, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: AXDrawerModule, decorators: [{
205
121
  type: NgModule,
206
122
  args: [{
207
- imports: [...MODULES, ...COMPONENT],
123
+ imports: [...COMPONENT],
208
124
  exports: [...COMPONENT],
209
125
  providers: [],
210
126
  }]