@acorex/components 21.0.1-next.2 → 21.0.1-next.20

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 (247) hide show
  1. package/accordion/index.d.ts +0 -1
  2. package/action-sheet/index.d.ts +91 -31
  3. package/button-group/index.d.ts +6 -4
  4. package/chips/index.d.ts +3 -8
  5. package/collapse/index.d.ts +4 -6
  6. package/command/index.d.ts +8 -1
  7. package/conversation2/README.md +71 -31
  8. package/conversation2/index.d.ts +36 -35
  9. package/data-table/index.d.ts +4 -253
  10. package/datetime-picker/index.d.ts +1 -1
  11. package/fesm2022/acorex-components-accordion.mjs +16 -21
  12. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  13. package/fesm2022/acorex-components-action-sheet.mjs +170 -52
  14. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  15. package/fesm2022/acorex-components-alert.mjs +13 -13
  16. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  17. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  18. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  19. package/fesm2022/acorex-components-audio-wave.mjs +11 -10
  20. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  21. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  22. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  23. package/fesm2022/acorex-components-avatar.mjs +12 -12
  24. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  25. package/fesm2022/acorex-components-badge.mjs +9 -9
  26. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  27. package/fesm2022/acorex-components-bottom-navigation.mjs +11 -11
  28. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  29. package/fesm2022/acorex-components-breadcrumbs.mjs +11 -11
  30. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  31. package/fesm2022/acorex-components-button-group.mjs +23 -19
  32. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  33. package/fesm2022/acorex-components-button.mjs +18 -18
  34. package/fesm2022/acorex-components-button.mjs.map +1 -1
  35. package/fesm2022/acorex-components-calendar.mjs +17 -17
  36. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  37. package/fesm2022/acorex-components-check-box.mjs +10 -10
  38. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  39. package/fesm2022/acorex-components-chips.mjs +12 -14
  40. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  41. package/fesm2022/acorex-components-circular-progress.mjs +12 -10
  42. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  43. package/fesm2022/acorex-components-code-editor.mjs +10 -10
  44. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  45. package/fesm2022/acorex-components-collapse.mjs +22 -19
  46. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  47. package/fesm2022/acorex-components-color-box.mjs +9 -9
  48. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  49. package/fesm2022/acorex-components-color-palette.mjs +30 -30
  50. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  51. package/fesm2022/acorex-components-command.mjs +17 -11
  52. package/fesm2022/acorex-components-command.mjs.map +1 -1
  53. package/fesm2022/acorex-components-comment.mjs +32 -32
  54. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  55. package/fesm2022/acorex-components-conversation.mjs +51 -51
  56. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  57. package/fesm2022/acorex-components-conversation2.mjs +309 -303
  58. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  59. package/fesm2022/acorex-components-cron-job.mjs +46 -46
  60. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  61. package/fesm2022/acorex-components-data-list.mjs +3 -3
  62. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  63. package/fesm2022/acorex-components-data-pager.mjs +33 -33
  64. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  65. package/fesm2022/acorex-components-data-table.mjs +50 -486
  66. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  67. package/fesm2022/acorex-components-datetime-box.mjs +9 -9
  68. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  69. package/fesm2022/acorex-components-datetime-input.mjs +9 -9
  70. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  71. package/fesm2022/acorex-components-datetime-picker.mjs +40 -38
  72. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  73. package/fesm2022/acorex-components-decorators.mjs +43 -36
  74. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  75. package/fesm2022/acorex-components-dialog.mjs +12 -12
  76. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  77. package/fesm2022/acorex-components-drawer-legacy.mjs +13 -13
  78. package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -1
  79. package/fesm2022/acorex-components-drawer.mjs +15 -16
  80. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  81. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  82. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  83. package/fesm2022/acorex-components-dropdown.mjs +24 -18
  84. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  85. package/fesm2022/acorex-components-editor.mjs +11 -11
  86. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  87. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  88. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  89. package/fesm2022/acorex-components-flow-chart.mjs +16 -16
  90. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  91. package/fesm2022/acorex-components-form.mjs +32 -24
  92. package/fesm2022/acorex-components-form.mjs.map +1 -1
  93. package/fesm2022/acorex-components-grid-layout-builder.mjs +12 -13
  94. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  95. package/fesm2022/acorex-components-image-editor.mjs +44 -44
  96. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  97. package/fesm2022/acorex-components-image.mjs +9 -9
  98. package/fesm2022/acorex-components-image.mjs.map +1 -1
  99. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  100. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  101. package/fesm2022/acorex-components-kanban.mjs +155 -13
  102. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  103. package/fesm2022/acorex-components-kbd.mjs +29 -11
  104. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  105. package/fesm2022/acorex-components-label.mjs +9 -9
  106. package/fesm2022/acorex-components-label.mjs.map +1 -1
  107. package/fesm2022/acorex-components-list.mjs +9 -9
  108. package/fesm2022/acorex-components-list.mjs.map +1 -1
  109. package/fesm2022/acorex-components-loading-dialog.mjs +11 -11
  110. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  111. package/fesm2022/acorex-components-loading.mjs +23 -23
  112. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  113. package/fesm2022/acorex-components-map.mjs +14 -14
  114. package/fesm2022/acorex-components-map.mjs.map +1 -1
  115. package/fesm2022/acorex-components-media-viewer.mjs +72 -54
  116. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  117. package/fesm2022/acorex-components-menu.mjs +21 -21
  118. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  119. package/fesm2022/{acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs → acorex-components-modal-acorex-components-modal-BajlPo_n.mjs} +22 -22
  120. package/fesm2022/acorex-components-modal-acorex-components-modal-BajlPo_n.mjs.map +1 -0
  121. package/fesm2022/{acorex-components-modal-modal-content.component-CSJU1vRi.mjs → acorex-components-modal-modal-content.component-BVrBX4Qf.mjs} +9 -7
  122. package/fesm2022/acorex-components-modal-modal-content.component-BVrBX4Qf.mjs.map +1 -0
  123. package/fesm2022/acorex-components-modal.mjs +1 -1
  124. package/fesm2022/acorex-components-navbar.mjs +9 -9
  125. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  126. package/fesm2022/acorex-components-notification.mjs +28 -24
  127. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  128. package/fesm2022/acorex-components-number-box-legacy.mjs +9 -9
  129. package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -1
  130. package/fesm2022/acorex-components-number-box.mjs +9 -9
  131. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  132. package/fesm2022/acorex-components-otp.mjs +9 -9
  133. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  134. package/fesm2022/acorex-components-page.mjs +10 -10
  135. package/fesm2022/acorex-components-page.mjs.map +1 -1
  136. package/fesm2022/acorex-components-paint.mjs +34 -39
  137. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  138. package/fesm2022/acorex-components-password-box.mjs +13 -13
  139. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  140. package/fesm2022/acorex-components-pdf-reader.mjs +8 -8
  141. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  142. package/fesm2022/acorex-components-phone-box.mjs +33 -40
  143. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  144. package/fesm2022/acorex-components-picker.mjs +19 -18
  145. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  146. package/fesm2022/acorex-components-popover.mjs +27 -12
  147. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  148. package/fesm2022/acorex-components-popup.mjs +88 -101
  149. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  150. package/fesm2022/acorex-components-progress-bar.mjs +11 -9
  151. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  152. package/fesm2022/acorex-components-qrcode.mjs +9 -9
  153. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  154. package/fesm2022/acorex-components-query-builder.mjs +8 -8
  155. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  156. package/fesm2022/acorex-components-radio.mjs +9 -9
  157. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  158. package/fesm2022/acorex-components-rail-navigation.mjs +38 -36
  159. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  160. package/fesm2022/acorex-components-range-slider.mjs +10 -10
  161. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  162. package/fesm2022/acorex-components-rate-picker.mjs +20 -35
  163. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  165. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  166. package/fesm2022/acorex-components-result.mjs +8 -8
  167. package/fesm2022/acorex-components-result.mjs.map +1 -1
  168. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  169. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  170. package/fesm2022/acorex-components-rrule.mjs +9 -9
  171. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  172. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  173. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  174. package/fesm2022/acorex-components-scheduler.mjs +1220 -161
  175. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  176. package/fesm2022/acorex-components-scss.mjs +4 -4
  177. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  178. package/fesm2022/acorex-components-search-box.mjs +16 -10
  179. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  180. package/fesm2022/acorex-components-select-box.mjs +11 -9
  181. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  182. package/fesm2022/acorex-components-selection-list-2.mjs +11 -11
  183. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  184. package/fesm2022/acorex-components-selection-list.mjs +9 -9
  185. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  186. package/fesm2022/acorex-components-side-menu.mjs +74 -25
  187. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  188. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  189. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  190. package/fesm2022/acorex-components-slider.mjs +12 -12
  191. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  192. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  193. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  194. package/fesm2022/acorex-components-step-wizard.mjs +14 -14
  195. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  196. package/fesm2022/acorex-components-switch.mjs +14 -14
  197. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  198. package/fesm2022/acorex-components-tabs.mjs +15 -15
  199. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  200. package/fesm2022/acorex-components-tag-box.mjs +9 -9
  201. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  202. package/fesm2022/acorex-components-tag.mjs +9 -9
  203. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  204. package/fesm2022/acorex-components-text-area.mjs +9 -9
  205. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  206. package/fesm2022/acorex-components-text-box.mjs +12 -12
  207. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  208. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  209. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  210. package/fesm2022/acorex-components-time-line.mjs +12 -12
  211. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  212. package/fesm2022/acorex-components-toast.mjs +12 -12
  213. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  214. package/fesm2022/acorex-components-toolbar.mjs +8 -8
  215. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  216. package/fesm2022/acorex-components-tooltip.mjs +66 -65
  217. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  218. package/fesm2022/acorex-components-tree-view-legacy.mjs +16 -12
  219. package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -1
  220. package/fesm2022/acorex-components-tree-view.mjs +26 -11
  221. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  222. package/fesm2022/acorex-components-uploader.mjs +16 -16
  223. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  224. package/fesm2022/acorex-components-video-player.mjs +8 -8
  225. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  226. package/fesm2022/acorex-components-wysiwyg.mjs +42 -42
  227. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  228. package/fesm2022/acorex-components.mjs.map +1 -1
  229. package/grid-layout-builder/index.d.ts +1 -2
  230. package/kanban/index.d.ts +61 -4
  231. package/kbd/index.d.ts +13 -7
  232. package/loading/index.d.ts +1 -1
  233. package/media-viewer/index.d.ts +2 -1
  234. package/package.json +7 -7
  235. package/paint/index.d.ts +1 -6
  236. package/phone-box/index.d.ts +1 -6
  237. package/popover/index.d.ts +6 -2
  238. package/popup/index.d.ts +37 -42
  239. package/rate-picker/index.d.ts +5 -15
  240. package/scheduler/index.d.ts +281 -27
  241. package/side-menu/index.d.ts +9 -2
  242. package/slider/index.d.ts +2 -2
  243. package/tooltip/index.d.ts +3 -7
  244. package/tree-view/index.d.ts +11 -0
  245. package/tree-view-legacy/index.d.ts +1 -0
  246. package/fesm2022/acorex-components-modal-acorex-components-modal-Bmoz9DL5.mjs.map +0 -1
  247. package/fesm2022/acorex-components-modal-modal-content.component-CSJU1vRi.mjs.map +0 -1
@@ -1,11 +1,44 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive, inject, ComponentRef, Injectable, DOCUMENT, PLATFORM_ID, Renderer2, signal, computed, TemplateRef, ViewContainerRef, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
1
3
  import { MXBaseComponent, AXComponent, AXClosableComponent, AXFocusableComponent } from '@acorex/cdk/common';
2
4
  import { AXDecoratorGenericComponent, AXDecoratorCloseButtonComponent } from '@acorex/components/decorators';
3
5
  import { AXTranslatorPipe } from '@acorex/core/translation';
4
- import { isPlatformBrowser, NgTemplateOutlet, NgComponentOutlet, AsyncPipe } from '@angular/common';
5
- import * as i0 from '@angular/core';
6
- import { inject, Injectable, input, DOCUMENT, PLATFORM_ID, Renderer2, signal, computed, TemplateRef, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
6
+ import { isPlatformBrowser, NgTemplateOutlet, AsyncPipe } from '@angular/common';
7
7
  import { AXOverlayService } from '@acorex/cdk/overlay';
8
- import { Subject, BehaviorSubject } from 'rxjs';
8
+ import { Subject } from 'rxjs';
9
+
10
+ /**
11
+ * Base class for components that are displayed inside an action sheet.
12
+ * Extend this class to get access to the action sheet reference and helper methods.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * @Component({...})
17
+ * export class MyActionSheetContent extends AXActionSheetComponentBase {
18
+ * save() {
19
+ * this.close({ saved: true });
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ class AXActionSheetComponentBase {
25
+ constructor() {
26
+ /** Reference to the parent action sheet */
27
+ this.__actionSheet__ = input(...(ngDevMode ? [undefined, { debugName: "__actionSheet__" }] : []));
28
+ }
29
+ /**
30
+ * Closes the action sheet with optional result data.
31
+ * @param data - Optional data to pass to the close handler
32
+ */
33
+ close(data = null) {
34
+ this.__actionSheet__()?.close(data);
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.16", type: AXActionSheetComponentBase, isStandalone: true, inputs: { __actionSheet__: { classPropertyName: "__actionSheet__", publicName: "__actionSheet__", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetComponentBase, decorators: [{
40
+ type: Directive
41
+ }], propDecorators: { __actionSheet__: [{ type: i0.Input, args: [{ isSignal: true, alias: "__actionSheet__", required: false }] }] } });
9
42
 
10
43
  class AXActionSheetService {
11
44
  constructor() {
@@ -24,17 +57,18 @@ class AXActionSheetService {
24
57
  * @param isUserInteraction - Whether the action sheet is opened by user interaction (default: true).
25
58
  * This affects how the action sheet handles accessibility and focus management.
26
59
  * @returns A promise that resolves to a dialog reference containing methods to control the action sheet.
27
- * The reference includes methods like close() and a closed observable for tracking dialog state.
60
+ * The reference includes methods like close(), setInputs() and a closed observable for tracking dialog state.
28
61
  * @example
29
62
  * ```typescript
30
63
  * const dialogRef = await actionSheetService.open({
31
64
  * title: 'Choose an option',
32
- * items: [
33
- * { text: 'Option 1', value: 'opt1' },
34
- * { text: 'Option 2', value: 'opt2' }
35
- * ]
65
+ * content: MyCustomComponent,
66
+ * inputs: { userId: 123, userName: 'John' }
36
67
  * });
37
68
  *
69
+ * // Update inputs dynamically
70
+ * dialogRef.setInputs({ userName: 'Jane' });
71
+ *
38
72
  * dialogRef.closed.subscribe(result => {
39
73
  * console.log('Action sheet closed with:', result.data);
40
74
  * });
@@ -48,23 +82,53 @@ class AXActionSheetService {
48
82
  header: true,
49
83
  };
50
84
  config = Object.assign(defaultConfig, config);
51
- const closed = new BehaviorSubject(null);
85
+ const closed = new Subject();
86
+ const onClose = new Subject();
87
+ // Using let because internalRef is assigned after overlayRef is created
88
+ // eslint-disable-next-line prefer-const
52
89
  let internalRef;
53
90
  const closeActionSheet = (result) => {
54
91
  if (internalRef) {
55
92
  internalRef.overlayRef.dispose();
93
+ onClose.next(result?.data);
94
+ onClose.complete();
56
95
  if (result?.data) {
57
96
  closed.next({ data: result.data });
58
97
  }
59
98
  else {
60
99
  closed.next({});
61
100
  }
101
+ closed.complete();
62
102
  }
63
103
  };
104
+ // Create the action sheet reference that will be passed to content components
105
+ const actionSheetRef = {
106
+ close: (data) => {
107
+ const component = internalRef?.overlayRef.instance;
108
+ if (component && 'close' in component) {
109
+ component.close(data);
110
+ }
111
+ else {
112
+ closeActionSheet({ data });
113
+ }
114
+ },
115
+ setInputs: (values) => {
116
+ const ref = internalRef?.overlayRef.instance;
117
+ if (ref && ref instanceof ComponentRef) {
118
+ const componentInstance = ref.instance;
119
+ componentInstance.setContentInputs(values);
120
+ }
121
+ else if (ref && 'setContentInputs' in ref) {
122
+ ref.setContentInputs(values);
123
+ }
124
+ },
125
+ onClose,
126
+ };
64
127
  const overlayRef = await this.overlayService.create(AXActionSheetComponent, {
65
128
  inputs: {
66
129
  data: config,
67
130
  onClose: closeActionSheet,
131
+ __actionSheetRef__: actionSheetRef,
68
132
  },
69
133
  centered: false,
70
134
  panelClass: ['ax-action-sheet-panel'],
@@ -76,6 +140,7 @@ class AXActionSheetService {
76
140
  onDispose: () => {
77
141
  // Clean up when disposed externally (e.g., backdrop click)
78
142
  closed.next({});
143
+ closed.complete();
79
144
  },
80
145
  });
81
146
  internalRef = {
@@ -93,16 +158,9 @@ class AXActionSheetService {
93
158
  isUserInteraction,
94
159
  });
95
160
  const axDialogRef = {
96
- close: (e) => {
97
- const component = overlayRef.instance;
98
- if (component?.close) {
99
- component.close(e);
100
- }
101
- else {
102
- closeActionSheet({ data: e });
103
- }
104
- },
105
- closed,
161
+ close: actionSheetRef.close,
162
+ setInputs: actionSheetRef.setInputs,
163
+ onClose: actionSheetRef.onClose,
106
164
  };
107
165
  return axDialogRef;
108
166
  }
@@ -119,10 +177,10 @@ class AXActionSheetService {
119
177
  setActionSheetEventState(event) {
120
178
  this.actionSheetEvent.next(event);
121
179
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
123
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetService, providedIn: 'root' }); }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
181
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetService, providedIn: 'root' }); }
124
182
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetService, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetService, decorators: [{
126
184
  type: Injectable,
127
185
  args: [{
128
186
  providedIn: 'root',
@@ -143,6 +201,8 @@ class AXActionSheetComponent extends MXBaseComponent {
143
201
  this.onClose = input(...(ngDevMode ? [undefined, { debugName: "onClose" }] : []));
144
202
  /** @internal Overlay reference for event tracking */
145
203
  this.overlayRef = input(...(ngDevMode ? [undefined, { debugName: "overlayRef" }] : []));
204
+ /** @internal Reference to the action sheet for content components */
205
+ this.__actionSheetRef__ = input(...(ngDevMode ? [undefined, { debugName: "__actionSheetRef__" }] : []));
146
206
  this.document = inject(DOCUMENT);
147
207
  this.platformID = inject(PLATFORM_ID);
148
208
  this.renderer = inject(Renderer2);
@@ -157,6 +217,10 @@ class AXActionSheetComponent extends MXBaseComponent {
157
217
  this.actionSheetHeight = signal(0, ...(ngDevMode ? [{ debugName: "actionSheetHeight" }] : []));
158
218
  this.isActionSheetHeightSet = signal(false, ...(ngDevMode ? [{ debugName: "isActionSheetHeightSet" }] : []));
159
219
  this.transitionDuration = signal(300, ...(ngDevMode ? [{ debugName: "transitionDuration" }] : []));
220
+ /**
221
+ * @ignore
222
+ */
223
+ this._componentRef = null;
160
224
  /** Template content if data.content is a TemplateRef */
161
225
  this.templateContent = computed(() => {
162
226
  const content = this.data().content;
@@ -172,6 +236,8 @@ class AXActionSheetComponent extends MXBaseComponent {
172
236
  $implicit: this.data(),
173
237
  ref: this,
174
238
  }), ...(ngDevMode ? [{ debugName: "templateContext" }] : []));
239
+ /** Whether content has been rendered (for component content) */
240
+ this.isContentRendered = signal(false, ...(ngDevMode ? [{ debugName: "isContentRendered" }] : []));
175
241
  }
176
242
  /**
177
243
  * @ignore
@@ -239,11 +305,77 @@ class AXActionSheetComponent extends MXBaseComponent {
239
305
  });
240
306
  }
241
307
  }
308
+ /**
309
+ * @ignore
310
+ */
311
+ ngAfterViewInit() {
312
+ // Render component content after view is initialized (ViewChild is available)
313
+ this.renderComponentContent();
314
+ }
315
+ /**
316
+ * Renders the component content if provided.
317
+ * Uses ViewContainerRef to create the component and properly set inputs.
318
+ */
319
+ renderComponentContent() {
320
+ const componentType = this.componentContent();
321
+ if (!componentType || !this.contentContainerRef)
322
+ return;
323
+ const config = this.data();
324
+ // Create the component using ViewContainerRef
325
+ const componentRef = this.contentContainerRef.createComponent(componentType);
326
+ this._componentRef = componentRef;
327
+ // Get component input definitions to check before setting inputs
328
+ const inputDefs = componentRef.componentType?.ɵcmp
329
+ ?.inputs;
330
+ // Set data inputs (legacy support - deprecated)
331
+ if (config?.data && typeof config.data === 'object') {
332
+ Object.entries(config.data).forEach(([key, value]) => {
333
+ componentRef.instance[key] = value;
334
+ });
335
+ }
336
+ // Set inputs using setInput for proper change detection
337
+ if (config?.inputs && typeof config.inputs === 'object') {
338
+ Object.entries(config.inputs).forEach(([key, value]) => {
339
+ if (inputDefs && key in inputDefs) {
340
+ componentRef.setInput(key, value);
341
+ }
342
+ });
343
+ }
344
+ // Set action sheet reference (only if the component has this input)
345
+ if (inputDefs && '__actionSheet__' in inputDefs) {
346
+ componentRef.setInput('__actionSheet__', this.__actionSheetRef__());
347
+ }
348
+ // Subscribe to close event if available
349
+ const instance = componentRef.instance;
350
+ if (instance.onClosed) {
351
+ instance.onClosed.subscribe((e) => {
352
+ this.close(e);
353
+ });
354
+ }
355
+ this.isContentRendered.set(true);
356
+ this.cdr.markForCheck();
357
+ }
358
+ /**
359
+ * Sets input values on the content component.
360
+ * @param values - Object containing input values to set
361
+ */
362
+ setContentInputs(values) {
363
+ if (this._componentRef) {
364
+ Object.entries(values).forEach(([key, value]) => {
365
+ this._componentRef.setInput(key, value);
366
+ });
367
+ }
368
+ }
242
369
  ngOnDestroy() {
243
370
  this.onMouseMoveListenerFn();
244
371
  this.onMouseUpListenerFn();
245
372
  this.onTouchMoveListenerFn();
246
373
  this.onTouchUpListenerFn();
374
+ // Clean up component reference
375
+ if (this._componentRef) {
376
+ this._componentRef.destroy();
377
+ this._componentRef = null;
378
+ }
247
379
  }
248
380
  handleMouseDown(e) {
249
381
  if (!this.data().draggable || e.button !== 0)
@@ -326,22 +458,6 @@ class AXActionSheetComponent extends MXBaseComponent {
326
458
  }
327
459
  return (this.actionSheetHeight() + (this.document.documentElement.clientHeight - clientY - this.actionSheetHeight()) / 10);
328
460
  }
329
- /**
330
- * Handles component attachment from ngComponentOutlet
331
- */
332
- handleComponentCreated(componentRef) {
333
- if (componentRef?.instance) {
334
- this._componentRef = componentRef.instance;
335
- Object.assign(this._componentRef, this.data());
336
- Object.assign(this._componentRef, { _isPopup: true });
337
- if (componentRef.instance
338
- .onClosed) {
339
- componentRef.instance.onClosed.subscribe((e) => {
340
- this.close(e);
341
- });
342
- }
343
- }
344
- }
345
461
  /**
346
462
  * Handles click events on action sheet items.
347
463
  * This method is called when a user clicks on an action sheet item. It closes the action sheet
@@ -380,7 +496,7 @@ class AXActionSheetComponent extends MXBaseComponent {
380
496
  const closeCallback = this.onClose();
381
497
  if (closeCallback) {
382
498
  closeCallback({
383
- component: this._componentRef,
499
+ component: this._componentRef?.instance,
384
500
  htmlElement: this.getHostElement(),
385
501
  data: e,
386
502
  });
@@ -396,8 +512,8 @@ class AXActionSheetComponent extends MXBaseComponent {
396
512
  this.close(null);
397
513
  }
398
514
  }
399
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
400
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AXActionSheetComponent, isStandalone: true, selector: "ax-action-sheet", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, onClose: { classPropertyName: "onClose", publicName: "onClose", isSignal: true, isRequired: false, transformFunction: null }, overlayRef: { classPropertyName: "overlayRef", publicName: "overlayRef", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.escape": "onKeydownHandler()" } }, providers: [
515
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
516
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: AXActionSheetComponent, isStandalone: true, selector: "ax-action-sheet", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, onClose: { classPropertyName: "onClose", publicName: "onClose", isSignal: true, isRequired: false, transformFunction: null }, overlayRef: { classPropertyName: "overlayRef", publicName: "overlayRef", isSignal: true, isRequired: false, transformFunction: null }, __actionSheetRef__: { classPropertyName: "__actionSheetRef__", publicName: "__actionSheetRef__", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.escape": "onKeydownHandler()" } }, providers: [
401
517
  { provide: AXComponent, useExisting: AXActionSheetComponent },
402
518
  {
403
519
  provide: AXClosableComponent,
@@ -407,9 +523,9 @@ class AXActionSheetComponent extends MXBaseComponent {
407
523
  provide: AXFocusableComponent,
408
524
  useExisting: AXActionSheetComponent,
409
525
  },
410
- ], usesInheritance: true, ngImport: i0, template: "@if (data().draggable) {\n <div (mousedown)=\"handleMouseDown($event)\" (touchstart)=\"handleTouchDown($event)\" class=\"ax-drag-handle-container\">\n <div class=\"ax-drag-handle\"></div>\n </div>\n}\n@if (data().header) {\n <ax-header\n [class.draggable-header]=\"data().draggable\"\n (mousedown)=\"data().draggable ? handleMouseDown($event) : null\"\n (touchstart)=\"data().draggable ? handleTouchDown($event) : null\"\n >\n <ax-prefix>\n <ax-title>{{ data().title | translate | async }}</ax-title>\n\n @if (data().subTitle) {\n <ax-subtitle>\n {{ data().subTitle }}\n </ax-subtitle>\n }\n </ax-prefix>\n @if (data().closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n@if (data().content) {\n <div class=\"ax-custom-template-container\">\n @if (templateContent()) {\n <ng-container *ngTemplateOutlet=\"templateContent(); context: templateContext()\"></ng-container>\n } @else if (componentContent()) {\n <ng-container *ngComponentOutlet=\"componentContent()\"></ng-container>\n }\n </div>\n}\n\n<div class=\"ax-action-list ax-action-list-vertical\">\n @for (item of data().items; let i = $index; track i) {\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <div\n class=\"ax-action-item ax-{{ item.color || 'default' }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"ax-action-item-prefix\">\n @if (item.icon) {\n <span class=\"ax-item-icon\" [class]=\"item.icon\"></span>\n }\n <ax-text>{{ item.text | translate | async }}</ax-text>\n </div>\n <div class=\"ax-action-item-suffix\"></div>\n </div>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n</div>\n", styles: ["ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-lightest-surface)}ax-action-sheet .ax-action-item.ax-primary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-primary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-primary-surface), .1}ax-action-sheet .ax-action-item.ax-secondary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-secondary-surface), .1}ax-action-sheet .ax-action-item.ax-success{--ax-comp-action-sheet-text-color: var(--ax-sys-color-success-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-success-surface), .1}ax-action-sheet .ax-action-item.ax-warning{--ax-comp-action-sheet-text-color: var(--ax-sys-color-warning-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-warning-surface), .1}ax-action-sheet .ax-action-item.ax-danger{--ax-comp-action-sheet-text-color: var(--ax-sys-color-danger-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-danger-surface), .1}ax-action-sheet .ax-action-item.ax-accent1{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent1-surface), .1}ax-action-sheet .ax-action-item.ax-accent2{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent2-surface), .1}ax-action-sheet .ax-action-item.ax-accent3{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent3-surface), .1}ax-action-sheet .ax-action-item.ax-accent4{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent4-surface), .1}ax-action-sheet .ax-action-item.ax-accent5{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent5-surface), .1}ax-action-sheet .ax-action-item.ax-accent6{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent6-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent6-surface), .1}ax-action-sheet .ax-action-item.ax-accent7{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent7-surface), .1}.ax-action-sheet-panel{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;display:block!important;align-items:unset!important;justify-content:unset!important;max-width:none!important}ax-action-sheet{display:block;width:var(--ax-comp-action-sheet-width-sm, 100vw);position:relative;transition-property:height;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);background-color:rgba(var(--ax-comp-action-sheet-bg-color))}@media (min-width: 768px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-md, 70vw)}}@media (min-width: 1024px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-lg, 50vw)}}ax-action-sheet .ax-custom-template-container{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-drag-handle-container{padding-top:.5rem}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:.375rem;width:3rem;margin:auto;border-radius:.5rem;background-color:rgba(var(--ax-sys-color-surface))}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header.draggable-header{padding-top:0;-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-action-list ax-title{font-size:.875rem}ax-action-sheet .ax-action-list .ax-action-item{min-height:3.5rem!important;font-size:1rem!important;color:rgba(var(--ax-comp-action-sheet-text-color))}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-comp-action-sheet-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{margin-inline-end:.75rem!important;font-size:1.5rem!important;line-height:2rem!important}.ax-dark ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-darker-surface)}\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: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
526
+ ], viewQueries: [{ propertyName: "contentContainerRef", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "@if (data().draggable) {\n <div (mousedown)=\"handleMouseDown($event)\" (touchstart)=\"handleTouchDown($event)\" class=\"ax-drag-handle-container\">\n <div class=\"ax-drag-handle\"></div>\n </div>\n}\n@if (data().header) {\n <ax-header\n [class.draggable-header]=\"data().draggable\"\n (mousedown)=\"data().draggable ? handleMouseDown($event) : null\"\n (touchstart)=\"data().draggable ? handleTouchDown($event) : null\"\n >\n <ax-prefix>\n <ax-title>{{ data().title | translate | async }}</ax-title>\n\n @if (data().subTitle) {\n <ax-subtitle>\n {{ data().subTitle }}\n </ax-subtitle>\n }\n </ax-prefix>\n @if (data().closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n@if (data().content) {\n <div class=\"ax-custom-template-container\">\n @if (templateContent()) {\n <ng-container *ngTemplateOutlet=\"templateContent(); context: templateContext()\"></ng-container>\n }\n <!-- Component content container - always present but only populated when componentContent() is truthy -->\n <ng-container #contentContainer></ng-container>\n </div>\n}\n\n<div class=\"ax-action-list ax-action-list-vertical\">\n @for (item of data().items; let i = $index; track i) {\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <div\n class=\"ax-action-item ax-{{ item.color || 'default' }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"ax-action-item-prefix\">\n @if (item.icon) {\n <span class=\"ax-item-icon\" [class]=\"item.icon\"></span>\n }\n <ax-text>{{ item.text | translate | async }}</ax-text>\n </div>\n <div class=\"ax-action-item-suffix\"></div>\n </div>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n</div>\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-border-style:solid;--tw-font-weight:initial}}}@layer components{ax-action-sheet{background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:100vw;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:block;position:relative}@media (min-width:48rem){ax-action-sheet{width:70vw}}@media (min-width:64rem){ax-action-sheet{width:50vw}}ax-action-sheet:where(.dark,.dark *){background-color:var(--color-darker,rgba(var(--ax-sys-color-darker-surface)))}ax-action-sheet .ax-custom-template-container{max-height:100vh;overflow-y:auto}ax-action-sheet .ax-drag-handle-container{padding-top:calc(var(--spacing,.25rem)*2)}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:calc(var(--spacing,.25rem)*1);width:calc(var(--spacing,.25rem)*12);border-radius:var(--radius-lg,.5rem);background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));margin:auto}ax-action-sheet ax-header{border-bottom-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem)*4);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);border-bottom-width:1px}@media (min-width:48rem){ax-action-sheet ax-header{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}}ax-action-sheet ax-header.draggable-header{padding-top:calc(var(--spacing,.25rem)*0);-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{flex-direction:column;justify-content:flex-start;display:flex}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{max-height:100vh;overflow-y:auto}ax-action-sheet .ax-action-list ax-title{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}ax-action-sheet .ax-action-list .ax-action-item{color:var(--ax-comp-bg);min-height:calc(var(--spacing,.25rem)*14)!important;font-size:var(--text-base,1rem)!important;line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))!important}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:var(--ax-comp-bg)!important}@supports (color:color-mix(in lab,red,red)){ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:color-mix(in oklab,var(--ax-comp-bg)10%,transparent)!important}}ax-action-sheet .ax-action-list .ax-action-item.ax-default:hover:not(ax-action-sheet .ax-action-list .ax-action-item.ax-default:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item.ax-default:hover.ax-state-selected){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{font-size:var(--text-2xl,1.5rem)!important;line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)))!important;margin-inline-end:calc(var(--spacing,.25rem)*3)!important}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@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: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
411
527
  }
412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetComponent, decorators: [{
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetComponent, decorators: [{
413
529
  type: Component,
414
530
  args: [{ selector: 'ax-action-sheet', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
415
531
  '(keydown.escape)': 'onKeydownHandler()',
@@ -427,18 +543,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
427
543
  AXDecoratorGenericComponent,
428
544
  AXDecoratorCloseButtonComponent,
429
545
  NgTemplateOutlet,
430
- NgComponentOutlet,
431
546
  AXTranslatorPipe,
432
547
  AsyncPipe,
433
- ], template: "@if (data().draggable) {\n <div (mousedown)=\"handleMouseDown($event)\" (touchstart)=\"handleTouchDown($event)\" class=\"ax-drag-handle-container\">\n <div class=\"ax-drag-handle\"></div>\n </div>\n}\n@if (data().header) {\n <ax-header\n [class.draggable-header]=\"data().draggable\"\n (mousedown)=\"data().draggable ? handleMouseDown($event) : null\"\n (touchstart)=\"data().draggable ? handleTouchDown($event) : null\"\n >\n <ax-prefix>\n <ax-title>{{ data().title | translate | async }}</ax-title>\n\n @if (data().subTitle) {\n <ax-subtitle>\n {{ data().subTitle }}\n </ax-subtitle>\n }\n </ax-prefix>\n @if (data().closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n@if (data().content) {\n <div class=\"ax-custom-template-container\">\n @if (templateContent()) {\n <ng-container *ngTemplateOutlet=\"templateContent(); context: templateContext()\"></ng-container>\n } @else if (componentContent()) {\n <ng-container *ngComponentOutlet=\"componentContent()\"></ng-container>\n }\n </div>\n}\n\n<div class=\"ax-action-list ax-action-list-vertical\">\n @for (item of data().items; let i = $index; track i) {\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <div\n class=\"ax-action-item ax-{{ item.color || 'default' }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"ax-action-item-prefix\">\n @if (item.icon) {\n <span class=\"ax-item-icon\" [class]=\"item.icon\"></span>\n }\n <ax-text>{{ item.text | translate | async }}</ax-text>\n </div>\n <div class=\"ax-action-item-suffix\"></div>\n </div>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n</div>\n", styles: ["ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-lightest-surface)}ax-action-sheet .ax-action-item.ax-primary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-primary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-primary-surface), .1}ax-action-sheet .ax-action-item.ax-secondary{--ax-comp-action-sheet-text-color: var(--ax-sys-color-secondary-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-secondary-surface), .1}ax-action-sheet .ax-action-item.ax-success{--ax-comp-action-sheet-text-color: var(--ax-sys-color-success-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-success-surface), .1}ax-action-sheet .ax-action-item.ax-warning{--ax-comp-action-sheet-text-color: var(--ax-sys-color-warning-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-warning-surface), .1}ax-action-sheet .ax-action-item.ax-danger{--ax-comp-action-sheet-text-color: var(--ax-sys-color-danger-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-danger-surface), .1}ax-action-sheet .ax-action-item.ax-accent1{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent1-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent1-surface), .1}ax-action-sheet .ax-action-item.ax-accent2{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent2-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent2-surface), .1}ax-action-sheet .ax-action-item.ax-accent3{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent3-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent3-surface), .1}ax-action-sheet .ax-action-item.ax-accent4{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent4-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent4-surface), .1}ax-action-sheet .ax-action-item.ax-accent5{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent5-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent5-surface), .1}ax-action-sheet .ax-action-item.ax-accent6{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent6-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent6-surface), .1}ax-action-sheet .ax-action-item.ax-accent7{--ax-comp-action-sheet-text-color: var(--ax-sys-color-accent7-surface);--ax-comp-action-sheet-hover-bg-color: var(--ax-sys-color-accent7-surface), .1}.ax-action-sheet-panel{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;display:block!important;align-items:unset!important;justify-content:unset!important;max-width:none!important}ax-action-sheet{display:block;width:var(--ax-comp-action-sheet-width-sm, 100vw);position:relative;transition-property:height;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);background-color:rgba(var(--ax-comp-action-sheet-bg-color))}@media (min-width: 768px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-md, 70vw)}}@media (min-width: 1024px){ax-action-sheet{width:var(--ax-comp-action-sheet-width-lg, 50vw)}}ax-action-sheet .ax-custom-template-container{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-drag-handle-container{padding-top:.5rem}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:.375rem;width:3rem;margin:auto;border-radius:.5rem;background-color:rgba(var(--ax-sys-color-surface))}ax-action-sheet ax-header{padding:1rem;border-bottom-width:1px;font-size:1rem;line-height:1.5rem;font-weight:500}@media (min-width: 768px){ax-action-sheet ax-header{font-size:1.125rem;line-height:1.75rem}}ax-action-sheet ax-header.draggable-header{padding-top:0;-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{display:flex;flex-direction:column;justify-content:flex-start}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:1;-webkit-line-clamp:1}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{overflow-y:auto;max-height:100vh}ax-action-sheet .ax-action-list ax-title{font-size:.875rem}ax-action-sheet .ax-action-list .ax-action-item{min-height:3.5rem!important;font-size:1rem!important;color:rgba(var(--ax-comp-action-sheet-text-color))}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:rgba(var(--ax-comp-action-sheet-hover-bg-color, var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{margin-inline-end:.75rem!important;font-size:1.5rem!important;line-height:2rem!important}.ax-dark ax-action-sheet{--ax-comp-action-sheet-bg-color: var(--ax-sys-color-darker-surface)}\n"] }]
434
- }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], onClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "onClose", required: false }] }], overlayRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayRef", required: false }] }] } });
548
+ ], template: "@if (data().draggable) {\n <div (mousedown)=\"handleMouseDown($event)\" (touchstart)=\"handleTouchDown($event)\" class=\"ax-drag-handle-container\">\n <div class=\"ax-drag-handle\"></div>\n </div>\n}\n@if (data().header) {\n <ax-header\n [class.draggable-header]=\"data().draggable\"\n (mousedown)=\"data().draggable ? handleMouseDown($event) : null\"\n (touchstart)=\"data().draggable ? handleTouchDown($event) : null\"\n >\n <ax-prefix>\n <ax-title>{{ data().title | translate | async }}</ax-title>\n\n @if (data().subTitle) {\n <ax-subtitle>\n {{ data().subTitle }}\n </ax-subtitle>\n }\n </ax-prefix>\n @if (data().closeButton) {\n <ax-suffix>\n <ax-close-button></ax-close-button>\n </ax-suffix>\n }\n </ax-header>\n}\n@if (data().content) {\n <div class=\"ax-custom-template-container\">\n @if (templateContent()) {\n <ng-container *ngTemplateOutlet=\"templateContent(); context: templateContext()\"></ng-container>\n }\n <!-- Component content container - always present but only populated when componentContent() is truthy -->\n <ng-container #contentContainer></ng-container>\n </div>\n}\n\n<div class=\"ax-action-list ax-action-list-vertical\">\n @for (item of data().items; let i = $index; track i) {\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <div\n class=\"ax-action-item ax-{{ item.color || 'default' }}\"\n [class.ax-state-disabled]=\"item.disabled\"\n [tabindex]=\"i\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"ax-action-item-prefix\">\n @if (item.icon) {\n <span class=\"ax-item-icon\" [class]=\"item.icon\"></span>\n }\n <ax-text>{{ item.text | translate | async }}</ax-text>\n </div>\n <div class=\"ax-action-item-suffix\"></div>\n </div>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n }\n</div>\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-border-style:solid;--tw-font-weight:initial}}}@layer components{ax-action-sheet{background-color:var(--color-lightest,rgba(var(--ax-sys-color-lightest-surface)));width:100vw;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:block;position:relative}@media (min-width:48rem){ax-action-sheet{width:70vw}}@media (min-width:64rem){ax-action-sheet{width:50vw}}ax-action-sheet:where(.dark,.dark *){background-color:var(--color-darker,rgba(var(--ax-sys-color-darker-surface)))}ax-action-sheet .ax-custom-template-container{max-height:100vh;overflow-y:auto}ax-action-sheet .ax-drag-handle-container{padding-top:calc(var(--spacing,.25rem)*2)}ax-action-sheet .ax-drag-handle-container .ax-drag-handle{height:calc(var(--spacing,.25rem)*1);width:calc(var(--spacing,.25rem)*12);border-radius:var(--radius-lg,.5rem);background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)));margin:auto}ax-action-sheet ax-header{border-bottom-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem)*4);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);border-bottom-width:1px}@media (min-width:48rem){ax-action-sheet ax-header{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}}ax-action-sheet ax-header.draggable-header{padding-top:calc(var(--spacing,.25rem)*0);-webkit-user-select:none;user-select:none}ax-action-sheet ax-header ax-prefix,ax-action-sheet ax-header ax-suffix{flex-direction:column;justify-content:flex-start;display:flex}ax-action-sheet ax-header ax-prefix{align-items:flex-start}ax-action-sheet ax-header ax-prefix ax-title{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}ax-action-sheet ax-header ax-suffix{align-items:flex-end;max-width:fit-content}ax-action-sheet .ax-action-list{max-height:100vh;overflow-y:auto}ax-action-sheet .ax-action-list ax-title{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)))}ax-action-sheet .ax-action-list .ax-action-item{color:var(--ax-comp-bg);min-height:calc(var(--spacing,.25rem)*14)!important;font-size:var(--text-base,1rem)!important;line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))!important}ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:var(--ax-comp-bg)!important}@supports (color:color-mix(in lab,red,red)){ax-action-sheet .ax-action-list .ax-action-item:hover:not(ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item:hover.ax-state-selected){background-color:color-mix(in oklab,var(--ax-comp-bg)10%,transparent)!important}}ax-action-sheet .ax-action-list .ax-action-item.ax-default:hover:not(ax-action-sheet .ax-action-list .ax-action-item.ax-default:hover.ax-state-disabled,ax-action-sheet .ax-action-list .ax-action-item.ax-default:hover.ax-state-selected){background-color:var(--color-surface,rgba(var(--ax-sys-color-surface)))!important}ax-action-sheet .ax-action-list .ax-action-item .ax-item-icon{font-size:var(--text-2xl,1.5rem)!important;line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)))!important;margin-inline-end:calc(var(--spacing,.25rem)*3)!important}}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:\"*\";inherits:false}\n/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n"] }]
549
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], onClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "onClose", required: false }] }], overlayRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayRef", required: false }] }], __actionSheetRef__: [{ type: i0.Input, args: [{ isSignal: true, alias: "__actionSheetRef__", required: false }] }], contentContainerRef: [{
550
+ type: ViewChild,
551
+ args: ['contentContainer', { read: ViewContainerRef }]
552
+ }] } });
435
553
 
436
554
  class AXActionSheetModule {
437
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
438
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetModule, imports: [AXActionSheetComponent], exports: [AXActionSheetComponent] }); }
439
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetModule, providers: [AXActionSheetService], imports: [AXActionSheetComponent] }); }
555
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
556
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetModule, imports: [AXActionSheetComponent], exports: [AXActionSheetComponent] }); }
557
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetModule, providers: [AXActionSheetService], imports: [AXActionSheetComponent] }); }
440
558
  }
441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AXActionSheetModule, decorators: [{
559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXActionSheetModule, decorators: [{
442
560
  type: NgModule,
443
561
  args: [{
444
562
  imports: [AXActionSheetComponent],
@@ -451,5 +569,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
451
569
  * Generated bundle index. Do not edit.
452
570
  */
453
571
 
454
- export { AXActionSheetComponent, AXActionSheetModule, AXActionSheetService };
572
+ export { AXActionSheetComponent, AXActionSheetComponentBase, AXActionSheetModule, AXActionSheetService };
455
573
  //# sourceMappingURL=acorex-components-action-sheet.mjs.map