@cloudflare/realtimekit-ui 1.1.0-staging.4 → 1.1.0-staging.6
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/dist/browser.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/realtimekit-ui.cjs.js +1 -1
- package/dist/cjs/rtk-ai-transcriptions.cjs.entry.js +1 -1
- package/dist/cjs/rtk-audio-grid.cjs.entry.js +1 -1
- package/dist/cjs/rtk-audio-visualizer_4.cjs.entry.js +1 -1
- package/dist/cjs/rtk-avatar_24.cjs.entry.js +255 -232
- package/dist/cjs/rtk-breakout-room-manager_3.cjs.entry.js +4 -4
- package/dist/cjs/rtk-breakout-rooms-manager_9.cjs.entry.js +8 -8
- package/dist/cjs/rtk-channel-creator.cjs.entry.js +2 -2
- package/dist/cjs/rtk-channel-details.cjs.entry.js +1 -1
- package/dist/cjs/rtk-channel-selector-ui.cjs.entry.js +2 -2
- package/dist/cjs/rtk-chat-message.cjs.entry.js +2 -2
- package/dist/cjs/rtk-chat-messages-ui.cjs.entry.js +3 -3
- package/dist/cjs/rtk-chat-search-results.cjs.entry.js +1 -1
- package/dist/cjs/rtk-chat-toggle.cjs.entry.js +27 -22
- package/dist/cjs/rtk-clock.cjs.entry.js +3 -3
- package/dist/cjs/rtk-controlbar.cjs.entry.js +1 -1
- package/dist/cjs/rtk-debugger-toggle.cjs.entry.js +1 -1
- package/dist/cjs/rtk-file-dropzone.cjs.entry.js +1 -1
- package/dist/cjs/rtk-file-message_3.cjs.entry.js +8 -8
- package/dist/cjs/rtk-header.cjs.entry.js +1 -1
- package/dist/cjs/rtk-idle-screen.cjs.entry.js +1 -1
- package/dist/cjs/rtk-image-viewer.cjs.entry.js +1 -1
- package/dist/cjs/rtk-information-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/rtk-leave-button.cjs.entry.js +1 -1
- package/dist/cjs/rtk-message-list-view.cjs.entry.js +3 -3
- package/dist/cjs/rtk-more-toggle.cjs.entry.js +2 -2
- package/dist/cjs/rtk-notification.cjs.entry.js +2 -2
- package/dist/cjs/rtk-participant-setup.cjs.entry.js +2 -2
- package/dist/cjs/rtk-participant_2.cjs.entry.js +14 -14
- package/dist/cjs/rtk-participants-audio.cjs.entry.js +1 -1
- package/dist/cjs/rtk-participants-stage-list_4.cjs.entry.js +1 -1
- package/dist/cjs/rtk-plugins_2.cjs.entry.js +4 -4
- package/dist/cjs/rtk-poll_2.cjs.entry.js +3 -3
- package/dist/cjs/rtk-recording-indicator.cjs.entry.js +1 -1
- package/dist/cjs/rtk-screenshare-view.cjs.entry.js +5 -5
- package/dist/cjs/rtk-settings-toggle.cjs.entry.js +1 -1
- package/dist/cjs/rtk-spotlight-grid.cjs.entry.js +2 -2
- package/dist/cjs/rtk-stage.cjs.entry.js +1 -1
- package/dist/cjs/rtk-transcript.cjs.entry.js +1 -1
- package/dist/cjs/rtk-waiting-screen.cjs.entry.js +1 -1
- package/dist/collection/components/rtk-ai-transcriptions/rtk-ai-transcriptions.js +1 -1
- package/dist/collection/components/rtk-audio-grid/rtk-audio-grid.js +1 -1
- package/dist/collection/components/rtk-breakout-room-participants/rtk-breakout-room-participants.js +2 -2
- package/dist/collection/components/rtk-broadcast-message-modal/rtk-broadcast-message-modal.js +2 -2
- package/dist/collection/components/rtk-channel-creator/rtk-channel-creator.js +2 -2
- package/dist/collection/components/rtk-channel-details/rtk-channel-details.js +1 -1
- package/dist/collection/components/rtk-channel-selector-ui/rtk-channel-selector-ui.js +2 -2
- package/dist/collection/components/rtk-chat-message/rtk-chat-message.js +2 -2
- package/dist/collection/components/rtk-chat-messages-ui/rtk-chat-messages-ui.js +3 -3
- package/dist/collection/components/rtk-chat-messages-ui-paginated/rtk-chat-messages-ui-paginated.js +1 -1
- package/dist/collection/components/rtk-chat-search-results/rtk-chat-search-results.js +1 -1
- package/dist/collection/components/rtk-chat-toggle/rtk-chat-toggle.css +1 -1
- package/dist/collection/components/rtk-chat-toggle/rtk-chat-toggle.js +27 -26
- package/dist/collection/components/rtk-clock/rtk-clock.js +3 -3
- package/dist/collection/components/rtk-confirmation-modal/rtk-confirmation-modal.js +1 -1
- package/dist/collection/components/rtk-controlbar/rtk-controlbar.js +1 -1
- package/dist/collection/components/rtk-counter/rtk-counter.js +2 -2
- package/dist/collection/components/rtk-debugger-toggle/rtk-debugger-toggle.js +1 -1
- package/dist/collection/components/rtk-draft-attachment-view/rtk-draft-attachment-view.js +1 -1
- package/dist/collection/components/rtk-emoji-picker/rtk-emoji-picker.js +1 -1
- package/dist/collection/components/rtk-emoji-picker-button/rtk-emoji-picker-button.js +1 -1
- package/dist/collection/components/rtk-file-dropzone/rtk-file-dropzone.js +1 -1
- package/dist/collection/components/rtk-file-message/rtk-file-message.js +2 -2
- package/dist/collection/components/rtk-file-message-view/rtk-file-message-view.js +1 -1
- package/dist/collection/components/rtk-file-picker-button/rtk-file-picker-button.js +1 -1
- package/dist/collection/components/rtk-header/rtk-header.js +1 -1
- package/dist/collection/components/rtk-idle-screen/rtk-idle-screen.js +1 -1
- package/dist/collection/components/rtk-image-message/rtk-image-message.js +4 -4
- package/dist/collection/components/rtk-image-message-view/rtk-image-message-view.js +3 -3
- package/dist/collection/components/rtk-image-viewer/rtk-image-viewer.js +1 -1
- package/dist/collection/components/rtk-information-tooltip/rtk-information-tooltip.js +1 -1
- package/dist/collection/components/rtk-leave-button/rtk-leave-button.js +1 -1
- package/dist/collection/components/rtk-leave-meeting/rtk-leave-meeting.js +2 -2
- package/dist/collection/components/rtk-markdown-view/rtk-markdown-view.js +1 -1
- package/dist/collection/components/rtk-menu/rtk-menu.js +2 -2
- package/dist/collection/components/rtk-menu-item/rtk-menu-item.js +1 -1
- package/dist/collection/components/rtk-menu-list/rtk-menu-list.js +1 -1
- package/dist/collection/components/rtk-message-list-view/rtk-message-list-view.js +3 -3
- package/dist/collection/components/rtk-more-toggle/rtk-more-toggle.js +2 -2
- package/dist/collection/components/rtk-mute-all-confirmation/rtk-mute-all-confirmation.js +1 -1
- package/dist/collection/components/rtk-notification/rtk-notification.js +2 -2
- package/dist/collection/components/rtk-overlay-modal/rtk-overlay-modal.js +1 -1
- package/dist/collection/components/rtk-paginated-list/rtk-paginated-list.css +5 -5
- package/dist/collection/components/rtk-paginated-list/rtk-paginated-list.js +285 -256
- package/dist/collection/components/rtk-participant/rtk-participant.js +12 -12
- package/dist/collection/components/rtk-participant-setup/rtk-participant-setup.js +2 -2
- package/dist/collection/components/rtk-participants-audio/rtk-participants-audio.js +1 -1
- package/dist/collection/components/rtk-participants-stage-list/rtk-participants-stage-list.js +1 -1
- package/dist/collection/components/rtk-permissions-message/rtk-permissions-message.js +1 -1
- package/dist/collection/components/rtk-plugins/rtk-plugins.js +1 -1
- package/dist/collection/components/rtk-poll/rtk-poll.js +1 -1
- package/dist/collection/components/rtk-poll-form/rtk-poll-form.js +2 -2
- package/dist/collection/components/rtk-polls/rtk-polls.js +3 -3
- package/dist/collection/components/rtk-recording-indicator/rtk-recording-indicator.js +1 -1
- package/dist/collection/components/rtk-screenshare-view/rtk-screenshare-view.js +5 -5
- package/dist/collection/components/rtk-settings-toggle/rtk-settings-toggle.js +1 -1
- package/dist/collection/components/rtk-spinner/rtk-spinner.js +1 -1
- package/dist/collection/components/rtk-spotlight-grid/rtk-spotlight-grid.js +2 -2
- package/dist/collection/components/rtk-stage/rtk-stage.js +1 -1
- package/dist/collection/components/rtk-switch/rtk-switch.js +1 -1
- package/dist/collection/components/rtk-text-composer-view/rtk-text-composer-view.js +1 -1
- package/dist/collection/components/rtk-text-message/rtk-text-message.js +2 -2
- package/dist/collection/components/rtk-text-message-view/rtk-text-message-view.js +1 -1
- package/dist/collection/components/rtk-tooltip/rtk-tooltip.js +1 -1
- package/dist/collection/components/rtk-transcript/rtk-transcript.js +1 -1
- package/dist/collection/components/rtk-virtualized-list/rtk-virtualized-participant-list.js +2 -2
- package/dist/collection/components/rtk-waiting-screen/rtk-waiting-screen.js +1 -1
- package/dist/components/{p-8479343e.js → p-00bb4abb.js} +6 -6
- package/dist/components/{p-12ae623e.js → p-02b840f8.js} +3 -3
- package/dist/components/{p-20290ade.js → p-0b2b3442.js} +2 -2
- package/dist/components/{p-b74221b4.js → p-0e5cc539.js} +2 -2
- package/dist/components/{p-7b344a65.js → p-0f2de0f8.js} +5 -5
- package/dist/components/{p-b30f3c49.js → p-107e55c1.js} +1 -1
- package/dist/components/{p-7965a1a6.js → p-1a9e3806.js} +1 -1
- package/dist/components/{p-e31889d3.js → p-1f5a4682.js} +2 -2
- package/dist/components/{p-b9b8697d.js → p-2309fb19.js} +2 -2
- package/dist/components/{p-95e51bef.js → p-241a8245.js} +1 -1
- package/dist/components/{p-402db72e.js → p-2447a26f.js} +2 -2
- package/dist/components/{p-4a84c913.js → p-28170a8d.js} +9 -9
- package/dist/components/{p-86f18b68.js → p-294cda89.js} +3 -3
- package/dist/components/{p-cd790a43.js → p-2a65883d.js} +1 -1
- package/dist/components/{p-020800ee.js → p-39e8b34a.js} +1 -1
- package/dist/components/{p-8f381eef.js → p-3e58e0f3.js} +1 -1
- package/dist/components/{p-c8583d9b.js → p-43d6a221.js} +2 -2
- package/dist/components/{p-828db489.js → p-45220ce9.js} +2 -2
- package/dist/components/{p-011adf66.js → p-46d99dd9.js} +2 -2
- package/dist/components/{p-578d73e5.js → p-48acb953.js} +1 -1
- package/dist/components/{p-89cfd513.js → p-4902c5cf.js} +1 -1
- package/dist/components/{p-40589702.js → p-4aede34c.js} +1 -1
- package/dist/components/{p-0e80bae4.js → p-4e5a54c2.js} +10 -10
- package/dist/components/{p-5b66b8f3.js → p-4ebf9684.js} +1 -1
- package/dist/components/{p-28d51137.js → p-540d8eb9.js} +1 -1
- package/dist/components/{p-4bfb4f60.js → p-5476e3f3.js} +2 -2
- package/dist/components/{p-40b1fef2.js → p-5669b6e7.js} +4 -4
- package/dist/components/{p-9d40e041.js → p-598dc3f2.js} +2 -2
- package/dist/components/{p-ea6b5bf5.js → p-616ae7ab.js} +2 -2
- package/dist/components/{p-9c3ca56e.js → p-6739a399.js} +2 -2
- package/dist/components/{p-597543af.js → p-713c7ed7.js} +3 -3
- package/dist/components/{p-966273a8.js → p-7148ec6a.js} +1 -1
- package/dist/components/{p-ce77fdfc.js → p-761c0e78.js} +1 -1
- package/dist/components/{p-a0a0867a.js → p-7f489600.js} +1 -1
- package/dist/components/{p-520dccab.js → p-819cb785.js} +1 -1
- package/dist/components/{p-9936031d.js → p-85872241.js} +20 -20
- package/dist/components/{p-2e3c0084.js → p-89025409.js} +3 -3
- package/dist/components/{p-bed61d79.js → p-8cfdac0d.js} +5 -5
- package/dist/components/{p-757856f4.js → p-8d6b21d5.js} +3 -3
- package/dist/components/{p-35af8a84.js → p-a25f3aca.js} +2 -2
- package/dist/components/{p-5f0f8967.js → p-a51db0d6.js} +16 -16
- package/dist/components/{p-c544502e.js → p-a73665b4.js} +4 -4
- package/dist/components/{p-b3447e0c.js → p-a8a6496d.js} +1 -1
- package/dist/components/{p-5739b5f1.js → p-af3b99f4.js} +2 -2
- package/dist/components/{p-53332481.js → p-b6781e91.js} +12 -12
- package/dist/components/{p-11a16ac3.js → p-bb4983b8.js} +2 -2
- package/dist/components/{p-3a1dbc0d.js → p-c334f0e5.js} +2 -2
- package/dist/components/{p-d2ce1170.js → p-cf8f725b.js} +1 -1
- package/dist/components/{p-157c1dc9.js → p-d765dbe4.js} +6 -6
- package/dist/components/{p-2eb35b99.js → p-da9018ea.js} +6 -6
- package/dist/components/{p-0ca31fce.js → p-dc3143c0.js} +2 -2
- package/dist/components/{p-ab842e10.js → p-e0510925.js} +1 -1
- package/dist/components/p-e7e2156a.js +375 -0
- package/dist/components/{p-09d1805e.js → p-eeb37b16.js} +1 -1
- package/dist/components/{p-d3588666.js → p-fa476519.js} +5 -5
- package/dist/components/{p-85990be7.js → p-fb836f65.js} +1 -1
- package/dist/components/{p-668f57d0.js → p-fb900e8f.js} +2 -2
- package/dist/components/rtk-ai-toggle.js +2 -2
- package/dist/components/rtk-ai-transcriptions.js +1 -1
- package/dist/components/rtk-ai.js +1 -1
- package/dist/components/rtk-audio-grid.js +1 -1
- package/dist/components/rtk-audio-tile.js +2 -2
- package/dist/components/rtk-avatar.js +1 -1
- package/dist/components/rtk-breakout-room-manager.js +1 -1
- package/dist/components/rtk-breakout-room-participants.js +1 -1
- package/dist/components/rtk-breakout-rooms-manager.js +1 -1
- package/dist/components/rtk-breakout-rooms-toggle.js +2 -2
- package/dist/components/rtk-broadcast-message-modal.js +1 -1
- package/dist/components/rtk-camera-toggle.js +3 -3
- package/dist/components/rtk-caption-toggle.js +2 -2
- package/dist/components/rtk-channel-creator.js +4 -4
- package/dist/components/rtk-channel-details.js +1 -1
- package/dist/components/rtk-channel-header.js +4 -4
- package/dist/components/rtk-channel-selector-ui.js +4 -4
- package/dist/components/rtk-channel-selector-view.js +1 -1
- package/dist/components/rtk-chat-composer-ui.js +4 -4
- package/dist/components/rtk-chat-composer-view.js +1 -1
- package/dist/components/rtk-chat-message.js +1 -1
- package/dist/components/rtk-chat-messages-ui-paginated.js +1 -1
- package/dist/components/rtk-chat-messages-ui.js +14 -14
- package/dist/components/rtk-chat-search-results.js +11 -11
- package/dist/components/rtk-chat-toggle.js +30 -26
- package/dist/components/rtk-chat.js +1 -1
- package/dist/components/rtk-clock.js +3 -3
- package/dist/components/rtk-confirmation-modal.js +1 -1
- package/dist/components/rtk-controlbar-button.js +1 -1
- package/dist/components/rtk-controlbar.js +1 -1
- package/dist/components/rtk-counter.js +1 -1
- package/dist/components/rtk-debugger-toggle.js +3 -3
- package/dist/components/rtk-dialog-manager.js +13 -13
- package/dist/components/rtk-draft-attachment-view.js +1 -1
- package/dist/components/rtk-emoji-picker-button.js +1 -1
- package/dist/components/rtk-emoji-picker.js +1 -1
- package/dist/components/rtk-file-dropzone.js +1 -1
- package/dist/components/rtk-file-message-view.js +1 -1
- package/dist/components/rtk-file-message.js +1 -1
- package/dist/components/rtk-file-picker-button.js +1 -1
- package/dist/components/rtk-fullscreen-toggle.js +1 -1
- package/dist/components/rtk-grid-pagination.js +1 -1
- package/dist/components/rtk-grid.js +4 -4
- package/dist/components/rtk-header.js +1 -1
- package/dist/components/rtk-idle-screen.js +2 -2
- package/dist/components/rtk-image-message-view.js +1 -1
- package/dist/components/rtk-image-message.js +1 -1
- package/dist/components/rtk-image-viewer.js +1 -1
- package/dist/components/rtk-information-tooltip.js +1 -1
- package/dist/components/rtk-leave-button.js +3 -3
- package/dist/components/rtk-leave-meeting.js +1 -1
- package/dist/components/rtk-livestream-player.js +1 -1
- package/dist/components/rtk-livestream-toggle.js +2 -2
- package/dist/components/rtk-markdown-view.js +1 -1
- package/dist/components/rtk-meeting-title.js +1 -1
- package/dist/components/rtk-meeting.js +21 -21
- package/dist/components/rtk-menu-item.js +1 -1
- package/dist/components/rtk-menu-list.js +1 -1
- package/dist/components/rtk-menu.js +1 -1
- package/dist/components/rtk-message-list-view.js +4 -4
- package/dist/components/rtk-message-view.js +1 -1
- package/dist/components/rtk-mic-toggle.js +3 -3
- package/dist/components/rtk-mixed-grid.js +3 -3
- package/dist/components/rtk-more-toggle.js +4 -4
- package/dist/components/rtk-mute-all-button.js +3 -3
- package/dist/components/rtk-mute-all-confirmation.js +1 -1
- package/dist/components/rtk-notification.js +1 -1
- package/dist/components/rtk-notifications.js +1 -1
- package/dist/components/rtk-overlay-modal.js +1 -1
- package/dist/components/rtk-paginated-list.js +1 -1
- package/dist/components/rtk-participant-setup.js +2 -2
- package/dist/components/rtk-participant.js +1 -1
- package/dist/components/rtk-participants-audio.js +1 -1
- package/dist/components/rtk-participants-stage-list.js +1 -1
- package/dist/components/rtk-participants-stage-queue.js +1 -1
- package/dist/components/rtk-participants-toggle.js +2 -2
- package/dist/components/rtk-participants-viewer-list.js +1 -1
- package/dist/components/rtk-participants-waiting-list.js +1 -1
- package/dist/components/rtk-participants.js +11 -11
- package/dist/components/rtk-permissions-message.js +1 -1
- package/dist/components/rtk-pip-toggle.js +2 -2
- package/dist/components/rtk-plugins-toggle.js +2 -2
- package/dist/components/rtk-plugins.js +1 -1
- package/dist/components/rtk-poll-form.js +1 -1
- package/dist/components/rtk-poll.js +1 -1
- package/dist/components/rtk-polls-toggle.js +2 -2
- package/dist/components/rtk-polls.js +1 -1
- package/dist/components/rtk-recording-indicator.js +1 -1
- package/dist/components/rtk-recording-toggle.js +2 -2
- package/dist/components/rtk-screen-share-toggle.js +3 -3
- package/dist/components/rtk-screenshare-view.js +6 -6
- package/dist/components/rtk-settings-audio.js +1 -1
- package/dist/components/rtk-settings-toggle.js +3 -3
- package/dist/components/rtk-settings-video.js +1 -1
- package/dist/components/rtk-settings.js +3 -3
- package/dist/components/rtk-setup-screen.js +1 -1
- package/dist/components/rtk-sidebar.js +5 -5
- package/dist/components/rtk-spinner.js +1 -1
- package/dist/components/rtk-spotlight-grid.js +2 -2
- package/dist/components/rtk-spotlight-indicator.js +1 -1
- package/dist/components/rtk-stage-toggle.js +3 -3
- package/dist/components/rtk-stage.js +1 -1
- package/dist/components/rtk-switch.js +1 -1
- package/dist/components/rtk-tab-bar.js +1 -1
- package/dist/components/rtk-text-composer-view.js +1 -1
- package/dist/components/rtk-text-message-view.js +1 -1
- package/dist/components/rtk-text-message.js +1 -1
- package/dist/components/rtk-tooltip.js +1 -1
- package/dist/components/rtk-transcript.js +1 -1
- package/dist/components/rtk-transcripts.js +1 -1
- package/dist/components/rtk-virtualized-participant-list.js +1 -1
- package/dist/components/rtk-waiting-screen.js +1 -1
- package/dist/docs/docs-components.json +44 -33
- package/dist/esm/loader.js +383 -354
- package/dist/esm/realtimekit-ui.js +1 -1
- package/dist/esm/rtk-ai-transcriptions.entry.js +1 -1
- package/dist/esm/rtk-audio-grid.entry.js +1 -1
- package/dist/esm/rtk-audio-visualizer_4.entry.js +1 -1
- package/dist/esm/rtk-avatar_24.entry.js +255 -232
- package/dist/esm/rtk-breakout-room-manager_3.entry.js +4 -4
- package/dist/esm/rtk-breakout-rooms-manager_9.entry.js +8 -8
- package/dist/esm/rtk-channel-creator.entry.js +2 -2
- package/dist/esm/rtk-channel-details.entry.js +1 -1
- package/dist/esm/rtk-channel-selector-ui.entry.js +2 -2
- package/dist/esm/rtk-chat-message.entry.js +2 -2
- package/dist/esm/rtk-chat-messages-ui.entry.js +3 -3
- package/dist/esm/rtk-chat-search-results.entry.js +1 -1
- package/dist/esm/rtk-chat-toggle.entry.js +27 -22
- package/dist/esm/rtk-clock.entry.js +3 -3
- package/dist/esm/rtk-controlbar.entry.js +1 -1
- package/dist/esm/rtk-debugger-toggle.entry.js +1 -1
- package/dist/esm/rtk-file-dropzone.entry.js +1 -1
- package/dist/esm/rtk-file-message_3.entry.js +8 -8
- package/dist/esm/rtk-header.entry.js +1 -1
- package/dist/esm/rtk-idle-screen.entry.js +1 -1
- package/dist/esm/rtk-image-viewer.entry.js +1 -1
- package/dist/esm/rtk-information-tooltip.entry.js +1 -1
- package/dist/esm/rtk-leave-button.entry.js +1 -1
- package/dist/esm/rtk-message-list-view.entry.js +3 -3
- package/dist/esm/rtk-more-toggle.entry.js +2 -2
- package/dist/esm/rtk-notification.entry.js +2 -2
- package/dist/esm/rtk-participant-setup.entry.js +2 -2
- package/dist/esm/rtk-participant_2.entry.js +14 -14
- package/dist/esm/rtk-participants-audio.entry.js +1 -1
- package/dist/esm/rtk-participants-stage-list_4.entry.js +1 -1
- package/dist/esm/rtk-plugins_2.entry.js +4 -4
- package/dist/esm/rtk-poll_2.entry.js +3 -3
- package/dist/esm/rtk-recording-indicator.entry.js +1 -1
- package/dist/esm/rtk-screenshare-view.entry.js +5 -5
- package/dist/esm/rtk-settings-toggle.entry.js +1 -1
- package/dist/esm/rtk-spotlight-grid.entry.js +2 -2
- package/dist/esm/rtk-stage.entry.js +1 -1
- package/dist/esm/rtk-transcript.entry.js +1 -1
- package/dist/esm/rtk-waiting-screen.entry.js +1 -1
- package/dist/realtimekit-ui/{p-7660a4c1.entry.js → p-00445029.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-bb369808.entry.js → p-02c6b025.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-0fed7daa.entry.js → p-0baa78d7.entry.js} +1 -1
- package/dist/realtimekit-ui/p-19587963.entry.js +1 -0
- package/dist/realtimekit-ui/{p-0e2d6b1b.entry.js → p-1fe6003b.entry.js} +1 -1
- package/dist/realtimekit-ui/p-21d4bb9c.entry.js +1 -0
- package/dist/realtimekit-ui/{p-87f3b9a6.entry.js → p-2441260e.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-4822dc9f.entry.js → p-322957ed.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-f42c50db.entry.js → p-323d1aa4.entry.js} +1 -1
- package/dist/realtimekit-ui/p-421e4c6f.entry.js +1 -0
- package/dist/realtimekit-ui/{p-39410e81.entry.js → p-44d69c6b.entry.js} +1 -1
- package/dist/realtimekit-ui/p-48c87789.entry.js +1 -0
- package/dist/realtimekit-ui/{p-cea6c6ac.entry.js → p-53680d55.entry.js} +1 -1
- package/dist/realtimekit-ui/p-54a88fdf.entry.js +1 -0
- package/dist/realtimekit-ui/{p-9cab7a57.entry.js → p-5892c1e0.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-73f489be.entry.js → p-612a8d25.entry.js} +1 -1
- package/dist/realtimekit-ui/p-64206b62.entry.js +1 -0
- package/dist/realtimekit-ui/{p-a62e84f9.entry.js → p-67ead213.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-f2ce302b.entry.js → p-6896e819.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-fea05f1c.entry.js → p-7a9a226e.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-9cad5a6d.entry.js → p-80e51a73.entry.js} +1 -1
- package/dist/realtimekit-ui/p-820dad23.entry.js +1 -0
- package/dist/realtimekit-ui/{p-61d3e2d4.entry.js → p-85b3c0c4.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-0c071f00.entry.js → p-8778b3e6.entry.js} +1 -1
- package/dist/realtimekit-ui/p-a1408db4.entry.js +1 -0
- package/dist/realtimekit-ui/{p-c50f4cab.entry.js → p-a67e2a25.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-3e12d77a.entry.js → p-a680da64.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-bd226f59.entry.js → p-a7172c2d.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-cda80e2c.entry.js → p-a852e0cf.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-9dcd9e30.entry.js → p-ac6c8ebe.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-1dfe0269.entry.js → p-b25f7d7b.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-2c71cc53.entry.js → p-b51e813e.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-dded6ad0.entry.js → p-be5bdd0a.entry.js} +1 -1
- package/dist/realtimekit-ui/p-c5f704a3.entry.js +1 -0
- package/dist/realtimekit-ui/{p-d7a78f65.entry.js → p-cc226b51.entry.js} +1 -1
- package/dist/realtimekit-ui/{p-a25bb0ad.entry.js → p-cda276d6.entry.js} +1 -1
- package/dist/realtimekit-ui/p-d880fb69.entry.js +1 -0
- package/dist/realtimekit-ui/{p-a867b984.entry.js → p-f6c82f1b.entry.js} +1 -1
- package/dist/realtimekit-ui/p-fa86682c.entry.js +1 -0
- package/dist/realtimekit-ui/realtimekit-ui.esm.js +1 -1
- package/dist/types/components/rtk-chat-toggle/rtk-chat-toggle.d.ts +4 -6
- package/dist/types/components/rtk-paginated-list/rtk-paginated-list.d.ts +68 -53
- package/dist/types/components.d.ts +9 -5
- package/package.json +1 -1
- package/dist/components/p-78f91ffe.js +0 -357
- package/dist/realtimekit-ui/p-02889d02.entry.js +0 -1
- package/dist/realtimekit-ui/p-09fb29e7.entry.js +0 -1
- package/dist/realtimekit-ui/p-260fc2ed.entry.js +0 -1
- package/dist/realtimekit-ui/p-32211408.entry.js +0 -1
- package/dist/realtimekit-ui/p-48c76360.entry.js +0 -1
- package/dist/realtimekit-ui/p-4d31d165.entry.js +0 -1
- package/dist/realtimekit-ui/p-51c72bc8.entry.js +0 -1
- package/dist/realtimekit-ui/p-b58dc07c.entry.js +0 -1
- package/dist/realtimekit-ui/p-c96e2a96.entry.js +0 -1
- package/dist/realtimekit-ui/p-d194317d.entry.js +0 -1
- package/dist/realtimekit-ui/p-ff9bc5b0.entry.js +0 -1
|
@@ -11,7 +11,6 @@ import { g as generateConfig } from './config-325caca3.js';
|
|
|
11
11
|
import { i as index } from './ResizeObserver.es-02979d4e.js';
|
|
12
12
|
import { c as computePosition, o as offset, f as flip, s as shift, a as arrow } from './floating-ui.dom.esm-21c3d54e.js';
|
|
13
13
|
import { f as formatDateTime, e as elapsedDuration } from './date-b1f78dea.js';
|
|
14
|
-
import { s as smoothScrollToBottom } from './scroll-2d8e810c.js';
|
|
15
14
|
|
|
16
15
|
const rtkAvatarCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{display:flex;height:var(--rtk-space-32, 128px);width:var(--rtk-space-32, 128px);align-items:center;justify-content:center;font-size:28px;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));overflow:clip;border-radius:9999px;-webkit-user-select:none;-moz-user-select:none;user-select:none}rtk-icon{height:50%;width:50%}.image-ctr{display:flex;height:100%;width:100%;align-items:center;justify-content:center;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52))}img{height:var(--rtk-space-0, 0px);width:var(--rtk-space-0, 0px);-o-object-fit:cover;object-fit:cover}img.loaded{height:100%;width:100%}.initials{display:flex;height:100%;width:100%;align-items:center;justify-content:center;text-transform:uppercase}.image{display:flex;height:100%;width:100%;align-items:center;justify-content:center}.image img{display:none;height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.image img.loaded{display:block}:host([variant='hexagon']){border-radius:var(--rtk-border-radius-none, 0);clip-path:polygon(50% 0, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%)}:host([variant='square']){border-radius:var(--rtk-border-radius-none, 0);clip-path:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)}:host([size='sm']){height:var(--rtk-space-14, 56px);width:var(--rtk-space-14, 56px);font-size:12px}:host([size='md']){height:var(--rtk-space-28, 112px);width:var(--rtk-space-28, 112px)}:host([size='lg']){height:var(--rtk-space-32, 128px);width:var(--rtk-space-32, 128px)}";
|
|
17
16
|
const RtkAvatarStyle0 = rtkAvatarCss;
|
|
@@ -1093,7 +1092,7 @@ const RtkChatMessagesUiPaginated = class {
|
|
|
1093
1092
|
this.lastReadMessageIndex = -1;
|
|
1094
1093
|
}
|
|
1095
1094
|
render() {
|
|
1096
|
-
return (h(Host, { key: '
|
|
1095
|
+
return (h(Host, { key: '012b7189dfbdccfd8017cc9023263e6a7e9afd44' }, h("rtk-paginated-list", { key: '0ea37ee880fda0acdd7460b6da5f03e11ac304bf', ref: (el) => (this.$paginatedListRef = el), pageSize: this.pageSize, pagesAllowed: 3, fetchData: this.getChatMessages, createNodes: this.createChatNodes, selectedItemId: this.selectedChannelId, emptyListLabel: this.t('chat.empty_channel') }, h("slot", { key: '53cb197b6d9319f470e87fe73d7ca0d158778e3f' }))));
|
|
1097
1096
|
}
|
|
1098
1097
|
get host() { return getElement(this); }
|
|
1099
1098
|
static get watchers() { return {
|
|
@@ -1166,7 +1165,7 @@ const RtkDraftAttachmentView = class {
|
|
|
1166
1165
|
this.onAttachmentChange();
|
|
1167
1166
|
}
|
|
1168
1167
|
render() {
|
|
1169
|
-
return (h(Host, { key: '
|
|
1168
|
+
return (h(Host, { key: 'f6ede093bcdf8100807baab4de2a296fc4960a07' }, h("div", { key: 'b19bbe9b2ea58ea4adccc2028a1b24ea6bc9f0a9', class: "preview-overlay" }, h("div", { key: 'cbb2bfcb3a50e6e7fbfd4109eb340ba51d6a162d', class: "preview" }, h("rtk-tooltip", { key: '15b50c547470b0fa22014e0992a1c7e26b234573', label: this.t('chat.cancel_upload') }, h("rtk-button", { key: '940332a51747af3368ffec497d5ef76fa64ecf75', variant: "secondary", kind: "icon", onClick: this.onDeleteClickHandler }, h("rtk-icon", { key: 'cc04b0ac70753e970ff638f187ad5f702dc3656b', icon: this.iconPack.dismiss }))), this.attachment.type === 'image' ? (h("img", { class: "preview-image", src: this.filePreview })) : (h("div", { class: "preview-file" }, h("span", null, this.filePreview)))))));
|
|
1170
1169
|
}
|
|
1171
1170
|
static get watchers() { return {
|
|
1172
1171
|
"attachment": ["onAttachmentChange"]
|
|
@@ -1251,7 +1250,7 @@ const RtkEmojiPicker = class {
|
|
|
1251
1250
|
return (h("div", { id: "emoji-grid", class: "scrollbar max-w-40" }, this.filteredEmojis.map((e) => (h("rtk-button", { key: `emoji-button-${e.name}`, class: "emoji", variant: "ghost", kind: "icon", title: e.name, onClick: () => this.handleEmojiClick(e.emoji) }, e.emoji)))));
|
|
1252
1251
|
}
|
|
1253
1252
|
render() {
|
|
1254
|
-
return (h(Host, { key: '
|
|
1253
|
+
return (h(Host, { key: '6581d26d75a7b869d0ba00243ec74ee06b927e7d' }, h("div", { key: '3705d8c557ac3e05769171998e9176e7e40a232c', class: 'close-parent' }, h("rtk-button", { key: 'b437e579cb828a709de255ddfa6b751e4bdfbe51', variant: "ghost", kind: "icon", class: "close", onClick: () => { var _a; return (_a = this.pickerClose) === null || _a === void 0 ? void 0 : _a.emit(); }, "aria-label": this.t('close') }, h("rtk-icon", { key: '7fac79a21c6be57156d17ceeff9ceb2834bbf709', icon: this.iconPack.dismiss }))), h("div", { key: '46cb2af6654ef36b7258baf47e3cd9e5bd60bf89', class: 'emoji-parent' }, h("input", { key: 'cfde33638d531f9bac1b1bf25d966a369f4dfb38', value: this.filterVal, onInput: (event) => this.handleInputChange(event.target), placeholder: this.t('search'), ref: (el) => (this.inputElement = el) }), this.mapEmojiList())));
|
|
1255
1254
|
}
|
|
1256
1255
|
};
|
|
1257
1256
|
__decorate$b([
|
|
@@ -1284,7 +1283,7 @@ const RtkEmojiPickerButton = class {
|
|
|
1284
1283
|
this.t = useLanguage();
|
|
1285
1284
|
}
|
|
1286
1285
|
render() {
|
|
1287
|
-
return (h("rtk-tooltip", { key: '
|
|
1286
|
+
return (h("rtk-tooltip", { key: '45ef1f18da6d1ecc3c02882590cd22e930461562', label: this.t('chat.send_emoji') }, h("rtk-button", { key: '6504abab2f1c6537443699c53a8cbdcf13530cba', variant: "ghost", kind: "icon", class: { active: this.isActive }, title: this.t('chat.send_emoji') }, h("rtk-icon", { key: 'd730c81abce72d9c3226f1f666941e1136bee77f', icon: this.iconPack.emoji_multiple }))));
|
|
1288
1287
|
}
|
|
1289
1288
|
};
|
|
1290
1289
|
__decorate$a([
|
|
@@ -1315,7 +1314,7 @@ const RtkFileMessageView = class {
|
|
|
1315
1314
|
this.iconPack = defaultIconPack;
|
|
1316
1315
|
}
|
|
1317
1316
|
render() {
|
|
1318
|
-
return (h("div", { key: '
|
|
1317
|
+
return (h("div", { key: '5cc29b4780f581a2f8b045e5051bcc66f3fdaf55', class: "file" }, h("rtk-button", { key: '4100b47bc1d72f08ec5fe645291bfbb58e3a6486', variant: "secondary", kind: "icon", onClick: () => downloadFile(sanitizeLink(this.url), { name: this.name, fallbackName: 'file' }), part: "button" }, h("rtk-icon", { key: '52ae14abb7c27b89861d5ba4c907d606257628c9', icon: this.iconPack.download })), h("div", { key: '02c9ad8d173172a85cc474273a966607d456360e', class: "file-data" }, h("div", { key: '6ceca21685d04f175006ba35a6de194cc98879ad', class: "name" }, this.name), h("div", { key: 'b07d07bcaedee3fd6fbcfe81ce2f6bf757655b5f', class: "file-data-split" }, h("div", { key: '280635ef486de02bc68ca3e774be14fa5a461d1c', class: "ext" }, getExtension(this.name)), h("span", { key: '84f72d8b37b7d15c257faed036b76c737eec780b', class: "divider" }), h("div", { key: '1b88f48f51afe3fceb57920c3d17f586e848a25f', class: "size" }, getFileSize(this.size))))));
|
|
1319
1318
|
}
|
|
1320
1319
|
};
|
|
1321
1320
|
__decorate$9([
|
|
@@ -1371,7 +1370,7 @@ const RtkFilePickerButton = class {
|
|
|
1371
1370
|
render() {
|
|
1372
1371
|
const label = this.label || this.t('chat.send_file');
|
|
1373
1372
|
const icon = this.iconPack[this.icon];
|
|
1374
|
-
return (h("rtk-tooltip", { key: '
|
|
1373
|
+
return (h("rtk-tooltip", { key: '057a0a5a714dbbde228e3481e53adea4f88fb3ad', label: label }, h("rtk-button", { key: '04193df1053b14687fb9464a122b9158707bdda1', variant: "ghost", kind: "icon", onClick: () => this.uploadFile(), title: label }, h("rtk-icon", { key: 'ed2fce30b93dfce9dd6b967d5993c93496cf3388', icon: icon }))));
|
|
1375
1374
|
}
|
|
1376
1375
|
};
|
|
1377
1376
|
__decorate$8([
|
|
@@ -1431,7 +1430,7 @@ const RtkImageMessageView = class {
|
|
|
1431
1430
|
this.status = 'loading';
|
|
1432
1431
|
}
|
|
1433
1432
|
render() {
|
|
1434
|
-
return (h("div", { key: '
|
|
1433
|
+
return (h("div", { key: '066606e6ae62634b2466bb46b453e0c2d91b17ea', class: { image: true, loaded: this.status === 'loaded' } }, h("img", { key: 'f042e5d3c1a6341e9fc0845e6643016f1be5b5f7', src: sanitizeLink(this.url), onLoad: () => {
|
|
1435
1434
|
this.status = 'loaded';
|
|
1436
1435
|
}, onError: () => {
|
|
1437
1436
|
this.status = 'errored';
|
|
@@ -1439,9 +1438,9 @@ const RtkImageMessageView = class {
|
|
|
1439
1438
|
if (this.status === 'loaded') {
|
|
1440
1439
|
this.onPreview.emit(this.url);
|
|
1441
1440
|
}
|
|
1442
|
-
} }), this.status === 'loading' && (h("div", { key: '
|
|
1441
|
+
} }), this.status === 'loading' && (h("div", { key: 'd4a5030468fbf70afae62bd55ae4d0fa989e15c2', class: "image-spinner", title: this.t('chat.img.loading'), "aria-label": this.t('chat.img.loading') }, h("rtk-spinner", { key: '216aba361a46cc100e7d26cc2daf1ffb0948d695', iconPack: this.iconPack }))), this.status === 'errored' && (h("div", { key: '01f5da8f70872c9fa22dc9a9b70b046b0001d05b', class: "image-errored", title: this.t('chat.error.img_not_found'), "aria-label": this.t('chat.error.img_not_found') }, h("rtk-icon", { key: '0f7e6fed2730f6366d07fc6afddb2b247e9b7d3a', icon: this.iconPack.image_off }))), this.status === 'loaded' && (h("div", { key: '5ac0e61c65a88a8d6b9ee54c900b856854d1b84b', class: "actions" }, h("rtk-button", { key: 'fd83dfecd7b5d9c3976374c3c55731b1f026fc0a', class: "action", variant: "secondary", kind: "icon", onClick: () => {
|
|
1443
1442
|
this.onPreview.emit(this.url);
|
|
1444
|
-
} }, h("rtk-icon", { key: '
|
|
1443
|
+
} }, h("rtk-icon", { key: '3ca7384fa28e6716345acacf9225ae9471ff8d63', icon: this.iconPack.full_screen_maximize })), h("rtk-button", { key: '198787808c389e4df48d3609a53c2d27cf2e7fb3', class: "action", variant: "secondary", kind: "icon", onClick: () => downloadFile(this.url, { fallbackName: 'image' }) }, h("rtk-icon", { key: 'f38fe3da48d1fc854001c719164c95f0673808c5', icon: this.iconPack.download }))))));
|
|
1445
1444
|
}
|
|
1446
1445
|
};
|
|
1447
1446
|
__decorate$7([
|
|
@@ -1532,7 +1531,7 @@ const RtkMarkdownView = class {
|
|
|
1532
1531
|
const slicedMessage = this.text.slice(0, this.maxLength);
|
|
1533
1532
|
const withReply = extractReplyBlock(slicedMessage, true);
|
|
1534
1533
|
const withoutReply = stripOutReplyBlock(slicedMessage);
|
|
1535
|
-
return (h("p", { key: '
|
|
1534
|
+
return (h("p", { key: '787e6d3177f4faf1c8dcd7c73d83a6de9c57b42b' }, withReply.length !== 0 && h("blockquote", { key: '1c4b82fb870994e6707d35adcd5e6f2f0e65dd26' }, this.renderMessage(withReply)), withoutReply.length !== 0 && this.renderMessage(withoutReply)));
|
|
1536
1535
|
}
|
|
1537
1536
|
};
|
|
1538
1537
|
RtkMarkdownView.style = RtkMarkdownViewStyle0;
|
|
@@ -1913,7 +1912,7 @@ const RtkMenu$1 = class {
|
|
|
1913
1912
|
});
|
|
1914
1913
|
}
|
|
1915
1914
|
render() {
|
|
1916
|
-
return (h(Host, { key: '
|
|
1915
|
+
return (h(Host, { key: '15461c803838be1651df6116a61598ce8ab988f9' }, h("span", { key: 'f36cdd2f1141f46a993daa880682382904a72509', id: "trigger", ref: (el) => (this.triggerEl = el), onClick: () => {
|
|
1917
1916
|
this.clickedThis = true;
|
|
1918
1917
|
if (this.menuListEl.style.display !== 'block') {
|
|
1919
1918
|
this.menuListEl.style.display = 'block';
|
|
@@ -1922,7 +1921,7 @@ const RtkMenu$1 = class {
|
|
|
1922
1921
|
else {
|
|
1923
1922
|
this.menuListEl.style.display = 'none';
|
|
1924
1923
|
}
|
|
1925
|
-
} }, h("slot", { key: '
|
|
1924
|
+
} }, h("slot", { key: 'af622c9dbb3394cb46a6bb909a45c5e3248b1a09', name: "trigger" })), h("span", { key: '445258e31b4b775fbc22b268234fe15a33f809c9', part: "menu-list", id: "menu-list", ref: (el) => (this.menuListEl = el) }, h("slot", { key: '87396622c6078253736cbe43a1cac55c6f90754f' }))));
|
|
1926
1925
|
}
|
|
1927
1926
|
};
|
|
1928
1927
|
__decorate$6([
|
|
@@ -1957,7 +1956,7 @@ const RtkMenuItem = class {
|
|
|
1957
1956
|
this.t = useLanguage();
|
|
1958
1957
|
}
|
|
1959
1958
|
render() {
|
|
1960
|
-
return (h(Host, { key: '
|
|
1959
|
+
return (h(Host, { key: '8679dae05e846bb8b83a1dbc9580aa2dcad18ccd', class: { [this.menuVariant]: true } }, h("slot", { key: 'da53376b8188bfc47f904d348212fedff932b03a', name: "start" }), h("slot", { key: '4394a3afa13bd298880c1be5255f5a004c5ed42e' }), h("slot", { key: '2be62c70172912e6516ce207b571ea4794aa4f6c', name: "end" })));
|
|
1961
1960
|
}
|
|
1962
1961
|
};
|
|
1963
1962
|
__decorate$5([
|
|
@@ -1992,7 +1991,7 @@ const RtkMenuList = class {
|
|
|
1992
1991
|
this.t = useLanguage();
|
|
1993
1992
|
}
|
|
1994
1993
|
render() {
|
|
1995
|
-
return (h(Host, { key: '
|
|
1994
|
+
return (h(Host, { key: 'b743da0bae39c93cff7896968a64c84166b8a751', class: { [this.menuVariant]: true } }, h("slot", { key: '46ca973e68fccbf5c8c7544f61bb9745840d0054' })));
|
|
1996
1995
|
}
|
|
1997
1996
|
};
|
|
1998
1997
|
__decorate$4([
|
|
@@ -2051,9 +2050,37 @@ __decorate$3([
|
|
|
2051
2050
|
], RtkMessageView.prototype, "iconPack", void 0);
|
|
2052
2051
|
RtkMessageView.style = RtkMessageViewStyle0;
|
|
2053
2052
|
|
|
2054
|
-
const rtkPaginatedListCss = ".scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{position:relative;display:flex;flex-direction:column;flex:1}.container{box-sizing:border-box;display:flex;flex-direction:column-reverse;padding-top:var(--rtk-space-4, 16px);padding-bottom:var(--rtk-space-4, 16px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);flex:1 0 0px;overflow-y:scroll}.file-picker{display:none}.chat *:first-child{margin-top:var(--rtk-space-0, 0px)}.chat .head{display:flex;align-items:center}.chat .head .name{margin-right:var(--rtk-space-4, 16px);font-size:12px;font-weight:700}.chat .head .time{font-size:12px;color:rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76))}.chat .body{margin-top:var(--rtk-space-2, 8px);margin-bottom:var(--rtk-space-2, 8px);overflow-wrap:break-word;font-size:14px;line-height:1.375}.chat .body .emoji{font-size:24px}p{margin-top:var(--rtk-space-0, 0px);margin-bottom:var(--rtk-space-3, 12px)}rtk-text-message,rtk-image-message,rtk-file-message{margin-top:var(--rtk-space-4, 16px);display:block;padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);font-family:var(--rtk-font-family, sans-serif);color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));box-sizing:border-box}*[is-continued]{margin-top:var(--rtk-space-3, 12px)}rtk-text-message[is-continued]{margin-top:var(--rtk-space-2, 8px)}.chat .image{position:relative;height:var(--rtk-space-40, 160px);max-width:var(--rtk-space-64, 256px);cursor:pointer}.chat .image img{display:none;height:100%;width:100%;border-radius:var(--rtk-border-radius-sm, 4px);-o-object-fit:cover;object-fit:cover}.chat .image .image-spinner{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}.chat .image .image-spinner rtk-spinner{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity))}.chat .image .image-errored{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);background-color:rgba(var(--rtk-colors-danger, 255 45 45) / 0.1);--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}.chat .image .actions{display:none;height:var(--rtk-space-8, 32px);align-items:center;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action{height:var(--rtk-space-8, 32px);width:var(--rtk-space-8, 32px);border-radius:var(--rtk-border-radius-none, 0);border-width:var(--rtk-border-width-none, 0);border-style:none;background-color:transparent;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action:hover{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.image.loaded img{display:block}.image.loaded .image-spinner{display:none}.image:hover .actions,.image:focus .actions{display:flex}.chat .file{display:flex;align-items:center;gap:var(--rtk-space-1, 4px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);padding-top:var(--rtk-space-1\\.5, 6px);padding-bottom:var(--rtk-space-1\\.5, 6px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}.chat .file .file-data{flex:1 1 0%}.chat .file .file-data .name{word-break:break-all;color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split{margin-top:var(--rtk-space-0\\.5, 2px);display:flex;align-items:center;font-size:12px}.chat .file .file-data .file-data-split .ext{margin-right:var(--rtk-space-2, 8px);text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split .divider{height:var(--rtk-space-4, 16px);width:var(--rtk-space-0\\.5, 2px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.chat .file .file-data .file-data-split .size{margin-left:var(--rtk-space-2, 8px)}.smallest-dom-element{width:1px}#top-scroll{transform:translateY(20vh)
|
|
2053
|
+
const rtkPaginatedListCss = ".scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{position:relative;display:flex;flex-direction:column;flex:1}.container{box-sizing:border-box;display:flex;flex-direction:column-reverse;padding-top:var(--rtk-space-4, 16px);padding-bottom:var(--rtk-space-4, 16px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);flex:1 0 0px;overflow-y:scroll}.file-picker{display:none}.chat *:first-child{margin-top:var(--rtk-space-0, 0px)}.chat .head{display:flex;align-items:center}.chat .head .name{margin-right:var(--rtk-space-4, 16px);font-size:12px;font-weight:700}.chat .head .time{font-size:12px;color:rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76))}.chat .body{margin-top:var(--rtk-space-2, 8px);margin-bottom:var(--rtk-space-2, 8px);overflow-wrap:break-word;font-size:14px;line-height:1.375}.chat .body .emoji{font-size:24px}p{margin-top:var(--rtk-space-0, 0px);margin-bottom:var(--rtk-space-3, 12px)}rtk-text-message,rtk-image-message,rtk-file-message{margin-top:var(--rtk-space-4, 16px);display:block;padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);font-family:var(--rtk-font-family, sans-serif);color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));box-sizing:border-box}*[is-continued]{margin-top:var(--rtk-space-3, 12px)}rtk-text-message[is-continued]{margin-top:var(--rtk-space-2, 8px)}.chat .image{position:relative;height:var(--rtk-space-40, 160px);max-width:var(--rtk-space-64, 256px);cursor:pointer}.chat .image img{display:none;height:100%;width:100%;border-radius:var(--rtk-border-radius-sm, 4px);-o-object-fit:cover;object-fit:cover}.chat .image .image-spinner{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}.chat .image .image-spinner rtk-spinner{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity))}.chat .image .image-errored{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);background-color:rgba(var(--rtk-colors-danger, 255 45 45) / 0.1);--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}.chat .image .actions{display:none;height:var(--rtk-space-8, 32px);align-items:center;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action{height:var(--rtk-space-8, 32px);width:var(--rtk-space-8, 32px);border-radius:var(--rtk-border-radius-none, 0);border-width:var(--rtk-border-width-none, 0);border-style:none;background-color:transparent;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action:hover{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.image.loaded img{display:block}.image.loaded .image-spinner{display:none}.image:hover .actions,.image:focus .actions{display:flex}.chat .file{display:flex;align-items:center;gap:var(--rtk-space-1, 4px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);padding-top:var(--rtk-space-1\\.5, 6px);padding-bottom:var(--rtk-space-1\\.5, 6px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}.chat .file .file-data{flex:1 1 0%}.chat .file .file-data .name{word-break:break-all;color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split{margin-top:var(--rtk-space-0\\.5, 2px);display:flex;align-items:center;font-size:12px}.chat .file .file-data .file-data-split .ext{margin-right:var(--rtk-space-2, 8px);text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split .divider{height:var(--rtk-space-4, 16px);width:var(--rtk-space-0\\.5, 2px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.chat .file .file-data .file-data-split .size{margin-left:var(--rtk-space-2, 8px)}.smallest-dom-element{width:1px}#top-scroll{transform:translateY(20vh);transform:translateY(20px)}a{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-text-opacity));text-decoration-line:none}a:hover{text-decoration-line:underline}.show-new-messages-ctr{position:absolute;bottom:var(--rtk-space-4, 16px);right:var(--rtk-space-4, 16px);z-index:10;margin-top:calc(var(--rtk-space-14, 56px) * -1);--tw-translate-y:var(--rtk-space-28, 112px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.show-new-messages-ctr.active{--tw-translate-y:var(--rtk-space-0, 0px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:pointer;opacity:1}.show-new-messages{pointer-events:auto;border-radius:9999px}.show-new-messages:hover{border-radius:9999px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-ring-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}rtk-spinner,.empty-list{margin:auto}.page-wrapper{margin-left:var(--rtk-space-1, 4px);margin-right:var(--rtk-space-1, 4px);display:flex;flex-direction:column-reverse}.message-wrapper{margin-bottom:var(--rtk-space-2, 8px)}.pinned .message-wrapper{position:relative}.pinned .pin-icon{position:absolute;right:calc(var(--rtk-space-1, 4px) * -1);top:calc(var(--rtk-space-1, 4px) * -1);display:flex;border-radius:var(--rtk-border-radius-sm, 4px)}.pinned rtk-message-view{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));padding-top:var(--rtk-space-1, 4px);padding-bottom:var(--rtk-space-1, 4px)}.load-more-on-top-container{pointer-events:none;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-4, 16px);z-index:10}.load-more-icon{pointer-events:auto;border-radius:9999px}.load-more-icon:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-ring-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}";
|
|
2055
2054
|
const RtkPaginatedListStyle0 = rtkPaginatedListCss;
|
|
2056
2055
|
|
|
2056
|
+
/**
|
|
2057
|
+
* HOW INFINITE SCROLL WORKS:
|
|
2058
|
+
*
|
|
2059
|
+
* We use intersectionObserver to scroll up.
|
|
2060
|
+
* We use scrollEnd listener to scroll down.
|
|
2061
|
+
*
|
|
2062
|
+
* Why?
|
|
2063
|
+
* intersectionObserver doesn't work reliably for 2 way scrolling but has great ux,
|
|
2064
|
+
* so we use it to smoothly scroll up.
|
|
2065
|
+
*
|
|
2066
|
+
* We have empty divs at the top and bottom ($topRef, $bottomRef)
|
|
2067
|
+
* which act as triggers to tell that we have reached the top or end of our messages and need to fetch new messages,
|
|
2068
|
+
*
|
|
2069
|
+
* When scrolling up, we can't remove pages as intersectionObserver relies on
|
|
2070
|
+
* the index of dom elements to work properly.
|
|
2071
|
+
* So instead, we fetch older messages and push them to the end of the 2d array
|
|
2072
|
+
* if length exceeds pagesAllowed, we free up the pages and keep the first empty index in memory (firstEmptyIndex).
|
|
2073
|
+
*
|
|
2074
|
+
* For scrolling down, when scroll ends we see if the bottomRef is in view.
|
|
2075
|
+
* If yes, we fetch the new page and insert it at the firstEmptyIndex.
|
|
2076
|
+
* We update timestamps & firstEmptyIndex, then we rerender.
|
|
2077
|
+
*
|
|
2078
|
+
* If we have exceeded our page allowance we delete old pages.
|
|
2079
|
+
*
|
|
2080
|
+
* In this case deleting pages is okay as we are not relying on the index of dom elements to detect page end.
|
|
2081
|
+
*
|
|
2082
|
+
* This also simplifies the code because when a user scrolls up we do not need to manage a lastEmptyIndex.
|
|
2083
|
+
*/
|
|
2057
2084
|
var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
2058
2085
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2059
2086
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -2067,274 +2094,270 @@ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators,
|
|
|
2067
2094
|
const RtkPaginatedList = class {
|
|
2068
2095
|
constructor(hostRef) {
|
|
2069
2096
|
registerInstance(this, hostRef);
|
|
2097
|
+
/**
|
|
2098
|
+
* when scrolling up, we can't remove pages as intersectionObserver relies on
|
|
2099
|
+
* the index of dom elements to stay stable.
|
|
2100
|
+
* So, instead we free up the pages and keep the last empty index in memory.
|
|
2101
|
+
*/
|
|
2102
|
+
this.firstEmptyIndex = -1;
|
|
2103
|
+
this.maxTS = 0;
|
|
2104
|
+
// the length of pages will always be pageSize + 2
|
|
2105
|
+
this.pages = [];
|
|
2106
|
+
/** label to show when empty */
|
|
2107
|
+
this.emptyListLabel = null;
|
|
2108
|
+
this.rerenderBoolean = false;
|
|
2109
|
+
this.showEmptyListLabel = false;
|
|
2070
2110
|
/** Icon pack */
|
|
2071
2111
|
this.iconPack = defaultIconPack;
|
|
2072
2112
|
/** Language */
|
|
2073
2113
|
this.t = useLanguage();
|
|
2074
|
-
/** label to show when empty */
|
|
2075
|
-
this.emptyListLabel = null;
|
|
2076
2114
|
this.isLoading = false;
|
|
2077
2115
|
this.isLoadingTop = false;
|
|
2078
2116
|
this.isLoadingBottom = false;
|
|
2079
|
-
this.hasMoreDataAtTop = false;
|
|
2080
|
-
this.rerenderBoolean = false;
|
|
2081
|
-
/**
|
|
2082
|
-
* This gets disabled when the user scrolls up and the bottom node
|
|
2083
|
-
* is not visible anymore.
|
|
2084
|
-
*/
|
|
2085
|
-
this.shouldRenderNewNodes = true;
|
|
2086
|
-
/**
|
|
2087
|
-
* This gets disabled when the user scrolls up and the bottom node
|
|
2088
|
-
* is not visible anymore.
|
|
2089
|
-
*/
|
|
2090
|
-
this.hasNewNodesToRender = false;
|
|
2091
|
-
this.showEmptyListLabel = false;
|
|
2092
2117
|
/**
|
|
2093
|
-
*
|
|
2094
|
-
*
|
|
2095
|
-
*
|
|
2096
|
-
*
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
*
|
|
2100
|
-
*
|
|
2101
|
-
|
|
2102
|
-
this.pagesToRender = [[]];
|
|
2103
|
-
this.currentTime = () => {
|
|
2104
|
-
return new Date().getTime();
|
|
2105
|
-
};
|
|
2118
|
+
* Even when auto scroll is enabled, we only want to scroll if a new realtime message has arrived.
|
|
2119
|
+
* This variable tells us if we should respect auto scroll after a new page has been loaded.
|
|
2120
|
+
* It is also used by the scroll to bottom button.
|
|
2121
|
+
* */
|
|
2122
|
+
this.shouldScrollToBottom = false;
|
|
2123
|
+
/** UI Indicator for the "scroll to bottom" button.
|
|
2124
|
+
* Toggles on when a new node is added and autoscroll is disabled.
|
|
2125
|
+
* Toggles off when all nodes are loaded */
|
|
2126
|
+
this.showNewMessagesCTR = false;
|
|
2106
2127
|
this.observe = (el) => {
|
|
2107
2128
|
if (!el)
|
|
2108
2129
|
return;
|
|
2109
2130
|
this.intersectionObserver.observe(el);
|
|
2110
2131
|
};
|
|
2132
|
+
this.isAtBottom = () => {
|
|
2133
|
+
const rect = this.$bottomRef.getBoundingClientRect();
|
|
2134
|
+
return rect.top >= 0 && rect.bottom <= window.innerHeight;
|
|
2135
|
+
};
|
|
2111
2136
|
}
|
|
2112
2137
|
/**
|
|
2113
|
-
*
|
|
2138
|
+
* Adds a new node to the beginning of the paginated list
|
|
2139
|
+
* @param {DataNode} node - The data node to add to the beginning of the list
|
|
2114
2140
|
*/
|
|
2115
2141
|
async onNewNode(node) {
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2142
|
+
// Always update the maxTS. New messages will load on scroll till the end cursor (newTS) reaches this value.
|
|
2143
|
+
this.maxTS = Math.max(this.maxTS, node.timeMs);
|
|
2144
|
+
// if we are at the bottom of the page
|
|
2145
|
+
if (this.firstEmptyIndex === -1) {
|
|
2146
|
+
// if there are no pages, load the first page
|
|
2147
|
+
if (this.pages.length < 1) {
|
|
2148
|
+
// update old timer to 1ms ahead of the latest message as we subtract this value to avoid loading duplicate messages when scrolling
|
|
2149
|
+
this.oldTS = node.timeMs + 1;
|
|
2150
|
+
this.loadPrevPage();
|
|
2151
|
+
}
|
|
2152
|
+
else {
|
|
2153
|
+
// append messages to the page if page has not reached full capacity
|
|
2154
|
+
if (this.pages[0].length < this.pageSize) {
|
|
2155
|
+
this.pages[0].unshift(node);
|
|
2156
|
+
this.newTS = node.timeMs;
|
|
2157
|
+
this.rerender();
|
|
2158
|
+
}
|
|
2159
|
+
else {
|
|
2160
|
+
// if page is at full capacity, load next page
|
|
2161
|
+
this.loadNextPage();
|
|
2162
|
+
}
|
|
2163
|
+
}
|
|
2119
2164
|
}
|
|
2120
|
-
|
|
2121
|
-
this.
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
const oldLength = this.pagesToRender.flat().length;
|
|
2128
|
-
this.pagesToRender = this.pagesToRender.map((page) => page.filter((item) => item.id !== key));
|
|
2129
|
-
if (oldLength !== this.pagesToRender.flat().length) {
|
|
2130
|
-
this.rerender();
|
|
2165
|
+
// If autoscroll is enabled, this method will scroll to the bottom
|
|
2166
|
+
if (this.autoScroll) {
|
|
2167
|
+
this.shouldScrollToBottom = true;
|
|
2168
|
+
this.scrollToBottom();
|
|
2169
|
+
}
|
|
2170
|
+
else {
|
|
2171
|
+
this.showNewMessagesCTR = true;
|
|
2131
2172
|
}
|
|
2132
2173
|
}
|
|
2174
|
+
// this method is called recursively based on shouldScrollToBottom (see scrollEnd listener)
|
|
2175
|
+
scrollToBottom() {
|
|
2176
|
+
this.$bottomRef.scrollIntoView({ behavior: 'smooth' });
|
|
2177
|
+
}
|
|
2133
2178
|
/**
|
|
2134
|
-
*
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2179
|
+
* Deletes a node anywhere from the list
|
|
2180
|
+
* @param {string} id - The id of the node to delete
|
|
2181
|
+
* */
|
|
2182
|
+
async onNodeDelete(id) {
|
|
2183
|
+
// Iterate only over pages that have content (not empty)
|
|
2184
|
+
for (let i = this.pages.length - 1; i > this.firstEmptyIndex; i--) {
|
|
2185
|
+
const index = this.pages[i].findIndex((node) => node.id === id);
|
|
2186
|
+
// message in view
|
|
2187
|
+
if (index !== -1) {
|
|
2188
|
+
// delete message
|
|
2189
|
+
this.pages[i].splice(index, 1);
|
|
2190
|
+
// if we are on the first page and it's now empty, we need to go back to initial state
|
|
2191
|
+
if (i === 0 && this.pages[i].length === 0) {
|
|
2192
|
+
this.pages.shift();
|
|
2193
|
+
this.firstEmptyIndex = -1;
|
|
2194
|
+
}
|
|
2195
|
+
else if (i === this.firstEmptyIndex + 1) {
|
|
2196
|
+
// if newest page is empty, update first empty index
|
|
2197
|
+
if (this.pages[i].length === 0)
|
|
2198
|
+
this.firstEmptyIndex++;
|
|
2199
|
+
// update timestamp, first empty index could be -1, so we need to cap it at 0
|
|
2200
|
+
this.newTS = this.pages[Math.max(this.firstEmptyIndex, 0)][0].timeMs;
|
|
2201
|
+
}
|
|
2202
|
+
else if (i === this.firstEmptyIndex + this.pagesAllowed) {
|
|
2203
|
+
// if oldest page is empty, remove it
|
|
2204
|
+
if (this.pages[i].length === 0)
|
|
2205
|
+
this.pages.pop();
|
|
2206
|
+
// update timestamp
|
|
2207
|
+
const lastPage = this.pages[this.firstEmptyIndex + this.pagesAllowed];
|
|
2208
|
+
this.oldTS = lastPage[lastPage.length - 1].timeMs;
|
|
2209
|
+
}
|
|
2210
|
+
this.rerender();
|
|
2142
2211
|
}
|
|
2143
|
-
return item;
|
|
2144
|
-
}));
|
|
2145
|
-
if (shouldRerender)
|
|
2146
|
-
this.rerender();
|
|
2147
|
-
}
|
|
2148
|
-
onItemChanged(newItemId, oldItemId) {
|
|
2149
|
-
if (newItemId !== oldItemId) {
|
|
2150
|
-
this.pagesToRender = [[]];
|
|
2151
|
-
this.loadFirstPage().then(() => this.rerender());
|
|
2152
2212
|
}
|
|
2153
2213
|
}
|
|
2214
|
+
/**
|
|
2215
|
+
* Updates a new node anywhere in the list
|
|
2216
|
+
* @param {string} _id - The id of the node to update
|
|
2217
|
+
* @param {DataNode} _node - The updated data node
|
|
2218
|
+
* */
|
|
2219
|
+
async onNodeUpdate(_id, _node) { }
|
|
2220
|
+
rerender() {
|
|
2221
|
+
this.rerenderBoolean = !this.rerenderBoolean;
|
|
2222
|
+
}
|
|
2154
2223
|
connectedCallback() {
|
|
2155
2224
|
this.rerender = debounce(this.rerender.bind(this), 50, { maxWait: 200 });
|
|
2156
|
-
this.autoScroll = true;
|
|
2157
2225
|
this.intersectionObserver = new IntersectionObserver((entries) => {
|
|
2158
|
-
writeTask(() => {
|
|
2226
|
+
writeTask(async () => {
|
|
2159
2227
|
for (const entry of entries) {
|
|
2160
|
-
if (entry.target.id === 'bottom-scroll') {
|
|
2161
|
-
if (entry.isIntersecting)
|
|
2162
|
-
this.loadBottom();
|
|
2163
|
-
else
|
|
2164
|
-
this.shouldRenderNewNodes = false;
|
|
2165
|
-
}
|
|
2166
2228
|
if (entry.target.id === 'top-scroll' && entry.isIntersecting) {
|
|
2167
|
-
this.
|
|
2229
|
+
this.isLoadingTop = true;
|
|
2230
|
+
await this.loadPrevPage();
|
|
2231
|
+
this.isLoadingTop = false;
|
|
2168
2232
|
}
|
|
2169
2233
|
}
|
|
2170
2234
|
});
|
|
2171
2235
|
});
|
|
2172
2236
|
}
|
|
2173
|
-
disconnectedCallback() {
|
|
2174
|
-
this.intersectionObserver.disconnect();
|
|
2175
|
-
}
|
|
2176
2237
|
componentDidLoad() {
|
|
2177
|
-
/**
|
|
2178
|
-
* Adding observes here so that on the first render we scroll down
|
|
2179
|
-
* and shouldRenderNewNodes remains true
|
|
2180
|
-
*/
|
|
2181
|
-
this.loadFirstPage();
|
|
2182
2238
|
this.observe(this.$topRef);
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
componentDidRender() {
|
|
2186
|
-
if (this.shouldRenderNewNodes && this.autoScroll)
|
|
2187
|
-
smoothScrollToBottom(this.$paginatedList);
|
|
2188
|
-
}
|
|
2189
|
-
loadFirstPage() {
|
|
2190
|
-
return this.loadPage(this.currentTime(), this.pageSize, true, (data) => {
|
|
2191
|
-
if (data.length === 0) {
|
|
2192
|
-
this.showEmptyListLabel = true;
|
|
2193
|
-
}
|
|
2194
|
-
});
|
|
2195
|
-
}
|
|
2196
|
-
loadTop() {
|
|
2197
|
-
/**
|
|
2198
|
-
* If there is only one unfilled page or no page, no need to check
|
|
2199
|
-
* for top since it will be empty
|
|
2200
|
-
*/
|
|
2201
|
-
if (this.pagesToRender.length === 0)
|
|
2202
|
-
return;
|
|
2203
|
-
if (this.pagesToRender.length === 1 && this.pagesToRender[0].length < this.pageSize)
|
|
2204
|
-
return;
|
|
2205
|
-
/**
|
|
2206
|
-
* TODO: Make this more flexible currently this only works with chat
|
|
2207
|
-
*/
|
|
2208
|
-
const oldestVNode = this.pagesToRender[0][0];
|
|
2209
|
-
const oldestTimestamp = oldestVNode.timeMs;
|
|
2210
|
-
// TODO: scrollIntoView
|
|
2211
|
-
const onPageRendered = () => { }; // oldestVNode.$elm$?.scrollIntoView();
|
|
2212
|
-
this.isLoadingTop = true;
|
|
2213
|
-
this.loadPage(oldestTimestamp - 1, this.pageSize, true, onPageRendered, 'top');
|
|
2214
|
-
}
|
|
2215
|
-
loadBottom() {
|
|
2216
|
-
/**
|
|
2217
|
-
* If there is only one unfilled page or no page, no need to check
|
|
2218
|
-
* for top since it will be empty
|
|
2219
|
-
*/
|
|
2220
|
-
if (this.pagesToRender.length === 0) {
|
|
2221
|
-
this.shouldRenderNewNodes = true;
|
|
2222
|
-
return;
|
|
2223
|
-
}
|
|
2224
|
-
if (this.pagesToRender.length === 1 && this.pagesToRender[0].length < this.pageSize) {
|
|
2225
|
-
this.shouldRenderNewNodes = true;
|
|
2226
|
-
return;
|
|
2227
|
-
}
|
|
2228
|
-
const newestVNode = this.pagesToRender.at(-1).at(-1);
|
|
2229
|
-
const newestTimestamp = newestVNode.timeMs;
|
|
2230
|
-
// TODO: scrollIntoView
|
|
2231
|
-
const onPageRendered = () => smoothScrollToBottom(this.$paginatedList);
|
|
2232
|
-
this.isLoadingBottom = true;
|
|
2233
|
-
this.loadPage(newestTimestamp + 1, this.pageSize, false, onPageRendered, 'bottom');
|
|
2234
|
-
}
|
|
2235
|
-
addNodeToRender(node, addToStart) {
|
|
2236
|
-
if (addToStart) {
|
|
2237
|
-
const firstPage = this.pagesToRender[0];
|
|
2238
|
-
if (firstPage && (firstPage === null || firstPage === void 0 ? void 0 : firstPage.length) < this.pageSize) {
|
|
2239
|
+
if (this.$containerRef) {
|
|
2240
|
+
this.$containerRef.onscrollend = async () => {
|
|
2239
2241
|
/**
|
|
2240
|
-
*
|
|
2242
|
+
* Load new page if:
|
|
2243
|
+
* if there are nodes to load at the bottom (maxTS > newTS)
|
|
2244
|
+
* or if there are pages to fill at the bottom (firstEmptyIndex > -1)
|
|
2241
2245
|
*/
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
this.removeLastPageIfNeeded(false);
|
|
2251
|
-
}
|
|
2252
|
-
}
|
|
2253
|
-
else {
|
|
2254
|
-
const [lastPage] = this.pagesToRender.slice(-1);
|
|
2255
|
-
if (lastPage && (lastPage === null || lastPage === void 0 ? void 0 : lastPage.length) < this.pageSize) {
|
|
2256
|
-
/**
|
|
2257
|
-
* If last page is not full then just add it
|
|
2258
|
-
*/
|
|
2259
|
-
lastPage.push(node);
|
|
2260
|
-
}
|
|
2261
|
-
else {
|
|
2262
|
-
/**
|
|
2263
|
-
* If last page is full add a new page with just
|
|
2264
|
-
* this node
|
|
2265
|
-
*/
|
|
2266
|
-
const newPage = [node];
|
|
2267
|
-
this.pagesToRender.push(newPage);
|
|
2268
|
-
this.removeLastPageIfNeeded(true);
|
|
2269
|
-
}
|
|
2246
|
+
if (this.isAtBottom() && (this.maxTS > this.newTS || this.firstEmptyIndex > -1)) {
|
|
2247
|
+
this.isLoadingBottom = true;
|
|
2248
|
+
await this.loadNextPage();
|
|
2249
|
+
this.isLoadingBottom = false;
|
|
2250
|
+
if (this.shouldScrollToBottom)
|
|
2251
|
+
this.scrollToBottom();
|
|
2252
|
+
}
|
|
2253
|
+
};
|
|
2270
2254
|
}
|
|
2271
2255
|
}
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2256
|
+
async loadPrevPage() {
|
|
2257
|
+
if (this.isLoading)
|
|
2258
|
+
return;
|
|
2259
|
+
/**
|
|
2260
|
+
* NOTE(ikabra): this case also runs on initial load
|
|
2261
|
+
* if scrolling up ->
|
|
2262
|
+
* fetch older messages and push to the end of the array
|
|
2263
|
+
* cleanup 1st non empty page from the array if length exceeds pagesAllowed
|
|
2264
|
+
*/
|
|
2265
|
+
// if no old timestamp, it means we are at initial state
|
|
2266
|
+
if (!this.oldTS)
|
|
2267
|
+
this.oldTS = new Date().getTime();
|
|
2268
|
+
// load data
|
|
2280
2269
|
this.isLoading = true;
|
|
2281
|
-
const data =
|
|
2270
|
+
const data = await this.fetchData(this.oldTS - 1, this.pageSize, true);
|
|
2282
2271
|
this.isLoading = false;
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2272
|
+
// no more old messages to show, we are at the top of the page
|
|
2273
|
+
if (!data.length)
|
|
2274
|
+
return;
|
|
2275
|
+
// add old data to the end of the array
|
|
2276
|
+
this.pages.push(data);
|
|
2277
|
+
// clear old pages when we reach the limit
|
|
2278
|
+
if (this.pages.length > this.pagesAllowed) {
|
|
2279
|
+
this.pages[this.pages.length - this.pagesAllowed - 1] = [];
|
|
2291
2280
|
/**
|
|
2292
|
-
*
|
|
2293
|
-
*
|
|
2281
|
+
* find last non empty page in range (this.pages.length, this.firstEmptyIndex)
|
|
2282
|
+
* we are doing this because any of the middle pages in the currently rendered pages
|
|
2283
|
+
* could be empty as we allow deleting messages.
|
|
2284
|
+
* This helps us set the first empty index correctly.
|
|
2294
2285
|
*/
|
|
2295
|
-
|
|
2296
|
-
this.
|
|
2297
|
-
|
|
2286
|
+
for (let i = this.firstEmptyIndex + 1; i < this.pages.length; i++) {
|
|
2287
|
+
if (this.pages[i].length > 0)
|
|
2288
|
+
break;
|
|
2289
|
+
this.firstEmptyIndex = i;
|
|
2298
2290
|
}
|
|
2299
|
-
onPageRendered([]);
|
|
2300
|
-
return;
|
|
2301
2291
|
}
|
|
2302
|
-
|
|
2292
|
+
// update the old timestamp
|
|
2293
|
+
const lastPage = this.pages[this.pages.length - 1];
|
|
2294
|
+
this.oldTS = lastPage[lastPage.length - 1].timeMs;
|
|
2295
|
+
// update the new timestamp
|
|
2296
|
+
this.newTS = this.pages[this.firstEmptyIndex + 1][0].timeMs;
|
|
2303
2297
|
this.rerender();
|
|
2304
|
-
onPageRendered(data);
|
|
2305
|
-
}
|
|
2306
|
-
rerender() {
|
|
2307
|
-
this.rerenderBoolean = !this.rerenderBoolean;
|
|
2308
2298
|
}
|
|
2309
|
-
|
|
2310
|
-
if (this.
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2299
|
+
async loadNextPage() {
|
|
2300
|
+
if (this.isLoading)
|
|
2301
|
+
return;
|
|
2302
|
+
// new timestamp needs to be assigned by loadPrevPage method
|
|
2303
|
+
if (!this.newTS) {
|
|
2304
|
+
this.showNewMessagesCTR = false;
|
|
2305
|
+
this.shouldScrollToBottom = false;
|
|
2306
|
+
return;
|
|
2315
2307
|
}
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2308
|
+
// load data
|
|
2309
|
+
this.isLoading = true;
|
|
2310
|
+
const data = await this.fetchData(this.newTS + 1, this.pageSize, false);
|
|
2311
|
+
this.isLoading = false;
|
|
2312
|
+
// no more new messages to load
|
|
2313
|
+
if (!data.length) {
|
|
2314
|
+
this.showNewMessagesCTR = false;
|
|
2315
|
+
this.shouldScrollToBottom = false;
|
|
2316
|
+
// remove extra pages from the start if any (could be due to users deleting messages)
|
|
2317
|
+
this.pages = this.pages.filter((page) => page.length > 0);
|
|
2318
|
+
this.firstEmptyIndex = -1;
|
|
2319
|
+
return;
|
|
2320
|
+
}
|
|
2321
|
+
// when filling empty pages
|
|
2322
|
+
if (this.firstEmptyIndex > -1) {
|
|
2323
|
+
this.pages[this.firstEmptyIndex] = data.reverse();
|
|
2324
|
+
}
|
|
2325
|
+
else {
|
|
2326
|
+
// when already at the bottom and loading messages in realtime
|
|
2327
|
+
this.pages.unshift(data.reverse());
|
|
2328
|
+
}
|
|
2329
|
+
if (this.pages.length > this.pagesAllowed) {
|
|
2330
|
+
this.pages.pop();
|
|
2331
|
+
}
|
|
2332
|
+
// smallest value for firstEmptyIndex can be -1, so we cap the index at 0
|
|
2333
|
+
this.newTS = this.pages[Math.max(0, this.firstEmptyIndex)][0].timeMs;
|
|
2334
|
+
// remove all empty pages from the end
|
|
2335
|
+
for (let i = this.pages.length - 1; i > this.firstEmptyIndex; i--) {
|
|
2336
|
+
if (this.pages[i].length > 0)
|
|
2337
|
+
break;
|
|
2338
|
+
// if page is empty, remove it
|
|
2339
|
+
this.pages.pop();
|
|
2340
|
+
}
|
|
2341
|
+
// update the old timestamp
|
|
2342
|
+
const lastPage = this.pages[this.pages.length - 1];
|
|
2343
|
+
this.oldTS = lastPage[lastPage.length - 1].timeMs;
|
|
2344
|
+
// when scrolling too fast scroll a bit to the top to be able to load new messages when you scroll down
|
|
2345
|
+
if (this.$containerRef.scrollTop === 0)
|
|
2346
|
+
this.$containerRef.scrollTop = -60;
|
|
2347
|
+
// smallest value for this index can be -1 (indicates we are at the bottom of the page).
|
|
2348
|
+
this.firstEmptyIndex = Math.max(-1, this.firstEmptyIndex - 1);
|
|
2349
|
+
this.rerender();
|
|
2325
2350
|
}
|
|
2326
2351
|
render() {
|
|
2327
|
-
var _a;
|
|
2328
2352
|
/**
|
|
2329
2353
|
* div.container is flex=column-reverse
|
|
2330
2354
|
* which is why div#bottom-scroll comes before div#top-scroll
|
|
2331
|
-
* div.page-wrapper prevents reversal of messages
|
|
2332
2355
|
*/
|
|
2333
|
-
return (h(Host, { key: '
|
|
2356
|
+
return (h(Host, { key: '9bf695bccf42f2dd43b04725a855b6b77a4062fd' }, h("div", { key: '7c6805ed8b5e831ea6d932cfb5dc3ecf3d312775', class: "scrollbar container", part: "container", ref: (el) => (this.$containerRef = el) }, h("div", { key: 'eb6c68f97385b5a14a94ab2dc0abff4836f016f3', class: { 'show-new-messages-ctr': true, active: this.showNewMessagesCTR } }, h("rtk-button", { key: 'd1f04db290a9e4128ca58c9bd20b2146a7fc8f12', class: "show-new-messages", kind: "icon", variant: "secondary", part: "show-new-messages", onClick: () => {
|
|
2357
|
+
this.shouldScrollToBottom = true;
|
|
2358
|
+
this.scrollToBottom();
|
|
2359
|
+
} }, h("rtk-icon", { key: '71d8a85911513bb4069578a63ae45f21ac53554c', icon: this.iconPack.chevron_down }))), h("div", { key: 'b1aa46b8163431df6060163d7c5a87eb1ebcffa3', class: "smallest-dom-element", id: "bottom-scroll", ref: (el) => (this.$bottomRef = el) }), this.isLoadingBottom && this.pages.length > 0 && h("rtk-spinner", { key: 'a3de0e7b8ca1ac505a596d86c0b8ecafee5fabba', size: "sm" }), this.isLoading && this.pages.length < 1 && h("rtk-spinner", { key: '21fa3a4091d3f1311f5d575c277859602718338c', size: "lg" }), !this.isLoading && this.pages.flat().length === 0 ? (h("div", { class: "empty-list" }, this.t('list.empty'))) : (h("div", { class: "page-wrapper" }, this.pages.map((page, pageIndex) => (h("div", { class: "page", "data-page-index": pageIndex }, this.createNodes([...page].reverse())))))), this.isLoadingTop && this.pages.length > 0 && h("rtk-spinner", { key: '7e018af534e7cd0be3345ca9ad9c8f0a7ab7cc3f', size: "sm" }), h("div", { key: '6c877368fc03c884338402bbcd878929cd4034fb', class: "smallest-dom-element", id: "top-scroll", ref: (el) => (this.$topRef = el) }))));
|
|
2334
2360
|
}
|
|
2335
|
-
static get watchers() { return {
|
|
2336
|
-
"selectedItemId": ["onItemChanged"]
|
|
2337
|
-
}; }
|
|
2338
2361
|
};
|
|
2339
2362
|
__decorate$2([
|
|
2340
2363
|
SyncWithStore()
|
|
@@ -2366,7 +2389,7 @@ const RtkSpinner = class {
|
|
|
2366
2389
|
this.size = 'md';
|
|
2367
2390
|
}
|
|
2368
2391
|
render() {
|
|
2369
|
-
return (h(Host, { key: '
|
|
2392
|
+
return (h(Host, { key: 'c042cbd31d8fa9e58c0cbbc5646575a3172fc824' }, h("rtk-icon", { key: '0171ba3d5f7506e2c67eb813c5ad5b263352088d', class: "spinner", icon: this.iconPack.spinner })));
|
|
2370
2393
|
}
|
|
2371
2394
|
};
|
|
2372
2395
|
__decorate$1([
|
|
@@ -2444,7 +2467,7 @@ const RtkTextComposerView = class {
|
|
|
2444
2467
|
}
|
|
2445
2468
|
}
|
|
2446
2469
|
render() {
|
|
2447
|
-
return (h("div", { key: '
|
|
2470
|
+
return (h("div", { key: 'e5f7fa2bd4a2386ff5185001981477ccacf24556', class: "chat-input", part: "chat-input-container" }, this.maxLengthBreached > 0 && (h("div", { key: '4c06c853ddc7bebafe45fdb2e2c5c9e1c20021fe', class: 'text-error ' + (this.maxLengthBreached === this.maxLength ? 'breached' : '') }, h("rtk-icon", { key: '524037dc257f0aea206fbc3503d1fe1cb03449be', id: "warning-indicator", icon: this.iconPack.warning, part: "warning-indicator" }), ' ', this.maxLengthBreached, " / ", this.maxLength, " ", this.t('chat.max_limit_warning'))), this.rateLimitBreached && (h("div", { key: 'cf975664f367f2621593239ab1cf2e73f5acdb45', class: 'text-error breached' }, h("rtk-icon", { key: '70a6555f1fa9752f91951181b46e0ed0e7eb8679', id: "warning-indicator", icon: this.iconPack.warning, part: "warning-indicator" }), ' ', this.t('chat.rate_limit_error'))), h("textarea", { key: '7fc7280dd143cd701d5037e04c2b36c3ea8ec023', ref: (el) => (this.$textArea = el), placeholder: this.placeholder, disabled: this.disabled, onInput: this.onInputHandler, onKeyDown: this.keyDownHandler, part: "chat-input", value: this.value })));
|
|
2448
2471
|
}
|
|
2449
2472
|
};
|
|
2450
2473
|
__decorate([
|
|
@@ -2465,7 +2488,7 @@ const RtkTextMessageView = class {
|
|
|
2465
2488
|
this.isMarkdown = false;
|
|
2466
2489
|
}
|
|
2467
2490
|
render() {
|
|
2468
|
-
return (h("p", { key: '
|
|
2491
|
+
return (h("p", { key: 'b4cbabb44d32f96a23cd72f108d6a36b05491c97', class: { text: true, emoji: hasOnlyEmojis(this.text) } }, this.isMarkdown ? h("rtk-markdown-view", { text: this.text }) : this.text));
|
|
2469
2492
|
}
|
|
2470
2493
|
};
|
|
2471
2494
|
RtkTextMessageView.style = RtkTextMessageViewStyle0;
|
|
@@ -2571,7 +2594,7 @@ const RtkMenu = class {
|
|
|
2571
2594
|
});
|
|
2572
2595
|
}
|
|
2573
2596
|
render() {
|
|
2574
|
-
return (h(Host, { key: '
|
|
2597
|
+
return (h(Host, { key: '5278137bc9b99d9fe9ffeb0fc30bd887d600494d' }, h("span", { key: 'cbefda068a15340dad76668c3696a10bd94cb8e9', part: "trigger", id: "trigger", ref: (el) => (this.triggerEl = el) }, h("slot", { key: 'f160cf29ece64145e795a9a11459bd458482c446' })), h("div", { key: '1056b2bbc8cbacd3c32280d334d9f703a578b5ef', part: "tooltip", class: "tooltip", id: "tooltip", role: "tooltip", ref: (el) => (this.tooltipEl = el) }, h("div", { key: '6c6816fa1b18d49fa22ab6ffb600aaa23c5b9ec5', id: "arrow", ref: (el) => (this.arrowEl = el), part: "arrow" }), this.label, h("slot", { key: '3c2d3425b2e8b4d810de2ce40394491c4698aede', name: "tooltip" }))));
|
|
2575
2598
|
}
|
|
2576
2599
|
static get watchers() { return {
|
|
2577
2600
|
"open": ["openChanged"]
|