@acorex/components 21.0.2-next.9 → 21.0.3-next.10

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 (228) hide show
  1. package/conversation2/README.md +5 -8
  2. package/fesm2022/acorex-components-accordion.mjs +29 -29
  3. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  4. package/fesm2022/acorex-components-action-sheet.mjs +30 -30
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-alert.mjs +16 -16
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-aspect-ratio.mjs +5 -5
  9. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +11 -11
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-autocomplete.mjs +14 -14
  13. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  14. package/fesm2022/acorex-components-avatar.mjs +17 -16
  15. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  16. package/fesm2022/acorex-components-badge.mjs +9 -9
  17. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  18. package/fesm2022/acorex-components-bottom-navigation.mjs +14 -14
  19. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  20. package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
  21. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  22. package/fesm2022/acorex-components-button-group.mjs +40 -20
  23. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  24. package/fesm2022/acorex-components-button.mjs +35 -36
  25. package/fesm2022/acorex-components-button.mjs.map +1 -1
  26. package/fesm2022/acorex-components-calendar.mjs +283 -62
  27. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  28. package/fesm2022/acorex-components-check-box.mjs +10 -10
  29. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  30. package/fesm2022/acorex-components-chips.mjs +9 -9
  31. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  32. package/fesm2022/acorex-components-circular-progress.mjs +13 -13
  33. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  34. package/fesm2022/acorex-components-code-editor.mjs +27 -27
  35. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  36. package/fesm2022/acorex-components-color-box.mjs +14 -14
  37. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  38. package/fesm2022/acorex-components-color-palette.mjs +84 -43
  39. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  40. package/fesm2022/acorex-components-command.mjs +19 -19
  41. package/fesm2022/acorex-components-command.mjs.map +1 -1
  42. package/fesm2022/acorex-components-comment.mjs +35 -35
  43. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  44. package/fesm2022/acorex-components-conversation.mjs +105 -105
  45. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  46. package/fesm2022/acorex-components-conversation2.mjs +13663 -10220
  47. package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
  48. package/fesm2022/acorex-components-cron-job.mjs +51 -51
  49. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  50. package/fesm2022/acorex-components-data-list.mjs +31 -31
  51. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  52. package/fesm2022/acorex-components-data-pager.mjs +93 -104
  53. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-table.mjs +467 -86
  55. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  56. package/fesm2022/acorex-components-datetime-box.mjs +174 -39
  57. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  58. package/fesm2022/acorex-components-datetime-input.mjs +30 -38
  59. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-picker.mjs +62 -55
  61. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  62. package/fesm2022/acorex-components-decorators.mjs +42 -49
  63. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  64. package/fesm2022/acorex-components-dialog.mjs +19 -26
  65. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  66. package/fesm2022/acorex-components-drawer.mjs +23 -23
  67. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  68. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  69. package/fesm2022/acorex-components-dropdown.mjs +19 -19
  70. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  71. package/fesm2022/acorex-components-editor.mjs +12 -12
  72. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  73. package/fesm2022/acorex-components-fab.mjs +15 -15
  74. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  75. package/fesm2022/acorex-components-flow-chart.mjs +74 -58
  76. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  77. package/fesm2022/acorex-components-form.mjs +30 -30
  78. package/fesm2022/acorex-components-form.mjs.map +1 -1
  79. package/fesm2022/acorex-components-grid-layout-builder.mjs +15 -15
  80. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image-editor.mjs +87 -87
  82. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  83. package/fesm2022/acorex-components-image.mjs +11 -11
  84. package/fesm2022/acorex-components-image.mjs.map +1 -1
  85. package/fesm2022/acorex-components-json-viewer.mjs +12 -12
  86. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kanban.mjs +23 -23
  88. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  89. package/fesm2022/acorex-components-kbd.mjs +15 -15
  90. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  91. package/fesm2022/acorex-components-label.mjs +9 -9
  92. package/fesm2022/acorex-components-list.mjs +69 -19
  93. package/fesm2022/acorex-components-list.mjs.map +1 -1
  94. package/fesm2022/acorex-components-loading-dialog.mjs +20 -19
  95. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  96. package/fesm2022/acorex-components-loading.mjs +21 -21
  97. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  98. package/fesm2022/acorex-components-map.mjs +46 -46
  99. package/fesm2022/acorex-components-map.mjs.map +1 -1
  100. package/fesm2022/acorex-components-media-viewer.mjs +82 -82
  101. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  102. package/fesm2022/acorex-components-menu.mjs +366 -197
  103. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  104. package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs → acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs} +28 -28
  105. package/fesm2022/{acorex-components-modal-acorex-components-modal-CcXuJ4IW.mjs.map → acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs.map} +1 -1
  106. package/fesm2022/{acorex-components-modal-modal-content.component-DTZu2zbU.mjs → acorex-components-modal-modal-content.component-t9kRuhc_.mjs} +39 -39
  107. package/fesm2022/acorex-components-modal-modal-content.component-t9kRuhc_.mjs.map +1 -0
  108. package/fesm2022/acorex-components-modal.mjs +1 -1
  109. package/fesm2022/acorex-components-navbar.mjs +8 -8
  110. package/fesm2022/acorex-components-notification.mjs +28 -28
  111. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  112. package/fesm2022/acorex-components-number-box.mjs +61 -23
  113. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  114. package/fesm2022/acorex-components-otp.mjs +45 -21
  115. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  116. package/fesm2022/acorex-components-page.mjs +10 -10
  117. package/fesm2022/acorex-components-paint.mjs +53 -53
  118. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  119. package/fesm2022/acorex-components-password-box.mjs +28 -28
  120. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  121. package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
  122. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  123. package/fesm2022/acorex-components-phone-box.mjs +19 -19
  124. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  125. package/fesm2022/acorex-components-picker.mjs +31 -31
  126. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  127. package/fesm2022/acorex-components-popover.mjs +18 -14
  128. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  129. package/fesm2022/acorex-components-popup.mjs +53 -25
  130. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  131. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  132. package/fesm2022/acorex-components-qrcode.mjs +37 -20
  133. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  134. package/fesm2022/acorex-components-query-builder.mjs +15 -14
  135. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  136. package/fesm2022/acorex-components-radio.mjs +9 -9
  137. package/fesm2022/acorex-components-rail-navigation.mjs +28 -28
  138. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  139. package/fesm2022/acorex-components-range-slider.mjs +34 -34
  140. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  141. package/fesm2022/acorex-components-rate-picker.mjs +17 -17
  142. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  143. package/fesm2022/acorex-components-rest-api-generator.mjs +33 -33
  144. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  145. package/fesm2022/acorex-components-result.mjs +8 -8
  146. package/fesm2022/acorex-components-routing-progress.mjs +8 -8
  147. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  148. package/fesm2022/acorex-components-rrule.mjs +36 -36
  149. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  150. package/fesm2022/acorex-components-scheduler-picker.mjs +118 -118
  151. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  152. package/fesm2022/acorex-components-scheduler.mjs +402 -327
  153. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  154. package/fesm2022/acorex-components-search-box.mjs +9 -9
  155. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  156. package/fesm2022/acorex-components-select-box.mjs +73 -32
  157. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  158. package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
  159. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  160. package/fesm2022/acorex-components-selection-list.mjs +11 -11
  161. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  162. package/fesm2022/acorex-components-side-menu.mjs +455 -97
  163. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  164. package/fesm2022/acorex-components-skeleton.mjs +8 -8
  165. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  166. package/fesm2022/acorex-components-slider.mjs +7 -7
  167. package/fesm2022/acorex-components-sliding-item.mjs +25 -25
  168. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  169. package/fesm2022/acorex-components-step-wizard.mjs +40 -39
  170. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  171. package/fesm2022/acorex-components-switch.mjs +12 -12
  172. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  173. package/fesm2022/acorex-components-tabs.mjs +20 -20
  174. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  175. package/fesm2022/acorex-components-tag-box.mjs +19 -19
  176. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  177. package/fesm2022/acorex-components-tag.mjs +8 -8
  178. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  179. package/fesm2022/acorex-components-text-area.mjs +9 -9
  180. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  181. package/fesm2022/acorex-components-text-box.mjs +12 -12
  182. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  183. package/fesm2022/acorex-components-time-duration.mjs +34 -32
  184. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  185. package/fesm2022/acorex-components-time-line.mjs +19 -19
  186. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  187. package/fesm2022/acorex-components-toast.mjs +26 -26
  188. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  189. package/fesm2022/acorex-components-toolbar.mjs +13 -13
  190. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  191. package/fesm2022/acorex-components-tooltip.mjs +27 -18
  192. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  193. package/fesm2022/acorex-components-tree-view.mjs +326 -67
  194. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  195. package/fesm2022/acorex-components-uploader.mjs +17 -17
  196. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  197. package/fesm2022/acorex-components-video-player.mjs +8 -8
  198. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  199. package/fesm2022/acorex-components-wysiwyg.mjs +60 -53
  200. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  201. package/package.json +5 -4
  202. package/types/acorex-components-button-group.d.ts +9 -3
  203. package/types/acorex-components-button.d.ts +2 -8
  204. package/types/acorex-components-calendar.d.ts +142 -27
  205. package/types/acorex-components-color-palette.d.ts +2 -0
  206. package/types/acorex-components-conversation2.d.ts +1419 -1298
  207. package/types/acorex-components-data-pager.d.ts +6 -25
  208. package/types/acorex-components-data-table.d.ts +216 -56
  209. package/types/acorex-components-datetime-box.d.ts +79 -8
  210. package/types/acorex-components-datetime-input.d.ts +2 -2
  211. package/types/acorex-components-datetime-picker.d.ts +15 -5
  212. package/types/acorex-components-flow-chart.d.ts +4 -0
  213. package/types/acorex-components-list.d.ts +15 -1
  214. package/types/acorex-components-loading-dialog.d.ts +16 -16
  215. package/types/acorex-components-menu.d.ts +105 -36
  216. package/types/acorex-components-number-box.d.ts +9 -0
  217. package/types/acorex-components-otp.d.ts +18 -1
  218. package/types/acorex-components-popup.d.ts +11 -1
  219. package/types/acorex-components-qrcode.d.ts +1 -0
  220. package/types/acorex-components-query-builder.d.ts +1 -1
  221. package/types/acorex-components-scheduler.d.ts +26 -3
  222. package/types/acorex-components-select-box.d.ts +1 -0
  223. package/types/acorex-components-side-menu.d.ts +96 -34
  224. package/types/acorex-components-step-wizard.d.ts +2 -1
  225. package/types/acorex-components-time-duration.d.ts +1 -0
  226. package/types/acorex-components-tree-view.d.ts +43 -2
  227. package/types/acorex-components-wysiwyg.d.ts +6 -1
  228. package/fesm2022/acorex-components-modal-modal-content.component-DTZu2zbU.mjs.map +0 -1
@@ -107,13 +107,14 @@ interface AXSchedulerSlotDropEvent extends NXEvent<AXSchedulerComponent> {
107
107
  }
108
108
  declare class AXSchedulerComponent extends NXComponent implements OnInit {
109
109
  #private;
110
- private platformService;
111
110
  private unsubscriber;
112
111
  private formatService;
113
112
  private localeService;
114
113
  private calendarService;
115
114
  private schedulerService;
116
115
  private translationService;
116
+ private eventService;
117
+ private translationRevision;
117
118
  private viewModeSelectbox;
118
119
  private calendarPopover;
119
120
  private _calendarDayCellTemplate;
@@ -130,7 +131,7 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
130
131
  currentDate: _angular_core.WritableSignal<AXDateTime>;
131
132
  private _appointments;
132
133
  appointments: _angular_core.Signal<AXSchedulerAppointment[]>;
133
- protected rtl: _angular_core.WritableSignal<boolean>;
134
+ protected readonly rtl: _angular_core.Signal<boolean>;
134
135
  protected isFullScreen: _angular_core.WritableSignal<boolean>;
135
136
  protected viewsDataSource: _angular_core.WritableSignal<{
136
137
  id: string;
@@ -158,6 +159,8 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
158
159
  tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
159
160
  dataSource: _angular_core.InputSignal<AXSchedulerAppointmentDataSource>;
160
161
  holidays: _angular_core.InputSignal<(range: AXSchedulerDateRange) => Promise<AXHolidayDate[]>>;
162
+ /** Arbitrary dependency values that trigger a holiday reload when changed (e.g. selected holiday regions). */
163
+ holidayDeps: _angular_core.InputSignal<unknown>;
161
164
  views: _angular_core.InputSignal<AXSchedulerView[]>;
162
165
  selectedView: _angular_core.ModelSignal<AXSchedulerView>;
163
166
  private prevView;
@@ -179,6 +182,12 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
179
182
  protected handleAppointmentRightClickInternal(eventData: AXSchedulerAppointmentMouseEvent): void;
180
183
  protected handleAppointmentDropInternal(eventData: AXSchedulerSlotDropEvent): void;
181
184
  ngOnInit(): void;
185
+ /**
186
+ * Picks a stable anchor inside the visible week so re-aligning after a locale
187
+ * change does not drift when the previous week start was a Sunday/Monday edge.
188
+ */
189
+ private getWeekReanchorDate;
190
+ private syncCurrentDateAfterLocaleChange;
182
191
  private fillDataSource;
183
192
  private getGridDateRange;
184
193
  currentDateText: _angular_core.Signal<string>;
@@ -228,7 +237,7 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
228
237
  */
229
238
  refresh(appointments?: AXSchedulerAppointment[]): Promise<void>;
230
239
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerComponent, never>;
231
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerComponent, "ax-scheduler", never, { "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "startingDate": { "alias": "startingDate"; "required": false; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": false; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": false; "isSignal": true; }; "hasHeader": { "alias": "hasHeader"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "allowFullScreen": { "alias": "allowFullScreen"; "required": false; "isSignal": true; }; "multiDayViewDaysCount": { "alias": "multiDayViewDaysCount"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "scrollToCurrentTimeIndicator": { "alias": "scrollToCurrentTimeIndicator"; "required": false; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "holidays": { "alias": "holidays"; "required": false; "isSignal": true; }; "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": false; "isSignal": true; }; }, { "selectedView": "selectedViewChange"; "onDataLoaded": "onDataLoaded"; "onRangeChanged": "onRangeChanged"; "onSlotClicked": "onSlotClicked"; "onSlotDblClicked": "onSlotDblClicked"; "onSlotRightClick": "onSlotRightClick"; "onAppointmentDrop": "onAppointmentDrop"; "onActionClick": "onActionClick"; "onAppointmentClicked": "onAppointmentClicked"; "onAppointmentDblClicked": "onAppointmentDblClicked"; "onAppointmentRightClick": "onAppointmentRightClick"; }, never, never, true, never>;
240
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSchedulerComponent, "ax-scheduler", never, { "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "startingDate": { "alias": "startingDate"; "required": false; "isSignal": true; }; "endDayHour": { "alias": "endDayHour"; "required": false; "isSignal": true; }; "startDayHour": { "alias": "startDayHour"; "required": false; "isSignal": true; }; "hasHeader": { "alias": "hasHeader"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; "hasActions": { "alias": "hasActions"; "required": false; "isSignal": true; }; "dragStartDelay": { "alias": "dragStartDelay"; "required": false; "isSignal": true; }; "weekend": { "alias": "weekend"; "required": false; "isSignal": true; }; "allowFullScreen": { "alias": "allowFullScreen"; "required": false; "isSignal": true; }; "multiDayViewDaysCount": { "alias": "multiDayViewDaysCount"; "required": false; "isSignal": true; }; "showResourceHeaders": { "alias": "showResourceHeaders"; "required": false; "isSignal": true; }; "showCurrentTimeIndicator": { "alias": "showCurrentTimeIndicator"; "required": false; "isSignal": true; }; "scrollToCurrentTimeIndicator": { "alias": "scrollToCurrentTimeIndicator"; "required": false; "isSignal": true; }; "showUnassignedAppointments": { "alias": "showUnassignedAppointments"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "resourceTemplate": { "alias": "resourceTemplate"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "holidays": { "alias": "holidays"; "required": false; "isSignal": true; }; "holidayDeps": { "alias": "holidayDeps"; "required": false; "isSignal": true; }; "views": { "alias": "views"; "required": false; "isSignal": true; }; "selectedView": { "alias": "selectedView"; "required": false; "isSignal": true; }; }, { "selectedView": "selectedViewChange"; "onDataLoaded": "onDataLoaded"; "onRangeChanged": "onRangeChanged"; "onSlotClicked": "onSlotClicked"; "onSlotDblClicked": "onSlotDblClicked"; "onSlotRightClick": "onSlotRightClick"; "onAppointmentDrop": "onAppointmentDrop"; "onActionClick": "onActionClick"; "onAppointmentClicked": "onAppointmentClicked"; "onAppointmentDblClicked": "onAppointmentDblClicked"; "onAppointmentRightClick": "onAppointmentRightClick"; }, never, never, true, never>;
232
241
  }
233
242
 
234
243
  declare class AXSchedulerDayViewComponent extends NXComponent implements AfterViewInit, OnDestroy {
@@ -474,7 +483,9 @@ type AXSchedulerMonthDayCell = {
474
483
  isToday: boolean;
475
484
  isHoliday: boolean;
476
485
  holidayTitle?: string;
486
+ holidayDescription?: string;
477
487
  holidayCssClass?: string;
488
+ holidayColor?: string;
478
489
  appointments: AXSchedulerAppointmentSegment[];
479
490
  visibleAppointments: AXSchedulerAppointmentSegment[];
480
491
  hiddenAppointments: AXSchedulerAppointmentSegment[];
@@ -493,6 +504,7 @@ declare class AXSchedulerMonthViewComponent extends NXComponent {
493
504
  private document;
494
505
  private scheduler;
495
506
  private calendarService;
507
+ private localeService;
496
508
  private schedulerService;
497
509
  readonly: _angular_core.InputSignal<boolean>;
498
510
  draggable: _angular_core.InputSignal<boolean>;
@@ -1054,6 +1066,7 @@ declare class AXSchedulerModule {
1054
1066
  declare class AXSchedulerService {
1055
1067
  private formatService;
1056
1068
  private calendarService;
1069
+ private localeService;
1057
1070
  readonly HOURS_PER_DAY = 24;
1058
1071
  readonly MINUTES_PER_HOUR = 60;
1059
1072
  readonly BLOCK_DURATION_MINUTES = 30;
@@ -1130,6 +1143,16 @@ declare class AXSchedulerService {
1130
1143
  * @returns number - Day number (1-7, where 1 is Sunday).
1131
1144
  */
1132
1145
  getDayOfWeekNumber(dayName: AXDayOfWeekName): number;
1146
+ /**
1147
+ * Resolves the 0-based week-start index (0 = Sunday … 6 = Saturday) from locale or an override.
1148
+ */
1149
+ resolveWeekStartsOn(firstDayOfWeek?: AXDayOfWeekName): number;
1150
+ /**
1151
+ * Aligns a date to the start of its week using locale week layout and calendar weekday indexing.
1152
+ */
1153
+ alignToWeekStart(date: AXDateTime, options?: {
1154
+ firstDayOfWeek?: AXDayOfWeekName;
1155
+ }): AXDateTime;
1133
1156
  /**
1134
1157
  * Gets slot data for a given start date and view.
1135
1158
  *
@@ -163,6 +163,7 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
163
163
  private setDropdownSize;
164
164
  private updateDropdownPosition;
165
165
  private updateDropdownSize;
166
+ private _fitDropdownToContent;
166
167
  internalValueChanged(value: any): void;
167
168
  /** @ignore */
168
169
  _handleKeydown(e: KeyboardEvent): void;
@@ -1,6 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { Signal, ElementRef } from '@angular/core';
2
3
  import * as i2 from '@acorex/cdk/common';
3
4
  import { MXInteractiveComponent, AXClickEvent, NXComponent } from '@acorex/cdk/common';
5
+ import { AXMenuItem, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
4
6
  import * as i5 from '@angular/router';
5
7
  import { UrlTree, IsActiveMatchOptions } from '@angular/router';
6
8
  import * as i1 from '@angular/common';
@@ -8,9 +10,22 @@ import * as i3 from '@acorex/components/loading';
8
10
  import * as i4 from '@acorex/core/translation';
9
11
  import * as i6 from '@acorex/components/decorators';
10
12
 
13
+ /**
14
+ * DI token for the parent `ax-side-menu`. Child `ax-side-menu-item`s inject this
15
+ * to read shared state (e.g. the current display mode) without creating a
16
+ * circular import on the concrete `AXSideMenuComponent` class.
17
+ */
18
+ declare abstract class AXSideMenuBase {
19
+ abstract readonly mode: Signal<'full' | 'compact'>;
20
+ }
21
+
11
22
  declare class AXSideMenuItemClickEvent extends AXClickEvent {
12
23
  handled: boolean;
13
24
  }
25
+ /** Routes context-menu clicks back to the matching `ax-side-menu-item`. */
26
+ interface AXSideMenuContextMenuItemData {
27
+ sideMenuItem: AXSideMenuItemComponent;
28
+ }
14
29
  declare class AXSideMenuItemComponent extends MXInteractiveComponent {
15
30
  #private;
16
31
  text: _angular_core.ModelSignal<string>;
@@ -18,9 +33,6 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
18
33
  isLoading: _angular_core.ModelSignal<boolean>;
19
34
  isCollapsed: _angular_core.ModelSignal<boolean>;
20
35
  onClick: _angular_core.OutputEmitterRef<AXSideMenuItemClickEvent>;
21
- tooltipStatus: _angular_core.WritableSignal<boolean>;
22
- tooltipText: _angular_core.InputSignal<string>;
23
- private elem;
24
36
  readonly toggleOnClick: _angular_core.InputSignal<boolean>;
25
37
  readonly href: _angular_core.InputSignal<string>;
26
38
  readonly routerLink: _angular_core.InputSignal<string | any[] | UrlTree>;
@@ -29,56 +41,106 @@ declare class AXSideMenuItemComponent extends MXInteractiveComponent {
29
41
  exact: boolean;
30
42
  } | IsActiveMatchOptions>;
31
43
  readonly target: _angular_core.InputSignal<"_blank" | "_self" | "_parent" | "_top">;
32
- private childItems;
44
+ protected menuItemTrigger: _angular_core.Signal<ElementRef<HTMLElement>>;
33
45
  protected hasChild: _angular_core.WritableSignal<boolean>;
34
- private checkForChildren;
35
- protected _handleClickEvent(e: MouseEvent): void;
46
+ protected isCompactMode: _angular_core.Signal<boolean>;
47
+ /** Top-level rail entry in compact mode (opens the flyout context menu). */
48
+ protected isFirstLevel: _angular_core.Signal<boolean>;
49
+ /** Tooltip text for first-level items in compact mode only. */
50
+ protected tooltipContent: _angular_core.Signal<string>;
51
+ private readonly elem;
52
+ private readonly platformId;
53
+ private readonly destroyRef;
54
+ private readonly menuMode;
55
+ private readonly contentLabel;
56
+ private childObserver;
57
+ private childRefreshScheduled;
58
+ private readonly childItems;
59
+ private readonly childrenSlot;
60
+ private readonly childrenContextMenu;
61
+ private get hostElement();
62
+ syncMenuMode(mode: 'full' | 'compact'): void;
63
+ /** Builds the cascading `AXMenuItem` tree used by the compact-mode context menu. */
64
+ buildMenuItemsFromChildren(): AXMenuItem[];
65
+ activateFromContextMenu(nativeEvent: MouseEvent): void;
36
66
  toggle(): void;
37
67
  open(): void;
38
68
  close(): void;
69
+ protected handleContextMenuItemClick(event: AXContextMenuItemsClickEvent): void;
70
+ protected handleContextMenuClosed(): void;
71
+ protected handleClickEvent(e: MouseEvent): void;
72
+ private openCompactContextMenu;
73
+ private getContextMenuAnchorPoint;
74
+ private mapSlotChildrenToMenuItems;
75
+ private toMenuItem;
76
+ private hasNestedChildren;
77
+ /** Direct `ax-side-menu-item` children of `menuHost` (defaults to this item). */
78
+ private getDirectChildElements;
79
+ private reparentOrphanedChildren;
80
+ private scheduleChildRefresh;
81
+ private hasRelevantMutation;
82
+ private nodeListContainsMenuStructuralNode;
83
+ private getItemLabel;
84
+ private getItemIcon;
85
+ private getItemSuffix;
86
+ private getInstanceFromElement;
87
+ private closeSiblingCompactMenus;
88
+ private updateHasChild;
89
+ private updateContentLabel;
39
90
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuItemComponent, never>;
40
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuItemComponent, "ax-side-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "tooltipText": { "alias": "tooltipText"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "active": "activeChange"; "isLoading": "isLoadingChange"; "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["childItems"], ["ax-title", "ax-side-menu-item, ng-container", "ax-divider", "ax-prefix", "ax-text", "*", "ax-suffix"], true, never>;
91
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuItemComponent, "ax-side-menu-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; "isSignal": true; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "text": "textChange"; "active": "activeChange"; "isLoading": "isLoadingChange"; "isCollapsed": "isCollapsedChange"; "onClick": "onClick"; }, ["childItems"], ["ax-title", "ax-side-menu-item, ng-container, [ngTemplateOutlet]", "ax-divider", "ax-prefix", "*", "ax-suffix"], true, never>;
41
92
  }
42
93
 
43
94
  type AXSideMenuLook = 'pills' | 'with-line' | 'with-line-color' | 'default';
44
95
  type AXSideMenuLocation = 'start' | 'end';
45
- type AXSideMenuItem = {
46
- title?: string;
47
- routerLink?: string | any[] | UrlTree;
48
- routerLinkActive?: string | string[];
49
- routerLinkActiveOptions?: {
50
- exact: boolean;
51
- } | IsActiveMatchOptions;
52
- href?: string;
53
- target?: '_blank' | '_self' | '_parent' | '_top';
54
- text: string;
55
- active?: boolean;
56
- disabled?: boolean;
57
- isLoading?: boolean;
58
- isCollapsed?: boolean;
59
- icon?: string;
60
- data?: unknown;
61
- suffixText?: string;
62
- toggleOnClick?: boolean;
63
- items?: AXSideMenuItem[];
64
- };
65
96
  /**
66
97
  * @category
67
98
  * A component for displaying a side menu with customizable content.
68
99
  */
69
- declare class AXSideMenuComponent extends NXComponent {
100
+ declare class AXSideMenuComponent extends NXComponent implements AXSideMenuBase {
70
101
  #private;
71
- items: _angular_core.ModelSignal<AXSideMenuItem[]>;
102
+ items: _angular_core.ModelSignal<AXMenuItem[]>;
72
103
  readonly look: _angular_core.InputSignal<AXSideMenuLook>;
73
104
  readonly location: _angular_core.InputSignal<AXSideMenuLocation>;
74
105
  readonly mode: _angular_core.InputSignal<"full" | "compact">;
75
- children: _angular_core.Signal<readonly AXSideMenuItemComponent[]>;
76
106
  private elementRef;
77
- private firstLevelItems;
107
+ /**
108
+ * All `ax-side-menu-item` instances discovered by walking the host DOM.
109
+ *
110
+ * We use DOM discovery (instead of `contentChildren`) because Angular content
111
+ * queries do **not** traverse embedded views created by `ngTemplateOutlet`,
112
+ * and the `AXSideMenuBase` DI token is not reachable from inside those views
113
+ * either (they inherit injection from the template's declaration site, not
114
+ * the insertion site). Walking the DOM works for direct projection,
115
+ * structural directives, and recursive `ngTemplateOutlet`-based templates
116
+ * uniformly.
117
+ */
118
+ private _items;
119
+ /** Read-only signal exposing every discovered `ax-side-menu-item` instance. */
120
+ readonly children: _angular_core.Signal<AXSideMenuItemComponent[]>;
121
+ private platformId;
122
+ private destroyRef;
123
+ hostElement: HTMLElement;
124
+ private domRefreshScheduled;
125
+ private domRefreshObserver;
126
+ /**
127
+ * Walks the host DOM to discover every nested `ax-side-menu-item`, looks up
128
+ * the component instance through the `__axContext__` property that
129
+ * `MXBaseComponent.ngOnInit` attaches to each host element, and updates the
130
+ * internal items signal and `.first-level` CSS class accordingly.
131
+ *
132
+ * Triggered both initially and from a `MutationObserver` so recursive
133
+ * templates that add/remove items at runtime stay in sync.
134
+ */
135
+ private refreshItemsFromDom;
136
+ private scheduleDomRefresh;
137
+ private hasRelevantMenuItemMutation;
138
+ private nodeListContainsMenuItem;
139
+ private addFirstLevelClass;
78
140
  /** @ignore */
79
141
  private get __hostClass();
80
142
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSideMenuComponent, never>;
81
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuComponent, "ax-side-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "location": { "alias": "location"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; }, ["children"], ["ax-side-menu-item,ax-title,ng-container,ng-content"], true, never>;
143
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXSideMenuComponent, "ax-side-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "location": { "alias": "location"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; }, never, ["ax-side-menu-item,ax-title,ng-container,[ngTemplateOutlet]"], true, never>;
82
144
  }
83
145
 
84
146
  declare class AXOutlineSideMenuDirective {
@@ -107,5 +169,5 @@ declare class AXSideMenuModule {
107
169
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXSideMenuModule>;
108
170
  }
109
171
 
110
- export { AXOutlineSideMenuDirective, AXSideMenuComponent, AXSideMenuItemClickEvent, AXSideMenuItemComponent, AXSideMenuModule };
111
- export type { AXSideMenuItem, AXSideMenuLocation, AXSideMenuLook };
172
+ export { AXOutlineSideMenuDirective, AXSideMenuBase, AXSideMenuComponent, AXSideMenuItemClickEvent, AXSideMenuItemComponent, AXSideMenuModule };
173
+ export type { AXSideMenuContextMenuItemData, AXSideMenuLocation, AXSideMenuLook };
@@ -6,7 +6,7 @@ interface AXStepWizardItem {
6
6
  id: string;
7
7
  title: string;
8
8
  }
9
- type AXStepWizardLook = 'rounded-icon' | 'circular-icon' | 'circular' | 'text-line' | 'custom';
9
+ type AXStepWizardLook = 'rounded-icon' | 'circular-icon' | 'circular' | 'text-line' | 'rounded-arrow-minimal' | 'rectangular-arrow-minimal' | 'custom';
10
10
  type AXStepWizardSize = 'ax-sm' | 'ax-md' | 'ax-lg';
11
11
  type AXStepWizardState = 'pending' | 'success' | 'error' | 'warning' | 'clear';
12
12
 
@@ -21,6 +21,7 @@ declare class AXStepWizardItemComponent extends MXBaseComponent {
21
21
  state: _angular_core.ModelSignal<AXStepWizardState>;
22
22
  stepId: _angular_core.WritableSignal<string>;
23
23
  className: _angular_core.Signal<string>;
24
+ isArrowMinimalLook: _angular_core.Signal<boolean>;
24
25
  template: _angular_core.Signal<TemplateRef<unknown>>;
25
26
  set id(v: string);
26
27
  private get __hostClass();
@@ -23,6 +23,7 @@ declare class AXTimeDurationComponent extends AXTimeDurationComponent_base {
23
23
  protected maskPlaceHolder: _angular_core.WritableSignal<any>;
24
24
  private translationService;
25
25
  private timeDurationFormatter;
26
+ private ngZone;
26
27
  private onInputFire;
27
28
  private onInternalValueChangedFire;
28
29
  private YEAR;
@@ -97,6 +97,14 @@ interface AXTreeViewNodeToggleEvent extends AXHtmlEvent {
97
97
  }
98
98
  interface AXTreeViewNodeSelectEvent extends AXHtmlEvent {
99
99
  node: AXTreeViewNode;
100
+ /** When false, the selection change was applied programmatically (controlled sync, selectNode, etc.). */
101
+ isUserInteraction?: boolean;
102
+ }
103
+ type AXTreeViewSelectionSource = 'user' | 'programmatic';
104
+ /** Options for {@link AXTreeViewComponent.selectAndReveal}. */
105
+ interface AXTreeViewSelectAndRevealOptions {
106
+ /** Ancestor node ids from root to parent for each target id (parallel to nodeIds). */
107
+ ancestorPaths?: string[][];
100
108
  }
101
109
  interface AXTreeViewNodeDoubleClickEvent extends AXHtmlEvent {
102
110
  node: AXTreeViewNode;
@@ -106,6 +114,8 @@ interface AXTreeViewNodeClickEvent extends AXHtmlEvent {
106
114
  }
107
115
  interface AXTreeViewSelectionChangeEvent extends AXEvent {
108
116
  selectedNodes: AXTreeViewNode[];
117
+ selectedIds: string[];
118
+ source: AXTreeViewSelectionSource;
109
119
  }
110
120
  interface AXTreeViewDropEvent extends AXEvent {
111
121
  node: AXTreeViewNode;
@@ -260,6 +270,13 @@ declare class AXTreeViewComponent {
260
270
  readonly doubleClickDuration: _angular_core.InputSignal<number>;
261
271
  /** Duration in milliseconds for detecting double-clicks. Default: `50`. */
262
272
  readonly tooltipDelay: _angular_core.InputSignal<number>;
273
+ /**
274
+ * When true, {@link selectedIds} is the source of truth: the tree applies it on load/reload
275
+ * and emits updates on user interaction. Default: `false` (existing imperative API unchanged).
276
+ */
277
+ readonly controlledSelection: _angular_core.InputSignal<boolean>;
278
+ /** Selected node ids (two-way). Used when {@link controlledSelection} is true. */
279
+ readonly selectedIds: _angular_core.ModelSignal<string[]>;
263
280
  /** Emitted before a drop operation - set canceled to true to prevent drop */
264
281
  readonly onBeforeDrop: _angular_core.OutputEmitterRef<AXTreeViewBeforeDropEvent>;
265
282
  /** Emitted when a node is toggled (expanded/collapsed) */
@@ -297,6 +314,11 @@ declare class AXTreeViewComponent {
297
314
  protected readonly directionCollapsedIcon: _angular_core.Signal<string>;
298
315
  /** Flag to prevent infinite loops when syncing datasource */
299
316
  private isUpdatingFromDatasource;
317
+ /** Bumped when controlled selection changes so stale async sync is ignored. */
318
+ private selectionSyncRevision;
319
+ private pendingApplySelectedIdsTimeout?;
320
+ /** Prevents selectedIds effect from re-applying when the model was updated from the tree. */
321
+ private isUpdatingSelectedIdsModel;
300
322
  /** Computed to check if datasource is a function */
301
323
  private readonly isLazyDataSource;
302
324
  /** Computed: Returns true when selection is restricted to leaf nodes only */
@@ -423,6 +445,15 @@ declare class AXTreeViewComponent {
423
445
  * Get all selected nodes
424
446
  */
425
447
  getSelectedNodes(): AXTreeViewNode[];
448
+ /**
449
+ * Returns selected node ids (from {@link selectedIds} when controlled, otherwise from tree state).
450
+ */
451
+ getSelectedIds(): string[];
452
+ /**
453
+ * Expands ancestor paths (when provided) and applies selection.
454
+ * Intended for lazy trees with {@link controlledSelection}.
455
+ */
456
+ selectAndReveal(nodeIds: string[], options?: AXTreeViewSelectAndRevealOptions): Promise<void>;
426
457
  /**
427
458
  * Delete selected nodes from the tree
428
459
  */
@@ -659,6 +690,16 @@ declare class AXTreeViewComponent {
659
690
  * Emit selection change event with all selected nodes
660
691
  */
661
692
  private emitSelectionChange;
693
+ private bumpSelectionSyncRevision;
694
+ private isSelectionSyncCurrent;
695
+ private normalizeSelectedIdsForMode;
696
+ private areSelectedIdsEqual;
697
+ private setSelectedIdsModel;
698
+ private syncSelectedIdsModelFromTree;
699
+ private scheduleApplySelectedIdsToTree;
700
+ private applySelectedIdsToTree;
701
+ private applySelectedIdsToTreeWithRetry;
702
+ private expandAncestorPaths;
662
703
  /**
663
704
  * Handle node double click
664
705
  */
@@ -797,7 +838,7 @@ declare class AXTreeViewComponent {
797
838
  */
798
839
  private handleError;
799
840
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXTreeViewComponent, never>;
800
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "hiddenField": { "alias": "hiddenField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "childrenCountField": { "alias": "childrenCountField"; "required": false; "isSignal": true; }; "dataField": { "alias": "dataField"; "required": false; "isSignal": true; }; "inheritDisabled": { "alias": "inheritDisabled"; "required": false; "isSignal": true; }; "expandOnDoubleClick": { "alias": "expandOnDoubleClick"; "required": false; "isSignal": true; }; "doubleClickDuration": { "alias": "doubleClickDuration"; "required": false; "isSignal": true; }; "tooltipDelay": { "alias": "tooltipDelay"; "required": false; "isSignal": true; }; }, { "datasource": "datasourceChange"; "onBeforeDrop": "onBeforeDrop"; "onNodeToggle": "onNodeToggle"; "onNodeSelect": "onNodeSelect"; "onNodeDoubleClick": "onNodeDoubleClick"; "onNodeClick": "onNodeClick"; "onSelectionChange": "onSelectionChange"; "onOrderChange": "onOrderChange"; "onMoveChange": "onMoveChange"; "onItemsChange": "onItemsChange"; }, never, never, true, never>;
841
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXTreeViewComponent, "ax-tree-view", never, { "datasource": { "alias": "datasource"; "required": true; "isSignal": true; }; "selectMode": { "alias": "selectMode"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "dragArea": { "alias": "dragArea"; "required": false; "isSignal": true; }; "dragBehavior": { "alias": "dragBehavior"; "required": false; "isSignal": true; }; "showIcons": { "alias": "showIcons"; "required": false; "isSignal": true; }; "showChildrenBadge": { "alias": "showChildrenBadge"; "required": false; "isSignal": true; }; "expandedIcon": { "alias": "expandedIcon"; "required": false; "isSignal": true; }; "collapsedIcon": { "alias": "collapsedIcon"; "required": false; "isSignal": true; }; "indentSize": { "alias": "indentSize"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "idField": { "alias": "idField"; "required": false; "isSignal": true; }; "titleField": { "alias": "titleField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "iconField": { "alias": "iconField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "selectedField": { "alias": "selectedField"; "required": false; "isSignal": true; }; "indeterminateField": { "alias": "indeterminateField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "hiddenField": { "alias": "hiddenField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "childrenCountField": { "alias": "childrenCountField"; "required": false; "isSignal": true; }; "dataField": { "alias": "dataField"; "required": false; "isSignal": true; }; "inheritDisabled": { "alias": "inheritDisabled"; "required": false; "isSignal": true; }; "expandOnDoubleClick": { "alias": "expandOnDoubleClick"; "required": false; "isSignal": true; }; "doubleClickDuration": { "alias": "doubleClickDuration"; "required": false; "isSignal": true; }; "tooltipDelay": { "alias": "tooltipDelay"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "controlledSelection"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; }, { "datasource": "datasourceChange"; "selectedIds": "selectedIdsChange"; "onBeforeDrop": "onBeforeDrop"; "onNodeToggle": "onNodeToggle"; "onNodeSelect": "onNodeSelect"; "onNodeDoubleClick": "onNodeDoubleClick"; "onNodeClick": "onNodeClick"; "onSelectionChange": "onSelectionChange"; "onOrderChange": "onOrderChange"; "onMoveChange": "onMoveChange"; "onItemsChange": "onItemsChange"; }, never, never, true, never>;
801
842
  }
802
843
 
803
844
  declare class AXTreeViewModule {
@@ -993,4 +1034,4 @@ declare class AXTreeViewService {
993
1034
  }
994
1035
 
995
1036
  export { AXTreeViewComponent, AXTreeViewModule, AXTreeViewService };
996
- export type { AXTreeViewBeforeDropEvent, AXTreeViewCallback, AXTreeViewChildrenSelectionState, AXTreeViewDataSource, AXTreeViewDragArea, AXTreeViewDragBehavior, AXTreeViewDropEvent, AXTreeViewFlatNode, AXTreeViewItemTemplateContext, AXTreeViewNode, AXTreeViewNodeClickEvent, AXTreeViewNodeDoubleClickEvent, AXTreeViewNodeSelectEvent, AXTreeViewNodeToggleEvent, AXTreeViewSelectMode, AXTreeViewSelectionBehavior, AXTreeViewSelectionChangeEvent, AXTreeViewViewLook };
1037
+ export type { AXTreeViewBeforeDropEvent, AXTreeViewCallback, AXTreeViewChildrenSelectionState, AXTreeViewDataSource, AXTreeViewDragArea, AXTreeViewDragBehavior, AXTreeViewDropEvent, AXTreeViewFlatNode, AXTreeViewItemTemplateContext, AXTreeViewNode, AXTreeViewNodeClickEvent, AXTreeViewNodeDoubleClickEvent, AXTreeViewNodeSelectEvent, AXTreeViewNodeToggleEvent, AXTreeViewSelectAndRevealOptions, AXTreeViewSelectMode, AXTreeViewSelectionBehavior, AXTreeViewSelectionChangeEvent, AXTreeViewSelectionSource, AXTreeViewViewLook };
@@ -26,6 +26,11 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
26
26
  *
27
27
  */
28
28
  placeHolder: i0.InputSignal<string>;
29
+ /**
30
+ * Specifies the initial editor height in number of text lines.
31
+ *
32
+ */
33
+ initialLine: i0.InputSignal<number>;
29
34
  private wysiwygService;
30
35
  protected isQuillLoaded: i0.WritableSignal<boolean>;
31
36
  private isEditorClean;
@@ -65,7 +70,7 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
65
70
  private get __hostName();
66
71
  get __hostClass(): string;
67
72
  static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygContainerComponent, never>;
68
- static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygContainerComponent, "ax-wysiwyg-container", never, { "look": { "alias": "look"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, ["container", "toolbar"], ["*", "ax-validation-rule"], true, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXWysiwygContainerComponent, "ax-wysiwyg-container", never, { "look": { "alias": "look"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "initialLine": { "alias": "initialLine"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, ["container", "toolbar"], ["*", "ax-validation-rule"], true, never>;
69
74
  }
70
75
 
71
76
  /**
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-components-modal-modal-content.component-DTZu2zbU.mjs","sources":["../../../../packages/components/modal/src/lib/modal-content/modal-content.component.ts","../../../../packages/components/modal/src/lib/modal-content/modal-content.component.html"],"sourcesContent":["import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXComponentContent, AXComponentInputs, AXComponentType } from '@acorex/core/components';\nimport { CommonModule } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n model,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AXModalFooterComponent } from '../modal-footer/modal-footer.component';\nimport { AXModalStateService } from '../modal-state.service';\n\n@Component({\n selector: 'ax-modal-content',\n templateUrl: './modal-content.component.html',\n styleUrl: './modal-content.component.compiled.css',\n imports: [CommonModule, AXButtonComponent, AXDecoratorModule],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [AXFocusTrapDirective],\n providers: [{ provide: AXComponent, useExisting: AXModalContentComponent }],\n})\nexport class AXModalContentComponent extends NXComponent {\n __content__ = input.required<AXComponentContent | HTMLElement>();\n public id = input<number>();\n public inputs = model<AXComponentInputs>();\n private serviceState = inject(AXModalStateService);\n protected sanitizer = inject(DomSanitizer);\n\n protected modalContainer = viewChild<ElementRef>('c');\n protected footer = viewChild<AXModalFooterComponent>(AXModalFooterComponent);\n\n protected isTemplate = computed(() => this.__content__() instanceof TemplateRef);\n protected isHtmlElement = computed(() => this.__content__() instanceof HTMLElement);\n\n public component = computed(() => this.__content__() as AXComponentType<any>);\n public template = computed(() => this.__content__() as TemplateRef<any>);\n public element = computed(() => this.__content__() as HTMLElement);\n\n protected modalSizeState = signal<'minimize' | 'normal'>('normal');\n protected fullScreenState = signal(false);\n private isMouseDown = signal(false);\n private offsetX = signal(0);\n private offsetY = signal(0);\n private prevLeft = signal('');\n private prevTop = signal('');\n private backdropState = computed(() => this.serviceState.modalOption()?.backdrop?.enabled ?? true);\n private closeOnEscape = computed(() => this.serviceState.modalOption()?.closeOnEscape ?? true);\n protected panelClass = computed(() => this.serviceState.modalOption()?.panelClass ?? '');\n protected headerState = computed(() => this.serviceState.modalOption()?.header ?? false);\n protected footerState = computed(() => this.serviceState.modalOption()?.footer ?? false);\n protected closeHeaderButton = computed(() => this.serviceState.modalOption()?.buttons?.close ?? true);\n private backdropBackground = computed(() => this.serviceState.modalOption()?.backdrop?.background ?? true);\n private backdropClass = computed(() => this.serviceState.modalOption()?.backdrop?.backdropClass ?? '');\n private backdropCloseOnClick = computed(() => this.serviceState.modalOption()?.backdrop?.closeOnClick ?? true);\n private minimizePosition = computed(\n () => this.serviceState.modalOption()?.buttons?.minimize?.position ?? 'bottom-right',\n );\n protected minimizeState = computed(() => this.serviceState.modalOption()?.buttons?.minimize?.enable ?? false);\n protected maximizeState = computed(() => this.serviceState.modalOption()?.buttons?.maximize ?? false);\n protected modalSize = computed(() => this.serviceState.modalOption()?.size ?? 'lg');\n protected headerTitle = computed(() => this.serviceState.modalOption()?.title ?? '');\n private draggable = computed(() => this.serviceState.modalOption()?.draggable ?? true);\n\n #init = afterNextRender(() => {\n this.nativeElement.focus();\n const popFooter = this.nativeElement.querySelector<HTMLDivElement>('.ax-modal-footer');\n const footer = this.nativeElement.querySelector<HTMLDivElement>('.ax-modal-content ax-modal-footer');\n if (footer) {\n setTimeout(() => {\n popFooter?.append(footer);\n });\n }\n });\n\n protected close() {\n this.serviceState.close(this.id());\n }\n\n minimize() {\n if (this.fullScreenState()) document.exitFullscreen();\n this.modalContainer().nativeElement.style.transition = 'all 200ms ease-out';\n\n this.modalContainer().nativeElement.style.top = `auto`;\n this.modalContainer().nativeElement.style.bottom = `0`;\n\n if (this.backdropState()) this.removeBackdrop();\n this.modalContainer().nativeElement.classList.remove('ax-normal-modal');\n this.modalContainer().nativeElement.classList.add('ax-minimize-modal');\n\n requestAnimationFrame(() => {\n const width = this.modalContainer().nativeElement.offsetWidth;\n const index = this.serviceState.getMapIndexOf(this.id());\n\n if (this.minimizePosition() === 'bottom-right') {\n this.modalContainer().nativeElement.style.left = `auto`;\n this.modalContainer().nativeElement.style.right = `${index * (width + 10)}px`;\n } else {\n this.modalContainer().nativeElement.style.right = `auto`;\n this.modalContainer().nativeElement.style.left = `${index * (width + 10)}px`;\n }\n });\n\n this.modalSizeState.set('minimize');\n }\n\n maximize() {\n this.modalContainer().nativeElement.style.transition = 'none';\n\n if (this.modalSizeState() === 'minimize') this.restore();\n\n if (!document.fullscreenElement) {\n this.modalContainer().nativeElement.requestFullscreen();\n this.fullScreenState.set(true);\n } else {\n document.exitFullscreen();\n }\n\n document.addEventListener('fullscreenchange', () => {\n if (!document.fullscreenElement) {\n this.fullScreenState.set(false);\n }\n });\n }\n\n restore() {\n setTimeout(() => {\n this.modalContainer().nativeElement.style.transition = 'none';\n }, 200);\n\n if (this.fullScreenState()) {\n document.exitFullscreen();\n return;\n }\n\n this.modalContainer().nativeElement.style.bottom = `auto`;\n this.modalContainer().nativeElement.style.right = `auto`;\n this.modalContainer().nativeElement.style.left = this.prevLeft();\n this.modalContainer().nativeElement.style.top = this.prevTop();\n\n if (this.backdropState()) this.addBackdrop();\n this.modalContainer().nativeElement.classList.remove(`ax-minimize-modal`);\n this.modalContainer().nativeElement.classList.add('ax-normal-modal');\n this.modalSizeState.set('normal');\n }\n\n protected pointerDownHandler(e: MouseEvent) {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState()) return;\n this.isMouseDown.set(true);\n this.offsetX.set(e.clientX - this.modalContainer().nativeElement.offsetLeft);\n this.offsetY.set(e.clientY - this.modalContainer().nativeElement.offsetTop);\n }\n\n private addBackdrop() {\n const backdropElem = document.createElement('div');\n backdropElem.classList.add('ax-modal-drawer-backdrop');\n\n if (this.backdropClass()) {\n backdropElem.classList.add(...this.backdropClass().split(' '));\n } else {\n backdropElem.classList.add('ax-default-backdrop');\n }\n\n backdropElem.addEventListener('pointerdown', (e: MouseEvent) => {\n if (!this.backdropCloseOnClick()) return;\n if (e.target === e.currentTarget) {\n this.close();\n }\n });\n\n this.nativeElement.appendChild(backdropElem);\n }\n\n private removeBackdrop() {\n const backdropElem = this.nativeElement.querySelector('.ax-modal-drawer-backdrop');\n if (backdropElem) {\n backdropElem.remove();\n }\n }\n\n @HostListener('pointermove', ['$event'])\n protected pointerMoveHandler(e: MouseEvent) {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState()) return;\n if (!this.isMouseDown()) return;\n this.modalContainer().nativeElement.style.left = `${e.clientX - this.offsetX()}px`;\n this.modalContainer().nativeElement.style.top = `${e.clientY - this.offsetY()}px`;\n this.prevLeft.set(`${e.clientX - this.offsetX()}px`);\n this.prevTop.set(`${e.clientY - this.offsetY()}px`);\n }\n\n @HostListener('pointerup')\n @HostListener('pointerleave')\n protected pointerUpHandler() {\n if (!this.draggable() || this.modalSizeState() === 'minimize' || this.fullScreenState()) return;\n this.isMouseDown.set(false);\n }\n\n @HostBinding('attr.tabindex') get role() {\n return '0';\n }\n\n @HostListener('keydown', ['$event'])\n protected escapeHandler(e: KeyboardEvent) {\n if (e.key === 'Escape' && this.closeOnEscape()) {\n this.close();\n }\n }\n\n #eff = effect(() => {\n const host = this.nativeElement;\n if (this.draggable()) host.classList.add('ax-draggable');\n if (!this.backdropState()) return;\n this.addBackdrop();\n if (!this.backdropBackground()) return;\n });\n}\n","<div\n #c\n class=\"ax-modal-container ax-{{ modalSizeState() }}-modal ax-modal-{{ modalSize() }} {{ panelClass() }}\"\n animate.enter=\"ax-fade-slide-in\"\n>\n @if (headerState()) {\n <div (pointerdown)=\"pointerDownHandler($event)\" class=\"ax-modal-header\">\n <ax-text>{{ headerTitle() }}</ax-text>\n\n <div class=\"flex\">\n @if (minimizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"minimize()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-minimize\"> </ax-icon>\n </ax-button>\n }\n\n @if (modalSizeState() !== 'normal' || fullScreenState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"restore()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-maximize\"> </ax-icon>\n </ax-button>\n }\n\n @if (maximizeState()) {\n <ax-button class=\"ax-sm\" (onClick)=\"maximize()\" look=\"blank\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-full-screen\"> </ax-icon>\n </ax-button>\n }\n\n @if (closeHeaderButton()) {\n <ax-button class=\"ax-sm\" look=\"blank\" (onClick)=\"close()\" color=\"default\">\n <ax-icon class=\"ax-icon ax-icon-close\"> </ax-icon>\n </ax-button>\n }\n </div>\n </div>\n }\n\n <div class=\"ax-modal-content\">\n @if (isTemplate()) {\n <ng-container [ngTemplateOutlet]=\"this.template()\" [ngTemplateOutletContext]=\"inputs()\"></ng-container>\n } @else if (isHtmlElement()) {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(this.element().outerHTML)\"></div>\n } @else {\n <ng-container [ngComponentOutlet]=\"this.component()\" [ngComponentOutletInputs]=\"inputs()\"></ng-container>\n }\n </div>\n\n @if (footerState()) {\n <div class=\"ax-modal-footer\"></div>\n }\n</div>\n"],"names":[],"mappings":"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"}