@acorex/components 21.0.2-next.30 → 21.0.2-next.31
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/{types/acorex-components-accordion.d.ts → accordion/index.d.ts} +1 -0
- package/{types/acorex-components-button.d.ts → button/index.d.ts} +3 -3
- package/{types/acorex-components-button-group.d.ts → button-group/index.d.ts} +12 -20
- package/{types/acorex-components-calendar.d.ts → calendar/index.d.ts} +74 -20
- package/{types/acorex-components-check-box.d.ts → check-box/index.d.ts} +1 -1
- package/{types/acorex-components-chips.d.ts → chips/index.d.ts} +8 -3
- package/collapse/README.md +3 -0
- package/collapse/index.d.ts +174 -0
- package/{types/acorex-components-color-palette.d.ts → color-palette/index.d.ts} +0 -2
- package/{types/acorex-components-conversation2.d.ts → conversation2/index.d.ts} +600 -600
- package/{types/acorex-components-data-table.d.ts → data-table/index.d.ts} +253 -4
- package/{types/acorex-components-datetime-box.d.ts → datetime-box/index.d.ts} +6 -2
- package/{types/acorex-components-datetime-picker.d.ts → datetime-picker/index.d.ts} +6 -2
- package/drawer-legacy/README.md +3 -0
- package/drawer-legacy/index.d.ts +86 -0
- package/{types/acorex-components-dropdown-button.d.ts → dropdown-button/index.d.ts} +2 -4
- package/fesm2022/acorex-components-accordion.mjs +22 -17
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +17 -17
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +14 -14
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +4 -4
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +11 -12
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +9 -9
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +13 -13
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +10 -10
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +12 -12
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +12 -12
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +26 -61
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +22 -22
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +123 -20
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +11 -11
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +14 -12
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +11 -13
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +14 -14
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +366 -0
- package/fesm2022/acorex-components-collapse.mjs.map +1 -0
- package/fesm2022/acorex-components-color-box.mjs +11 -11
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +40 -81
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +11 -11
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +33 -33
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +63 -63
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation2.mjs +331 -343
- package/fesm2022/acorex-components-conversation2.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +55 -55
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +6 -6
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +33 -33
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +486 -50
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +14 -10
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +10 -10
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +15 -11
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +41 -48
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +13 -13
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer-legacy.mjs +218 -0
- package/fesm2022/acorex-components-drawer-legacy.mjs.map +1 -0
- package/fesm2022/acorex-components-drawer.mjs +17 -16
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +11 -19
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +18 -18
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +12 -12
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-fab.mjs +9 -9
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +307 -0
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -0
- package/fesm2022/acorex-components-flow-chart.mjs +47 -64
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +27 -35
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +14 -13
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +48 -48
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +10 -10
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +9 -9
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +7 -9
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +10 -10
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +9 -9
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +10 -10
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +21 -21
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +15 -15
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +45 -45
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +29 -29
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-DWNqU6or.mjs → acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs} +24 -24
- package/fesm2022/acorex-components-modal-acorex-components-modal-DwBY73dZ.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs +212 -0
- package/fesm2022/acorex-components-modal-modal-content.component-DPMt_zaI.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +9 -9
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +13 -13
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box-legacy.mjs +430 -0
- package/fesm2022/acorex-components-number-box-legacy.mjs.map +1 -0
- package/fesm2022/acorex-components-number-box.mjs +10 -10
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +10 -10
- 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 +40 -35
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +23 -15
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +9 -9
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +10 -10
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +20 -20
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +8 -8
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +17 -17
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +9 -11
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +12 -29
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +10 -11
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +9 -10
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +38 -40
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +11 -11
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +35 -20
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +28 -28
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +8 -8
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +8 -8
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +11 -11
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +180 -174
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +52 -53
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +22 -0
- package/fesm2022/acorex-components-scss.mjs.map +1 -0
- package/fesm2022/acorex-components-search-box.mjs +11 -17
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +14 -16
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list-2.mjs +12 -12
- package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +10 -10
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +18 -18
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +8 -8
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +13 -13
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +19 -19
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -16
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +14 -14
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +17 -17
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +10 -10
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +10 -10
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +9 -9
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +12 -12
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +13 -11
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +14 -14
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +13 -13
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +10 -10
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +14 -14
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view-legacy.mjs +511 -0
- package/fesm2022/acorex-components-tree-view-legacy.mjs.map +1 -0
- package/fesm2022/acorex-components-tree-view.mjs +13 -13
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +17 -17
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +9 -9
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +45 -45
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/file-explorer/README.md +3 -0
- package/file-explorer/index.d.ts +103 -0
- package/{types/acorex-components-flow-chart.d.ts → flow-chart/index.d.ts} +0 -4
- package/{types/acorex-components-form.d.ts → form/index.d.ts} +24 -24
- package/{types/acorex-components-grid-layout-builder.d.ts → grid-layout-builder/index.d.ts} +1 -0
- package/{types/acorex-components-loading.d.ts → loading/index.d.ts} +1 -1
- package/{types/acorex-components-menu.d.ts → menu/index.d.ts} +6 -6
- package/number-box-legacy/README.md +3 -0
- package/number-box-legacy/index.d.ts +191 -0
- package/package.json +140 -116
- package/{types/acorex-components-paint.d.ts → paint/index.d.ts} +6 -1
- package/{types/acorex-components-qrcode.d.ts → qrcode/index.d.ts} +0 -1
- package/{types/acorex-components-radio.d.ts → radio/index.d.ts} +1 -1
- package/{types/acorex-components-rate-picker.d.ts → rate-picker/index.d.ts} +15 -5
- package/{types/acorex-components-scheduler-picker.d.ts → scheduler-picker/index.d.ts} +81 -82
- package/scss/README.md +3 -0
- package/scss/index.d.ts +10 -0
- package/{types/acorex-components-select-box.d.ts → select-box/index.d.ts} +1 -2
- package/{types/acorex-components-slider.d.ts → slider/index.d.ts} +2 -2
- package/{types/acorex-components-tabs.d.ts → tabs/index.d.ts} +1 -1
- package/{types/acorex-components-tag.d.ts → tag/index.d.ts} +3 -3
- package/tree-view-legacy/README.md +3 -0
- package/tree-view-legacy/index.d.ts +184 -0
- package/fesm2022/acorex-components-modal-acorex-components-modal-DWNqU6or.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs +0 -214
- package/fesm2022/acorex-components-modal-modal-content.component-DplJbJyk.mjs.map +0 -1
- package/{types/acorex-components-action-sheet.d.ts → action-sheet/index.d.ts} +0 -0
- package/{types/acorex-components-alert.d.ts → alert/index.d.ts} +0 -0
- package/{types/acorex-components-aspect-ratio.d.ts → aspect-ratio/index.d.ts} +0 -0
- package/{types/acorex-components-audio-wave.d.ts → audio-wave/index.d.ts} +0 -0
- package/{types/acorex-components-autocomplete.d.ts → autocomplete/index.d.ts} +0 -0
- package/{types/acorex-components-avatar.d.ts → avatar/index.d.ts} +0 -0
- package/{types/acorex-components-badge.d.ts → badge/index.d.ts} +0 -0
- package/{types/acorex-components-bottom-navigation.d.ts → bottom-navigation/index.d.ts} +0 -0
- package/{types/acorex-components-breadcrumbs.d.ts → breadcrumbs/index.d.ts} +0 -0
- package/{types/acorex-components-circular-progress.d.ts → circular-progress/index.d.ts} +0 -0
- package/{types/acorex-components-code-editor.d.ts → code-editor/index.d.ts} +0 -0
- package/{types/acorex-components-color-box.d.ts → color-box/index.d.ts} +0 -0
- package/{types/acorex-components-command.d.ts → command/index.d.ts} +0 -0
- package/{types/acorex-components-comment.d.ts → comment/index.d.ts} +0 -0
- package/{types/acorex-components-conversation.d.ts → conversation/index.d.ts} +0 -0
- package/{types/acorex-components-cron-job.d.ts → cron-job/index.d.ts} +0 -0
- package/{types/acorex-components-data-list.d.ts → data-list/index.d.ts} +0 -0
- package/{types/acorex-components-data-pager.d.ts → data-pager/index.d.ts} +0 -0
- package/{types/acorex-components-datetime-input.d.ts → datetime-input/index.d.ts} +0 -0
- package/{types/acorex-components-decorators.d.ts → decorators/index.d.ts} +0 -0
- package/{types/acorex-components-dialog.d.ts → dialog/index.d.ts} +0 -0
- package/{types/acorex-components-drawer.d.ts → drawer/index.d.ts} +0 -0
- package/{types/acorex-components-dropdown.d.ts → dropdown/index.d.ts} +0 -0
- package/{types/acorex-components-editor.d.ts → editor/index.d.ts} +0 -0
- package/{types/acorex-components-fab.d.ts → fab/index.d.ts} +0 -0
- package/{types/acorex-components-image.d.ts → image/index.d.ts} +0 -0
- package/{types/acorex-components-image-editor.d.ts → image-editor/index.d.ts} +0 -0
- package/{types/acorex-components.d.ts → index.d.ts} +0 -0
- package/{types/acorex-components-json-viewer.d.ts → json-viewer/index.d.ts} +0 -0
- package/{types/acorex-components-kanban.d.ts → kanban/index.d.ts} +0 -0
- package/{types/acorex-components-kbd.d.ts → kbd/index.d.ts} +0 -0
- package/{types/acorex-components-label.d.ts → label/index.d.ts} +0 -0
- package/{types/acorex-components-list.d.ts → list/index.d.ts} +0 -0
- package/{types/acorex-components-loading-dialog.d.ts → loading-dialog/index.d.ts} +0 -0
- package/{types/acorex-components-map.d.ts → map/index.d.ts} +0 -0
- package/{types/acorex-components-media-viewer.d.ts → media-viewer/index.d.ts} +0 -0
- package/{types/acorex-components-modal.d.ts → modal/index.d.ts} +0 -0
- package/{types/acorex-components-navbar.d.ts → navbar/index.d.ts} +0 -0
- package/{types/acorex-components-notification.d.ts → notification/index.d.ts} +0 -0
- package/{types/acorex-components-number-box.d.ts → number-box/index.d.ts} +0 -0
- package/{types/acorex-components-otp.d.ts → otp/index.d.ts} +0 -0
- package/{types/acorex-components-page.d.ts → page/index.d.ts} +0 -0
- package/{types/acorex-components-password-box.d.ts → password-box/index.d.ts} +0 -0
- package/{types/acorex-components-pdf-reader.d.ts → pdf-reader/index.d.ts} +0 -0
- package/{types/acorex-components-phone-box.d.ts → phone-box/index.d.ts} +0 -0
- package/{types/acorex-components-picker.d.ts → picker/index.d.ts} +0 -0
- package/{types/acorex-components-popover.d.ts → popover/index.d.ts} +0 -0
- package/{types/acorex-components-popup.d.ts → popup/index.d.ts} +0 -0
- package/{types/acorex-components-progress-bar.d.ts → progress-bar/index.d.ts} +0 -0
- package/{types/acorex-components-query-builder.d.ts → query-builder/index.d.ts} +1 -1
- /package/{types/acorex-components-rail-navigation.d.ts → rail-navigation/index.d.ts} +0 -0
- /package/{types/acorex-components-range-slider.d.ts → range-slider/index.d.ts} +0 -0
- /package/{types/acorex-components-rest-api-generator.d.ts → rest-api-generator/index.d.ts} +0 -0
- /package/{types/acorex-components-result.d.ts → result/index.d.ts} +0 -0
- /package/{types/acorex-components-routing-progress.d.ts → routing-progress/index.d.ts} +0 -0
- /package/{types/acorex-components-rrule.d.ts → rrule/index.d.ts} +0 -0
- /package/{types/acorex-components-scheduler.d.ts → scheduler/index.d.ts} +0 -0
- /package/{types/acorex-components-search-box.d.ts → search-box/index.d.ts} +0 -0
- /package/{types/acorex-components-selection-list.d.ts → selection-list/index.d.ts} +0 -0
- /package/{types/acorex-components-selection-list-2.d.ts → selection-list-2/index.d.ts} +0 -0
- /package/{types/acorex-components-side-menu.d.ts → side-menu/index.d.ts} +0 -0
- /package/{types/acorex-components-skeleton.d.ts → skeleton/index.d.ts} +0 -0
- /package/{types/acorex-components-sliding-item.d.ts → sliding-item/index.d.ts} +0 -0
- /package/{types/acorex-components-step-wizard.d.ts → step-wizard/index.d.ts} +0 -0
- /package/{types/acorex-components-switch.d.ts → switch/index.d.ts} +0 -0
- /package/{types/acorex-components-tag-box.d.ts → tag-box/index.d.ts} +0 -0
- /package/{types/acorex-components-text-area.d.ts → text-area/index.d.ts} +0 -0
- /package/{types/acorex-components-text-box.d.ts → text-box/index.d.ts} +0 -0
- /package/{types/acorex-components-time-duration.d.ts → time-duration/index.d.ts} +0 -0
- /package/{types/acorex-components-time-line.d.ts → time-line/index.d.ts} +0 -0
- /package/{types/acorex-components-toast.d.ts → toast/index.d.ts} +0 -0
- /package/{types/acorex-components-toolbar.d.ts → toolbar/index.d.ts} +0 -0
- /package/{types/acorex-components-tooltip.d.ts → tooltip/index.d.ts} +0 -0
- /package/{types/acorex-components-tree-view.d.ts → tree-view/index.d.ts} +0 -0
- /package/{types/acorex-components-uploader.d.ts → uploader/index.d.ts} +0 -0
- /package/{types/acorex-components-video-player.d.ts → video-player/index.d.ts} +0 -0
- /package/{types/acorex-components-wysiwyg.d.ts → wysiwyg/index.d.ts} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as _acorex_components_conversation2 from '@acorex/components/conversation2';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, OnInit, EventEmitter, TemplateRef,
|
|
3
|
+
import { OnDestroy, ViewContainerRef, Type, InputSignal, WritableSignal, Signal, InjectionToken, OnInit, EventEmitter, TemplateRef, ElementRef, ModuleWithProviders, Provider } from '@angular/core';
|
|
4
4
|
import { AXComponentCloseEvent, AXHtmlEvent, AXDataSource, AXClosableComponent } from '@acorex/cdk/common';
|
|
5
5
|
import { AXUploaderChangedEvent } from '@acorex/cdk/uploader';
|
|
6
|
+
import * as rxjs from 'rxjs';
|
|
7
|
+
import { Observable, BehaviorSubject, Subject } from 'rxjs';
|
|
6
8
|
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
7
9
|
import { AXListComponent } from '@acorex/components/list';
|
|
8
10
|
import { AXPopupService, AXPopupRef } from '@acorex/components/popup';
|
|
9
|
-
import * as rxjs from 'rxjs';
|
|
10
|
-
import { Observable, BehaviorSubject, Subject } from 'rxjs';
|
|
11
11
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
12
12
|
import { AXContextMenuOpeningEvent, AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
|
13
13
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
@@ -504,84 +504,6 @@ interface AXConversationSort {
|
|
|
504
504
|
direction: 'asc' | 'desc';
|
|
505
505
|
}
|
|
506
506
|
|
|
507
|
-
/**
|
|
508
|
-
* Abstract Base Registry
|
|
509
|
-
* Base class for all registries with common functionality
|
|
510
|
-
*/
|
|
511
|
-
|
|
512
|
-
/**
|
|
513
|
-
* Base registry interface
|
|
514
|
-
*/
|
|
515
|
-
interface AXRegistryItem {
|
|
516
|
-
/** Unique identifier */
|
|
517
|
-
id: string;
|
|
518
|
-
/** Display order priority (higher = earlier) */
|
|
519
|
-
priority?: number;
|
|
520
|
-
/** Whether item is enabled */
|
|
521
|
-
enabled?: boolean;
|
|
522
|
-
}
|
|
523
|
-
/**
|
|
524
|
-
* Abstract Base Registry Class
|
|
525
|
-
* Provides common registry functionality
|
|
526
|
-
*/
|
|
527
|
-
declare abstract class AXBaseRegistry<T extends AXRegistryItem> {
|
|
528
|
-
protected readonly _items: WritableSignal<T[]>;
|
|
529
|
-
/** All registered items */
|
|
530
|
-
readonly items: Signal<T[]>;
|
|
531
|
-
/** Enabled items sorted by priority */
|
|
532
|
-
readonly enabledItems: Signal<T[]>;
|
|
533
|
-
/**
|
|
534
|
-
* Register an item
|
|
535
|
-
*/
|
|
536
|
-
register(item: T): void;
|
|
537
|
-
/**
|
|
538
|
-
* Register multiple items
|
|
539
|
-
*/
|
|
540
|
-
registerMany(items: T[]): void;
|
|
541
|
-
/**
|
|
542
|
-
* Unregister an item by ID
|
|
543
|
-
*/
|
|
544
|
-
unregister(id: string): void;
|
|
545
|
-
/**
|
|
546
|
-
* Get item by ID
|
|
547
|
-
*/
|
|
548
|
-
getById(id: string): T | undefined;
|
|
549
|
-
/**
|
|
550
|
-
* Check if item exists
|
|
551
|
-
*/
|
|
552
|
-
has(id: string): boolean;
|
|
553
|
-
/**
|
|
554
|
-
* Enable/disable an item
|
|
555
|
-
*/
|
|
556
|
-
setEnabled(id: string, enabled: boolean): void;
|
|
557
|
-
/**
|
|
558
|
-
* Update an item
|
|
559
|
-
*/
|
|
560
|
-
update(id: string, updates: Partial<T>): void;
|
|
561
|
-
/**
|
|
562
|
-
* Clear all items
|
|
563
|
-
*/
|
|
564
|
-
clear(): void;
|
|
565
|
-
/**
|
|
566
|
-
* Get count of registered items
|
|
567
|
-
*/
|
|
568
|
-
get count(): number;
|
|
569
|
-
/**
|
|
570
|
-
* Get count of enabled items
|
|
571
|
-
*/
|
|
572
|
-
get enabledCount(): number;
|
|
573
|
-
/**
|
|
574
|
-
* Validate item before registration
|
|
575
|
-
* Override in child classes for custom validation
|
|
576
|
-
*/
|
|
577
|
-
protected validateItem(item: T): void;
|
|
578
|
-
/**
|
|
579
|
-
* Get registry name for logging
|
|
580
|
-
* Override in child classes
|
|
581
|
-
*/
|
|
582
|
-
protected abstract getRegistryName(): string;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
507
|
/**
|
|
586
508
|
* Shared API Types
|
|
587
509
|
* Common types used across all API services
|
|
@@ -1921,6 +1843,84 @@ declare abstract class AXUserApi {
|
|
|
1921
1843
|
protected createError(code: string, message: string, statusCode?: number, details?: unknown): AXApiError;
|
|
1922
1844
|
}
|
|
1923
1845
|
|
|
1846
|
+
/**
|
|
1847
|
+
* Abstract Base Registry
|
|
1848
|
+
* Base class for all registries with common functionality
|
|
1849
|
+
*/
|
|
1850
|
+
|
|
1851
|
+
/**
|
|
1852
|
+
* Base registry interface
|
|
1853
|
+
*/
|
|
1854
|
+
interface AXRegistryItem {
|
|
1855
|
+
/** Unique identifier */
|
|
1856
|
+
id: string;
|
|
1857
|
+
/** Display order priority (higher = earlier) */
|
|
1858
|
+
priority?: number;
|
|
1859
|
+
/** Whether item is enabled */
|
|
1860
|
+
enabled?: boolean;
|
|
1861
|
+
}
|
|
1862
|
+
/**
|
|
1863
|
+
* Abstract Base Registry Class
|
|
1864
|
+
* Provides common registry functionality
|
|
1865
|
+
*/
|
|
1866
|
+
declare abstract class AXBaseRegistry<T extends AXRegistryItem> {
|
|
1867
|
+
protected readonly _items: WritableSignal<T[]>;
|
|
1868
|
+
/** All registered items */
|
|
1869
|
+
readonly items: Signal<T[]>;
|
|
1870
|
+
/** Enabled items sorted by priority */
|
|
1871
|
+
readonly enabledItems: Signal<T[]>;
|
|
1872
|
+
/**
|
|
1873
|
+
* Register an item
|
|
1874
|
+
*/
|
|
1875
|
+
register(item: T): void;
|
|
1876
|
+
/**
|
|
1877
|
+
* Register multiple items
|
|
1878
|
+
*/
|
|
1879
|
+
registerMany(items: T[]): void;
|
|
1880
|
+
/**
|
|
1881
|
+
* Unregister an item by ID
|
|
1882
|
+
*/
|
|
1883
|
+
unregister(id: string): void;
|
|
1884
|
+
/**
|
|
1885
|
+
* Get item by ID
|
|
1886
|
+
*/
|
|
1887
|
+
getById(id: string): T | undefined;
|
|
1888
|
+
/**
|
|
1889
|
+
* Check if item exists
|
|
1890
|
+
*/
|
|
1891
|
+
has(id: string): boolean;
|
|
1892
|
+
/**
|
|
1893
|
+
* Enable/disable an item
|
|
1894
|
+
*/
|
|
1895
|
+
setEnabled(id: string, enabled: boolean): void;
|
|
1896
|
+
/**
|
|
1897
|
+
* Update an item
|
|
1898
|
+
*/
|
|
1899
|
+
update(id: string, updates: Partial<T>): void;
|
|
1900
|
+
/**
|
|
1901
|
+
* Clear all items
|
|
1902
|
+
*/
|
|
1903
|
+
clear(): void;
|
|
1904
|
+
/**
|
|
1905
|
+
* Get count of registered items
|
|
1906
|
+
*/
|
|
1907
|
+
get count(): number;
|
|
1908
|
+
/**
|
|
1909
|
+
* Get count of enabled items
|
|
1910
|
+
*/
|
|
1911
|
+
get enabledCount(): number;
|
|
1912
|
+
/**
|
|
1913
|
+
* Validate item before registration
|
|
1914
|
+
* Override in child classes for custom validation
|
|
1915
|
+
*/
|
|
1916
|
+
protected validateItem(item: T): void;
|
|
1917
|
+
/**
|
|
1918
|
+
* Get registry name for logging
|
|
1919
|
+
* Override in child classes
|
|
1920
|
+
*/
|
|
1921
|
+
protected abstract getRegistryName(): string;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
1924
|
/**
|
|
1925
1925
|
* Composer context provided to actions
|
|
1926
1926
|
*/
|
|
@@ -2575,62 +2575,50 @@ declare class AXMessageRendererRegistry {
|
|
|
2575
2575
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMessageRendererRegistry>;
|
|
2576
2576
|
}
|
|
2577
2577
|
|
|
2578
|
-
|
|
2579
|
-
|
|
2578
|
+
/**
|
|
2579
|
+
* Active component state in composer
|
|
2580
|
+
*/
|
|
2581
|
+
interface AXComposerActiveComponent {
|
|
2582
|
+
/** Action that triggered this component */
|
|
2583
|
+
action: AXComposerAction;
|
|
2584
|
+
/** Component to render */
|
|
2585
|
+
component: Type<unknown>;
|
|
2586
|
+
/** Component inputs */
|
|
2587
|
+
inputs?: Record<string, unknown>;
|
|
2588
|
+
}
|
|
2589
|
+
declare class AXComposerService {
|
|
2580
2590
|
private readonly conversationService;
|
|
2581
|
-
private readonly uploader;
|
|
2582
|
-
private readonly composerService;
|
|
2583
|
-
private readonly messageListService;
|
|
2584
|
-
private readonly popupService;
|
|
2585
|
-
private readonly config;
|
|
2586
2591
|
private readonly translation;
|
|
2587
|
-
private readonly toast;
|
|
2588
|
-
/** Access registry through conversation service */
|
|
2589
2592
|
private get registry();
|
|
2590
|
-
|
|
2591
|
-
private readonly
|
|
2592
|
-
|
|
2593
|
+
private readonly _replyMessage;
|
|
2594
|
+
private readonly _editMessage;
|
|
2595
|
+
readonly replyMessage: _angular_core.Signal<AXMessage>;
|
|
2596
|
+
readonly editMessage: _angular_core.Signal<AXMessage>;
|
|
2597
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
2598
|
+
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
2599
|
+
/** Active component being shown in composer (full-width mode) */
|
|
2600
|
+
private readonly _activeComponent;
|
|
2601
|
+
readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
|
|
2602
|
+
/** Draft text */
|
|
2593
2603
|
readonly draftText: _angular_core.WritableSignal<string>;
|
|
2594
|
-
/** Attachments
|
|
2604
|
+
/** Attachments */
|
|
2595
2605
|
readonly attachments: _angular_core.WritableSignal<File[]>;
|
|
2596
|
-
/**
|
|
2597
|
-
readonly editingMessage: _angular_core.WritableSignal<any>;
|
|
2598
|
-
/** Replying to message */
|
|
2599
|
-
readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
|
|
2600
|
-
/** Show typing indicator - use service */
|
|
2606
|
+
/** Show typing indicator */
|
|
2601
2607
|
readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
|
|
2602
|
-
/**
|
|
2603
|
-
readonly
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
/** Attach clicked event */
|
|
2607
|
-
readonly attachClick: _angular_core.OutputEmitterRef<void>;
|
|
2608
|
-
/** Voice clicked event */
|
|
2609
|
-
readonly voiceClick: _angular_core.OutputEmitterRef<void>;
|
|
2610
|
-
/** Active conversation */
|
|
2611
|
-
readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
|
|
2612
|
-
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
2613
|
-
/** Active component from service */
|
|
2614
|
-
readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXComposerActiveComponent>;
|
|
2615
|
-
/** Emoji popover state */
|
|
2616
|
-
private readonly emojiPopoverRef;
|
|
2617
|
-
readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
2618
|
-
readonly composerPopupComponent: typeof AXComposerPopupComponent;
|
|
2619
|
-
/** Input placeholder - use service */
|
|
2608
|
+
/** Incremented to request focus on the composer text area (handled by AXComposerComponent). */
|
|
2609
|
+
private readonly _focusRequest;
|
|
2610
|
+
readonly focusRequest: _angular_core.Signal<number>;
|
|
2611
|
+
/** Input placeholder */
|
|
2620
2612
|
readonly placeholder: _angular_core.Signal<string>;
|
|
2621
|
-
/**
|
|
2622
|
-
readonly sendingMessage: _angular_core.WritableSignal<boolean>;
|
|
2623
|
-
/** Typing indicator subject for rate limiting */
|
|
2624
|
-
private readonly typingSubject;
|
|
2625
|
-
constructor();
|
|
2626
|
-
private draftSaveTimeout?;
|
|
2627
|
-
/** Number of input rows - use service */
|
|
2613
|
+
/** Number of input rows */
|
|
2628
2614
|
readonly inputRows: _angular_core.Signal<number>;
|
|
2629
|
-
/** Can send message
|
|
2615
|
+
/** Can send message */
|
|
2630
2616
|
readonly canSend: _angular_core.Signal<boolean>;
|
|
2631
|
-
/**
|
|
2617
|
+
/** Composer action context */
|
|
2618
|
+
readonly actionContext: _angular_core.Signal<AXComposerActionContext>;
|
|
2619
|
+
/** Left actions from registry */
|
|
2632
2620
|
readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2633
|
-
/** Right actions from registry
|
|
2621
|
+
/** Right actions from registry */
|
|
2634
2622
|
readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2635
2623
|
/** Left inline actions (location = 'inline' or undefined) */
|
|
2636
2624
|
readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
|
|
@@ -2640,23 +2628,135 @@ declare class AXComposerComponent implements OnDestroy {
|
|
|
2640
2628
|
readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2641
2629
|
/** Right menu actions (location = 'menu') */
|
|
2642
2630
|
readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
/**
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2631
|
+
startReply(message: AXMessage): void;
|
|
2632
|
+
startEdit(message: AXMessage): void;
|
|
2633
|
+
/** Focus the composer text area when the composer component is mounted. */
|
|
2634
|
+
focusComposer(): void;
|
|
2635
|
+
clear(): void;
|
|
2636
|
+
/**
|
|
2637
|
+
* Persist draft for the previous conversation and reset composer UI state when switching conversations.
|
|
2638
|
+
*/
|
|
2639
|
+
onConversationChanged(previousConversationId: string | null, currentConversationId: string | null): void;
|
|
2640
|
+
sendTypingIndicator(conversationId: string): Promise<void>;
|
|
2641
|
+
sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
|
|
2642
|
+
/**
|
|
2643
|
+
* Show a component in the composer (full-width mode)
|
|
2644
|
+
*/
|
|
2645
|
+
showComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
|
|
2646
|
+
/**
|
|
2647
|
+
* Hide the active component
|
|
2648
|
+
*/
|
|
2649
|
+
hideComponent(): void;
|
|
2650
|
+
/**
|
|
2651
|
+
* Toggle component visibility
|
|
2652
|
+
*/
|
|
2653
|
+
toggleComponent(action: AXComposerAction, inputs?: Record<string, unknown>): void;
|
|
2654
|
+
/**
|
|
2655
|
+
* Get actions for the active conversation
|
|
2656
|
+
*/
|
|
2657
|
+
getActionsForPosition(position: 'left' | 'right', context: AXComposerActionContext): AXComposerAction[];
|
|
2658
|
+
/**
|
|
2659
|
+
* Execute an action
|
|
2660
|
+
*/
|
|
2661
|
+
executeAction(actionId: string, context: AXComposerActionContext): Promise<void>;
|
|
2662
|
+
/**
|
|
2663
|
+
* Save draft to localStorage
|
|
2664
|
+
*/
|
|
2665
|
+
saveDraft(conversationId: string, text: string): void;
|
|
2666
|
+
/**
|
|
2667
|
+
* Load draft from localStorage
|
|
2668
|
+
*/
|
|
2669
|
+
loadDraft(conversationId: string): string;
|
|
2670
|
+
/**
|
|
2671
|
+
* Clear draft from localStorage
|
|
2672
|
+
*/
|
|
2673
|
+
clearDraft(conversationId: string): void;
|
|
2674
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerService, never>;
|
|
2675
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
|
|
2676
|
+
}
|
|
2677
|
+
|
|
2678
|
+
declare class AXComposerComponent implements OnDestroy {
|
|
2679
|
+
#private;
|
|
2680
|
+
private readonly conversationService;
|
|
2681
|
+
private readonly uploader;
|
|
2682
|
+
private readonly composerService;
|
|
2683
|
+
private readonly messageListService;
|
|
2684
|
+
private readonly popupService;
|
|
2685
|
+
private readonly config;
|
|
2686
|
+
private readonly translation;
|
|
2687
|
+
private readonly toast;
|
|
2688
|
+
/** Access registry through conversation service */
|
|
2689
|
+
private get registry();
|
|
2690
|
+
/** Composer text area reference */
|
|
2691
|
+
private readonly textAreaRef;
|
|
2692
|
+
/** Draft text - use service */
|
|
2693
|
+
readonly draftText: _angular_core.WritableSignal<string>;
|
|
2694
|
+
/** Attachments - use service */
|
|
2695
|
+
readonly attachments: _angular_core.WritableSignal<File[]>;
|
|
2696
|
+
/** Editing message */
|
|
2697
|
+
readonly editingMessage: _angular_core.WritableSignal<any>;
|
|
2698
|
+
/** Replying to message */
|
|
2699
|
+
readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
|
|
2700
|
+
/** Show typing indicator - use service */
|
|
2701
|
+
readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
|
|
2702
|
+
/** Message sent event */
|
|
2703
|
+
readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
|
|
2704
|
+
/** Emoji clicked event */
|
|
2705
|
+
readonly emojiClick: _angular_core.OutputEmitterRef<void>;
|
|
2706
|
+
/** Attach clicked event */
|
|
2707
|
+
readonly attachClick: _angular_core.OutputEmitterRef<void>;
|
|
2708
|
+
/** Voice clicked event */
|
|
2709
|
+
readonly voiceClick: _angular_core.OutputEmitterRef<void>;
|
|
2710
|
+
/** Active conversation */
|
|
2711
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
2712
|
+
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
2713
|
+
/** Active component from service */
|
|
2714
|
+
readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
|
|
2715
|
+
/** Emoji popover state */
|
|
2716
|
+
private readonly emojiPopoverRef;
|
|
2717
|
+
readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
2718
|
+
readonly composerPopupComponent: typeof AXComposerPopupComponent;
|
|
2719
|
+
/** Input placeholder - use service */
|
|
2720
|
+
readonly placeholder: _angular_core.Signal<string>;
|
|
2721
|
+
/** Sending message state */
|
|
2722
|
+
readonly sendingMessage: _angular_core.WritableSignal<boolean>;
|
|
2723
|
+
/** Typing indicator subject for rate limiting */
|
|
2724
|
+
private readonly typingSubject;
|
|
2725
|
+
constructor();
|
|
2726
|
+
private draftSaveTimeout?;
|
|
2727
|
+
/** Number of input rows - use service */
|
|
2728
|
+
readonly inputRows: _angular_core.Signal<number>;
|
|
2729
|
+
/** Can send message - use service */
|
|
2730
|
+
readonly canSend: _angular_core.Signal<boolean>;
|
|
2731
|
+
/** Left actions from registry - use service */
|
|
2732
|
+
readonly leftActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2733
|
+
/** Right actions from registry - use service */
|
|
2734
|
+
readonly rightActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2735
|
+
/** Left inline actions (location = 'inline' or undefined) */
|
|
2736
|
+
readonly leftInlineActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2737
|
+
/** Left menu actions (location = 'menu') */
|
|
2738
|
+
readonly leftMenuActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2739
|
+
/** Right inline actions (location = 'inline' or undefined) */
|
|
2740
|
+
readonly rightInlineActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2741
|
+
/** Right menu actions (location = 'menu') */
|
|
2742
|
+
readonly rightMenuActions: _angular_core.Signal<AXComposerAction[]>;
|
|
2743
|
+
/** Handle key down */
|
|
2744
|
+
onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
|
|
2745
|
+
/** Handle input */
|
|
2746
|
+
onInput(): void;
|
|
2747
|
+
/** Send typing indicator (throttled via RxJS) */
|
|
2748
|
+
private sendTypingIndicator;
|
|
2749
|
+
/** Cleanup on destroy */
|
|
2750
|
+
ngOnDestroy(): void;
|
|
2751
|
+
/** Handle send click */
|
|
2752
|
+
onSendClick(): Promise<void>;
|
|
2753
|
+
/** Handle emoji click */
|
|
2754
|
+
onEmojiClick(event?: MouseEvent): Promise<void>;
|
|
2755
|
+
/** Handle emoji popover closed */
|
|
2756
|
+
onEmojiPopoverClosed(): void;
|
|
2757
|
+
/** Handle emoji/sticker selection from popup */
|
|
2758
|
+
onEmojiItemSelected(item: string | AXStickerPayload): void;
|
|
2759
|
+
/** Send sticker message */
|
|
2660
2760
|
private sendSticker;
|
|
2661
2761
|
/** Get inputs for emoji popup component */
|
|
2662
2762
|
getEmojiPopupInputs(): Record<string, unknown>;
|
|
@@ -2715,108 +2815,284 @@ declare class AXComposerComponent implements OnDestroy {
|
|
|
2715
2815
|
}
|
|
2716
2816
|
|
|
2717
2817
|
/**
|
|
2718
|
-
*
|
|
2818
|
+
* Conversation Configuration Interface
|
|
2819
|
+
* Centralized configuration values to avoid magic numbers
|
|
2719
2820
|
*/
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2821
|
+
/**
|
|
2822
|
+
* Main configuration interface for the conversation component
|
|
2823
|
+
*/
|
|
2824
|
+
interface AXConversationConfig {
|
|
2825
|
+
/** Number of messages to load per page */
|
|
2826
|
+
messagePageSize?: number;
|
|
2827
|
+
/** Number of conversations to load per page */
|
|
2828
|
+
conversationPageSize?: number;
|
|
2829
|
+
/** Scroll threshold for detecting scroll events */
|
|
2830
|
+
scrollThreshold?: number;
|
|
2831
|
+
/** Infinite scroll threshold */
|
|
2832
|
+
infiniteScrollThreshold?: number;
|
|
2833
|
+
/** Typing indicator timeout in milliseconds */
|
|
2834
|
+
typingIndicatorTimeout?: number;
|
|
2835
|
+
/** Typing indicator throttle in milliseconds (for rate limiting) */
|
|
2836
|
+
typingIndicatorThrottle?: number;
|
|
2837
|
+
/** Message highlight duration in milliseconds */
|
|
2838
|
+
messageHighlightDuration?: number;
|
|
2839
|
+
/** Search debounce delay in milliseconds */
|
|
2840
|
+
debounceSearch?: number;
|
|
2841
|
+
/** Date separator inactivity fade delay in milliseconds */
|
|
2842
|
+
/** Maximum messages per conversation */
|
|
2843
|
+
maxMessagesPerConversation?: number;
|
|
2844
|
+
/** Maximum total messages in store */
|
|
2845
|
+
maxTotalMessages?: number;
|
|
2846
|
+
/** Maximum cached conversations */
|
|
2847
|
+
maxCachedConversations?: number;
|
|
2848
|
+
/** Minimum sidebar width in pixels */
|
|
2849
|
+
minSidebarWidth?: number;
|
|
2850
|
+
/** Maximum sidebar width in pixels */
|
|
2851
|
+
maxSidebarWidth?: number;
|
|
2852
|
+
/** Default sidebar width in pixels */
|
|
2853
|
+
defaultSidebarWidth?: number;
|
|
2854
|
+
/** Filter cache size */
|
|
2855
|
+
filterCacheSize?: number;
|
|
2856
|
+
/** Maximum message length in characters */
|
|
2857
|
+
maxMessageLength?: number;
|
|
2858
|
+
/** Minimum message length in characters */
|
|
2859
|
+
minMessageLength?: number;
|
|
2860
|
+
/** Maximum file size in bytes */
|
|
2861
|
+
maxFileSize?: number;
|
|
2862
|
+
/** Allowed MIME types (glob patterns, e.g. `image/*`) */
|
|
2863
|
+
allowedFileTypes?: string[];
|
|
2864
|
+
/** Max attachments per message when a composer action omits `maxFiles`. */
|
|
2865
|
+
maxFilesPerMessage?: number;
|
|
2866
|
+
/** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
|
|
2867
|
+
messageReadThreshold?: number;
|
|
2868
|
+
/**
|
|
2869
|
+
* CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
|
|
2870
|
+
* Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
|
|
2871
|
+
* Empty string = library default soft gradient. `transparent` or `none` = flat background.
|
|
2872
|
+
*/
|
|
2873
|
+
messageListBackground?: string;
|
|
2727
2874
|
}
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2875
|
+
|
|
2876
|
+
/**
|
|
2877
|
+
* Default Configuration Values
|
|
2878
|
+
* Centralized defaults to avoid magic numbers throughout the codebase
|
|
2879
|
+
*/
|
|
2880
|
+
|
|
2881
|
+
/**
|
|
2882
|
+
* Default conversation configuration
|
|
2883
|
+
* All values are explicitly defined here for easy maintenance and documentation
|
|
2884
|
+
*/
|
|
2885
|
+
declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
|
|
2886
|
+
/**
|
|
2887
|
+
* Helper function to merge user config with defaults
|
|
2888
|
+
* Properly handles array merging to avoid reference issues
|
|
2889
|
+
* @param userConfig - User-provided configuration
|
|
2890
|
+
* @returns Merged configuration with all required fields
|
|
2891
|
+
*/
|
|
2892
|
+
declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
|
|
2893
|
+
|
|
2894
|
+
/**
|
|
2895
|
+
* Error severity levels
|
|
2896
|
+
*/
|
|
2897
|
+
type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
|
|
2898
|
+
/**
|
|
2899
|
+
* Conversation error event
|
|
2900
|
+
*/
|
|
2901
|
+
interface AXConversationError {
|
|
2902
|
+
/** Error code */
|
|
2903
|
+
code: string;
|
|
2904
|
+
/** Error message */
|
|
2905
|
+
message: string;
|
|
2906
|
+
/** Severity level */
|
|
2907
|
+
severity: AXErrorSeverity;
|
|
2908
|
+
/** Source operation */
|
|
2909
|
+
operation: string;
|
|
2910
|
+
/** Original error */
|
|
2911
|
+
originalError?: unknown;
|
|
2912
|
+
/** HTTP status code (if applicable) */
|
|
2913
|
+
statusCode?: number;
|
|
2914
|
+
/** Additional context */
|
|
2915
|
+
context?: Record<string, unknown>;
|
|
2916
|
+
/** Timestamp */
|
|
2917
|
+
timestamp: Date;
|
|
2918
|
+
/** Whether error was handled */
|
|
2919
|
+
handled: boolean;
|
|
2920
|
+
/** Recovery suggestions */
|
|
2921
|
+
recoverySuggestions?: string[];
|
|
2922
|
+
}
|
|
2923
|
+
/**
|
|
2924
|
+
* Error Handler Configuration
|
|
2925
|
+
*/
|
|
2926
|
+
interface AXErrorHandlerConfig {
|
|
2927
|
+
/** Log errors to console */
|
|
2928
|
+
logToConsole?: boolean;
|
|
2929
|
+
/** Show user-friendly error messages */
|
|
2930
|
+
showUserMessages?: boolean;
|
|
2931
|
+
/** Retry failed operations automatically */
|
|
2932
|
+
autoRetry?: boolean;
|
|
2933
|
+
/** Number of retry attempts */
|
|
2934
|
+
maxRetries?: number;
|
|
2935
|
+
/** Custom error handler */
|
|
2936
|
+
customHandler?: (error: AXConversationError) => void;
|
|
2937
|
+
}
|
|
2938
|
+
/**
|
|
2939
|
+
* Error Handler Service
|
|
2940
|
+
*/
|
|
2941
|
+
declare class AXErrorHandlerService {
|
|
2942
|
+
private readonly injectedConfig;
|
|
2943
|
+
private readonly _errors$;
|
|
2944
|
+
private readonly _config;
|
|
2945
|
+
/** Error stream */
|
|
2946
|
+
readonly errors$: rxjs.Observable<AXConversationError>;
|
|
2947
|
+
constructor();
|
|
2775
2948
|
/**
|
|
2776
|
-
*
|
|
2949
|
+
* Configure error handler
|
|
2777
2950
|
*/
|
|
2778
|
-
|
|
2779
|
-
sendTypingIndicator(conversationId: string): Promise<void>;
|
|
2780
|
-
sendMessage(command: AXSendMessageCommand, options?: AXSendMessageOptions): Promise<void>;
|
|
2951
|
+
configure(config: Partial<AXErrorHandlerConfig>): void;
|
|
2781
2952
|
/**
|
|
2782
|
-
*
|
|
2953
|
+
* Handle an error
|
|
2783
2954
|
*/
|
|
2784
|
-
|
|
2955
|
+
handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
2785
2956
|
/**
|
|
2786
|
-
*
|
|
2957
|
+
* Handle API error (same pipeline as {@link handle}, for typed API failures)
|
|
2787
2958
|
*/
|
|
2788
|
-
|
|
2959
|
+
handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
2960
|
+
private publish;
|
|
2789
2961
|
/**
|
|
2790
|
-
*
|
|
2962
|
+
* Normalize any error to conversation error format (does not publish — use {@link handle})
|
|
2791
2963
|
*/
|
|
2792
|
-
|
|
2964
|
+
private normalizeError;
|
|
2965
|
+
private conversationErrorFromApi;
|
|
2966
|
+
private isApiError;
|
|
2793
2967
|
/**
|
|
2794
|
-
*
|
|
2968
|
+
* Determine severity based on status code
|
|
2795
2969
|
*/
|
|
2796
|
-
|
|
2970
|
+
private determineSeverity;
|
|
2797
2971
|
/**
|
|
2798
|
-
*
|
|
2972
|
+
* Get recovery suggestions based on error
|
|
2799
2973
|
*/
|
|
2800
|
-
|
|
2974
|
+
private getRecoverySuggestions;
|
|
2801
2975
|
/**
|
|
2802
|
-
*
|
|
2976
|
+
* Get default recovery suggestions
|
|
2803
2977
|
*/
|
|
2804
|
-
|
|
2978
|
+
private getDefaultRecoverySuggestions;
|
|
2805
2979
|
/**
|
|
2806
|
-
*
|
|
2980
|
+
* Log error to console
|
|
2807
2981
|
*/
|
|
2808
|
-
|
|
2982
|
+
private logError;
|
|
2983
|
+
/**
|
|
2984
|
+
* Get user-friendly error message
|
|
2985
|
+
*/
|
|
2986
|
+
getUserFriendlyMessage(error: AXConversationError): string;
|
|
2987
|
+
/**
|
|
2988
|
+
* Check if error is retryable
|
|
2989
|
+
*/
|
|
2990
|
+
isRetryable(error: AXConversationError): boolean;
|
|
2991
|
+
/**
|
|
2992
|
+
* Execute an operation with automatic retry logic
|
|
2993
|
+
* @param operation - The async operation to execute
|
|
2994
|
+
* @param operationName - Name of the operation for error tracking
|
|
2995
|
+
* @param context - Additional context for error handling
|
|
2996
|
+
* @returns Promise resolving to the operation result
|
|
2997
|
+
* @throws {AXConversationError} If all retries fail
|
|
2998
|
+
*/
|
|
2999
|
+
executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
|
|
3000
|
+
/**
|
|
3001
|
+
* Delay helper for retry backoff
|
|
3002
|
+
* @param ms - Milliseconds to delay
|
|
3003
|
+
*/
|
|
3004
|
+
private delay;
|
|
3005
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
|
|
3006
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
|
|
3007
|
+
}
|
|
3008
|
+
|
|
3009
|
+
/**
|
|
3010
|
+
* Dependency Injection Tokens
|
|
3011
|
+
* InjectionTokens for configuration and dependencies
|
|
3012
|
+
*/
|
|
3013
|
+
|
|
3014
|
+
/**
|
|
3015
|
+
* Configuration token for conversation component
|
|
3016
|
+
* Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
|
|
3017
|
+
*/
|
|
3018
|
+
declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
|
|
3019
|
+
/**
|
|
3020
|
+
* Token for configuring AXErrorHandlerService
|
|
3021
|
+
*/
|
|
3022
|
+
declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
|
|
3023
|
+
|
|
3024
|
+
/**
|
|
3025
|
+
* Registry Configuration Tokens
|
|
3026
|
+
* Injection tokens for configuring default registry values
|
|
3027
|
+
*/
|
|
3028
|
+
|
|
3029
|
+
/**
|
|
3030
|
+
* Additional message renderers configuration
|
|
3031
|
+
* Provide this token to add custom message renderers in addition to built-in ones
|
|
3032
|
+
* Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
|
|
3033
|
+
*/
|
|
3034
|
+
declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
|
|
3035
|
+
/**
|
|
3036
|
+
* Default message actions configuration
|
|
3037
|
+
* Provide this token to override default message actions
|
|
3038
|
+
*/
|
|
3039
|
+
declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
|
|
3040
|
+
/**
|
|
3041
|
+
* Default composer tabs configuration
|
|
3042
|
+
* Provide this token to override default composer tabs (emoji, stickers, etc.)
|
|
3043
|
+
*/
|
|
3044
|
+
declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
|
|
3045
|
+
/**
|
|
3046
|
+
* Default composer actions configuration
|
|
3047
|
+
* Provide this token to override default composer actions (attach, voice, etc.)
|
|
3048
|
+
*/
|
|
3049
|
+
declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
|
|
3050
|
+
/**
|
|
3051
|
+
* Default conversation tabs configuration
|
|
3052
|
+
* Provide this token to override default conversation tabs (all, private, groups, etc.)
|
|
3053
|
+
*/
|
|
3054
|
+
declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
|
|
3055
|
+
/**
|
|
3056
|
+
* Default info bar actions configuration
|
|
3057
|
+
* Provide this token to override default info bar actions (mute, archive, block, etc.)
|
|
3058
|
+
*/
|
|
3059
|
+
declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
|
|
3060
|
+
/**
|
|
3061
|
+
* Default conversation item actions configuration
|
|
3062
|
+
* Provide this token to override default conversation item actions (mute, delete, archive, etc.)
|
|
3063
|
+
*/
|
|
3064
|
+
declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
|
|
3065
|
+
/**
|
|
3066
|
+
* Registry configuration interface
|
|
3067
|
+
*/
|
|
3068
|
+
interface AXRegistryConfiguration {
|
|
2809
3069
|
/**
|
|
2810
|
-
*
|
|
3070
|
+
* Additional message renderers to register (built-in renderers are automatic).
|
|
3071
|
+
* Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
|
|
2811
3072
|
*/
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
3073
|
+
messageRenderers?: AXMessageRenderer[];
|
|
3074
|
+
/** Message actions to register by default */
|
|
3075
|
+
messageActions?: AXMessageAction[];
|
|
3076
|
+
/** Composer tabs to register by default */
|
|
3077
|
+
composerTabs?: AXComposerTab[];
|
|
3078
|
+
/** Composer actions to register by default */
|
|
3079
|
+
composerActions?: AXComposerAction[];
|
|
3080
|
+
/** Conversation tabs to register by default */
|
|
3081
|
+
conversationTabs?: AXConversationTab[];
|
|
3082
|
+
/** Info bar actions to register by default */
|
|
3083
|
+
infoBarActions?: AXInfoBarAction[];
|
|
3084
|
+
/** Conversation item actions to register by default */
|
|
3085
|
+
conversationItemActions?: AXConversationItemAction[];
|
|
2815
3086
|
}
|
|
3087
|
+
/**
|
|
3088
|
+
* Complete registry configuration token
|
|
3089
|
+
* Provide this for comprehensive registry configuration
|
|
3090
|
+
*/
|
|
3091
|
+
declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
|
|
2816
3092
|
|
|
2817
3093
|
declare class AXConversationContainerComponent {
|
|
2818
3094
|
private readonly conversationService;
|
|
2819
|
-
protected readonly config: Required<
|
|
3095
|
+
protected readonly config: Required<AXConversationConfig>;
|
|
2820
3096
|
/** Custom CSS class */
|
|
2821
3097
|
readonly customClass: _angular_core.InputSignal<string>;
|
|
2822
3098
|
/** Loading state */
|
|
@@ -2845,71 +3121,6 @@ declare class AXConversationContainerDirective {
|
|
|
2845
3121
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
|
|
2846
3122
|
}
|
|
2847
3123
|
|
|
2848
|
-
interface DropdownMenuItem {
|
|
2849
|
-
id: string;
|
|
2850
|
-
label: string;
|
|
2851
|
-
icon?: string;
|
|
2852
|
-
disabled?: boolean;
|
|
2853
|
-
divider?: boolean;
|
|
2854
|
-
destructive?: boolean;
|
|
2855
|
-
shortcut?: string;
|
|
2856
|
-
}
|
|
2857
|
-
declare class AXInfoBarComponent {
|
|
2858
|
-
private readonly conversationService;
|
|
2859
|
-
private readonly infoBar;
|
|
2860
|
-
protected get registry(): _acorex_components_conversation2.AXRegistryService;
|
|
2861
|
-
/** Active conversation */
|
|
2862
|
-
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
2863
|
-
/** Active component from service */
|
|
2864
|
-
readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveComponent>;
|
|
2865
|
-
/** Active banner from service */
|
|
2866
|
-
readonly activeBanner: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarActiveBanner>;
|
|
2867
|
-
/** Members popover reference */
|
|
2868
|
-
readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
2869
|
-
/** Members popover target element */
|
|
2870
|
-
readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
2871
|
-
/** Loading state for async actions */
|
|
2872
|
-
readonly actionLoading: _angular_core.WritableSignal<boolean>;
|
|
2873
|
-
/** Avatar clicked event */
|
|
2874
|
-
readonly avatarClick: _angular_core.OutputEmitterRef<void>;
|
|
2875
|
-
/** Search clicked event */
|
|
2876
|
-
readonly searchClick: _angular_core.OutputEmitterRef<void>;
|
|
2877
|
-
/** Search query changed event */
|
|
2878
|
-
readonly searchQuery: _angular_core.OutputEmitterRef<string>;
|
|
2879
|
-
/** Menu item clicked event */
|
|
2880
|
-
readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
|
|
2881
|
-
/** Inline action buttons from registry */
|
|
2882
|
-
readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
|
|
2883
|
-
/** Dropdown menu items from registry */
|
|
2884
|
-
readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
|
|
2885
|
-
/** Get conversation status - delegate to utils */
|
|
2886
|
-
getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
|
|
2887
|
-
/** Get subtitle text - delegate to utils */
|
|
2888
|
-
getSubtitle(conversation: AXConversation): string;
|
|
2889
|
-
/** Get initials from name - delegate to utils */
|
|
2890
|
-
getInitials(name: string): string;
|
|
2891
|
-
getConversationAvatar(conversation: AXConversation): string | undefined;
|
|
2892
|
-
getConversationAvatarIcon(conversation: AXConversation): string | undefined;
|
|
2893
|
-
/** Handle avatar click */
|
|
2894
|
-
onAvatarClick(): void;
|
|
2895
|
-
/** Handle members click - open popover */
|
|
2896
|
-
onMembersClick(event: MouseEvent): void;
|
|
2897
|
-
/** Handle inline action click */
|
|
2898
|
-
onInlineActionClick(actionId: string): Promise<void>;
|
|
2899
|
-
/** Get inputs for dynamic component */
|
|
2900
|
-
getComponentInputs(): Record<string, unknown>;
|
|
2901
|
-
getInlineComponentInputs(): Record<string, unknown>;
|
|
2902
|
-
isActiveComponentFullWidth(): boolean;
|
|
2903
|
-
/** Handle close component */
|
|
2904
|
-
onCloseComponent(): void;
|
|
2905
|
-
getBannerInputs(): Record<string, unknown>;
|
|
2906
|
-
onCloseBanner(): void;
|
|
2907
|
-
/** Handle menu item click */
|
|
2908
|
-
onMenuItemClick(item: DropdownMenuItem): Promise<void>;
|
|
2909
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
|
|
2910
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
|
|
2911
|
-
}
|
|
2912
|
-
|
|
2913
3124
|
/**
|
|
2914
3125
|
* Active component state in info-bar
|
|
2915
3126
|
*/
|
|
@@ -3159,9 +3370,9 @@ declare class AXConversationService {
|
|
|
3159
3370
|
/** Error state */
|
|
3160
3371
|
readonly error: _angular_core.Signal<Error>;
|
|
3161
3372
|
/** Connection status */
|
|
3162
|
-
readonly connectionStatus$: rxjs.Observable<
|
|
3373
|
+
readonly connectionStatus$: rxjs.Observable<AXConnectionStatus>;
|
|
3163
3374
|
/** Error stream */
|
|
3164
|
-
readonly errors$: rxjs.Observable<
|
|
3375
|
+
readonly errors$: rxjs.Observable<AXConversationError>;
|
|
3165
3376
|
readonly onMessageReceived: rxjs.Observable<AXMessage>;
|
|
3166
3377
|
readonly onMessageUpdated: rxjs.Observable<AXMessage>;
|
|
3167
3378
|
readonly onMessageDeleted: rxjs.Observable<string>;
|
|
@@ -3173,7 +3384,7 @@ declare class AXConversationService {
|
|
|
3173
3384
|
type: "reply" | "forward";
|
|
3174
3385
|
}>;
|
|
3175
3386
|
private _currentUser;
|
|
3176
|
-
readonly currentUser: _angular_core.Signal<
|
|
3387
|
+
readonly currentUser: _angular_core.Signal<AXParticipant>;
|
|
3177
3388
|
constructor();
|
|
3178
3389
|
/**
|
|
3179
3390
|
* Initialize the service
|
|
@@ -3497,139 +3708,89 @@ declare class AXConversationService {
|
|
|
3497
3708
|
unblockUser(userId: string): Promise<void>;
|
|
3498
3709
|
/**
|
|
3499
3710
|
* Get blocked users
|
|
3500
|
-
* @returns Array of blocked user IDs
|
|
3501
|
-
*/
|
|
3502
|
-
getBlockedUsers(): Promise<string[]>;
|
|
3503
|
-
/**
|
|
3504
|
-
* Update user presence
|
|
3505
|
-
* @param status - Presence status
|
|
3506
|
-
* @param statusText - Optional status text
|
|
3507
|
-
*/
|
|
3508
|
-
updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
|
|
3509
|
-
/**
|
|
3510
|
-
* Validate message content before sending
|
|
3511
|
-
* Uses centralized validation utilities for consistency
|
|
3512
|
-
* @param command - Message command to validate
|
|
3513
|
-
* @throws {Error} If message content is invalid
|
|
3514
|
-
*/
|
|
3515
|
-
private validateMessageContent;
|
|
3516
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
|
|
3517
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
|
|
3518
|
-
}
|
|
3519
|
-
|
|
3520
|
-
/**
|
|
3521
|
-
* Error severity levels
|
|
3522
|
-
*/
|
|
3523
|
-
type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
|
|
3524
|
-
/**
|
|
3525
|
-
* Conversation error event
|
|
3526
|
-
*/
|
|
3527
|
-
interface AXConversationError {
|
|
3528
|
-
/** Error code */
|
|
3529
|
-
code: string;
|
|
3530
|
-
/** Error message */
|
|
3531
|
-
message: string;
|
|
3532
|
-
/** Severity level */
|
|
3533
|
-
severity: AXErrorSeverity;
|
|
3534
|
-
/** Source operation */
|
|
3535
|
-
operation: string;
|
|
3536
|
-
/** Original error */
|
|
3537
|
-
originalError?: unknown;
|
|
3538
|
-
/** HTTP status code (if applicable) */
|
|
3539
|
-
statusCode?: number;
|
|
3540
|
-
/** Additional context */
|
|
3541
|
-
context?: Record<string, unknown>;
|
|
3542
|
-
/** Timestamp */
|
|
3543
|
-
timestamp: Date;
|
|
3544
|
-
/** Whether error was handled */
|
|
3545
|
-
handled: boolean;
|
|
3546
|
-
/** Recovery suggestions */
|
|
3547
|
-
recoverySuggestions?: string[];
|
|
3548
|
-
}
|
|
3549
|
-
/**
|
|
3550
|
-
* Error Handler Configuration
|
|
3551
|
-
*/
|
|
3552
|
-
interface AXErrorHandlerConfig {
|
|
3553
|
-
/** Log errors to console */
|
|
3554
|
-
logToConsole?: boolean;
|
|
3555
|
-
/** Show user-friendly error messages */
|
|
3556
|
-
showUserMessages?: boolean;
|
|
3557
|
-
/** Retry failed operations automatically */
|
|
3558
|
-
autoRetry?: boolean;
|
|
3559
|
-
/** Number of retry attempts */
|
|
3560
|
-
maxRetries?: number;
|
|
3561
|
-
/** Custom error handler */
|
|
3562
|
-
customHandler?: (error: AXConversationError) => void;
|
|
3563
|
-
}
|
|
3564
|
-
/**
|
|
3565
|
-
* Error Handler Service
|
|
3566
|
-
*/
|
|
3567
|
-
declare class AXErrorHandlerService {
|
|
3568
|
-
private readonly injectedConfig;
|
|
3569
|
-
private readonly _errors$;
|
|
3570
|
-
private readonly _config;
|
|
3571
|
-
/** Error stream */
|
|
3572
|
-
readonly errors$: rxjs.Observable<AXConversationError>;
|
|
3573
|
-
constructor();
|
|
3574
|
-
/**
|
|
3575
|
-
* Configure error handler
|
|
3576
|
-
*/
|
|
3577
|
-
configure(config: Partial<AXErrorHandlerConfig>): void;
|
|
3578
|
-
/**
|
|
3579
|
-
* Handle an error
|
|
3580
|
-
*/
|
|
3581
|
-
handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
3582
|
-
/**
|
|
3583
|
-
* Handle API error (same pipeline as {@link handle}, for typed API failures)
|
|
3584
|
-
*/
|
|
3585
|
-
handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
3586
|
-
private publish;
|
|
3587
|
-
/**
|
|
3588
|
-
* Normalize any error to conversation error format (does not publish — use {@link handle})
|
|
3589
|
-
*/
|
|
3590
|
-
private normalizeError;
|
|
3591
|
-
private conversationErrorFromApi;
|
|
3592
|
-
private isApiError;
|
|
3593
|
-
/**
|
|
3594
|
-
* Determine severity based on status code
|
|
3595
|
-
*/
|
|
3596
|
-
private determineSeverity;
|
|
3597
|
-
/**
|
|
3598
|
-
* Get recovery suggestions based on error
|
|
3599
|
-
*/
|
|
3600
|
-
private getRecoverySuggestions;
|
|
3601
|
-
/**
|
|
3602
|
-
* Get default recovery suggestions
|
|
3603
|
-
*/
|
|
3604
|
-
private getDefaultRecoverySuggestions;
|
|
3605
|
-
/**
|
|
3606
|
-
* Log error to console
|
|
3607
|
-
*/
|
|
3608
|
-
private logError;
|
|
3609
|
-
/**
|
|
3610
|
-
* Get user-friendly error message
|
|
3611
|
-
*/
|
|
3612
|
-
getUserFriendlyMessage(error: AXConversationError): string;
|
|
3613
|
-
/**
|
|
3614
|
-
* Check if error is retryable
|
|
3711
|
+
* @returns Array of blocked user IDs
|
|
3615
3712
|
*/
|
|
3616
|
-
|
|
3713
|
+
getBlockedUsers(): Promise<string[]>;
|
|
3617
3714
|
/**
|
|
3618
|
-
*
|
|
3619
|
-
* @param
|
|
3620
|
-
* @param
|
|
3621
|
-
* @param context - Additional context for error handling
|
|
3622
|
-
* @returns Promise resolving to the operation result
|
|
3623
|
-
* @throws {AXConversationError} If all retries fail
|
|
3715
|
+
* Update user presence
|
|
3716
|
+
* @param status - Presence status
|
|
3717
|
+
* @param statusText - Optional status text
|
|
3624
3718
|
*/
|
|
3625
|
-
|
|
3719
|
+
updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
|
|
3626
3720
|
/**
|
|
3627
|
-
*
|
|
3628
|
-
*
|
|
3721
|
+
* Validate message content before sending
|
|
3722
|
+
* Uses centralized validation utilities for consistency
|
|
3723
|
+
* @param command - Message command to validate
|
|
3724
|
+
* @throws {Error} If message content is invalid
|
|
3629
3725
|
*/
|
|
3630
|
-
private
|
|
3631
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
3632
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
3726
|
+
private validateMessageContent;
|
|
3727
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
|
|
3728
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
|
|
3729
|
+
}
|
|
3730
|
+
|
|
3731
|
+
interface DropdownMenuItem {
|
|
3732
|
+
id: string;
|
|
3733
|
+
label: string;
|
|
3734
|
+
icon?: string;
|
|
3735
|
+
disabled?: boolean;
|
|
3736
|
+
divider?: boolean;
|
|
3737
|
+
destructive?: boolean;
|
|
3738
|
+
shortcut?: string;
|
|
3739
|
+
}
|
|
3740
|
+
declare class AXInfoBarComponent {
|
|
3741
|
+
private readonly conversationService;
|
|
3742
|
+
private readonly infoBar;
|
|
3743
|
+
protected get registry(): AXRegistryService;
|
|
3744
|
+
/** Active conversation */
|
|
3745
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3746
|
+
/** Active component from service */
|
|
3747
|
+
readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
|
|
3748
|
+
/** Active banner from service */
|
|
3749
|
+
readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
|
|
3750
|
+
/** Members popover reference */
|
|
3751
|
+
readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
3752
|
+
/** Members popover target element */
|
|
3753
|
+
readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
3754
|
+
/** Loading state for async actions */
|
|
3755
|
+
readonly actionLoading: _angular_core.WritableSignal<boolean>;
|
|
3756
|
+
/** Avatar clicked event */
|
|
3757
|
+
readonly avatarClick: _angular_core.OutputEmitterRef<void>;
|
|
3758
|
+
/** Search clicked event */
|
|
3759
|
+
readonly searchClick: _angular_core.OutputEmitterRef<void>;
|
|
3760
|
+
/** Search query changed event */
|
|
3761
|
+
readonly searchQuery: _angular_core.OutputEmitterRef<string>;
|
|
3762
|
+
/** Menu item clicked event */
|
|
3763
|
+
readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
|
|
3764
|
+
/** Inline action buttons from registry */
|
|
3765
|
+
readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
|
|
3766
|
+
/** Dropdown menu items from registry */
|
|
3767
|
+
readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
|
|
3768
|
+
/** Get conversation status - delegate to utils */
|
|
3769
|
+
getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
|
|
3770
|
+
/** Get subtitle text - delegate to utils */
|
|
3771
|
+
getSubtitle(conversation: AXConversation): string;
|
|
3772
|
+
/** Get initials from name - delegate to utils */
|
|
3773
|
+
getInitials(name: string): string;
|
|
3774
|
+
getConversationAvatar(conversation: AXConversation): string | undefined;
|
|
3775
|
+
getConversationAvatarIcon(conversation: AXConversation): string | undefined;
|
|
3776
|
+
/** Handle avatar click */
|
|
3777
|
+
onAvatarClick(): void;
|
|
3778
|
+
/** Handle members click - open popover */
|
|
3779
|
+
onMembersClick(event: MouseEvent): void;
|
|
3780
|
+
/** Handle inline action click */
|
|
3781
|
+
onInlineActionClick(actionId: string): Promise<void>;
|
|
3782
|
+
/** Get inputs for dynamic component */
|
|
3783
|
+
getComponentInputs(): Record<string, unknown>;
|
|
3784
|
+
getInlineComponentInputs(): Record<string, unknown>;
|
|
3785
|
+
isActiveComponentFullWidth(): boolean;
|
|
3786
|
+
/** Handle close component */
|
|
3787
|
+
onCloseComponent(): void;
|
|
3788
|
+
getBannerInputs(): Record<string, unknown>;
|
|
3789
|
+
onCloseBanner(): void;
|
|
3790
|
+
/** Handle menu item click */
|
|
3791
|
+
onMenuItemClick(item: DropdownMenuItem): Promise<void>;
|
|
3792
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
|
|
3793
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
|
|
3633
3794
|
}
|
|
3634
3795
|
|
|
3635
3796
|
declare class AXForwardMessageDialogComponent implements OnInit {
|
|
@@ -3686,7 +3847,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
3686
3847
|
private readonly composerService;
|
|
3687
3848
|
private readonly infoBarService;
|
|
3688
3849
|
private readonly translation;
|
|
3689
|
-
protected readonly config: Required<
|
|
3850
|
+
protected readonly config: Required<AXConversationConfig>;
|
|
3690
3851
|
/**
|
|
3691
3852
|
* Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
|
|
3692
3853
|
* Set `messageListBackground` to `transparent` or `none` for a flat look.
|
|
@@ -3722,7 +3883,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
3722
3883
|
/** Show scroll to bottom button - use service */
|
|
3723
3884
|
readonly showScrollButton: _angular_core.WritableSignal<boolean>;
|
|
3724
3885
|
/** Active conversation */
|
|
3725
|
-
readonly activeConversation: _angular_core.Signal<
|
|
3886
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3726
3887
|
/** Messages */
|
|
3727
3888
|
readonly messages: _angular_core.Signal<AXMessage[]>;
|
|
3728
3889
|
/** Message action event */
|
|
@@ -3731,7 +3892,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
3731
3892
|
action: string;
|
|
3732
3893
|
}>;
|
|
3733
3894
|
/** Current user from service */
|
|
3734
|
-
readonly currentUser: _angular_core.Signal<
|
|
3895
|
+
readonly currentUser: _angular_core.Signal<AXParticipant>;
|
|
3735
3896
|
/** Message grouped by date - use service */
|
|
3736
3897
|
readonly messageGroups: _angular_core.Signal<{
|
|
3737
3898
|
date: string;
|
|
@@ -3892,9 +4053,9 @@ declare class AXMessageListService {
|
|
|
3892
4053
|
private readonly conversationService;
|
|
3893
4054
|
private readonly config;
|
|
3894
4055
|
private get registry();
|
|
3895
|
-
readonly activeConversation: _angular_core.Signal<
|
|
4056
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3896
4057
|
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
3897
|
-
readonly currentUser: _angular_core.Signal<
|
|
4058
|
+
readonly currentUser: _angular_core.Signal<AXParticipant>;
|
|
3898
4059
|
/** Initial message history load (conversation switch) */
|
|
3899
4060
|
readonly loading: _angular_core.Signal<boolean>;
|
|
3900
4061
|
/** Loading older messages (scroll-up pagination) */
|
|
@@ -3967,7 +4128,7 @@ declare class AXSidebarService {
|
|
|
3967
4128
|
|
|
3968
4129
|
declare class AXSidebarComponent implements OnDestroy {
|
|
3969
4130
|
readonly sidebar: AXSidebarService;
|
|
3970
|
-
protected readonly config: Required<
|
|
4131
|
+
protected readonly config: Required<AXConversationConfig>;
|
|
3971
4132
|
private readonly conversationService;
|
|
3972
4133
|
private readonly popupService;
|
|
3973
4134
|
private readonly translation;
|
|
@@ -4077,167 +4238,6 @@ declare class AXInfiniteScrollDirective {
|
|
|
4077
4238
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXInfiniteScrollDirective, "[axInfiniteScroll]", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "edge": { "alias": "edge"; "required": false; "isSignal": true; }; "scrollDisabled": { "alias": "scrollDisabled"; "required": false; "isSignal": true; }; "cooldownMs": { "alias": "cooldownMs"; "required": false; "isSignal": true; }; }, { "scrollThreshold": "scrollThreshold"; }, never, never, true, never>;
|
|
4078
4239
|
}
|
|
4079
4240
|
|
|
4080
|
-
/**
|
|
4081
|
-
* Conversation Configuration Interface
|
|
4082
|
-
* Centralized configuration values to avoid magic numbers
|
|
4083
|
-
*/
|
|
4084
|
-
/**
|
|
4085
|
-
* Main configuration interface for the conversation component
|
|
4086
|
-
*/
|
|
4087
|
-
interface AXConversationConfig {
|
|
4088
|
-
/** Number of messages to load per page */
|
|
4089
|
-
messagePageSize?: number;
|
|
4090
|
-
/** Number of conversations to load per page */
|
|
4091
|
-
conversationPageSize?: number;
|
|
4092
|
-
/** Scroll threshold for detecting scroll events */
|
|
4093
|
-
scrollThreshold?: number;
|
|
4094
|
-
/** Infinite scroll threshold */
|
|
4095
|
-
infiniteScrollThreshold?: number;
|
|
4096
|
-
/** Typing indicator timeout in milliseconds */
|
|
4097
|
-
typingIndicatorTimeout?: number;
|
|
4098
|
-
/** Typing indicator throttle in milliseconds (for rate limiting) */
|
|
4099
|
-
typingIndicatorThrottle?: number;
|
|
4100
|
-
/** Message highlight duration in milliseconds */
|
|
4101
|
-
messageHighlightDuration?: number;
|
|
4102
|
-
/** Search debounce delay in milliseconds */
|
|
4103
|
-
debounceSearch?: number;
|
|
4104
|
-
/** Date separator inactivity fade delay in milliseconds */
|
|
4105
|
-
/** Maximum messages per conversation */
|
|
4106
|
-
maxMessagesPerConversation?: number;
|
|
4107
|
-
/** Maximum total messages in store */
|
|
4108
|
-
maxTotalMessages?: number;
|
|
4109
|
-
/** Maximum cached conversations */
|
|
4110
|
-
maxCachedConversations?: number;
|
|
4111
|
-
/** Minimum sidebar width in pixels */
|
|
4112
|
-
minSidebarWidth?: number;
|
|
4113
|
-
/** Maximum sidebar width in pixels */
|
|
4114
|
-
maxSidebarWidth?: number;
|
|
4115
|
-
/** Default sidebar width in pixels */
|
|
4116
|
-
defaultSidebarWidth?: number;
|
|
4117
|
-
/** Filter cache size */
|
|
4118
|
-
filterCacheSize?: number;
|
|
4119
|
-
/** Maximum message length in characters */
|
|
4120
|
-
maxMessageLength?: number;
|
|
4121
|
-
/** Minimum message length in characters */
|
|
4122
|
-
minMessageLength?: number;
|
|
4123
|
-
/** Maximum file size in bytes */
|
|
4124
|
-
maxFileSize?: number;
|
|
4125
|
-
/** Allowed MIME types (glob patterns, e.g. `image/*`) */
|
|
4126
|
-
allowedFileTypes?: string[];
|
|
4127
|
-
/** Max attachments per message when a composer action omits `maxFiles`. */
|
|
4128
|
-
maxFilesPerMessage?: number;
|
|
4129
|
-
/** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
|
|
4130
|
-
messageReadThreshold?: number;
|
|
4131
|
-
/**
|
|
4132
|
-
* CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
|
|
4133
|
-
* Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
|
|
4134
|
-
* Empty string = library default soft gradient. `transparent` or `none` = flat background.
|
|
4135
|
-
*/
|
|
4136
|
-
messageListBackground?: string;
|
|
4137
|
-
}
|
|
4138
|
-
|
|
4139
|
-
/**
|
|
4140
|
-
* Default Configuration Values
|
|
4141
|
-
* Centralized defaults to avoid magic numbers throughout the codebase
|
|
4142
|
-
*/
|
|
4143
|
-
|
|
4144
|
-
/**
|
|
4145
|
-
* Default conversation configuration
|
|
4146
|
-
* All values are explicitly defined here for easy maintenance and documentation
|
|
4147
|
-
*/
|
|
4148
|
-
declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
|
|
4149
|
-
/**
|
|
4150
|
-
* Helper function to merge user config with defaults
|
|
4151
|
-
* Properly handles array merging to avoid reference issues
|
|
4152
|
-
* @param userConfig - User-provided configuration
|
|
4153
|
-
* @returns Merged configuration with all required fields
|
|
4154
|
-
*/
|
|
4155
|
-
declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
|
|
4156
|
-
|
|
4157
|
-
/**
|
|
4158
|
-
* Dependency Injection Tokens
|
|
4159
|
-
* InjectionTokens for configuration and dependencies
|
|
4160
|
-
*/
|
|
4161
|
-
|
|
4162
|
-
/**
|
|
4163
|
-
* Configuration token for conversation component
|
|
4164
|
-
* Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
|
|
4165
|
-
*/
|
|
4166
|
-
declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
|
|
4167
|
-
/**
|
|
4168
|
-
* Token for configuring AXErrorHandlerService
|
|
4169
|
-
*/
|
|
4170
|
-
declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
|
|
4171
|
-
|
|
4172
|
-
/**
|
|
4173
|
-
* Registry Configuration Tokens
|
|
4174
|
-
* Injection tokens for configuring default registry values
|
|
4175
|
-
*/
|
|
4176
|
-
|
|
4177
|
-
/**
|
|
4178
|
-
* Additional message renderers configuration
|
|
4179
|
-
* Provide this token to add custom message renderers in addition to built-in ones
|
|
4180
|
-
* Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
|
|
4181
|
-
*/
|
|
4182
|
-
declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
|
|
4183
|
-
/**
|
|
4184
|
-
* Default message actions configuration
|
|
4185
|
-
* Provide this token to override default message actions
|
|
4186
|
-
*/
|
|
4187
|
-
declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
|
|
4188
|
-
/**
|
|
4189
|
-
* Default composer tabs configuration
|
|
4190
|
-
* Provide this token to override default composer tabs (emoji, stickers, etc.)
|
|
4191
|
-
*/
|
|
4192
|
-
declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
|
|
4193
|
-
/**
|
|
4194
|
-
* Default composer actions configuration
|
|
4195
|
-
* Provide this token to override default composer actions (attach, voice, etc.)
|
|
4196
|
-
*/
|
|
4197
|
-
declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
|
|
4198
|
-
/**
|
|
4199
|
-
* Default conversation tabs configuration
|
|
4200
|
-
* Provide this token to override default conversation tabs (all, private, groups, etc.)
|
|
4201
|
-
*/
|
|
4202
|
-
declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
|
|
4203
|
-
/**
|
|
4204
|
-
* Default info bar actions configuration
|
|
4205
|
-
* Provide this token to override default info bar actions (mute, archive, block, etc.)
|
|
4206
|
-
*/
|
|
4207
|
-
declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
|
|
4208
|
-
/**
|
|
4209
|
-
* Default conversation item actions configuration
|
|
4210
|
-
* Provide this token to override default conversation item actions (mute, delete, archive, etc.)
|
|
4211
|
-
*/
|
|
4212
|
-
declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
|
|
4213
|
-
/**
|
|
4214
|
-
* Registry configuration interface
|
|
4215
|
-
*/
|
|
4216
|
-
interface AXRegistryConfiguration {
|
|
4217
|
-
/**
|
|
4218
|
-
* Additional message renderers to register (built-in renderers are automatic).
|
|
4219
|
-
* Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
|
|
4220
|
-
*/
|
|
4221
|
-
messageRenderers?: AXMessageRenderer[];
|
|
4222
|
-
/** Message actions to register by default */
|
|
4223
|
-
messageActions?: AXMessageAction[];
|
|
4224
|
-
/** Composer tabs to register by default */
|
|
4225
|
-
composerTabs?: AXComposerTab[];
|
|
4226
|
-
/** Composer actions to register by default */
|
|
4227
|
-
composerActions?: AXComposerAction[];
|
|
4228
|
-
/** Conversation tabs to register by default */
|
|
4229
|
-
conversationTabs?: AXConversationTab[];
|
|
4230
|
-
/** Info bar actions to register by default */
|
|
4231
|
-
infoBarActions?: AXInfoBarAction[];
|
|
4232
|
-
/** Conversation item actions to register by default */
|
|
4233
|
-
conversationItemActions?: AXConversationItemAction[];
|
|
4234
|
-
}
|
|
4235
|
-
/**
|
|
4236
|
-
* Complete registry configuration token
|
|
4237
|
-
* Provide this for comprehensive registry configuration
|
|
4238
|
-
*/
|
|
4239
|
-
declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
|
|
4240
|
-
|
|
4241
4241
|
/**
|
|
4242
4242
|
* IndexedDB Storage Wrapper
|
|
4243
4243
|
* Provides persistent storage for conversation data
|
|
@@ -5132,7 +5132,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
|
|
|
5132
5132
|
value: string;
|
|
5133
5133
|
}>;
|
|
5134
5134
|
/** Get filtered members based on search */
|
|
5135
|
-
get filteredMembers():
|
|
5135
|
+
get filteredMembers(): AXParticipant[];
|
|
5136
5136
|
/** Handle tab change */
|
|
5137
5137
|
onTabChange(event: any): void;
|
|
5138
5138
|
ngOnInit(): void;
|
|
@@ -5188,7 +5188,7 @@ declare class AXInfoBarSearchComponent {
|
|
|
5188
5188
|
/** Current index from service */
|
|
5189
5189
|
readonly currentIndex: _angular_core.Signal<number>;
|
|
5190
5190
|
/** Messages from conversation */
|
|
5191
|
-
readonly messages: _angular_core.Signal<
|
|
5191
|
+
readonly messages: _angular_core.Signal<AXMessage[]>;
|
|
5192
5192
|
private scrollTimer?;
|
|
5193
5193
|
constructor();
|
|
5194
5194
|
/** Handle search input change */
|
|
@@ -5322,11 +5322,11 @@ declare class AXAudioRendererComponent implements AXMessageRendererComponent {
|
|
|
5322
5322
|
private readonly duration;
|
|
5323
5323
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5324
5324
|
readonly rendererState: _angular_core.Signal<{
|
|
5325
|
-
deliveryStatus:
|
|
5325
|
+
deliveryStatus: AXMessageStatus;
|
|
5326
5326
|
contentState: AXMessageRendererContentState;
|
|
5327
5327
|
}>;
|
|
5328
5328
|
readonly payload: _angular_core.Signal<AXAudioPayload>;
|
|
5329
|
-
readonly audios: _angular_core.Signal<
|
|
5329
|
+
readonly audios: _angular_core.Signal<AXAudioMediaItem[]>;
|
|
5330
5330
|
readonly caption: _angular_core.Signal<string>;
|
|
5331
5331
|
constructor();
|
|
5332
5332
|
onPlayingChange(index: number, playing: boolean): void;
|
|
@@ -5346,7 +5346,7 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
|
|
|
5346
5346
|
private readonly _contentState;
|
|
5347
5347
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5348
5348
|
readonly rendererState: _angular_core.Signal<{
|
|
5349
|
-
deliveryStatus:
|
|
5349
|
+
deliveryStatus: AXMessageStatus;
|
|
5350
5350
|
contentState: AXMessageRendererContentState;
|
|
5351
5351
|
}>;
|
|
5352
5352
|
readonly messageTypeLabel: _angular_core.Signal<string>;
|
|
@@ -5359,11 +5359,11 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
|
|
|
5359
5359
|
declare class AXFileRendererComponent implements AXMessageRendererComponent {
|
|
5360
5360
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5361
5361
|
readonly rendererState: _angular_core.Signal<{
|
|
5362
|
-
deliveryStatus:
|
|
5362
|
+
deliveryStatus: AXMessageStatus;
|
|
5363
5363
|
contentState: "ready";
|
|
5364
5364
|
}>;
|
|
5365
5365
|
readonly payload: _angular_core.Signal<AXFilePayload>;
|
|
5366
|
-
readonly files: _angular_core.Signal<
|
|
5366
|
+
readonly files: _angular_core.Signal<AXFileMediaItem[]>;
|
|
5367
5367
|
readonly caption: _angular_core.Signal<string>;
|
|
5368
5368
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileRendererComponent, never>;
|
|
5369
5369
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileRendererComponent, "ax-conversation-file-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -5373,7 +5373,7 @@ declare class AXImageRendererComponent implements AXMessageRendererComponent {
|
|
|
5373
5373
|
private readonly platformId;
|
|
5374
5374
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5375
5375
|
readonly rendererState: _angular_core.Signal<{
|
|
5376
|
-
deliveryStatus:
|
|
5376
|
+
deliveryStatus: AXMessageStatus;
|
|
5377
5377
|
contentState: "ready";
|
|
5378
5378
|
}>;
|
|
5379
5379
|
readonly imageClick: _angular_core.OutputEmitterRef<string>;
|
|
@@ -5390,7 +5390,7 @@ declare class AXLocationRendererComponent implements AXMessageRendererComponent
|
|
|
5390
5390
|
private readonly _contentState;
|
|
5391
5391
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5392
5392
|
readonly rendererState: _angular_core.Signal<{
|
|
5393
|
-
deliveryStatus:
|
|
5393
|
+
deliveryStatus: AXMessageStatus;
|
|
5394
5394
|
contentState: AXMessageRendererContentState;
|
|
5395
5395
|
}>;
|
|
5396
5396
|
readonly payload: _angular_core.Signal<AXLocationPayload>;
|
|
@@ -5415,7 +5415,7 @@ declare class AXStickerRendererComponent implements AXMessageRendererComponent {
|
|
|
5415
5415
|
private readonly _contentState;
|
|
5416
5416
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5417
5417
|
readonly rendererState: _angular_core.Signal<{
|
|
5418
|
-
deliveryStatus:
|
|
5418
|
+
deliveryStatus: AXMessageStatus;
|
|
5419
5419
|
contentState: AXMessageRendererContentState;
|
|
5420
5420
|
}>;
|
|
5421
5421
|
readonly payload: _angular_core.Signal<AXStickerPayload>;
|
|
@@ -5434,7 +5434,7 @@ declare class AXSystemRendererComponent implements AXMessageRendererComponent {
|
|
|
5434
5434
|
private readonly _contentState;
|
|
5435
5435
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5436
5436
|
readonly rendererState: _angular_core.Signal<{
|
|
5437
|
-
deliveryStatus:
|
|
5437
|
+
deliveryStatus: AXMessageStatus;
|
|
5438
5438
|
contentState: AXMessageRendererContentState;
|
|
5439
5439
|
}>;
|
|
5440
5440
|
readonly payload: _angular_core.Signal<AXSystemPayload>;
|
|
@@ -5449,7 +5449,7 @@ declare class AXTextRendererComponent implements AXMessageRendererComponent {
|
|
|
5449
5449
|
private readonly _contentState;
|
|
5450
5450
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5451
5451
|
readonly rendererState: _angular_core.Signal<{
|
|
5452
|
-
deliveryStatus:
|
|
5452
|
+
deliveryStatus: AXMessageStatus;
|
|
5453
5453
|
contentState: AXMessageRendererContentState;
|
|
5454
5454
|
}>;
|
|
5455
5455
|
readonly searchQuery: _angular_core.Signal<string>;
|
|
@@ -5468,14 +5468,14 @@ declare class AXVideoRendererComponent implements AXMessageRendererComponent {
|
|
|
5468
5468
|
private readonly activeVideoIndex;
|
|
5469
5469
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5470
5470
|
readonly rendererState: _angular_core.Signal<{
|
|
5471
|
-
deliveryStatus:
|
|
5471
|
+
deliveryStatus: AXMessageStatus;
|
|
5472
5472
|
contentState: "ready";
|
|
5473
5473
|
}>;
|
|
5474
5474
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
5475
5475
|
readonly currentTime: _angular_core.WritableSignal<number>;
|
|
5476
5476
|
readonly duration: _angular_core.WritableSignal<number>;
|
|
5477
5477
|
readonly payload: _angular_core.Signal<AXVideoPayload>;
|
|
5478
|
-
readonly videos: _angular_core.Signal<
|
|
5478
|
+
readonly videos: _angular_core.Signal<AXVideoMediaItem[]>;
|
|
5479
5479
|
readonly caption: _angular_core.Signal<string>;
|
|
5480
5480
|
constructor();
|
|
5481
5481
|
onPlayingChange(index: number, playing: boolean): void;
|
|
@@ -5498,7 +5498,7 @@ declare class AXVoiceRendererComponent implements AXMessageRendererComponent {
|
|
|
5498
5498
|
private readonly _contentState;
|
|
5499
5499
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5500
5500
|
readonly rendererState: _angular_core.Signal<{
|
|
5501
|
-
deliveryStatus:
|
|
5501
|
+
deliveryStatus: AXMessageStatus;
|
|
5502
5502
|
contentState: AXMessageRendererContentState;
|
|
5503
5503
|
}>;
|
|
5504
5504
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|