@acorex/components 22.1.8 → 22.2.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/emoji/README.md +3 -0
- package/emojipicker/README.md +3 -0
- package/fesm2022/acorex-components-accordion.mjs +10 -10
- package/fesm2022/acorex-components-accordion.mjs.map +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +15 -14
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-aspect-ratio.mjs +3 -3
- package/fesm2022/acorex-components-aspect-ratio.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +32 -11
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +9 -8
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-bubble.mjs +71 -0
- package/fesm2022/acorex-components-bubble.mjs.map +1 -0
- package/fesm2022/acorex-components-button-group.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +365 -55
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +40 -37
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +7 -7
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +7 -7
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-code-editor.mjs +44 -19
- package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +28 -28
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +158 -31
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -1
- package/fesm2022/acorex-components-command.mjs +11 -7
- package/fesm2022/acorex-components-command.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +28 -28
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/{acorex-components-conversation-acorex-components-conversation-Cl_dlCTX.mjs → acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs} +2889 -1016
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-C1Lf9tAe.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs → acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs} +4 -4
- package/fesm2022/{acorex-components-conversation-composer-action-choice-dialog.component-COUB9zrM.mjs.map → acorex-components-conversation-composer-action-choice-dialog.component-F5fLD_SK.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation-emoji-categories-C7Gm95V0.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs +87 -0
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-Bk3ixvt2.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-_F-fv3Ti.mjs → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs} +5 -5
- package/fesm2022/{acorex-components-conversation-picker-rename-file-dialog.component-_F-fv3Ti.mjs.map → acorex-components-conversation-picker-rename-file-dialog.component-DyOC1WEb.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +47 -47
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-list.mjs +3 -3
- package/fesm2022/acorex-components-data-list.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +181 -183
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +777 -160
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +8 -8
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +59 -117
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +10 -10
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +11 -11
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +9 -8
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +19 -14
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-editor.mjs +15 -14
- package/fesm2022/acorex-components-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-emoji.mjs +74 -0
- package/fesm2022/acorex-components-emoji.mjs.map +1 -0
- package/fesm2022/acorex-components-emojipicker.mjs +425 -0
- package/fesm2022/acorex-components-emojipicker.mjs.map +1 -0
- package/fesm2022/acorex-components-fab.mjs +6 -6
- package/fesm2022/acorex-components-fab.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +226 -127
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +16 -16
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-highlight.mjs +80 -0
- package/fesm2022/acorex-components-highlight.mjs.map +1 -0
- package/fesm2022/acorex-components-image-editor.mjs +217 -79
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-inline-reaction.mjs +111 -0
- package/fesm2022/acorex-components-inline-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kanban.mjs +3 -3
- package/fesm2022/acorex-components-kanban.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +6 -6
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +28 -9
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +16 -16
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +771 -148
- package/fesm2022/acorex-components-lookup.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +20 -13
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +215 -218
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +146 -45
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-message-status.mjs +71 -0
- package/fesm2022/acorex-components-message-status.mjs.map +1 -0
- package/fesm2022/acorex-components-message-time.mjs +36 -0
- package/fesm2022/acorex-components-message-time.mjs.map +1 -0
- package/fesm2022/acorex-components-message.mjs +120 -0
- package/fesm2022/acorex-components-message.mjs.map +1 -0
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +13 -14
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +17 -10
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +25 -25
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +10 -10
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +61 -13
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +631 -167
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +7 -7
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-reaction.mjs +144 -0
- package/fesm2022/acorex-components-reaction.mjs.map +1 -0
- package/fesm2022/acorex-components-rest-api-generator.mjs +23 -23
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-rrule.mjs +9 -9
- package/fesm2022/acorex-components-rrule.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler-picker.mjs +54 -54
- package/fesm2022/acorex-components-scheduler-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +35 -35
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +9 -8
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +55 -42
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-sidebar.mjs +28 -28
- package/fesm2022/acorex-components-sidebar.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +7 -7
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +13 -13
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -18
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +367 -72
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +7 -7
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +7 -7
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +14 -14
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +54 -14
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +13 -13
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +691 -295
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/fesm2022/acorex-components.mjs.map +1 -1
- package/highlight/README.md +13 -0
- package/inline-reaction/README.md +3 -0
- package/lookup/README.md +1 -1
- package/message/README.md +3 -0
- package/message-status/README.md +3 -0
- package/message-time/README.md +3 -0
- package/package.json +48 -13
- package/reaction/README.md +3 -0
- package/types/acorex-components-action-sheet.d.ts +1 -1
- package/types/acorex-components-audio-wave.d.ts +8 -0
- package/types/acorex-components-bubble.d.ts +31 -0
- package/types/acorex-components-button.d.ts +74 -9
- package/types/acorex-components-calendar.d.ts +13 -4
- package/types/acorex-components-check-box.d.ts +1 -1
- package/types/acorex-components-code-editor.d.ts +4 -1
- package/types/acorex-components-color-box.d.ts +1 -1
- package/types/acorex-components-color-palette.d.ts +2 -2
- package/types/acorex-components-combo-box.d.ts +8 -2
- package/types/acorex-components-command.d.ts +3 -1
- package/types/acorex-components-conversation.d.ts +418 -119
- package/types/acorex-components-cron-job.d.ts +6 -6
- package/types/acorex-components-data-pager.d.ts +27 -9
- package/types/acorex-components-data-table.d.ts +221 -21
- package/types/acorex-components-datetime-box.d.ts +1 -1
- package/types/acorex-components-datetime-picker.d.ts +1 -1
- package/types/acorex-components-decorators.d.ts +15 -33
- package/types/acorex-components-dialog.d.ts +1 -1
- package/types/acorex-components-dropdown-button.d.ts +2 -1
- package/types/acorex-components-dropdown.d.ts +6 -1
- package/types/acorex-components-editor.d.ts +1 -1
- package/types/acorex-components-emoji.d.ts +42 -0
- package/types/acorex-components-emojipicker.d.ts +146 -0
- package/types/acorex-components-file-viewer.d.ts +13 -2
- package/types/acorex-components-highlight.d.ts +31 -0
- package/types/acorex-components-image-editor.d.ts +19 -2
- package/types/acorex-components-inline-reaction.d.ts +52 -0
- package/types/acorex-components-list.d.ts +12 -0
- package/types/acorex-components-loading-dialog.d.ts +1 -1
- package/types/acorex-components-loading.d.ts +1 -1
- package/types/acorex-components-lookup.d.ts +214 -79
- package/types/acorex-components-map.d.ts +7 -2
- package/types/acorex-components-media-viewer.d.ts +4 -3
- package/types/acorex-components-menu.d.ts +17 -5
- package/types/acorex-components-message-status.d.ts +23 -0
- package/types/acorex-components-message-time.d.ts +19 -0
- package/types/acorex-components-message.d.ts +59 -0
- package/types/acorex-components-notification.d.ts +1 -1
- package/types/acorex-components-number-box.d.ts +2 -1
- package/types/acorex-components-otp.d.ts +1 -1
- package/types/acorex-components-page.d.ts +2 -2
- package/types/acorex-components-paint.d.ts +2 -2
- package/types/acorex-components-password-box.d.ts +1 -1
- package/types/acorex-components-phone-box.d.ts +1 -1
- package/types/acorex-components-popover.d.ts +13 -1
- package/types/acorex-components-popup.d.ts +183 -50
- package/types/acorex-components-rail-navigation.d.ts +1 -1
- package/types/acorex-components-range-slider.d.ts +1 -1
- package/types/acorex-components-reaction.d.ts +85 -0
- package/types/acorex-components-rest-api-generator.d.ts +1 -1
- package/types/acorex-components-rrule.d.ts +1 -1
- package/types/acorex-components-scheduler-picker.d.ts +1 -1
- package/types/acorex-components-scheduler.d.ts +1 -1
- package/types/acorex-components-search-box.d.ts +1 -1
- package/types/acorex-components-side-menu.d.ts +6 -8
- package/types/acorex-components-slider.d.ts +1 -1
- package/types/acorex-components-step-wizard.d.ts +4 -4
- package/types/acorex-components-switch.d.ts +1 -1
- package/types/acorex-components-tabs.d.ts +106 -19
- package/types/acorex-components-tag-box.d.ts +2 -2
- package/types/acorex-components-text-area.d.ts +1 -1
- package/types/acorex-components-text-box.d.ts +1 -1
- package/types/acorex-components-time-duration.d.ts +1 -1
- package/types/acorex-components-toast.d.ts +1 -1
- package/types/acorex-components-tree-view.d.ts +23 -1
- package/types/acorex-components-wysiwyg.d.ts +426 -77
- package/fesm2022/acorex-components-conversation-acorex-components-conversation-Cl_dlCTX.mjs.map +0 -1
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs +0 -85
- package/fesm2022/acorex-components-conversation-image-picker-editor-dialog.component-AO1evM19.mjs.map +0 -1
- package/fesm2022/acorex-components-flow-chart.mjs +0 -735
- package/fesm2022/acorex-components-flow-chart.mjs.map +0 -1
- package/fesm2022/acorex-components-query-builder.mjs +0 -267
- package/fesm2022/acorex-components-query-builder.mjs.map +0 -1
- package/flow-chart/README.md +0 -3
- package/query-builder/README.md +0 -3
- package/types/acorex-components-flow-chart.d.ts +0 -187
- package/types/acorex-components-query-builder.d.ts +0 -52
|
@@ -6,8 +6,10 @@ import { AXTranslationService } from '@acorex/core/translation';
|
|
|
6
6
|
import * as _acorex_components_action_sheet from '@acorex/components/action-sheet';
|
|
7
7
|
import { AXActionSheetRef } from '@acorex/components/action-sheet';
|
|
8
8
|
import * as _acorex_components_popup from '@acorex/components/popup';
|
|
9
|
-
import {
|
|
9
|
+
import { AXPopupRef, AXPopupService } from '@acorex/components/popup';
|
|
10
10
|
import { AXFileUploadOptions, AXUploadResult, AXUploadReference, AXUploaderService, AXUploaderFileChangeEvent } from '@acorex/cdk/uploader';
|
|
11
|
+
import { AXToastService } from '@acorex/components/toast';
|
|
12
|
+
import { AXValidationRuleResult } from '@acorex/core/validation';
|
|
11
13
|
import { AXListComponent } from '@acorex/components/list';
|
|
12
14
|
import * as rxjs from 'rxjs';
|
|
13
15
|
import { Observable } from 'rxjs';
|
|
@@ -17,12 +19,10 @@ import { AXTabLocation } from '@acorex/components/tabs';
|
|
|
17
19
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
18
20
|
import * as _acorex_core_file from '@acorex/core/file';
|
|
19
21
|
import { AXFileTypeRegistryService, AXFileTypeExtensionHint, AXFileTypeOpenContext, AXFileTypeInfoProvider, AXFileType, AXFileService } from '@acorex/core/file';
|
|
20
|
-
import { AXToastService } from '@acorex/components/toast';
|
|
21
|
-
import { AXValidationRuleResult } from '@acorex/core/validation';
|
|
22
22
|
import { AXMapMarker } from '@acorex/components/map';
|
|
23
|
+
import { AXWaveConfig, AXAudioWaveChangeEvent } from '@acorex/components/audio-wave';
|
|
23
24
|
import { AXRangeSliderValue } from '@acorex/components/range-slider';
|
|
24
25
|
import { SafeHtml } from '@angular/platform-browser';
|
|
25
|
-
import { AXWaveConfig, AXAudioWaveChangeEvent } from '@acorex/components/audio-wave';
|
|
26
26
|
import * as i1 from '@angular/common';
|
|
27
27
|
import * as i2 from '@angular/forms';
|
|
28
28
|
|
|
@@ -185,6 +185,7 @@ interface AXConversationFileMediaItem extends AXConversationMediaItemFields {
|
|
|
185
185
|
mimeType: string;
|
|
186
186
|
thumbnailUrl?: string;
|
|
187
187
|
extension?: string;
|
|
188
|
+
duration?: number;
|
|
188
189
|
}
|
|
189
190
|
interface AXConversationFilePayload {
|
|
190
191
|
type: 'file';
|
|
@@ -471,6 +472,8 @@ interface AXConversationMessageListThemeBackground {
|
|
|
471
472
|
}
|
|
472
473
|
/** Single CSS value (both themes) or per-theme `{ light, dark }` backgrounds. */
|
|
473
474
|
type AXConversationMessageListBackground = string | AXConversationMessageListThemeBackground;
|
|
475
|
+
/** Composer file-attachment UI: picker popup vs inline strip above the input. */
|
|
476
|
+
type AXConversationComposerAttachmentPresentation = 'overlay' | 'banner';
|
|
474
477
|
/**
|
|
475
478
|
* Conversation metadata
|
|
476
479
|
* Extensible map for app-specific conversation data.
|
|
@@ -481,10 +484,16 @@ interface AXConversationMetadata extends Record<string, unknown> {
|
|
|
481
484
|
/** Optional custom empty-state component for the message list. */
|
|
482
485
|
messageListEmptyComponent?: Type<AXConversationMessageListEmptyComponent>;
|
|
483
486
|
/**
|
|
484
|
-
*
|
|
485
|
-
*
|
|
487
|
+
* Explicit reaction UI override for this conversation.
|
|
488
|
+
* When omitted, reactions are enabled for `private` / `group` / `channel` and disabled for `bot`.
|
|
486
489
|
*/
|
|
487
490
|
reactionsEnabled?: boolean;
|
|
491
|
+
/**
|
|
492
|
+
* How composer file attachments are presented.
|
|
493
|
+
* `overlay` opens the picker popup; `banner` keeps files above the composer (ChatGPT-style).
|
|
494
|
+
* When omitted, `bot` chats default to `banner` and other types to `overlay`.
|
|
495
|
+
*/
|
|
496
|
+
composerAttachmentPresentation?: AXConversationComposerAttachmentPresentation;
|
|
488
497
|
}
|
|
489
498
|
/** Contract for custom empty-state components rendered by message list. */
|
|
490
499
|
interface AXConversationMessageListEmptyComponent {
|
|
@@ -693,6 +702,72 @@ declare abstract class AXConversationBaseRegistry<T extends AXConversationRegist
|
|
|
693
702
|
protected abstract getRegistryName(): string;
|
|
694
703
|
}
|
|
695
704
|
|
|
705
|
+
/**
|
|
706
|
+
* Shared upload state and helpers for composer media pickers.
|
|
707
|
+
*/
|
|
708
|
+
|
|
709
|
+
/** Stable id for `@for` tracking while upload state is patched immutably. */
|
|
710
|
+
declare function createPickerUploadItemId(): string;
|
|
711
|
+
interface AXConversationComposerPickerUploadItem {
|
|
712
|
+
id: string;
|
|
713
|
+
file: File;
|
|
714
|
+
preview?: string;
|
|
715
|
+
duration?: number;
|
|
716
|
+
uploadProgress?: number;
|
|
717
|
+
uploading?: boolean;
|
|
718
|
+
uploaded?: boolean;
|
|
719
|
+
uploadedUrl?: string;
|
|
720
|
+
mediaId?: string;
|
|
721
|
+
error?: string;
|
|
722
|
+
abortController?: AbortController;
|
|
723
|
+
}
|
|
724
|
+
declare function getPickerCancelUploadLabel(translation: AXTranslationService): string;
|
|
725
|
+
declare function abortPickerUploads(items: Iterable<{
|
|
726
|
+
abortController?: AbortController;
|
|
727
|
+
} | null | undefined>): void;
|
|
728
|
+
interface AXConversationCleanupPickerUploadsOptions {
|
|
729
|
+
retainUploaded?: boolean;
|
|
730
|
+
}
|
|
731
|
+
/** Upload finished; reference is {@link mediaId} and/or a non-empty session url. */
|
|
732
|
+
declare function isPickerItemReadyToSend(item: Pick<AXConversationComposerPickerUploadItem, 'uploaded' | 'uploadedUrl' | 'mediaId'>): boolean;
|
|
733
|
+
/** Build uploader result shape for {@link *ItemFromUpload} after picker upload. */
|
|
734
|
+
declare function pickerItemToUploadResult(item: Pick<AXConversationComposerPickerUploadItem, 'uploaded' | 'uploadedUrl' | 'mediaId' | 'file'>): {
|
|
735
|
+
url: string;
|
|
736
|
+
mediaId?: string;
|
|
737
|
+
mimeType: string;
|
|
738
|
+
size: number;
|
|
739
|
+
} | null;
|
|
740
|
+
declare function pickerItemToMediaReference(item: Pick<AXConversationComposerPickerUploadItem, 'uploaded' | 'uploadedUrl' | 'mediaId' | 'file'>): AXConversationUploaderReference | null;
|
|
741
|
+
declare function deleteUploadedPickerMedia(uploader: AXUploaderService, items: Iterable<AXConversationComposerPickerUploadItem | null | undefined>): Promise<void>;
|
|
742
|
+
declare function cleanupPickerUploads(uploader: AXUploaderService, items: Iterable<AXConversationComposerPickerUploadItem | null | undefined>, options?: AXConversationCleanupPickerUploadsOptions): void;
|
|
743
|
+
declare function revokePickerBlobPreviews(items: Iterable<{
|
|
744
|
+
preview?: string;
|
|
745
|
+
} | null | undefined>): void;
|
|
746
|
+
declare function isUploadAborted(error: unknown, signal?: AbortSignal): boolean;
|
|
747
|
+
declare function limitFilesToCapacity(files: File[], currentCount: number, maxFiles: number): File[];
|
|
748
|
+
declare function uploadPickerFile(uploader: AXUploaderService, conversationId: string, file: File, onProgress: (percent: number) => void, signal?: AbortSignal): Promise<{
|
|
749
|
+
url: string;
|
|
750
|
+
mediaId?: string;
|
|
751
|
+
mimeType: string;
|
|
752
|
+
size: number;
|
|
753
|
+
}>;
|
|
754
|
+
declare function notifyMaxFilesCapacityExceeded(toast: AXToastService, translation: AXTranslationService, maxFiles: number): void;
|
|
755
|
+
/** User-facing message for a file validation failure. */
|
|
756
|
+
declare function formatPickerValidationMessage(translation: AXTranslationService, file: File, error: AXValidationRuleResult | undefined): string;
|
|
757
|
+
/** Show a warning toast for each failed validation rule result. */
|
|
758
|
+
declare function notifyPickerValidationErrors(toast: AXToastService, translation: AXTranslationService, rejected: {
|
|
759
|
+
file: File;
|
|
760
|
+
errors: AXValidationRuleResult[];
|
|
761
|
+
}[]): void;
|
|
762
|
+
/** Close popup/action-sheet host or inline composer shell after send/cancel. */
|
|
763
|
+
declare function dismissComposerPickerHost(composerService: AXConversationComposerService, popupRef?: AXPopupRef | null, actionSheetRef?: AXActionSheetRef | null): void;
|
|
764
|
+
|
|
765
|
+
type AXConversationComposerDraftAttachmentKind = 'image' | 'video' | 'audio' | 'file';
|
|
766
|
+
interface AXConversationComposerDraftAttachment extends AXConversationComposerPickerUploadItem {
|
|
767
|
+
kind: AXConversationComposerDraftAttachmentKind;
|
|
768
|
+
icon: string;
|
|
769
|
+
}
|
|
770
|
+
|
|
696
771
|
/** Primary composer button mode (send / cancel / stopping / default action / locked). */
|
|
697
772
|
type AXConversationComposerPrimaryButtonMode = 'send' | 'cancel' | 'stopping' | 'default-action' | 'locked';
|
|
698
773
|
declare class AXConversationComposerService {
|
|
@@ -700,8 +775,13 @@ declare class AXConversationComposerService {
|
|
|
700
775
|
private readonly generationState;
|
|
701
776
|
private readonly translation;
|
|
702
777
|
private readonly popupService;
|
|
778
|
+
private readonly uploader;
|
|
779
|
+
private readonly fileService;
|
|
780
|
+
private readonly toast;
|
|
703
781
|
private readonly config;
|
|
782
|
+
private readonly destroyRef;
|
|
704
783
|
private readonly _activeActionOverlay;
|
|
784
|
+
constructor();
|
|
705
785
|
private get registry();
|
|
706
786
|
private readonly _replyMessage;
|
|
707
787
|
private readonly _editMessage;
|
|
@@ -711,8 +791,10 @@ declare class AXConversationComposerService {
|
|
|
711
791
|
readonly activeMessages: _angular_core.Signal<AXConversationMessage[]>;
|
|
712
792
|
/** Draft text */
|
|
713
793
|
readonly draftText: _angular_core.WritableSignal<string>;
|
|
714
|
-
/**
|
|
715
|
-
readonly
|
|
794
|
+
/** Inline composer attachments shown above the input in banner mode. */
|
|
795
|
+
readonly draftAttachments: _angular_core.WritableSignal<AXConversationComposerDraftAttachment[]>;
|
|
796
|
+
readonly draftAttachmentsReady: _angular_core.Signal<boolean>;
|
|
797
|
+
readonly usesAttachmentBanner: _angular_core.Signal<boolean>;
|
|
716
798
|
/** Incremented to request focus on the composer text area (handled by AXConversationComposerComponent). */
|
|
717
799
|
private readonly _focusRequest;
|
|
718
800
|
readonly focusRequest: _angular_core.Signal<number>;
|
|
@@ -749,6 +831,7 @@ declare class AXConversationComposerService {
|
|
|
749
831
|
startEdit(message: AXConversationMessage): void;
|
|
750
832
|
/** Focus the composer text area when the composer component is mounted. */
|
|
751
833
|
focusComposer(): void;
|
|
834
|
+
clearReplyEdit(): void;
|
|
752
835
|
clear(): void;
|
|
753
836
|
/**
|
|
754
837
|
* Persist draft for the previous conversation and reset composer UI state when switching conversations.
|
|
@@ -767,6 +850,15 @@ declare class AXConversationComposerService {
|
|
|
767
850
|
toggleable?: boolean;
|
|
768
851
|
initialFiles?: File[];
|
|
769
852
|
}): Promise<void>;
|
|
853
|
+
browseDraftAttachments(fileType?: string): Promise<number>;
|
|
854
|
+
addDraftAttachments(files: File[]): Promise<number>;
|
|
855
|
+
removeDraftAttachment(id: string): void;
|
|
856
|
+
clearDraftAttachments(options?: {
|
|
857
|
+
retainUploaded?: boolean;
|
|
858
|
+
}): void;
|
|
859
|
+
buildDraftAttachmentCommand(caption?: string): Promise<AXConversationSendMessageCommand | null>;
|
|
860
|
+
private uploadDraftAttachment;
|
|
861
|
+
private patchDraftAttachment;
|
|
770
862
|
/**
|
|
771
863
|
* Hide the active action overlay.
|
|
772
864
|
*/
|
|
@@ -792,7 +884,7 @@ declare class AXConversationComposerService {
|
|
|
792
884
|
*/
|
|
793
885
|
clearDraft(conversationId: string): void;
|
|
794
886
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationComposerService, never>;
|
|
795
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
887
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
796
888
|
}
|
|
797
889
|
|
|
798
890
|
/**
|
|
@@ -969,7 +1061,7 @@ declare class AXConversationComposerActionRegistry {
|
|
|
969
1061
|
*/
|
|
970
1062
|
clear(): void;
|
|
971
1063
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationComposerActionRegistry, never>;
|
|
972
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1064
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
973
1065
|
}
|
|
974
1066
|
|
|
975
1067
|
/**
|
|
@@ -1030,7 +1122,7 @@ declare class AXConversationComposerTabRegistry {
|
|
|
1030
1122
|
*/
|
|
1031
1123
|
clear(): void;
|
|
1032
1124
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationComposerTabRegistry, never>;
|
|
1033
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1125
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1034
1126
|
}
|
|
1035
1127
|
|
|
1036
1128
|
/**
|
|
@@ -1104,7 +1196,7 @@ declare class AXConversationItemActionRegistry extends AXConversationBaseRegistr
|
|
|
1104
1196
|
getActionTooltip(action: AXConversationItemAction, conversation: AXConversation): string | undefined;
|
|
1105
1197
|
executeAction(actionId: string, context: AXConversationItemActionContext): Promise<void>;
|
|
1106
1198
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationItemActionRegistry, never>;
|
|
1107
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1199
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1108
1200
|
}
|
|
1109
1201
|
|
|
1110
1202
|
/**
|
|
@@ -1171,9 +1263,27 @@ declare class AXConversationTabRegistry {
|
|
|
1171
1263
|
*/
|
|
1172
1264
|
clear(): void;
|
|
1173
1265
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationTabRegistry, never>;
|
|
1174
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1266
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1175
1267
|
}
|
|
1176
1268
|
|
|
1269
|
+
/** Visual chrome around a message body in the list. */
|
|
1270
|
+
type AXConversationMessageChrome = 'bubble' | 'plain';
|
|
1271
|
+
/** Max consecutive emoji graphemes that render as a jumbo (sticker-sized) text message. */
|
|
1272
|
+
declare const AX_CONVERSATION_JUMBO_EMOJI_MAX = 3;
|
|
1273
|
+
/**
|
|
1274
|
+
* Resolve registry chrome config to a concrete value.
|
|
1275
|
+
* Default is {@link AXConversationMessageChrome bubble}.
|
|
1276
|
+
*/
|
|
1277
|
+
declare function resolveMessageChrome(chrome: AXConversationMessageChrome | ((message: AXConversationMessage) => AXConversationMessageChrome) | undefined, message: AXConversationMessage): AXConversationMessageChrome;
|
|
1278
|
+
/** Visible graphemes in trimmed text (whitespace between emojis is dropped). */
|
|
1279
|
+
declare function listTextGraphemes(text: string | null | undefined): string[];
|
|
1280
|
+
/** Count emoji graphemes in trimmed text; `0` when mixed with other characters. */
|
|
1281
|
+
declare function countLoneEmojis(text: string | null | undefined): number;
|
|
1282
|
+
declare function isJumboEmojiText(text: string | null | undefined): boolean;
|
|
1283
|
+
declare function isJumboEmojiTextMessage(message: AXConversationMessage): boolean;
|
|
1284
|
+
/** Types that never sit inside a bubble cluster with neighboring messages. */
|
|
1285
|
+
declare function isPlainChromeMessage(message: AXConversationMessage): boolean;
|
|
1286
|
+
|
|
1177
1287
|
/**
|
|
1178
1288
|
* Message Renderer Registry
|
|
1179
1289
|
* Register custom message renderers for different message types
|
|
@@ -1248,6 +1358,12 @@ interface AXConversationMessageRenderer {
|
|
|
1248
1358
|
canHandle: (message: AXConversationMessage) => boolean;
|
|
1249
1359
|
/** Renderer capabilities */
|
|
1250
1360
|
capabilities: AXConversationMessageRendererCapabilities;
|
|
1361
|
+
/**
|
|
1362
|
+
* List chrome for this message type.
|
|
1363
|
+
* `plain` removes bubble fill, padding, shadow, and tail. Default is `bubble`.
|
|
1364
|
+
* Pass a function when chrome depends on payload (e.g. jumbo emoji text).
|
|
1365
|
+
*/
|
|
1366
|
+
chrome?: AXConversationMessageChrome | ((message: AXConversationMessage) => AXConversationMessageChrome);
|
|
1251
1367
|
/** Display name */
|
|
1252
1368
|
displayName?: string;
|
|
1253
1369
|
/** Icon name/class */
|
|
@@ -1308,7 +1424,7 @@ declare class AXConversationMessageRendererRegistry {
|
|
|
1308
1424
|
*/
|
|
1309
1425
|
clear(): void;
|
|
1310
1426
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageRendererRegistry, never>;
|
|
1311
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1427
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1312
1428
|
}
|
|
1313
1429
|
|
|
1314
1430
|
/**
|
|
@@ -1427,7 +1543,7 @@ declare class AXConversationInfoBarService {
|
|
|
1427
1543
|
clearSearch(): void;
|
|
1428
1544
|
private _extractOnClose;
|
|
1429
1545
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInfoBarService, never>;
|
|
1430
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1546
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1431
1547
|
}
|
|
1432
1548
|
|
|
1433
1549
|
/**
|
|
@@ -1543,7 +1659,7 @@ declare class AXConversationInfoBarActionRegistry extends AXConversationBaseRegi
|
|
|
1543
1659
|
*/
|
|
1544
1660
|
getActionTooltip(action: AXConversationInfoBarAction, conversation: AXConversation): string | undefined;
|
|
1545
1661
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInfoBarActionRegistry, never>;
|
|
1546
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1662
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1547
1663
|
}
|
|
1548
1664
|
|
|
1549
1665
|
/**
|
|
@@ -1634,7 +1750,7 @@ declare class AXConversationMessageActionRegistry {
|
|
|
1634
1750
|
*/
|
|
1635
1751
|
clear(): void;
|
|
1636
1752
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageActionRegistry, never>;
|
|
1637
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1753
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
1638
1754
|
}
|
|
1639
1755
|
|
|
1640
1756
|
declare class AXConversationComposerComponent implements OnDestroy {
|
|
@@ -1655,8 +1771,9 @@ declare class AXConversationComposerComponent implements OnDestroy {
|
|
|
1655
1771
|
private readonly textAreaRef;
|
|
1656
1772
|
/** Draft text - use service */
|
|
1657
1773
|
readonly draftText: _angular_core.WritableSignal<string>;
|
|
1658
|
-
/**
|
|
1659
|
-
readonly
|
|
1774
|
+
/** Draft attachments shown above the composer in banner mode. */
|
|
1775
|
+
readonly draftAttachments: _angular_core.WritableSignal<_acorex_components_conversation.AXConversationComposerDraftAttachment[]>;
|
|
1776
|
+
readonly usesAttachmentBanner: _angular_core.Signal<boolean>;
|
|
1660
1777
|
/** Editing message */
|
|
1661
1778
|
readonly editingMessage: _angular_core.WritableSignal<any>;
|
|
1662
1779
|
/** Replying to message */
|
|
@@ -1687,6 +1804,7 @@ declare class AXConversationComposerComponent implements OnDestroy {
|
|
|
1687
1804
|
readonly placeholder: _angular_core.Signal<string>;
|
|
1688
1805
|
constructor();
|
|
1689
1806
|
private draftSaveTimeout?;
|
|
1807
|
+
private seededEditMessageId;
|
|
1690
1808
|
/** Number of input rows - use service */
|
|
1691
1809
|
readonly inputRows: _angular_core.Signal<number>;
|
|
1692
1810
|
/** Can send message - use service */
|
|
@@ -1713,6 +1831,10 @@ declare class AXConversationComposerComponent implements OnDestroy {
|
|
|
1713
1831
|
readonly defaultAction: _angular_core.Signal<AXConversationComposerAction>;
|
|
1714
1832
|
/** Handle key down (send on Enter; typing is driven by draft changes only). */
|
|
1715
1833
|
onKeyDown(event: AXHtmlEvent<KeyboardEvent>): void;
|
|
1834
|
+
/** Keep the draft signal in sync with ngModel (signal two-way bind is unreliable on ax-text-area). */
|
|
1835
|
+
onDraftModelChange(value: string): void;
|
|
1836
|
+
/** Keep the draft signal in sync with ax-text-area CVA output. */
|
|
1837
|
+
onDraftValueChanged(event: unknown): void;
|
|
1716
1838
|
/** Handle draft text changes — throttled typing indicator via conversation service. */
|
|
1717
1839
|
onDraftChanged(): void;
|
|
1718
1840
|
/** Cleanup on destroy */
|
|
@@ -1756,9 +1878,13 @@ declare class AXConversationComposerComponent implements OnDestroy {
|
|
|
1756
1878
|
getDefaultActionIcon(): string;
|
|
1757
1879
|
/** Handle voice click */
|
|
1758
1880
|
onVoiceClick(): void;
|
|
1759
|
-
/** Remove attachment */
|
|
1760
|
-
|
|
1761
|
-
|
|
1881
|
+
/** Remove a draft attachment from the composer banner. */
|
|
1882
|
+
removeDraftAttachment(id: string): void;
|
|
1883
|
+
addDraftAttachments(): void;
|
|
1884
|
+
dismissDraftAttachments(): void;
|
|
1885
|
+
draftAttachmentLabel(name: string): string;
|
|
1886
|
+
canAddDraftAttachments(): boolean;
|
|
1887
|
+
/** Cancel edit/reply mode without dropping draft attachments. */
|
|
1762
1888
|
cancelEditReply(): void;
|
|
1763
1889
|
/** Start editing a message */
|
|
1764
1890
|
startEdit(message: any): void;
|
|
@@ -1766,6 +1892,11 @@ declare class AXConversationComposerComponent implements OnDestroy {
|
|
|
1766
1892
|
startReply(message: AXConversationMessage): void;
|
|
1767
1893
|
/** Focus the native textarea inside ax-text-area */
|
|
1768
1894
|
private focusTextArea;
|
|
1895
|
+
/** Prefer the visible textarea when it differs from the original edit; else the draft signal. */
|
|
1896
|
+
private resolveComposerText;
|
|
1897
|
+
private readOriginalEditText;
|
|
1898
|
+
private readNativeComposerText;
|
|
1899
|
+
private readChangedText;
|
|
1769
1900
|
private getClickTarget;
|
|
1770
1901
|
/** Handle action click */
|
|
1771
1902
|
onActionClick(actionId: string, event?: AXClickEvent | MouseEvent, initialFiles?: File[]): Promise<void>;
|
|
@@ -2004,7 +2135,7 @@ declare class AXConversationApiLoggerService {
|
|
|
2004
2135
|
private readonly config;
|
|
2005
2136
|
log(entry: AXConversationApiLogEntry): void;
|
|
2006
2137
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationApiLoggerService, never>;
|
|
2007
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
2138
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
2008
2139
|
}
|
|
2009
2140
|
|
|
2010
2141
|
/**
|
|
@@ -2060,6 +2191,7 @@ interface AXConversationUpdateData {
|
|
|
2060
2191
|
interface AXConversationDeleteOptions {
|
|
2061
2192
|
/**
|
|
2062
2193
|
* Private: destroy the chat for every participant (Telegram "delete for both").
|
|
2194
|
+
* Bot: always delete for both sides.
|
|
2063
2195
|
* Group/channel: only valid for the creator — destroys the room for everyone.
|
|
2064
2196
|
* Defaults to `false` (hide / clear history for the current user only).
|
|
2065
2197
|
*/
|
|
@@ -3025,7 +3157,7 @@ declare class AXConversationComposerGenerationStateService {
|
|
|
3025
3157
|
/** User requested cancel — enters `stopping` until {@link setGenerating}(false) is called. */
|
|
3026
3158
|
cancel(): void;
|
|
3027
3159
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationComposerGenerationStateService, never>;
|
|
3028
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
3160
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
3029
3161
|
}
|
|
3030
3162
|
|
|
3031
3163
|
/**
|
|
@@ -3055,7 +3187,7 @@ declare class AXConversationRegistryService {
|
|
|
3055
3187
|
*/
|
|
3056
3188
|
clearAll(): void;
|
|
3057
3189
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationRegistryService, never>;
|
|
3058
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
3190
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
3059
3191
|
}
|
|
3060
3192
|
|
|
3061
3193
|
/** Result of loading a message page (newest-first APIs, merged ascending in the store). */
|
|
@@ -3075,7 +3207,10 @@ interface AXConversationLoadMessagesResult {
|
|
|
3075
3207
|
* - Automatic rollback on failures
|
|
3076
3208
|
*/
|
|
3077
3209
|
declare class AXConversationService {
|
|
3210
|
+
private static readonly createDisplayMetadataKeys;
|
|
3078
3211
|
private static normalizeOptionalString;
|
|
3212
|
+
/** Keep flags like `reactionsEnabled`; drop display fields already mapped onto the conversation. */
|
|
3213
|
+
private static toPersistedConversationMetadata;
|
|
3079
3214
|
private readonly config;
|
|
3080
3215
|
private readonly state;
|
|
3081
3216
|
readonly userApi: AXConversationUserApi;
|
|
@@ -3315,6 +3450,12 @@ declare class AXConversationService {
|
|
|
3315
3450
|
* Handle message update
|
|
3316
3451
|
*/
|
|
3317
3452
|
private handleMessageUpdate;
|
|
3453
|
+
/**
|
|
3454
|
+
* After a local text edit, entity cache / status persist can echo the pre-edit payload.
|
|
3455
|
+
* Keep the newer local bubble until a strictly newer edit arrives.
|
|
3456
|
+
*/
|
|
3457
|
+
private preferLocalEditedPayload;
|
|
3458
|
+
private readTextPayload;
|
|
3318
3459
|
/**
|
|
3319
3460
|
* Bump reply/forward counts locally when realtime events arrive outside the active message list.
|
|
3320
3461
|
*/
|
|
@@ -3412,8 +3553,10 @@ declare class AXConversationService {
|
|
|
3412
3553
|
/**
|
|
3413
3554
|
* Delete, hide, or leave a conversation.
|
|
3414
3555
|
* Opens a confirmation popup (checkbox for private/creator destroy), then updates the store.
|
|
3556
|
+
* Bot chats skip the prompt and always delete for both sides.
|
|
3415
3557
|
*/
|
|
3416
3558
|
deleteConversation(conversationId: string): Promise<boolean>;
|
|
3559
|
+
private performDeleteConversation;
|
|
3417
3560
|
/**
|
|
3418
3561
|
* Get reply count for a message
|
|
3419
3562
|
* @param messageId - Message ID
|
|
@@ -3571,7 +3714,7 @@ declare class AXConversationService {
|
|
|
3571
3714
|
*/
|
|
3572
3715
|
private validateMessageContent;
|
|
3573
3716
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
|
|
3574
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
3717
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
3575
3718
|
}
|
|
3576
3719
|
|
|
3577
3720
|
/**
|
|
@@ -3686,7 +3829,7 @@ declare class AXConversationErrorHandlerService {
|
|
|
3686
3829
|
*/
|
|
3687
3830
|
private delay;
|
|
3688
3831
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationErrorHandlerService, never>;
|
|
3689
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
3832
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
3690
3833
|
}
|
|
3691
3834
|
|
|
3692
3835
|
declare class AXConversationForwardMessageDialogComponent {
|
|
@@ -3821,8 +3964,17 @@ declare function resolveConversationTitleForViewer(conversation: AXConversation,
|
|
|
3821
3964
|
* Does not mutate the source object.
|
|
3822
3965
|
*/
|
|
3823
3966
|
declare function resolveConversationForViewer(conversation: AXConversation, currentUserId?: string): AXConversation;
|
|
3824
|
-
/**
|
|
3967
|
+
/**
|
|
3968
|
+
* Whether message reactions are enabled for a conversation.
|
|
3969
|
+
* `metadata.reactionsEnabled` wins when set; otherwise `bot` chats default to off.
|
|
3970
|
+
*/
|
|
3825
3971
|
declare function isConversationReactionsEnabled(conversation?: AXConversation | null): boolean;
|
|
3972
|
+
/**
|
|
3973
|
+
* How file attachments are shown in the composer.
|
|
3974
|
+
* `metadata.composerAttachmentPresentation` wins when set; otherwise `bot` chats use `banner`.
|
|
3975
|
+
*/
|
|
3976
|
+
declare function resolveComposerAttachmentPresentation(conversation?: AXConversation | null): AXConversationComposerAttachmentPresentation;
|
|
3977
|
+
declare function isComposerAttachmentBannerEnabled(conversation?: AXConversation | null): boolean;
|
|
3826
3978
|
|
|
3827
3979
|
/** Group and channel rooms share join/leave and creator-destroy rules. */
|
|
3828
3980
|
declare function isGroupLikeConversation(conversationOrType: AXConversation | AXConversationType | undefined): boolean;
|
|
@@ -4331,7 +4483,7 @@ declare class AXConversationMessageListService {
|
|
|
4331
4483
|
requestScrollToBottom(): void;
|
|
4332
4484
|
private buildCountMap;
|
|
4333
4485
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageListService, never>;
|
|
4334
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
4486
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
4335
4487
|
}
|
|
4336
4488
|
|
|
4337
4489
|
declare class AXConversationMessageListComponent implements OnDestroy {
|
|
@@ -4346,6 +4498,7 @@ declare class AXConversationMessageListComponent implements OnDestroy {
|
|
|
4346
4498
|
private readonly platform;
|
|
4347
4499
|
private readonly actionSheetService;
|
|
4348
4500
|
private readonly ngZone;
|
|
4501
|
+
private readonly cdr;
|
|
4349
4502
|
protected readonly config: Required<_acorex_components_conversation.AXConversationConfig>;
|
|
4350
4503
|
/**
|
|
4351
4504
|
* Background for the message list scroll area from config, or the built-in soft wash when unset/empty.
|
|
@@ -4359,6 +4512,7 @@ declare class AXConversationMessageListComponent implements OnDestroy {
|
|
|
4359
4512
|
/** Fallback when no conversation is active and no `ax-conversation-message-list-no-active` content is projected. */
|
|
4360
4513
|
protected readonly noActiveFallbackComponent: typeof AXConversationMessageListNoActiveDefaultComponent;
|
|
4361
4514
|
private readonly timeouts;
|
|
4515
|
+
private dateSeparatorFadeTimer;
|
|
4362
4516
|
readonly reactionPickerTarget: _angular_core.WritableSignal<string>;
|
|
4363
4517
|
readonly reactionPickerElement: _angular_core.WritableSignal<HTMLElement>;
|
|
4364
4518
|
readonly reactionPickerPlacement: _angular_core.WritableSignal<AXPlacement>;
|
|
@@ -4373,6 +4527,18 @@ declare class AXConversationMessageListComponent implements OnDestroy {
|
|
|
4373
4527
|
readonly isAdaptiveWideLayout: _angular_core.WritableSignal<boolean>;
|
|
4374
4528
|
/** While true, older history is being prepended — do not auto-scroll to the latest message. */
|
|
4375
4529
|
private restoringScrollAfterPrepend;
|
|
4530
|
+
/**
|
|
4531
|
+
* Stick to the latest message across layout shifts (media decode, lazy outlets).
|
|
4532
|
+
* Cleared as soon as the user scrolls up — even within `scrollThreshold` —
|
|
4533
|
+
* otherwise ResizeObserver keeps yanking the feed back to the bottom.
|
|
4534
|
+
*/
|
|
4535
|
+
private pinnedToBottom;
|
|
4536
|
+
/**
|
|
4537
|
+
* True while we assign `scrollTop`. Kept until the following animation frame
|
|
4538
|
+
* because some browsers dispatch `scroll` asynchronously after `scrollTop` writes.
|
|
4539
|
+
*/
|
|
4540
|
+
private programmaticScroll;
|
|
4541
|
+
private programmaticScrollGen;
|
|
4376
4542
|
private adaptiveLayoutResizeObserver?;
|
|
4377
4543
|
private documentClickListener?;
|
|
4378
4544
|
readonly availableReactions: _angular_core.WritableSignal<string[]>;
|
|
@@ -4395,6 +4561,21 @@ declare class AXConversationMessageListComponent implements OnDestroy {
|
|
|
4395
4561
|
readonly isGroupConversation: _angular_core.Signal<boolean>;
|
|
4396
4562
|
/** Placeholder rows for the initial message list skeleton. */
|
|
4397
4563
|
protected readonly loadingSkeletonItems: readonly [0, 1, 2, 3, 4, 5, 6, 7];
|
|
4564
|
+
/**
|
|
4565
|
+
* Conversation whose feed has already been pinned to the latest message.
|
|
4566
|
+
* Compared with the active id in `feedReady` so a chat switch hides the list
|
|
4567
|
+
* in the same render — before the effect that pins the new history.
|
|
4568
|
+
*/
|
|
4569
|
+
private readonly pinnedConversationId;
|
|
4570
|
+
private feedRevealGeneration;
|
|
4571
|
+
private feedRevealRaf;
|
|
4572
|
+
/** False until this conversation is pinned to the bottom (never shows history from the top). */
|
|
4573
|
+
readonly feedReady: _angular_core.Signal<boolean>;
|
|
4574
|
+
/**
|
|
4575
|
+
* Keep the skeleton up until the feed is pinned. The real list stays
|
|
4576
|
+
* `visibility: hidden` underneath so bubbles never show through the cover.
|
|
4577
|
+
*/
|
|
4578
|
+
readonly showOpenCover: _angular_core.Signal<boolean>;
|
|
4398
4579
|
/** Whether the active conversation allows message reactions. */
|
|
4399
4580
|
readonly reactionsEnabled: _angular_core.Signal<boolean>;
|
|
4400
4581
|
/** Messages */
|
|
@@ -4418,6 +4599,15 @@ declare class AXConversationMessageListComponent implements OnDestroy {
|
|
|
4418
4599
|
* Setup intersection observer to mark messages as read when visible
|
|
4419
4600
|
*/
|
|
4420
4601
|
private setupIntersectionObserver;
|
|
4602
|
+
/**
|
|
4603
|
+
* Keep the viewport stable when layout changes.
|
|
4604
|
+
* ResizeObserver runs after layout and before paint — apply scrollTop in the
|
|
4605
|
+
* callback (not rAF) so the browser never paints a jump.
|
|
4606
|
+
*
|
|
4607
|
+
* Near the bottom, pin to the latest message (media decode, lazy outlets).
|
|
4608
|
+
* Further up, only compensate rows that grew fully above the viewport.
|
|
4609
|
+
*/
|
|
4610
|
+
private setupMediaScrollCompensation;
|
|
4421
4611
|
/**
|
|
4422
4612
|
* Mark message as read
|
|
4423
4613
|
*/
|
|
@@ -4455,14 +4645,32 @@ declare class AXConversationMessageListComponent implements OnDestroy {
|
|
|
4455
4645
|
/**
|
|
4456
4646
|
* Keep the user's viewport on the same messages after older rows are inserted above.
|
|
4457
4647
|
*/
|
|
4458
|
-
private
|
|
4459
|
-
|
|
4460
|
-
private
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4648
|
+
private applyPrependScrollRestore;
|
|
4649
|
+
private revealStuckDateSeparators;
|
|
4650
|
+
private syncDateSeparatorStuckState;
|
|
4651
|
+
private scheduleDateSeparatorFade;
|
|
4652
|
+
private clearDateSeparatorFadeTimer;
|
|
4653
|
+
/** Distance from the last pixel of the feed. */
|
|
4654
|
+
private distanceFromBottom;
|
|
4655
|
+
/** True when the viewport is at the latest message (not merely within `scrollThreshold`). */
|
|
4656
|
+
private isStuckToBottom;
|
|
4657
|
+
/**
|
|
4658
|
+
* Assign scrollTop without the listener treating it as a user scroll.
|
|
4659
|
+
* The flag stays set until the next frame so async `scroll` events are ignored.
|
|
4660
|
+
*/
|
|
4661
|
+
private writeScrollTop;
|
|
4662
|
+
/** Pin the feed to the latest message before the next paint. */
|
|
4663
|
+
private pinFeedToBottom;
|
|
4664
|
+
/** Hide the feed and pin to the latest message before the first visible paint. */
|
|
4665
|
+
private beginFeedReveal;
|
|
4666
|
+
private cancelFeedReveal;
|
|
4667
|
+
/**
|
|
4668
|
+
* Pin to the latest message, then reveal. Two frames is enough — stick-to-bottom
|
|
4669
|
+
* holds later media growth. Waiting for loaders here left a blank gap after the skeleton.
|
|
4670
|
+
*/
|
|
4671
|
+
private scheduleFeedPin;
|
|
4672
|
+
/** Start nearby lazy images so they decode while stick-to-bottom holds the viewport. */
|
|
4673
|
+
private primeOpenViewportMedia;
|
|
4466
4674
|
/** Scroll to bottom */
|
|
4467
4675
|
scrollToBottom(smooth?: boolean): void;
|
|
4468
4676
|
/** Scroll to specific message */
|
|
@@ -4596,7 +4804,7 @@ declare class AXConversationSidebarService {
|
|
|
4596
4804
|
*/
|
|
4597
4805
|
reloadConversations(): Promise<void>;
|
|
4598
4806
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationSidebarService, never>;
|
|
4599
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
4807
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
4600
4808
|
}
|
|
4601
4809
|
|
|
4602
4810
|
declare class AXConversationSidebarComponent implements OnDestroy {
|
|
@@ -4654,6 +4862,7 @@ declare class AXConversationNewDialogComponent extends AXBasePageComponent {
|
|
|
4654
4862
|
private readonly translation;
|
|
4655
4863
|
private readonly config;
|
|
4656
4864
|
private readonly destroyRef;
|
|
4865
|
+
private readonly popupService;
|
|
4657
4866
|
private searchDebounceTimer?;
|
|
4658
4867
|
constructor();
|
|
4659
4868
|
/**
|
|
@@ -4665,6 +4874,7 @@ declare class AXConversationNewDialogComponent extends AXBasePageComponent {
|
|
|
4665
4874
|
readonly selectedUserIds: _angular_core.WritableSignal<string[]>;
|
|
4666
4875
|
readonly groupTitle: _angular_core.WritableSignal<string>;
|
|
4667
4876
|
readonly groupAvatar: _angular_core.WritableSignal<string>;
|
|
4877
|
+
readonly groupAvatarFileName: _angular_core.WritableSignal<string>;
|
|
4668
4878
|
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
4669
4879
|
readonly creating: _angular_core.WritableSignal<boolean>;
|
|
4670
4880
|
/** For 2+ users: step 1 = pick users, step 2 = title + avatar. */
|
|
@@ -4681,11 +4891,19 @@ declare class AXConversationNewDialogComponent extends AXBasePageComponent {
|
|
|
4681
4891
|
readonly usersListEmptyTpl: _angular_core.Signal<TemplateRef<unknown>>;
|
|
4682
4892
|
readonly usersListLoadingTpl: _angular_core.Signal<TemplateRef<unknown>>;
|
|
4683
4893
|
readonly usersList: _angular_core.Signal<AXListComponent>;
|
|
4894
|
+
private readonly groupNameInput;
|
|
4895
|
+
private readonly groupPhotoInput;
|
|
4896
|
+
readonly groupPhotoAriaLabel: _angular_core.Signal<string>;
|
|
4684
4897
|
readonly usersListDataSource: AXDataSource<unknown>;
|
|
4685
4898
|
onCancel(): void;
|
|
4686
4899
|
onSelectedUsersChange(ids: string[]): void;
|
|
4687
4900
|
onNextToGroupDetails(): void;
|
|
4688
4901
|
onBackFromGroupDetails(): void;
|
|
4902
|
+
onPickGroupPhoto(): void;
|
|
4903
|
+
onClearGroupPhoto(): void;
|
|
4904
|
+
onEditGroupPhoto(): Promise<void>;
|
|
4905
|
+
onGroupPhotoSelected(event: Event): Promise<void>;
|
|
4906
|
+
private openGroupPhotoEditor;
|
|
4689
4907
|
onSearchChange(value: string): void;
|
|
4690
4908
|
isUserSelected(id: string): boolean;
|
|
4691
4909
|
userFromItem(item: unknown): AXConversationParticipant | null;
|
|
@@ -4760,73 +4978,13 @@ declare class AXConversationAudioFileTypeProvider extends AXFileTypeInfoProvider
|
|
|
4760
4978
|
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
4761
4979
|
}>[]>;
|
|
4762
4980
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationAudioFileTypeProvider, never>;
|
|
4763
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
4981
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
4764
4982
|
}
|
|
4765
4983
|
|
|
4766
4984
|
declare function audioItemFromUpload(file: File, result: AXConversationUploaderResult, duration: number): AXConversationAudioMediaItem;
|
|
4767
4985
|
declare function mergeAudioUploadResult(payload: AXConversationMessagePayload, result: AXUploadResult): AXConversationMessagePayload;
|
|
4768
4986
|
declare function applyAudioLocalPreview(payload: AXConversationMessagePayload, localUrl: string, mimeType?: string): AXConversationMessagePayload;
|
|
4769
4987
|
|
|
4770
|
-
/**
|
|
4771
|
-
* Shared upload state and helpers for composer media pickers.
|
|
4772
|
-
*/
|
|
4773
|
-
|
|
4774
|
-
/** Stable id for `@for` tracking while upload state is patched immutably. */
|
|
4775
|
-
declare function createPickerUploadItemId(): string;
|
|
4776
|
-
interface AXConversationComposerPickerUploadItem {
|
|
4777
|
-
id: string;
|
|
4778
|
-
file: File;
|
|
4779
|
-
preview?: string;
|
|
4780
|
-
duration?: number;
|
|
4781
|
-
uploadProgress?: number;
|
|
4782
|
-
uploading?: boolean;
|
|
4783
|
-
uploaded?: boolean;
|
|
4784
|
-
uploadedUrl?: string;
|
|
4785
|
-
mediaId?: string;
|
|
4786
|
-
error?: string;
|
|
4787
|
-
abortController?: AbortController;
|
|
4788
|
-
}
|
|
4789
|
-
declare function getPickerCancelUploadLabel(translation: AXTranslationService): string;
|
|
4790
|
-
declare function abortPickerUploads(items: Iterable<{
|
|
4791
|
-
abortController?: AbortController;
|
|
4792
|
-
} | null | undefined>): void;
|
|
4793
|
-
interface AXConversationCleanupPickerUploadsOptions {
|
|
4794
|
-
retainUploaded?: boolean;
|
|
4795
|
-
}
|
|
4796
|
-
/** Upload finished; reference is {@link mediaId} and/or a non-empty session url. */
|
|
4797
|
-
declare function isPickerItemReadyToSend(item: Pick<AXConversationComposerPickerUploadItem, 'uploaded' | 'uploadedUrl' | 'mediaId'>): boolean;
|
|
4798
|
-
/** Build uploader result shape for {@link *ItemFromUpload} after picker upload. */
|
|
4799
|
-
declare function pickerItemToUploadResult(item: Pick<AXConversationComposerPickerUploadItem, 'uploaded' | 'uploadedUrl' | 'mediaId' | 'file'>): {
|
|
4800
|
-
url: string;
|
|
4801
|
-
mediaId?: string;
|
|
4802
|
-
mimeType: string;
|
|
4803
|
-
size: number;
|
|
4804
|
-
} | null;
|
|
4805
|
-
declare function pickerItemToMediaReference(item: Pick<AXConversationComposerPickerUploadItem, 'uploaded' | 'uploadedUrl' | 'mediaId' | 'file'>): AXConversationUploaderReference | null;
|
|
4806
|
-
declare function deleteUploadedPickerMedia(uploader: AXUploaderService, items: Iterable<AXConversationComposerPickerUploadItem | null | undefined>): Promise<void>;
|
|
4807
|
-
declare function cleanupPickerUploads(uploader: AXUploaderService, items: Iterable<AXConversationComposerPickerUploadItem | null | undefined>, options?: AXConversationCleanupPickerUploadsOptions): void;
|
|
4808
|
-
declare function revokePickerBlobPreviews(items: Iterable<{
|
|
4809
|
-
preview?: string;
|
|
4810
|
-
} | null | undefined>): void;
|
|
4811
|
-
declare function isUploadAborted(error: unknown, signal?: AbortSignal): boolean;
|
|
4812
|
-
declare function limitFilesToCapacity(files: File[], currentCount: number, maxFiles: number): File[];
|
|
4813
|
-
declare function uploadPickerFile(uploader: AXUploaderService, conversationId: string, file: File, onProgress: (percent: number) => void, signal?: AbortSignal): Promise<{
|
|
4814
|
-
url: string;
|
|
4815
|
-
mediaId?: string;
|
|
4816
|
-
mimeType: string;
|
|
4817
|
-
size: number;
|
|
4818
|
-
}>;
|
|
4819
|
-
declare function notifyMaxFilesCapacityExceeded(toast: AXToastService, translation: AXTranslationService, maxFiles: number): void;
|
|
4820
|
-
/** User-facing message for a file validation failure. */
|
|
4821
|
-
declare function formatPickerValidationMessage(translation: AXTranslationService, file: File, error: AXValidationRuleResult | undefined): string;
|
|
4822
|
-
/** Show a warning toast for each failed validation rule result. */
|
|
4823
|
-
declare function notifyPickerValidationErrors(toast: AXToastService, translation: AXTranslationService, rejected: {
|
|
4824
|
-
file: File;
|
|
4825
|
-
errors: AXValidationRuleResult[];
|
|
4826
|
-
}[]): void;
|
|
4827
|
-
/** Close popup/action-sheet host or inline composer shell after send/cancel. */
|
|
4828
|
-
declare function dismissComposerPickerHost(composerService: AXConversationComposerService, popupRef?: AXPopupRef | null, actionSheetRef?: AXActionSheetRef | null): void;
|
|
4829
|
-
|
|
4830
4988
|
interface AXConversationAudioFile extends AXConversationComposerPickerUploadItem {
|
|
4831
4989
|
duration?: number;
|
|
4832
4990
|
dataUrl?: string;
|
|
@@ -4858,6 +5016,7 @@ declare class AXConversationAudioPickerComponent implements OnDestroy, AXConvers
|
|
|
4858
5016
|
private catalogFileTypeDef?;
|
|
4859
5017
|
caption: string;
|
|
4860
5018
|
groupItems: boolean;
|
|
5019
|
+
sendAsDocuments: boolean;
|
|
4861
5020
|
readonly allowMultiple: _angular_core.Signal<boolean>;
|
|
4862
5021
|
constructor();
|
|
4863
5022
|
activate(): Promise<void>;
|
|
@@ -4871,6 +5030,7 @@ declare class AXConversationAudioPickerComponent implements OnDestroy, AXConvers
|
|
|
4871
5030
|
renameAudio(index: number): Promise<void>;
|
|
4872
5031
|
replaceAttachment(index: number): Promise<void>;
|
|
4873
5032
|
sendAudio(): Promise<void>;
|
|
5033
|
+
private sendAudioAsDocuments;
|
|
4874
5034
|
canSend(): boolean;
|
|
4875
5035
|
getUploadingLabel(progress: number): string;
|
|
4876
5036
|
getCancelUploadLabel(): string;
|
|
@@ -4942,10 +5102,12 @@ declare class AXConversationFileFileTypeProvider extends AXFileTypeInfoProvider
|
|
|
4942
5102
|
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
4943
5103
|
}>[]>;
|
|
4944
5104
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationFileFileTypeProvider, never>;
|
|
4945
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
5105
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
4946
5106
|
}
|
|
4947
5107
|
|
|
4948
|
-
declare function fileItemFromUpload(file: File, result: AXConversationUploaderResult
|
|
5108
|
+
declare function fileItemFromUpload(file: File, result: AXConversationUploaderResult, extras?: {
|
|
5109
|
+
duration?: number;
|
|
5110
|
+
}): AXConversationFileMediaItem;
|
|
4949
5111
|
declare function mergeFileUploadResult(payload: AXConversationMessagePayload, result: AXUploadResult): AXConversationMessagePayload;
|
|
4950
5112
|
declare function applyFileLocalPreview(payload: AXConversationMessagePayload, localUrl: string, mimeType?: string): AXConversationMessagePayload;
|
|
4951
5113
|
|
|
@@ -4999,6 +5161,7 @@ declare class AXConversationFilePickerComponent implements OnDestroy, AXConversa
|
|
|
4999
5161
|
cancel(): void;
|
|
5000
5162
|
ngOnDestroy(): void;
|
|
5001
5163
|
private dismissPicker;
|
|
5164
|
+
private revokePreview;
|
|
5002
5165
|
getHeaderTitle(): string;
|
|
5003
5166
|
truncateFileName(fileName: string): string;
|
|
5004
5167
|
onAddMoreFiles(): void;
|
|
@@ -5025,7 +5188,7 @@ declare class AXConversationImageFileTypeProvider extends AXFileTypeInfoProvider
|
|
|
5025
5188
|
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5026
5189
|
}>[]>;
|
|
5027
5190
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationImageFileTypeProvider, never>;
|
|
5028
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
5191
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
5029
5192
|
}
|
|
5030
5193
|
|
|
5031
5194
|
type AXConversationMediaGalleryLayoutMode = 'single' | 'dual' | 'triple' | 'masonry';
|
|
@@ -5128,18 +5291,31 @@ declare class AXConversationPickerFooterComponent {
|
|
|
5128
5291
|
}
|
|
5129
5292
|
|
|
5130
5293
|
declare class AXConversationPickerHeaderComponent {
|
|
5294
|
+
private readonly translation;
|
|
5131
5295
|
readonly title: _angular_core.InputSignal<string>;
|
|
5132
5296
|
readonly showMenu: _angular_core.InputSignal<boolean>;
|
|
5133
5297
|
readonly addMoreLabel: _angular_core.InputSignal<string>;
|
|
5298
|
+
readonly closeLabel: _angular_core.InputSignal<string>;
|
|
5134
5299
|
readonly onClose: _angular_core.OutputEmitterRef<void>;
|
|
5135
5300
|
readonly onAddMore: _angular_core.OutputEmitterRef<void>;
|
|
5136
5301
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationPickerHeaderComponent, never>;
|
|
5137
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationPickerHeaderComponent, "ax-conversation-picker-header", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "showMenu": { "alias": "showMenu"; "required": false; "isSignal": true; }; "addMoreLabel": { "alias": "addMoreLabel"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; "onAddMore": "onAddMore"; }, never, never, true, never>;
|
|
5302
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationPickerHeaderComponent, "ax-conversation-picker-header", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "showMenu": { "alias": "showMenu"; "required": false; "isSignal": true; }; "addMoreLabel": { "alias": "addMoreLabel"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; "onAddMore": "onAddMore"; }, never, never, true, never>;
|
|
5138
5303
|
}
|
|
5139
5304
|
|
|
5305
|
+
/** Explorer/OS paste often has an empty MIME type; catalogs reject that. */
|
|
5306
|
+
declare function normalizeConversationInboundFile(file: File): File;
|
|
5140
5307
|
/** Extract OS-copied files from a paste event (e.g. Ctrl+V after copying a file in Explorer). */
|
|
5141
5308
|
declare function filesFromClipboardEvent(event: ClipboardEvent): File[];
|
|
5142
5309
|
|
|
5310
|
+
interface AXConversationMediaDimensions {
|
|
5311
|
+
width: number;
|
|
5312
|
+
height: number;
|
|
5313
|
+
duration: number;
|
|
5314
|
+
}
|
|
5315
|
+
declare function probeImageDimensions(source: Blob | string): Promise<Pick<AXConversationMediaDimensions, 'width' | 'height'>>;
|
|
5316
|
+
declare function probeAudioDuration(source: Blob): Promise<number>;
|
|
5317
|
+
declare function probeVideoMedia(source: Blob): Promise<AXConversationMediaDimensions>;
|
|
5318
|
+
|
|
5143
5319
|
declare function formatFileSize(bytes: number): string;
|
|
5144
5320
|
declare function formatDuration(seconds: number): string;
|
|
5145
5321
|
|
|
@@ -5281,16 +5457,21 @@ declare class AXConversationVideoFileTypeProvider extends AXFileTypeInfoProvider
|
|
|
5281
5457
|
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5282
5458
|
}>[]>;
|
|
5283
5459
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVideoFileTypeProvider, never>;
|
|
5284
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
5460
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
5285
5461
|
}
|
|
5286
5462
|
|
|
5287
|
-
declare function videoItemFromUpload(file: File, result: AXConversationUploaderResult, duration: number
|
|
5463
|
+
declare function videoItemFromUpload(file: File, result: AXConversationUploaderResult, duration: number, size?: {
|
|
5464
|
+
width?: number;
|
|
5465
|
+
height?: number;
|
|
5466
|
+
}): Promise<AXConversationVideoMediaItem>;
|
|
5288
5467
|
declare function mergeVideoUploadResult(payload: AXConversationMessagePayload, result: AXUploadResult): AXConversationMessagePayload;
|
|
5289
5468
|
declare function applyVideoLocalPreview(payload: AXConversationMessagePayload, localUrl: string, mimeType?: string): AXConversationMessagePayload;
|
|
5290
5469
|
|
|
5291
5470
|
interface AXConversationVideoFile extends AXConversationComposerPickerUploadItem {
|
|
5292
5471
|
preview?: string;
|
|
5293
5472
|
duration?: number;
|
|
5473
|
+
width?: number;
|
|
5474
|
+
height?: number;
|
|
5294
5475
|
}
|
|
5295
5476
|
declare class AXConversationVideoPickerComponent implements OnDestroy, AXConversationComposerActionComponent {
|
|
5296
5477
|
private uploadsDismissed;
|
|
@@ -5364,7 +5545,7 @@ declare class AXConversationVoiceFileTypeProvider extends AXFileTypeInfoProvider
|
|
|
5364
5545
|
[x: string]: (ctx: _acorex_core_file.AXFileTypeContext, ...args: unknown[]) => Promise<unknown> | unknown;
|
|
5365
5546
|
}>[]>;
|
|
5366
5547
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVoiceFileTypeProvider, never>;
|
|
5367
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
5548
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
5368
5549
|
}
|
|
5369
5550
|
|
|
5370
5551
|
declare function mergeVoiceUploadResult(payload: AXConversationMessagePayload, result: AXUploadResult): AXConversationMessagePayload;
|
|
@@ -5388,32 +5569,71 @@ declare class AXConversationVoiceRecorderComponent implements AXConversationComp
|
|
|
5388
5569
|
readonly recordingComplete: _angular_core.OutputEmitterRef<Blob>;
|
|
5389
5570
|
readonly recordingCancelled: _angular_core.OutputEmitterRef<void>;
|
|
5390
5571
|
readonly isRecording: _angular_core.WritableSignal<boolean>;
|
|
5572
|
+
readonly isPreview: _angular_core.WritableSignal<boolean>;
|
|
5573
|
+
readonly isPlayingPreview: _angular_core.WritableSignal<boolean>;
|
|
5391
5574
|
readonly isUploading: _angular_core.WritableSignal<boolean>;
|
|
5392
5575
|
readonly uploadProgress: _angular_core.WritableSignal<number>;
|
|
5393
5576
|
readonly recordingDuration: _angular_core.WritableSignal<number>;
|
|
5577
|
+
readonly previewUrl: _angular_core.WritableSignal<string>;
|
|
5578
|
+
readonly livePeaks: _angular_core.WritableSignal<number[]>;
|
|
5579
|
+
readonly liveBarCount: _angular_core.WritableSignal<number>;
|
|
5394
5580
|
private recordingStartTime;
|
|
5395
5581
|
private timerInterval?;
|
|
5396
5582
|
private mediaRecorder?;
|
|
5397
5583
|
private audioChunks;
|
|
5398
5584
|
private activeStream?;
|
|
5399
5585
|
private cancelled;
|
|
5586
|
+
private sendAfterStop;
|
|
5587
|
+
private sendInFlight;
|
|
5588
|
+
private awaitingPreviewData;
|
|
5589
|
+
private previewBlob;
|
|
5400
5590
|
private uploadAbortController?;
|
|
5591
|
+
private audioContext?;
|
|
5592
|
+
private analyser?;
|
|
5593
|
+
private timeDomain;
|
|
5594
|
+
private rafId;
|
|
5595
|
+
private lastLivePeakAt;
|
|
5596
|
+
private waveResizeObserver?;
|
|
5597
|
+
private readonly waveWrapRef;
|
|
5598
|
+
private readonly waveRef;
|
|
5401
5599
|
readonly formattedTime: _angular_core.Signal<string>;
|
|
5402
|
-
|
|
5600
|
+
readonly canSend: _angular_core.Signal<boolean>;
|
|
5601
|
+
readonly liveDisplayBars: _angular_core.Signal<{
|
|
5602
|
+
index: number;
|
|
5603
|
+
recorded: boolean;
|
|
5604
|
+
height: number;
|
|
5605
|
+
}[]>;
|
|
5606
|
+
readonly waveConfig: _angular_core.Signal<AXWaveConfig>;
|
|
5403
5607
|
constructor();
|
|
5404
5608
|
activate(): Promise<void>;
|
|
5405
5609
|
startRecording(): Promise<void>;
|
|
5406
5610
|
private dismissHost;
|
|
5407
|
-
|
|
5611
|
+
toggleStopOrContinue(): void;
|
|
5408
5612
|
stopRecording(): void;
|
|
5613
|
+
sendRecording(): void;
|
|
5614
|
+
deleteRecording(): void;
|
|
5409
5615
|
cancelRecording(): void;
|
|
5410
|
-
/** Close the voice recorder */
|
|
5411
5616
|
cancel(): void;
|
|
5617
|
+
togglePreview(): void;
|
|
5618
|
+
onWaveStatusChanged(event: AXAudioWaveChangeEvent): void;
|
|
5412
5619
|
abortInProgressUploads(): void;
|
|
5413
|
-
|
|
5620
|
+
private pauseRecording;
|
|
5621
|
+
private continueRecording;
|
|
5622
|
+
private flushPreviewIfWaiting;
|
|
5623
|
+
private buildRecordingBlob;
|
|
5624
|
+
private discardActiveRecorder;
|
|
5625
|
+
private releaseStream;
|
|
5626
|
+
private startLiveWave;
|
|
5627
|
+
private observeWaveWidth;
|
|
5628
|
+
private updateBarCount;
|
|
5629
|
+
private tickLiveWave;
|
|
5630
|
+
private stopLiveWave;
|
|
5631
|
+
private enterPreview;
|
|
5632
|
+
private pausePreview;
|
|
5633
|
+
private clearPreview;
|
|
5634
|
+
private clearPreviewUrl;
|
|
5414
5635
|
private clearTimer;
|
|
5415
5636
|
getUploadingLabel(): string;
|
|
5416
|
-
/** Send voice message */
|
|
5417
5637
|
private sendVoiceMessage;
|
|
5418
5638
|
private stopAndCleanup;
|
|
5419
5639
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVoiceRecorderComponent, never>;
|
|
@@ -5449,7 +5669,7 @@ declare function ensureConversationFileCatalogRegistered(registry: AXFileTypeReg
|
|
|
5449
5669
|
declare class AXConversationComposerFileTypesProvider extends AXFileTypeInfoProvider {
|
|
5450
5670
|
items(): Promise<AXFileType[]>;
|
|
5451
5671
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationComposerFileTypesProvider, never>;
|
|
5452
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
5672
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
5453
5673
|
}
|
|
5454
5674
|
|
|
5455
5675
|
declare function mergeUploadResult(type: AXConversationMessageType, payload: AXConversationMessagePayload, result: AXUploadResult): Promise<AXConversationMessagePayload>;
|
|
@@ -5521,6 +5741,7 @@ declare const AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION: AXConversationInfoBarActi
|
|
|
5521
5741
|
/**
|
|
5522
5742
|
* Delete/Leave conversation action (smart action that adapts based on conversation type)
|
|
5523
5743
|
* - Private: "Delete" - Deletes the conversation
|
|
5744
|
+
* - Bot: "Delete" - Deletes for both sides without a confirmation prompt
|
|
5524
5745
|
* - Group/Channel: "Leave & Delete" - Leaves the group and removes it from list
|
|
5525
5746
|
*/
|
|
5526
5747
|
declare const AX_CONVERSATION_INFO_BAR_DELETE_ACTION: AXConversationInfoBarAction;
|
|
@@ -5535,6 +5756,7 @@ declare class AXConversationAudioAttachmentComponent {
|
|
|
5535
5756
|
private readonly platformId;
|
|
5536
5757
|
protected readonly translation: AXTranslationService;
|
|
5537
5758
|
readonly item: _angular_core.InputSignal<AXConversationAudioMediaItem>;
|
|
5759
|
+
readonly look: _angular_core.InputSignal<"file" | "player">;
|
|
5538
5760
|
readonly playingChange: _angular_core.OutputEmitterRef<boolean>;
|
|
5539
5761
|
readonly timeUpdate: _angular_core.OutputEmitterRef<number>;
|
|
5540
5762
|
readonly durationChange: _angular_core.OutputEmitterRef<number>;
|
|
@@ -5554,9 +5776,12 @@ declare class AXConversationAudioAttachmentComponent {
|
|
|
5554
5776
|
readonly effectiveDuration: _angular_core.Signal<number>;
|
|
5555
5777
|
readonly sliderMax: _angular_core.Signal<number>;
|
|
5556
5778
|
readonly currentTimeLabel: _angular_core.Signal<string>;
|
|
5779
|
+
readonly durationLabel: _angular_core.Signal<string>;
|
|
5557
5780
|
readonly downloadName: _angular_core.Signal<string>;
|
|
5558
5781
|
constructor();
|
|
5559
5782
|
togglePlay(): void;
|
|
5783
|
+
onPlayClick(event: AXClickEvent): void;
|
|
5784
|
+
onNativePlayClick(event: Event): void;
|
|
5560
5785
|
pause(): void;
|
|
5561
5786
|
setPlaybackRate(rate: number): void;
|
|
5562
5787
|
setMuted(muted: boolean): void;
|
|
@@ -5569,10 +5794,16 @@ declare class AXConversationAudioAttachmentComponent {
|
|
|
5569
5794
|
onError(): void;
|
|
5570
5795
|
onCoverError(): void;
|
|
5571
5796
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationAudioAttachmentComponent, never>;
|
|
5572
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationAudioAttachmentComponent, "ax-conversation-audio-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; }, { "playingChange": "playingChange"; "timeUpdate": "timeUpdate"; "durationChange": "durationChange"; "playbackEnded": "playbackEnded"; "playbackError": "playbackError"; }, never, never, true, never>;
|
|
5797
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationAudioAttachmentComponent, "ax-conversation-audio-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; }, { "playingChange": "playingChange"; "timeUpdate": "timeUpdate"; "durationChange": "durationChange"; "playbackEnded": "playbackEnded"; "playbackError": "playbackError"; }, never, never, true, never>;
|
|
5573
5798
|
}
|
|
5574
5799
|
|
|
5800
|
+
type AXConversationFileVisualKind = 'image' | 'video' | 'audio' | 'file';
|
|
5801
|
+
|
|
5575
5802
|
declare class AXConversationFileAttachmentComponent {
|
|
5803
|
+
private readonly platformId;
|
|
5804
|
+
private readonly document;
|
|
5805
|
+
protected readonly translation: AXTranslationService;
|
|
5806
|
+
private readonly thumbImage;
|
|
5576
5807
|
readonly item: _angular_core.InputSignal<AXConversationFileMediaItem>;
|
|
5577
5808
|
private readonly mediaReference;
|
|
5578
5809
|
private readonly resolvedUrl;
|
|
@@ -5581,6 +5812,11 @@ declare class AXConversationFileAttachmentComponent {
|
|
|
5581
5812
|
readonly fileSize: _angular_core.Signal<number>;
|
|
5582
5813
|
readonly fileExtension: _angular_core.Signal<string>;
|
|
5583
5814
|
readonly formattedSize: _angular_core.Signal<string>;
|
|
5815
|
+
readonly kind: _angular_core.Signal<AXConversationFileVisualKind>;
|
|
5816
|
+
readonly isMedia: _angular_core.Signal<boolean>;
|
|
5817
|
+
readonly thumbUrl: _angular_core.Signal<string>;
|
|
5818
|
+
readonly previewSrc: _angular_core.Signal<string>;
|
|
5819
|
+
openImage(event: Event): void;
|
|
5584
5820
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationFileAttachmentComponent, never>;
|
|
5585
5821
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationFileAttachmentComponent, "ax-conversation-file-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5586
5822
|
}
|
|
@@ -5594,7 +5830,10 @@ declare class AXConversationImageAttachmentComponent {
|
|
|
5594
5830
|
private readonly document;
|
|
5595
5831
|
readonly item: _angular_core.InputSignal<AXConversationImageMediaItem>;
|
|
5596
5832
|
readonly alt: _angular_core.InputSignal<string>;
|
|
5833
|
+
/** When false, skip aspect-ratio reservation (gallery cells already have a fixed size). */
|
|
5834
|
+
readonly reserveAspect: _angular_core.InputSignal<boolean>;
|
|
5597
5835
|
readonly ready: _angular_core.WritableSignal<boolean>;
|
|
5836
|
+
readonly aspectRatio: _angular_core.Signal<string>;
|
|
5598
5837
|
private readonly mediaReference;
|
|
5599
5838
|
private readonly resolvedUrl;
|
|
5600
5839
|
readonly displayUrl: _angular_core.Signal<string>;
|
|
@@ -5603,7 +5842,7 @@ declare class AXConversationImageAttachmentComponent {
|
|
|
5603
5842
|
onImageError(): void;
|
|
5604
5843
|
toggleFullscreen(event: AXClickEvent): void;
|
|
5605
5844
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationImageAttachmentComponent, never>;
|
|
5606
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationImageAttachmentComponent, "ax-conversation-image-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5845
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationImageAttachmentComponent, "ax-conversation-image-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "reserveAspect": { "alias": "reserveAspect"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5607
5846
|
}
|
|
5608
5847
|
|
|
5609
5848
|
interface AXConversationPlaybackBannerInputs {
|
|
@@ -5714,6 +5953,8 @@ declare function syncPlaybackInfoBarBanner(infoBar: AXConversationInfoBarService
|
|
|
5714
5953
|
|
|
5715
5954
|
declare class AXConversationVideoAttachmentComponent {
|
|
5716
5955
|
readonly item: _angular_core.InputSignal<AXConversationVideoMediaItem>;
|
|
5956
|
+
/** When false, skip aspect-ratio reservation (gallery cells already have a fixed size). */
|
|
5957
|
+
readonly reserveAspect: _angular_core.InputSignal<boolean>;
|
|
5717
5958
|
readonly playingChange: _angular_core.OutputEmitterRef<boolean>;
|
|
5718
5959
|
readonly timeUpdate: _angular_core.OutputEmitterRef<number>;
|
|
5719
5960
|
readonly durationChange: _angular_core.OutputEmitterRef<number>;
|
|
@@ -5725,6 +5966,7 @@ declare class AXConversationVideoAttachmentComponent {
|
|
|
5725
5966
|
readonly playbackUrl: _angular_core.Signal<string>;
|
|
5726
5967
|
readonly duration: _angular_core.Signal<number>;
|
|
5727
5968
|
readonly durationLabel: _angular_core.Signal<string>;
|
|
5969
|
+
readonly aspectRatio: _angular_core.Signal<string>;
|
|
5728
5970
|
togglePlay(): void;
|
|
5729
5971
|
pause(): void;
|
|
5730
5972
|
onLoadedMetadata(): void;
|
|
@@ -5734,7 +5976,7 @@ declare class AXConversationVideoAttachmentComponent {
|
|
|
5734
5976
|
onEnded(): void;
|
|
5735
5977
|
onError(): void;
|
|
5736
5978
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVideoAttachmentComponent, never>;
|
|
5737
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationVideoAttachmentComponent, "ax-conversation-video-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; }, { "playingChange": "playingChange"; "timeUpdate": "timeUpdate"; "durationChange": "durationChange"; "playbackEnded": "playbackEnded"; "playbackError": "playbackError"; }, never, never, true, never>;
|
|
5979
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationVideoAttachmentComponent, "ax-conversation-video-attachment", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "reserveAspect": { "alias": "reserveAspect"; "required": false; "isSignal": true; }; }, { "playingChange": "playingChange"; "timeUpdate": "timeUpdate"; "durationChange": "durationChange"; "playbackEnded": "playbackEnded"; "playbackError": "playbackError"; }, never, never, true, never>;
|
|
5738
5980
|
}
|
|
5739
5981
|
|
|
5740
5982
|
declare class AXConversationAudioRendererComponent extends AXConversationMessageRendererCopyHostComponent {
|
|
@@ -5802,19 +6044,56 @@ declare class AXConversationFallbackRendererComponent implements AXConversationM
|
|
|
5802
6044
|
declare class AXConversationFileRendererComponent extends AXConversationMessageRendererCopyHostComponent {
|
|
5803
6045
|
private readonly fileTypes;
|
|
5804
6046
|
private readonly translation;
|
|
6047
|
+
private readonly destroyRef;
|
|
6048
|
+
private readonly infoBarService;
|
|
6049
|
+
private readonly audioAttachments;
|
|
6050
|
+
private readonly _contentState;
|
|
6051
|
+
private readonly activeTrackIndex;
|
|
6052
|
+
private readonly isPlaying;
|
|
6053
|
+
private readonly currentTime;
|
|
6054
|
+
private readonly duration;
|
|
6055
|
+
readonly playbackSpeed: _angular_core.WritableSignal<number>;
|
|
6056
|
+
readonly isMuted: _angular_core.WritableSignal<boolean>;
|
|
6057
|
+
private lastBannerSyncAt;
|
|
6058
|
+
private readonly speeds;
|
|
6059
|
+
private readonly bannerTogglePlay;
|
|
6060
|
+
private readonly bannerClose;
|
|
6061
|
+
private readonly bannerCycleSpeed;
|
|
6062
|
+
private readonly bannerToggleMute;
|
|
5805
6063
|
readonly message: _angular_core.InputSignal<AXConversationMessage>;
|
|
5806
6064
|
readonly rendererState: _angular_core.Signal<{
|
|
5807
6065
|
deliveryStatus: _acorex_components_conversation.AXConversationMessageStatus;
|
|
5808
|
-
contentState:
|
|
6066
|
+
contentState: AXConversationMessageRendererContentState;
|
|
5809
6067
|
}>;
|
|
5810
6068
|
readonly payload: _angular_core.Signal<AXConversationFilePayload>;
|
|
5811
|
-
readonly files: _angular_core.Signal<
|
|
6069
|
+
readonly files: _angular_core.Signal<AXConversationFileMediaItem[]>;
|
|
5812
6070
|
readonly caption: _angular_core.Signal<string>;
|
|
6071
|
+
readonly fileRows: _angular_core.Signal<{
|
|
6072
|
+
file: AXConversationFileMediaItem;
|
|
6073
|
+
isAudio: boolean;
|
|
6074
|
+
audio: _acorex_components_conversation.AXConversationAudioMediaItem;
|
|
6075
|
+
trackIndex: number;
|
|
6076
|
+
}[]>;
|
|
5813
6077
|
copy(): Promise<string>;
|
|
6078
|
+
constructor();
|
|
6079
|
+
isAudioFile(file: AXConversationFileMediaItem): boolean;
|
|
6080
|
+
onPlayingChange(trackIndex: number, playing: boolean): void;
|
|
6081
|
+
onTimeUpdate(trackIndex: number, time: number): void;
|
|
6082
|
+
onDurationChange(trackIndex: number, duration: number): void;
|
|
6083
|
+
onPlaybackEnded(trackIndex: number): void;
|
|
6084
|
+
onPlaybackError(): void;
|
|
6085
|
+
togglePlay(): void;
|
|
6086
|
+
cyclePlaybackSpeed(): void;
|
|
6087
|
+
toggleMute(): void;
|
|
6088
|
+
private pauseOtherTracks;
|
|
6089
|
+
private pausePlayback;
|
|
6090
|
+
private applyPlaybackSettings;
|
|
6091
|
+
private syncInfoBarBanner;
|
|
5814
6092
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationFileRendererComponent, never>;
|
|
5815
6093
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationFileRendererComponent, "ax-conversation-file-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5816
6094
|
}
|
|
5817
6095
|
|
|
6096
|
+
declare function fileItemAsAudioMedia(item: AXConversationFileMediaItem): AXConversationAudioMediaItem;
|
|
5818
6097
|
declare function normalizeFilePayload(payload: AXConversationFilePayload): AXConversationFilePayload;
|
|
5819
6098
|
|
|
5820
6099
|
declare class AXConversationImageRendererComponent extends AXConversationMessageRendererCopyHostComponent {
|
|
@@ -5844,6 +6123,12 @@ declare function resolveImageDisplayUrl(image: AXConversationImageMediaItem): st
|
|
|
5844
6123
|
|
|
5845
6124
|
declare class AXConversationLocationRendererComponent extends AXConversationMessageRendererCopyHostComponent {
|
|
5846
6125
|
private readonly _contentState;
|
|
6126
|
+
private readonly platformId;
|
|
6127
|
+
private readonly document;
|
|
6128
|
+
private readonly fullScreen;
|
|
6129
|
+
private readonly destroyRef;
|
|
6130
|
+
private readonly mapHost;
|
|
6131
|
+
private readonly map;
|
|
5847
6132
|
protected readonly translation: AXTranslationService;
|
|
5848
6133
|
readonly message: _angular_core.InputSignal<AXConversationMessage>;
|
|
5849
6134
|
readonly rendererState: _angular_core.Signal<{
|
|
@@ -5865,6 +6150,14 @@ declare class AXConversationLocationRendererComponent extends AXConversationMess
|
|
|
5865
6150
|
popupOpen: boolean;
|
|
5866
6151
|
popupCloseButton: boolean;
|
|
5867
6152
|
}[]>;
|
|
6153
|
+
readonly mapIsFullscreen: _angular_core.Signal<boolean>;
|
|
6154
|
+
readonly mapFullscreenLabel: _angular_core.Signal<string>;
|
|
6155
|
+
readonly mapFullscreenIconClass: _angular_core.Signal<"fa-light fa-compress" | "fa-light fa-expand">;
|
|
6156
|
+
constructor();
|
|
6157
|
+
openInMaps(event: AXClickEvent): void;
|
|
6158
|
+
toggleMapFullscreen(event: AXClickEvent): void;
|
|
6159
|
+
private exitMapFullscreen;
|
|
6160
|
+
protected scheduleMapResize(): void;
|
|
5868
6161
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationLocationRendererComponent, never>;
|
|
5869
6162
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationLocationRendererComponent, "ax-conversation-location-renderer", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5870
6163
|
}
|
|
@@ -5882,6 +6175,7 @@ declare class AXConversationStickerRendererComponent implements AXConversationMe
|
|
|
5882
6175
|
private readonly resolvedUrl;
|
|
5883
6176
|
readonly stickerUrl: _angular_core.Signal<string>;
|
|
5884
6177
|
readonly alt: _angular_core.Signal<string>;
|
|
6178
|
+
readonly aspectRatio: _angular_core.Signal<string>;
|
|
5885
6179
|
constructor();
|
|
5886
6180
|
onLoad(): void;
|
|
5887
6181
|
onError(): void;
|
|
@@ -5913,6 +6207,10 @@ declare class AXConversationTextRendererComponent extends AXConversationMessageR
|
|
|
5913
6207
|
}>;
|
|
5914
6208
|
readonly searchQuery: _angular_core.Signal<string>;
|
|
5915
6209
|
copy(): string;
|
|
6210
|
+
readonly jumboCount: _angular_core.Signal<number>;
|
|
6211
|
+
readonly isJumbo: _angular_core.Signal<boolean>;
|
|
6212
|
+
readonly jumboText: _angular_core.Signal<string>;
|
|
6213
|
+
readonly jumboGraphemes: _angular_core.Signal<string[]>;
|
|
5916
6214
|
readonly formattedText: _angular_core.Signal<SafeHtml>;
|
|
5917
6215
|
private linkify;
|
|
5918
6216
|
private highlightSearch;
|
|
@@ -6077,6 +6375,7 @@ declare const AX_CONVERSATION_ITEM_DIVIDER: AXConversationItemAction;
|
|
|
6077
6375
|
/**
|
|
6078
6376
|
* Delete/Leave conversation action (smart action that adapts based on conversation type)
|
|
6079
6377
|
* - Private: "Delete" - Deletes the conversation
|
|
6378
|
+
* - Bot: "Delete" - Deletes for both sides without a confirmation prompt
|
|
6080
6379
|
* - Group/Channel: "Leave & Delete" - Leaves the group and removes it from list
|
|
6081
6380
|
*/
|
|
6082
6381
|
declare const AX_CONVERSATION_ITEM_DELETE_ACTION: AXConversationItemAction;
|
|
@@ -6576,5 +6875,5 @@ declare function getErrorMessage(code: string, params?: Record<string, string |
|
|
|
6576
6875
|
*/
|
|
6577
6876
|
type AXConversationErrorCode = typeof AX_CONVERSATION_MESSAGE_ERRORS[keyof typeof AX_CONVERSATION_MESSAGE_ERRORS]['code'] | typeof AX_CONVERSATION_FILE_ERRORS[keyof typeof AX_CONVERSATION_FILE_ERRORS]['code'] | typeof AX_CONVERSATION_USER_ERRORS[keyof typeof AX_CONVERSATION_USER_ERRORS]['code'] | typeof AX_CONVERSATION_ERRORS[keyof typeof AX_CONVERSATION_ERRORS]['code'] | typeof AX_CONVERSATION_CONNECTION_ERRORS[keyof typeof AX_CONVERSATION_CONNECTION_ERRORS]['code'] | typeof AX_CONVERSATION_LOCATION_ERRORS[keyof typeof AX_CONVERSATION_LOCATION_ERRORS]['code'] | typeof AX_CONVERSATION_URL_ERRORS[keyof typeof AX_CONVERSATION_URL_ERRORS]['code'];
|
|
6578
6877
|
|
|
6579
|
-
export { AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationAvatarComponent, AXConversationAvatarPickerComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerGenerationStateService, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationDeleteDialogComponent, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerOptionsComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryComponentOutletComponent, AXConversationRegistryService, AXConversationService, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_BUILTIN_COMPOSER_TABS, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONFIG, AX_CONVERSATION_CONNECTION_ERRORS, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, AX_CONVERSATION_DEFAULT_COMPOSER_TABS, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, AX_CONVERSATION_DEFAULT_GROUP_ICON, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, AX_CONVERSATION_DEFAULT_ROOM_PREFERENCES, AX_CONVERSATION_DEFAULT_USER_ICON, AX_CONVERSATION_ERRORS, AX_CONVERSATION_ERROR_HANDLER_CONFIG, AX_CONVERSATION_ERROR_MESSAGES, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_ERRORS, AX_CONVERSATION_FILE_PRESENTATION, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_FILE_TYPES_READY, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_LOCATION_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_ERRORS, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, AX_CONVERSATION_PEER_AVATAR_TYPES, AX_CONVERSATION_REGISTRY_CONFIG, AX_CONVERSATION_STICKER_API_KEY, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_URL_ERRORS, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_USER_ERRORS, AX_CONVERSATION_VIDEO_CATALOG, AX_CONVERSATION_VIDEO_PRESENTATION, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_CATALOG, AX_CONVERSATION_VOICE_PRESENTATION, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, abortPickerUploads, applyAudioLocalPreview, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createPickerUploadItemId, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, ensureConversationFileCatalogRegistered, fetchConversationMediaPage, fileItemFromUpload, filesFromClipboardEvent, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getActiveComposerPickerPasteHandler, getConversationMediaCategories, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, hasRegistryComponent, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerTabEnabled, isConversationReactionsEnabled, isConversationRoomCreator, isGenericPrivateConversationTitle, isGridMediaCategory, isGroupLikeConversation, isMessageDeliveryPending, isMessageListThemeBackground, isMessageVisibleAfterHistoryCutoff, isNonPersistableMediaUrl, isPickerItemReadyToSend, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAudioPayload, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, pickDisplayMediaUrl, pickEarliestJoinedParticipant, pickerItemToMediaReference, pickerItemToUploadResult, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerComposerPickerPasteHandler, reportMediaLoadError, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationPeerParticipant, resolveConversationPeerUserId, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, shouldUseUserAvatarForConversation, sortUsersForForward, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, uploadPickerFile, usesDefaultMessageListWallpaper, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
|
|
6580
|
-
export type { AXConversation, AXConversationApiError, AXConversationApiLogEntry, AXConversationApiName, AXConversationAudioMediaItem, AXConversationAudioPayload, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationBlockReportReason, AXConversationCleanupPickerUploadsOptions, AXConversationComposerAction, AXConversationComposerActionComponent, AXConversationComposerActionContext, AXConversationComposerGenerationPhase, AXConversationComposerPickerUploadItem, AXConversationComposerPrimaryButtonMode, AXConversationComposerTab, AXConversationComposerTabFeature, AXConversationConfig, AXConversationConnectionStatus, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationDateSeparatorKind, AXConversationDeleteDialogMode, AXConversationDeleteDialogResult, AXConversationDeleteMessageCommand, AXConversationDeleteOptions, AXConversationDropdownMenuItem, AXConversationEditMessageCommand, AXConversationError, AXConversationErrorCode, AXConversationErrorHandlerConfig, AXConversationErrorMessage, AXConversationErrorSeverity, AXConversationFeatures, AXConversationFileMediaItem, AXConversationFilePayload, AXConversationFilter, AXConversationFilters, AXConversationForwardUserSortEntry, AXConversationGroupedReaction, AXConversationImageMediaItem, AXConversationImagePayload, AXConversationInfoBarAction, AXConversationInfoBarActionComponent, AXConversationInfoBarActionContext, AXConversationInfoBarActiveBanner, AXConversationInfoBarActiveComponent, AXConversationInfoProfileField, AXConversationItemAction, AXConversationItemActionContext, AXConversationLink, AXConversationLinkPreview, AXConversationLoadMessagesResult, AXConversationLocationPayload, AXConversationMediaCategory, AXConversationMediaCategoryId, AXConversationMediaGalleryTile, AXConversationMediaItemFields, AXConversationMediaPageResult, AXConversationMention, AXConversationMessage, AXConversationMessageAction, AXConversationMessageActionContext, AXConversationMessageClusterRole, AXConversationMessageDateGroup, AXConversationMessageForwardData, AXConversationMessageInfoBarBannerComponent, AXConversationMessageListBackground, AXConversationMessageListBackgroundPreset, AXConversationMessageListEmptyComponent, AXConversationMessageListThemeBackground, AXConversationMessagePayload, AXConversationMessageRenderer, AXConversationMessageRendererCapabilities, AXConversationMessageRendererComponent, AXConversationMessageRendererContentState, AXConversationMessageRendererState, AXConversationMessageSearchFilters, AXConversationMessageStatus, AXConversationMessageType, AXConversationMetadata, AXConversationOptions, AXConversationOutletSkeleton, AXConversationPaginatedResult, AXConversationPagination, AXConversationPaginationState, AXConversationParticipant, AXConversationParticipantRole, AXConversationParticipantUpdate, AXConversationPickerPasteHandler, AXConversationPinnedMessage, AXConversationPlaybackBannerInputs, AXConversationPollOption, AXConversationPollPayload, AXConversationPresenceStatus, AXConversationPresenceUpdate, AXConversationReaction, AXConversationReadReceipt, AXConversationRegistryComponentRef, AXConversationRegistryConfiguration, AXConversationRegistryItem, AXConversationRoomPreferences, AXConversationRoomPreferencesMap, AXConversationSendMessageCommand, AXConversationSendMessageOptions, AXConversationSendMessageUploadSource, AXConversationSettingsUpdate, AXConversationSidebarTabsOrientation, AXConversationSort, AXConversationStickerPayload, AXConversationSystemPayload, AXConversationTab, AXConversationTextFormat, AXConversationTextPayload, AXConversationType, AXConversationTypingIndicator, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUploaderFilePreview, AXConversationUploaderReference, AXConversationUploaderResult, AXConversationUser, AXConversationUserAvatarComponent, AXConversationUserPresence, AXConversationUserProfile, AXConversationUserProfileUpdate, AXConversationUserSearchFilters, AXConversationValidationResult, AXConversationVideoMediaItem, AXConversationVideoPayload, AXConversationVoicePayload };
|
|
6878
|
+
export { AXConversationApi, AXConversationApiLoggerService, AXConversationAudioAttachmentComponent, AXConversationAudioFileTypeProvider, AXConversationAudioPickerComponent, AXConversationAudioRendererComponent, AXConversationAvatarComponent, AXConversationAvatarPickerComponent, AXConversationBaseRegistry, AXConversationComposerActionRegistry, AXConversationComposerComponent, AXConversationComposerFileTypesProvider, AXConversationComposerGenerationStateService, AXConversationComposerPopupComponent, AXConversationComposerService, AXConversationComposerTabRegistry, AXConversationContainerComponent, AXConversationContainerDirective, AXConversationDateUtilsService, AXConversationDeleteDialogComponent, AXConversationEmojiTabComponent, AXConversationErrorHandlerService, AXConversationFallbackRendererComponent, AXConversationFileAttachmentComponent, AXConversationFileFileTypeProvider, AXConversationFilePickerComponent, AXConversationFileRendererComponent, AXConversationForwardMessageDialogComponent, AXConversationImageAttachmentComponent, AXConversationImageFileTypeProvider, AXConversationImagePickerComponent, AXConversationImageRendererComponent, AXConversationInfiniteScrollDirective, AXConversationInfoBarActionRegistry, AXConversationInfoBarComponent, AXConversationInfoBarSearchComponent, AXConversationInfoBarService, AXConversationItemActionRegistry, AXConversationLocationPickerComponent, AXConversationLocationRendererComponent, AXConversationMediaPlaybackInfoBarBannerComponent, AXConversationMessageActionRegistry, AXConversationMessageApi, AXConversationMessageListComponent, AXConversationMessageListNoActiveDefaultComponent, AXConversationMessageListService, AXConversationMessageRendererCopyHostComponent, AXConversationMessageRendererRegistry, AXConversationMessageRendererStateComponent, AXConversationMessageUtilsService, AXConversationModule, AXConversationNewDialogComponent, AXConversationPickerCaptionComponent, AXConversationPickerEmptyComponent, AXConversationPickerFooterComponent, AXConversationPickerHeaderComponent, AXConversationPickerOptionsComponent, AXConversationPickerShellComponent, AXConversationPickerToolbarComponent, AXConversationRealtimeApi, AXConversationRegistryComponentOutletComponent, AXConversationRegistryService, AXConversationService, AXConversationSidebarComponent, AXConversationSidebarService, AXConversationStickerRendererComponent, AXConversationStickerTabComponent, AXConversationSystemRendererComponent, AXConversationTabRegistry, AXConversationTextRendererComponent, AXConversationUserApi, AXConversationVideoAttachmentComponent, AXConversationVideoFileTypeProvider, AXConversationVideoPickerComponent, AXConversationVideoRendererComponent, AXConversationVoiceFileTypeProvider, AXConversationVoiceRecorderComponent, AXConversationVoiceRendererComponent, AX_CONVERSATION_AUDIO_CATALOG, AX_CONVERSATION_AUDIO_PRESENTATION, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_BUILTIN_COMPOSER_TABS, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_CONFIG, AX_CONVERSATION_CONNECTION_ERRORS, AX_CONVERSATION_CONVERSATION_AVATAR_COMPONENT, AX_CONVERSATION_DEFAULT_COMPOSER_ACTIONS, AX_CONVERSATION_DEFAULT_COMPOSER_TABS, AX_CONVERSATION_DEFAULT_CONVERSATION_ITEM_ACTIONS, AX_CONVERSATION_DEFAULT_CONVERSATION_TABS, AX_CONVERSATION_DEFAULT_GROUP_ICON, AX_CONVERSATION_DEFAULT_INFO_BAR_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_ACTIONS, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_BACKGROUND_PRESET_ID, AX_CONVERSATION_DEFAULT_MESSAGE_LIST_THEME_BACKGROUND, AX_CONVERSATION_DEFAULT_MESSAGE_RENDERERS, AX_CONVERSATION_DEFAULT_ROOM_PREFERENCES, AX_CONVERSATION_DEFAULT_USER_ICON, AX_CONVERSATION_ERRORS, AX_CONVERSATION_ERROR_HANDLER_CONFIG, AX_CONVERSATION_ERROR_MESSAGES, AX_CONVERSATION_FALLBACK_RENDERER, AX_CONVERSATION_FILE_CATALOG, AX_CONVERSATION_FILE_ERRORS, AX_CONVERSATION_FILE_PRESENTATION, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_FILE_TYPES_READY, AX_CONVERSATION_IMAGE_CATALOG, AX_CONVERSATION_IMAGE_PRESENTATION, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_INFO_BAR_ARCHIVE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_JUMBO_EMOJI_MAX, AX_CONVERSATION_LOCATION_ERRORS, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_ERRORS, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_LIST_BACKGROUND_PRESETS, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_TYPE_FILE_TYPE, AX_CONVERSATION_PEER_AVATAR_TYPES, AX_CONVERSATION_REGISTRY_CONFIG, AX_CONVERSATION_STICKER_API_KEY, AX_CONVERSATION_STICKER_RENDERER, AX_CONVERSATION_SYSTEM_RENDERER, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_TAB_BOT, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_URL_ERRORS, AX_CONVERSATION_USER_AVATAR_COMPONENT, AX_CONVERSATION_USER_ERRORS, AX_CONVERSATION_VIDEO_CATALOG, AX_CONVERSATION_VIDEO_PRESENTATION, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_VOICE_CATALOG, AX_CONVERSATION_VOICE_PRESENTATION, AX_CONVERSATION_VOICE_RENDERER, AX_DEFAULT_CONVERSATION_CONFIG, abortPickerUploads, applyAudioLocalPreview, applyFileLocalPreview, applyLocalPreview, applyVideoLocalPreview, applyVoiceLocalPreview, audioItemFromUpload, bindMediaRendererContentState, buildMediaGalleryTiles, canShowRendererContentError, cleanupPickerUploads, conversationAudioUtilities, conversationFileUtilities, conversationImageUtilities, conversationVideoUtilities, conversationVoiceUtilities, copyWithFileTypeFallback, countLoneEmojis, createConversationAudioFileType, createConversationFileFileType, createConversationImageFileType, createConversationVideoFileType, createConversationVoiceFileType, createLocalPreviewUrl, createObjectUrl, createPickerDragHandlers, createPickerUploadItemId, createResolvedMediaUrlSignal, deleteUploadedPickerMedia, dismissComposerPickerHost, ensureConversationFileCatalogRegistered, fetchConversationMediaPage, fileItemAsAudioMedia, fileItemFromUpload, filesFromClipboardEvent, filterMessagesByMediaCategory, filterSupplementalInfoPanelMessages, findExistingPrivateConversation, formatDuration, formatErrorMessage, formatFileByteSize, formatFileSize, formatMediaDuration, formatPickerValidationMessage, getActiveComposerPickerPasteHandler, getConversationMediaCategories, getConversationProfileFields, getErrorMessage, getMessageAudioItems, getMessageVideoItems, getPickerCancelUploadLabel, getPrivatePeerParticipant, hasRegistryComponent, inferFileExtensionHintFromMessage, isAttachmentListCategory, isComposerAttachmentBannerEnabled, isComposerTabEnabled, isConversationReactionsEnabled, isConversationRoomCreator, isGenericPrivateConversationTitle, isGridMediaCategory, isGroupLikeConversation, isJumboEmojiText, isJumboEmojiTextMessage, isMessageDeliveryPending, isMessageListThemeBackground, isMessageVisibleAfterHistoryCutoff, isNonPersistableMediaUrl, isPickerItemReadyToSend, isPlainChromeMessage, isSameMessageListBackground, isUploadAborted, limitFilesToCapacity, listTextGraphemes, mediaCopyText, mergeAudioUploadResult, mergeFileUploadResult, mergeInfoPanelMessages, mergeUploadResult, mergeVideoUploadResult, mergeVoiceUploadResult, mergeWithDefaults, messageContainsLink, normalizeAudioPayload, normalizeConversationInboundFile, normalizeFilePayload, normalizeImagePayload, normalizeMessageListBackgroundValue, normalizeVideoPayload, notifyMaxFilesCapacityExceeded, notifyPickerValidationErrors, openWithFileType, pickDisplayMediaUrl, pickEarliestJoinedParticipant, pickerItemToMediaReference, pickerItemToUploadResult, probeAudioDuration, probeImageDimensions, probeVideoMedia, provideConversation, provideConversationComposerFileTypes, provideConversationFileCatalog, registerComposerPickerPasteHandler, reportMediaLoadError, resolveComposerAttachmentPresentation, resolveComposerMaxFiles, resolveConversationAvatarDisplay, resolveConversationComposerTabs, resolveConversationForViewer, resolveConversationMessageFileType, resolveConversationPeerParticipant, resolveConversationPeerUserId, resolveConversationTitleForViewer, resolveGalleryImageUrl, resolveImageDisplayUrl, resolveMessageChrome, resolveMessageListBackgroundRaw, resolveMessageListBackgroundStyle, resolveParticipantProfile, resolvePersistableMediaUrl, resolvePersistedThumbnailUrl, resolvePrivatePeerParticipant, resolvePrivatePeerUserId, resolveUserAvatarDisplay, resolveVideoThumbnailUrl, revokeObjectUrl, revokePickerBlobPreviews, sanitizeInput, shouldUseUserAvatarForConversation, sortUsersForForward, syncPlaybackInfoBarBanner, toUploaderReference as toMediaItemUploaderReference, toUploaderReference$1 as toUploaderReference, uploadPickerFile, usesDefaultMessageListWallpaper, validateConversationId, validateEmail, validateLatitude, validateLongitude, validateMessagePayload, validateMessageText, validateMessageType, validateUrl, validateUserId, validateUserIds, videoItemFromUpload };
|
|
6879
|
+
export type { AXConversation, AXConversationApiError, AXConversationApiLogEntry, AXConversationApiName, AXConversationAudioMediaItem, AXConversationAudioPayload, AXConversationAvatarComponents, AXConversationAvatarDisplay, AXConversationAvatarKind, AXConversationBlockReportReason, AXConversationCleanupPickerUploadsOptions, AXConversationComposerAction, AXConversationComposerActionComponent, AXConversationComposerActionContext, AXConversationComposerAttachmentPresentation, AXConversationComposerDraftAttachment, AXConversationComposerDraftAttachmentKind, AXConversationComposerGenerationPhase, AXConversationComposerPickerUploadItem, AXConversationComposerPrimaryButtonMode, AXConversationComposerTab, AXConversationComposerTabFeature, AXConversationConfig, AXConversationConnectionStatus, AXConversationConversationAvatarComponent, AXConversationCreateData, AXConversationDateSeparatorKind, AXConversationDeleteDialogMode, AXConversationDeleteDialogResult, AXConversationDeleteMessageCommand, AXConversationDeleteOptions, AXConversationDropdownMenuItem, AXConversationEditMessageCommand, AXConversationError, AXConversationErrorCode, AXConversationErrorHandlerConfig, AXConversationErrorMessage, AXConversationErrorSeverity, AXConversationFeatures, AXConversationFileMediaItem, AXConversationFilePayload, AXConversationFilter, AXConversationFilters, AXConversationForwardUserSortEntry, AXConversationGroupedReaction, AXConversationImageMediaItem, AXConversationImagePayload, AXConversationInfoBarAction, AXConversationInfoBarActionComponent, AXConversationInfoBarActionContext, AXConversationInfoBarActiveBanner, AXConversationInfoBarActiveComponent, AXConversationInfoProfileField, AXConversationItemAction, AXConversationItemActionContext, AXConversationLink, AXConversationLinkPreview, AXConversationLoadMessagesResult, AXConversationLocationPayload, AXConversationMediaCategory, AXConversationMediaCategoryId, AXConversationMediaDimensions, AXConversationMediaGalleryTile, AXConversationMediaItemFields, AXConversationMediaPageResult, AXConversationMention, AXConversationMessage, AXConversationMessageAction, AXConversationMessageActionContext, AXConversationMessageChrome, AXConversationMessageClusterRole, AXConversationMessageDateGroup, AXConversationMessageForwardData, AXConversationMessageInfoBarBannerComponent, AXConversationMessageListBackground, AXConversationMessageListBackgroundPreset, AXConversationMessageListEmptyComponent, AXConversationMessageListThemeBackground, AXConversationMessagePayload, AXConversationMessageRenderer, AXConversationMessageRendererCapabilities, AXConversationMessageRendererComponent, AXConversationMessageRendererContentState, AXConversationMessageRendererState, AXConversationMessageSearchFilters, AXConversationMessageStatus, AXConversationMessageType, AXConversationMetadata, AXConversationOptions, AXConversationOutletSkeleton, AXConversationPaginatedResult, AXConversationPagination, AXConversationPaginationState, AXConversationParticipant, AXConversationParticipantRole, AXConversationParticipantUpdate, AXConversationPickerPasteHandler, AXConversationPinnedMessage, AXConversationPlaybackBannerInputs, AXConversationPollOption, AXConversationPollPayload, AXConversationPresenceStatus, AXConversationPresenceUpdate, AXConversationReaction, AXConversationReadReceipt, AXConversationRegistryComponentRef, AXConversationRegistryConfiguration, AXConversationRegistryItem, AXConversationRoomPreferences, AXConversationRoomPreferencesMap, AXConversationSendMessageCommand, AXConversationSendMessageOptions, AXConversationSendMessageUploadSource, AXConversationSettingsUpdate, AXConversationSidebarTabsOrientation, AXConversationSort, AXConversationStickerPayload, AXConversationSystemPayload, AXConversationTab, AXConversationTextFormat, AXConversationTextPayload, AXConversationType, AXConversationTypingIndicator, AXConversationUpdateData, AXConversationUploadOptions, AXConversationUploaderFilePreview, AXConversationUploaderReference, AXConversationUploaderResult, AXConversationUser, AXConversationUserAvatarComponent, AXConversationUserPresence, AXConversationUserProfile, AXConversationUserProfileUpdate, AXConversationUserSearchFilters, AXConversationValidationResult, AXConversationVideoMediaItem, AXConversationVideoPayload, AXConversationVoicePayload };
|