@acorex/components 22.1.7 → 22.2.0-next.0
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.
- package/emoji/README.md +3 -0
- package/emojipicker/README.md +3 -0
- package/fesm2022/acorex-components-accordion.mjs +12 -12
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +15 -14
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +32 -11
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +9 -8
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-bubble.mjs +71 -0
- package/fesm2022/acorex-components-bubble.mjs.map +1 -0
- package/fesm2022/acorex-components-button-group.mjs +22 -15
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +366 -56
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +40 -37
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +7 -7
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +7 -7
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +44 -19
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +28 -28
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +188 -31
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +11 -7
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +28 -28
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs +19538 -0
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs +50 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs +87 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs} +5 -5
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-DuRLMEa3.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +47 -47
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +3 -3
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +182 -184
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +809 -168
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +59 -117
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +11 -11
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +11 -11
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +10 -9
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +19 -14
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +15 -14
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-emoji.mjs +74 -0
- package/fesm2022/acorex-components-emoji.mjs.map +1 -0
- package/fesm2022/acorex-components-emojipicker.mjs +425 -0
- package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
- package/fesm2022/acorex-components-fab.mjs +6 -6
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +250 -133
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +17 -17
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-highlight.mjs +80 -0
- package/fesm2022/acorex-components-highlight.mjs.map +1 -0
- package/fesm2022/acorex-components-image-editor.mjs +217 -79
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
- package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +3 -3
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +6 -6
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +28 -9
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +16 -16
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +919 -169
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +20 -13
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +215 -218
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +146 -45
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-message-status.mjs +71 -0
- package/fesm2022/acorex-components-message-status.mjs.map +1 -0
- package/fesm2022/acorex-components-message-time.mjs +36 -0
- package/fesm2022/acorex-components-message-time.mjs.map +1 -0
- package/fesm2022/acorex-components-message.mjs +120 -0
- package/fesm2022/acorex-components-message.mjs.map +1 -0
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +13 -14
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +17 -10
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +25 -25
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +10 -10
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +61 -13
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +631 -167
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +7 -7
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-reaction.mjs +144 -0
- package/fesm2022/acorex-components-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +9 -9
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +56 -56
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +35 -35
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +9 -8
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -8
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +55 -42
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-sidebar.mjs +28 -28
- package/fesm2022/acorex-components-sidebar.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +7 -7
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +13 -13
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -18
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +393 -76
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +7 -7
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +14 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +54 -14
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +13 -13
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +691 -295
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/highlight/README.md +13 -0
- package/inline-reaction/README.md +3 -0
- package/lookup/README.md +1 -1
- package/message/README.md +3 -0
- package/message-status/README.md +3 -0
- package/message-time/README.md +3 -0
- package/package.json +48 -13
- package/reaction/README.md +3 -0
- package/types/acorex-components-action-sheet.d.ts +1 -1
- package/types/acorex-components-audio-wave.d.ts +8 -0
- package/types/acorex-components-bubble.d.ts +31 -0
- package/types/acorex-components-button-group.d.ts +4 -0
- package/types/acorex-components-button.d.ts +75 -10
- package/types/acorex-components-calendar.d.ts +13 -4
- package/types/acorex-components-check-box.d.ts +1 -1
- package/types/acorex-components-code-editor.d.ts +4 -1
- package/types/acorex-components-color-box.d.ts +1 -1
- package/types/acorex-components-color-palette.d.ts +2 -2
- package/types/acorex-components-combo-box.d.ts +21 -2
- package/types/acorex-components-command.d.ts +3 -1
- package/types/acorex-components-conversation.d.ts +550 -242
- package/types/acorex-components-cron-job.d.ts +6 -6
- package/types/acorex-components-data-pager.d.ts +27 -9
- package/types/acorex-components-data-table.d.ts +226 -21
- package/types/acorex-components-datetime-box.d.ts +1 -1
- package/types/acorex-components-datetime-picker.d.ts +1 -1
- package/types/acorex-components-decorators.d.ts +15 -33
- package/types/acorex-components-dialog.d.ts +1 -1
- package/types/acorex-components-dropdown-button.d.ts +2 -1
- package/types/acorex-components-dropdown.d.ts +6 -1
- package/types/acorex-components-editor.d.ts +1 -1
- package/types/acorex-components-emoji.d.ts +42 -0
- package/types/acorex-components-emojipicker.d.ts +146 -0
- package/types/acorex-components-file-viewer.d.ts +14 -2
- package/types/acorex-components-highlight.d.ts +31 -0
- package/types/acorex-components-image-editor.d.ts +19 -2
- package/types/acorex-components-inline-reaction.d.ts +52 -0
- package/types/acorex-components-list.d.ts +12 -0
- package/types/acorex-components-loading-dialog.d.ts +1 -1
- package/types/acorex-components-loading.d.ts +1 -1
- package/types/acorex-components-lookup.d.ts +227 -79
- package/types/acorex-components-map.d.ts +7 -2
- package/types/acorex-components-media-viewer.d.ts +4 -3
- package/types/acorex-components-menu.d.ts +17 -5
- package/types/acorex-components-message-status.d.ts +23 -0
- package/types/acorex-components-message-time.d.ts +19 -0
- package/types/acorex-components-message.d.ts +59 -0
- package/types/acorex-components-notification.d.ts +1 -1
- package/types/acorex-components-number-box.d.ts +2 -1
- package/types/acorex-components-otp.d.ts +1 -1
- package/types/acorex-components-page.d.ts +2 -2
- package/types/acorex-components-paint.d.ts +2 -2
- package/types/acorex-components-password-box.d.ts +1 -1
- package/types/acorex-components-phone-box.d.ts +1 -1
- package/types/acorex-components-popover.d.ts +13 -1
- package/types/acorex-components-popup.d.ts +183 -50
- package/types/acorex-components-rail-navigation.d.ts +1 -1
- package/types/acorex-components-range-slider.d.ts +1 -1
- package/types/acorex-components-reaction.d.ts +85 -0
- package/types/acorex-components-rest-api-generator.d.ts +1 -1
- package/types/acorex-components-rrule.d.ts +1 -1
- package/types/acorex-components-scheduler-picker.d.ts +1 -1
- package/types/acorex-components-scheduler.d.ts +1 -1
- package/types/acorex-components-search-box.d.ts +1 -1
- package/types/acorex-components-selection-list.d.ts +1 -1
- package/types/acorex-components-side-menu.d.ts +6 -8
- package/types/acorex-components-slider.d.ts +1 -1
- package/types/acorex-components-step-wizard.d.ts +4 -4
- package/types/acorex-components-switch.d.ts +1 -1
- package/types/acorex-components-tabs.d.ts +109 -19
- package/types/acorex-components-tag-box.d.ts +2 -2
- package/types/acorex-components-text-area.d.ts +1 -1
- package/types/acorex-components-text-box.d.ts +1 -1
- package/types/acorex-components-time-duration.d.ts +1 -1
- package/types/acorex-components-toast.d.ts +1 -1
- package/types/acorex-components-tree-view.d.ts +23 -1
- package/types/acorex-components-wysiwyg.d.ts +426 -77
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs +0 -16862
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-EiqMwr9v.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs +0 -51
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-D4ca9Mvt.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs +0 -85
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-QVs1XWYf.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs +0 -210
- package/fesm2022/acorex-components-conversation-open-composer-picker-for-files-C7BnTUw2.mjs.map +0 -1
- package/fesm2022/acorex-components-flow-chart.mjs +0 -735
- package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
- package/fesm2022/acorex-components-query-builder.mjs +0 -267
- package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
- package/flow-chart/README.md +0 -3
- package/query-builder/README.md +0 -3
- package/types/acorex-components-flow-chart.d.ts +0 -187
- 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 {
|
|
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';
|
|
@@ -42,6 +42,17 @@ interface AXLookupColumn {
|
|
|
42
42
|
* `valueField` / `textField` / `disabledField` mappings.
|
|
43
43
|
*/
|
|
44
44
|
type AXLookupItem = Record<string, unknown>;
|
|
45
|
+
/**
|
|
46
|
+
* Multi-select bound value when the user selects all items (optionally with exclusions).
|
|
47
|
+
* Used with `multi-select` and `multi-select-tree` via `[(value)]` / `[(ngModel)]`.
|
|
48
|
+
*/
|
|
49
|
+
interface AXLookupSelectAllValue {
|
|
50
|
+
selectAll: true;
|
|
51
|
+
/** Value keys (`valueField`) that are not selected while `selectAll` is true. */
|
|
52
|
+
excluded?: unknown[];
|
|
53
|
+
}
|
|
54
|
+
/** Bound value in multi-select lookup modes. */
|
|
55
|
+
type AXLookupMultiValue = unknown[] | AXLookupSelectAllValue | null;
|
|
45
56
|
/**
|
|
46
57
|
* Internal event emitted by the mini view components when the user picks or toggles an item.
|
|
47
58
|
*/
|
|
@@ -54,71 +65,7 @@ interface AXLookupItemClickEvent {
|
|
|
54
65
|
*/
|
|
55
66
|
interface AXLookupSelectionChangedEvent<TItem = any> extends AXEvent {
|
|
56
67
|
items: TItem[];
|
|
57
|
-
value: unknown | unknown[] | null;
|
|
58
|
-
}
|
|
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
|
-
* When set, matching characters in the default node label are highlighted.
|
|
105
|
-
*/
|
|
106
|
-
highlightText: _angular_core.InputSignal<string>;
|
|
107
|
-
/**
|
|
108
|
-
* Emitted when the user selects a node.
|
|
109
|
-
*/
|
|
110
|
-
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
111
|
-
protected selectedIds: _angular_core.Signal<string[]>;
|
|
112
|
-
protected isEmpty: _angular_core.Signal<boolean>;
|
|
113
|
-
protected treeInstances: _angular_core.Signal<{
|
|
114
|
-
id: string;
|
|
115
|
-
source: AXTreeViewDataSource;
|
|
116
|
-
}[]>;
|
|
117
|
-
/** Whether the filtered tree currently has no nodes. */
|
|
118
|
-
hasNoMatches(): boolean;
|
|
119
|
-
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
120
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
|
|
121
|
-
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; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; }, never, never, true, never>;
|
|
68
|
+
value: unknown | unknown[] | AXLookupSelectAllValue | null;
|
|
122
69
|
}
|
|
123
70
|
|
|
124
71
|
/**
|
|
@@ -147,6 +94,14 @@ declare abstract class AXLookupListViewBase {
|
|
|
147
94
|
* Currently selected values (always an array, even for single selection).
|
|
148
95
|
*/
|
|
149
96
|
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
97
|
+
/**
|
|
98
|
+
* When `true`, every non-disabled row is selected except keys listed in `excludedValues`.
|
|
99
|
+
*/
|
|
100
|
+
selectAllActive: _angular_core.InputSignal<boolean>;
|
|
101
|
+
/**
|
|
102
|
+
* Value keys excluded from selection while `selectAllActive` is true.
|
|
103
|
+
*/
|
|
104
|
+
excludedValues: _angular_core.InputSignal<unknown[]>;
|
|
150
105
|
/**
|
|
151
106
|
* The fixed row height in pixels used by the virtual scroll viewport.
|
|
152
107
|
*/
|
|
@@ -201,7 +156,7 @@ declare abstract class AXLookupListViewBase {
|
|
|
201
156
|
protected listNavigation: _angular_core.Signal<AXListNavigationDirective>;
|
|
202
157
|
protected navItems: _angular_core.Signal<readonly AXListNavigationItemDirective[]>;
|
|
203
158
|
constructor();
|
|
204
|
-
/** Moves keyboard focus to the first
|
|
159
|
+
/** Moves keyboard focus to the selected list option, or the first option when none is selected. */
|
|
205
160
|
focusFirst(): void;
|
|
206
161
|
protected getValue(item: AXLookupItem): unknown;
|
|
207
162
|
protected getText(item: AXLookupItem): string;
|
|
@@ -218,7 +173,7 @@ declare abstract class AXLookupListViewBase {
|
|
|
218
173
|
protected activateNavItem(nav: AXListNavigationDirective, item: AXListNavigationItemDirective): void;
|
|
219
174
|
protected trackByIndex: (index: number) => number;
|
|
220
175
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupListViewBase, never>;
|
|
221
|
-
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>;
|
|
176
|
+
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; }; "selectAllActive": { "alias": "selectAllActive"; "required": false; "isSignal": true; }; "excludedValues": { "alias": "excludedValues"; "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>;
|
|
222
177
|
}
|
|
223
178
|
|
|
224
179
|
/**
|
|
@@ -235,6 +190,8 @@ interface AXLookupTreeSelectionEvent {
|
|
|
235
190
|
* @category Components
|
|
236
191
|
*/
|
|
237
192
|
declare class AXLookupMultiSelectTreeComponent {
|
|
193
|
+
#private;
|
|
194
|
+
constructor();
|
|
238
195
|
/**
|
|
239
196
|
* The tree datasource: an array of nodes or a lazy children callback.
|
|
240
197
|
*/
|
|
@@ -267,6 +224,14 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
267
224
|
* Custom template rendered when the filtered tree has no nodes.
|
|
268
225
|
*/
|
|
269
226
|
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
227
|
+
/**
|
|
228
|
+
* Custom template rendered while the tree is hydrating for search.
|
|
229
|
+
*/
|
|
230
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
231
|
+
/**
|
|
232
|
+
* When `true`, a loading placeholder is shown while lazy tree data is hydrated for search.
|
|
233
|
+
*/
|
|
234
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
270
235
|
/**
|
|
271
236
|
* When `true`, visible tree nodes use alternating background colors.
|
|
272
237
|
*/
|
|
@@ -293,7 +258,7 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
293
258
|
hasNoMatches(): boolean;
|
|
294
259
|
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
295
260
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupMultiSelectTreeComponent, never>;
|
|
296
|
-
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; }; "highlightText": { "alias": "highlightText"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
261
|
+
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>;
|
|
297
262
|
}
|
|
298
263
|
|
|
299
264
|
/**
|
|
@@ -320,7 +285,7 @@ declare class AXLookupMultiSelectTreeComponent {
|
|
|
320
285
|
*
|
|
321
286
|
* @category Components
|
|
322
287
|
*/
|
|
323
|
-
declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent implements FormValueControl<unknown | unknown[] | null> {
|
|
288
|
+
declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent implements FormValueControl<unknown | unknown[] | AXLookupSelectAllValue | null> {
|
|
324
289
|
#private;
|
|
325
290
|
/**
|
|
326
291
|
* The name of the form field, used by validation rules and `ax-form.validate(names)`.
|
|
@@ -374,6 +339,7 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
374
339
|
* Whether the trigger accepts typing and filters the datasource (`true`),
|
|
375
340
|
* or is select-only with no writable input (`false`).
|
|
376
341
|
* Applies to all modes, including `drop-down-tree` and `multi-select-tree`.
|
|
342
|
+
* Lazy callback trees are hydrated once per popup open and searched in full.
|
|
377
343
|
* On small screens with `adaptivityEnabled`, search is typed in the actionsheet instead of the trigger.
|
|
378
344
|
*/
|
|
379
345
|
searchable: _angular_core.InputSignal<boolean>;
|
|
@@ -385,6 +351,7 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
385
351
|
adaptivityEnabled: _angular_core.InputSignal<boolean>;
|
|
386
352
|
/**
|
|
387
353
|
* Title shown in the actionsheet header on small screens. Falls back to `placeholder`.
|
|
354
|
+
* Supports i18n expressions (e.g. `@acorex:selectbox.popover.title`).
|
|
388
355
|
*/
|
|
389
356
|
caption: _angular_core.InputSignal<string>;
|
|
390
357
|
/**
|
|
@@ -396,12 +363,18 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
396
363
|
* Placeholder for the trigger search input when items are already selected
|
|
397
364
|
* (mainly useful in `multi-select` / `multi-select-tree`), and for the in-sheet search field on small screens.
|
|
398
365
|
* Falls back to `placeholder` when the selection is empty on desktop.
|
|
366
|
+
* Supports i18n expressions (e.g. `@acorex:common.actions.search`).
|
|
399
367
|
*/
|
|
400
368
|
searchPlaceholder: _angular_core.InputSignal<string>;
|
|
401
369
|
/**
|
|
402
370
|
* The placeholder text shown when no value is selected.
|
|
371
|
+
* Supports i18n expressions (e.g. `@acorex:chat.placeholders.select-conversation`).
|
|
403
372
|
*/
|
|
404
373
|
placeholder: _angular_core.InputSignal<string>;
|
|
374
|
+
/** Resolved `placeholder` (i18n-aware). */
|
|
375
|
+
protected translatedPlaceholder: _angular_core.Signal<string>;
|
|
376
|
+
/** Resolved `searchPlaceholder` (i18n-aware). */
|
|
377
|
+
protected translatedSearchPlaceholder: _angular_core.Signal<string>;
|
|
405
378
|
/**
|
|
406
379
|
* Whether the lookup is disabled.
|
|
407
380
|
*/
|
|
@@ -451,11 +424,13 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
451
424
|
*/
|
|
452
425
|
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
453
426
|
/**
|
|
454
|
-
* The selected value(s): a scalar in single modes
|
|
455
|
-
*
|
|
456
|
-
* via {@link FormValueControl}.
|
|
427
|
+
* The selected value(s): a scalar in single modes; in `multi-select` / `multi-select-tree` an array
|
|
428
|
+
* of keys or `{ selectAll: true, excluded?: [...] }` when the default header “Select all” is used.
|
|
429
|
+
* Supports `[(value)]`, `[(ngModel)]`, and signal forms via {@link FormValueControl}.
|
|
457
430
|
*/
|
|
458
431
|
readonly value: _angular_core.ModelSignal<unknown>;
|
|
432
|
+
/** Projected popover header; when set, replaces the default multi-select “Select all” header. */
|
|
433
|
+
private readonly projectedHeader;
|
|
459
434
|
/**
|
|
460
435
|
* Full items that resolve the current `value` key(s) without calling datasource `byKey`.
|
|
461
436
|
* Use when the parent already has the selected entity (e.g. edit forms). Seeds the internal
|
|
@@ -510,6 +485,7 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
510
485
|
protected isSheetSearchEnabled: _angular_core.Signal<boolean>;
|
|
511
486
|
/** Query typed in the actionsheet search field (independent of the trigger display text). */
|
|
512
487
|
protected sheetSearchText: _angular_core.WritableSignal<string>;
|
|
488
|
+
protected treeSearchLoading: _angular_core.WritableSignal<boolean>;
|
|
513
489
|
/** Increments on every tree filter apply so the tree view remounts with a new instance. */
|
|
514
490
|
protected treeFilterKey: _angular_core.Signal<string>;
|
|
515
491
|
/** Query passed to result-item highlighting (empty when disabled). */
|
|
@@ -517,12 +493,27 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
517
493
|
/** The datasource for list-based modes; plain arrays are converted. */
|
|
518
494
|
protected resolvedDataSource: _angular_core.Signal<AXDataSource<AXLookupItem>>;
|
|
519
495
|
protected resolvedTreeDataSource: _angular_core.Signal<AXTreeViewDataSource>;
|
|
520
|
-
/**
|
|
496
|
+
/** Explicit key list (empty when multi value is select-all object). */
|
|
521
497
|
protected selectedValues: _angular_core.Signal<unknown[]>;
|
|
498
|
+
protected multiSelectAllActive: _angular_core.Signal<boolean>;
|
|
499
|
+
protected multiExcludedValues: _angular_core.Signal<unknown[]>;
|
|
500
|
+
protected hasProjectedHeader: _angular_core.Signal<boolean>;
|
|
501
|
+
protected showDefaultSelectAllHeader: _angular_core.Signal<boolean>;
|
|
502
|
+
protected selectAllHeaderChecked: _angular_core.Signal<boolean>;
|
|
503
|
+
protected selectAllHeaderIndeterminate: _angular_core.Signal<boolean>;
|
|
504
|
+
/** Keys used for tree controlled selection when leaving select-all mode. */
|
|
505
|
+
protected effectiveSelectedKeys: _angular_core.Signal<unknown[]>;
|
|
506
|
+
protected hasSelection: _angular_core.Signal<boolean>;
|
|
522
507
|
/** The resolved selected items (via cache, datasource `find`/`byKey`, or tree node lookup). */
|
|
523
508
|
protected selectedItems: _angular_core.WritableSignal<AXLookupItem[]>;
|
|
524
509
|
/** Display text shown in the trigger for single modes. */
|
|
525
510
|
protected displayText: _angular_core.Signal<string>;
|
|
511
|
+
/** Resolved display text for the trigger input (i18n-aware). */
|
|
512
|
+
protected translatedDisplayText: _angular_core.Signal<string>;
|
|
513
|
+
/** Actionsheet header title with i18n fallback chain. */
|
|
514
|
+
protected actionsheetTitleSource: _angular_core.Signal<string>;
|
|
515
|
+
/** Resolved actionsheet title (i18n-aware). */
|
|
516
|
+
protected actionsheetTitle: _angular_core.Signal<string>;
|
|
526
517
|
/**
|
|
527
518
|
* Text typed in the editable trigger input.
|
|
528
519
|
* Multi-select starts empty; single modes sync from the selected display text.
|
|
@@ -541,8 +532,6 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
541
532
|
protected popupRef: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
542
533
|
protected triggerSearchInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
|
|
543
534
|
protected listView: _angular_core.Signal<AXLookupListViewBase>;
|
|
544
|
-
protected dropDownTreeView: _angular_core.Signal<AXLookupDropDownTreeComponent>;
|
|
545
|
-
protected multiSelectTreeView: _angular_core.Signal<AXLookupMultiSelectTreeComponent>;
|
|
546
535
|
protected sheetSearchRef: _angular_core.Signal<AXSearchBoxComponent>;
|
|
547
536
|
constructor();
|
|
548
537
|
/** Returns the display text of an item using the `textField` mapping. */
|
|
@@ -553,6 +542,10 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
553
542
|
* Opens (editable trigger) or toggles the popup on trigger click.
|
|
554
543
|
*/
|
|
555
544
|
protected onTriggerClick(): void;
|
|
545
|
+
/**
|
|
546
|
+
* Toggles the popup when the chevron button is clicked.
|
|
547
|
+
*/
|
|
548
|
+
protected onChevronClick(event: Event): void;
|
|
556
549
|
/**
|
|
557
550
|
* Focuses the lookup trigger input.
|
|
558
551
|
*/
|
|
@@ -565,6 +558,12 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
565
558
|
protected onTriggerKeydown(e: KeyboardEvent): void;
|
|
566
559
|
/** Filters the datasource from the actionsheet search field and handles Enter with no matches. */
|
|
567
560
|
protected onSheetSearchKeydown(e: AXHtmlEvent<KeyboardEvent>): void;
|
|
561
|
+
/**
|
|
562
|
+
* Toggles the default header “Select all” checkbox; updates `value` only (no separate event).
|
|
563
|
+
*/
|
|
564
|
+
protected onSelectAllHeaderChanged(checked: boolean): void;
|
|
565
|
+
/** Toggles select-all from the header row so the checkbox stays pointer-events-none like option rows. */
|
|
566
|
+
protected onSelectAllHeaderMouseDown(event: Event): void;
|
|
568
567
|
/** Blocks typing when the trigger is not editable (keeps Tab / keyboard open working). */
|
|
569
568
|
protected onBeforeInput(event: Event): void;
|
|
570
569
|
/**
|
|
@@ -631,7 +630,7 @@ declare class AXLookupComponent<T = AXLookupItem> extends NXValueComponent imple
|
|
|
631
630
|
*/
|
|
632
631
|
reset(isUserInteraction?: boolean): void;
|
|
633
632
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupComponent<any>, never>;
|
|
634
|
-
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"; },
|
|
633
|
+
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"; }, ["projectedHeader"], ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-header", "ax-footer", "ax-validation-rule"], true, never>;
|
|
635
634
|
}
|
|
636
635
|
|
|
637
636
|
/**
|
|
@@ -656,6 +655,80 @@ declare class AXLookupMultiSelectComponent extends AXLookupListViewBase {
|
|
|
656
655
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLookupMultiSelectComponent, "ax-lookup-multi-select", never, {}, {}, never, never, true, never>;
|
|
657
656
|
}
|
|
658
657
|
|
|
658
|
+
/**
|
|
659
|
+
* Internal mini component for the `drop-down-tree` lookup mode:
|
|
660
|
+
* a predefined list rendered in a tree-like structure for single item selection.
|
|
661
|
+
*
|
|
662
|
+
* @category Components
|
|
663
|
+
*/
|
|
664
|
+
declare class AXLookupDropDownTreeComponent {
|
|
665
|
+
#private;
|
|
666
|
+
constructor();
|
|
667
|
+
/**
|
|
668
|
+
* The tree datasource: an array of nodes or a lazy children callback.
|
|
669
|
+
*/
|
|
670
|
+
dataSource: _angular_core.InputSignal<AXTreeViewDataSource>;
|
|
671
|
+
/**
|
|
672
|
+
* The node property used as the selection value (tree `idField`).
|
|
673
|
+
*/
|
|
674
|
+
valueField: _angular_core.InputSignal<string>;
|
|
675
|
+
/**
|
|
676
|
+
* The node property used as the display text (tree `titleField`).
|
|
677
|
+
*/
|
|
678
|
+
textField: _angular_core.InputSignal<string>;
|
|
679
|
+
/**
|
|
680
|
+
* The node property marking a node as disabled.
|
|
681
|
+
*/
|
|
682
|
+
disabledField: _angular_core.InputSignal<string>;
|
|
683
|
+
/**
|
|
684
|
+
* Currently selected values (at most one for single selection).
|
|
685
|
+
*/
|
|
686
|
+
selectedValues: _angular_core.InputSignal<unknown[]>;
|
|
687
|
+
/**
|
|
688
|
+
* Custom template rendered for each tree node.
|
|
689
|
+
*/
|
|
690
|
+
nodeTemplate: _angular_core.InputSignal<TemplateRef<AXTreeViewItemTemplateContext>>;
|
|
691
|
+
/**
|
|
692
|
+
* Custom template rendered when the filtered tree has no nodes.
|
|
693
|
+
*/
|
|
694
|
+
emptyTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
695
|
+
/**
|
|
696
|
+
* Custom template rendered while the tree is hydrating for search.
|
|
697
|
+
*/
|
|
698
|
+
loadingTemplate: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
699
|
+
/**
|
|
700
|
+
* When `true`, a loading placeholder is shown while lazy tree data is hydrated for search.
|
|
701
|
+
*/
|
|
702
|
+
loading: _angular_core.InputSignal<boolean>;
|
|
703
|
+
/**
|
|
704
|
+
* When `true`, visible tree nodes use alternating background colors.
|
|
705
|
+
*/
|
|
706
|
+
alternate: _angular_core.InputSignal<boolean>;
|
|
707
|
+
/**
|
|
708
|
+
* Unique id that changes on every search apply so a new tree instance is created.
|
|
709
|
+
*/
|
|
710
|
+
filterKey: _angular_core.InputSignal<string>;
|
|
711
|
+
/**
|
|
712
|
+
* When set, matching characters in the default node label are highlighted.
|
|
713
|
+
*/
|
|
714
|
+
highlightText: _angular_core.InputSignal<string>;
|
|
715
|
+
/**
|
|
716
|
+
* Emitted when the user selects a node.
|
|
717
|
+
*/
|
|
718
|
+
itemClick: _angular_core.OutputEmitterRef<AXLookupItemClickEvent>;
|
|
719
|
+
protected selectedIds: _angular_core.Signal<string[]>;
|
|
720
|
+
protected isEmpty: _angular_core.Signal<boolean>;
|
|
721
|
+
protected treeInstances: _angular_core.Signal<{
|
|
722
|
+
id: string;
|
|
723
|
+
source: AXTreeViewDataSource;
|
|
724
|
+
}[]>;
|
|
725
|
+
/** Whether the filtered tree currently has no nodes. */
|
|
726
|
+
hasNoMatches(): boolean;
|
|
727
|
+
protected handleSelectionChange(e: AXTreeViewSelectionChangeEvent): void;
|
|
728
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLookupDropDownTreeComponent, never>;
|
|
729
|
+
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>;
|
|
730
|
+
}
|
|
731
|
+
|
|
659
732
|
/**
|
|
660
733
|
* Internal mini component for the `multi-column` lookup mode:
|
|
661
734
|
* renders selectable rows in an `ax-data-table` grid and loads further
|
|
@@ -764,6 +837,8 @@ declare class AXLookupMultiColumnComponent {
|
|
|
764
837
|
* @category Components
|
|
765
838
|
*/
|
|
766
839
|
declare class AXLookupMultiColumnTreeComponent {
|
|
840
|
+
#private;
|
|
841
|
+
constructor();
|
|
767
842
|
/**
|
|
768
843
|
* The datasource providing hierarchical rows (roots on load, children via `parentField`).
|
|
769
844
|
*/
|
|
@@ -860,5 +935,78 @@ declare class AXLookupModule {
|
|
|
860
935
|
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXLookupModule>;
|
|
861
936
|
}
|
|
862
937
|
|
|
863
|
-
|
|
864
|
-
|
|
938
|
+
/**
|
|
939
|
+
* Multi-select value when the user chooses “select all” instead of an explicit key list.
|
|
940
|
+
*/
|
|
941
|
+
declare function isLookupSelectAllValue(value: unknown): value is AXLookupSelectAllValue;
|
|
942
|
+
/** Excluded value keys when `selectAll` is active (empty when not in select-all mode). */
|
|
943
|
+
declare function lookupExcludedValues(value: unknown): unknown[];
|
|
944
|
+
/** Whether the bound multi value is in select-all mode. */
|
|
945
|
+
declare function lookupSelectAllActive(value: unknown): boolean;
|
|
946
|
+
/** Normalized explicit key list for array-mode multi values. */
|
|
947
|
+
declare function lookupArrayValues(value: unknown): unknown[];
|
|
948
|
+
declare function createLookupSelectAllValue(excluded?: unknown[]): AXLookupSelectAllValue;
|
|
949
|
+
/** Deep equality for lookup multi values (arrays and select-all objects). */
|
|
950
|
+
declare function lookupMultiValuesEqual(a: unknown, b: unknown): boolean;
|
|
951
|
+
|
|
952
|
+
/** Whether a tree node may have descendants (embedded children or lazy metadata). */
|
|
953
|
+
declare function lookupTreeNodeMayHaveChildren(node: AXTreeViewNode): boolean;
|
|
954
|
+
interface HydrateLookupTreeOptions {
|
|
955
|
+
valueField: string;
|
|
956
|
+
maxConcurrent?: number;
|
|
957
|
+
maxNodes?: number;
|
|
958
|
+
isCancelled?: () => boolean;
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* Loads a lazy tree into a nested in-memory snapshot using bounded-concurrency BFS.
|
|
962
|
+
* Returns new node objects and never mutates the input nodes.
|
|
963
|
+
*/
|
|
964
|
+
declare function hydrateLookupTree(roots: AXTreeViewNode[], loadChildren: (nodeId: string) => Promise<AXTreeViewNode[]>, options: HydrateLookupTreeOptions): Promise<AXTreeViewNode[]>;
|
|
965
|
+
|
|
966
|
+
interface AXLookupArrayDataSourceOptions {
|
|
967
|
+
key: string;
|
|
968
|
+
pageSize: number;
|
|
969
|
+
textField: string;
|
|
970
|
+
translateText?: (text: string) => string;
|
|
971
|
+
}
|
|
972
|
+
/** Whether an item label matches a search query (raw or translated). */
|
|
973
|
+
declare function matchesLookupText(text: string, query: string, translateText?: (text: string) => string): boolean;
|
|
974
|
+
/**
|
|
975
|
+
* Array-backed datasource with optional i18n-aware text filtering.
|
|
976
|
+
*/
|
|
977
|
+
declare function convertLookupArrayToDataSource<T extends AXLookupItem>(items: T[], options: AXLookupArrayDataSourceOptions): AXDataSource<T>;
|
|
978
|
+
/**
|
|
979
|
+
* Options used when adapting a lookup `treeDataSource` into an `AXDataSource`
|
|
980
|
+
* that `ax-data-table` can expand via `parentField`.
|
|
981
|
+
*/
|
|
982
|
+
interface AXLookupTreeTableDataSourceOptions {
|
|
983
|
+
valueField: string;
|
|
984
|
+
textField: string;
|
|
985
|
+
parentField: string;
|
|
986
|
+
hasChildrenField: string;
|
|
987
|
+
/**
|
|
988
|
+
* Fields matched by text search. Defaults to `textField` only. Supply the searchable
|
|
989
|
+
* column fields so values shown in other columns (codes, numbers) are matched too.
|
|
990
|
+
*/
|
|
991
|
+
searchFields?: string[];
|
|
992
|
+
/** When set, used for text search instead of loading roots only (whole-tree lazy search). */
|
|
993
|
+
loadSearchRoots?: () => Promise<AXTreeViewNode[]>;
|
|
994
|
+
}
|
|
995
|
+
/**
|
|
996
|
+
* Converts a drop-down-tree datasource (nested array or lazy callback) into an
|
|
997
|
+
* `AXDataSource` that a multi-column data table can load and expand.
|
|
998
|
+
*/
|
|
999
|
+
declare function createLookupTreeTableDataSource(source: AXTreeViewDataSource, options: AXLookupTreeTableDataSourceOptions): AXDataSource<AXLookupItem>;
|
|
1000
|
+
declare function filterTreeNodes(nodes: AXLookupItem[], textField: string | string[], query: string, translateText?: (text: string) => string): AXLookupItem[];
|
|
1001
|
+
/**
|
|
1002
|
+
* Maps `filterTreeNodes` output to data-table row metadata so matching branches
|
|
1003
|
+
* are expanded and nested rows are visible for search highlighting.
|
|
1004
|
+
*/
|
|
1005
|
+
declare function prepareFilteredTreeTableRows(nodes: AXLookupItem[]): AXLookupItem[];
|
|
1006
|
+
/** Immutable copy of a nested tree so tree-view mutations cannot poison the source. */
|
|
1007
|
+
declare function cloneLookupTreeNodes(nodes: AXLookupItem[]): AXLookupItem[];
|
|
1008
|
+
/** Depth-first flattening of nested `children` arrays. */
|
|
1009
|
+
declare function flattenTreeNodes(nodes: AXLookupItem[]): AXLookupItem[];
|
|
1010
|
+
|
|
1011
|
+
export { AXLookupComponent, AXLookupDropDownListComponent, AXLookupDropDownTreeComponent, AXLookupModule, AXLookupMultiColumnComponent, AXLookupMultiColumnTreeComponent, AXLookupMultiSelectComponent, AXLookupMultiSelectTreeComponent, cloneLookupTreeNodes, convertLookupArrayToDataSource, createLookupSelectAllValue, createLookupTreeTableDataSource, filterTreeNodes, flattenTreeNodes, hydrateLookupTree, isLookupSelectAllValue, lookupArrayValues, lookupExcludedValues, lookupMultiValuesEqual, lookupSelectAllActive, lookupTreeNodeMayHaveChildren, matchesLookupText, prepareFilteredTreeTableRows };
|
|
1012
|
+
export type { AXLookupArrayDataSourceOptions, AXLookupColumn, AXLookupItem, AXLookupItemClickEvent, AXLookupMode, AXLookupMultiValue, AXLookupSelectAllValue, 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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
90
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
90
91
|
}
|
|
91
92
|
|
|
92
93
|
declare class AXMediaViewerSliderComponent {
|
|
@@ -72,6 +72,7 @@ type AXContextMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXContextMenuCompon
|
|
|
72
72
|
* @category Components
|
|
73
73
|
*/
|
|
74
74
|
declare class AXContextMenuComponent extends NXComponent {
|
|
75
|
+
protected readonly supportsHeader = true;
|
|
75
76
|
readonly orientation: _angular_core.InputSignal<AXOrientation>;
|
|
76
77
|
readonly openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
|
|
77
78
|
readonly closeOn: _angular_core.InputSignal<AXMenuCloseTrigger>;
|
|
@@ -115,6 +116,10 @@ declare class AXContextMenuComponent extends NXComponent {
|
|
|
115
116
|
private backdropElement;
|
|
116
117
|
private originalNextSibling;
|
|
117
118
|
private originalParent;
|
|
119
|
+
private readonly headerSlot;
|
|
120
|
+
private floatingHeader;
|
|
121
|
+
private headerOriginalParent;
|
|
122
|
+
private headerOriginalNextSibling;
|
|
118
123
|
protected items: _angular_core.WritableSignal<AXMenuItem[]>;
|
|
119
124
|
/** @ignore */
|
|
120
125
|
private setupCloseOnRouteChange;
|
|
@@ -130,24 +135,30 @@ declare class AXContextMenuComponent extends NXComponent {
|
|
|
130
135
|
private internalShowAt;
|
|
131
136
|
/**
|
|
132
137
|
* Positions the menu at `point`, flipping when it would overflow the viewport.
|
|
133
|
-
*
|
|
138
|
+
* When a floating header is present, positions header and panel as one clamped block.
|
|
134
139
|
*/
|
|
135
140
|
private positionAtPoint;
|
|
136
141
|
/** Measures menu size even when an ancestor hides the host with `display: none`. */
|
|
137
142
|
private measureMenuRect;
|
|
143
|
+
/** Measures the floating header bar using the same hidden-layout pass as the menu panel. */
|
|
144
|
+
private measureFloatingRect;
|
|
138
145
|
/** @ignore */
|
|
139
146
|
private createBackdrop;
|
|
147
|
+
/** Moves the projected header slot into the backdrop as a floating sibling of the panel. */
|
|
148
|
+
private floatHeaderToBackdrop;
|
|
149
|
+
/** Restores the header slot to its original parent before the backdrop is removed. */
|
|
150
|
+
private restoreFloatingHeader;
|
|
140
151
|
/** @ignore */
|
|
141
152
|
private resolveContextMenuTarget;
|
|
142
153
|
/** @ignore */
|
|
143
154
|
private removeBackdrop;
|
|
144
155
|
private createEventListeners;
|
|
145
156
|
/** @ignore */
|
|
146
|
-
onWindowEvent(): void;
|
|
157
|
+
onWindowEvent(event?: Event): void;
|
|
147
158
|
/** @ignore */
|
|
148
159
|
get __hostClass(): any;
|
|
149
160
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXContextMenuComponent, never>;
|
|
150
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContextMenuComponent, "ax-context-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "closeOnRouteChange": { "alias": "closeOnRouteChange"; "required": false; "isSignal": true; }; "originalItems": { "alias": "items"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; "onOpening": "onOpening"; "onClose": "onClose"; }, never, ["ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
161
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXContextMenuComponent, "ax-context-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "closeOnRouteChange": { "alias": "closeOnRouteChange"; "required": false; "isSignal": true; }; "originalItems": { "alias": "items"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; "onOpening": "onOpening"; "onClose": "onClose"; }, never, ["ax-header", "ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
151
162
|
}
|
|
152
163
|
|
|
153
164
|
type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;
|
|
@@ -292,7 +303,7 @@ declare class AXMenuService {
|
|
|
292
303
|
markOpen(item: AXMenuItemComponentBase): void;
|
|
293
304
|
markClosed(item: AXMenuItemComponentBase): void;
|
|
294
305
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuService, never>;
|
|
295
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
306
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
296
307
|
}
|
|
297
308
|
|
|
298
309
|
type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
|
|
@@ -301,6 +312,7 @@ type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;
|
|
|
301
312
|
* @category Components
|
|
302
313
|
*/
|
|
303
314
|
declare class AXMenuComponent extends NXComponent {
|
|
315
|
+
protected readonly supportsHeader = false;
|
|
304
316
|
constructor();
|
|
305
317
|
orientation: _angular_core.InputSignal<AXOrientation>;
|
|
306
318
|
openOn: _angular_core.InputSignal<AXMenuOpenTrigger>;
|
|
@@ -318,7 +330,7 @@ declare class AXMenuComponent extends NXComponent {
|
|
|
318
330
|
*/
|
|
319
331
|
close(): void;
|
|
320
332
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMenuComponent, never>;
|
|
321
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuComponent, "ax-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasArrow": { "alias": "hasArrow"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, never, ["ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
333
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMenuComponent, "ax-menu", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "openOn": { "alias": "openOn"; "required": false; "isSignal": true; }; "closeOn": { "alias": "closeOn"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasArrow": { "alias": "hasArrow"; "required": false; "isSignal": true; }; }, { "onItemClick": "onItemClick"; }, never, ["ax-header", "ax-menu-item,ax-divider,ax-title,ng-container"], true, never>;
|
|
322
334
|
}
|
|
323
335
|
|
|
324
336
|
declare class AXMenuModule {
|