@acorex/components 21.0.1-next.90 → 21.0.1-next.92
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 -14
- 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-conversation2.d.ts → conversation2/index.d.ts} +925 -925
- package/{types/acorex-components-data-table.d.ts → data-table/index.d.ts} +253 -4
- 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 -41
- 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 +18 -18
- 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 +31 -31
- 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 +248 -256
- 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 +10 -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 +11 -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 +22 -22
- 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 +10 -10
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +9 -9
- 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 +179 -173
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +52 -52
- 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 +12 -14
- 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 +24 -81
- 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 +8 -8
- 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 +515 -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-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 +146 -122
- package/{types/acorex-components-paint.d.ts → paint/index.d.ts} +6 -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 -1
- package/{types/acorex-components-side-menu.d.ts → side-menu/index.d.ts} +2 -9
- 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 +185 -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-calendar.d.ts → calendar/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-color-palette.d.ts → color-palette/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-box.d.ts → datetime-box/index.d.ts} +0 -0
- /package/{types/acorex-components-datetime-input.d.ts → datetime-input/index.d.ts} +0 -0
- /package/{types/acorex-components-datetime-picker.d.ts → datetime-picker/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-flow-chart.d.ts → flow-chart/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-qrcode.d.ts → qrcode/index.d.ts} +0 -0
- /package/{types/acorex-components-query-builder.d.ts → query-builder/index.d.ts} +0 -0
- /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-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';
|
|
@@ -661,144 +661,6 @@ interface AXConversationSort {
|
|
|
661
661
|
direction: 'asc' | 'desc';
|
|
662
662
|
}
|
|
663
663
|
|
|
664
|
-
declare class AXComposerComponent implements OnDestroy {
|
|
665
|
-
#private;
|
|
666
|
-
private readonly conversationService;
|
|
667
|
-
private readonly messageApi;
|
|
668
|
-
private readonly composerService;
|
|
669
|
-
private readonly messageListService;
|
|
670
|
-
private readonly popupService;
|
|
671
|
-
private readonly config;
|
|
672
|
-
private readonly translation;
|
|
673
|
-
/** Access registry through conversation service */
|
|
674
|
-
private get registry();
|
|
675
|
-
/** Input element reference */
|
|
676
|
-
private readonly inputElementRef;
|
|
677
|
-
/** Draft text - use service */
|
|
678
|
-
readonly draftText: _angular_core.WritableSignal<string>;
|
|
679
|
-
/** Attachments - use service */
|
|
680
|
-
readonly attachments: _angular_core.WritableSignal<File[]>;
|
|
681
|
-
/** Editing message */
|
|
682
|
-
readonly editingMessage: _angular_core.WritableSignal<any>;
|
|
683
|
-
/** Replying to message */
|
|
684
|
-
readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
|
|
685
|
-
/** Show typing indicator - use service */
|
|
686
|
-
readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
|
|
687
|
-
/** Message sent event */
|
|
688
|
-
readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
|
|
689
|
-
/** Emoji clicked event */
|
|
690
|
-
readonly emojiClick: _angular_core.OutputEmitterRef<void>;
|
|
691
|
-
/** Attach clicked event */
|
|
692
|
-
readonly attachClick: _angular_core.OutputEmitterRef<void>;
|
|
693
|
-
/** Voice clicked event */
|
|
694
|
-
readonly voiceClick: _angular_core.OutputEmitterRef<void>;
|
|
695
|
-
/** Active conversation */
|
|
696
|
-
readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
|
|
697
|
-
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
698
|
-
/** Active component from service */
|
|
699
|
-
readonly activeComponent: _angular_core.Signal<_acorex_components_conversation2.AXComposerActiveComponent>;
|
|
700
|
-
/** Emoji popover state */
|
|
701
|
-
private readonly emojiPopoverRef;
|
|
702
|
-
readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
703
|
-
readonly composerPopupComponent: typeof AXComposerPopupComponent;
|
|
704
|
-
/** Input placeholder - use service */
|
|
705
|
-
readonly placeholder: _angular_core.Signal<string>;
|
|
706
|
-
/** Sending message state */
|
|
707
|
-
readonly sendingMessage: _angular_core.WritableSignal<boolean>;
|
|
708
|
-
/** Typing indicator subject for rate limiting */
|
|
709
|
-
private readonly typingSubject;
|
|
710
|
-
constructor();
|
|
711
|
-
private draftSaveTimeout?;
|
|
712
|
-
/** Number of input rows - use service */
|
|
713
|
-
readonly inputRows: _angular_core.Signal<number>;
|
|
714
|
-
/** Can send message - use service */
|
|
715
|
-
readonly canSend: _angular_core.Signal<boolean>;
|
|
716
|
-
/** Left actions from registry - use service */
|
|
717
|
-
readonly leftActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
718
|
-
/** Right actions from registry - use service */
|
|
719
|
-
readonly rightActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
720
|
-
/** Left inline actions (location = 'inline' or undefined) */
|
|
721
|
-
readonly leftInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
722
|
-
/** Left menu actions (location = 'menu') */
|
|
723
|
-
readonly leftMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
724
|
-
/** Right inline actions (location = 'inline' or undefined) */
|
|
725
|
-
readonly rightInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
726
|
-
/** Right menu actions (location = 'menu') */
|
|
727
|
-
readonly rightMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
728
|
-
/** Handle key down */
|
|
729
|
-
onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
|
|
730
|
-
/** Handle input */
|
|
731
|
-
onInput(): void;
|
|
732
|
-
/** Send typing indicator (throttled via RxJS) */
|
|
733
|
-
private sendTypingIndicator;
|
|
734
|
-
/** Cleanup on destroy */
|
|
735
|
-
ngOnDestroy(): void;
|
|
736
|
-
/** Handle send click */
|
|
737
|
-
onSendClick(): Promise<void>;
|
|
738
|
-
/** Handle emoji click */
|
|
739
|
-
onEmojiClick(event?: MouseEvent): Promise<void>;
|
|
740
|
-
/** Handle emoji popover closed */
|
|
741
|
-
onEmojiPopoverClosed(): void;
|
|
742
|
-
/** Handle emoji/sticker selection from popup */
|
|
743
|
-
onEmojiItemSelected(item: string | AXStickerPayload): void;
|
|
744
|
-
/** Send sticker message */
|
|
745
|
-
private sendSticker;
|
|
746
|
-
/** Get inputs for emoji popup component */
|
|
747
|
-
getEmojiPopupInputs(): Record<string, unknown>;
|
|
748
|
-
/** Handle attach click */
|
|
749
|
-
onAttachClick(): void;
|
|
750
|
-
/** Handle voice click */
|
|
751
|
-
onVoiceClick(): void;
|
|
752
|
-
/** Remove attachment */
|
|
753
|
-
removeAttachment(index: number): void;
|
|
754
|
-
/** Files selected via uploader */
|
|
755
|
-
onFilesSelected(e: AXUploaderChangedEvent): Promise<void>;
|
|
756
|
-
/**
|
|
757
|
-
* Validate file before upload
|
|
758
|
-
* @param file - File to validate
|
|
759
|
-
* @throws {Error} If file is invalid
|
|
760
|
-
*/
|
|
761
|
-
private validateFile;
|
|
762
|
-
/** Cancel edit/reply mode */
|
|
763
|
-
cancelEditReply(): void;
|
|
764
|
-
/** Reset all composer states (used when switching conversations) */
|
|
765
|
-
private resetComposerState;
|
|
766
|
-
/** Start editing a message */
|
|
767
|
-
startEdit(message: any): void;
|
|
768
|
-
/** Start replying to a message */
|
|
769
|
-
startReply(message: AXMessage): void;
|
|
770
|
-
/** Handle action click */
|
|
771
|
-
onActionClick(actionId: string, event?: MouseEvent): Promise<void>;
|
|
772
|
-
/** Check if action is enabled */
|
|
773
|
-
isActionEnabled(action: any): boolean;
|
|
774
|
-
/** Get replying sender name */
|
|
775
|
-
getReplyingSenderName(): string;
|
|
776
|
-
getActionLabel(action: {
|
|
777
|
-
label: string;
|
|
778
|
-
}): string;
|
|
779
|
-
/** Get replying message text */
|
|
780
|
-
getReplyingMessageText(): string;
|
|
781
|
-
/** Preview object for replying banner (type, icon, value) */
|
|
782
|
-
getReplyingPreview(): {
|
|
783
|
-
value: string;
|
|
784
|
-
type: string;
|
|
785
|
-
icon: string;
|
|
786
|
-
} | null;
|
|
787
|
-
/** Preview object for editing banner (type, icon, value) */
|
|
788
|
-
getEditingPreview(): {
|
|
789
|
-
value: string;
|
|
790
|
-
type: string;
|
|
791
|
-
icon: string;
|
|
792
|
-
} | null;
|
|
793
|
-
/** Handle reply preview click - scroll to original message */
|
|
794
|
-
onReplyPreviewClick(): void;
|
|
795
|
-
/** Get inputs for dynamic component */
|
|
796
|
-
getComponentInputs(): Record<string, unknown>;
|
|
797
|
-
onEnter(event: AXHtmlEvent<KeyboardEvent>): Promise<void>;
|
|
798
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerComponent, never>;
|
|
799
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComposerComponent, "ax-conversation-composer", never, {}, { "messageSent": "messageSent"; "emojiClick": "emojiClick"; "attachClick": "attachClick"; "voiceClick": "voiceClick"; }, never, never, true, never>;
|
|
800
|
-
}
|
|
801
|
-
|
|
802
664
|
/**
|
|
803
665
|
* Abstract Base Registry
|
|
804
666
|
* Base class for all registries with common functionality
|
|
@@ -1537,7 +1399,7 @@ declare class AXComposerService {
|
|
|
1537
1399
|
private readonly _editMessage;
|
|
1538
1400
|
readonly replyMessage: _angular_core.Signal<AXMessage>;
|
|
1539
1401
|
readonly editMessage: _angular_core.Signal<AXMessage>;
|
|
1540
|
-
readonly activeConversation: _angular_core.Signal<
|
|
1402
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
1541
1403
|
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
1542
1404
|
/** Active component being shown in composer (full-width mode) */
|
|
1543
1405
|
private readonly _activeComponent;
|
|
@@ -1609,214 +1471,219 @@ declare class AXComposerService {
|
|
|
1609
1471
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXComposerService>;
|
|
1610
1472
|
}
|
|
1611
1473
|
|
|
1612
|
-
declare class
|
|
1613
|
-
private
|
|
1614
|
-
protected readonly config: Required<_acorex_components_conversation2.AXConversationConfig>;
|
|
1615
|
-
/** Custom CSS class */
|
|
1616
|
-
readonly customClass: _angular_core.InputSignal<string>;
|
|
1617
|
-
/** Loading state */
|
|
1618
|
-
readonly loading: _angular_core.Signal<boolean>;
|
|
1619
|
-
/** Error state */
|
|
1620
|
-
readonly error: _angular_core.Signal<Error>;
|
|
1621
|
-
/** Active conversation */
|
|
1622
|
-
readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
|
|
1623
|
-
/** Container CSS classes */
|
|
1624
|
-
readonly containerClasses: _angular_core.Signal<string>;
|
|
1625
|
-
closeActiveConversation(): void;
|
|
1626
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
|
|
1627
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationContainerComponent, "ax-conversation-container", never, { "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; }, {}, never, ["ax-conversation-sidebar, [ax-conversation-sidebar]", "ax-conversation-info-bar, [ax-conversation-info-bar]", "ax-conversation-message-list, [ax-conversation-message-list]", "ax-conversation-composer, [ax-conversation-composer]", "ax-conversation-empty"], true, never>;
|
|
1628
|
-
}
|
|
1629
|
-
|
|
1630
|
-
declare class AXConversationContainerDirective {
|
|
1631
|
-
private readonly conversationService;
|
|
1632
|
-
/** Active conversation */
|
|
1633
|
-
readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
|
|
1634
|
-
/** Loading state */
|
|
1635
|
-
readonly loading: _angular_core.Signal<boolean>;
|
|
1636
|
-
/** Error state */
|
|
1637
|
-
readonly error: _angular_core.Signal<Error>;
|
|
1638
|
-
closeActiveConversation(): void;
|
|
1639
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerDirective, never>;
|
|
1640
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
|
|
1641
|
-
}
|
|
1642
|
-
|
|
1643
|
-
interface DropdownMenuItem {
|
|
1644
|
-
id: string;
|
|
1645
|
-
label: string;
|
|
1646
|
-
icon?: string;
|
|
1647
|
-
disabled?: boolean;
|
|
1648
|
-
divider?: boolean;
|
|
1649
|
-
destructive?: boolean;
|
|
1650
|
-
shortcut?: string;
|
|
1651
|
-
}
|
|
1652
|
-
declare class AXInfoBarComponent {
|
|
1474
|
+
declare class AXComposerComponent implements OnDestroy {
|
|
1475
|
+
#private;
|
|
1653
1476
|
private readonly conversationService;
|
|
1654
|
-
private readonly
|
|
1655
|
-
|
|
1477
|
+
private readonly messageApi;
|
|
1478
|
+
private readonly composerService;
|
|
1479
|
+
private readonly messageListService;
|
|
1480
|
+
private readonly popupService;
|
|
1481
|
+
private readonly config;
|
|
1482
|
+
private readonly translation;
|
|
1483
|
+
/** Access registry through conversation service */
|
|
1484
|
+
private get registry();
|
|
1485
|
+
/** Input element reference */
|
|
1486
|
+
private readonly inputElementRef;
|
|
1487
|
+
/** Draft text - use service */
|
|
1488
|
+
readonly draftText: _angular_core.WritableSignal<string>;
|
|
1489
|
+
/** Attachments - use service */
|
|
1490
|
+
readonly attachments: _angular_core.WritableSignal<File[]>;
|
|
1491
|
+
/** Editing message */
|
|
1492
|
+
readonly editingMessage: _angular_core.WritableSignal<any>;
|
|
1493
|
+
/** Replying to message */
|
|
1494
|
+
readonly replyingToMessage: _angular_core.WritableSignal<AXMessage>;
|
|
1495
|
+
/** Show typing indicator - use service */
|
|
1496
|
+
readonly showTypingIndicator: _angular_core.WritableSignal<boolean>;
|
|
1497
|
+
/** Message sent event */
|
|
1498
|
+
readonly messageSent: _angular_core.OutputEmitterRef<AXSendMessageCommand>;
|
|
1499
|
+
/** Emoji clicked event */
|
|
1500
|
+
readonly emojiClick: _angular_core.OutputEmitterRef<void>;
|
|
1501
|
+
/** Attach clicked event */
|
|
1502
|
+
readonly attachClick: _angular_core.OutputEmitterRef<void>;
|
|
1503
|
+
/** Voice clicked event */
|
|
1504
|
+
readonly voiceClick: _angular_core.OutputEmitterRef<void>;
|
|
1656
1505
|
/** Active conversation */
|
|
1657
1506
|
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
1507
|
+
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
1658
1508
|
/** Active component from service */
|
|
1659
|
-
readonly activeComponent: _angular_core.Signal<
|
|
1660
|
-
/**
|
|
1661
|
-
readonly
|
|
1662
|
-
|
|
1663
|
-
readonly
|
|
1664
|
-
/**
|
|
1665
|
-
readonly
|
|
1666
|
-
/**
|
|
1667
|
-
readonly
|
|
1668
|
-
/**
|
|
1669
|
-
readonly
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
/**
|
|
1673
|
-
readonly
|
|
1674
|
-
/**
|
|
1675
|
-
readonly
|
|
1676
|
-
/**
|
|
1677
|
-
readonly
|
|
1678
|
-
/**
|
|
1679
|
-
readonly
|
|
1680
|
-
/**
|
|
1681
|
-
|
|
1682
|
-
/**
|
|
1683
|
-
|
|
1684
|
-
/**
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
/** Handle
|
|
1689
|
-
|
|
1690
|
-
/** Handle
|
|
1691
|
-
|
|
1692
|
-
/**
|
|
1693
|
-
|
|
1694
|
-
/**
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
/** Handle
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
/** Handle
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1509
|
+
readonly activeComponent: _angular_core.Signal<AXComposerActiveComponent>;
|
|
1510
|
+
/** Emoji popover state */
|
|
1511
|
+
private readonly emojiPopoverRef;
|
|
1512
|
+
readonly emojiPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
1513
|
+
readonly composerPopupComponent: typeof AXComposerPopupComponent;
|
|
1514
|
+
/** Input placeholder - use service */
|
|
1515
|
+
readonly placeholder: _angular_core.Signal<string>;
|
|
1516
|
+
/** Sending message state */
|
|
1517
|
+
readonly sendingMessage: _angular_core.WritableSignal<boolean>;
|
|
1518
|
+
/** Typing indicator subject for rate limiting */
|
|
1519
|
+
private readonly typingSubject;
|
|
1520
|
+
constructor();
|
|
1521
|
+
private draftSaveTimeout?;
|
|
1522
|
+
/** Number of input rows - use service */
|
|
1523
|
+
readonly inputRows: _angular_core.Signal<number>;
|
|
1524
|
+
/** Can send message - use service */
|
|
1525
|
+
readonly canSend: _angular_core.Signal<boolean>;
|
|
1526
|
+
/** Left actions from registry - use service */
|
|
1527
|
+
readonly leftActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
1528
|
+
/** Right actions from registry - use service */
|
|
1529
|
+
readonly rightActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
1530
|
+
/** Left inline actions (location = 'inline' or undefined) */
|
|
1531
|
+
readonly leftInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
1532
|
+
/** Left menu actions (location = 'menu') */
|
|
1533
|
+
readonly leftMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
1534
|
+
/** Right inline actions (location = 'inline' or undefined) */
|
|
1535
|
+
readonly rightInlineActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
1536
|
+
/** Right menu actions (location = 'menu') */
|
|
1537
|
+
readonly rightMenuActions: _angular_core.Signal<_acorex_components_conversation2.AXComposerAction[]>;
|
|
1538
|
+
/** Handle key down */
|
|
1539
|
+
onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
|
|
1540
|
+
/** Handle input */
|
|
1541
|
+
onInput(): void;
|
|
1542
|
+
/** Send typing indicator (throttled via RxJS) */
|
|
1543
|
+
private sendTypingIndicator;
|
|
1544
|
+
/** Cleanup on destroy */
|
|
1545
|
+
ngOnDestroy(): void;
|
|
1546
|
+
/** Handle send click */
|
|
1547
|
+
onSendClick(): Promise<void>;
|
|
1548
|
+
/** Handle emoji click */
|
|
1549
|
+
onEmojiClick(event?: MouseEvent): Promise<void>;
|
|
1550
|
+
/** Handle emoji popover closed */
|
|
1551
|
+
onEmojiPopoverClosed(): void;
|
|
1552
|
+
/** Handle emoji/sticker selection from popup */
|
|
1553
|
+
onEmojiItemSelected(item: string | AXStickerPayload): void;
|
|
1554
|
+
/** Send sticker message */
|
|
1555
|
+
private sendSticker;
|
|
1556
|
+
/** Get inputs for emoji popup component */
|
|
1557
|
+
getEmojiPopupInputs(): Record<string, unknown>;
|
|
1558
|
+
/** Handle attach click */
|
|
1559
|
+
onAttachClick(): void;
|
|
1560
|
+
/** Handle voice click */
|
|
1561
|
+
onVoiceClick(): void;
|
|
1562
|
+
/** Remove attachment */
|
|
1563
|
+
removeAttachment(index: number): void;
|
|
1564
|
+
/** Files selected via uploader */
|
|
1565
|
+
onFilesSelected(e: AXUploaderChangedEvent): Promise<void>;
|
|
1566
|
+
/**
|
|
1567
|
+
* Validate file before upload
|
|
1568
|
+
* @param file - File to validate
|
|
1569
|
+
* @throws {Error} If file is invalid
|
|
1570
|
+
*/
|
|
1571
|
+
private validateFile;
|
|
1572
|
+
/** Cancel edit/reply mode */
|
|
1573
|
+
cancelEditReply(): void;
|
|
1574
|
+
/** Reset all composer states (used when switching conversations) */
|
|
1575
|
+
private resetComposerState;
|
|
1576
|
+
/** Start editing a message */
|
|
1577
|
+
startEdit(message: any): void;
|
|
1578
|
+
/** Start replying to a message */
|
|
1579
|
+
startReply(message: AXMessage): void;
|
|
1580
|
+
/** Handle action click */
|
|
1581
|
+
onActionClick(actionId: string, event?: MouseEvent): Promise<void>;
|
|
1582
|
+
/** Check if action is enabled */
|
|
1583
|
+
isActionEnabled(action: any): boolean;
|
|
1584
|
+
/** Get replying sender name */
|
|
1585
|
+
getReplyingSenderName(): string;
|
|
1586
|
+
getActionLabel(action: {
|
|
1587
|
+
label: string;
|
|
1588
|
+
}): string;
|
|
1589
|
+
/** Get replying message text */
|
|
1590
|
+
getReplyingMessageText(): string;
|
|
1591
|
+
/** Preview object for replying banner (type, icon, value) */
|
|
1592
|
+
getReplyingPreview(): {
|
|
1593
|
+
value: string;
|
|
1594
|
+
type: string;
|
|
1595
|
+
icon: string;
|
|
1596
|
+
} | null;
|
|
1597
|
+
/** Preview object for editing banner (type, icon, value) */
|
|
1598
|
+
getEditingPreview(): {
|
|
1599
|
+
value: string;
|
|
1600
|
+
type: string;
|
|
1601
|
+
icon: string;
|
|
1602
|
+
} | null;
|
|
1603
|
+
/** Handle reply preview click - scroll to original message */
|
|
1604
|
+
onReplyPreviewClick(): void;
|
|
1605
|
+
/** Get inputs for dynamic component */
|
|
1606
|
+
getComponentInputs(): Record<string, unknown>;
|
|
1607
|
+
onEnter(event: AXHtmlEvent<KeyboardEvent>): Promise<void>;
|
|
1608
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXComposerComponent, never>;
|
|
1609
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXComposerComponent, "ax-conversation-composer", never, {}, { "messageSent": "messageSent"; "emojiClick": "emojiClick"; "attachClick": "attachClick"; "voiceClick": "voiceClick"; }, never, never, true, never>;
|
|
1706
1610
|
}
|
|
1707
1611
|
|
|
1708
1612
|
/**
|
|
1709
|
-
*
|
|
1613
|
+
* Conversation Configuration Interface
|
|
1614
|
+
* Centralized configuration values to avoid magic numbers
|
|
1710
1615
|
*/
|
|
1711
|
-
interface AXInfoBarActiveComponent {
|
|
1712
|
-
/** Action that triggered this component */
|
|
1713
|
-
action: AXInfoBarAction;
|
|
1714
|
-
/** Component to render */
|
|
1715
|
-
component: Type<unknown>;
|
|
1716
|
-
/** Component inputs */
|
|
1717
|
-
inputs?: Record<string, unknown>;
|
|
1718
|
-
}
|
|
1719
|
-
interface AXInfoBarActiveBanner {
|
|
1720
|
-
/** Message that owns this banner */
|
|
1721
|
-
message: AXMessage;
|
|
1722
|
-
/** Banner component */
|
|
1723
|
-
component: Type<AXMessageInfoBarBannerComponent>;
|
|
1724
|
-
/** Additional component inputs (only keys that match declared `input()` on the banner) */
|
|
1725
|
-
inputs?: Record<string, unknown>;
|
|
1726
|
-
/** Callback invoked when the banner is dismissed (e.g. pause playback) */
|
|
1727
|
-
onClose?: () => void;
|
|
1728
|
-
}
|
|
1729
1616
|
/**
|
|
1730
|
-
*
|
|
1731
|
-
* Manages info bar state and actions
|
|
1617
|
+
* Main configuration interface for the conversation component
|
|
1732
1618
|
*/
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
/**
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
/**
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
* Hide the active component
|
|
1776
|
-
*/
|
|
1777
|
-
hideComponent(): void;
|
|
1778
|
-
/**
|
|
1779
|
-
* Show message-owned banner under info-bar if renderer provides one
|
|
1780
|
-
*/
|
|
1781
|
-
showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
|
|
1782
|
-
/**
|
|
1783
|
-
* Update active banner inputs for a specific message
|
|
1784
|
-
*/
|
|
1785
|
-
updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
|
|
1786
|
-
/**
|
|
1787
|
-
* Hide active banner. If messageId is provided, hide only when it matches.
|
|
1788
|
-
*/
|
|
1789
|
-
hideMessageBanner(messageId?: string): void;
|
|
1790
|
-
isMessageBannerActive(messageId: string): boolean;
|
|
1791
|
-
/**
|
|
1792
|
-
* Toggle component visibility
|
|
1793
|
-
*/
|
|
1794
|
-
toggleComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
|
|
1795
|
-
/**
|
|
1796
|
-
* Set search query
|
|
1797
|
-
*/
|
|
1798
|
-
setSearchQuery(query: string): void;
|
|
1799
|
-
/**
|
|
1800
|
-
* Set search results
|
|
1801
|
-
*/
|
|
1802
|
-
setSearchResults(count: number, currentIndex?: number): void;
|
|
1803
|
-
/**
|
|
1804
|
-
* Navigate to next search result
|
|
1805
|
-
*/
|
|
1806
|
-
nextSearchResult(): void;
|
|
1807
|
-
/**
|
|
1808
|
-
* Navigate to previous search result
|
|
1809
|
-
*/
|
|
1810
|
-
previousSearchResult(): void;
|
|
1619
|
+
interface AXConversationConfig {
|
|
1620
|
+
/** Number of messages to load per page */
|
|
1621
|
+
messagePageSize?: number;
|
|
1622
|
+
/** Number of conversations to load per page */
|
|
1623
|
+
conversationPageSize?: number;
|
|
1624
|
+
/** Scroll threshold for detecting scroll events */
|
|
1625
|
+
scrollThreshold?: number;
|
|
1626
|
+
/** Infinite scroll threshold */
|
|
1627
|
+
infiniteScrollThreshold?: number;
|
|
1628
|
+
/** Typing indicator timeout in milliseconds */
|
|
1629
|
+
typingIndicatorTimeout?: number;
|
|
1630
|
+
/** Typing indicator throttle in milliseconds (for rate limiting) */
|
|
1631
|
+
typingIndicatorThrottle?: number;
|
|
1632
|
+
/** Message highlight duration in milliseconds */
|
|
1633
|
+
messageHighlightDuration?: number;
|
|
1634
|
+
/** Search debounce delay in milliseconds */
|
|
1635
|
+
debounceSearch?: number;
|
|
1636
|
+
/** Date separator inactivity fade delay in milliseconds */
|
|
1637
|
+
/** Maximum messages per conversation */
|
|
1638
|
+
maxMessagesPerConversation?: number;
|
|
1639
|
+
/** Maximum total messages in store */
|
|
1640
|
+
maxTotalMessages?: number;
|
|
1641
|
+
/** Maximum cached conversations */
|
|
1642
|
+
maxCachedConversations?: number;
|
|
1643
|
+
/** Minimum sidebar width in pixels */
|
|
1644
|
+
minSidebarWidth?: number;
|
|
1645
|
+
/** Maximum sidebar width in pixels */
|
|
1646
|
+
maxSidebarWidth?: number;
|
|
1647
|
+
/** Default sidebar width in pixels */
|
|
1648
|
+
defaultSidebarWidth?: number;
|
|
1649
|
+
/** Filter cache size */
|
|
1650
|
+
filterCacheSize?: number;
|
|
1651
|
+
/** Maximum file size in bytes */
|
|
1652
|
+
maxFileSize?: number;
|
|
1653
|
+
/** Allowed file types (glob patterns like 'image/*') */
|
|
1654
|
+
allowedFileTypes?: string[];
|
|
1655
|
+
/** Maximum message length in characters */
|
|
1656
|
+
maxMessageLength?: number;
|
|
1657
|
+
/** Minimum message length in characters */
|
|
1658
|
+
minMessageLength?: number;
|
|
1659
|
+
/** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
|
|
1660
|
+
messageReadThreshold?: number;
|
|
1811
1661
|
/**
|
|
1812
|
-
*
|
|
1662
|
+
* CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
|
|
1663
|
+
* Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
|
|
1664
|
+
* Empty string = library default soft gradient. `transparent` or `none` = flat background.
|
|
1813
1665
|
*/
|
|
1814
|
-
|
|
1815
|
-
private _extractOnClose;
|
|
1816
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarService, never>;
|
|
1817
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXInfoBarService>;
|
|
1666
|
+
messageListBackground?: string;
|
|
1818
1667
|
}
|
|
1819
1668
|
|
|
1669
|
+
/**
|
|
1670
|
+
* Default Configuration Values
|
|
1671
|
+
* Centralized defaults to avoid magic numbers throughout the codebase
|
|
1672
|
+
*/
|
|
1673
|
+
|
|
1674
|
+
/**
|
|
1675
|
+
* Default conversation configuration
|
|
1676
|
+
* All values are explicitly defined here for easy maintenance and documentation
|
|
1677
|
+
*/
|
|
1678
|
+
declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
|
|
1679
|
+
/**
|
|
1680
|
+
* Helper function to merge user config with defaults
|
|
1681
|
+
* Properly handles array merging to avoid reference issues
|
|
1682
|
+
* @param userConfig - User-provided configuration
|
|
1683
|
+
* @returns Merged configuration with all required fields
|
|
1684
|
+
*/
|
|
1685
|
+
declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
|
|
1686
|
+
|
|
1820
1687
|
/**
|
|
1821
1688
|
* Shared API Types
|
|
1822
1689
|
* Common types used across all API services
|
|
@@ -2729,393 +2596,735 @@ interface AXCallEvent {
|
|
|
2729
2596
|
* }
|
|
2730
2597
|
* ```
|
|
2731
2598
|
*/
|
|
2732
|
-
declare abstract class AXRealtimeApi {
|
|
2599
|
+
declare abstract class AXRealtimeApi {
|
|
2600
|
+
/**
|
|
2601
|
+
* Current connection status
|
|
2602
|
+
* Emit connection status changes through this observable
|
|
2603
|
+
*/
|
|
2604
|
+
abstract readonly connectionStatus$: Observable<AXConnectionStatus>;
|
|
2605
|
+
/**
|
|
2606
|
+
* Connect to real-time server
|
|
2607
|
+
* Establish WebSocket/SSE connection
|
|
2608
|
+
*
|
|
2609
|
+
* @param options - Connection options
|
|
2610
|
+
* @throws {Error} If connection fails
|
|
2611
|
+
*/
|
|
2612
|
+
abstract connect(options?: AXConnectionOptions): Promise<void>;
|
|
2613
|
+
/**
|
|
2614
|
+
* Disconnect from real-time server
|
|
2615
|
+
* Close connection and clean up resources
|
|
2616
|
+
*/
|
|
2617
|
+
abstract disconnect(): Promise<void>;
|
|
2618
|
+
/**
|
|
2619
|
+
* Check if currently connected
|
|
2620
|
+
*
|
|
2621
|
+
* @returns True if connected
|
|
2622
|
+
*/
|
|
2623
|
+
abstract isConnected(): boolean;
|
|
2624
|
+
/**
|
|
2625
|
+
* Reconnect to server
|
|
2626
|
+
* Manually trigger reconnection
|
|
2627
|
+
*/
|
|
2628
|
+
abstract reconnect(): Promise<void>;
|
|
2629
|
+
/**
|
|
2630
|
+
* Subscribe to connection events
|
|
2631
|
+
*
|
|
2632
|
+
* @returns Observable of connection events
|
|
2633
|
+
*/
|
|
2634
|
+
abstract subscribeToConnectionEvents(): Observable<AXConnectionEvent>;
|
|
2635
|
+
/**
|
|
2636
|
+
* Subscribe to new messages in a conversation
|
|
2637
|
+
*
|
|
2638
|
+
* @param conversationId - Conversation ID (empty string for all conversations)
|
|
2639
|
+
* @returns Observable stream of new messages
|
|
2640
|
+
*/
|
|
2641
|
+
abstract subscribeToMessages(conversationId: string): Observable<AXMessage>;
|
|
2642
|
+
/**
|
|
2643
|
+
* Subscribe to message updates (edits, status changes)
|
|
2644
|
+
*
|
|
2645
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2646
|
+
* @returns Observable stream of updated messages
|
|
2647
|
+
*/
|
|
2648
|
+
abstract subscribeToMessageUpdates(conversationId?: string): Observable<AXMessage>;
|
|
2649
|
+
/**
|
|
2650
|
+
* Subscribe to message deletions
|
|
2651
|
+
*
|
|
2652
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2653
|
+
* @returns Observable stream of deleted message IDs
|
|
2654
|
+
*/
|
|
2655
|
+
abstract subscribeToMessageDeletions(conversationId?: string): Observable<string>;
|
|
2656
|
+
/**
|
|
2657
|
+
* Subscribe to message reactions
|
|
2658
|
+
*
|
|
2659
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2660
|
+
* @returns Observable stream of updated messages with reactions
|
|
2661
|
+
*/
|
|
2662
|
+
abstract subscribeToMessageReactions(conversationId?: string): Observable<AXMessage>;
|
|
2663
|
+
/**
|
|
2664
|
+
* Subscribe to conversation updates
|
|
2665
|
+
* Fires when conversation details change (title, avatar, participants, etc.)
|
|
2666
|
+
*
|
|
2667
|
+
* @returns Observable stream of updated conversations
|
|
2668
|
+
*/
|
|
2669
|
+
abstract subscribeToConversationUpdates(): Observable<AXConversation>;
|
|
2670
|
+
/**
|
|
2671
|
+
* Subscribe to conversation creation
|
|
2672
|
+
* Fires when user is added to a new conversation
|
|
2673
|
+
*
|
|
2674
|
+
* @returns Observable stream of new conversations
|
|
2675
|
+
*/
|
|
2676
|
+
abstract subscribeToConversationCreated(): Observable<AXConversation>;
|
|
2677
|
+
/**
|
|
2678
|
+
* Subscribe to conversation deletion
|
|
2679
|
+
* Fires when a conversation is deleted
|
|
2680
|
+
*
|
|
2681
|
+
* @returns Observable stream of deleted conversation IDs
|
|
2682
|
+
*/
|
|
2683
|
+
abstract subscribeToConversationDeleted(): Observable<string>;
|
|
2684
|
+
/**
|
|
2685
|
+
* Subscribe to typing indicators
|
|
2686
|
+
*
|
|
2687
|
+
* @param conversationId - Conversation ID (empty string for all conversations)
|
|
2688
|
+
* @returns Observable stream of typing indicators
|
|
2689
|
+
*/
|
|
2690
|
+
abstract subscribeToTypingIndicators(conversationId: string): Observable<AXTypingIndicator>;
|
|
2691
|
+
/**
|
|
2692
|
+
* Subscribe to presence updates (online/offline status)
|
|
2693
|
+
*
|
|
2694
|
+
* @param userIds - Optional array of user IDs to filter (empty for all users)
|
|
2695
|
+
* @returns Observable stream of presence updates
|
|
2696
|
+
*/
|
|
2697
|
+
abstract subscribeToPresenceUpdates(userIds?: string[]): Observable<AXPresenceUpdate>;
|
|
2698
|
+
/**
|
|
2699
|
+
* Subscribe to read receipt updates
|
|
2700
|
+
* Fires when someone reads messages
|
|
2701
|
+
*
|
|
2702
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2703
|
+
* @returns Observable stream of message IDs that were read
|
|
2704
|
+
*/
|
|
2705
|
+
abstract subscribeToReadReceipts(conversationId?: string): Observable<{
|
|
2706
|
+
messageId: string;
|
|
2707
|
+
userId: string;
|
|
2708
|
+
readAt: Date;
|
|
2709
|
+
}>;
|
|
2710
|
+
/**
|
|
2711
|
+
* Subscribe to push notifications
|
|
2712
|
+
* Fires for mentions, calls, and other important events
|
|
2713
|
+
*
|
|
2714
|
+
* @returns Observable stream of notification events
|
|
2715
|
+
*/
|
|
2716
|
+
abstract subscribeToNotifications(): Observable<AXNotificationEvent>;
|
|
2717
|
+
/**
|
|
2718
|
+
* Subscribe to call events
|
|
2719
|
+
* Fires for incoming/outgoing calls
|
|
2720
|
+
*
|
|
2721
|
+
* @returns Observable stream of call events
|
|
2722
|
+
*/
|
|
2723
|
+
abstract subscribeToCallEvents?(): Observable<AXCallEvent>;
|
|
2724
|
+
/**
|
|
2725
|
+
* Subscribe to user blocked/unblocked events
|
|
2726
|
+
*
|
|
2727
|
+
* @returns Observable stream of user IDs and block status
|
|
2728
|
+
*/
|
|
2729
|
+
abstract subscribeToUserBlockEvents(): Observable<{
|
|
2730
|
+
userId: string;
|
|
2731
|
+
blocked: boolean;
|
|
2732
|
+
}>;
|
|
2733
|
+
/**
|
|
2734
|
+
* Subscribe to participant added/removed events
|
|
2735
|
+
*
|
|
2736
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2737
|
+
* @returns Observable stream of participant changes
|
|
2738
|
+
*/
|
|
2739
|
+
abstract subscribeToParticipantEvents(conversationId?: string): Observable<{
|
|
2740
|
+
conversationId: string;
|
|
2741
|
+
userId: string;
|
|
2742
|
+
action: 'added' | 'removed';
|
|
2743
|
+
}>;
|
|
2744
|
+
/**
|
|
2745
|
+
* Subscribe to system events
|
|
2746
|
+
* Fires for maintenance, updates, or other system-wide events
|
|
2747
|
+
*
|
|
2748
|
+
* @returns Observable stream of system events
|
|
2749
|
+
*/
|
|
2750
|
+
abstract subscribeToSystemEvents(): Observable<{
|
|
2751
|
+
type: string;
|
|
2752
|
+
message: string;
|
|
2753
|
+
data?: unknown;
|
|
2754
|
+
}>;
|
|
2755
|
+
/**
|
|
2756
|
+
* Subscribe to message status changes
|
|
2757
|
+
* Fires when message status changes (sending -> sent -> delivered -> read)
|
|
2758
|
+
*
|
|
2759
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2760
|
+
* @returns Observable stream of message status updates
|
|
2761
|
+
*/
|
|
2762
|
+
abstract subscribeToMessageStatusChanges(conversationId?: string): Observable<{
|
|
2763
|
+
messageId: string;
|
|
2764
|
+
status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
|
|
2765
|
+
timestamp: Date;
|
|
2766
|
+
}>;
|
|
2767
|
+
/**
|
|
2768
|
+
* Subscribe to conversation settings changes
|
|
2769
|
+
* Fires when conversation settings are updated
|
|
2770
|
+
*
|
|
2771
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2772
|
+
* @returns Observable stream of settings updates
|
|
2773
|
+
*/
|
|
2774
|
+
abstract subscribeToConversationSettingsChanges(conversationId?: string): Observable<{
|
|
2775
|
+
conversationId: string;
|
|
2776
|
+
settings: Record<string, unknown>;
|
|
2777
|
+
}>;
|
|
2778
|
+
/**
|
|
2779
|
+
* Subscribe to draft changes
|
|
2780
|
+
* Fires when draft is saved/updated in a conversation
|
|
2781
|
+
*
|
|
2782
|
+
* @param conversationId - Optional conversation ID to filter
|
|
2783
|
+
* @returns Observable stream of draft updates
|
|
2784
|
+
*/
|
|
2785
|
+
abstract subscribeToDraftChanges(conversationId?: string): Observable<{
|
|
2786
|
+
conversationId: string;
|
|
2787
|
+
draft: string | null;
|
|
2788
|
+
}>;
|
|
2789
|
+
}
|
|
2790
|
+
|
|
2791
|
+
/**
|
|
2792
|
+
* Abstract User Management API
|
|
2793
|
+
* Handle user profile management and user operations for conversations
|
|
2794
|
+
*/
|
|
2795
|
+
|
|
2796
|
+
/**
|
|
2797
|
+
* User profile update data
|
|
2798
|
+
*/
|
|
2799
|
+
interface AXUserProfileUpdate {
|
|
2800
|
+
/** Display name */
|
|
2801
|
+
name?: string;
|
|
2802
|
+
/** Avatar URL */
|
|
2803
|
+
avatar?: string;
|
|
2804
|
+
/** Short line under the name in lists (e.g. job title) */
|
|
2805
|
+
description?: string;
|
|
2806
|
+
/** Bio/status text */
|
|
2807
|
+
bio?: string;
|
|
2808
|
+
/** Phone number */
|
|
2809
|
+
phone?: string;
|
|
2810
|
+
/** Email */
|
|
2811
|
+
email?: string;
|
|
2812
|
+
/** Custom fields */
|
|
2813
|
+
custom?: Record<string, unknown>;
|
|
2814
|
+
}
|
|
2815
|
+
/**
|
|
2816
|
+
* User search filters
|
|
2817
|
+
*/
|
|
2818
|
+
interface AXUserSearchFilters {
|
|
2819
|
+
/** Search query */
|
|
2820
|
+
query?: string;
|
|
2821
|
+
/** Filter by online status */
|
|
2822
|
+
onlineOnly?: boolean;
|
|
2823
|
+
/** Exclude blocked users */
|
|
2824
|
+
excludeBlocked?: boolean;
|
|
2825
|
+
/** Limit results */
|
|
2826
|
+
limit?: number;
|
|
2827
|
+
}
|
|
2828
|
+
/**
|
|
2829
|
+
* Block/Report reason
|
|
2830
|
+
*/
|
|
2831
|
+
interface AXBlockReportReason {
|
|
2832
|
+
/** Reason code */
|
|
2833
|
+
code: string;
|
|
2834
|
+
/** Description */
|
|
2835
|
+
description?: string;
|
|
2836
|
+
}
|
|
2837
|
+
/**
|
|
2838
|
+
* Abstract User Management API
|
|
2839
|
+
*
|
|
2840
|
+
* Implement this abstract class to handle user management for conversations.
|
|
2841
|
+
*
|
|
2842
|
+
* @example
|
|
2843
|
+
* ```typescript
|
|
2844
|
+
* @Injectable()
|
|
2845
|
+
* export class MyUserApi extends AXUserApi {
|
|
2846
|
+
* constructor(private http: HttpClient) {
|
|
2847
|
+
* super();
|
|
2848
|
+
* }
|
|
2849
|
+
*
|
|
2850
|
+
* async getCurrentUser(): Promise<AXParticipant> {
|
|
2851
|
+
* const response = await this.http.get('/api/users/me').toPromise();
|
|
2852
|
+
* return response;
|
|
2853
|
+
* }
|
|
2854
|
+
*
|
|
2855
|
+
* // ... implement other methods
|
|
2856
|
+
* }
|
|
2857
|
+
* ```
|
|
2858
|
+
*/
|
|
2859
|
+
declare abstract class AXUserApi {
|
|
2733
2860
|
/**
|
|
2734
|
-
*
|
|
2735
|
-
*
|
|
2861
|
+
* Get current authenticated user
|
|
2862
|
+
*
|
|
2863
|
+
* @returns Current user information
|
|
2864
|
+
* @throws {AXApiError} If user is not authenticated
|
|
2736
2865
|
*/
|
|
2737
|
-
abstract
|
|
2866
|
+
abstract getCurrentUser(): Promise<AXParticipant>;
|
|
2738
2867
|
/**
|
|
2739
|
-
*
|
|
2740
|
-
* Establish WebSocket/SSE connection
|
|
2868
|
+
* Update current user profile
|
|
2741
2869
|
*
|
|
2742
|
-
* @param
|
|
2743
|
-
* @
|
|
2870
|
+
* @param updates - Profile updates
|
|
2871
|
+
* @returns Updated user information
|
|
2872
|
+
* @throws {AXApiError} If update fails
|
|
2744
2873
|
*/
|
|
2745
|
-
abstract
|
|
2874
|
+
abstract updateProfile(updates: AXUserProfileUpdate): Promise<AXParticipant>;
|
|
2746
2875
|
/**
|
|
2747
|
-
*
|
|
2748
|
-
*
|
|
2876
|
+
* Upload user avatar
|
|
2877
|
+
*
|
|
2878
|
+
* @param file - Avatar image file
|
|
2879
|
+
* @returns Avatar URL
|
|
2880
|
+
* @throws {AXApiError} If upload fails
|
|
2749
2881
|
*/
|
|
2750
|
-
abstract
|
|
2882
|
+
abstract uploadAvatar(file: File): Promise<string>;
|
|
2751
2883
|
/**
|
|
2752
|
-
*
|
|
2884
|
+
* Get available users for conversation creation
|
|
2753
2885
|
*
|
|
2754
|
-
* @
|
|
2886
|
+
* @param filters - Search filters
|
|
2887
|
+
* @returns List of users
|
|
2888
|
+
* @throws {AXApiError} If request fails
|
|
2755
2889
|
*/
|
|
2756
|
-
abstract
|
|
2890
|
+
abstract getUsers(filters?: AXUserSearchFilters): Promise<AXParticipant[]>;
|
|
2757
2891
|
/**
|
|
2758
|
-
*
|
|
2759
|
-
*
|
|
2892
|
+
* Search users by query
|
|
2893
|
+
*
|
|
2894
|
+
* @param query - Search query
|
|
2895
|
+
* @returns Matching users
|
|
2896
|
+
* @throws {AXApiError} If search fails
|
|
2760
2897
|
*/
|
|
2761
|
-
abstract
|
|
2898
|
+
abstract searchUsers(query: string): Promise<AXParticipant[]>;
|
|
2762
2899
|
/**
|
|
2763
|
-
*
|
|
2900
|
+
* Get user by ID
|
|
2764
2901
|
*
|
|
2765
|
-
* @
|
|
2902
|
+
* @param userId - User ID
|
|
2903
|
+
* @returns User information
|
|
2904
|
+
* @throws {AXApiError} If user not found
|
|
2766
2905
|
*/
|
|
2767
|
-
abstract
|
|
2906
|
+
abstract getUserById(userId: string): Promise<AXParticipant>;
|
|
2768
2907
|
/**
|
|
2769
|
-
*
|
|
2908
|
+
* Get multiple users by IDs
|
|
2770
2909
|
*
|
|
2771
|
-
* @param
|
|
2772
|
-
* @returns
|
|
2910
|
+
* @param userIds - Array of user IDs
|
|
2911
|
+
* @returns Array of users
|
|
2912
|
+
* @throws {AXApiError} If request fails
|
|
2773
2913
|
*/
|
|
2774
|
-
abstract
|
|
2914
|
+
abstract getUsersByIds(userIds: string[]): Promise<AXParticipant[]>;
|
|
2775
2915
|
/**
|
|
2776
|
-
*
|
|
2916
|
+
* Get user presence status
|
|
2777
2917
|
*
|
|
2778
|
-
* @param
|
|
2779
|
-
* @returns
|
|
2918
|
+
* @param userId - User ID
|
|
2919
|
+
* @returns Presence information
|
|
2920
|
+
* @throws {AXApiError} If request fails
|
|
2780
2921
|
*/
|
|
2781
|
-
abstract
|
|
2922
|
+
abstract getUserPresence(userId: string): Promise<AXPresenceUpdate>;
|
|
2782
2923
|
/**
|
|
2783
|
-
*
|
|
2924
|
+
* Update current user presence
|
|
2784
2925
|
*
|
|
2785
|
-
* @param
|
|
2786
|
-
* @
|
|
2926
|
+
* @param status - Presence status
|
|
2927
|
+
* @param statusText - Optional status text
|
|
2928
|
+
* @throws {AXApiError} If update fails
|
|
2787
2929
|
*/
|
|
2788
|
-
abstract
|
|
2930
|
+
abstract updatePresence(status: AXPresenceStatus, statusText?: string): Promise<void>;
|
|
2789
2931
|
/**
|
|
2790
|
-
*
|
|
2932
|
+
* Block a user
|
|
2791
2933
|
*
|
|
2792
|
-
* @param
|
|
2793
|
-
* @
|
|
2934
|
+
* @param userId - User ID to block
|
|
2935
|
+
* @param reason - Optional reason
|
|
2936
|
+
* @throws {AXApiError} If blocking fails
|
|
2794
2937
|
*/
|
|
2795
|
-
abstract
|
|
2938
|
+
abstract blockUser(userId: string, reason?: AXBlockReportReason): Promise<void>;
|
|
2796
2939
|
/**
|
|
2797
|
-
*
|
|
2798
|
-
* Fires when conversation details change (title, avatar, participants, etc.)
|
|
2940
|
+
* Unblock a user
|
|
2799
2941
|
*
|
|
2800
|
-
* @
|
|
2942
|
+
* @param userId - User ID to unblock
|
|
2943
|
+
* @throws {AXApiError} If unblocking fails
|
|
2801
2944
|
*/
|
|
2802
|
-
abstract
|
|
2945
|
+
abstract unblockUser(userId: string): Promise<void>;
|
|
2803
2946
|
/**
|
|
2804
|
-
*
|
|
2805
|
-
* Fires when user is added to a new conversation
|
|
2947
|
+
* Get list of blocked users
|
|
2806
2948
|
*
|
|
2807
|
-
* @returns
|
|
2949
|
+
* @returns Array of blocked user IDs
|
|
2950
|
+
* @throws {AXApiError} If request fails
|
|
2808
2951
|
*/
|
|
2809
|
-
abstract
|
|
2952
|
+
abstract getBlockedUsers(): Promise<string[]>;
|
|
2810
2953
|
/**
|
|
2811
|
-
*
|
|
2812
|
-
* Fires when a conversation is deleted
|
|
2954
|
+
* Report a user
|
|
2813
2955
|
*
|
|
2814
|
-
* @
|
|
2956
|
+
* @param userId - User ID to report
|
|
2957
|
+
* @param reason - Report reason
|
|
2958
|
+
* @throws {AXApiError} If reporting fails
|
|
2815
2959
|
*/
|
|
2816
|
-
abstract
|
|
2960
|
+
abstract reportUser(userId: string, reason: AXBlockReportReason): Promise<void>;
|
|
2817
2961
|
/**
|
|
2818
|
-
*
|
|
2962
|
+
* Get user settings
|
|
2819
2963
|
*
|
|
2820
|
-
* @
|
|
2821
|
-
* @
|
|
2964
|
+
* @returns User settings
|
|
2965
|
+
* @throws {AXApiError} If request fails
|
|
2822
2966
|
*/
|
|
2823
|
-
abstract
|
|
2967
|
+
abstract getUserSettings(): Promise<Record<string, unknown>>;
|
|
2824
2968
|
/**
|
|
2825
|
-
*
|
|
2969
|
+
* Update user settings
|
|
2826
2970
|
*
|
|
2827
|
-
* @param
|
|
2828
|
-
* @
|
|
2971
|
+
* @param settings - Settings to update
|
|
2972
|
+
* @throws {AXApiError} If update fails
|
|
2829
2973
|
*/
|
|
2830
|
-
abstract
|
|
2974
|
+
abstract updateUserSettings(settings: Record<string, unknown>): Promise<void>;
|
|
2831
2975
|
/**
|
|
2832
|
-
*
|
|
2833
|
-
*
|
|
2976
|
+
* Create an API error
|
|
2977
|
+
* Helper method for consistent error creation
|
|
2834
2978
|
*
|
|
2835
|
-
* @param
|
|
2836
|
-
* @
|
|
2979
|
+
* @param code - Error code
|
|
2980
|
+
* @param message - Error message
|
|
2981
|
+
* @param statusCode - HTTP status code
|
|
2982
|
+
* @param details - Additional details
|
|
2983
|
+
* @returns API error object
|
|
2837
2984
|
*/
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2985
|
+
protected createError(code: string, message: string, statusCode?: number, details?: unknown): AXApiError;
|
|
2986
|
+
}
|
|
2987
|
+
|
|
2988
|
+
/**
|
|
2989
|
+
* Error severity levels
|
|
2990
|
+
*/
|
|
2991
|
+
type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
|
|
2992
|
+
/**
|
|
2993
|
+
* Conversation error event
|
|
2994
|
+
*/
|
|
2995
|
+
interface AXConversationError {
|
|
2996
|
+
/** Error code */
|
|
2997
|
+
code: string;
|
|
2998
|
+
/** Error message */
|
|
2999
|
+
message: string;
|
|
3000
|
+
/** Severity level */
|
|
3001
|
+
severity: AXErrorSeverity;
|
|
3002
|
+
/** Source operation */
|
|
3003
|
+
operation: string;
|
|
3004
|
+
/** Original error */
|
|
3005
|
+
originalError?: unknown;
|
|
3006
|
+
/** HTTP status code (if applicable) */
|
|
3007
|
+
statusCode?: number;
|
|
3008
|
+
/** Additional context */
|
|
3009
|
+
context?: Record<string, unknown>;
|
|
3010
|
+
/** Timestamp */
|
|
3011
|
+
timestamp: Date;
|
|
3012
|
+
/** Whether error was handled */
|
|
3013
|
+
handled: boolean;
|
|
3014
|
+
/** Recovery suggestions */
|
|
3015
|
+
recoverySuggestions?: string[];
|
|
3016
|
+
}
|
|
3017
|
+
/**
|
|
3018
|
+
* Error Handler Configuration
|
|
3019
|
+
*/
|
|
3020
|
+
interface AXErrorHandlerConfig {
|
|
3021
|
+
/** Log errors to console */
|
|
3022
|
+
logToConsole?: boolean;
|
|
3023
|
+
/** Show user-friendly error messages */
|
|
3024
|
+
showUserMessages?: boolean;
|
|
3025
|
+
/** Retry failed operations automatically */
|
|
3026
|
+
autoRetry?: boolean;
|
|
3027
|
+
/** Number of retry attempts */
|
|
3028
|
+
maxRetries?: number;
|
|
3029
|
+
/** Custom error handler */
|
|
3030
|
+
customHandler?: (error: AXConversationError) => void;
|
|
3031
|
+
}
|
|
3032
|
+
/**
|
|
3033
|
+
* Error Handler Service
|
|
3034
|
+
*/
|
|
3035
|
+
declare class AXErrorHandlerService {
|
|
3036
|
+
private readonly injectedConfig;
|
|
3037
|
+
private readonly _errors$;
|
|
3038
|
+
private readonly _config;
|
|
3039
|
+
/** Error stream */
|
|
3040
|
+
readonly errors$: rxjs.Observable<AXConversationError>;
|
|
3041
|
+
constructor();
|
|
2843
3042
|
/**
|
|
2844
|
-
*
|
|
2845
|
-
* Fires for mentions, calls, and other important events
|
|
2846
|
-
*
|
|
2847
|
-
* @returns Observable stream of notification events
|
|
3043
|
+
* Configure error handler
|
|
2848
3044
|
*/
|
|
2849
|
-
|
|
3045
|
+
configure(config: Partial<AXErrorHandlerConfig>): void;
|
|
2850
3046
|
/**
|
|
2851
|
-
*
|
|
2852
|
-
* Fires for incoming/outgoing calls
|
|
2853
|
-
*
|
|
2854
|
-
* @returns Observable stream of call events
|
|
3047
|
+
* Handle an error
|
|
2855
3048
|
*/
|
|
2856
|
-
|
|
3049
|
+
handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
2857
3050
|
/**
|
|
2858
|
-
*
|
|
2859
|
-
*
|
|
2860
|
-
* @returns Observable stream of user IDs and block status
|
|
3051
|
+
* Handle API error (same pipeline as {@link handle}, for typed API failures)
|
|
2861
3052
|
*/
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
3053
|
+
handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
3054
|
+
private publish;
|
|
3055
|
+
/**
|
|
3056
|
+
* Normalize any error to conversation error format (does not publish — use {@link handle})
|
|
3057
|
+
*/
|
|
3058
|
+
private normalizeError;
|
|
3059
|
+
private conversationErrorFromApi;
|
|
3060
|
+
private isApiError;
|
|
3061
|
+
/**
|
|
3062
|
+
* Determine severity based on status code
|
|
3063
|
+
*/
|
|
3064
|
+
private determineSeverity;
|
|
3065
|
+
/**
|
|
3066
|
+
* Get recovery suggestions based on error
|
|
3067
|
+
*/
|
|
3068
|
+
private getRecoverySuggestions;
|
|
3069
|
+
/**
|
|
3070
|
+
* Get default recovery suggestions
|
|
3071
|
+
*/
|
|
3072
|
+
private getDefaultRecoverySuggestions;
|
|
2866
3073
|
/**
|
|
2867
|
-
*
|
|
2868
|
-
*
|
|
2869
|
-
* @param conversationId - Optional conversation ID to filter
|
|
2870
|
-
* @returns Observable stream of participant changes
|
|
3074
|
+
* Log error to console
|
|
2871
3075
|
*/
|
|
2872
|
-
|
|
2873
|
-
conversationId: string;
|
|
2874
|
-
userId: string;
|
|
2875
|
-
action: 'added' | 'removed';
|
|
2876
|
-
}>;
|
|
3076
|
+
private logError;
|
|
2877
3077
|
/**
|
|
2878
|
-
*
|
|
2879
|
-
* Fires for maintenance, updates, or other system-wide events
|
|
2880
|
-
*
|
|
2881
|
-
* @returns Observable stream of system events
|
|
3078
|
+
* Get user-friendly error message
|
|
2882
3079
|
*/
|
|
2883
|
-
|
|
2884
|
-
type: string;
|
|
2885
|
-
message: string;
|
|
2886
|
-
data?: unknown;
|
|
2887
|
-
}>;
|
|
3080
|
+
getUserFriendlyMessage(error: AXConversationError): string;
|
|
2888
3081
|
/**
|
|
2889
|
-
*
|
|
2890
|
-
* Fires when message status changes (sending -> sent -> delivered -> read)
|
|
2891
|
-
*
|
|
2892
|
-
* @param conversationId - Optional conversation ID to filter
|
|
2893
|
-
* @returns Observable stream of message status updates
|
|
3082
|
+
* Check if error is retryable
|
|
2894
3083
|
*/
|
|
2895
|
-
|
|
2896
|
-
messageId: string;
|
|
2897
|
-
status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
|
|
2898
|
-
timestamp: Date;
|
|
2899
|
-
}>;
|
|
3084
|
+
isRetryable(error: AXConversationError): boolean;
|
|
2900
3085
|
/**
|
|
2901
|
-
*
|
|
2902
|
-
*
|
|
2903
|
-
*
|
|
2904
|
-
* @param
|
|
2905
|
-
* @returns
|
|
3086
|
+
* Execute an operation with automatic retry logic
|
|
3087
|
+
* @param operation - The async operation to execute
|
|
3088
|
+
* @param operationName - Name of the operation for error tracking
|
|
3089
|
+
* @param context - Additional context for error handling
|
|
3090
|
+
* @returns Promise resolving to the operation result
|
|
3091
|
+
* @throws {AXConversationError} If all retries fail
|
|
2906
3092
|
*/
|
|
2907
|
-
|
|
2908
|
-
conversationId: string;
|
|
2909
|
-
settings: Record<string, unknown>;
|
|
2910
|
-
}>;
|
|
3093
|
+
executeWithRetry<T>(operation: () => Promise<T>, operationName: string, context?: Record<string, unknown>): Promise<T>;
|
|
2911
3094
|
/**
|
|
2912
|
-
*
|
|
2913
|
-
*
|
|
2914
|
-
*
|
|
2915
|
-
* @param conversationId - Optional conversation ID to filter
|
|
2916
|
-
* @returns Observable stream of draft updates
|
|
3095
|
+
* Delay helper for retry backoff
|
|
3096
|
+
* @param ms - Milliseconds to delay
|
|
2917
3097
|
*/
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
}>;
|
|
3098
|
+
private delay;
|
|
3099
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXErrorHandlerService, never>;
|
|
3100
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXErrorHandlerService>;
|
|
2922
3101
|
}
|
|
2923
3102
|
|
|
2924
3103
|
/**
|
|
2925
|
-
*
|
|
2926
|
-
*
|
|
3104
|
+
* Dependency Injection Tokens
|
|
3105
|
+
* InjectionTokens for configuration and dependencies
|
|
2927
3106
|
*/
|
|
2928
3107
|
|
|
2929
3108
|
/**
|
|
2930
|
-
*
|
|
3109
|
+
* Configuration token for conversation component
|
|
3110
|
+
* Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
|
|
2931
3111
|
*/
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
3112
|
+
declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
|
|
3113
|
+
/**
|
|
3114
|
+
* Token for configuring AXErrorHandlerService
|
|
3115
|
+
*/
|
|
3116
|
+
declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
|
|
3117
|
+
|
|
3118
|
+
/**
|
|
3119
|
+
* Registry Configuration Tokens
|
|
3120
|
+
* Injection tokens for configuring default registry values
|
|
3121
|
+
*/
|
|
3122
|
+
|
|
3123
|
+
/**
|
|
3124
|
+
* Additional message renderers configuration
|
|
3125
|
+
* Provide this token to add custom message renderers in addition to built-in ones
|
|
3126
|
+
* Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
|
|
3127
|
+
*/
|
|
3128
|
+
declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
|
|
3129
|
+
/**
|
|
3130
|
+
* Default message actions configuration
|
|
3131
|
+
* Provide this token to override default message actions
|
|
3132
|
+
*/
|
|
3133
|
+
declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
|
|
3134
|
+
/**
|
|
3135
|
+
* Default composer tabs configuration
|
|
3136
|
+
* Provide this token to override default composer tabs (emoji, stickers, etc.)
|
|
3137
|
+
*/
|
|
3138
|
+
declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
|
|
3139
|
+
/**
|
|
3140
|
+
* Default composer actions configuration
|
|
3141
|
+
* Provide this token to override default composer actions (attach, voice, etc.)
|
|
3142
|
+
*/
|
|
3143
|
+
declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
|
|
3144
|
+
/**
|
|
3145
|
+
* Default conversation tabs configuration
|
|
3146
|
+
* Provide this token to override default conversation tabs (all, private, groups, etc.)
|
|
3147
|
+
*/
|
|
3148
|
+
declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
|
|
3149
|
+
/**
|
|
3150
|
+
* Default info bar actions configuration
|
|
3151
|
+
* Provide this token to override default info bar actions (mute, archive, block, etc.)
|
|
3152
|
+
*/
|
|
3153
|
+
declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
|
|
3154
|
+
/**
|
|
3155
|
+
* Default conversation item actions configuration
|
|
3156
|
+
* Provide this token to override default conversation item actions (mute, delete, archive, etc.)
|
|
3157
|
+
*/
|
|
3158
|
+
declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
|
|
3159
|
+
/**
|
|
3160
|
+
* Registry configuration interface
|
|
3161
|
+
*/
|
|
3162
|
+
interface AXRegistryConfiguration {
|
|
3163
|
+
/**
|
|
3164
|
+
* Additional message renderers to register (built-in renderers are automatic).
|
|
3165
|
+
* Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
|
|
3166
|
+
*/
|
|
3167
|
+
messageRenderers?: AXMessageRenderer[];
|
|
3168
|
+
/** Message actions to register by default */
|
|
3169
|
+
messageActions?: AXMessageAction[];
|
|
3170
|
+
/** Composer tabs to register by default */
|
|
3171
|
+
composerTabs?: AXComposerTab[];
|
|
3172
|
+
/** Composer actions to register by default */
|
|
3173
|
+
composerActions?: AXComposerAction[];
|
|
3174
|
+
/** Conversation tabs to register by default */
|
|
3175
|
+
conversationTabs?: AXConversationTab[];
|
|
3176
|
+
/** Info bar actions to register by default */
|
|
3177
|
+
infoBarActions?: AXInfoBarAction[];
|
|
3178
|
+
/** Conversation item actions to register by default */
|
|
3179
|
+
conversationItemActions?: AXConversationItemAction[];
|
|
2947
3180
|
}
|
|
2948
3181
|
/**
|
|
2949
|
-
*
|
|
3182
|
+
* Complete registry configuration token
|
|
3183
|
+
* Provide this for comprehensive registry configuration
|
|
2950
3184
|
*/
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
/**
|
|
2957
|
-
|
|
2958
|
-
/**
|
|
2959
|
-
|
|
3185
|
+
declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
|
|
3186
|
+
|
|
3187
|
+
declare class AXConversationContainerComponent {
|
|
3188
|
+
private readonly conversationService;
|
|
3189
|
+
protected readonly config: Required<AXConversationConfig>;
|
|
3190
|
+
/** Custom CSS class */
|
|
3191
|
+
readonly customClass: _angular_core.InputSignal<string>;
|
|
3192
|
+
/** Loading state */
|
|
3193
|
+
readonly loading: _angular_core.Signal<boolean>;
|
|
3194
|
+
/** Error state */
|
|
3195
|
+
readonly error: _angular_core.Signal<Error>;
|
|
3196
|
+
/** Active conversation */
|
|
3197
|
+
readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
|
|
3198
|
+
/** Container CSS classes */
|
|
3199
|
+
readonly containerClasses: _angular_core.Signal<string>;
|
|
3200
|
+
closeActiveConversation(): void;
|
|
3201
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
|
|
3202
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationContainerComponent, "ax-conversation-container", never, { "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; }, {}, never, ["ax-conversation-sidebar, [ax-conversation-sidebar]", "ax-conversation-info-bar, [ax-conversation-info-bar]", "ax-conversation-message-list, [ax-conversation-message-list]", "ax-conversation-composer, [ax-conversation-composer]", "ax-conversation-empty"], true, never>;
|
|
3203
|
+
}
|
|
3204
|
+
|
|
3205
|
+
declare class AXConversationContainerDirective {
|
|
3206
|
+
private readonly conversationService;
|
|
3207
|
+
/** Active conversation */
|
|
3208
|
+
readonly activeConversation: _angular_core.Signal<_acorex_components_conversation2.AXConversation>;
|
|
3209
|
+
/** Loading state */
|
|
3210
|
+
readonly loading: _angular_core.Signal<boolean>;
|
|
3211
|
+
/** Error state */
|
|
3212
|
+
readonly error: _angular_core.Signal<Error>;
|
|
3213
|
+
closeActiveConversation(): void;
|
|
3214
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerDirective, never>;
|
|
3215
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXConversationContainerDirective, "[axConversationContainer]", never, {}, {}, never, never, true, never>;
|
|
2960
3216
|
}
|
|
3217
|
+
|
|
2961
3218
|
/**
|
|
2962
|
-
*
|
|
3219
|
+
* Active component state in info-bar
|
|
2963
3220
|
*/
|
|
2964
|
-
interface
|
|
2965
|
-
/**
|
|
2966
|
-
|
|
2967
|
-
/**
|
|
2968
|
-
|
|
3221
|
+
interface AXInfoBarActiveComponent {
|
|
3222
|
+
/** Action that triggered this component */
|
|
3223
|
+
action: AXInfoBarAction;
|
|
3224
|
+
/** Component to render */
|
|
3225
|
+
component: Type<unknown>;
|
|
3226
|
+
/** Component inputs */
|
|
3227
|
+
inputs?: Record<string, unknown>;
|
|
3228
|
+
}
|
|
3229
|
+
interface AXInfoBarActiveBanner {
|
|
3230
|
+
/** Message that owns this banner */
|
|
3231
|
+
message: AXMessage;
|
|
3232
|
+
/** Banner component */
|
|
3233
|
+
component: Type<AXMessageInfoBarBannerComponent>;
|
|
3234
|
+
/** Additional component inputs (only keys that match declared `input()` on the banner) */
|
|
3235
|
+
inputs?: Record<string, unknown>;
|
|
3236
|
+
/** Callback invoked when the banner is dismissed (e.g. pause playback) */
|
|
3237
|
+
onClose?: () => void;
|
|
2969
3238
|
}
|
|
2970
3239
|
/**
|
|
2971
|
-
*
|
|
2972
|
-
*
|
|
2973
|
-
* Implement this abstract class to handle user management for conversations.
|
|
2974
|
-
*
|
|
2975
|
-
* @example
|
|
2976
|
-
* ```typescript
|
|
2977
|
-
* @Injectable()
|
|
2978
|
-
* export class MyUserApi extends AXUserApi {
|
|
2979
|
-
* constructor(private http: HttpClient) {
|
|
2980
|
-
* super();
|
|
2981
|
-
* }
|
|
2982
|
-
*
|
|
2983
|
-
* async getCurrentUser(): Promise<AXParticipant> {
|
|
2984
|
-
* const response = await this.http.get('/api/users/me').toPromise();
|
|
2985
|
-
* return response;
|
|
2986
|
-
* }
|
|
2987
|
-
*
|
|
2988
|
-
* // ... implement other methods
|
|
2989
|
-
* }
|
|
2990
|
-
* ```
|
|
3240
|
+
* Info Bar Service
|
|
3241
|
+
* Manages info bar state and actions
|
|
2991
3242
|
*/
|
|
2992
|
-
declare
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3243
|
+
declare class AXInfoBarService {
|
|
3244
|
+
private readonly conversationService;
|
|
3245
|
+
private readonly injector;
|
|
3246
|
+
private get registry();
|
|
3247
|
+
/** Active conversation */
|
|
3248
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3249
|
+
/** Active component being shown in info-bar */
|
|
3250
|
+
private readonly _activeComponent;
|
|
3251
|
+
readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
|
|
3252
|
+
/** Active banner shown under info-bar */
|
|
3253
|
+
private readonly _activeBanner;
|
|
3254
|
+
readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
|
|
3255
|
+
/** Search query signal */
|
|
3256
|
+
private readonly _searchQuery;
|
|
3257
|
+
readonly searchQuery: _angular_core.Signal<string>;
|
|
3258
|
+
private readonly _searchResultsCount;
|
|
3259
|
+
readonly searchResultsCount: _angular_core.Signal<number>;
|
|
3260
|
+
/** Current search result index */
|
|
3261
|
+
private readonly _currentSearchIndex;
|
|
3262
|
+
readonly currentSearchIndex: _angular_core.Signal<number>;
|
|
3263
|
+
constructor();
|
|
3000
3264
|
/**
|
|
3001
|
-
*
|
|
3002
|
-
*
|
|
3003
|
-
* @param updates - Profile updates
|
|
3004
|
-
* @returns Updated user information
|
|
3005
|
-
* @throws {AXApiError} If update fails
|
|
3265
|
+
* Get actions for the active conversation
|
|
3006
3266
|
*/
|
|
3007
|
-
|
|
3267
|
+
getActionsForConversation(conversation: AXConversation): AXInfoBarAction[];
|
|
3008
3268
|
/**
|
|
3009
|
-
*
|
|
3010
|
-
*
|
|
3011
|
-
* @param file - Avatar image file
|
|
3012
|
-
* @returns Avatar URL
|
|
3013
|
-
* @throws {AXApiError} If upload fails
|
|
3269
|
+
* Execute an action
|
|
3014
3270
|
*/
|
|
3015
|
-
|
|
3271
|
+
executeAction(actionId: string, conversation: AXConversation, data?: Record<string, unknown>): Promise<void>;
|
|
3016
3272
|
/**
|
|
3017
|
-
* Get
|
|
3018
|
-
*
|
|
3019
|
-
* @param filters - Search filters
|
|
3020
|
-
* @returns List of users
|
|
3021
|
-
* @throws {AXApiError} If request fails
|
|
3273
|
+
* Get action label
|
|
3022
3274
|
*/
|
|
3023
|
-
|
|
3275
|
+
getActionLabel(action: AXInfoBarAction, conversation: AXConversation): string;
|
|
3024
3276
|
/**
|
|
3025
|
-
*
|
|
3026
|
-
*
|
|
3027
|
-
* @param query - Search query
|
|
3028
|
-
* @returns Matching users
|
|
3029
|
-
* @throws {AXApiError} If search fails
|
|
3277
|
+
* Get action icon
|
|
3030
3278
|
*/
|
|
3031
|
-
|
|
3279
|
+
getActionIcon(action: AXInfoBarAction, conversation: AXConversation): string | undefined;
|
|
3032
3280
|
/**
|
|
3033
|
-
*
|
|
3034
|
-
*
|
|
3035
|
-
* @param userId - User ID
|
|
3036
|
-
* @returns User information
|
|
3037
|
-
* @throws {AXApiError} If user not found
|
|
3281
|
+
* Show a component in the info-bar
|
|
3038
3282
|
*/
|
|
3039
|
-
|
|
3283
|
+
showComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
|
|
3040
3284
|
/**
|
|
3041
|
-
*
|
|
3042
|
-
*
|
|
3043
|
-
* @param userIds - Array of user IDs
|
|
3044
|
-
* @returns Array of users
|
|
3045
|
-
* @throws {AXApiError} If request fails
|
|
3285
|
+
* Hide the active component
|
|
3046
3286
|
*/
|
|
3047
|
-
|
|
3287
|
+
hideComponent(): void;
|
|
3048
3288
|
/**
|
|
3049
|
-
*
|
|
3050
|
-
*
|
|
3051
|
-
* @param userId - User ID
|
|
3052
|
-
* @returns Presence information
|
|
3053
|
-
* @throws {AXApiError} If request fails
|
|
3289
|
+
* Show message-owned banner under info-bar if renderer provides one
|
|
3054
3290
|
*/
|
|
3055
|
-
|
|
3291
|
+
showMessageBanner(message: AXMessage, inputs?: Record<string, unknown>): void;
|
|
3056
3292
|
/**
|
|
3057
|
-
* Update
|
|
3058
|
-
*
|
|
3059
|
-
* @param status - Presence status
|
|
3060
|
-
* @param statusText - Optional status text
|
|
3061
|
-
* @throws {AXApiError} If update fails
|
|
3293
|
+
* Update active banner inputs for a specific message
|
|
3062
3294
|
*/
|
|
3063
|
-
|
|
3295
|
+
updateMessageBannerInputs(messageId: string, inputs: Record<string, unknown>): void;
|
|
3064
3296
|
/**
|
|
3065
|
-
*
|
|
3066
|
-
*
|
|
3067
|
-
* @param userId - User ID to block
|
|
3068
|
-
* @param reason - Optional reason
|
|
3069
|
-
* @throws {AXApiError} If blocking fails
|
|
3297
|
+
* Hide active banner. If messageId is provided, hide only when it matches.
|
|
3070
3298
|
*/
|
|
3071
|
-
|
|
3299
|
+
hideMessageBanner(messageId?: string): void;
|
|
3300
|
+
isMessageBannerActive(messageId: string): boolean;
|
|
3072
3301
|
/**
|
|
3073
|
-
*
|
|
3074
|
-
*
|
|
3075
|
-
* @param userId - User ID to unblock
|
|
3076
|
-
* @throws {AXApiError} If unblocking fails
|
|
3302
|
+
* Toggle component visibility
|
|
3077
3303
|
*/
|
|
3078
|
-
|
|
3304
|
+
toggleComponent(action: AXInfoBarAction, inputs?: Record<string, unknown>): void;
|
|
3079
3305
|
/**
|
|
3080
|
-
*
|
|
3081
|
-
*
|
|
3082
|
-
* @returns Array of blocked user IDs
|
|
3083
|
-
* @throws {AXApiError} If request fails
|
|
3306
|
+
* Set search query
|
|
3084
3307
|
*/
|
|
3085
|
-
|
|
3308
|
+
setSearchQuery(query: string): void;
|
|
3086
3309
|
/**
|
|
3087
|
-
*
|
|
3088
|
-
*
|
|
3089
|
-
* @param userId - User ID to report
|
|
3090
|
-
* @param reason - Report reason
|
|
3091
|
-
* @throws {AXApiError} If reporting fails
|
|
3310
|
+
* Set search results
|
|
3092
3311
|
*/
|
|
3093
|
-
|
|
3312
|
+
setSearchResults(count: number, currentIndex?: number): void;
|
|
3094
3313
|
/**
|
|
3095
|
-
*
|
|
3096
|
-
*
|
|
3097
|
-
* @returns User settings
|
|
3098
|
-
* @throws {AXApiError} If request fails
|
|
3314
|
+
* Navigate to next search result
|
|
3099
3315
|
*/
|
|
3100
|
-
|
|
3316
|
+
nextSearchResult(): void;
|
|
3101
3317
|
/**
|
|
3102
|
-
*
|
|
3103
|
-
*
|
|
3104
|
-
* @param settings - Settings to update
|
|
3105
|
-
* @throws {AXApiError} If update fails
|
|
3318
|
+
* Navigate to previous search result
|
|
3106
3319
|
*/
|
|
3107
|
-
|
|
3320
|
+
previousSearchResult(): void;
|
|
3108
3321
|
/**
|
|
3109
|
-
*
|
|
3110
|
-
* Helper method for consistent error creation
|
|
3111
|
-
*
|
|
3112
|
-
* @param code - Error code
|
|
3113
|
-
* @param message - Error message
|
|
3114
|
-
* @param statusCode - HTTP status code
|
|
3115
|
-
* @param details - Additional details
|
|
3116
|
-
* @returns API error object
|
|
3322
|
+
* Clear search
|
|
3117
3323
|
*/
|
|
3118
|
-
|
|
3324
|
+
clearSearch(): void;
|
|
3325
|
+
private _extractOnClose;
|
|
3326
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarService, never>;
|
|
3327
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXInfoBarService>;
|
|
3119
3328
|
}
|
|
3120
3329
|
|
|
3121
3330
|
/**
|
|
@@ -3196,9 +3405,9 @@ declare class AXConversationService {
|
|
|
3196
3405
|
/** Error state */
|
|
3197
3406
|
readonly error: _angular_core.Signal<Error>;
|
|
3198
3407
|
/** Connection status */
|
|
3199
|
-
readonly connectionStatus$: rxjs.Observable<
|
|
3408
|
+
readonly connectionStatus$: rxjs.Observable<AXConnectionStatus>;
|
|
3200
3409
|
/** Error stream */
|
|
3201
|
-
readonly errors$: rxjs.Observable<
|
|
3410
|
+
readonly errors$: rxjs.Observable<AXConversationError>;
|
|
3202
3411
|
readonly onMessageReceived: rxjs.Observable<AXMessage>;
|
|
3203
3412
|
readonly onMessageUpdated: rxjs.Observable<AXMessage>;
|
|
3204
3413
|
readonly onMessageDeleted: rxjs.Observable<string>;
|
|
@@ -3210,7 +3419,7 @@ declare class AXConversationService {
|
|
|
3210
3419
|
type: "reply" | "forward";
|
|
3211
3420
|
}>;
|
|
3212
3421
|
private _currentUser;
|
|
3213
|
-
readonly currentUser: _angular_core.Signal<
|
|
3422
|
+
readonly currentUser: _angular_core.Signal<AXParticipant>;
|
|
3214
3423
|
constructor();
|
|
3215
3424
|
/**
|
|
3216
3425
|
* Initialize the service
|
|
@@ -3523,140 +3732,25 @@ declare class AXConversationService {
|
|
|
3523
3732
|
*/
|
|
3524
3733
|
unblockUser(userId: string): Promise<void>;
|
|
3525
3734
|
/**
|
|
3526
|
-
* Get blocked users
|
|
3527
|
-
* @returns Array of blocked user IDs
|
|
3528
|
-
*/
|
|
3529
|
-
getBlockedUsers(): Promise<string[]>;
|
|
3530
|
-
/**
|
|
3531
|
-
* Update user presence
|
|
3532
|
-
* @param status - Presence status
|
|
3533
|
-
* @param statusText - Optional status text
|
|
3534
|
-
*/
|
|
3535
|
-
updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
|
|
3536
|
-
/**
|
|
3537
|
-
* Validate message content before sending
|
|
3538
|
-
* Uses centralized validation utilities for consistency
|
|
3539
|
-
* @param command - Message command to validate
|
|
3540
|
-
* @throws {Error} If message content is invalid
|
|
3541
|
-
*/
|
|
3542
|
-
private validateMessageContent;
|
|
3543
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
|
|
3544
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
|
|
3545
|
-
}
|
|
3546
|
-
|
|
3547
|
-
/**
|
|
3548
|
-
* Error severity levels
|
|
3549
|
-
*/
|
|
3550
|
-
type AXErrorSeverity = 'info' | 'warning' | 'error' | 'critical';
|
|
3551
|
-
/**
|
|
3552
|
-
* Conversation error event
|
|
3553
|
-
*/
|
|
3554
|
-
interface AXConversationError {
|
|
3555
|
-
/** Error code */
|
|
3556
|
-
code: string;
|
|
3557
|
-
/** Error message */
|
|
3558
|
-
message: string;
|
|
3559
|
-
/** Severity level */
|
|
3560
|
-
severity: AXErrorSeverity;
|
|
3561
|
-
/** Source operation */
|
|
3562
|
-
operation: string;
|
|
3563
|
-
/** Original error */
|
|
3564
|
-
originalError?: unknown;
|
|
3565
|
-
/** HTTP status code (if applicable) */
|
|
3566
|
-
statusCode?: number;
|
|
3567
|
-
/** Additional context */
|
|
3568
|
-
context?: Record<string, unknown>;
|
|
3569
|
-
/** Timestamp */
|
|
3570
|
-
timestamp: Date;
|
|
3571
|
-
/** Whether error was handled */
|
|
3572
|
-
handled: boolean;
|
|
3573
|
-
/** Recovery suggestions */
|
|
3574
|
-
recoverySuggestions?: string[];
|
|
3575
|
-
}
|
|
3576
|
-
/**
|
|
3577
|
-
* Error Handler Configuration
|
|
3578
|
-
*/
|
|
3579
|
-
interface AXErrorHandlerConfig {
|
|
3580
|
-
/** Log errors to console */
|
|
3581
|
-
logToConsole?: boolean;
|
|
3582
|
-
/** Show user-friendly error messages */
|
|
3583
|
-
showUserMessages?: boolean;
|
|
3584
|
-
/** Retry failed operations automatically */
|
|
3585
|
-
autoRetry?: boolean;
|
|
3586
|
-
/** Number of retry attempts */
|
|
3587
|
-
maxRetries?: number;
|
|
3588
|
-
/** Custom error handler */
|
|
3589
|
-
customHandler?: (error: AXConversationError) => void;
|
|
3590
|
-
}
|
|
3591
|
-
/**
|
|
3592
|
-
* Error Handler Service
|
|
3593
|
-
*/
|
|
3594
|
-
declare class AXErrorHandlerService {
|
|
3595
|
-
private readonly injectedConfig;
|
|
3596
|
-
private readonly _errors$;
|
|
3597
|
-
private readonly _config;
|
|
3598
|
-
/** Error stream */
|
|
3599
|
-
readonly errors$: rxjs.Observable<AXConversationError>;
|
|
3600
|
-
constructor();
|
|
3601
|
-
/**
|
|
3602
|
-
* Configure error handler
|
|
3603
|
-
*/
|
|
3604
|
-
configure(config: Partial<AXErrorHandlerConfig>): void;
|
|
3605
|
-
/**
|
|
3606
|
-
* Handle an error
|
|
3607
|
-
*/
|
|
3608
|
-
handle(error: unknown, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
3609
|
-
/**
|
|
3610
|
-
* Handle API error (same pipeline as {@link handle}, for typed API failures)
|
|
3611
|
-
*/
|
|
3612
|
-
handleApiError(apiError: AXApiError, operation: string, context?: Record<string, unknown>): AXConversationError;
|
|
3613
|
-
private publish;
|
|
3614
|
-
/**
|
|
3615
|
-
* Normalize any error to conversation error format (does not publish — use {@link handle})
|
|
3616
|
-
*/
|
|
3617
|
-
private normalizeError;
|
|
3618
|
-
private conversationErrorFromApi;
|
|
3619
|
-
private isApiError;
|
|
3620
|
-
/**
|
|
3621
|
-
* Determine severity based on status code
|
|
3622
|
-
*/
|
|
3623
|
-
private determineSeverity;
|
|
3624
|
-
/**
|
|
3625
|
-
* Get recovery suggestions based on error
|
|
3626
|
-
*/
|
|
3627
|
-
private getRecoverySuggestions;
|
|
3628
|
-
/**
|
|
3629
|
-
* Get default recovery suggestions
|
|
3630
|
-
*/
|
|
3631
|
-
private getDefaultRecoverySuggestions;
|
|
3632
|
-
/**
|
|
3633
|
-
* Log error to console
|
|
3634
|
-
*/
|
|
3635
|
-
private logError;
|
|
3636
|
-
/**
|
|
3637
|
-
* Get user-friendly error message
|
|
3638
|
-
*/
|
|
3639
|
-
getUserFriendlyMessage(error: AXConversationError): string;
|
|
3640
|
-
/**
|
|
3641
|
-
* Check if error is retryable
|
|
3735
|
+
* Get blocked users
|
|
3736
|
+
* @returns Array of blocked user IDs
|
|
3642
3737
|
*/
|
|
3643
|
-
|
|
3738
|
+
getBlockedUsers(): Promise<string[]>;
|
|
3644
3739
|
/**
|
|
3645
|
-
*
|
|
3646
|
-
* @param
|
|
3647
|
-
* @param
|
|
3648
|
-
* @param context - Additional context for error handling
|
|
3649
|
-
* @returns Promise resolving to the operation result
|
|
3650
|
-
* @throws {AXConversationError} If all retries fail
|
|
3740
|
+
* Update user presence
|
|
3741
|
+
* @param status - Presence status
|
|
3742
|
+
* @param statusText - Optional status text
|
|
3651
3743
|
*/
|
|
3652
|
-
|
|
3744
|
+
updatePresence(status: 'online' | 'offline' | 'away' | 'busy' | 'invisible', statusText?: string): Promise<void>;
|
|
3653
3745
|
/**
|
|
3654
|
-
*
|
|
3655
|
-
*
|
|
3746
|
+
* Validate message content before sending
|
|
3747
|
+
* Uses centralized validation utilities for consistency
|
|
3748
|
+
* @param command - Message command to validate
|
|
3749
|
+
* @throws {Error} If message content is invalid
|
|
3656
3750
|
*/
|
|
3657
|
-
private
|
|
3658
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
3659
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
3751
|
+
private validateMessageContent;
|
|
3752
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
|
|
3753
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
|
|
3660
3754
|
}
|
|
3661
3755
|
|
|
3662
3756
|
interface FilePreview {
|
|
@@ -3691,6 +3785,71 @@ declare class AXFileUploadService {
|
|
|
3691
3785
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXFileUploadService>;
|
|
3692
3786
|
}
|
|
3693
3787
|
|
|
3788
|
+
interface DropdownMenuItem {
|
|
3789
|
+
id: string;
|
|
3790
|
+
label: string;
|
|
3791
|
+
icon?: string;
|
|
3792
|
+
disabled?: boolean;
|
|
3793
|
+
divider?: boolean;
|
|
3794
|
+
destructive?: boolean;
|
|
3795
|
+
shortcut?: string;
|
|
3796
|
+
}
|
|
3797
|
+
declare class AXInfoBarComponent {
|
|
3798
|
+
private readonly conversationService;
|
|
3799
|
+
private readonly infoBar;
|
|
3800
|
+
protected get registry(): AXRegistryService;
|
|
3801
|
+
/** Active conversation */
|
|
3802
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3803
|
+
/** Active component from service */
|
|
3804
|
+
readonly activeComponent: _angular_core.Signal<AXInfoBarActiveComponent>;
|
|
3805
|
+
/** Active banner from service */
|
|
3806
|
+
readonly activeBanner: _angular_core.Signal<AXInfoBarActiveBanner>;
|
|
3807
|
+
/** Members popover reference */
|
|
3808
|
+
readonly membersPopoverRef: _angular_core.Signal<AXPopoverComponent>;
|
|
3809
|
+
/** Members popover target element */
|
|
3810
|
+
readonly membersPopoverTarget: _angular_core.WritableSignal<HTMLElement>;
|
|
3811
|
+
/** Loading state for async actions */
|
|
3812
|
+
readonly actionLoading: _angular_core.WritableSignal<boolean>;
|
|
3813
|
+
/** Avatar clicked event */
|
|
3814
|
+
readonly avatarClick: _angular_core.OutputEmitterRef<void>;
|
|
3815
|
+
/** Search clicked event */
|
|
3816
|
+
readonly searchClick: _angular_core.OutputEmitterRef<void>;
|
|
3817
|
+
/** Search query changed event */
|
|
3818
|
+
readonly searchQuery: _angular_core.OutputEmitterRef<string>;
|
|
3819
|
+
/** Menu item clicked event */
|
|
3820
|
+
readonly menuItemAction: _angular_core.OutputEmitterRef<string>;
|
|
3821
|
+
/** Inline action buttons from registry */
|
|
3822
|
+
readonly inlineActions: _angular_core.Signal<_acorex_components_conversation2.AXInfoBarAction[]>;
|
|
3823
|
+
/** Dropdown menu items from registry */
|
|
3824
|
+
readonly menuItems: _angular_core.Signal<DropdownMenuItem[]>;
|
|
3825
|
+
/** Get conversation status - delegate to utils */
|
|
3826
|
+
getStatus(conversation: AXConversation): 'online' | 'offline' | 'away' | undefined;
|
|
3827
|
+
/** Get subtitle text - delegate to utils */
|
|
3828
|
+
getSubtitle(conversation: AXConversation): string;
|
|
3829
|
+
/** Get initials from name - delegate to utils */
|
|
3830
|
+
getInitials(name: string): string;
|
|
3831
|
+
getConversationAvatar(conversation: AXConversation): string | undefined;
|
|
3832
|
+
getConversationAvatarIcon(conversation: AXConversation): string | undefined;
|
|
3833
|
+
/** Handle avatar click */
|
|
3834
|
+
onAvatarClick(): void;
|
|
3835
|
+
/** Handle members click - open popover */
|
|
3836
|
+
onMembersClick(event: MouseEvent): void;
|
|
3837
|
+
/** Handle inline action click */
|
|
3838
|
+
onInlineActionClick(actionId: string): Promise<void>;
|
|
3839
|
+
/** Get inputs for dynamic component */
|
|
3840
|
+
getComponentInputs(): Record<string, unknown>;
|
|
3841
|
+
getInlineComponentInputs(): Record<string, unknown>;
|
|
3842
|
+
isActiveComponentFullWidth(): boolean;
|
|
3843
|
+
/** Handle close component */
|
|
3844
|
+
onCloseComponent(): void;
|
|
3845
|
+
getBannerInputs(): Record<string, unknown>;
|
|
3846
|
+
onCloseBanner(): void;
|
|
3847
|
+
/** Handle menu item click */
|
|
3848
|
+
onMenuItemClick(item: DropdownMenuItem): Promise<void>;
|
|
3849
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXInfoBarComponent, never>;
|
|
3850
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXInfoBarComponent, "ax-conversation-info-bar", never, {}, { "avatarClick": "avatarClick"; "searchClick": "searchClick"; "searchQuery": "searchQuery"; "menuItemAction": "menuItemAction"; }, never, ["ax-prefix"], true, never>;
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3694
3853
|
declare class AXForwardMessageDialogComponent implements OnInit {
|
|
3695
3854
|
private readonly toastService;
|
|
3696
3855
|
private readonly translation;
|
|
@@ -3743,7 +3902,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
3743
3902
|
private readonly conversationService;
|
|
3744
3903
|
private readonly messageListService;
|
|
3745
3904
|
private readonly translation;
|
|
3746
|
-
protected readonly config: Required<
|
|
3905
|
+
protected readonly config: Required<AXConversationConfig>;
|
|
3747
3906
|
/**
|
|
3748
3907
|
* Background for the message list scroll area from config, or the built-in soft gradient when unset/empty.
|
|
3749
3908
|
* Set `messageListBackground` to `transparent` or `none` for a flat look.
|
|
@@ -3775,7 +3934,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
3775
3934
|
/** Show scroll to bottom button - use service */
|
|
3776
3935
|
readonly showScrollButton: _angular_core.WritableSignal<boolean>;
|
|
3777
3936
|
/** Active conversation */
|
|
3778
|
-
readonly activeConversation: _angular_core.Signal<
|
|
3937
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3779
3938
|
/** Messages */
|
|
3780
3939
|
readonly messages: _angular_core.Signal<AXMessage[]>;
|
|
3781
3940
|
/** Message action event */
|
|
@@ -3784,7 +3943,7 @@ declare class AXMessageListComponent implements OnDestroy {
|
|
|
3784
3943
|
action: string;
|
|
3785
3944
|
}>;
|
|
3786
3945
|
/** Current user from service */
|
|
3787
|
-
readonly currentUser: _angular_core.Signal<
|
|
3946
|
+
readonly currentUser: _angular_core.Signal<AXParticipant>;
|
|
3788
3947
|
/** Message grouped by date - use service */
|
|
3789
3948
|
readonly messageGroups: _angular_core.Signal<{
|
|
3790
3949
|
date: string;
|
|
@@ -3941,9 +4100,9 @@ declare class AXMessageListService {
|
|
|
3941
4100
|
private readonly conversationService;
|
|
3942
4101
|
private readonly config;
|
|
3943
4102
|
private get registry();
|
|
3944
|
-
readonly activeConversation: _angular_core.Signal<
|
|
4103
|
+
readonly activeConversation: _angular_core.Signal<AXConversation>;
|
|
3945
4104
|
readonly activeMessages: _angular_core.Signal<AXMessage[]>;
|
|
3946
|
-
readonly currentUser: _angular_core.Signal<
|
|
4105
|
+
readonly currentUser: _angular_core.Signal<AXParticipant>;
|
|
3947
4106
|
/** Loading state */
|
|
3948
4107
|
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
3949
4108
|
/** Loading more messages state */
|
|
@@ -4019,7 +4178,7 @@ declare class AXSidebarService {
|
|
|
4019
4178
|
|
|
4020
4179
|
declare class AXSidebarComponent implements OnDestroy {
|
|
4021
4180
|
readonly sidebar: AXSidebarService;
|
|
4022
|
-
protected readonly config: Required<
|
|
4181
|
+
protected readonly config: Required<AXConversationConfig>;
|
|
4023
4182
|
private readonly conversationService;
|
|
4024
4183
|
private readonly popupService;
|
|
4025
4184
|
private readonly translation;
|
|
@@ -4121,165 +4280,6 @@ declare class AXInfiniteScrollDirective {
|
|
|
4121
4280
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AXInfiniteScrollDirective, "[axInfiniteScroll]", never, { "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; "edge": { "alias": "edge"; "required": false; "isSignal": true; }; }, { "scrollThreshold": "scrollThreshold"; }, never, never, true, never>;
|
|
4122
4281
|
}
|
|
4123
4282
|
|
|
4124
|
-
/**
|
|
4125
|
-
* Conversation Configuration Interface
|
|
4126
|
-
* Centralized configuration values to avoid magic numbers
|
|
4127
|
-
*/
|
|
4128
|
-
/**
|
|
4129
|
-
* Main configuration interface for the conversation component
|
|
4130
|
-
*/
|
|
4131
|
-
interface AXConversationConfig {
|
|
4132
|
-
/** Number of messages to load per page */
|
|
4133
|
-
messagePageSize?: number;
|
|
4134
|
-
/** Number of conversations to load per page */
|
|
4135
|
-
conversationPageSize?: number;
|
|
4136
|
-
/** Scroll threshold for detecting scroll events */
|
|
4137
|
-
scrollThreshold?: number;
|
|
4138
|
-
/** Infinite scroll threshold */
|
|
4139
|
-
infiniteScrollThreshold?: number;
|
|
4140
|
-
/** Typing indicator timeout in milliseconds */
|
|
4141
|
-
typingIndicatorTimeout?: number;
|
|
4142
|
-
/** Typing indicator throttle in milliseconds (for rate limiting) */
|
|
4143
|
-
typingIndicatorThrottle?: number;
|
|
4144
|
-
/** Message highlight duration in milliseconds */
|
|
4145
|
-
messageHighlightDuration?: number;
|
|
4146
|
-
/** Search debounce delay in milliseconds */
|
|
4147
|
-
debounceSearch?: number;
|
|
4148
|
-
/** Date separator inactivity fade delay in milliseconds */
|
|
4149
|
-
/** Maximum messages per conversation */
|
|
4150
|
-
maxMessagesPerConversation?: number;
|
|
4151
|
-
/** Maximum total messages in store */
|
|
4152
|
-
maxTotalMessages?: number;
|
|
4153
|
-
/** Maximum cached conversations */
|
|
4154
|
-
maxCachedConversations?: number;
|
|
4155
|
-
/** Minimum sidebar width in pixels */
|
|
4156
|
-
minSidebarWidth?: number;
|
|
4157
|
-
/** Maximum sidebar width in pixels */
|
|
4158
|
-
maxSidebarWidth?: number;
|
|
4159
|
-
/** Default sidebar width in pixels */
|
|
4160
|
-
defaultSidebarWidth?: number;
|
|
4161
|
-
/** Filter cache size */
|
|
4162
|
-
filterCacheSize?: number;
|
|
4163
|
-
/** Maximum file size in bytes */
|
|
4164
|
-
maxFileSize?: number;
|
|
4165
|
-
/** Allowed file types (glob patterns like 'image/*') */
|
|
4166
|
-
allowedFileTypes?: string[];
|
|
4167
|
-
/** Maximum message length in characters */
|
|
4168
|
-
maxMessageLength?: number;
|
|
4169
|
-
/** Minimum message length in characters */
|
|
4170
|
-
minMessageLength?: number;
|
|
4171
|
-
/** Threshold for marking messages as read (0.0 to 1.0, default: 0.3) */
|
|
4172
|
-
messageReadThreshold?: number;
|
|
4173
|
-
/**
|
|
4174
|
-
* CSS `background` for the message list (`ax-conversation-message-list` area, all states: loading, empty, messages).
|
|
4175
|
-
* Use full shorthand, or a bare `https://...` / `/path/to.png` (wrapped as `url(...)` with `center/cover`).
|
|
4176
|
-
* Empty string = library default soft gradient. `transparent` or `none` = flat background.
|
|
4177
|
-
*/
|
|
4178
|
-
messageListBackground?: string;
|
|
4179
|
-
}
|
|
4180
|
-
|
|
4181
|
-
/**
|
|
4182
|
-
* Default Configuration Values
|
|
4183
|
-
* Centralized defaults to avoid magic numbers throughout the codebase
|
|
4184
|
-
*/
|
|
4185
|
-
|
|
4186
|
-
/**
|
|
4187
|
-
* Default conversation configuration
|
|
4188
|
-
* All values are explicitly defined here for easy maintenance and documentation
|
|
4189
|
-
*/
|
|
4190
|
-
declare const AX_DEFAULT_CONVERSATION_CONFIG: Required<AXConversationConfig>;
|
|
4191
|
-
/**
|
|
4192
|
-
* Helper function to merge user config with defaults
|
|
4193
|
-
* Properly handles array merging to avoid reference issues
|
|
4194
|
-
* @param userConfig - User-provided configuration
|
|
4195
|
-
* @returns Merged configuration with all required fields
|
|
4196
|
-
*/
|
|
4197
|
-
declare function mergeWithDefaults(userConfig?: Partial<AXConversationConfig>): Required<AXConversationConfig>;
|
|
4198
|
-
|
|
4199
|
-
/**
|
|
4200
|
-
* Dependency Injection Tokens
|
|
4201
|
-
* InjectionTokens for configuration and dependencies
|
|
4202
|
-
*/
|
|
4203
|
-
|
|
4204
|
-
/**
|
|
4205
|
-
* Configuration token for conversation component
|
|
4206
|
-
* Uses centralized defaults from AX_DEFAULT_CONVERSATION_CONFIG
|
|
4207
|
-
*/
|
|
4208
|
-
declare const CONVERSATION_CONFIG: InjectionToken<Required<AXConversationConfig>>;
|
|
4209
|
-
/**
|
|
4210
|
-
* Token for configuring AXErrorHandlerService
|
|
4211
|
-
*/
|
|
4212
|
-
declare const ERROR_HANDLER_CONFIG: InjectionToken<Partial<AXErrorHandlerConfig>>;
|
|
4213
|
-
|
|
4214
|
-
/**
|
|
4215
|
-
* Registry Configuration Tokens
|
|
4216
|
-
* Injection tokens for configuring default registry values
|
|
4217
|
-
*/
|
|
4218
|
-
|
|
4219
|
-
/**
|
|
4220
|
-
* Additional message renderers configuration
|
|
4221
|
-
* Provide this token to add custom message renderers in addition to built-in ones
|
|
4222
|
-
* Note: Built-in renderers (text, system, fallback) are registered by default; other types are provided via plugins/constants.
|
|
4223
|
-
*/
|
|
4224
|
-
declare const DEFAULT_MESSAGE_RENDERERS: InjectionToken<AXMessageRenderer[]>;
|
|
4225
|
-
/**
|
|
4226
|
-
* Default message actions configuration
|
|
4227
|
-
* Provide this token to override default message actions
|
|
4228
|
-
*/
|
|
4229
|
-
declare const DEFAULT_MESSAGE_ACTIONS: InjectionToken<AXMessageAction[]>;
|
|
4230
|
-
/**
|
|
4231
|
-
* Default composer tabs configuration
|
|
4232
|
-
* Provide this token to override default composer tabs (emoji, stickers, etc.)
|
|
4233
|
-
*/
|
|
4234
|
-
declare const DEFAULT_COMPOSER_TABS: InjectionToken<AXComposerTab[]>;
|
|
4235
|
-
/**
|
|
4236
|
-
* Default composer actions configuration
|
|
4237
|
-
* Provide this token to override default composer actions (attach, voice, etc.)
|
|
4238
|
-
*/
|
|
4239
|
-
declare const DEFAULT_COMPOSER_ACTIONS: InjectionToken<AXComposerAction[]>;
|
|
4240
|
-
/**
|
|
4241
|
-
* Default conversation tabs configuration
|
|
4242
|
-
* Provide this token to override default conversation tabs (all, private, groups, etc.)
|
|
4243
|
-
*/
|
|
4244
|
-
declare const DEFAULT_CONVERSATION_TABS: InjectionToken<AXConversationTab[]>;
|
|
4245
|
-
/**
|
|
4246
|
-
* Default info bar actions configuration
|
|
4247
|
-
* Provide this token to override default info bar actions (mute, archive, block, etc.)
|
|
4248
|
-
*/
|
|
4249
|
-
declare const DEFAULT_INFO_BAR_ACTIONS: InjectionToken<AXInfoBarAction[]>;
|
|
4250
|
-
/**
|
|
4251
|
-
* Default conversation item actions configuration
|
|
4252
|
-
* Provide this token to override default conversation item actions (mute, delete, archive, etc.)
|
|
4253
|
-
*/
|
|
4254
|
-
declare const DEFAULT_CONVERSATION_ITEM_ACTIONS: InjectionToken<AXConversationItemAction[]>;
|
|
4255
|
-
/**
|
|
4256
|
-
* Registry configuration interface
|
|
4257
|
-
*/
|
|
4258
|
-
interface AXRegistryConfiguration {
|
|
4259
|
-
/**
|
|
4260
|
-
* Additional message renderers to register (built-in renderers are automatic).
|
|
4261
|
-
* Each {@link AXMessageRenderer} may include optional `composerActions` for co-located send UX.
|
|
4262
|
-
*/
|
|
4263
|
-
messageRenderers?: AXMessageRenderer[];
|
|
4264
|
-
/** Message actions to register by default */
|
|
4265
|
-
messageActions?: AXMessageAction[];
|
|
4266
|
-
/** Composer tabs to register by default */
|
|
4267
|
-
composerTabs?: AXComposerTab[];
|
|
4268
|
-
/** Composer actions to register by default */
|
|
4269
|
-
composerActions?: AXComposerAction[];
|
|
4270
|
-
/** Conversation tabs to register by default */
|
|
4271
|
-
conversationTabs?: AXConversationTab[];
|
|
4272
|
-
/** Info bar actions to register by default */
|
|
4273
|
-
infoBarActions?: AXInfoBarAction[];
|
|
4274
|
-
/** Conversation item actions to register by default */
|
|
4275
|
-
conversationItemActions?: AXConversationItemAction[];
|
|
4276
|
-
}
|
|
4277
|
-
/**
|
|
4278
|
-
* Complete registry configuration token
|
|
4279
|
-
* Provide this for comprehensive registry configuration
|
|
4280
|
-
*/
|
|
4281
|
-
declare const REGISTRY_CONFIG: InjectionToken<AXRegistryConfiguration>;
|
|
4282
|
-
|
|
4283
4283
|
/**
|
|
4284
4284
|
* IndexedDB Storage Wrapper
|
|
4285
4285
|
* Provides persistent storage for conversation data
|
|
@@ -5010,7 +5010,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
|
|
|
5010
5010
|
value: string;
|
|
5011
5011
|
}>;
|
|
5012
5012
|
/** Get filtered members based on search */
|
|
5013
|
-
get filteredMembers():
|
|
5013
|
+
get filteredMembers(): AXParticipant[];
|
|
5014
5014
|
/** Handle tab change */
|
|
5015
5015
|
onTabChange(event: any): void;
|
|
5016
5016
|
ngOnInit(): void;
|
|
@@ -5066,7 +5066,7 @@ declare class AXInfoBarSearchComponent {
|
|
|
5066
5066
|
/** Current index from service */
|
|
5067
5067
|
readonly currentIndex: _angular_core.Signal<number>;
|
|
5068
5068
|
/** Messages from conversation */
|
|
5069
|
-
readonly messages: _angular_core.Signal<
|
|
5069
|
+
readonly messages: _angular_core.Signal<AXMessage[]>;
|
|
5070
5070
|
private scrollTimer?;
|
|
5071
5071
|
constructor();
|
|
5072
5072
|
/** Handle search input change */
|
|
@@ -5166,7 +5166,7 @@ declare class AXAudioRendererComponent implements AXMessageRendererComponent {
|
|
|
5166
5166
|
private readonly _contentState;
|
|
5167
5167
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5168
5168
|
readonly rendererState: _angular_core.Signal<{
|
|
5169
|
-
deliveryStatus:
|
|
5169
|
+
deliveryStatus: AXMessageStatus;
|
|
5170
5170
|
contentState: AXMessageRendererContentState;
|
|
5171
5171
|
}>;
|
|
5172
5172
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|
|
@@ -5209,7 +5209,7 @@ declare class AXFallbackRendererComponent implements AXMessageRendererComponent
|
|
|
5209
5209
|
private readonly _contentState;
|
|
5210
5210
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5211
5211
|
readonly rendererState: _angular_core.Signal<{
|
|
5212
|
-
deliveryStatus:
|
|
5212
|
+
deliveryStatus: AXMessageStatus;
|
|
5213
5213
|
contentState: AXMessageRendererContentState;
|
|
5214
5214
|
}>;
|
|
5215
5215
|
readonly messageTypeLabel: _angular_core.Signal<string>;
|
|
@@ -5223,7 +5223,7 @@ declare class AXFileRendererComponent implements AXMessageRendererComponent {
|
|
|
5223
5223
|
private readonly _contentState;
|
|
5224
5224
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5225
5225
|
readonly rendererState: _angular_core.Signal<{
|
|
5226
|
-
deliveryStatus:
|
|
5226
|
+
deliveryStatus: AXMessageStatus;
|
|
5227
5227
|
contentState: AXMessageRendererContentState;
|
|
5228
5228
|
}>;
|
|
5229
5229
|
readonly payload: _angular_core.Signal<AXFilePayload>;
|
|
@@ -5243,7 +5243,7 @@ declare class AXImageRendererComponent implements AXMessageRendererComponent {
|
|
|
5243
5243
|
private readonly _contentState;
|
|
5244
5244
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5245
5245
|
readonly rendererState: _angular_core.Signal<{
|
|
5246
|
-
deliveryStatus:
|
|
5246
|
+
deliveryStatus: AXMessageStatus;
|
|
5247
5247
|
contentState: AXMessageRendererContentState;
|
|
5248
5248
|
}>;
|
|
5249
5249
|
readonly imageClick: _angular_core.OutputEmitterRef<string>;
|
|
@@ -5263,7 +5263,7 @@ declare class AXLocationRendererComponent implements AXMessageRendererComponent
|
|
|
5263
5263
|
private readonly _contentState;
|
|
5264
5264
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5265
5265
|
readonly rendererState: _angular_core.Signal<{
|
|
5266
|
-
deliveryStatus:
|
|
5266
|
+
deliveryStatus: AXMessageStatus;
|
|
5267
5267
|
contentState: AXMessageRendererContentState;
|
|
5268
5268
|
}>;
|
|
5269
5269
|
readonly payload: _angular_core.Signal<AXLocationPayload>;
|
|
@@ -5288,7 +5288,7 @@ declare class AXStickerRendererComponent implements AXMessageRendererComponent {
|
|
|
5288
5288
|
private readonly _contentState;
|
|
5289
5289
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5290
5290
|
readonly rendererState: _angular_core.Signal<{
|
|
5291
|
-
deliveryStatus:
|
|
5291
|
+
deliveryStatus: AXMessageStatus;
|
|
5292
5292
|
contentState: AXMessageRendererContentState;
|
|
5293
5293
|
}>;
|
|
5294
5294
|
readonly payload: _angular_core.Signal<AXStickerPayload>;
|
|
@@ -5305,7 +5305,7 @@ declare class AXSystemRendererComponent implements AXMessageRendererComponent {
|
|
|
5305
5305
|
private readonly _contentState;
|
|
5306
5306
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5307
5307
|
readonly rendererState: _angular_core.Signal<{
|
|
5308
|
-
deliveryStatus:
|
|
5308
|
+
deliveryStatus: AXMessageStatus;
|
|
5309
5309
|
contentState: AXMessageRendererContentState;
|
|
5310
5310
|
}>;
|
|
5311
5311
|
readonly payload: _angular_core.Signal<AXSystemPayload>;
|
|
@@ -5320,7 +5320,7 @@ declare class AXTextRendererComponent implements AXMessageRendererComponent {
|
|
|
5320
5320
|
private readonly _contentState;
|
|
5321
5321
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5322
5322
|
readonly rendererState: _angular_core.Signal<{
|
|
5323
|
-
deliveryStatus:
|
|
5323
|
+
deliveryStatus: AXMessageStatus;
|
|
5324
5324
|
contentState: AXMessageRendererContentState;
|
|
5325
5325
|
}>;
|
|
5326
5326
|
readonly searchQuery: _angular_core.Signal<string>;
|
|
@@ -5342,7 +5342,7 @@ declare class AXVideoRendererComponent implements AXMessageRendererComponent {
|
|
|
5342
5342
|
private readonly _contentState;
|
|
5343
5343
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5344
5344
|
readonly rendererState: _angular_core.Signal<{
|
|
5345
|
-
deliveryStatus:
|
|
5345
|
+
deliveryStatus: AXMessageStatus;
|
|
5346
5346
|
contentState: AXMessageRendererContentState;
|
|
5347
5347
|
}>;
|
|
5348
5348
|
readonly showPlayer: _angular_core.WritableSignal<boolean>;
|
|
@@ -5394,7 +5394,7 @@ declare class AXVoiceRendererComponent implements AXMessageRendererComponent {
|
|
|
5394
5394
|
private readonly _contentState;
|
|
5395
5395
|
readonly message: _angular_core.InputSignal<AXMessage>;
|
|
5396
5396
|
readonly rendererState: _angular_core.Signal<{
|
|
5397
|
-
deliveryStatus:
|
|
5397
|
+
deliveryStatus: AXMessageStatus;
|
|
5398
5398
|
contentState: AXMessageRendererContentState;
|
|
5399
5399
|
}>;
|
|
5400
5400
|
readonly isPlaying: _angular_core.WritableSignal<boolean>;
|