@acorex/components 21.0.3-next.9 → 21.1.0-next.1

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 (214) hide show
  1. package/conversation/README.md +462 -2
  2. package/fesm2022/acorex-components-accordion.mjs +4 -4
  3. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  4. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  5. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  6. package/fesm2022/acorex-components-alert.mjs +2 -2
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-aspect-ratio.mjs +2 -2
  9. package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
  10. package/fesm2022/acorex-components-audio-wave.mjs +2 -2
  11. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  12. package/fesm2022/acorex-components-avatar.mjs +2 -2
  13. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  14. package/fesm2022/acorex-components-badge.mjs +17 -12
  15. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  16. package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
  17. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  18. package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
  19. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  20. package/fesm2022/acorex-components-button-group.mjs +2 -2
  21. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  22. package/fesm2022/acorex-components-button.mjs +6 -6
  23. package/fesm2022/acorex-components-button.mjs.map +1 -1
  24. package/fesm2022/acorex-components-calendar.mjs +6 -5
  25. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  26. package/fesm2022/acorex-components-check-box.mjs +2 -2
  27. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  28. package/fesm2022/acorex-components-chips.mjs +2 -2
  29. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  30. package/fesm2022/acorex-components-circular-progress.mjs +2 -2
  31. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  32. package/fesm2022/acorex-components-color-box.mjs +2 -2
  33. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  34. package/fesm2022/acorex-components-color-palette.mjs +2 -2
  35. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  36. package/fesm2022/acorex-components-command.mjs +2 -2
  37. package/fesm2022/acorex-components-command.mjs.map +1 -1
  38. package/fesm2022/acorex-components-comment.mjs +6 -6
  39. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  40. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-C28hl7iD.mjs +101 -0
  41. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-C28hl7iD.mjs.map +1 -0
  42. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs +1840 -0
  43. package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -0
  44. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Duvap4M4.mjs +223 -0
  45. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-Duvap4M4.mjs.map +1 -0
  46. package/fesm2022/acorex-components-conversation.mjs +22272 -1218
  47. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  48. package/fesm2022/acorex-components-cron-job.mjs +14 -14
  49. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  50. package/fesm2022/acorex-components-data-list.mjs +2 -2
  51. package/fesm2022/acorex-components-data-list.mjs.map +1 -1
  52. package/fesm2022/acorex-components-data-pager.mjs +2 -2
  53. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  54. package/fesm2022/acorex-components-data-table.mjs +2 -2
  55. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  56. package/fesm2022/acorex-components-datetime-box.mjs +2 -2
  57. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  58. package/fesm2022/acorex-components-datetime-input.mjs +2 -2
  59. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  60. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  61. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  62. package/fesm2022/acorex-components-decorators.mjs +11 -18
  63. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  64. package/fesm2022/acorex-components-dialog.mjs +3 -4
  65. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  66. package/fesm2022/acorex-components-drawer.mjs +4 -4
  67. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  68. package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
  69. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  70. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  71. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  72. package/fesm2022/acorex-components-editor.mjs +2 -2
  73. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  74. package/fesm2022/acorex-components-fab.mjs +2 -2
  75. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  76. package/fesm2022/acorex-components-file-viewer.mjs +740 -0
  77. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -0
  78. package/fesm2022/acorex-components-flow-chart.mjs +6 -6
  79. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  80. package/fesm2022/acorex-components-form.mjs +2 -2
  81. package/fesm2022/acorex-components-form.mjs.map +1 -1
  82. package/fesm2022/acorex-components-grid-layout-builder.mjs +2 -2
  83. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  84. package/fesm2022/acorex-components-image-editor.mjs +387 -188
  85. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  86. package/fesm2022/acorex-components-image.mjs +2 -2
  87. package/fesm2022/acorex-components-image.mjs.map +1 -1
  88. package/fesm2022/acorex-components-json-viewer.mjs +2 -2
  89. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  90. package/fesm2022/acorex-components-kanban.mjs +2 -2
  91. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  92. package/fesm2022/acorex-components-kbd.mjs +4 -6
  93. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  94. package/fesm2022/acorex-components-label.mjs +2 -2
  95. package/fesm2022/acorex-components-label.mjs.map +1 -1
  96. package/fesm2022/acorex-components-list.mjs +16 -3
  97. package/fesm2022/acorex-components-list.mjs.map +1 -1
  98. package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
  99. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  100. package/fesm2022/acorex-components-loading.mjs +4 -4
  101. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  102. package/fesm2022/acorex-components-map.mjs +2 -2
  103. package/fesm2022/acorex-components-map.mjs.map +1 -1
  104. package/fesm2022/acorex-components-media-viewer.mjs +10 -10
  105. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  106. package/fesm2022/acorex-components-menu.mjs +4 -4
  107. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  108. package/fesm2022/{acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs → acorex-components-modal-acorex-components-modal-dF5HUEBH.mjs} +4 -4
  109. package/fesm2022/acorex-components-modal-acorex-components-modal-dF5HUEBH.mjs.map +1 -0
  110. package/fesm2022/{acorex-components-modal-modal-content.component-t9kRuhc_.mjs → acorex-components-modal-modal-content.component-BGTYje3j.mjs} +4 -4
  111. package/fesm2022/acorex-components-modal-modal-content.component-BGTYje3j.mjs.map +1 -0
  112. package/fesm2022/acorex-components-modal.mjs +1 -1
  113. package/fesm2022/acorex-components-navbar.mjs +2 -2
  114. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  115. package/fesm2022/acorex-components-notification.mjs +2 -2
  116. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  117. package/fesm2022/acorex-components-number-box.mjs +2 -2
  118. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  119. package/fesm2022/acorex-components-otp.mjs +2 -2
  120. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  121. package/fesm2022/acorex-components-paint.mjs +4 -4
  122. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  123. package/fesm2022/acorex-components-password-box.mjs +4 -4
  124. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  125. package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
  126. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  127. package/fesm2022/acorex-components-phone-box.mjs +2 -2
  128. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  129. package/fesm2022/acorex-components-picker.mjs +6 -6
  130. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  131. package/fesm2022/acorex-components-popup.mjs +3 -3
  132. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  133. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  134. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  135. package/fesm2022/acorex-components-qrcode.mjs +2 -2
  136. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  137. package/fesm2022/acorex-components-query-builder.mjs +2 -2
  138. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  139. package/fesm2022/acorex-components-radio.mjs +2 -2
  140. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  141. package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
  142. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  143. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  144. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  145. package/fesm2022/acorex-components-rate-picker.mjs +2 -2
  146. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  147. package/fesm2022/acorex-components-rest-api-generator.mjs +10 -10
  148. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  149. package/fesm2022/acorex-components-result.mjs +2 -2
  150. package/fesm2022/acorex-components-result.mjs.map +1 -1
  151. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  152. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  153. package/fesm2022/acorex-components-scheduler-picker.mjs +40 -32
  154. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  155. package/fesm2022/acorex-components-scheduler.mjs +19 -22
  156. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  157. package/fesm2022/acorex-components-search-box.mjs +4 -2
  158. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  159. package/fesm2022/acorex-components-select-box.mjs +58 -11
  160. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  161. package/fesm2022/acorex-components-selection-list-2.mjs +2 -2
  162. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  163. package/fesm2022/acorex-components-selection-list.mjs +2 -2
  164. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  165. package/fesm2022/acorex-components-side-menu.mjs +2 -2
  166. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  167. package/fesm2022/acorex-components-skeleton.mjs +2 -2
  168. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  169. package/fesm2022/acorex-components-sliding-item.mjs +2 -2
  170. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  171. package/fesm2022/acorex-components-step-wizard.mjs +2 -2
  172. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  173. package/fesm2022/acorex-components-switch.mjs +2 -2
  174. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  175. package/fesm2022/acorex-components-tabs.mjs +2 -2
  176. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  177. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  178. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  179. package/fesm2022/acorex-components-tag.mjs +2 -2
  180. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  181. package/fesm2022/acorex-components-text-area.mjs +2 -2
  182. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  183. package/fesm2022/acorex-components-text-box.mjs +2 -2
  184. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  185. package/fesm2022/acorex-components-time-line.mjs +4 -4
  186. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  187. package/fesm2022/acorex-components-toast.mjs +2 -2
  188. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  189. package/fesm2022/acorex-components-toolbar.mjs +2 -2
  190. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  191. package/fesm2022/acorex-components-tooltip.mjs +2 -2
  192. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  193. package/fesm2022/acorex-components-tree-view.mjs +2 -2
  194. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  195. package/fesm2022/acorex-components-uploader.mjs +6 -6
  196. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  197. package/fesm2022/acorex-components-wysiwyg.mjs +6 -6
  198. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  199. package/package.json +12 -10
  200. package/types/acorex-components-badge.d.ts +2 -4
  201. package/types/acorex-components-conversation.d.ts +6574 -479
  202. package/types/acorex-components-file-viewer.d.ts +180 -0
  203. package/types/acorex-components-image-editor.d.ts +74 -47
  204. package/types/acorex-components-kbd.d.ts +2 -2
  205. package/types/acorex-components-list.d.ts +19 -9
  206. package/types/acorex-components-scheduler-picker.d.ts +2 -0
  207. package/types/acorex-components-scheduler.d.ts +1 -3
  208. package/types/acorex-components-select-box.d.ts +6 -0
  209. package/conversation2/README.md +0 -463
  210. package/fesm2022/acorex-components-conversation2.mjs +0 -22194
  211. package/fesm2022/acorex-components-conversation2.mjs.map +0 -1
  212. package/fesm2022/acorex-components-modal-acorex-components-modal-lJw2DGSj.mjs.map +0 -1
  213. package/fesm2022/acorex-components-modal-modal-content.component-t9kRuhc_.mjs.map +0 -1
  214. package/types/acorex-components-conversation2.d.ts +0 -6365
@@ -0,0 +1,180 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Provider, OnDestroy } from '@angular/core';
3
+ import * as _acorex_core_file from '@acorex/core/file';
4
+ import { AXFileTypeExtensionHint, AXFileType, AXFileTypeViewComponent } from '@acorex/core/file';
5
+ import { AXStyleColorType } from '@acorex/cdk/common';
6
+ import { SafeResourceUrl } from '@angular/platform-browser';
7
+
8
+ /** Single item displayed in a file-viewer carousel. */
9
+ interface AXFileViewerItem {
10
+ id: string;
11
+ /** Catalog name (`image`, `video`, `audio`, `document`, `file`). Inferred from mimeType/extension when omitted. */
12
+ fileType?: string;
13
+ name?: string;
14
+ size?: number;
15
+ url: string | (() => Promise<string>);
16
+ thumbnailUrl?: string | (() => Promise<string>);
17
+ mimeType?: string;
18
+ extension?: string;
19
+ tooltip?: string;
20
+ }
21
+ /** Payload passed to each file-type viewer component inside the carousel. */
22
+ interface AXFileViewerViewPayload {
23
+ item: AXFileViewerItem;
24
+ index: number;
25
+ active: boolean;
26
+ }
27
+
28
+ /** Carousel state shared between container, slides and thumbnails. Provided per-container. */
29
+ declare class AXFileViewerService {
30
+ readonly items: _angular_core.WritableSignal<AXFileViewerItem[]>;
31
+ readonly selectedIndex: _angular_core.WritableSignal<number>;
32
+ private readonly urlCache;
33
+ /** Resolve a potentially lazy URL — caches the result. */
34
+ resolveUrl(item: AXFileViewerItem, key: 'url' | 'thumbnailUrl'): Promise<string | undefined>;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerService, never>;
36
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXFileViewerService>;
37
+ }
38
+
39
+ /** Registers file-viewer components on standard file-type catalog entries. */
40
+ declare function provideFileViewer(): Provider[];
41
+
42
+ /** Infers a file-type catalog name from the item. */
43
+ declare function resolveFileViewerFileType(item: AXFileViewerItem): string;
44
+ /** Builds an extension hint from item metadata. */
45
+ declare function buildFileViewerExtensionHint(item: AXFileViewerItem): AXFileTypeExtensionHint | undefined;
46
+
47
+ declare function createFileViewerFileTypes(): AXFileType[];
48
+
49
+ declare class AXFileViewerContainerComponent implements OnDestroy {
50
+ #private;
51
+ readonly items: _angular_core.InputSignal<AXFileViewerItem[]>;
52
+ readonly thumbnail: _angular_core.InputSignal<boolean>;
53
+ readonly pagination: _angular_core.InputSignal<boolean>;
54
+ readonly download: _angular_core.InputSignal<boolean>;
55
+ readonly fullscreen: _angular_core.InputSignal<boolean>;
56
+ /** External loading flag — show overlay while parent data is being fetched. */
57
+ readonly loading: _angular_core.InputSignal<boolean>;
58
+ readonly service: AXFileViewerService;
59
+ private readonly host;
60
+ private readonly zIndexService;
61
+ private readonly fullScreenService;
62
+ private readonly mainCarouselRef;
63
+ private readonly thumbCarouselRef;
64
+ readonly fullscreenActive: _angular_core.WritableSignal<boolean>;
65
+ private zToken;
66
+ private initToken;
67
+ /** True while carousels are being (re)initialized. */
68
+ readonly initializing: _angular_core.WritableSignal<boolean>;
69
+ readonly isBusy: _angular_core.Signal<boolean>;
70
+ readonly isFirstSlide: _angular_core.Signal<boolean>;
71
+ readonly isLastSlide: _angular_core.Signal<boolean>;
72
+ readonly currentItem: _angular_core.Signal<AXFileViewerItem>;
73
+ readonly currentFileType: _angular_core.Signal<string>;
74
+ readonly currentTypeLabel: _angular_core.Signal<string>;
75
+ readonly currentTypeColor: _angular_core.Signal<AXStyleColorType>;
76
+ readonly slideCounter: _angular_core.Signal<string>;
77
+ readonly resolveFileType: typeof resolveFileViewerFileType;
78
+ resolveTypeLabel(item: AXFileViewerItem): string;
79
+ formatSize(size?: number): string;
80
+ private readonly mainCarouselOptions;
81
+ private readonly thumbnailCarouselOptions;
82
+ private acquireFullscreenZIndex;
83
+ private releaseFullscreenZIndex;
84
+ private initCarousels;
85
+ private readonly onSlideChange;
86
+ next(): void;
87
+ prev(): void;
88
+ goToIndex(index: number, speed?: number): void;
89
+ toggleFullscreen(): void;
90
+ downloadCurrent(): Promise<void>;
91
+ ngOnDestroy(): void;
92
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerContainerComponent, never>;
93
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerContainerComponent, "ax-file-viewer-container", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "thumbnail": { "alias": "thumbnail"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "download": { "alias": "download"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, ["ax-header"], true, never>;
94
+ }
95
+
96
+ declare class AXFileViewerSlideComponent {
97
+ readonly item: _angular_core.InputSignal<AXFileViewerItem>;
98
+ readonly index: _angular_core.InputSignal<number>;
99
+ private readonly service;
100
+ readonly fileTypeName: _angular_core.Signal<string>;
101
+ readonly extensionHint: _angular_core.Signal<_acorex_core_file.AXFileTypeExtensionHint>;
102
+ readonly viewPayload: _angular_core.Signal<AXFileViewerViewPayload>;
103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerSlideComponent, never>;
104
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerSlideComponent, "ax-file-viewer-slide", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "index": { "alias": "index"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
105
+ }
106
+
107
+ declare class AXFileViewerThumbPreviewComponent {
108
+ #private;
109
+ readonly item: _angular_core.InputSignal<AXFileViewerItem>;
110
+ private readonly service;
111
+ readonly src: _angular_core.WritableSignal<string>;
112
+ readonly icon: _angular_core.Signal<string>;
113
+ private resolvePreview;
114
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerThumbPreviewComponent, never>;
115
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerThumbPreviewComponent, "ax-file-viewer-thumb-preview", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
116
+ }
117
+
118
+ interface ThumbnailEntry {
119
+ id: string;
120
+ index: number;
121
+ type: string;
122
+ icon: string;
123
+ }
124
+ declare class AXFileViewerThumbnailsComponent {
125
+ readonly service: AXFileViewerService;
126
+ readonly thumbnails: _angular_core.Signal<ThumbnailEntry[]>;
127
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerThumbnailsComponent, never>;
128
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerThumbnailsComponent, "ax-file-viewer-thumbnails", never, {}, {}, never, never, true, never>;
129
+ }
130
+
131
+ declare class AXFileViewerImageComponent implements AXFileTypeViewComponent<AXFileViewerViewPayload> {
132
+ #private;
133
+ readonly payload: _angular_core.InputSignal<AXFileViewerViewPayload>;
134
+ private readonly service;
135
+ readonly src: _angular_core.WritableSignal<string>;
136
+ readonly loading: _angular_core.WritableSignal<boolean>;
137
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerImageComponent, never>;
138
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerImageComponent, "ax-file-viewer-image", never, { "payload": { "alias": "payload"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
139
+ }
140
+
141
+ declare class AXFileViewerVideoComponent implements AXFileTypeViewComponent<AXFileViewerViewPayload> {
142
+ #private;
143
+ readonly payload: _angular_core.InputSignal<AXFileViewerViewPayload>;
144
+ private readonly service;
145
+ readonly src: _angular_core.WritableSignal<string>;
146
+ readonly loading: _angular_core.WritableSignal<boolean>;
147
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerVideoComponent, never>;
148
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerVideoComponent, "ax-file-viewer-video", never, { "payload": { "alias": "payload"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
149
+ }
150
+
151
+ declare class AXFileViewerAudioComponent implements AXFileTypeViewComponent<AXFileViewerViewPayload> {
152
+ #private;
153
+ readonly payload: _angular_core.InputSignal<AXFileViewerViewPayload>;
154
+ private readonly service;
155
+ readonly src: _angular_core.WritableSignal<string>;
156
+ readonly loading: _angular_core.WritableSignal<boolean>;
157
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerAudioComponent, never>;
158
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerAudioComponent, "ax-file-viewer-audio", never, { "payload": { "alias": "payload"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
159
+ }
160
+
161
+ declare class AXFileViewerPdfComponent implements AXFileTypeViewComponent<AXFileViewerViewPayload> {
162
+ #private;
163
+ readonly payload: _angular_core.InputSignal<AXFileViewerViewPayload>;
164
+ private readonly service;
165
+ private readonly sanitizer;
166
+ readonly safeSrc: _angular_core.WritableSignal<SafeResourceUrl>;
167
+ readonly loading: _angular_core.WritableSignal<boolean>;
168
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerPdfComponent, never>;
169
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerPdfComponent, "ax-file-viewer-pdf", never, { "payload": { "alias": "payload"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
170
+ }
171
+
172
+ declare class AXFileViewerFileFallbackComponent implements AXFileTypeViewComponent<AXFileViewerViewPayload> {
173
+ readonly payload: _angular_core.InputSignal<AXFileViewerViewPayload>;
174
+ readonly name: _angular_core.Signal<string>;
175
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerFileFallbackComponent, never>;
176
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerFileFallbackComponent, "ax-file-viewer-fallback", never, { "payload": { "alias": "payload"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
177
+ }
178
+
179
+ export { AXFileViewerAudioComponent, AXFileViewerContainerComponent, AXFileViewerFileFallbackComponent, AXFileViewerImageComponent, AXFileViewerPdfComponent, AXFileViewerService, AXFileViewerSlideComponent, AXFileViewerThumbPreviewComponent, AXFileViewerThumbnailsComponent, AXFileViewerVideoComponent, buildFileViewerExtensionHint, createFileViewerFileTypes, provideFileViewer, resolveFileViewerFileType };
180
+ export type { AXFileViewerItem, AXFileViewerViewPayload };
@@ -12,8 +12,9 @@ import * as i7 from '@acorex/components/decorators';
12
12
  import * as i8 from '@acorex/components/loading';
13
13
  import * as i9 from '@acorex/components/dialog';
14
14
 
15
+ type AXImageEditorTool = 'pen' | 'highlight' | 'crop' | 'rotate';
15
16
  declare class AXImageEditorService {
16
- activeToolState: _angular_core.WritableSignal<"pen" | "highlight" | "crop" | "rotate" | "history">;
17
+ activeToolState: _angular_core.WritableSignal<AXImageEditorTool>;
17
18
  penColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
18
19
  highlightColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
19
20
  penWidth: _angular_core.WritableSignal<number>;
@@ -30,6 +31,9 @@ declare class AXImageEditorService {
30
31
  undoPressed: _angular_core.WritableSignal<boolean>;
31
32
  redoPressed: _angular_core.WritableSignal<boolean>;
32
33
  cropperRatio: _angular_core.WritableSignal<string>;
34
+ cropperSize: _angular_core.WritableSignal<number>;
35
+ toggleTool(tool: AXImageEditorTool): void;
36
+ activateTool(tool: AXImageEditorTool): void;
33
37
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorService, never>;
34
38
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXImageEditorService>;
35
39
  }
@@ -41,6 +45,8 @@ declare class AXImageEditorService {
41
45
  declare class AXImageEditorCropperWindowComponent implements OnDestroy {
42
46
  #private;
43
47
  readonly showGrid: _angular_core.InputSignal<boolean>;
48
+ /** Base size in pixels used to calculate the initial cropper window dimensions. */
49
+ readonly size: _angular_core.InputSignal<number>;
44
50
  protected service: AXImageEditorService;
45
51
  private ngZone;
46
52
  private selectedHandle;
@@ -78,7 +84,7 @@ declare class AXImageEditorCropperWindowComponent implements OnDestroy {
78
84
  protected changeSizeHandler(e: MouseEvent): void;
79
85
  protected clearSelector(): void;
80
86
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorCropperWindowComponent, never>;
81
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropperWindowComponent, "ax-image-editor-cropper-window", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
87
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropperWindowComponent, "ax-image-editor-cropper-window", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
82
88
  }
83
89
 
84
90
  declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDestroy {
@@ -86,6 +92,10 @@ declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDe
86
92
  * its change grid display state.
87
93
  */
88
94
  readonly showGrid: _angular_core.InputSignal<boolean>;
95
+ /**
96
+ * Base size in pixels for the initial cropper window dimensions.
97
+ */
98
+ readonly cropperSize: _angular_core.InputSignal<number>;
89
99
  /**
90
100
  * its change grid display state.
91
101
  */
@@ -141,13 +151,13 @@ declare class AXImageEditorViewComponent extends MXBaseComponent implements OnDe
141
151
  /** @ignore */
142
152
  protected mouseUpHandler(): void;
143
153
  /** @ignore */
144
- cropButtonHandler(): void;
154
+ crop(): Promise<void>;
145
155
  /** @ignore */
146
156
  protected rotateImage(): void;
147
157
  /** @ignore */
148
158
  protected saveImageChange(): Promise<void>;
149
159
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorViewComponent, never>;
150
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorViewComponent, "ax-image-editor-view", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
160
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorViewComponent, "ax-image-editor-view", never, { "showGrid": { "alias": "showGrid"; "required": false; "isSignal": true; }; "cropperSize": { "alias": "cropperSize"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
151
161
  }
152
162
 
153
163
  declare const AXImageEditorContainerComponent_base: polytype.Polytype.ClusteredConstructor<[{
@@ -165,41 +175,48 @@ declare class AXImageEditorContainerComponent extends AXImageEditorContainerComp
165
175
  protected service: AXImageEditorService;
166
176
  imageEditorContainer: _angular_core.Signal<ElementRef<any>>;
167
177
  view: _angular_core.Signal<AXImageEditorViewComponent>;
168
- aspectRatio: _angular_core.InputSignal<string[]>;
169
- protected cropButtonHandler(): void;
178
+ /** Applies the current cropper selection. */
179
+ crop(): Promise<void>;
170
180
  get __hostClass(): string;
171
181
  private get __hostName();
172
182
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorContainerComponent, never>;
173
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorContainerComponent, "ax-image-editor-container", never, { "look": { "alias": "look"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, ["view"], ["ax-header", "ax-image-editor-view", "ax-validation-rule"], true, never>;
183
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorContainerComponent, "ax-image-editor-container", never, { "look": { "alias": "look"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onValueChanged": "onValueChanged"; }, ["view"], ["ax-header", "ax-image-editor-view", "ax-footer", "ax-validation-rule"], true, never>;
174
184
  }
175
185
 
176
186
  /**
177
- * paint mode.
187
+ * Base class for image editor tool trigger components.
178
188
  * @category Components
179
189
  */
180
- declare class AXImageEditorCropComponent {
190
+ declare abstract class AXImageEditorToolComponent {
181
191
  protected service: AXImageEditorService;
182
- cropPressed: _angular_core.OutputEmitterRef<void>;
192
+ abstract readonly tool: AXImageEditorTool;
193
+ setActive(): void;
194
+ }
195
+
196
+ /**
197
+ * Crop tool trigger for the image editor toolbar.
198
+ * @category Components
199
+ */
200
+ declare class AXImageEditorCropComponent extends AXImageEditorToolComponent {
201
+ #private;
202
+ readonly tool = "crop";
203
+ private container;
204
+ /** Aspect ratio presets. Append `:active` to mark the default ratio, e.g. `'2:1:active'`. */
183
205
  aspectRatio: _angular_core.InputSignal<string[]>;
184
- protected cropButtonHandler(): void;
185
- protected ratioHandler(r: '1:1' | '16:9' | string): void;
206
+ /** Base size in pixels for the initial cropper window dimensions. */
207
+ size: _angular_core.InputSignal<number>;
208
+ /** Applies the current cropper selection. */
209
+ crop(): void;
186
210
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorCropComponent, never>;
187
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropComponent, "ax-image-editor-crop", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, { "cropPressed": "cropPressed"; }, never, never, true, never>;
211
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorCropComponent, "ax-image-editor-crop", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
188
212
  }
189
213
 
190
214
  /**
191
- * paint mode.
215
+ * Highlight tool trigger for the image editor toolbar.
192
216
  * @category Components
193
217
  */
194
- declare class AXImageEditorHighlightComponent {
195
- protected service: AXImageEditorService;
196
- /** @ignore */
197
- protected selectedColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
198
- /** @ignore */
199
- protected value: number;
200
- protected changeColorHandler(e: string): void;
201
- /** @ignore */
202
- protected valueHandler(e: number): void;
218
+ declare class AXImageEditorHighlightComponent extends AXImageEditorToolComponent {
219
+ readonly tool = "highlight";
203
220
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorHighlightComponent, never>;
204
221
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorHighlightComponent, "ax-image-editor-highlight", never, {}, {}, never, never, true, never>;
205
222
  }
@@ -217,52 +234,62 @@ declare class AXImageEditorHistoryComponent {
217
234
  }
218
235
 
219
236
  /**
220
- * paint mode.
237
+ * Pen tool trigger for the image editor toolbar.
221
238
  * @category Components
222
239
  */
223
- declare class AXImageEditorPenComponent {
224
- protected service: AXImageEditorService;
225
- /** @ignore */
226
- protected value: number;
227
- /** @ignore */
228
- protected selectedColor: _angular_core.WritableSignal<string | CanvasGradient | CanvasPattern>;
229
- protected changeColorHandler(e: string): void;
230
- /** @ignore */
231
- protected valueHandler(e: number): void;
240
+ declare class AXImageEditorPenComponent extends AXImageEditorToolComponent {
241
+ readonly tool = "pen";
232
242
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorPenComponent, never>;
233
243
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorPenComponent, "ax-image-editor-pen", never, {}, {}, never, never, true, never>;
234
244
  }
235
245
 
236
246
  /**
237
- * paint mode.
247
+ * Rotate tool trigger for the image editor toolbar.
238
248
  * @category Components
239
249
  */
240
- declare class AXImageEditorRotateComponent {
241
- /** @ignore */
242
- protected service: AXImageEditorService;
243
- /** @ignore */
244
- protected rotateRightHandler(): void;
245
- /** @ignore */
246
- protected rotateLeftHandler(): void;
250
+ declare class AXImageEditorRotateComponent extends AXImageEditorToolComponent {
251
+ readonly tool = "rotate";
247
252
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorRotateComponent, never>;
248
253
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorRotateComponent, "ax-image-editor-rotate", never, {}, {}, never, never, true, never>;
249
254
  }
250
255
 
251
256
  /**
252
- * paint mode.
257
+ * Toolbar layout for configurable image editor tools.
253
258
  * @category Components
254
259
  */
255
- declare class AXImageEditorToolSelectorComponent {
260
+ declare class AXImageEditorToolsBarComponent {
261
+ #private;
256
262
  protected service: AXImageEditorService;
257
- protected changeToolHandler(tool: 'pen' | 'highlight' | 'crop' | 'rotate'): void;
263
+ /**
264
+ * Tool component reference to activate on load.
265
+ */
266
+ active: _angular_core.InputSignal<AXImageEditorToolComponent>;
267
+ /** Hides the tools bar UI while keeping projected tools configurable. */
268
+ hidden: _angular_core.InputSignal<boolean>;
269
+ protected penTool: _angular_core.Signal<AXImageEditorPenComponent>;
270
+ protected highlightTool: _angular_core.Signal<AXImageEditorHighlightComponent>;
271
+ protected cropTool: _angular_core.Signal<AXImageEditorCropComponent>;
272
+ protected rotateTool: _angular_core.Signal<AXImageEditorRotateComponent>;
273
+ protected cropAspectRatio: _angular_core.Signal<string[]>;
274
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorToolsBarComponent, never>;
275
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorToolsBarComponent, "ax-image-editor-tools-bar", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, {}, ["penTool", "highlightTool", "cropTool", "rotateTool"], ["ax-image-editor-pen, ax-image-editor-highlight, ax-image-editor-crop, ax-image-editor-rotate"], true, never>;
276
+ }
277
+
278
+ /**
279
+ * Convenience wrapper that includes all image editor tools.
280
+ * @category Components
281
+ */
282
+ declare class AXImageEditorToolSelectorComponent {
283
+ aspectRatio: _angular_core.InputSignal<string[]>;
258
284
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorToolSelectorComponent, never>;
259
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorToolSelectorComponent, "ax-image-editor-tool-selector", never, {}, {}, never, never, true, never>;
285
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXImageEditorToolSelectorComponent, "ax-image-editor-tool-selector", never, { "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
260
286
  }
261
287
 
262
288
  declare class AXImageEditorModule {
263
289
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXImageEditorModule, never>;
264
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXImageEditorModule, never, [typeof i1.AXButtonModule, typeof i2.FormsModule, typeof i3.AXRangeSliderModule, typeof i4.AXSelectBoxModule, typeof i5.AXColorBoxModule, typeof i6.AXPopoverModule, typeof i7.AXDecoratorModule, typeof i8.AXLoadingModule, typeof i9.AXDialogModule, typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent], [typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent]>;
290
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXImageEditorModule, never, [typeof i1.AXButtonModule, typeof i2.FormsModule, typeof i3.AXRangeSliderModule, typeof i4.AXSelectBoxModule, typeof i5.AXColorBoxModule, typeof i6.AXPopoverModule, typeof i7.AXDecoratorModule, typeof i8.AXLoadingModule, typeof i9.AXDialogModule, typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorToolsBarComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent], [typeof AXImageEditorViewComponent, typeof AXImageEditorContainerComponent, typeof AXImageEditorCropComponent, typeof AXImageEditorHistoryComponent, typeof AXImageEditorToolSelectorComponent, typeof AXImageEditorToolsBarComponent, typeof AXImageEditorPenComponent, typeof AXImageEditorHighlightComponent, typeof AXImageEditorRotateComponent, typeof AXImageEditorCropperWindowComponent]>;
265
291
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXImageEditorModule>;
266
292
  }
267
293
 
268
- export { AXImageEditorContainerComponent, AXImageEditorCropComponent, AXImageEditorCropperWindowComponent, AXImageEditorHighlightComponent, AXImageEditorHistoryComponent, AXImageEditorModule, AXImageEditorPenComponent, AXImageEditorRotateComponent, AXImageEditorService, AXImageEditorToolSelectorComponent, AXImageEditorViewComponent };
294
+ export { AXImageEditorContainerComponent, AXImageEditorCropComponent, AXImageEditorCropperWindowComponent, AXImageEditorHighlightComponent, AXImageEditorHistoryComponent, AXImageEditorModule, AXImageEditorPenComponent, AXImageEditorRotateComponent, AXImageEditorService, AXImageEditorToolComponent, AXImageEditorToolSelectorComponent, AXImageEditorToolsBarComponent, AXImageEditorViewComponent };
295
+ export type { AXImageEditorTool };
@@ -5,7 +5,7 @@ declare class AXKBDItemComponent extends NXComponent {
5
5
  keys: _angular_core.InputSignal<string | string[]>;
6
6
  modifierKeys: _angular_core.WritableSignal<string[]>;
7
7
  join: _angular_core.InputSignal<"split" | "joined">;
8
- look: _angular_core.ModelSignal<"fill" | "solid">;
8
+ look: _angular_core.ModelSignal<"fill" | "solid" | "blank">;
9
9
  lookClass: _angular_core.Signal<string>;
10
10
  /**
11
11
  * Capitalizes the first letter of the provided text.
@@ -21,7 +21,7 @@ declare class AXKBDItemComponent extends NXComponent {
21
21
  declare class AXKBDComponent extends NXComponent {
22
22
  #private;
23
23
  private kbdItem;
24
- look: _angular_core.InputSignal<"fill" | "solid">;
24
+ look: _angular_core.InputSignal<"fill" | "solid" | "blank">;
25
25
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXKBDComponent, never>;
26
26
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXKBDComponent, "ax-kbd", never, { "look": { "alias": "look"; "required": false; "isSignal": true; }; }, {}, ["kbdItem"], ["ax-kbd-item"], true, never>;
27
27
  }
@@ -1,4 +1,4 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { OnInit, WritableSignal, TemplateRef, EventEmitter } from '@angular/core';
3
3
  import { MXSelectionValueComponent, AXDataSource, AXEvent, AXListDataSource } from '@acorex/cdk/common';
4
4
 
@@ -17,13 +17,13 @@ declare class AXListComponent extends MXSelectionValueComponent implements OnIni
17
17
  *
18
18
  * @defaultValue true
19
19
  */
20
- isItemTruncated: i0.InputSignal<boolean>;
20
+ isItemTruncated: _angular_core.InputSignal<boolean>;
21
21
  /**
22
22
  * Determines if a tooltip is shown for an item.
23
23
  *
24
24
  * @defaultValue false
25
25
  */
26
- showItemTooltip: i0.InputSignal<boolean>;
26
+ showItemTooltip: _angular_core.InputSignal<boolean>;
27
27
  /** @ignore */
28
28
  private _dataSource;
29
29
  /** @ignore */
@@ -43,6 +43,16 @@ declare class AXListComponent extends MXSelectionValueComponent implements OnIni
43
43
  * @ignore
44
44
  */
45
45
  itemHeightSignal: WritableSignal<number | 'auto'>;
46
+ /**
47
+ * Fixed pixel size for CDK virtual scroll. Falls back to 40 when `itemHeight` is `'auto'`.
48
+ * @ignore
49
+ */
50
+ protected cdkItemSize: _angular_core.Signal<number>;
51
+ /**
52
+ * CSS value applied to `--ax-comp-list-item-height` so rendered rows match the virtual slot.
53
+ * @ignore
54
+ */
55
+ protected itemHeightCss: _angular_core.Signal<string>;
46
56
  /**
47
57
  * Sets the height of each item in the list.
48
58
  */
@@ -172,15 +182,15 @@ declare class AXListComponent extends MXSelectionValueComponent implements OnIni
172
182
  * Determines whether to show the empty template based on the presence of items and loading state.
173
183
  * @ignore
174
184
  */
175
- showEmptyTemplate: i0.Signal<boolean>;
176
- static ɵfac: i0.ɵɵFactoryDeclaration<AXListComponent, never>;
177
- static ɵcmp: i0.ɵɵComponentDeclaration<AXListComponent, "ax-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "textTemplate": { "alias": "textTemplate"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "checkbox": { "alias": "checkbox"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "disabledChange": "disabledChange"; "readonlyChange": "readonlyChange"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onScrolledIndexChanged": "onScrolledIndexChanged"; }, never, ["ax-header", "ax-footer"], true, never>;
185
+ showEmptyTemplate: _angular_core.Signal<boolean>;
186
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXListComponent, never>;
187
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXListComponent, "ax-list", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "textTemplate": { "alias": "textTemplate"; "required": false; }; "disabledField": { "alias": "disabledField"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; }; "itemHeight": { "alias": "itemHeight"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "checkbox": { "alias": "checkbox"; "required": false; }; }, { "onValueChanged": "onValueChanged"; "disabledChange": "disabledChange"; "readonlyChange": "readonlyChange"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onScrolledIndexChanged": "onScrolledIndexChanged"; }, never, ["ax-header", "ax-footer"], true, never>;
178
188
  }
179
189
 
180
190
  declare class AXListModule {
181
- static ɵfac: i0.ɵɵFactoryDeclaration<AXListModule, never>;
182
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXListModule, never, [typeof AXListComponent], [typeof AXListComponent]>;
183
- static ɵinj: i0.ɵɵInjectorDeclaration<AXListModule>;
191
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXListModule, never>;
192
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXListModule, never, [typeof AXListComponent], [typeof AXListComponent]>;
193
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXListModule>;
184
194
  }
185
195
 
186
196
  export { AXListComponent, AXListModule };
@@ -856,6 +856,8 @@ declare class AXSchedulerPickerService {
856
856
  * Parses standard cron format: minute hour day month weekday
857
857
  */
858
858
  fromCronExpression(cron: string): Promise<AXSchedulerPickerValue | null>;
859
+ /** cron-parser v5 field values may include special chars (L, W, …); keep numbers only. */
860
+ private cronFieldNumericValues;
859
861
  /**
860
862
  * Analyze a cron field to extract interval and values
861
863
  */
@@ -159,8 +159,6 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
159
159
  tooltipTemplate: _angular_core.InputSignal<string | TemplateRef<unknown>>;
160
160
  dataSource: _angular_core.InputSignal<AXSchedulerAppointmentDataSource>;
161
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>;
164
162
  views: _angular_core.InputSignal<AXSchedulerView[]>;
165
163
  selectedView: _angular_core.ModelSignal<AXSchedulerView>;
166
164
  private prevView;
@@ -237,7 +235,7 @@ declare class AXSchedulerComponent extends NXComponent implements OnInit {
237
235
  */
238
236
  refresh(appointments?: AXSchedulerAppointment[]): Promise<void>;
239
237
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXSchedulerComponent, 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>;
238
+ 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>;
241
239
  }
242
240
 
243
241
  declare class AXSchedulerDayViewComponent extends NXComponent implements AfterViewInit, OnDestroy {
@@ -161,6 +161,12 @@ declare class AXSelectBoxComponent extends AXSelectBoxComponent_base implements
161
161
  private resetSearchAfterSelection;
162
162
  /** @ignore */
163
163
  private setDropdownSize;
164
+ /**
165
+ * Shrinks list height to the visible overlay area so virtual scroll ends on fully
166
+ * visible rows instead of inside an overflow:hidden clipped region.
167
+ * @ignore
168
+ */
169
+ private _fitListHeightToAvailableSpace;
164
170
  private updateDropdownPosition;
165
171
  private updateDropdownSize;
166
172
  private _fitDropdownToContent;