@acorex/components 20.2.0-next.2 → 20.2.0-next.21

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 (264) hide show
  1. package/action-sheet/index.d.ts +57 -10
  2. package/alert/index.d.ts +2 -4
  3. package/autocomplete/index.d.ts +7 -2
  4. package/avatar/index.d.ts +12 -6
  5. package/badge/index.d.ts +1 -2
  6. package/bottom-navigation/index.d.ts +10 -2
  7. package/breadcrumbs/index.d.ts +17 -4
  8. package/button/index.d.ts +56 -17
  9. package/button-group/index.d.ts +8 -5
  10. package/calendar/index.d.ts +28 -16
  11. package/check-box/index.d.ts +2 -5
  12. package/chips/index.d.ts +1 -2
  13. package/circular-progress/index.d.ts +23 -18
  14. package/collapse/index.d.ts +7 -6
  15. package/color-box/index.d.ts +5 -8
  16. package/color-palette/index.d.ts +19 -24
  17. package/comment/index.d.ts +8 -8
  18. package/conversation/index.d.ts +1 -0
  19. package/cron-job/index.d.ts +5 -4
  20. package/data-list/README.md +356 -0
  21. package/data-list/index.d.ts +102 -0
  22. package/data-pager/index.d.ts +10 -5
  23. package/datetime-box/index.d.ts +2 -7
  24. package/datetime-input/index.d.ts +2 -4
  25. package/datetime-picker/index.d.ts +9 -10
  26. package/dropdown/index.d.ts +41 -0
  27. package/fesm2022/acorex-components-accordion.mjs +10 -10
  28. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  29. package/fesm2022/acorex-components-action-sheet.mjs +78 -48
  30. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  31. package/fesm2022/acorex-components-alert.mjs +12 -14
  32. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  33. package/fesm2022/acorex-components-audio-wave.mjs +7 -7
  34. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  35. package/fesm2022/acorex-components-autocomplete.mjs +32 -10
  36. package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
  37. package/fesm2022/acorex-components-avatar.mjs +23 -18
  38. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  39. package/fesm2022/acorex-components-badge.mjs +9 -10
  40. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  41. package/fesm2022/acorex-components-bottom-navigation.mjs +17 -13
  42. package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
  43. package/fesm2022/acorex-components-breadcrumbs.mjs +36 -20
  44. package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
  45. package/fesm2022/acorex-components-button-group.mjs +31 -22
  46. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  47. package/fesm2022/acorex-components-button.mjs +77 -34
  48. package/fesm2022/acorex-components-button.mjs.map +1 -1
  49. package/fesm2022/acorex-components-calendar.mjs +100 -53
  50. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  51. package/fesm2022/acorex-components-check-box.mjs +11 -13
  52. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  53. package/fesm2022/acorex-components-chips.mjs +9 -10
  54. package/fesm2022/acorex-components-chips.mjs.map +1 -1
  55. package/fesm2022/acorex-components-circular-progress.mjs +31 -26
  56. package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
  57. package/fesm2022/acorex-components-collapse.mjs +20 -18
  58. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  59. package/fesm2022/acorex-components-color-box.mjs +34 -30
  60. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  61. package/fesm2022/acorex-components-color-palette.mjs +55 -75
  62. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  63. package/fesm2022/acorex-components-comment.mjs +38 -38
  64. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  65. package/fesm2022/acorex-components-conversation.mjs +58 -52
  66. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  67. package/fesm2022/acorex-components-cron-job.mjs +54 -48
  68. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  69. package/fesm2022/acorex-components-data-list.mjs +386 -0
  70. package/fesm2022/acorex-components-data-list.mjs.map +1 -0
  71. package/fesm2022/acorex-components-data-pager.mjs +41 -36
  72. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  73. package/fesm2022/acorex-components-data-table.mjs +40 -40
  74. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  75. package/fesm2022/acorex-components-datetime-box.mjs +22 -31
  76. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  77. package/fesm2022/acorex-components-datetime-input.mjs +17 -14
  78. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  79. package/fesm2022/acorex-components-datetime-picker.mjs +98 -45
  80. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  81. package/fesm2022/acorex-components-decorators.mjs +25 -25
  82. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  83. package/fesm2022/acorex-components-dialog.mjs +12 -12
  84. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  85. package/fesm2022/acorex-components-drawer-2.mjs +10 -10
  86. package/fesm2022/acorex-components-drawer-2.mjs.map +1 -1
  87. package/fesm2022/acorex-components-drawer.mjs +13 -13
  88. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  89. package/fesm2022/acorex-components-dropdown-button.mjs +9 -9
  90. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  91. package/fesm2022/acorex-components-dropdown.mjs +57 -13
  92. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  93. package/fesm2022/acorex-components-file-explorer.mjs +25 -25
  94. package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
  95. package/fesm2022/acorex-components-flow-chart.mjs +40 -16
  96. package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
  97. package/fesm2022/acorex-components-form.mjs +26 -17
  98. package/fesm2022/acorex-components-form.mjs.map +1 -1
  99. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  100. package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
  101. package/fesm2022/acorex-components-image-editor.mjs +40 -34
  102. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  103. package/fesm2022/acorex-components-image.mjs +7 -7
  104. package/fesm2022/acorex-components-image.mjs.map +1 -1
  105. package/fesm2022/acorex-components-json-viewer.mjs +8 -8
  106. package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
  107. package/fesm2022/acorex-components-kanban.mjs +11 -7
  108. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  109. package/fesm2022/acorex-components-kbd.mjs +20 -13
  110. package/fesm2022/acorex-components-kbd.mjs.map +1 -1
  111. package/fesm2022/acorex-components-label.mjs +9 -9
  112. package/fesm2022/acorex-components-label.mjs.map +1 -1
  113. package/fesm2022/acorex-components-list.mjs +27 -19
  114. package/fesm2022/acorex-components-list.mjs.map +1 -1
  115. package/fesm2022/acorex-components-loading-dialog.mjs +40 -22
  116. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  117. package/fesm2022/acorex-components-loading.mjs +76 -18
  118. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  119. package/fesm2022/acorex-components-map.mjs +534 -115
  120. package/fesm2022/acorex-components-map.mjs.map +1 -1
  121. package/fesm2022/acorex-components-media-viewer.mjs +37 -37
  122. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  123. package/fesm2022/acorex-components-menu.mjs +48 -22
  124. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  125. package/fesm2022/{acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs → acorex-components-modal-acorex-components-modal-yzX5PZMM.mjs} +101 -22
  126. package/fesm2022/acorex-components-modal-acorex-components-modal-yzX5PZMM.mjs.map +1 -0
  127. package/fesm2022/{acorex-components-modal-modal-content.component-DfhgA_WL.mjs → acorex-components-modal-modal-content.component-Bt8c43qi.mjs} +5 -5
  128. package/fesm2022/{acorex-components-modal-modal-content.component-DfhgA_WL.mjs.map → acorex-components-modal-modal-content.component-Bt8c43qi.mjs.map} +1 -1
  129. package/fesm2022/acorex-components-modal.mjs +1 -1
  130. package/fesm2022/acorex-components-navbar.mjs +13 -8
  131. package/fesm2022/acorex-components-navbar.mjs.map +1 -1
  132. package/fesm2022/acorex-components-notification.mjs +16 -13
  133. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  134. package/fesm2022/acorex-components-number-box-2.mjs +13 -7
  135. package/fesm2022/acorex-components-number-box-2.mjs.map +1 -1
  136. package/fesm2022/acorex-components-number-box.mjs +16 -10
  137. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  138. package/fesm2022/acorex-components-otp.mjs +9 -9
  139. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  140. package/fesm2022/acorex-components-page.mjs +10 -10
  141. package/fesm2022/acorex-components-page.mjs.map +1 -1
  142. package/fesm2022/acorex-components-paint.mjs +31 -25
  143. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  144. package/fesm2022/acorex-components-password-box.mjs +20 -14
  145. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  146. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  147. package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
  148. package/fesm2022/acorex-components-phone-box.mjs +22 -13
  149. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  150. package/fesm2022/acorex-components-picker.mjs +26 -16
  151. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  152. package/fesm2022/acorex-components-popover.mjs +8 -13
  153. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  154. package/fesm2022/acorex-components-popup.mjs +10 -10
  155. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  156. package/fesm2022/acorex-components-progress-bar.mjs +8 -8
  157. package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
  158. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  159. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  160. package/fesm2022/acorex-components-query-builder.mjs +7 -7
  161. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  162. package/fesm2022/acorex-components-radio.mjs +8 -8
  163. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  164. package/fesm2022/acorex-components-rail-navigation.mjs +24 -13
  165. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  166. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  167. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  168. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  169. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  170. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  171. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  172. package/fesm2022/acorex-components-result.mjs +7 -7
  173. package/fesm2022/acorex-components-result.mjs.map +1 -1
  174. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  175. package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
  176. package/fesm2022/acorex-components-rrule.mjs +6 -6
  177. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  178. package/fesm2022/acorex-components-scheduler.mjs +173 -85
  179. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  180. package/fesm2022/acorex-components-scss.mjs +4 -4
  181. package/fesm2022/acorex-components-scss.mjs.map +1 -1
  182. package/fesm2022/acorex-components-search-box.mjs +13 -7
  183. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  184. package/fesm2022/acorex-components-select-box.mjs +117 -38
  185. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  186. package/fesm2022/acorex-components-selection-list-2.mjs +12 -9
  187. package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
  188. package/fesm2022/acorex-components-selection-list.mjs +14 -11
  189. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  190. package/fesm2022/acorex-components-side-menu.mjs +98 -43
  191. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  192. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  193. package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
  194. package/fesm2022/acorex-components-slider.mjs +9 -9
  195. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  196. package/fesm2022/acorex-components-sliding-item.mjs +14 -14
  197. package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
  198. package/fesm2022/acorex-components-step-wizard.mjs +13 -13
  199. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  200. package/fesm2022/acorex-components-switch.mjs +12 -12
  201. package/fesm2022/acorex-components-switch.mjs.map +1 -1
  202. package/fesm2022/acorex-components-tabs.mjs +20 -18
  203. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  204. package/fesm2022/acorex-components-tag-box.mjs +39 -21
  205. package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
  206. package/fesm2022/acorex-components-tag.mjs +8 -8
  207. package/fesm2022/acorex-components-tag.mjs.map +1 -1
  208. package/fesm2022/acorex-components-text-area.mjs +16 -10
  209. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  210. package/fesm2022/acorex-components-text-box.mjs +19 -13
  211. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  212. package/fesm2022/acorex-components-time-duration.mjs +41 -65
  213. package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
  214. package/fesm2022/acorex-components-time-line.mjs +10 -10
  215. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  216. package/fesm2022/acorex-components-toast.mjs +12 -12
  217. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  218. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  219. package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
  220. package/fesm2022/acorex-components-tooltip.mjs +14 -13
  221. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  222. package/fesm2022/acorex-components-tree-view.mjs +11 -11
  223. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  224. package/fesm2022/acorex-components-uploader.mjs +22 -22
  225. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  226. package/fesm2022/acorex-components-video-player.mjs +7 -7
  227. package/fesm2022/acorex-components-video-player.mjs.map +1 -1
  228. package/fesm2022/acorex-components-wysiwyg.mjs +65 -61
  229. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  230. package/flow-chart/index.d.ts +24 -0
  231. package/form/index.d.ts +4 -0
  232. package/image-editor/index.d.ts +1 -0
  233. package/json-viewer/index.d.ts +3 -3
  234. package/kanban/index.d.ts +7 -3
  235. package/kbd/index.d.ts +10 -3
  236. package/list/index.d.ts +14 -7
  237. package/loading/index.d.ts +58 -1
  238. package/loading-dialog/index.d.ts +29 -11
  239. package/map/index.d.ts +119 -6
  240. package/menu/index.d.ts +19 -0
  241. package/modal/index.d.ts +43 -0
  242. package/navbar/index.d.ts +6 -1
  243. package/number-box/index.d.ts +1 -0
  244. package/number-box-2/index.d.ts +1 -0
  245. package/package.json +14 -6
  246. package/paint/index.d.ts +2 -1
  247. package/password-box/index.d.ts +7 -6
  248. package/phone-box/index.d.ts +11 -8
  249. package/picker/index.d.ts +10 -8
  250. package/popover/index.d.ts +1 -1
  251. package/radio/index.d.ts +1 -1
  252. package/rail-navigation/index.d.ts +11 -0
  253. package/rate-picker/index.d.ts +1 -1
  254. package/scheduler/index.d.ts +186 -98
  255. package/search-box/index.d.ts +1 -0
  256. package/select-box/index.d.ts +32 -8
  257. package/side-menu/index.d.ts +16 -7
  258. package/tag-box/index.d.ts +3 -2
  259. package/text-area/index.d.ts +1 -0
  260. package/text-box/index.d.ts +1 -0
  261. package/time-duration/index.d.ts +3 -1
  262. package/tooltip/index.d.ts +3 -2
  263. package/wysiwyg/index.d.ts +1 -5
  264. package/fesm2022/acorex-components-modal-acorex-components-modal-C4zx7OP6.mjs.map +0 -1
@@ -0,0 +1,356 @@
1
+ # @acorex/components/data-list
2
+
3
+ Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/data-list`.
4
+
5
+ ## Overview
6
+
7
+ `AXDataList` is a modern, signal-based Angular data list component that provides virtual scrolling, selection management, and tree grouping capabilities. It's designed to replace the existing `AXListComponent` with improved performance and modern Angular patterns.
8
+
9
+ ## Key Features
10
+
11
+ ### Core Functionality
12
+
13
+ - ✅ **Virtual Scrolling** - CDK-based virtual scrolling for large datasets
14
+ - ✅ **Selection Management** - Single and multiple selection modes
15
+ - ✅ **Tree Grouping** - Hierarchical item organization with expand/collapse
16
+ - ✅ **Template System** - Custom templates for items, loading, and empty states
17
+ - ✅ **Keyboard Navigation** - Full keyboard accessibility
18
+ - ✅ **Modern Angular** - Signal-based architecture for optimal performance
19
+
20
+ ### Advanced Features
21
+
22
+ - ✅ **Disabled Items** - Field-based item disabling with visual and behavioral support
23
+ - ✅ **Tooltip Support** - Custom tooltip content via field mapping
24
+ - ✅ **Checkbox Control** - Configurable checkbox display and behavior
25
+ - ✅ **Search API** - External search integration (not built-in)
26
+
27
+ ## Component Architecture
28
+
29
+ ### Base Class
30
+
31
+ - **Inherits from**: `MXValueComponent` (instead of `MXSelectionValueComponent`)
32
+ - **Change Detection**: `OnPush` strategy
33
+ - **Encapsulation**: `ViewEncapsulation.None`
34
+
35
+ ### Dependencies
36
+
37
+ - `@angular/cdk/scrolling` - Virtual scrolling
38
+ - `@angular/forms` - Form integration
39
+ - `@acorex/cdk/common` - Base components and utilities
40
+
41
+ ## Input Properties
42
+
43
+ ### Basic Properties
44
+
45
+ | Property | Type | Default | Description |
46
+ | ---------- | --------- | ------- | ---------------------------- |
47
+ | `id` | `string` | - | Component identifier |
48
+ | `name` | `string` | - | Component name for forms |
49
+ | `disabled` | `boolean` | `false` | Disable the entire component |
50
+ | `readonly` | `boolean` | `false` | Make component read-only |
51
+ | `tabIndex` | `number` | `0` | Tab order |
52
+
53
+ ### Data & Selection
54
+
55
+ | Property | Type | Default | Description |
56
+ | --------------- | ----------------------- | -------- | -------------------------------- |
57
+ | `dataSource` | `AXDataSource<unknown>` | `[]` | Data source for the list |
58
+ | `value` | `unknown \| unknown[]` | - | Current selected value(s) |
59
+ | `valueField` | `string` | `'id'` | Field name for item value |
60
+ | `textField` | `string` | `'text'` | Field name for item display text |
61
+ | `multiple` | `boolean` | `false` | Enable multiple selection |
62
+ | `selectionMode` | `string` | `'item'` | Selection behavior |
63
+
64
+ ### Display & Behavior
65
+
66
+ | Property | Type | Default | Description |
67
+ | ----------------- | ------------------ | ------- | --------------------------------- |
68
+ | `itemHeight` | `number \| 'auto'` | `40` | Height of each list item |
69
+ | `isItemTruncated` | `boolean` | `true` | Enable text truncation |
70
+ | `showItemTooltip` | `boolean` | `false` | Show tooltips for truncated items |
71
+ | `showCheckbox` | `boolean` | `true` | Show checkboxes for selection |
72
+
73
+ ### Field Mappings
74
+
75
+ | Property | Type | Default | Description |
76
+ | --------------- | -------- | ------- | ------------------------------------------- |
77
+ | `disabledField` | `string` | - | Field name to determine if item is disabled |
78
+ | `tooltipField` | `string` | - | Field name for custom tooltip content |
79
+
80
+ ### Tree Grouping
81
+
82
+ | Property | Type | Default | Description |
83
+ | -------------------- | ------------- | ------------ | --------------------------------- |
84
+ | `childrenField` | `string` | `'children'` | Field name containing child items |
85
+ | `expandedField` | `string` | `'expanded'` | Field name for expanded state |
86
+ | `levelField` | `string` | `'level'` | Field name for nesting level |
87
+ | `groupTemplate` | `TemplateRef` | - | Template for group headers |
88
+ | `expandIconTemplate` | `TemplateRef` | - | Custom expand/collapse icons |
89
+
90
+ ### Templates
91
+
92
+ | Property | Type | Default | Description |
93
+ | ----------------- | ------------- | ------- | ------------------------------ |
94
+ | `itemTemplate` | `TemplateRef` | - | Custom template for list items |
95
+ | `emptyTemplate` | `TemplateRef` | - | Template for empty state |
96
+ | `loadingTemplate` | `TemplateRef` | - | Template for loading state |
97
+ | `textTemplate` | `TemplateRef` | - | Custom text display template |
98
+
99
+ ## Output Events
100
+
101
+ ### Value & Selection Events
102
+
103
+ | Event | Type | Description |
104
+ | -------------------- | ------------------------- | ----------------------- |
105
+ | `onValueChanged` | `AXValueChangedEvent` | Value selection changed |
106
+ | `onItemClick` | `AXItemClickEvent` | Item clicked |
107
+ | `onItemSelected` | `AXItemSelectedEvent` | Item selection changed |
108
+ | `onSelectionChanged` | `AXSelectionChangedEvent` | Selection state changed |
109
+
110
+ ### Focus & Interaction Events
111
+
112
+ | Event | Type | Description |
113
+ | ----------- | ---------------- | ---------------------- |
114
+ | `onBlur` | `AXBlurEvent` | Component lost focus |
115
+ | `onFocus` | `AXFocusEvent` | Component gained focus |
116
+ | `onKeyDown` | `AXKeyDownEvent` | Key pressed |
117
+
118
+ ### Data & State Events
119
+
120
+ | Event | Type | Description |
121
+ | ------------------------ | -------------------------- | ----------------------- |
122
+ | `onScrolledIndexChanged` | `AXListScrollIndexChanged` | Scroll position changed |
123
+ | `onLoadingChanged` | `AXLoadingChangedEvent` | Loading state changed |
124
+ | `onDataChanged` | `AXDataChangedEvent` | Data source changed |
125
+
126
+ ### Tree Grouping Events
127
+
128
+ | Event | Type | Description |
129
+ | ----------------- | ---------------------- | ----------------------------- |
130
+ | `onItemExpanded` | `AXItemExpandedEvent` | Item expanded |
131
+ | `onItemCollapsed` | `AXItemCollapsedEvent` | Item collapsed |
132
+ | `onGroupToggle` | `AXGroupToggleEvent` | Group expand/collapse toggled |
133
+
134
+ ## Public API Methods
135
+
136
+ ### Selection Management
137
+
138
+ | Method | Parameters | Return | Description |
139
+ | ---------------------- | --------------- | ----------- | ----------------------------- |
140
+ | `selectItem(item)` | `item: unknown` | `void` | Select specific item |
141
+ | `deselectItem(item)` | `item: unknown` | `void` | Deselect specific item |
142
+ | `clearSelection()` | - | `void` | Clear all selections |
143
+ | `getSelectedItems()` | - | `unknown[]` | Get currently selected items |
144
+ | `isItemSelected(item)` | `item: unknown` | `boolean` | Check if item is selected |
145
+ | `isItemDisabled(item)` | `item: unknown` | `boolean` | Check if item is disabled |
146
+ | `canSelectItem(item)` | `item: unknown` | `boolean` | Check if item can be selected |
147
+
148
+ ### Navigation & Focus
149
+
150
+ | Method | Parameters | Return | Description |
151
+ | ---------------------- | --------------- | ------ | ---------------------------- |
152
+ | `focus()` | - | `void` | Focus the component |
153
+ | `focusItem(index)` | `index: number` | `void` | Focus specific item by index |
154
+ | `focusNextItem()` | - | `void` | Focus next item |
155
+ | `focusPreviousItem()` | - | `void` | Focus previous item |
156
+ | `scrollToIndex(index)` | `index: number` | `void` | Scroll to specific index |
157
+
158
+ ### Data & State
159
+
160
+ | Method | Parameters | Return | Description |
161
+ | ----------------------- | --------------- | ----------- | --------------------------- |
162
+ | `refresh()` | - | `void` | Refresh data source |
163
+ | `getItemByKey(key)` | `key: unknown` | `unknown` | Get item by key |
164
+ | `getItemByIndex(index)` | `index: number` | `unknown` | Get item by index |
165
+ | `getVisibleItems()` | - | `unknown[]` | Get items currently visible |
166
+
167
+ ### Tree Grouping
168
+
169
+ | Method | Parameters | Return | Description |
170
+ | ---------------------- | --------------- | ----------- | ------------------------- |
171
+ | `expandItem(item)` | `item: unknown` | `void` | Expand group |
172
+ | `collapseItem(item)` | `item: unknown` | `void` | Collapse group |
173
+ | `toggleExpanded(item)` | `item: unknown` | `void` | Toggle expand/collapse |
174
+ | `expandAll()` | - | `void` | Expand all groups |
175
+ | `collapseAll()` | - | `void` | Collapse all groups |
176
+ | `isExpanded(item)` | `item: unknown` | `boolean` | Check if item is expanded |
177
+ | `getItemLevel(item)` | `item: unknown` | `number` | Get nesting level |
178
+ | `getParentItem(item)` | `item: unknown` | `unknown` | Get parent item |
179
+ | `getChildItems(item)` | `item: unknown` | `unknown[]` | Get child items |
180
+
181
+ ### Viewport Management
182
+
183
+ | Method | Parameters | Return | Description |
184
+ | --------------------- | ---------- | ------ | -------------------------- |
185
+ | `render()` | - | `void` | Re-render the component |
186
+ | `checkViewportSize()` | - | `void` | Update viewport dimensions |
187
+ | `scrollToTop()` | - | `void` | Scroll to top |
188
+ | `scrollToBottom()` | - | `void` | Scroll to bottom |
189
+
190
+ ## Template Context Variables
191
+
192
+ ### Standard Item Context
193
+
194
+ | Variable | Type | Description |
195
+ | ----------- | --------- | --------------- |
196
+ | `$implicit` | `unknown` | The item data |
197
+ | `index` | `number` | Item index |
198
+ | `selected` | `boolean` | Selection state |
199
+ | `disabled` | `boolean` | Disabled state |
200
+ | `first` | `boolean` | First item flag |
201
+ | `last` | `boolean` | Last item flag |
202
+ | `even` | `boolean` | Even index flag |
203
+ | `odd` | `boolean` | Odd index flag |
204
+
205
+ ### Tree Grouping Context
206
+
207
+ | Variable | Type | Description |
208
+ | ------------- | ----------- | ------------------------------ |
209
+ | `level` | `number` | Nesting level (0, 1, 2, etc.) |
210
+ | `isGroup` | `boolean` | Whether item is a group/parent |
211
+ | `isExpanded` | `boolean` | Whether group is expanded |
212
+ | `hasChildren` | `boolean` | Whether item has children |
213
+ | `parent` | `unknown` | Reference to parent item |
214
+ | `children` | `unknown[]` | Child items array |
215
+
216
+ ## Behavior Specifications
217
+
218
+ ### Disabled Items
219
+
220
+ - **Visual**: Grayed out appearance with reduced opacity
221
+ - **Focus**: Disabled items are focusable but not selectable
222
+ - **Navigation**: Skipped in keyboard navigation (Arrow keys)
223
+ - **Selection**: Cannot be selected or deselected
224
+ - **Checkbox**: Disabled checkboxes for disabled items
225
+
226
+ ### Tooltip Behavior
227
+
228
+ - **Custom Tooltip**: `tooltipField` provides custom tooltip content
229
+ - **Default Tooltip**: Shows on hover regardless of truncation
230
+ - **Priority**: Custom tooltip overrides default text tooltip
231
+
232
+ ### Checkbox Behavior
233
+
234
+ - **Display**: Controlled by `showCheckbox` input
235
+ - **State**: Disabled items show disabled checkboxes
236
+ - **Group Headers**: Can show checkboxes for "select all children" behavior
237
+ - **Behavior Options**: Configurable checkbox interaction patterns
238
+
239
+ ### Tree Grouping Behavior
240
+
241
+ - **Expand/Collapse**: Click on group header or expand icon
242
+ - **Selection**: Group selection can affect child selection
243
+ - **Navigation**: Keyboard navigation respects expanded/collapsed state
244
+ - **Performance**: Virtual scrolling optimized for tree structures
245
+
246
+ ## CSS Classes & Styling
247
+
248
+ ### Container Classes
249
+
250
+ - `.ax-list-container` - Main container
251
+ - `.ax-list-container.ax-height-auto` - Auto height mode
252
+ - `.ax-list-container.ax-tree-mode` - Tree grouping mode
253
+
254
+ ### Item Classes
255
+
256
+ - `.ax-list-item` - Individual items
257
+ - `.ax-list-item.ax-state-selected` - Selected state
258
+ - `.ax-list-item.ax-state-disabled` - Disabled state
259
+ - `.ax-list-item.ax-state-focused` - Focused state
260
+ - `.ax-list-item.ax-state-loading` - Loading state
261
+ - `.ax-list-item.ax-state-empty` - Empty state
262
+
263
+ ### Tree Grouping Classes
264
+
265
+ - `.ax-list-item.ax-group-header` - Group header items
266
+ - `.ax-list-item.ax-group-expanded` - Expanded group
267
+ - `.ax-list-item.ax-group-collapsed` - Collapsed group
268
+ - `.ax-list-item.ax-group-child` - Child items
269
+ - `.ax-list-item.ax-level-{n}` - Nesting level styling
270
+
271
+ ### State Classes
272
+
273
+ - `.ax-list-item.ax-level-0` - Root level items
274
+ - `.ax-list-item.ax-level-1` - First level nested items
275
+ - `.ax-list-item.ax-level-2` - Second level nested items
276
+ - `.ax-list-item.ax-has-children` - Items with children
277
+ - `.ax-list-item.ax-no-children` - Items without children
278
+
279
+ ## Performance Considerations
280
+
281
+ ### Virtual Scrolling
282
+
283
+ - **Item Size**: Fixed item height for optimal performance
284
+ - **Viewport Management**: Efficient viewport size calculations
285
+ - **Memory Usage**: Minimal DOM elements for large datasets
286
+
287
+ ### Signal Optimization
288
+
289
+ - **Change Detection**: Signal-based updates for minimal re-renders
290
+ - **Computed Values**: Efficient computed signals for derived state
291
+ - **Memory Management**: Proper signal cleanup and disposal
292
+
293
+ ### Tree Grouping Performance
294
+
295
+ - **Lazy Loading**: Children loaded on demand
296
+ - **Virtual Scrolling**: Optimized for hierarchical structures
297
+ - **Selection Caching**: Efficient selection state management
298
+
299
+ ## Migration Guide
300
+
301
+ ### From AXListComponent
302
+
303
+ - **Component Name**: Change from `ax-list` to `ax-data-list`
304
+ - **Base Class**: Change from `MXSelectionValueComponent` to `MXValueComponent`
305
+ - **Inputs**: Update input property names (e.g., `checkbox` → `showCheckbox`)
306
+ - **Events**: Update event handler names
307
+ - **Templates**: Ensure template context compatibility
308
+
309
+ ### Breaking Changes
310
+
311
+ - **Selection API**: Simplified selection management
312
+ - **Event Names**: Updated event naming conventions
313
+ - **Template Context**: Enhanced context variables for tree grouping
314
+
315
+ ## Future Enhancements
316
+
317
+ ### Planned Features
318
+
319
+ - **Drag & Drop**: Item reordering and tree restructuring
320
+ - **Filtering**: Client-side filtering capabilities
321
+ - **Sorting**: Multi-column sorting support
322
+ - **Pagination**: Built-in pagination controls
323
+ - **Export**: Data export functionality
324
+
325
+ ### Performance Improvements
326
+
327
+ - **Web Workers**: Background data processing
328
+ - **Service Workers**: Offline data caching
329
+ - **IndexedDB**: Local data persistence
330
+ - **WebAssembly**: High-performance data operations
331
+
332
+ ## Implementation Notes
333
+
334
+ ### Development Phases
335
+
336
+ 1. **Phase 1**: Core functionality with virtual scrolling
337
+ 2. **Phase 2**: Selection management and templates
338
+ 3. **Phase 3**: Tree grouping implementation
339
+ 4. **Phase 4**: Advanced features and optimizations
340
+
341
+ ### Testing Strategy
342
+
343
+ - **Unit Tests**: Component logic and API methods
344
+ - **Integration Tests**: Template system and data binding
345
+ - **Performance Tests**: Virtual scrolling and large datasets
346
+ - **Accessibility Tests**: Keyboard navigation and screen readers
347
+
348
+ ### Browser Support
349
+
350
+ - **Modern Browsers**: Chrome 90+, Firefox 88+, Safari 14+
351
+ - **Mobile**: iOS Safari 14+, Chrome Mobile 90+
352
+ - **Fallbacks**: Graceful degradation for older browsers
353
+
354
+ ---
355
+
356
+ _This README serves as the complete specification for AXListComponent2 development and implementation._
@@ -0,0 +1,102 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, TemplateRef, EventEmitter } from '@angular/core';
3
+ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
+ import { MXValueComponent, AXDataSource, AXListDataSource } from '@acorex/cdk/common';
5
+
6
+ interface AXDataListItem {
7
+ id: string;
8
+ text: string;
9
+ description?: string;
10
+ disabled?: boolean;
11
+ tooltip?: string;
12
+ level?: number;
13
+ children?: AXDataListItem[];
14
+ expanded?: boolean;
15
+ [key: string]: any;
16
+ }
17
+ interface AXDataListConfig {
18
+ disabledField?: string;
19
+ tooltipField?: string;
20
+ textField?: string;
21
+ descriptionField?: string;
22
+ levelField?: string;
23
+ childrenField?: string;
24
+ expandedField?: string;
25
+ }
26
+ interface AXDataListSelectionChange {
27
+ selectedItems: AXDataListItem[];
28
+ selectedKeys: string[];
29
+ isMultiple: boolean;
30
+ }
31
+ declare class AXDataListComponent extends MXValueComponent implements OnInit {
32
+ dataSource: _angular_core.InputSignal<AXDataSource<AXDataListItem>>;
33
+ config: _angular_core.InputSignal<AXDataListConfig>;
34
+ multiple: _angular_core.InputSignal<boolean>;
35
+ showCheckbox: _angular_core.InputSignal<boolean>;
36
+ itemHeight: _angular_core.InputSignal<number>;
37
+ isItemTruncated: _angular_core.InputSignal<boolean>;
38
+ showItemTooltip: _angular_core.InputSignal<boolean>;
39
+ disabledField: _angular_core.InputSignal<string>;
40
+ tooltipField: _angular_core.InputSignal<string>;
41
+ textField: _angular_core.InputSignal<string>;
42
+ descriptionField: _angular_core.InputSignal<string>;
43
+ levelField: _angular_core.InputSignal<string>;
44
+ childrenField: _angular_core.InputSignal<string>;
45
+ expandedField: _angular_core.InputSignal<string>;
46
+ itemTemplate: _angular_core.InputSignal<TemplateRef<any>>;
47
+ emptyTemplate: _angular_core.InputSignal<TemplateRef<any>>;
48
+ loadingTemplate: _angular_core.InputSignal<TemplateRef<any>>;
49
+ selectionChange: EventEmitter<AXDataListSelectionChange>;
50
+ itemClick: EventEmitter<AXDataListItem>;
51
+ itemDoubleClick: EventEmitter<AXDataListItem>;
52
+ expandChange: EventEmitter<{
53
+ item: AXDataListItem;
54
+ expanded: boolean;
55
+ }>;
56
+ viewport: CdkVirtualScrollViewport;
57
+ protected loading: _angular_core.WritableSignal<boolean>;
58
+ protected totalItems: _angular_core.WritableSignal<number>;
59
+ protected selectedItems: _angular_core.WritableSignal<AXDataListItem[]>;
60
+ protected selectedKeys: _angular_core.WritableSignal<string[]>;
61
+ protected focusedIndex: _angular_core.WritableSignal<number>;
62
+ protected expandedItems: _angular_core.WritableSignal<Set<string>>;
63
+ protected listDataSource: AXListDataSource<AXDataListItem> | null;
64
+ protected hasItems: _angular_core.Signal<boolean>;
65
+ protected isEmpty: _angular_core.Signal<boolean>;
66
+ protected isMultipleSelection: _angular_core.Signal<boolean>;
67
+ protected showCheckboxes: _angular_core.Signal<boolean>;
68
+ selectionModel: _angular_core.ModelSignal<string | string[]>;
69
+ constructor();
70
+ ngOnInit(): void;
71
+ private setupDataSourceSubscription;
72
+ protected selectItem(item: AXDataListItem, event?: Event): void;
73
+ protected toggleMultipleSelection(item: AXDataListItem): void;
74
+ protected setSingleSelection(item: AXDataListItem): void;
75
+ protected deselectItem(item: AXDataListItem): void;
76
+ protected updateSelectedItems(): void;
77
+ protected isItemSelected(item: AXDataListItem): boolean;
78
+ protected isItemDisabled(item: AXDataListItem): boolean;
79
+ protected getItemKey(item: AXDataListItem): string;
80
+ protected toggleExpanded(item: AXDataListItem, event: Event): void;
81
+ protected hasChildren(item: AXDataListItem): boolean;
82
+ protected isExpanded(item: AXDataListItem): boolean;
83
+ protected getItemLevel(item: AXDataListItem): number;
84
+ protected onKeyDown(event: KeyboardEvent, item: AXDataListItem, index: number): void;
85
+ protected focusNextItem(currentIndex: number): void;
86
+ protected focusPreviousItem(currentIndex: number): void;
87
+ protected scrollToIndex(index: number): void;
88
+ protected onItemClick(item: AXDataListItem, event: Event): void;
89
+ protected onCheckboxChange(item: AXDataListItem, checked: boolean): void;
90
+ protected onCheckboxClick(event: Event): void;
91
+ protected onItemDoubleClick(item: AXDataListItem): void;
92
+ protected getItemText(item: AXDataListItem): string;
93
+ protected getItemDescription(item: AXDataListItem): string;
94
+ protected getItemTooltip(item: AXDataListItem): string;
95
+ protected shouldShowTooltip(item: AXDataListItem): boolean;
96
+ protected trackByFn: (index: number, item: AXDataListItem) => string;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDataListComponent, never>;
98
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDataListComponent, "ax-data-list", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "isItemTruncated": { "alias": "isItemTruncated"; "required": false; "isSignal": true; }; "showItemTooltip": { "alias": "showItemTooltip"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "tooltipField": { "alias": "tooltipField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "descriptionField": { "alias": "descriptionField"; "required": false; "isSignal": true; }; "levelField": { "alias": "levelField"; "required": false; "isSignal": true; }; "childrenField": { "alias": "childrenField"; "required": false; "isSignal": true; }; "expandedField": { "alias": "expandedField"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "selectionModel": { "alias": "selectionModel"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "itemClick": "itemClick"; "itemDoubleClick": "itemDoubleClick"; "expandChange": "expandChange"; "selectionModel": "selectionModelChange"; }, never, never, true, never>;
99
+ }
100
+
101
+ export { AXDataListComponent };
102
+ export type { AXDataListConfig, AXDataListItem, AXDataListSelectionChange };
@@ -377,28 +377,33 @@ declare class AXDataPagerComponent extends MXValueComponent<number> {
377
377
  private _emitChangedEvent;
378
378
  /**
379
379
  * Navigates to the next page, or to the last page if on the final page.
380
- * @ignore
380
+ *
381
+ * @returns void - No return value. The component navigates to the next available page.
381
382
  */
382
383
  goNextPage(): void;
383
384
  /**
384
385
  * Navigates to the last page.
385
- * @ignore
386
+ *
387
+ * @returns void - No return value. The component navigates to the final page.
386
388
  */
387
389
  goLastPage(): void;
388
390
  /**
389
391
  * Navigates to the first page.
390
- * @ignore
392
+ *
393
+ * @returns void - No return value. The component navigates to the first page.
391
394
  */
392
395
  goFirstPage(): void;
393
396
  /**
394
397
  * Navigates to the previous page, or to the first page if on the initial page.
395
- * @ignore
398
+ *
399
+ * @returns void - No return value. The component navigates to the previous available page.
396
400
  */
397
401
  goPrevPage(): void;
398
402
  /**
399
403
  * Navigates to a specified page.
404
+ *
400
405
  * @param page - The page number to navigate to.
401
- * @ignore
406
+ * @returns void - No return value. The component navigates to the specified page.
402
407
  */
403
408
  goToPage(page: number): void;
404
409
  get __hostClass(): string;
@@ -2,17 +2,11 @@ import * as polytype from 'polytype';
2
2
  import * as _angular_core from '@angular/core';
3
3
  import { EventEmitter } from '@angular/core';
4
4
  import { MXInputBaseValueComponent, MXLookComponent, AXEvent, AXFocusEvent } from '@acorex/cdk/common';
5
- import * as i5 from '@acorex/components/calendar';
6
5
  import { MXCalendarBaseComponent, AXDateTimePickerType, AXCalendarNavigateEvent } from '@acorex/components/calendar';
7
- import * as i3 from '@acorex/components/datetime-input';
8
6
  import { AXDateTimeInputComponent } from '@acorex/components/datetime-input';
9
- import * as i6 from '@acorex/components/datetime-picker';
10
7
  import { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';
11
8
  import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
12
- import * as i4 from '@acorex/components/dropdown';
13
9
  import { MXDropdownBoxBaseComponent, AXDropdownBoxComponent } from '@acorex/components/dropdown';
14
- import * as i1 from '@angular/common';
15
- import * as i2 from '@angular/forms';
16
10
 
17
11
  declare const AXDateTimeBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
18
12
  new (): MXInputBaseValueComponent<Date>;
@@ -100,13 +94,14 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
100
94
  * @ignore
101
95
  */
102
96
  protected _handleInputOnClick(): void;
97
+ private get __hostName();
103
98
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeBoxComponent, never>;
104
99
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeBoxComponent, "ax-datetime-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "depth": { "alias": "depth"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "look": { "alias": "look"; "required": false; }; "holidayDates": { "alias": "holidayDates"; "required": false; }; "allowTyping": { "alias": "allowTyping"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onOpened": "onOpened"; "onClosed": "onClosed"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "formatChange": "formatChange"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
105
100
  }
106
101
 
107
102
  declare class AXDateTimeBoxModule {
108
103
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeBoxModule, never>;
109
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimeBoxModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.AXDateTimeInputModule, typeof i4.AXDropdownModule, typeof i5.AXCalendarModule, typeof i6.AXDateTimePickerModule, typeof AXDateTimeBoxComponent], [typeof AXDateTimeBoxComponent]>;
104
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimeBoxModule, never, [typeof AXDateTimeBoxComponent], [typeof AXDateTimeBoxComponent]>;
110
105
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXDateTimeBoxModule>;
111
106
  }
112
107
 
@@ -1,9 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { MXInputBaseValueComponent, AXClickEvent } from '@acorex/cdk/common';
3
3
  import { AXDateTimePickerType } from '@acorex/components/calendar';
4
- import * as i1 from '@angular/common';
5
- import * as i2 from '@angular/forms';
6
- import * as i3 from '@acorex/core/date-time';
7
4
 
8
5
  /**
9
6
  * A component for date and time input with various custom features.
@@ -122,13 +119,14 @@ declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {
122
119
  * @ignore
123
120
  */
124
121
  private _detectValueChanges;
122
+ private get __hostName();
125
123
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeInputComponent, never>;
126
124
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeInputComponent, "ax-datetime-input", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "allowTyping": { "alias": "allowTyping"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onClick": "onClick"; }, never, ["ax-validation-rule"], true, never>;
127
125
  }
128
126
 
129
127
  declare class AXDateTimeInputModule {
130
128
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeInputModule, never>;
131
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimeInputModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.AXDateTimeModule, typeof AXDateTimeInputComponent], [typeof AXDateTimeInputComponent]>;
129
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimeInputModule, never, [typeof AXDateTimeInputComponent], [typeof AXDateTimeInputComponent]>;
132
130
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXDateTimeInputModule>;
133
131
  }
134
132
 
@@ -2,18 +2,9 @@ import * as polytype from 'polytype';
2
2
  import * as _angular_core from '@angular/core';
3
3
  import { OnInit, InjectionToken } from '@angular/core';
4
4
  import { MXValueComponent, AXValueChangedEvent } from '@acorex/cdk/common';
5
- import * as i6 from '@acorex/components/calendar';
6
5
  import { MXCalendarBaseComponent, AXDateTimePickerType, AXCalendarNavigateEvent } from '@acorex/components/calendar';
7
- import * as i3 from '@acorex/components/tabs';
8
6
  import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
9
- import * as i4 from '@acorex/core/date-time';
10
7
  import { AXDateTimeParts, AXDateTime } from '@acorex/core/date-time';
11
- import * as i1 from '@angular/common';
12
- import * as i2 from '@angular/forms';
13
- import * as i5 from '@acorex/components/button';
14
- import * as i7 from '@acorex/components/picker';
15
- import * as i8 from '@acorex/core/translation';
16
- import * as i9 from '@acorex/components/decorators';
17
8
 
18
9
  declare const AXDateTimePickerComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXCalendarBaseComponent, {
19
10
  new (): MXValueComponent<Date>;
@@ -30,6 +21,12 @@ declare class AXDateTimePickerComponent extends AXDateTimePickerComponent_base i
30
21
  private formatService;
31
22
  protected buttonText: _angular_core.Signal<"dateTime.today" | "dateTime.now">;
32
23
  private defaultConfig;
24
+ protected pickerHoursMinValue: _angular_core.WritableSignal<number>;
25
+ protected pickerHoursMaxValue: _angular_core.WritableSignal<number>;
26
+ protected pickerMinuteMinValue: _angular_core.WritableSignal<number>;
27
+ protected pickerMinuteMaxValue: _angular_core.WritableSignal<number>;
28
+ protected pickerSecondMinValue: _angular_core.WritableSignal<number>;
29
+ protected pickerSecondMaxValue: _angular_core.WritableSignal<number>;
33
30
  /**
34
31
  * @ignore
35
32
  */
@@ -104,6 +101,8 @@ declare class AXDateTimePickerComponent extends AXDateTimePickerComponent_base i
104
101
  * @ignore
105
102
  */
106
103
  protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>): void;
104
+ private checkSelectedMinValue;
105
+ private checkSelectedMaxValue;
107
106
  /**
108
107
  * @ignore
109
108
  */
@@ -139,7 +138,7 @@ declare function dateTimePickerConfig(config?: PartialDateTimePickerConfig): AXD
139
138
 
140
139
  declare class AXDateTimePickerModule {
141
140
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimePickerModule, never>;
142
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimePickerModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i3.AXTabsModule, typeof i4.AXDateTimeModule, typeof i5.AXButtonModule, typeof i6.AXCalendarModule, typeof i7.AXPickerModule, typeof i8.AXTranslationModule, typeof i9.AXDecoratorModule, typeof AXDateTimePickerComponent], [typeof AXDateTimePickerComponent]>;
141
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimePickerModule, never, [typeof AXDateTimePickerComponent], [typeof AXDateTimePickerComponent]>;
143
142
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXDateTimePickerModule>;
144
143
  }
145
144