@acorex/components 22.1.0-next.31 → 22.1.0-next.32

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 (262) hide show
  1. package/emoji/README.md +3 -0
  2. package/emojipicker/README.md +3 -0
  3. package/fesm2022/acorex-components-accordion.mjs +13 -13
  4. package/fesm2022/acorex-components-accordion.mjs.map +1 -1
  5. package/fesm2022/acorex-components-action-sheet.mjs +13 -13
  6. package/fesm2022/acorex-components-alert.mjs +7 -7
  7. package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
  8. package/fesm2022/acorex-components-audio-wave.mjs +295 -271
  9. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  10. package/fesm2022/acorex-components-autocomplete.mjs +7 -7
  11. package/fesm2022/acorex-components-avatar.mjs +10 -10
  12. package/fesm2022/acorex-components-badge.mjs +7 -7
  13. package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
  14. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  15. package/fesm2022/acorex-components-bubble.mjs +71 -0
  16. package/fesm2022/acorex-components-bubble.mjs.map +1 -0
  17. package/fesm2022/acorex-components-button-group.mjs +22 -15
  18. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  19. package/fesm2022/acorex-components-button.mjs +14 -14
  20. package/fesm2022/acorex-components-button.mjs.map +1 -1
  21. package/fesm2022/acorex-components-calendar.mjs +332 -130
  22. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  23. package/fesm2022/acorex-components-check-box.mjs +7 -7
  24. package/fesm2022/acorex-components-chips.mjs +7 -7
  25. package/fesm2022/acorex-components-circular-progress.mjs +7 -7
  26. package/fesm2022/acorex-components-code-editor.mjs +44 -19
  27. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  28. package/fesm2022/acorex-components-color-box.mjs +7 -7
  29. package/fesm2022/acorex-components-color-palette.mjs +28 -28
  30. package/fesm2022/acorex-components-combo-box.mjs +244 -54
  31. package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
  32. package/fesm2022/acorex-components-command.mjs +7 -7
  33. package/fesm2022/acorex-components-comment.mjs +28 -28
  34. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BBWe3tfe.mjs +19099 -0
  35. package/fesm2022/acorex-components-conversation-acorex-components-conversation-BBWe3tfe.mjs.map +1 -0
  36. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs +50 -0
  37. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map +1 -0
  38. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs +87 -0
  39. package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -0
  40. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-OAHRGH_G.mjs +65 -0
  41. package/fesm2022/acorex-components-conversation-picker-rename-file-dialog.component-OAHRGH_G.mjs.map +1 -0
  42. package/fesm2022/acorex-components-conversation.mjs +1 -15470
  43. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  44. package/fesm2022/acorex-components-cron-job.mjs +47 -47
  45. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  46. package/fesm2022/acorex-components-data-list.mjs +3 -3
  47. package/fesm2022/acorex-components-data-pager.mjs +35 -35
  48. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  49. package/fesm2022/acorex-components-data-table.mjs +734 -165
  50. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  51. package/fesm2022/acorex-components-datetime-box.mjs +7 -7
  52. package/fesm2022/acorex-components-datetime-input.mjs +7 -7
  53. package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
  54. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  55. package/fesm2022/acorex-components-decorators.mjs +60 -30
  56. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  57. package/fesm2022/acorex-components-dialog.mjs +11 -11
  58. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  59. package/fesm2022/acorex-components-drawer.mjs +10 -10
  60. package/fesm2022/acorex-components-dropdown-button.mjs +8 -8
  61. package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
  62. package/fesm2022/acorex-components-dropdown.mjs +14 -14
  63. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  64. package/fesm2022/acorex-components-editor.mjs +15 -14
  65. package/fesm2022/acorex-components-editor.mjs.map +1 -1
  66. package/fesm2022/acorex-components-emoji.mjs +74 -0
  67. package/fesm2022/acorex-components-emoji.mjs.map +1 -0
  68. package/fesm2022/acorex-components-emojipicker.mjs +425 -0
  69. package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
  70. package/fesm2022/acorex-components-fab.mjs +6 -6
  71. package/fesm2022/acorex-components-fab.mjs.map +1 -1
  72. package/fesm2022/acorex-components-file-viewer.mjs +372 -122
  73. package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
  74. package/fesm2022/acorex-components-form.mjs +17 -17
  75. package/fesm2022/acorex-components-form.mjs.map +1 -1
  76. package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
  77. package/fesm2022/acorex-components-highlight.mjs +80 -0
  78. package/fesm2022/acorex-components-highlight.mjs.map +1 -0
  79. package/fesm2022/acorex-components-image-editor.mjs +780 -451
  80. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  81. package/fesm2022/acorex-components-image.mjs +7 -7
  82. package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
  83. package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
  84. package/fesm2022/acorex-components-json-viewer.mjs +7 -7
  85. package/fesm2022/acorex-components-kanban.mjs +3 -3
  86. package/fesm2022/acorex-components-kanban.mjs.map +1 -1
  87. package/fesm2022/acorex-components-kbd.mjs +6 -6
  88. package/fesm2022/acorex-components-label.mjs +7 -7
  89. package/fesm2022/acorex-components-list.mjs +28 -9
  90. package/fesm2022/acorex-components-list.mjs.map +1 -1
  91. package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
  92. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  93. package/fesm2022/acorex-components-loading.mjs +16 -16
  94. package/fesm2022/acorex-components-lookup.mjs +764 -156
  95. package/fesm2022/acorex-components-lookup.mjs.map +1 -1
  96. package/fesm2022/acorex-components-map.mjs +20 -13
  97. package/fesm2022/acorex-components-map.mjs.map +1 -1
  98. package/fesm2022/acorex-components-media-viewer.mjs +215 -218
  99. package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
  100. package/fesm2022/acorex-components-menu.mjs +146 -45
  101. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  102. package/fesm2022/acorex-components-message-status.mjs +71 -0
  103. package/fesm2022/acorex-components-message-status.mjs.map +1 -0
  104. package/fesm2022/acorex-components-message-time.mjs +36 -0
  105. package/fesm2022/acorex-components-message-time.mjs.map +1 -0
  106. package/fesm2022/acorex-components-message.mjs +120 -0
  107. package/fesm2022/acorex-components-message.mjs.map +1 -0
  108. package/fesm2022/acorex-components-navbar.mjs +7 -7
  109. package/fesm2022/acorex-components-notification.mjs +11 -11
  110. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  111. package/fesm2022/acorex-components-number-box.mjs +7 -7
  112. package/fesm2022/acorex-components-otp.mjs +7 -7
  113. package/fesm2022/acorex-components-page.mjs +10 -10
  114. package/fesm2022/acorex-components-paint.mjs +25 -25
  115. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  116. package/fesm2022/acorex-components-password-box.mjs +10 -10
  117. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  118. package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
  119. package/fesm2022/acorex-components-phone-box.mjs +7 -7
  120. package/fesm2022/acorex-components-picker.mjs +13 -13
  121. package/fesm2022/acorex-components-popover.mjs +33 -15
  122. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  123. package/fesm2022/acorex-components-popup.mjs +67 -56
  124. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  125. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  126. package/fesm2022/acorex-components-qrcode.mjs +7 -7
  127. package/fesm2022/acorex-components-radio.mjs +7 -7
  128. package/fesm2022/acorex-components-rail-navigation.mjs +14 -14
  129. package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
  130. package/fesm2022/acorex-components-range-slider.mjs +9 -9
  131. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  132. package/fesm2022/acorex-components-rate-picker.mjs +7 -7
  133. package/fesm2022/acorex-components-reaction.mjs +144 -0
  134. package/fesm2022/acorex-components-reaction.mjs.map +1 -0
  135. package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
  136. package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
  137. package/fesm2022/acorex-components-result.mjs +7 -7
  138. package/fesm2022/acorex-components-routing-progress.mjs +7 -7
  139. package/fesm2022/acorex-components-rrule.mjs +9 -9
  140. package/fesm2022/acorex-components-rrule.mjs.map +1 -1
  141. package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
  142. package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
  143. package/fesm2022/acorex-components-scheduler.mjs +34 -34
  144. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  145. package/fesm2022/acorex-components-search-box.mjs +7 -7
  146. package/fesm2022/acorex-components-select-box.mjs +7 -7
  147. package/fesm2022/acorex-components-selection-list.mjs +7 -8
  148. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  149. package/fesm2022/acorex-components-side-menu.mjs +55 -42
  150. package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
  151. package/fesm2022/acorex-components-sidebar.mjs +28 -28
  152. package/fesm2022/acorex-components-skeleton.mjs +7 -7
  153. package/fesm2022/acorex-components-slider.mjs +7 -7
  154. package/fesm2022/acorex-components-sliding-item.mjs +13 -13
  155. package/fesm2022/acorex-components-step-wizard.mjs +16 -18
  156. package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
  157. package/fesm2022/acorex-components-switch.mjs +10 -10
  158. package/fesm2022/acorex-components-tabs.mjs +529 -78
  159. package/fesm2022/acorex-components-tabs.mjs.map +1 -1
  160. package/fesm2022/acorex-components-tag-box.mjs +7 -7
  161. package/fesm2022/acorex-components-tag.mjs +7 -7
  162. package/fesm2022/acorex-components-text-area.mjs +7 -7
  163. package/fesm2022/acorex-components-text-box.mjs +7 -7
  164. package/fesm2022/acorex-components-time-duration.mjs +7 -7
  165. package/fesm2022/acorex-components-time-line.mjs +10 -10
  166. package/fesm2022/acorex-components-toast.mjs +10 -10
  167. package/fesm2022/acorex-components-toolbar.mjs +7 -7
  168. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  169. package/fesm2022/acorex-components-tree-view.mjs +58 -15
  170. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  171. package/fesm2022/acorex-components-uploader.mjs +13 -13
  172. package/fesm2022/acorex-components-video-player.mjs +7 -7
  173. package/fesm2022/acorex-components-wysiwyg.mjs +109 -39
  174. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  175. package/highlight/README.md +13 -0
  176. package/inline-reaction/README.md +3 -0
  177. package/lookup/README.md +1 -1
  178. package/message/README.md +3 -0
  179. package/message-status/README.md +3 -0
  180. package/message-time/README.md +3 -0
  181. package/package.json +42 -12
  182. package/reaction/README.md +3 -0
  183. package/types/acorex-components-action-sheet.d.ts +1 -1
  184. package/types/acorex-components-audio-wave.d.ts +132 -73
  185. package/types/acorex-components-bubble.d.ts +31 -0
  186. package/types/acorex-components-button-group.d.ts +4 -0
  187. package/types/acorex-components-button.d.ts +1 -1
  188. package/types/acorex-components-calendar.d.ts +43 -12
  189. package/types/acorex-components-check-box.d.ts +1 -1
  190. package/types/acorex-components-code-editor.d.ts +4 -1
  191. package/types/acorex-components-color-box.d.ts +1 -1
  192. package/types/acorex-components-color-palette.d.ts +2 -2
  193. package/types/acorex-components-combo-box.d.ts +34 -4
  194. package/types/acorex-components-command.d.ts +1 -1
  195. package/types/acorex-components-conversation.d.ts +1771 -1342
  196. package/types/acorex-components-cron-job.d.ts +6 -6
  197. package/types/acorex-components-data-pager.d.ts +2 -2
  198. package/types/acorex-components-data-table.d.ts +194 -21
  199. package/types/acorex-components-datetime-box.d.ts +1 -1
  200. package/types/acorex-components-datetime-picker.d.ts +1 -1
  201. package/types/acorex-components-decorators.d.ts +13 -1
  202. package/types/acorex-components-dialog.d.ts +1 -1
  203. package/types/acorex-components-dropdown.d.ts +1 -1
  204. package/types/acorex-components-editor.d.ts +1 -1
  205. package/types/acorex-components-emoji.d.ts +42 -0
  206. package/types/acorex-components-emojipicker.d.ts +146 -0
  207. package/types/acorex-components-file-viewer.d.ts +50 -6
  208. package/types/acorex-components-highlight.d.ts +31 -0
  209. package/types/acorex-components-image-editor.d.ts +72 -50
  210. package/types/acorex-components-inline-reaction.d.ts +52 -0
  211. package/types/acorex-components-list.d.ts +12 -0
  212. package/types/acorex-components-loading-dialog.d.ts +1 -1
  213. package/types/acorex-components-loading.d.ts +1 -1
  214. package/types/acorex-components-lookup.d.ts +213 -82
  215. package/types/acorex-components-map.d.ts +7 -2
  216. package/types/acorex-components-media-viewer.d.ts +4 -3
  217. package/types/acorex-components-menu.d.ts +17 -5
  218. package/types/acorex-components-message-status.d.ts +23 -0
  219. package/types/acorex-components-message-time.d.ts +19 -0
  220. package/types/acorex-components-message.d.ts +59 -0
  221. package/types/acorex-components-notification.d.ts +1 -1
  222. package/types/acorex-components-number-box.d.ts +1 -1
  223. package/types/acorex-components-otp.d.ts +1 -1
  224. package/types/acorex-components-page.d.ts +2 -2
  225. package/types/acorex-components-paint.d.ts +2 -2
  226. package/types/acorex-components-password-box.d.ts +1 -1
  227. package/types/acorex-components-phone-box.d.ts +1 -1
  228. package/types/acorex-components-popover.d.ts +10 -4
  229. package/types/acorex-components-popup.d.ts +20 -10
  230. package/types/acorex-components-rail-navigation.d.ts +1 -1
  231. package/types/acorex-components-range-slider.d.ts +1 -1
  232. package/types/acorex-components-reaction.d.ts +85 -0
  233. package/types/acorex-components-rest-api-generator.d.ts +1 -1
  234. package/types/acorex-components-rrule.d.ts +1 -1
  235. package/types/acorex-components-scheduler-picker.d.ts +1 -1
  236. package/types/acorex-components-scheduler.d.ts +1 -1
  237. package/types/acorex-components-search-box.d.ts +1 -1
  238. package/types/acorex-components-selection-list.d.ts +1 -1
  239. package/types/acorex-components-side-menu.d.ts +6 -8
  240. package/types/acorex-components-slider.d.ts +1 -1
  241. package/types/acorex-components-step-wizard.d.ts +4 -4
  242. package/types/acorex-components-switch.d.ts +1 -1
  243. package/types/acorex-components-tabs.d.ts +150 -19
  244. package/types/acorex-components-tag-box.d.ts +2 -2
  245. package/types/acorex-components-text-area.d.ts +1 -1
  246. package/types/acorex-components-text-box.d.ts +1 -1
  247. package/types/acorex-components-time-duration.d.ts +1 -1
  248. package/types/acorex-components-toast.d.ts +1 -1
  249. package/types/acorex-components-tree-view.d.ts +32 -3
  250. package/types/acorex-components-wysiwyg.d.ts +15 -2
  251. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +0 -50
  252. package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +0 -1
  253. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs +0 -210
  254. package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-DnSW908R.mjs.map +0 -1
  255. package/fesm2022/acorex-components-flow-chart.mjs +0 -735
  256. package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
  257. package/fesm2022/acorex-components-query-builder.mjs +0 -267
  258. package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
  259. package/flow-chart/README.md +0 -3
  260. package/query-builder/README.md +0 -3
  261. package/types/acorex-components-flow-chart.d.ts +0 -187
  262. package/types/acorex-components-query-builder.d.ts +0 -52
@@ -3,7 +3,7 @@ import { TemplateRef, ElementRef } from '@angular/core';
3
3
  import { AXEvent, AXDataSource, AXListDataSource, AXHtmlEvent, NXValueComponent, AXStyleLookType, AXValueChangedEvent, AXFocusEvent, AXItemClickEvent, AXItemSelectedEvent } from '@acorex/cdk/common';
4
4
  import { AXPopoverComponent } from '@acorex/components/popover';
5
5
  import { AXSearchBoxComponent } from '@acorex/components/search-box';
6
- import { AXTreeViewDataSource, AXTreeViewItemTemplateContext, AXTreeViewSelectionChangeEvent, AXTreeViewSelectionBehavior, AXTreeViewNode } from '@acorex/components/tree-view';
6
+ import { AXTreeViewNode, AXTreeViewDataSource, AXTreeViewSelectionBehavior, AXTreeViewItemTemplateContext, AXTreeViewSelectionChangeEvent } from '@acorex/components/tree-view';
7
7
  import { FormValueControl } from '@angular/forms/signals';
8
8
  import { AXListNavigationDirective, AXListNavigationItemDirective } from '@acorex/cdk/list-navigation';
9
9
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
@@ -52,71 +52,11 @@ interface AXLookupItemClickEvent {
52
52
  /**
53
53
  * Emitted by `ax-lookup` when the selection changes, carrying the resolved selected items.
54
54
  */
55
- interface AXLookupSelectionChangedEvent extends AXEvent {
56
- items: AXLookupItem[];
55
+ interface AXLookupSelectionChangedEvent<TItem = any> extends AXEvent {
56
+ items: TItem[];
57
57
  value: unknown | unknown[] | null;
58
58
  }
59
59
 
60
- /**
61
- * Internal mini component for the `drop-down-tree` lookup mode:
62
- * a predefined list rendered in a tree-like structure for single item selection.
63
- *
64
- * @category Components
65
- */
66
- declare class AXLookupDropDownTreeComponent {
67
- /**
68
- * The tree datasource: an array of nodes or a lazy children callback.
69
- */
70
- dataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
71
- /**
72
- * The node property used as the selection value (tree `idField`).
73
- */
74
- valueField: _angular_core.InputSignal<string>;
75
- /**
76
- * The node property used as the display text (tree `titleField`).
77
- */
78
- textField: _angular_core.InputSignal<string>;
79
- /**
80
- * The node property marking a node as disabled.
81
- */
82
- disabledField: _angular_core.InputSignal<string>;
83
- /**
84
- * Currently selected values (at most one for single selection).
85
- */
86
- selectedValues: _angular_core.InputSignal<unknown[]>;
87
- /**
88
- * Custom template rendered for each tree node.
89
- */
90
- nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
91
- /**
92
- * Custom template rendered when the filtered tree has no nodes.
93
- */
94
- emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
95
- /**
96
- * When `true`, visible tree nodes use alternating background colors.
97
- */
98
- alternate: _angular_core.InputSignal<boolean>;
99
- /**
100
- * Unique id that changes on every search apply so a new tree instance is created.
101
- */
102
- filterKey: _angular_core.InputSignal<string>;
103
- /**
104
- * Emitted when the user selects a node.
105
- */
106
- itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
107
- protected selectedIds: _angular_core.Signal<string[]>;
108
- protected isEmpty: _angular_core.Signal<boolean>;
109
- protected treeInstances: _angular_core.Signal<{
110
- id: string;
111
- source: AXTreeViewDataSource;
112
- }[]>;
113
- /** Whether the filtered tree currently has no nodes. */
114
- hasNoMatches(): boolean;
115
- protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
116
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
117
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupDropDownTreeComponent, "ax-lookup-drop-down-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "filterKey": { "alias": "filterKey"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
118
- }
119
-
120
60
  /**
121
61
  * Shared `AXDataSource` + CDK virtual scroll plumbing for the list-based lookup views
122
62
  * (`ax-lookup-drop-down-list`, `ax-lookup-multi-select`).
@@ -152,7 +92,8 @@ declare abstract class AXLookupListViewBase {
152
92
  */
153
93
  maxVisibleItems: _angular_core.InputSignal<number>;
154
94
  /**
155
- * Custom template rendered for each item. Context: `$implicit` is the item.
95
+ * Custom template rendered for each item. Context: `$implicit` is the item;
96
+ * `highlightText` is the active search query when result highlighting is enabled.
156
97
  * Default option chrome is not applied on top of the template.
157
98
  */
158
99
  itemTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
@@ -168,6 +109,10 @@ declare abstract class AXLookupListViewBase {
168
109
  * When `true`, list rows use alternating background colors for easier scanning.
169
110
  */
170
111
  alternate: _angular_core.InputSignal<boolean>;
112
+ /**
113
+ * When set, matching characters in the default option label are highlighted.
114
+ */
115
+ highlightText: _angular_core.InputSignal<string>;
171
116
  /**
172
117
  * Emitted when the user picks (or toggles) an item.
173
118
  */
@@ -192,7 +137,7 @@ declare abstract class AXLookupListViewBase {
192
137
  protected listNavigation: _angular_core.Signal<AXListNavigationDirective>;
193
138
  protected navItems: _angular_core.Signal<readonly AXListNavigationItemDirective[]>;
194
139
  constructor();
195
- /** Moves keyboard focus to the first rendered list option. */
140
+ /** Moves keyboard focus to the selected list option, or the first option when none is selected. */
196
141
  focusFirst(): void;
197
142
  protected getValue(item: AXLookupItem): unknown;
198
143
  protected getText(item: AXLookupItem): string;
@@ -209,7 +154,7 @@ declare abstract class AXLookupListViewBase {
209
154
  protected activateNavItem(nav: AXListNavigationDirective, item: AXListNavigationItemDirective): void;
210
155
  protected trackByIndex: (index: number) => number;
211
156
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
212
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXLookupListViewBase, never, never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "navigateOut": "navigateOut"; }, never, never, true, never>;
157
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXLookupListViewBase, never, never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "navigateOut": "navigateOut"; }, never, never, true, never>;
213
158
  }
214
159
 
215
160
  /**
@@ -226,6 +171,8 @@ interface AXLookupTreeSelectionEvent {
226
171
  * @category Components
227
172
  */
228
173
  declare class AXLookupMultiSelectTreeComponent {
174
+ #private;
175
+ constructor();
229
176
  /**
230
177
  * The tree datasource: an array of nodes or a lazy children callback.
231
178
  */
@@ -258,6 +205,14 @@ declare class AXLookupMultiSelectTreeComponent {
258
205
  * Custom template rendered when the filtered tree has no nodes.
259
206
  */
260
207
  emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
208
+ /**
209
+ * Custom template rendered while the tree is hydrating for search.
210
+ */
211
+ loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
212
+ /**
213
+ * When `true`, a loading placeholder is shown while lazy tree data is hydrated for search.
214
+ */
215
+ loading: _angular_core.InputSignal<boolean>;
261
216
  /**
262
217
  * When `true`, visible tree nodes use alternating background colors.
263
218
  */
@@ -266,6 +221,10 @@ declare class AXLookupMultiSelectTreeComponent {
266
221
  * Unique id that changes on every search apply so a new tree instance is created.
267
222
  */
268
223
  filterKey: _angular_core.InputSignal<string>;
224
+ /**
225
+ * When set, matching characters in the default node label are highlighted.
226
+ */
227
+ highlightText: _angular_core.InputSignal<string>;
269
228
  /**
270
229
  * Emitted when the user changes the tree selection.
271
230
  */
@@ -280,7 +239,7 @@ declare class AXLookupMultiSelectTreeComponent {
280
239
  hasNoMatches(): boolean;
281
240
  protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
282
241
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiSelectTreeComponent, never>;
283
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiSelectTreeComponent, "ax-lookup-multi-select-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "filterKey": { "alias": "filterKey"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
242
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiSelectTreeComponent, "ax-lookup-multi-select-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "selectionBehavior": { "alias": "selectionBehavior"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "filterKey": { "alias": "filterKey"; "required": false; "isSignal": true; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
284
243
  }
285
244
 
286
245
  /**
@@ -289,6 +248,8 @@ declare class AXLookupMultiSelectTreeComponent {
289
248
  * Modes (each rendered by its own internal mini component):
290
249
  * - `drop-down-list` — a predefined list of options for picking single values.
291
250
  * - `multi-select` — a predefined list of options for multiple item selection (chips in the trigger).
251
+ * In multi modes, Backspace with an empty trigger input removes the last chip; repeated presses clear
252
+ * the whole selection.
292
253
  * - `drop-down-tree` — a tree-like structure for single item selection; when searchable, the trigger
293
254
  * input filters nested nodes as you type (on small screens the search field is inside the actionsheet).
294
255
  * - `multi-select-tree` — a tree-like structure for multiple item selection; searchable the same way.
@@ -305,7 +266,7 @@ declare class AXLookupMultiSelectTreeComponent {
305
266
  *
306
267
  * @category Components
307
268
  */
308
- declare class AXLookupComponent extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
269
+ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
309
270
  #private;
310
271
  /**
311
272
  * The name of the form field, used by validation rules and `ax-form.validate(names)`.
@@ -320,7 +281,7 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
320
281
  * and for `multi-column-tree` when `treeDataSource` is not set.
321
282
  * Accepts an `AXDataSource` (remote paging, `byKey`, server-side filter) or a plain array.
322
283
  */
323
- dataSource: _angular_core.InputSignal<AXLookupItem[] | AXDataSource<AXLookupItem>>;
284
+ dataSource: _angular_core.InputSignal<AXDataSource<T> | T[]>;
324
285
  /**
325
286
  * The nodes source for tree modes (`drop-down-tree`, `multi-select-tree`, `multi-column-tree`):
326
287
  * an array of nodes or a lazy children callback.
@@ -359,6 +320,7 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
359
320
  * Whether the trigger accepts typing and filters the datasource (`true`),
360
321
  * or is select-only with no writable input (`false`).
361
322
  * Applies to all modes, including `drop-down-tree` and `multi-select-tree`.
323
+ * Lazy callback trees are hydrated once per popup open and searched in full.
362
324
  * On small screens with `adaptivityEnabled`, search is typed in the actionsheet instead of the trigger.
363
325
  */
364
326
  searchable: _angular_core.InputSignal<boolean>;
@@ -370,6 +332,7 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
370
332
  adaptivityEnabled: _angular_core.InputSignal<boolean>;
371
333
  /**
372
334
  * Title shown in the actionsheet header on small screens. Falls back to `placeholder`.
335
+ * Supports i18n expressions (e.g. `@acorex:selectbox.popover.title`).
373
336
  */
374
337
  caption: _angular_core.InputSignal<string>;
375
338
  /**
@@ -381,12 +344,18 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
381
344
  * Placeholder for the trigger search input when items are already selected
382
345
  * (mainly useful in `multi-select` / `multi-select-tree`), and for the in-sheet search field on small screens.
383
346
  * Falls back to `placeholder` when the selection is empty on desktop.
347
+ * Supports i18n expressions (e.g. `@acorex:common.actions.search`).
384
348
  */
385
349
  searchPlaceholder: _angular_core.InputSignal<string>;
386
350
  /**
387
351
  * The placeholder text shown when no value is selected.
352
+ * Supports i18n expressions (e.g. `@acorex:chat.placeholders.select-conversation`).
388
353
  */
389
354
  placeholder: _angular_core.InputSignal<string>;
355
+ /** Resolved `placeholder` (i18n-aware). */
356
+ protected translatedPlaceholder: _angular_core.Signal<string>;
357
+ /** Resolved `searchPlaceholder` (i18n-aware). */
358
+ protected translatedSearchPlaceholder: _angular_core.Signal<string>;
390
359
  /**
391
360
  * Whether the lookup is disabled.
392
361
  */
@@ -412,7 +381,13 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
412
381
  */
413
382
  treeSelectionBehavior: _angular_core.InputSignal<AXTreeViewSelectionBehavior>;
414
383
  /**
415
- * Custom template rendered for each item/node. Context: `$implicit` is the item.
384
+ * When `true` (default), matching characters in popup result items are highlighted
385
+ * while the user searches.
386
+ */
387
+ highlightSearch: _angular_core.InputSignalWithTransform<boolean, unknown>;
388
+ /**
389
+ * Custom template rendered for each item/node. Context: `$implicit` is the item;
390
+ * `highlightText` is the active search query when result highlighting is enabled.
416
391
  * Default option chrome (padding, typography, check icon) is not applied; only the
417
392
  * template's styles are used. Selection and hover backgrounds remain on the row.
418
393
  */
@@ -440,15 +415,15 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
440
415
  * Use when the parent already has the selected entity (e.g. edit forms). Seeds the internal
441
416
  * item cache; missing keys still fall through to `find` / `byKey`.
442
417
  */
443
- valueItems: _angular_core.InputSignal<AXLookupItem[]>;
418
+ valueItems: _angular_core.InputSignal<T[]>;
444
419
  /**
445
420
  * Emitted when the selected value changes.
446
421
  */
447
- onValueChanged: _angular_core.OutputEmitterRef<AXValueChangedEvent<unknown>>;
422
+ onValueChanged: _angular_core.OutputEmitterRef<AXValueChangedEvent<any>>;
448
423
  /**
449
424
  * Emitted when the selection changes, carrying the resolved selected items.
450
425
  */
451
- onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent>;
426
+ onSelectionChanged: _angular_core.OutputEmitterRef<AXLookupSelectionChangedEvent<T>>;
452
427
  /**
453
428
  * Emitted when the trigger receives focus.
454
429
  */
@@ -489,8 +464,11 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
489
464
  protected isSheetSearchEnabled: _angular_core.Signal<boolean>;
490
465
  /** Query typed in the actionsheet search field (independent of the trigger display text). */
491
466
  protected sheetSearchText: _angular_core.WritableSignal<string>;
467
+ protected treeSearchLoading: _angular_core.WritableSignal<boolean>;
492
468
  /** Increments on every tree filter apply so the tree view remounts with a new instance. */
493
469
  protected treeFilterKey: _angular_core.Signal<string>;
470
+ /** Query passed to result-item highlighting (empty when disabled). */
471
+ protected highlightQuery: _angular_core.Signal<string>;
494
472
  /** The datasource for list-based modes; plain arrays are converted. */
495
473
  protected resolvedDataSource: _angular_core.Signal<AXDataSource<AXLookupItem>>;
496
474
  protected resolvedTreeDataSource: _angular_core.Signal<AXTreeViewDataSource>;
@@ -500,6 +478,12 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
500
478
  protected selectedItems: _angular_core.WritableSignal<AXLookupItem[]>;
501
479
  /** Display text shown in the trigger for single modes. */
502
480
  protected displayText: _angular_core.Signal<string>;
481
+ /** Resolved display text for the trigger input (i18n-aware). */
482
+ protected translatedDisplayText: _angular_core.Signal<string>;
483
+ /** Actionsheet header title with i18n fallback chain. */
484
+ protected actionsheetTitleSource: _angular_core.Signal<string>;
485
+ /** Resolved actionsheet title (i18n-aware). */
486
+ protected actionsheetTitle: _angular_core.Signal<string>;
503
487
  /**
504
488
  * Text typed in the editable trigger input.
505
489
  * Multi-select starts empty; single modes sync from the selected display text.
@@ -518,8 +502,6 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
518
502
  protected popupRef: _angular_core.Signal<ElementRef<HTMLElement>>;
519
503
  protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
520
504
  protected listView: _angular_core.Signal<AXLookupListViewBase>;
521
- protected dropDownTreeView: _angular_core.Signal<AXLookupDropDownTreeComponent>;
522
- protected multiSelectTreeView: _angular_core.Signal<AXLookupMultiSelectTreeComponent>;
523
505
  protected sheetSearchRef: _angular_core.Signal<AXSearchBoxComponent>;
524
506
  constructor();
525
507
  /** Returns the display text of an item using the `textField` mapping. */
@@ -530,12 +512,18 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
530
512
  * Opens (editable trigger) or toggles the popup on trigger click.
531
513
  */
532
514
  protected onTriggerClick(): void;
515
+ /**
516
+ * Toggles the popup when the chevron button is clicked.
517
+ */
518
+ protected onChevronClick(event: Event): void;
533
519
  /**
534
520
  * Focuses the lookup trigger input.
535
521
  */
536
522
  focus(options?: FocusOptions): void;
537
523
  /**
538
524
  * Handles keyboard interaction on the trigger input.
525
+ * In multi modes, Backspace with an empty trigger input removes the last chip; repeated presses
526
+ * clear the whole selection.
539
527
  */
540
528
  protected onTriggerKeydown(e: KeyboardEvent): void;
541
529
  /** Filters the datasource from the actionsheet search field and handles Enter with no matches. */
@@ -597,7 +585,7 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
597
585
  *
598
586
  * @param items - Full items that include `valueField` (and ideally `textField`) properties.
599
587
  */
600
- seedItems(items: AXLookupItem[]): void;
588
+ seedItems(items: T[]): void;
601
589
  /**
602
590
  * Clears the whole selection.
603
591
  * Sets `null` in single modes and `[]` in multi modes. Used by projected `ax-clear-button`.
@@ -605,8 +593,8 @@ declare class AXLookupComponent extends NXValueComponent implements FormValueCon
605
593
  * @param isUserInteraction - Whether the clear was triggered by the user.
606
594
  */
607
595
  reset(isUserInteraction?: boolean): void;
608
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent, never>;
609
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent, "ax-lookup", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "treeDataSource": { "alias": "treeDataSource"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "treeParentField": { "alias": "treeParentField"; "required": false; "isSignal": true; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "treeSelectionBehavior": { "alias": "treeSelectionBehavior"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueItems": { "alias": "valueItems"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer", "ax-validation-rule"], true, never>;
596
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent<any>, never>;
597
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupComponent<any>, "ax-lookup", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "treeDataSource": { "alias": "treeDataSource"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "treeParentField": { "alias": "treeParentField"; "required": false; "isSignal": true; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "treeSelectionBehavior": { "alias": "treeSelectionBehavior"; "required": false; "isSignal": true; }; "highlightSearch": { "alias": "highlightSearch"; "required": false; "isSignal": true; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "selectedTemplate": { "alias": "selectedTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueItems": { "alias": "valueItems"; "required": false; "isSignal": true; }; }, { "look": "lookChange"; "value": "valueChange"; "onValueChanged": "onValueChanged"; "onSelectionChanged": "onSelectionChanged"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onItemClick": "onItemClick"; "onItemSelected": "onItemSelected"; "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer", "ax-validation-rule"], true, never>;
610
598
  }
611
599
 
612
600
  /**
@@ -631,6 +619,80 @@ declare class AXLookupMultiSelectComponent extends AXLookupListViewBase {
631
619
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiSelectComponent, "ax-lookup-multi-select", never, {}, {}, never, never, true, never>;
632
620
  }
633
621
 
622
+ /**
623
+ * Internal mini component for the `drop-down-tree` lookup mode:
624
+ * a predefined list rendered in a tree-like structure for single item selection.
625
+ *
626
+ * @category Components
627
+ */
628
+ declare class AXLookupDropDownTreeComponent {
629
+ #private;
630
+ constructor();
631
+ /**
632
+ * The tree datasource: an array of nodes or a lazy children callback.
633
+ */
634
+ dataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
635
+ /**
636
+ * The node property used as the selection value (tree `idField`).
637
+ */
638
+ valueField: _angular_core.InputSignal<string>;
639
+ /**
640
+ * The node property used as the display text (tree `titleField`).
641
+ */
642
+ textField: _angular_core.InputSignal<string>;
643
+ /**
644
+ * The node property marking a node as disabled.
645
+ */
646
+ disabledField: _angular_core.InputSignal<string>;
647
+ /**
648
+ * Currently selected values (at most one for single selection).
649
+ */
650
+ selectedValues: _angular_core.InputSignal<unknown[]>;
651
+ /**
652
+ * Custom template rendered for each tree node.
653
+ */
654
+ nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
655
+ /**
656
+ * Custom template rendered when the filtered tree has no nodes.
657
+ */
658
+ emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
659
+ /**
660
+ * Custom template rendered while the tree is hydrating for search.
661
+ */
662
+ loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
663
+ /**
664
+ * When `true`, a loading placeholder is shown while lazy tree data is hydrated for search.
665
+ */
666
+ loading: _angular_core.InputSignal<boolean>;
667
+ /**
668
+ * When `true`, visible tree nodes use alternating background colors.
669
+ */
670
+ alternate: _angular_core.InputSignal<boolean>;
671
+ /**
672
+ * Unique id that changes on every search apply so a new tree instance is created.
673
+ */
674
+ filterKey: _angular_core.InputSignal<string>;
675
+ /**
676
+ * When set, matching characters in the default node label are highlighted.
677
+ */
678
+ highlightText: _angular_core.InputSignal<string>;
679
+ /**
680
+ * Emitted when the user selects a node.
681
+ */
682
+ itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
683
+ protected selectedIds: _angular_core.Signal<string[]>;
684
+ protected isEmpty: _angular_core.Signal<boolean>;
685
+ protected treeInstances: _angular_core.Signal<{
686
+ id: string;
687
+ source: AXTreeViewDataSource;
688
+ }[]>;
689
+ /** Whether the filtered tree currently has no nodes. */
690
+ hasNoMatches(): boolean;
691
+ protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
692
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
693
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupDropDownTreeComponent, "ax-lookup-drop-down-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "filterKey": { "alias": "filterKey"; "required": false; "isSignal": true; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
694
+ }
695
+
634
696
  /**
635
697
  * Internal mini component for the `multi-column` lookup mode:
636
698
  * renders selectable rows in an `ax-data-table` grid and loads further
@@ -690,6 +752,10 @@ declare class AXLookupMultiColumnComponent {
690
752
  * When `true`, table rows use alternating background colors for easier scanning.
691
753
  */
692
754
  alternate: _angular_core.InputSignal<boolean>;
755
+ /**
756
+ * When set, matching text in table cells is highlighted.
757
+ */
758
+ highlightText: _angular_core.InputSignal<string>;
693
759
  /**
694
760
  * Emitted when the user picks a row.
695
761
  */
@@ -724,7 +790,7 @@ declare class AXLookupMultiColumnComponent {
724
790
  protected isDisabled(item: AXLookupItem): boolean;
725
791
  private getValue;
726
792
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnComponent, never>;
727
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnComponent, "ax-lookup-multi-column", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
793
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnComponent, "ax-lookup-multi-column", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
728
794
  }
729
795
 
730
796
  /**
@@ -735,6 +801,8 @@ declare class AXLookupMultiColumnComponent {
735
801
  * @category Components
736
802
  */
737
803
  declare class AXLookupMultiColumnTreeComponent {
804
+ #private;
805
+ constructor();
738
806
  /**
739
807
  * The datasource providing hierarchical rows (roots on load, children via `parentField`).
740
808
  */
@@ -793,6 +861,10 @@ declare class AXLookupMultiColumnTreeComponent {
793
861
  * When `true`, table rows use alternating background colors for easier scanning.
794
862
  */
795
863
  alternate: _angular_core.InputSignal<boolean>;
864
+ /**
865
+ * When set, matching text in table cells is highlighted.
866
+ */
867
+ highlightText: _angular_core.InputSignal<string>;
796
868
  /**
797
869
  * Emitted when the user picks a row (not when expanding/collapsing).
798
870
  */
@@ -818,7 +890,7 @@ declare class AXLookupMultiColumnTreeComponent {
818
890
  protected isDisabled(item: AXLookupItem): boolean;
819
891
  private getValue;
820
892
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiColumnTreeComponent, never>;
821
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnTreeComponent, "ax-lookup-multi-column-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "parentField": { "alias": "parentField"; "required": false; "isSignal": true; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
893
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiColumnTreeComponent, "ax-lookup-multi-column-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "disabledField": { "alias": "disabledField"; "required": false; "isSignal": true; }; "parentField": { "alias": "parentField"; "required": false; "isSignal": true; }; "hasChildrenField": { "alias": "hasChildrenField"; "required": false; "isSignal": true; }; "selectedValues": { "alias": "selectedValues"; "required": false; "isSignal": true; }; "itemHeight": { "alias": "itemHeight"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "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; }; "alternate": { "alias": "alternate"; "required": false; "isSignal": true; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
822
894
  }
823
895
 
824
896
  declare class AXLookupModule {
@@ -827,5 +899,64 @@ declare class AXLookupModule {
827
899
  static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXLookupModule>;
828
900
  }
829
901
 
830
- export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiColumnTreeComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent };
831
- export type { AXLookupColumn, AXLookupItem, AXLookupItemClickEvent, AXLookupMode, AXLookupSelectionChangedEvent, AXLookupTreeSelectionEvent };
902
+ /** Whether a tree node may have descendants (embedded children or lazy metadata). */
903
+ declare function lookupTreeNodeMayHaveChildren(node: AXTreeViewNode): boolean;
904
+ interface HydrateLookupTreeOptions {
905
+ valueField: string;
906
+ maxConcurrent?: number;
907
+ maxNodes?: number;
908
+ isCancelled?: () => boolean;
909
+ }
910
+ /**
911
+ * Loads a lazy tree into a nested in-memory snapshot using bounded-concurrency BFS.
912
+ * Returns new node objects and never mutates the input nodes.
913
+ */
914
+ declare function hydrateLookupTree(roots: AXTreeViewNode[], loadChildren: (nodeId: string) => Promise<AXTreeViewNode[]>, options: HydrateLookupTreeOptions): Promise<AXTreeViewNode[]>;
915
+
916
+ interface AXLookupArrayDataSourceOptions {
917
+ key: string;
918
+ pageSize: number;
919
+ textField: string;
920
+ translateText?: (text: string) => string;
921
+ }
922
+ /** Whether an item label matches a search query (raw or translated). */
923
+ declare function matchesLookupText(text: string, query: string, translateText?: (text: string) => string): boolean;
924
+ /**
925
+ * Array-backed datasource with optional i18n-aware text filtering.
926
+ */
927
+ declare function convertLookupArrayToDataSource<T extends AXLookupItem>(items: T[], options: AXLookupArrayDataSourceOptions): AXDataSource<T>;
928
+ /**
929
+ * Options used when adapting a lookup `treeDataSource` into an `AXDataSource`
930
+ * that `ax-data-table` can expand via `parentField`.
931
+ */
932
+ interface AXLookupTreeTableDataSourceOptions {
933
+ valueField: string;
934
+ textField: string;
935
+ parentField: string;
936
+ hasChildrenField: string;
937
+ /**
938
+ * Fields matched by text search. Defaults to `textField` only. Supply the searchable
939
+ * column fields so values shown in other columns (codes, numbers) are matched too.
940
+ */
941
+ searchFields?: string[];
942
+ /** When set, used for text search instead of loading roots only (whole-tree lazy search). */
943
+ loadSearchRoots?: () => Promise<AXTreeViewNode[]>;
944
+ }
945
+ /**
946
+ * Converts a drop-down-tree datasource (nested array or lazy callback) into an
947
+ * `AXDataSource` that a multi-column data table can load and expand.
948
+ */
949
+ declare function createLookupTreeTableDataSource(source: AXTreeViewDataSource, options: AXLookupTreeTableDataSourceOptions): AXDataSource<AXLookupItem>;
950
+ declare function filterTreeNodes(nodes: AXLookupItem[], textField: string | string[], query: string, translateText?: (text: string) => string): AXLookupItem[];
951
+ /**
952
+ * Maps `filterTreeNodes` output to data-table row metadata so matching branches
953
+ * are expanded and nested rows are visible for search highlighting.
954
+ */
955
+ declare function prepareFilteredTreeTableRows(nodes: AXLookupItem[]): AXLookupItem[];
956
+ /** Immutable copy of a nested tree so tree-view mutations cannot poison the source. */
957
+ declare function cloneLookupTreeNodes(nodes: AXLookupItem[]): AXLookupItem[];
958
+ /** Depth-first flattening of nested `children` arrays. */
959
+ declare function flattenTreeNodes(nodes: AXLookupItem[]): AXLookupItem[];
960
+
961
+ export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiColumnTreeComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent, cloneLookupTreeNodes, convertLookupArrayToDataSource, createLookupTreeTableDataSource, filterTreeNodes, flattenTreeNodes, hydrateLookupTree, lookupTreeNodeMayHaveChildren, matchesLookupText, prepareFilteredTreeTableRows };
962
+ export type { AXLookupArrayDataSourceOptions, AXLookupColumn, AXLookupItem, AXLookupItemClickEvent, AXLookupMode, AXLookupSelectionChangedEvent, AXLookupTreeSelectionEvent, AXLookupTreeTableDataSourceOptions, HydrateLookupTreeOptions };
@@ -584,6 +584,11 @@ declare class AXMapComponent extends NXComponent implements OnDestroy {
584
584
  * Refreshes POIs from providers, clearing existing POIs first
585
585
  */
586
586
  refreshPois(): Promise<void>;
587
+ /**
588
+ * Recalculates Leaflet tile layout after the map container is resized
589
+ * (for example after entering or exiting fullscreen).
590
+ */
591
+ invalidateSize(): void;
587
592
  /**
588
593
  * Cleanup function that destroys the map and unsubscribes from all subscriptions.
589
594
  */
@@ -1036,7 +1041,7 @@ declare class AXLeafletService {
1036
1041
  */
1037
1042
  private patchLeafletDraw;
1038
1043
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLeafletService, never>;
1039
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXLeafletService>;
1044
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
1040
1045
  }
1041
1046
 
1042
1047
  interface AXPoiProvider {
@@ -1049,7 +1054,7 @@ declare class AXPoiProviderService {
1049
1054
  private cache;
1050
1055
  getList(): Promise<AXPoiMarker[]>;
1051
1056
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPoiProviderService, never>;
1052
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXPoiProviderService>;
1057
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
1053
1058
  }
1054
1059
 
1055
1060
  export { AXLeafletService, AXMapComponent, AXMapDefaultConfig, AXMapModule, AXPoiProviderService, AX_MAP_CONFIG, AX_MAP_POI_PROVIDER, baseUrl, mapConfig };
@@ -41,7 +41,7 @@ declare class AXMediaViewerBaseComponent {
41
41
  index: number;
42
42
  };
43
43
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMediaViewerBaseComponent, never>;
44
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMediaViewerBaseComponent>;
44
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
45
45
  }
46
46
 
47
47
  declare class AXMediaViewerService {
@@ -49,7 +49,7 @@ declare class AXMediaViewerService {
49
49
  selectedIndex: _angular_core.WritableSignal<number>;
50
50
  dirtyItems: Map<any, any>;
51
51
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMediaViewerService, never>;
52
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMediaViewerService>;
52
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
53
53
  }
54
54
 
55
55
  declare class AXMediaViewerContainerComponent implements OnDestroy {
@@ -83,10 +83,11 @@ declare class AXMediaViewerContainerComponent implements OnDestroy {
83
83
 
84
84
  declare class AXMediaViewerTypeRegistryService {
85
85
  private plugins;
86
+ constructor();
86
87
  register(...plugins: AXMediaViewerType[]): void;
87
88
  resolve(name: string): AXMediaViewerType | undefined;
88
89
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMediaViewerTypeRegistryService, never>;
89
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMediaViewerTypeRegistryService>;
90
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
90
91
  }
91
92
 
92
93
  declare class AXMediaViewerSliderComponent {