@rtc-agent/component 0.2.7-rc.3 → 0.2.8-rc.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/README.md +109 -13
- package/dist/.generated/locales/en-US.d.ts +268 -0
- package/dist/.generated/locales/en-US.d.ts.map +1 -0
- package/dist/assets/{shared-worker-BEaT-a-g.js → shared-worker-CXyjL7E6.js} +210 -210
- package/dist/components/activity-bar/rtc-activity-bar.d.ts +67 -0
- package/dist/components/activity-bar/rtc-activity-bar.d.ts.map +1 -0
- package/dist/components/activity-bar/rtc-activity-bar.styles.d.ts +7 -0
- package/dist/components/activity-bar/rtc-activity-bar.styles.d.ts.map +1 -0
- package/dist/components/chat-layout/rtc-chat-layout.d.ts +218 -0
- package/dist/components/chat-layout/rtc-chat-layout.d.ts.map +1 -0
- package/dist/components/chat-layout/rtc-chat-layout.styles.d.ts +11 -0
- package/dist/components/chat-layout/rtc-chat-layout.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-content-area.d.ts +34 -0
- package/dist/components/content-area/rtc-content-area.d.ts.map +1 -0
- package/dist/components/content-area/rtc-content-area.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-content-area.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-error-message.d.ts +82 -0
- package/dist/components/content-area/rtc-error-message.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-list.d.ts +251 -0
- package/dist/components/content-area/rtc-message-list.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-list.skeleton-styles.d.ts +13 -0
- package/dist/components/content-area/rtc-message-list.skeleton-styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-list.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-message-list.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message-more-menu.d.ts +35 -0
- package/dist/components/content-area/rtc-message-more-menu.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message.d.ts +208 -0
- package/dist/components/content-area/rtc-message.d.ts.map +1 -0
- package/dist/components/content-area/rtc-message.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-message.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-scroll-container.d.ts +44 -0
- package/dist/components/content-area/rtc-scroll-container.d.ts.map +1 -0
- package/dist/components/content-area/rtc-scroll-container.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-scroll-container.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-card.d.ts +86 -0
- package/dist/components/content-area/rtc-toolcall-card.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-card.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-toolcall-card.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-reply.d.ts +77 -0
- package/dist/components/content-area/rtc-toolcall-reply.d.ts.map +1 -0
- package/dist/components/content-area/rtc-toolcall-reply.styles.d.ts +2 -0
- package/dist/components/content-area/rtc-toolcall-reply.styles.d.ts.map +1 -0
- package/dist/components/content-area/rtc-user-message.d.ts +116 -0
- package/dist/components/content-area/rtc-user-message.d.ts.map +1 -0
- package/dist/components/content-area/rtc-user-message.styles.d.ts +22 -0
- package/dist/components/content-area/rtc-user-message.styles.d.ts.map +1 -0
- package/dist/components/content-area/timeline.styles.d.ts +2 -0
- package/dist/components/content-area/timeline.styles.d.ts.map +1 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.d.ts +25 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.d.ts.map +1 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.styles.d.ts +2 -0
- package/dist/components/content-wrapper/rtc-content-wrapper.styles.d.ts.map +1 -0
- package/dist/components/drawer/rtc-drawer.d.ts +75 -0
- package/dist/components/drawer/rtc-drawer.d.ts.map +1 -0
- package/dist/components/drawer/rtc-drawer.styles.d.ts +15 -0
- package/dist/components/drawer/rtc-drawer.styles.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-area.d.ts +119 -0
- package/dist/components/editor-area/rtc-editor-area.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-area.styles.d.ts +8 -0
- package/dist/components/editor-area/rtc-editor-area.styles.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-tab.d.ts +84 -0
- package/dist/components/editor-area/rtc-editor-tab.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-tab.styles.d.ts +8 -0
- package/dist/components/editor-area/rtc-editor-tab.styles.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-toolbar.d.ts +68 -0
- package/dist/components/editor-area/rtc-editor-toolbar.d.ts.map +1 -0
- package/dist/components/editor-area/rtc-editor-toolbar.styles.d.ts +8 -0
- package/dist/components/editor-area/rtc-editor-toolbar.styles.d.ts.map +1 -0
- package/dist/components/empty-state/rtc-empty-state.d.ts +24 -0
- package/dist/components/empty-state/rtc-empty-state.d.ts.map +1 -0
- package/dist/components/empty-state/rtc-empty-state.styles.d.ts +2 -0
- package/dist/components/empty-state/rtc-empty-state.styles.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-explorer.d.ts +94 -0
- package/dist/components/file-explorer/rtc-file-explorer.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-explorer.styles.d.ts +8 -0
- package/dist/components/file-explorer/rtc-file-explorer.styles.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-tree-item.d.ts +70 -0
- package/dist/components/file-explorer/rtc-file-tree-item.d.ts.map +1 -0
- package/dist/components/file-explorer/rtc-file-tree-item.styles.d.ts +8 -0
- package/dist/components/file-explorer/rtc-file-tree-item.styles.d.ts.map +1 -0
- package/dist/components/function-console/rtc-function-console.d.ts +32 -0
- package/dist/components/function-console/rtc-function-console.d.ts.map +1 -0
- package/dist/components/function-console/rtc-function-console.styles.d.ts +8 -0
- package/dist/components/function-console/rtc-function-console.styles.d.ts.map +1 -0
- package/dist/components/function-debugger/rtc-function-debugger.d.ts +39 -0
- package/dist/components/function-debugger/rtc-function-debugger.d.ts.map +1 -0
- package/dist/components/function-debugger/rtc-function-debugger.styles.d.ts +8 -0
- package/dist/components/function-debugger/rtc-function-debugger.styles.d.ts.map +1 -0
- package/dist/components/function-history/rtc-function-history.d.ts +49 -0
- package/dist/components/function-history/rtc-function-history.d.ts.map +1 -0
- package/dist/components/function-history/rtc-function-history.styles.d.ts +8 -0
- package/dist/components/function-history/rtc-function-history.styles.d.ts.map +1 -0
- package/dist/components/function-params/rtc-function-params.d.ts +29 -0
- package/dist/components/function-params/rtc-function-params.d.ts.map +1 -0
- package/dist/components/function-params/rtc-function-params.styles.d.ts +8 -0
- package/dist/components/function-params/rtc-function-params.styles.d.ts.map +1 -0
- package/dist/components/function-tree/rtc-function-tree.d.ts +59 -0
- package/dist/components/function-tree/rtc-function-tree.d.ts.map +1 -0
- package/dist/components/function-tree/rtc-function-tree.styles.d.ts +2 -0
- package/dist/components/function-tree/rtc-function-tree.styles.d.ts.map +1 -0
- package/dist/components/functions-layout/rtc-functions-layout.d.ts +45 -0
- package/dist/components/functions-layout/rtc-functions-layout.d.ts.map +1 -0
- package/dist/components/functions-layout/rtc-functions-layout.styles.d.ts +8 -0
- package/dist/components/functions-layout/rtc-functions-layout.styles.d.ts.map +1 -0
- package/dist/components/input-area/rtc-input-area.d.ts +167 -0
- package/dist/components/input-area/rtc-input-area.d.ts.map +1 -0
- package/dist/components/input-area/rtc-input-area.styles.d.ts +2 -0
- package/dist/components/input-area/rtc-input-area.styles.d.ts.map +1 -0
- package/dist/components/login/rtc-login-dialog.d.ts +54 -0
- package/dist/components/login/rtc-login-dialog.d.ts.map +1 -0
- package/dist/components/login/rtc-login-dialog.styles.d.ts +2 -0
- package/dist/components/login/rtc-login-dialog.styles.d.ts.map +1 -0
- package/dist/components/login/rtc-login-page.d.ts +39 -0
- package/dist/components/login/rtc-login-page.d.ts.map +1 -0
- package/dist/components/login/rtc-login-page.styles.d.ts +2 -0
- package/dist/components/login/rtc-login-page.styles.d.ts.map +1 -0
- package/dist/components/logo/rtc-logo.d.ts +38 -0
- package/dist/components/logo/rtc-logo.d.ts.map +1 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.d.ts +91 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.d.ts.map +1 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.styles.d.ts +2 -0
- package/dist/components/markdown-editor/rtc-markdown-editor.styles.d.ts.map +1 -0
- package/dist/components/notice-bar/rtc-notice-bar.d.ts +23 -0
- package/dist/components/notice-bar/rtc-notice-bar.d.ts.map +1 -0
- package/dist/components/notice-bar/rtc-notice-bar.styles.d.ts +2 -0
- package/dist/components/notice-bar/rtc-notice-bar.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-ask-user.d.ts +91 -0
- package/dist/components/overlay/rtc-ask-user.d.ts.map +1 -0
- package/dist/components/overlay/rtc-ask-user.styles.d.ts +11 -0
- package/dist/components/overlay/rtc-ask-user.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-command-panel.d.ts +44 -0
- package/dist/components/overlay/rtc-command-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-command-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-command-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-export-dialog.d.ts +59 -0
- package/dist/components/overlay/rtc-export-dialog.d.ts.map +1 -0
- package/dist/components/overlay/rtc-export-dialog.styles.d.ts +11 -0
- package/dist/components/overlay/rtc-export-dialog.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-mode-panel.d.ts +30 -0
- package/dist/components/overlay/rtc-mode-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-mode-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-mode-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-overlay-manager.d.ts +30 -0
- package/dist/components/overlay/rtc-overlay-manager.d.ts.map +1 -0
- package/dist/components/overlay/rtc-overlay-manager.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-overlay-manager.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-restore-confirm.d.ts +37 -0
- package/dist/components/overlay/rtc-restore-confirm.d.ts.map +1 -0
- package/dist/components/overlay/rtc-restore-confirm.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-restore-confirm.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-scenario-panel.d.ts +33 -0
- package/dist/components/overlay/rtc-scenario-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-scenario-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-scenario-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-session-panel.d.ts +39 -0
- package/dist/components/overlay/rtc-session-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-session-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-session-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-toast.d.ts +51 -0
- package/dist/components/overlay/rtc-toast.d.ts.map +1 -0
- package/dist/components/overlay/rtc-todo-panel.d.ts +23 -0
- package/dist/components/overlay/rtc-todo-panel.d.ts.map +1 -0
- package/dist/components/overlay/rtc-todo-panel.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-todo-panel.styles.d.ts.map +1 -0
- package/dist/components/overlay/rtc-tool-confirm.d.ts +30 -0
- package/dist/components/overlay/rtc-tool-confirm.d.ts.map +1 -0
- package/dist/components/overlay/rtc-tool-confirm.styles.d.ts +2 -0
- package/dist/components/overlay/rtc-tool-confirm.styles.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/bus-handler.d.ts +110 -0
- package/dist/components/rtc-agent/helpers/bus-handler.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/command-handler.d.ts +25 -0
- package/dist/components/rtc-agent/helpers/command-handler.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/connection-setup.d.ts +89 -0
- package/dist/components/rtc-agent/helpers/connection-setup.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts +63 -0
- package/dist/components/rtc-agent/helpers/dialog-helpers.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/session-loader.d.ts +69 -0
- package/dist/components/rtc-agent/helpers/session-loader.d.ts.map +1 -0
- package/dist/components/rtc-agent/helpers/vfs-operations.d.ts +155 -0
- package/dist/components/rtc-agent/helpers/vfs-operations.d.ts.map +1 -0
- package/dist/components/rtc-agent/rtc-agent.d.ts +677 -0
- package/dist/components/rtc-agent/rtc-agent.d.ts.map +1 -0
- package/dist/components/rtc-agent/rtc-agent.styles.d.ts +16 -0
- package/dist/components/rtc-agent/rtc-agent.styles.d.ts.map +1 -0
- package/dist/components/session-header/rtc-session-header.d.ts +77 -0
- package/dist/components/session-header/rtc-session-header.d.ts.map +1 -0
- package/dist/components/session-header/rtc-session-header.styles.d.ts +2 -0
- package/dist/components/session-header/rtc-session-header.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab-bar.d.ts +43 -0
- package/dist/components/session-tree/rtc-session-tab-bar.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab-bar.styles.d.ts +10 -0
- package/dist/components/session-tree/rtc-session-tab-bar.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab.d.ts +33 -0
- package/dist/components/session-tree/rtc-session-tab.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tab.styles.d.ts +11 -0
- package/dist/components/session-tree/rtc-session-tab.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree-item.d.ts +42 -0
- package/dist/components/session-tree/rtc-session-tree-item.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree-item.styles.d.ts +11 -0
- package/dist/components/session-tree/rtc-session-tree-item.styles.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree.d.ts +71 -0
- package/dist/components/session-tree/rtc-session-tree.d.ts.map +1 -0
- package/dist/components/session-tree/rtc-session-tree.styles.d.ts +10 -0
- package/dist/components/session-tree/rtc-session-tree.styles.d.ts.map +1 -0
- package/dist/components/settings/rtc-settings-panel.d.ts +27 -0
- package/dist/components/settings/rtc-settings-panel.d.ts.map +1 -0
- package/dist/components/settings/rtc-settings-panel.styles.d.ts +8 -0
- package/dist/components/settings/rtc-settings-panel.styles.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-layout.d.ts +74 -0
- package/dist/components/settings-layout/rtc-settings-layout.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-layout.styles.d.ts +8 -0
- package/dist/components/settings-layout/rtc-settings-layout.styles.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-nav.d.ts +62 -0
- package/dist/components/settings-layout/rtc-settings-nav.d.ts.map +1 -0
- package/dist/components/settings-layout/rtc-settings-nav.styles.d.ts +7 -0
- package/dist/components/settings-layout/rtc-settings-nav.styles.d.ts.map +1 -0
- package/dist/components/status-bar/rtc-status-bar.d.ts +39 -0
- package/dist/components/status-bar/rtc-status-bar.d.ts.map +1 -0
- package/dist/components/status-bar/rtc-status-bar.styles.d.ts +11 -0
- package/dist/components/status-bar/rtc-status-bar.styles.d.ts.map +1 -0
- package/dist/components/title-bar/rtc-title-bar.d.ts +46 -0
- package/dist/components/title-bar/rtc-title-bar.d.ts.map +1 -0
- package/dist/components/title-bar/rtc-title-bar.styles.d.ts +2 -0
- package/dist/components/title-bar/rtc-title-bar.styles.d.ts.map +1 -0
- package/dist/components/token-usage/rtc-token-usage.d.ts +60 -0
- package/dist/components/token-usage/rtc-token-usage.d.ts.map +1 -0
- package/dist/config/auth.d.ts +58 -0
- package/dist/config/auth.d.ts.map +1 -0
- package/dist/contexts/activity.d.ts +42 -0
- package/dist/contexts/activity.d.ts.map +1 -0
- package/dist/contexts/auth.d.ts +29 -0
- package/dist/contexts/auth.d.ts.map +1 -0
- package/dist/contexts/editor.d.ts +43 -0
- package/dist/contexts/editor.d.ts.map +1 -0
- package/dist/contexts/file-explorer.d.ts +48 -0
- package/dist/contexts/file-explorer.d.ts.map +1 -0
- package/dist/contexts/function-debug.d.ts +52 -0
- package/dist/contexts/function-debug.d.ts.map +1 -0
- package/dist/contexts/functions.d.ts +43 -0
- package/dist/contexts/functions.d.ts.map +1 -0
- package/dist/contexts/logo.d.ts +21 -0
- package/dist/contexts/logo.d.ts.map +1 -0
- package/dist/contexts/message.d.ts +22 -0
- package/dist/contexts/message.d.ts.map +1 -0
- package/dist/contexts/mode.d.ts +18 -0
- package/dist/contexts/mode.d.ts.map +1 -0
- package/dist/contexts/notification.d.ts +21 -0
- package/dist/contexts/notification.d.ts.map +1 -0
- package/dist/contexts/session-tab.d.ts +10 -0
- package/dist/contexts/session-tab.d.ts.map +1 -0
- package/dist/contexts/session-tree.d.ts +10 -0
- package/dist/contexts/session-tree.d.ts.map +1 -0
- package/dist/contexts/session.d.ts +16 -0
- package/dist/contexts/session.d.ts.map +1 -0
- package/dist/contexts/settings.d.ts +40 -0
- package/dist/contexts/settings.d.ts.map +1 -0
- package/dist/contexts/skill.d.ts +27 -0
- package/dist/contexts/skill.d.ts.map +1 -0
- package/dist/contexts/tool-call.d.ts +16 -0
- package/dist/contexts/tool-call.d.ts.map +1 -0
- package/dist/contexts/turn-count.d.ts +23 -0
- package/dist/contexts/turn-count.d.ts.map +1 -0
- package/dist/contexts/window-state.d.ts +20 -0
- package/dist/contexts/window-state.d.ts.map +1 -0
- package/dist/controllers/activity.controller.d.ts +45 -0
- package/dist/controllers/activity.controller.d.ts.map +1 -0
- package/dist/controllers/auth.controller.d.ts +207 -0
- package/dist/controllers/auth.controller.d.ts.map +1 -0
- package/dist/controllers/editor-area.controller.d.ts +120 -0
- package/dist/controllers/editor-area.controller.d.ts.map +1 -0
- package/dist/controllers/editor.controller.d.ts +29 -0
- package/dist/controllers/editor.controller.d.ts.map +1 -0
- package/dist/controllers/event-binding.controller.d.ts +204 -0
- package/dist/controllers/event-binding.controller.d.ts.map +1 -0
- package/dist/controllers/file-explorer.controller.d.ts +42 -0
- package/dist/controllers/file-explorer.controller.d.ts.map +1 -0
- package/dist/controllers/fork.controller.d.ts +63 -0
- package/dist/controllers/fork.controller.d.ts.map +1 -0
- package/dist/controllers/function-debug.controller.d.ts +67 -0
- package/dist/controllers/function-debug.controller.d.ts.map +1 -0
- package/dist/controllers/functions.controller.d.ts +31 -0
- package/dist/controllers/functions.controller.d.ts.map +1 -0
- package/dist/controllers/message.controller.d.ts +192 -0
- package/dist/controllers/message.controller.d.ts.map +1 -0
- package/dist/controllers/mode.controller.d.ts +26 -0
- package/dist/controllers/mode.controller.d.ts.map +1 -0
- package/dist/controllers/notification.controller.d.ts +105 -0
- package/dist/controllers/notification.controller.d.ts.map +1 -0
- package/dist/controllers/persistence.controller.d.ts +145 -0
- package/dist/controllers/persistence.controller.d.ts.map +1 -0
- package/dist/controllers/session-tab.controller.d.ts +85 -0
- package/dist/controllers/session-tab.controller.d.ts.map +1 -0
- package/dist/controllers/session-tree.controller.d.ts +44 -0
- package/dist/controllers/session-tree.controller.d.ts.map +1 -0
- package/dist/controllers/session.controller.d.ts +58 -0
- package/dist/controllers/session.controller.d.ts.map +1 -0
- package/dist/controllers/settings.controller.d.ts +46 -0
- package/dist/controllers/settings.controller.d.ts.map +1 -0
- package/dist/controllers/skill.controller.d.ts +81 -0
- package/dist/controllers/skill.controller.d.ts.map +1 -0
- package/dist/controllers/status-bar.controller.d.ts +32 -0
- package/dist/controllers/status-bar.controller.d.ts.map +1 -0
- package/dist/controllers/toast.controller.d.ts +29 -0
- package/dist/controllers/toast.controller.d.ts.map +1 -0
- package/dist/controllers/tool-call.controller.d.ts +38 -0
- package/dist/controllers/tool-call.controller.d.ts.map +1 -0
- package/dist/controllers/window-interaction.controller.d.ts +130 -0
- package/dist/controllers/window-interaction.controller.d.ts.map +1 -0
- package/dist/controllers/window-state.controller.d.ts +79 -0
- package/dist/controllers/window-state.controller.d.ts.map +1 -0
- package/dist/core/builtin-system-group.d.ts +73 -0
- package/dist/core/builtin-system-group.d.ts.map +1 -0
- package/dist/core/event-bus.d.ts +133 -0
- package/dist/core/event-bus.d.ts.map +1 -0
- package/dist/core/function-registry.d.ts +196 -0
- package/dist/core/function-registry.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +25 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/locale-controller.d.ts +25 -0
- package/dist/core/locale-controller.d.ts.map +1 -0
- package/dist/core/markdown-generator.d.ts +46 -0
- package/dist/core/markdown-generator.d.ts.map +1 -0
- package/dist/core/ready.d.ts +33 -0
- package/dist/core/ready.d.ts.map +1 -0
- package/dist/core/scenario-loader.d.ts +60 -0
- package/dist/core/scenario-loader.d.ts.map +1 -0
- package/dist/core/theme.d.ts +29 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/debug-api-core.d.ts +9 -0
- package/dist/debug-api-core.d.ts.map +1 -0
- package/dist/debug-api-ext.d.ts +16 -0
- package/dist/debug-api-ext.d.ts.map +1 -0
- package/dist/debug-api-helpers.d.ts +28 -0
- package/dist/debug-api-helpers.d.ts.map +1 -0
- package/dist/debug-api-types.d.ts +206 -0
- package/dist/debug-api-types.d.ts.map +1 -0
- package/dist/debug-api.d.ts +10 -0
- package/dist/debug-api.d.ts.map +1 -0
- package/dist/elements.d.ts +26 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/{en-US-B3u0M1QC.js → en-US-DGPo7Pzk.js} +56 -8
- package/dist/factory.d.ts +68 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/{highlight-languages-Do4vG6hX.js → highlight-languages-BStkA3vP.js} +1 -1
- package/dist/icons/icons.d.ts +93 -0
- package/dist/icons/icons.d.ts.map +1 -0
- package/dist/icons/index.d.ts +8 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/logo.d.ts +15 -0
- package/dist/icons/logo.d.ts.map +1 -0
- package/dist/{index-TrHSQq--.js → index-c20k11wZ.js} +28078 -23840
- package/dist/index.d.ts +116 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -36
- package/dist/index.umd.js +3277 -1094
- package/dist/locales/en-US.d.ts +4 -0
- package/dist/locales/en-US.d.ts.map +1 -0
- package/dist/main.d.ts +17 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/master-lock.d.ts +72 -0
- package/dist/master-lock.d.ts.map +1 -0
- package/dist/registry.d.ts +2 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/repositories/index.d.ts +8 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/message.repository.d.ts +182 -0
- package/dist/repositories/message.repository.d.ts.map +1 -0
- package/dist/stats.html +1 -1
- package/dist/storage.d.ts +11 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/styles/base.d.ts +8 -0
- package/dist/styles/base.d.ts.map +1 -0
- package/dist/styles/index.d.ts +5 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/themes/dark.d.ts +2 -0
- package/dist/styles/themes/dark.d.ts.map +1 -0
- package/dist/styles/themes/light.d.ts +2 -0
- package/dist/styles/themes/light.d.ts.map +1 -0
- package/dist/styles/tokens.d.ts +22 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/types/activity-bar-config.d.ts +38 -0
- package/dist/types/activity-bar-config.d.ts.map +1 -0
- package/dist/types/agent-config.d.ts +61 -0
- package/dist/types/agent-config.d.ts.map +1 -0
- package/dist/types/events.d.ts +112 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/factory.d.ts +610 -0
- package/dist/types/factory.d.ts.map +1 -0
- package/dist/types/functions-debug.d.ts +48 -0
- package/dist/types/functions-debug.d.ts.map +1 -0
- package/dist/types/index.d.ts +386 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/skill.d.ts +207 -0
- package/dist/types/skill.d.ts.map +1 -0
- package/dist/types/window-config.d.ts +122 -0
- package/dist/types/window-config.d.ts.map +1 -0
- package/dist/utils/clipboard.d.ts +14 -0
- package/dist/utils/clipboard.d.ts.map +1 -0
- package/dist/utils/command-parser.d.ts +33 -0
- package/dist/utils/command-parser.d.ts.map +1 -0
- package/dist/utils/content-data.d.ts +113 -0
- package/dist/utils/content-data.d.ts.map +1 -0
- package/dist/utils/custom-scrollbar.d.ts +41 -0
- package/dist/utils/custom-scrollbar.d.ts.map +1 -0
- package/dist/utils/device.d.ts +22 -0
- package/dist/utils/device.d.ts.map +1 -0
- package/dist/utils/floating-panel-controller.d.ts +52 -0
- package/dist/utils/floating-panel-controller.d.ts.map +1 -0
- package/dist/utils/format.d.ts +27 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/highlight-languages.d.ts +9 -0
- package/dist/utils/highlight-languages.d.ts.map +1 -0
- package/dist/utils/message-skeleton.d.ts +39 -0
- package/dist/utils/message-skeleton.d.ts.map +1 -0
- package/dist/utils/message-virtual-scroll.d.ts +595 -0
- package/dist/utils/message-virtual-scroll.d.ts.map +1 -0
- package/dist/utils/relative-time.d.ts +14 -0
- package/dist/utils/relative-time.d.ts.map +1 -0
- package/dist/utils/scroll-saver.d.ts +34 -0
- package/dist/utils/scroll-saver.d.ts.map +1 -0
- package/dist/utils/session-exporter.d.ts +65 -0
- package/dist/utils/session-exporter.d.ts.map +1 -0
- package/dist/utils/skeleton-tracker.d.ts +144 -0
- package/dist/utils/skeleton-tracker.d.ts.map +1 -0
- package/dist/utils/visibility-manager.d.ts +103 -0
- package/dist/utils/visibility-manager.d.ts.map +1 -0
- package/dist/utils.d.ts +5 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/validation/index.d.ts +53 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/openapi-to-zod.d.ts +15 -0
- package/dist/validation/openapi-to-zod.d.ts.map +1 -0
- package/dist/validation/zod-to-openapi.d.ts +66 -0
- package/dist/validation/zod-to-openapi.d.ts.map +1 -0
- package/dist/worker-bridge.d.ts +152 -0
- package/dist/worker-bridge.d.ts.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Message List Component
|
|
3
|
+
*
|
|
4
|
+
* Renders messages in a scrollable container with timeline layout.
|
|
5
|
+
* Each `<rtc-message-list>` subscribes directly to `MessageRepository` for a
|
|
6
|
+
* specific `sessionId`. This allows multiple instances to coexist (e.g. one per
|
|
7
|
+
* open tab) without relying on a shared `MessageContext`.
|
|
8
|
+
*
|
|
9
|
+
* ## Auto-scroll mechanism (Intent-Based Architecture)
|
|
10
|
+
*
|
|
11
|
+
* Auto-scroll is controlled by a **computed property** `_shouldAutoScroll()` that
|
|
12
|
+
* combines geometric state (`_userAtBottom`) with behavioral intent (`_followInvalidatedUntil`):
|
|
13
|
+
*
|
|
14
|
+
* 1. **`_userAtBottom`** (geometric, `@state`): updated by `_onScroll` on every scroll event.
|
|
15
|
+
* `distanceFromBottom < AT_BOTTOM_THRESHOLD_PX (300)` → true.
|
|
16
|
+
*
|
|
17
|
+
* 2. **`_followInvalidatedUntil`** (behavioral, plain field): set ONLY by user input events
|
|
18
|
+
* (wheel, touchstart, pointerdown, keydown) to `Date.now() + 450ms`. Self-expires after
|
|
19
|
+
* 450ms of user inactivity. Programmatic scrolls do NOT modify this field.
|
|
20
|
+
*
|
|
21
|
+
* 3. **`_shouldAutoScroll()`** = `_userAtBottom && Date.now() >= _followInvalidatedUntil`.
|
|
22
|
+
* Called by `updated()`, `_scheduleScroll()`, ResizeObserver.
|
|
23
|
+
*
|
|
24
|
+
* 4. **ResizeObserver** handles async content (Markdown rendering, thinking expansion).
|
|
25
|
+
* Scrolls to bottom only if `_shouldAutoScroll()` is true.
|
|
26
|
+
*
|
|
27
|
+
* @element rtc-message-list
|
|
28
|
+
* @csspart scroll - The scroll container
|
|
29
|
+
* @csspart inner - The inner message container
|
|
30
|
+
*/
|
|
31
|
+
import { LitElement } from 'lit';
|
|
32
|
+
import type { MessageController } from '../../controllers/message.controller.js';
|
|
33
|
+
import type { Message } from '../../types/index.js';
|
|
34
|
+
import './rtc-message.js';
|
|
35
|
+
import './rtc-user-message.js';
|
|
36
|
+
import './rtc-toolcall-card.js';
|
|
37
|
+
import './rtc-toolcall-reply.js';
|
|
38
|
+
import './rtc-error-message.js';
|
|
39
|
+
export declare class RtcMessageList extends LitElement {
|
|
40
|
+
static styles: import("lit").CSSResult[];
|
|
41
|
+
/** Session ID for this message list instance. */
|
|
42
|
+
sessionId: string | null;
|
|
43
|
+
/** Message controller for accessing repository. */
|
|
44
|
+
messageController?: MessageController;
|
|
45
|
+
private _localeCtx;
|
|
46
|
+
private _settingsCtx;
|
|
47
|
+
/** Unsubscribe function returned by MessageRepository.subscribe(). */
|
|
48
|
+
private _subscription?;
|
|
49
|
+
/** Messages for the current session (driven by repository subscription). */
|
|
50
|
+
private _messages;
|
|
51
|
+
/** Whether older messages are available (backward pagination). */
|
|
52
|
+
private _hasMore;
|
|
53
|
+
private _showNewBtn;
|
|
54
|
+
private _userAtBottom;
|
|
55
|
+
/**
|
|
56
|
+
* Follow-invalidation timestamp for auto-scroll.
|
|
57
|
+
*
|
|
58
|
+
* **Behavioral intent**, NOT scroll position. Set ONLY by user input events
|
|
59
|
+
* (wheel, touchstart, pointerdown, keydown) via `_setupFollowInvalidation()`.
|
|
60
|
+
*
|
|
61
|
+
* When `Date.now() < _followInvalidatedUntil`, auto-scroll is suppressed.
|
|
62
|
+
* After 450ms of user inactivity, it self-expires — no "user stopped scrolling"
|
|
63
|
+
* detection needed.
|
|
64
|
+
*
|
|
65
|
+
* This breaks the feedback loop: programmatic scrolls do NOT modify this field,
|
|
66
|
+
* so they cannot re-enable auto-scroll against user intent.
|
|
67
|
+
*
|
|
68
|
+
* Consumed by: `_shouldAutoScroll()` method (computed property).
|
|
69
|
+
*/
|
|
70
|
+
private _followInvalidatedUntil;
|
|
71
|
+
private _scrollEl?;
|
|
72
|
+
private _resizeObserver?;
|
|
73
|
+
private _resizeDebounceTimer?;
|
|
74
|
+
/** Document visibility change listener for browser window blur/focus */
|
|
75
|
+
private _documentVisibilityHandler?;
|
|
76
|
+
/** Tracked short-lived timers — cleared in disconnectedCallback to prevent leaks. */
|
|
77
|
+
private _virtualScrollOpTimer?;
|
|
78
|
+
private _highlightTimer?;
|
|
79
|
+
private _scrollToMessageTimer?;
|
|
80
|
+
private _scrollToBottomTimer?;
|
|
81
|
+
/** Virtual scroll instance for efficient rendering */
|
|
82
|
+
private _virtualScroll?;
|
|
83
|
+
/** Flag to prevent ResizeObserver feedback loop during virtual scroll operations */
|
|
84
|
+
private _isVirtualScrollOperation;
|
|
85
|
+
/**
|
|
86
|
+
* Monotonically increasing version counter for scroll debouncing.
|
|
87
|
+
* Each scroll request increments and captures the current value.
|
|
88
|
+
* Before executing, the async scroll checks if its version is still current.
|
|
89
|
+
* A newer request invalidates older ones -- no boolean flag needed.
|
|
90
|
+
*/
|
|
91
|
+
private _scrollVersion;
|
|
92
|
+
get messages(): Message[];
|
|
93
|
+
/**
|
|
94
|
+
* Public API: scroll to the bottom of the message list.
|
|
95
|
+
* Called by parent components (e.g., rtc-content-area) when needed.
|
|
96
|
+
*/
|
|
97
|
+
scrollToBottom(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Public API: scroll to a specific message by clientId.
|
|
100
|
+
* Called by parent components to navigate to a particular message.
|
|
101
|
+
*
|
|
102
|
+
* Phase 5 (I3): Enhanced with debounce and skeleton awareness.
|
|
103
|
+
* - Debounces rapid successive calls (100ms)
|
|
104
|
+
* - If target is a skeleton placeholder, sync-restores it first
|
|
105
|
+
* - Falls back to DOM query if virtual scroll is not initialized
|
|
106
|
+
*/
|
|
107
|
+
scrollToMessage(clientId: string): void;
|
|
108
|
+
private _doScrollToMessage;
|
|
109
|
+
firstUpdated(): void;
|
|
110
|
+
/**
|
|
111
|
+
* Subscribe to MessageRepository for the current session.
|
|
112
|
+
* Called on firstUpdated and when sessionId changes.
|
|
113
|
+
*/
|
|
114
|
+
private _subscribeToSession;
|
|
115
|
+
/**
|
|
116
|
+
* Handle messages update from repository subscription.
|
|
117
|
+
* Simplified: just call setItems, which handles all diff logic internally.
|
|
118
|
+
*/
|
|
119
|
+
private _handleMessagesUpdate;
|
|
120
|
+
/**
|
|
121
|
+
* Auto-scroll decision point.
|
|
122
|
+
*
|
|
123
|
+
* The component is responsible for its own scrolling. It does not analyze
|
|
124
|
+
* what kind of change happened (growth, shrink, reorder, toolcall merge, etc.).
|
|
125
|
+
* It only asks two questions:
|
|
126
|
+
*
|
|
127
|
+
* 1. **Did messages change?** (`_messages` changed) → if following, scroll to bottom.
|
|
128
|
+
* 2. **Did session change?** (`sessionId` changed) → reset follow intent to true,
|
|
129
|
+
* then scroll to bottom (user expects to see latest messages in a new session).
|
|
130
|
+
*
|
|
131
|
+
* Async content rendering (Markdown, tool call expansion) is handled by
|
|
132
|
+
* ResizeObserver, which scrolls when the inner container size changes.
|
|
133
|
+
*
|
|
134
|
+
* Load-more (prepend) is a special case: preserve scroll position via anchor.
|
|
135
|
+
*/
|
|
136
|
+
updated(changed: Map<string, unknown>): void;
|
|
137
|
+
disconnectedCallback(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Tab visibility handler - called by parent component when tab switches.
|
|
140
|
+
*
|
|
141
|
+
* This is the primary mechanism for the visibility state machine:
|
|
142
|
+
* - When Tab becomes active: setVisibility(true) → VISIBLE state
|
|
143
|
+
* - When Tab becomes inactive: setVisibility(false) → HIDDEN state
|
|
144
|
+
*
|
|
145
|
+
* The state machine ensures:
|
|
146
|
+
* - HIDDEN: pauses all skeletonize/restore operations (prevents bug)
|
|
147
|
+
* - VISIBLE: synchronously rebuilds skeleton positions and restores visible skeletons
|
|
148
|
+
*
|
|
149
|
+
* @param visible - Whether the tab is currently visible (active)
|
|
150
|
+
*/
|
|
151
|
+
onTabVisibilityChange(visible: boolean): void;
|
|
152
|
+
/**
|
|
153
|
+
* Computed property: whether auto-scroll should fire.
|
|
154
|
+
*
|
|
155
|
+
* Combines geometric state (`_userAtBottom`) with behavioral intent
|
|
156
|
+
* (`_followInvalidatedUntil`). This is NOT a stored field — it's computed
|
|
157
|
+
* on every access, so there's no state to manage and no feedback loop possible.
|
|
158
|
+
*
|
|
159
|
+
* Architecture: mirrors Telegram's `scrolledDown && Date.now() >= streamFollowInvalidatedUntil`.
|
|
160
|
+
*/
|
|
161
|
+
private _shouldAutoScroll;
|
|
162
|
+
/**
|
|
163
|
+
* Schedule a scroll-to-bottom after the current render completes.
|
|
164
|
+
*
|
|
165
|
+
* Uses a version counter for clean debouncing:
|
|
166
|
+
* - Each call increments `_scrollVersion`
|
|
167
|
+
* - The async callback captures its version
|
|
168
|
+
* - If version is stale when callback runs, a newer request has superseded it
|
|
169
|
+
*
|
|
170
|
+
* Waits for:
|
|
171
|
+
* 1. `this.updateComplete` -- this component's render is done (new message
|
|
172
|
+
* element is in the DOM)
|
|
173
|
+
* 2. All child message elements' `updateComplete` -- their first render
|
|
174
|
+
* (empty content for async Markdown, complete for sync components)
|
|
175
|
+
*
|
|
176
|
+
* Note: async Markdown rendering (marked + DOMPurify + highlight.js) happens
|
|
177
|
+
* AFTER the child's first `updateComplete` resolves. The ResizeObserver is the
|
|
178
|
+
* safety net that scrolls again when the content actually renders and the inner
|
|
179
|
+
* container size changes.
|
|
180
|
+
*/
|
|
181
|
+
private _scheduleScroll;
|
|
182
|
+
private _scrollToBottom;
|
|
183
|
+
/**
|
|
184
|
+
* Set scroll position. _onScroll always processes scroll events normally
|
|
185
|
+
* (geometric state update). After programmatic scroll to bottom, _onScroll
|
|
186
|
+
* calculates distanceFromBottom ≈ 0 and sets _userAtBottom = true — the same
|
|
187
|
+
* value _scrollToBottom() would set. No suppression needed.
|
|
188
|
+
*
|
|
189
|
+
* The virtual scroll's scroll handler may fire, but it has its own guards
|
|
190
|
+
* (1.5s debounce, stability checks, _isVirtualScrollOperation) so this is harmless.
|
|
191
|
+
*/
|
|
192
|
+
private _setScrollPositionSilently;
|
|
193
|
+
/**
|
|
194
|
+
* Register user input event listeners to invalidate follow intent.
|
|
195
|
+
*
|
|
196
|
+
* Architecture: mirrors Telegram's `streamFollowInvalidatedUntil` pattern.
|
|
197
|
+
* Any user input (wheel, touchstart, pointerdown, keydown) extends the
|
|
198
|
+
* invalidation timestamp by 450ms. Every auto-scroll check reads
|
|
199
|
+
* `Date.now() < _followInvalidatedUntil` — if the user touched anything
|
|
200
|
+
* in the last 450ms, the follow is skipped.
|
|
201
|
+
*
|
|
202
|
+
* This is the key mechanism that breaks the feedback loop:
|
|
203
|
+
* - User intent is detected from INPUT EVENTS, not scroll position
|
|
204
|
+
* - Programmatic scrolls do NOT fire wheel/touchstart/pointerdown/keydown
|
|
205
|
+
* - Therefore programmatic scrolls cannot re-enable auto-scroll
|
|
206
|
+
*/
|
|
207
|
+
private _setupFollowInvalidation;
|
|
208
|
+
private _onScroll;
|
|
209
|
+
/**
|
|
210
|
+
* Handle virtual scroll's onLoadMore callback.
|
|
211
|
+
* Triggers load-more from repository. The actual prepend/append is handled by
|
|
212
|
+
* _handleMessagesUpdate via repository subscription.
|
|
213
|
+
* Returns empty array since we don't prepend/append here.
|
|
214
|
+
*
|
|
215
|
+
* IMPORTANT: For bottom direction, first check if repository has messages
|
|
216
|
+
* after the current window (from viewport slicing). If yes, return them
|
|
217
|
+
* directly from cache instead of going to DB.
|
|
218
|
+
*/
|
|
219
|
+
private _handleVirtualScrollLoadMore;
|
|
220
|
+
/**
|
|
221
|
+
* Render a message element for virtual scroll.
|
|
222
|
+
* Toolcall input renders as a card; output renders as a reply with jump.
|
|
223
|
+
*/
|
|
224
|
+
private _renderMessageElement;
|
|
225
|
+
/**
|
|
226
|
+
* Update a message element in-place with new data.
|
|
227
|
+
* Preserves DOM state (rendered Markdown) to prevent flicker during streaming.
|
|
228
|
+
* Lit's property setter triggers requestUpdate() → lit-html diffing for efficient updates.
|
|
229
|
+
*/
|
|
230
|
+
private _updateMessageElement;
|
|
231
|
+
/**
|
|
232
|
+
* Guard: prevents _onScroll from modifying geometric state (_userAtBottom)
|
|
233
|
+
* during programmatic smooth scroll-to-bottom (initiated by _handleNewBtnClick).
|
|
234
|
+
* Without this, _onScroll fires mid-animation and may cause UI flicker
|
|
235
|
+
* (showNewBtn toggling) as the scroll position passes through non-bottom areas.
|
|
236
|
+
*/
|
|
237
|
+
private _scrollingToBottom;
|
|
238
|
+
private _handleNewBtnClick;
|
|
239
|
+
/**
|
|
240
|
+
* Handle toolcall jump: scroll to the input message and highlight it.
|
|
241
|
+
* Triggered by clicking the reply header in rtc-toolcall-reply.
|
|
242
|
+
*/
|
|
243
|
+
private _handleToolcallJump;
|
|
244
|
+
render(): import("lit").TemplateResult<1>;
|
|
245
|
+
}
|
|
246
|
+
declare global {
|
|
247
|
+
interface HTMLElementTagNameMap {
|
|
248
|
+
'rtc-message-list': RtcMessageList;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=rtc-message-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-list.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAQrC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC/E,OAAO,KAAK,EAAC,OAAO,EAAe,MAAM,sBAAsB,CAAC;AAChE,OAAO,kBAAkB,CAAC;AAK1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAahC,qBAEa,cAAe,SAAQ,UAAU;IAC1C,MAAM,CAAC,MAAM,4BAA4B;IAEzC,iDAAiD;IAEjD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhC,mDAAmD;IAEnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAItC,OAAO,CAAC,UAAU,CAMhB;IAIF,OAAO,CAAC,YAAY,CAclB;IAIF,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC,4EAA4E;IAE5E,OAAO,CAAC,SAAS,CAAiB;IAElC,kEAAkE;IAElE,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,aAAa,CAAQ;IAE7B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,uBAAuB,CAAK;IAEpC,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,wEAAwE;IACxE,OAAO,CAAC,0BAA0B,CAAC,CAAa;IAEhD,qFAAqF;IACrF,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC,sDAAsD;IACtD,OAAO,CAAC,cAAc,CAAC,CAAgC;IAEvD,oFAAoF;IACpF,OAAO,CAAC,yBAAyB,CAAS;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAK;IAE3B,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IAED;;;OAGG;IACH,cAAc;IAKd;;;;;;;;OAQG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQvC,OAAO,CAAC,kBAAkB;IAmB1B,YAAY;IAyHZ;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAgC3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAuF7B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAiCrC,oBAAoB;IAuBpB;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM7C;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,eAAe;IAYvB;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAKlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,SAAS,CAuBf;IAEF;;;;;;;;;OASG;YACW,4BAA4B;IAyF1C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA6E7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAAS;IAEnC,OAAO,CAAC,kBAAkB,CAwBxB;IAEF;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAoBzB;IAEF,MAAM;CAqBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,cAAc,CAAC;KACtC;CACJ"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skeleton screen styles for message placeholders
|
|
3
|
+
*
|
|
4
|
+
* Provides shimmer animation and visual structure for skeleton screens.
|
|
5
|
+
* Imported and applied by rtc-message-list component.
|
|
6
|
+
*
|
|
7
|
+
* Phase 4 (I3 fix): Theme-aware colors using CSS custom properties.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Skeleton screen CSS styles
|
|
11
|
+
*/
|
|
12
|
+
export declare const skeletonStyles: import("lit").CSSResult;
|
|
13
|
+
//# sourceMappingURL=rtc-message-list.skeleton-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-list.skeleton-styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-list.skeleton-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,eAAO,MAAM,cAAc,yBAwL1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-list.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-list.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA2FlB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Message More Menu Component
|
|
3
|
+
*
|
|
4
|
+
* A context menu that appears when the user clicks the more button on a
|
|
5
|
+
* user message bubble. Provides options: copy, fork, and retry (failed only).
|
|
6
|
+
*
|
|
7
|
+
* Layout:
|
|
8
|
+
* ┌──────────────────┐
|
|
9
|
+
* │ Copy │
|
|
10
|
+
* │ Fork │
|
|
11
|
+
* │ Retry (failed) │
|
|
12
|
+
* ├──────────────────┤
|
|
13
|
+
* │ MM-DD HH:mm │
|
|
14
|
+
* └──────────────────┘
|
|
15
|
+
*
|
|
16
|
+
* @element rtc-message-more-menu
|
|
17
|
+
*/
|
|
18
|
+
import { LitElement } from 'lit';
|
|
19
|
+
import type { SyncStatus } from '../../types/index.js';
|
|
20
|
+
export declare class RtcMessageMoreMenu extends LitElement {
|
|
21
|
+
static styles: import("lit").CSSResult;
|
|
22
|
+
private _localeCtx;
|
|
23
|
+
syncStatus: SyncStatus;
|
|
24
|
+
timestamp: number;
|
|
25
|
+
/** Format timestamp to compact format (delegates to shared utility function) */
|
|
26
|
+
private get _formattedTimestamp();
|
|
27
|
+
private _handleSelect;
|
|
28
|
+
render(): import("lit").TemplateResult<1>;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
'rtc-message-more-menu': RtcMessageMoreMenu;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=rtc-message-more-menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message-more-menu.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message-more-menu.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAC,UAAU,EAAY,MAAM,KAAK,CAAC;AAK1C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAMrD,qBAEa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,0BAoDX;IAIF,OAAO,CAAC,UAAU,CAMhB;IAGF,UAAU,EAAE,UAAU,CAAY;IAGlC,SAAS,SAAK;IAEd,gFAAgF;IAChF,OAAO,KAAK,mBAAmB,GAE9B;IAED,OAAO,CAAC,aAAa;IAUrB,MAAM;CAiBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,uBAAuB,EAAE,kBAAkB,CAAC;KAC/C;CACJ"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Message Component
|
|
3
|
+
*
|
|
4
|
+
* Renders a single AI message with timeline dot and Markdown content.
|
|
5
|
+
* Supports thinking, streaming, and success states.
|
|
6
|
+
*
|
|
7
|
+
* Markdown parsing is lazy-loaded (Lit best-practice 7-3).
|
|
8
|
+
*
|
|
9
|
+
* ## Layout model (Timeline layout)
|
|
10
|
+
*
|
|
11
|
+
* DOM structure:
|
|
12
|
+
* .timeline-item (position: relative, padding-left reserves space for dot + vertical line)
|
|
13
|
+
* ├── .timeline-dot (absolute, shares left reference frame with the vertical line)
|
|
14
|
+
* ├── ::before (vertical line, absolutely positioned pseudo-element)
|
|
15
|
+
* └── .timeline-content
|
|
16
|
+
* └── div (rendered-HTML wrapper layer)
|
|
17
|
+
* └── <p>/<h1>/... (block-level elements produced by Markdown rendering)
|
|
18
|
+
*
|
|
19
|
+
* Alignment principle (see rtc-message.styles.ts comments for details):
|
|
20
|
+
* - vertical line center X = 15px (left: 14px + half of width 2px)
|
|
21
|
+
* - dot center X = 15px (left: 15px + translateX(-50%))
|
|
22
|
+
* - dot center Y ≈ first-line text line-height midpoint Y (top: 9px, based on default token calculation)
|
|
23
|
+
*
|
|
24
|
+
* @element rtc-message
|
|
25
|
+
* @csspart dot - The timeline dot
|
|
26
|
+
* @csspart content - The message content area
|
|
27
|
+
*/
|
|
28
|
+
import { LitElement } from 'lit';
|
|
29
|
+
import type { Message } from '../../types/index.js';
|
|
30
|
+
import type { StatefulComponent } from '../../utils/message-virtual-scroll.js';
|
|
31
|
+
export declare class RtcMessage extends LitElement implements StatefulComponent {
|
|
32
|
+
static styles: import("lit").CSSResult[];
|
|
33
|
+
private _localeCtx;
|
|
34
|
+
message: Message;
|
|
35
|
+
isLast: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Safe HTML string produced by processing Markdown through marked + DOMPurify.
|
|
38
|
+
*
|
|
39
|
+
* Why is this intermediate @state needed instead of rendering message.content directly?
|
|
40
|
+
* 1. marked + DOMPurify are lazy-loaded via dynamic import (first load is async)
|
|
41
|
+
* 2. Parse results are only available after async completion
|
|
42
|
+
* 3. Using @state triggers automatic re-render when results become available
|
|
43
|
+
*/
|
|
44
|
+
private _renderedHtml;
|
|
45
|
+
/**
|
|
46
|
+
* Collapse state for thinking content.
|
|
47
|
+
*
|
|
48
|
+
* Default collapsed (false). During streaming, user can manually expand to view
|
|
49
|
+
* real-time thinking process. After streaming ends, the user's current choice
|
|
50
|
+
* is preserved without automatic switching.
|
|
51
|
+
*/
|
|
52
|
+
private _thinkingExpanded;
|
|
53
|
+
/**
|
|
54
|
+
* Generation counter — ensures stale parse results (from earlier content
|
|
55
|
+
* versions during streaming) never overwrite newer ones. Each call to
|
|
56
|
+
* `_parseMarkdown()` bumps the counter; if the result arrives when the
|
|
57
|
+
* counter has moved on, it is discarded.
|
|
58
|
+
*
|
|
59
|
+
* The marked + dompurify module imports are cached after first load, so
|
|
60
|
+
* subsequent parses only pay for parsing + sanitizing, not network I/O.
|
|
61
|
+
*/
|
|
62
|
+
private _parseGeneration;
|
|
63
|
+
private _modulesPromise;
|
|
64
|
+
/**
|
|
65
|
+
* Last parsed content string — used to detect if content actually changed.
|
|
66
|
+
* This prevents unnecessary re-parsing when:
|
|
67
|
+
* 1. Component is restored from skeleton (content unchanged, use cached HTML)
|
|
68
|
+
* 2. Other message fields change (syncStatus, streaming) but content is same
|
|
69
|
+
*
|
|
70
|
+
* Only when content.data changes (streaming updates) do we need to re-parse.
|
|
71
|
+
*/
|
|
72
|
+
private _lastParsedContent;
|
|
73
|
+
/**
|
|
74
|
+
* Only re-parse Markdown when message changes.
|
|
75
|
+
*
|
|
76
|
+
* Why not watch all properties?
|
|
77
|
+
* - isLast only affects outer class (success state), not content rendering
|
|
78
|
+
* - Watching all properties would cause marked + DOMPurify to re-run on isLast changes, wasting performance
|
|
79
|
+
*/
|
|
80
|
+
willUpdate(changed: Map<string, unknown>): void;
|
|
81
|
+
/**
|
|
82
|
+
* Lazy-load marked + DOMPurify + highlight.js with retry logic.
|
|
83
|
+
* Handles stale chunk errors during development (when rebuilds change chunk hashes).
|
|
84
|
+
*/
|
|
85
|
+
private _loadModulesWithRetry;
|
|
86
|
+
private _parseMarkdown;
|
|
87
|
+
/**
|
|
88
|
+
* Apply highlight.js syntax highlighting to all <pre><code> blocks from Markdown rendering.
|
|
89
|
+
*
|
|
90
|
+
* Flow:
|
|
91
|
+
* 1. DOMParser parses HTML string into DOM
|
|
92
|
+
* 2. Iterate all <pre><code> elements
|
|
93
|
+
* 3. Call hljs.highlightElement(), which selects language based on <code>'s class
|
|
94
|
+
* (e.g. language-javascript), otherwise auto-detects
|
|
95
|
+
* 4. Serialize back to HTML string
|
|
96
|
+
*
|
|
97
|
+
* Why use DOMParser instead of regex?
|
|
98
|
+
* - Regex cannot correctly handle nested tags, HTML entities, language hint attributes
|
|
99
|
+
* - DOMParser is natively implemented by the browser, performance is sufficient (code blocks aren't large)
|
|
100
|
+
* - highlight.js's official API is the DOM-element-oriented highlightElement()
|
|
101
|
+
*/
|
|
102
|
+
private _highlightCodeBlocks;
|
|
103
|
+
/**
|
|
104
|
+
* Whether the current message is thinking type (content.type === 'thinking').
|
|
105
|
+
* Thinking type messages render as collapsible sections, not direct Markdown display.
|
|
106
|
+
*/
|
|
107
|
+
private get _isThinkingContent();
|
|
108
|
+
/**
|
|
109
|
+
* Whether the current message is a compression summary (content.type === 'summary').
|
|
110
|
+
* Compression summaries render as non-collapsible indicator blocks: streaming state shows "compressing",
|
|
111
|
+
* completed state shows released/increased token count.
|
|
112
|
+
*/
|
|
113
|
+
private get _isSummaryContent();
|
|
114
|
+
/**
|
|
115
|
+
* Whether the current message is prompt type (content.type === 'prompt').
|
|
116
|
+
* Prompt messages render as special cards, not Markdown.
|
|
117
|
+
*/
|
|
118
|
+
private get _isPromptContent();
|
|
119
|
+
private _toggleThinking;
|
|
120
|
+
/**
|
|
121
|
+
* Extract component state for preservation across virtualization.
|
|
122
|
+
* Called by MessageVirtualScroll before destroying the element.
|
|
123
|
+
*
|
|
124
|
+
* Preserved state:
|
|
125
|
+
* - renderedHtml: Cached Markdown HTML (avoids re-parsing on restore)
|
|
126
|
+
* - thinkingExpanded: User's expand/collapse preference for thinking blocks
|
|
127
|
+
*/
|
|
128
|
+
getState(): Record<string, unknown>;
|
|
129
|
+
/**
|
|
130
|
+
* Inject cached state after restoring from skeleton placeholder.
|
|
131
|
+
* Called synchronously before first render to avoid flicker.
|
|
132
|
+
*
|
|
133
|
+
* @param state - Previously extracted state from getState()
|
|
134
|
+
*/
|
|
135
|
+
setState(state: Record<string, unknown>): void;
|
|
136
|
+
/**
|
|
137
|
+
* On timeline-dot click: copy message content to clipboard
|
|
138
|
+
*/
|
|
139
|
+
private _handleDotClick;
|
|
140
|
+
render(): import("lit").TemplateResult<1>;
|
|
141
|
+
/**
|
|
142
|
+
* Render thinking content block (collapsible).
|
|
143
|
+
*
|
|
144
|
+
* Collapsed state: shows header row (chevron + "Thinking process"), content hidden.
|
|
145
|
+
* Expanded state: header row + Markdown content rendered below.
|
|
146
|
+
*/
|
|
147
|
+
private _renderThinkingBlock;
|
|
148
|
+
/**
|
|
149
|
+
* Render compression summary block (non-collapsible).
|
|
150
|
+
*
|
|
151
|
+
* Streaming state: shows "Compressing context...".
|
|
152
|
+
* Completed state: shows "Compressed context · released/increased X tokens".
|
|
153
|
+
*
|
|
154
|
+
* No longer displays the compressed summary content, user doesn't need to read it;
|
|
155
|
+
* only focuses on two signals: "compressing" and "how many tokens were released".
|
|
156
|
+
*/
|
|
157
|
+
private _renderSummaryBlock;
|
|
158
|
+
/**
|
|
159
|
+
* Render prompt content block (non-collapsible).
|
|
160
|
+
*
|
|
161
|
+
* Display format:
|
|
162
|
+
* SCENARIOS $title
|
|
163
|
+
* [Prompt preview max-height:3 lines]
|
|
164
|
+
*
|
|
165
|
+
* Design decisions:
|
|
166
|
+
* - No expand support: users don't need to read full system prompt content
|
|
167
|
+
* - Uses left border instead of full border: visually lighter (distinguished from summary-block's full border)
|
|
168
|
+
* - Preview area limited to 3 lines: saves space
|
|
169
|
+
* - Uses <pre> to render prompt text: preserves original formatting (line breaks, indentation),
|
|
170
|
+
* while avoiding HTML injection (prompt content may contain < and > characters)
|
|
171
|
+
* - Automatically supports dark theme (uses --rtc-* CSS variables)
|
|
172
|
+
*/
|
|
173
|
+
private _renderPromptBlock;
|
|
174
|
+
/**
|
|
175
|
+
* Extract compression statistics from message.content.data.
|
|
176
|
+
*
|
|
177
|
+
* Compatible with two data formats:
|
|
178
|
+
* - New format: SummaryContent { items, metadata }
|
|
179
|
+
* - Old format: SummaryItem[] (no metadata, returns all zeros)
|
|
180
|
+
*/
|
|
181
|
+
private _extractSummaryStats;
|
|
182
|
+
/**
|
|
183
|
+
* Format token count using K/B/T units.
|
|
184
|
+
*
|
|
185
|
+
* Rules:
|
|
186
|
+
* - < 1000: show raw number (e.g. 500)
|
|
187
|
+
* - < 1M: show K (e.g. 12.5K)
|
|
188
|
+
* - < 1B: show M (e.g. 1.5M)
|
|
189
|
+
* - >= 1B: show B (e.g. 2.3B)
|
|
190
|
+
* - >= 1T: show T (e.g. 1.2T)
|
|
191
|
+
*/
|
|
192
|
+
private _formatTokens;
|
|
193
|
+
/**
|
|
194
|
+
* Format duration.
|
|
195
|
+
*
|
|
196
|
+
* Rules:
|
|
197
|
+
* - < 1000ms: show ms (e.g. 500ms)
|
|
198
|
+
* - < 60s: show s (e.g. 3.5s)
|
|
199
|
+
* - >= 60s: show m s (e.g. 2m 30s)
|
|
200
|
+
*/
|
|
201
|
+
private _formatDuration;
|
|
202
|
+
}
|
|
203
|
+
declare global {
|
|
204
|
+
interface HTMLElementTagNameMap {
|
|
205
|
+
'rtc-message': RtcMessage;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=rtc-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAOrC,OAAO,KAAK,EAAC,OAAO,EAAgB,MAAM,sBAAsB,CAAC;AAIjE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAI7E,qBAEa,UAAW,SAAQ,UAAW,YAAW,iBAAiB;IACnE,MAAM,CAAC,MAAM,4BAAU;IAIvB,OAAO,CAAC,UAAU,CAMhB;IAGF,OAAO,EAAE,OAAO,CAA4G;IAG5H,MAAM,UAAS;IAEf;;;;;;;OAOG;IAEH,OAAO,CAAC,aAAa,CAAM;IAE3B;;;;;;OAMG;IAEH,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,eAAe,CAIN;IAEjB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB,CAAc;IAExC;;;;;;OAMG;IACH,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IASxC;;;OAGG;YACW,qBAAqB;YA4BrB,cAAc;IAwE5B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,KAAK,kBAAkB,GAE7B;IAED;;;;OAIG;IACH,OAAO,KAAK,iBAAiB,GAE5B;IAED;;;OAGG;IACH,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,CAAC,eAAe;IAMvB;;;;;;;OAOG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOnC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9C;;OAEG;YACW,eAAe;IAe7B,MAAM;IAsDN;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CAY1B;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,aAAa,EAAE,UAAU,CAAC;KAC7B;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-message.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-message.styles.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,MAAM,2BAmgBlB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RTC Scroll Container Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable wrapper that provides scroll lock functionality for content areas.
|
|
5
|
+
* Prevents nested scroll conflicts by locking internal scroll by default.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Default locked state with subtle bottom gradient overlay
|
|
9
|
+
* - Click toggle button to unlock scrolling
|
|
10
|
+
* - Smooth transitions between locked/unlocked states
|
|
11
|
+
* - Configurable max-height via CSS variables
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* ```html
|
|
15
|
+
* <rtc-scroll-container max-height="var(--rtc-content-height-md)">
|
|
16
|
+
* <pre>Long content here...</pre>
|
|
17
|
+
* </rtc-scroll-container>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @element rtc-scroll-container
|
|
21
|
+
* @slot - Default slot for scrollable content
|
|
22
|
+
* @cssprop --rtc-scroll-max-height-locked - Max height when locked (default: 100px)
|
|
23
|
+
* @cssprop --rtc-scroll-max-height-unlocked - Max height when unlocked (default: 200px)
|
|
24
|
+
*/
|
|
25
|
+
import { LitElement } from 'lit';
|
|
26
|
+
export declare class RtcScrollContainer extends LitElement {
|
|
27
|
+
static styles: import("lit").CSSResult;
|
|
28
|
+
/** Initial lock state (default: true = locked) */
|
|
29
|
+
initialLocked: boolean;
|
|
30
|
+
/** Whether content is currently scroll-locked */
|
|
31
|
+
private _scrollLocked;
|
|
32
|
+
constructor();
|
|
33
|
+
/** Toggle scroll lock state */
|
|
34
|
+
private _toggleScrollLock;
|
|
35
|
+
/** Get current lock state (for external access if needed) */
|
|
36
|
+
get isLocked(): boolean;
|
|
37
|
+
render(): import("lit").TemplateResult<1>;
|
|
38
|
+
}
|
|
39
|
+
declare global {
|
|
40
|
+
interface HTMLElementTagNameMap {
|
|
41
|
+
'rtc-scroll-container': RtcScrollContainer;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=rtc-scroll-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-scroll-container.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-scroll-container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAC,UAAU,EAAO,MAAM,KAAK,CAAC;AAIrC,qBACa,kBAAmB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,0BAAU;IAEvB,kDAAkD;IAElD,aAAa,UAAQ;IAErB,iDAAiD;IAEjD,OAAO,CAAC,aAAa,CAAQ;;IAO7B,+BAA+B;IAC/B,OAAO,CAAC,iBAAiB;IAIzB,6DAA6D;IAC7D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,MAAM;CAsBT;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,sBAAsB,EAAE,kBAAkB,CAAC;KAC9C;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtc-scroll-container.styles.d.ts","sourceRoot":"","sources":["../../../src/components/content-area/rtc-scroll-container.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,yBAiFlB,CAAC"}
|