@admin-layout/tailwind-ui 12.2.4-alpha.6 → 12.2.4-alpha.60
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/lib/components/AIToolbar/components/AIToolBar.d.ts +22 -0
- package/lib/components/AIToolbar/components/AIToolBar.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/AIToolBar.js +83 -0
- package/lib/components/AIToolbar/components/AIToolBar.js.map +1 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts +14 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.js +60 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.js.map +1 -0
- package/lib/components/AIToolbar/components/CustomCursor.d.ts +2 -0
- package/lib/components/AIToolbar/components/CustomCursor.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/CustomCursor.js +66 -0
- package/lib/components/AIToolbar/components/CustomCursor.js.map +1 -0
- package/lib/components/AIToolbar/components/DragButton.d.ts +9 -0
- package/lib/components/AIToolbar/components/DragButton.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/DragButton.js +57 -0
- package/lib/components/AIToolbar/components/DragButton.js.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts +7 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.js +30 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.js.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/index.d.ts +7 -0
- package/lib/components/AIToolbar/components/Markdown/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/index.js +46 -0
- package/lib/components/AIToolbar/components/Markdown/index.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/AssistantAvatar.d.ts +24 -0
- package/lib/components/AIToolbar/components/completion/AssistantAvatar.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/AssistantAvatar.js +48 -0
- package/lib/components/AIToolbar/components/completion/AssistantAvatar.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts +28 -0
- package/lib/components/AIToolbar/components/completion/AssistantMessageActions.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js +209 -0
- package/lib/components/AIToolbar/components/completion/AssistantMessageActions.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/AssistantSenderBadge.d.ts +15 -0
- package/lib/components/AIToolbar/components/completion/AssistantSenderBadge.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Audio.d.ts +3 -0
- package/lib/components/AIToolbar/components/completion/Audio.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Audio.js +65 -0
- package/lib/components/AIToolbar/components/completion/Audio.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts +11 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js +66 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/CharacterPicker.d.ts +3 -0
- package/lib/components/AIToolbar/components/completion/CharacterPicker.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/CharacterPicker.js +90 -0
- package/lib/components/AIToolbar/components/completion/CharacterPicker.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Files.d.ts +6 -0
- package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Files.js +134 -0
- package/lib/components/AIToolbar/components/completion/Files.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Input.d.ts +5 -0
- package/lib/components/AIToolbar/components/completion/Input.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Input.js +283 -0
- package/lib/components/AIToolbar/components/completion/Input.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts +11 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.js +131 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.d.ts +6 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.js +28 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/index.d.ts +11 -0
- package/lib/components/AIToolbar/components/completion/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/index.js +20 -0
- package/lib/components/AIToolbar/components/completion/index.js.map +1 -0
- package/lib/components/AIToolbar/components/index.d.ts +17 -0
- package/lib/components/AIToolbar/components/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/Header.d.ts +14 -0
- package/lib/components/AIToolbar/components/speech/Header.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/Header.js +82 -0
- package/lib/components/AIToolbar/components/speech/Header.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts +8 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.js +44 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts +13 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.js +168 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.d.ts +13 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.js +100 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts +14 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.js +101 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts +12 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.js +142 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +14 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.js +293 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts +10 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.js +48 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/Warning.d.ts +6 -0
- package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/Warning.js +154 -0
- package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts +7 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.js +194 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts +2 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.js +32 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/index.d.ts +4 -0
- package/lib/components/AIToolbar/components/speech/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/index.js +298 -0
- package/lib/components/AIToolbar/components/speech/index.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts +12 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.js +114 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.js.map +1 -0
- package/lib/components/AIToolbar/components/types.d.ts +190 -0
- package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
- package/lib/components/AIToolbar/hooks/useActiveCharacter.d.ts +52 -0
- package/lib/components/AIToolbar/hooks/useActiveCharacter.d.ts.map +1 -0
- package/lib/components/AIToolbar/hooks/useActiveCharacter.js +344 -0
- package/lib/components/AIToolbar/hooks/useActiveCharacter.js.map +1 -0
- package/lib/components/AIToolbar/hooks/useCharacterSprite.d.ts +14 -0
- package/lib/components/AIToolbar/hooks/useCharacterSprite.d.ts.map +1 -0
- package/lib/components/AIToolbar/hooks/useCharacterSprite.js +103 -0
- package/lib/components/AIToolbar/hooks/useCharacterSprite.js.map +1 -0
- package/lib/components/AIToolbar/hooks/useChatBackgroundImage.d.ts +10 -0
- package/lib/components/AIToolbar/hooks/useChatBackgroundImage.d.ts.map +1 -0
- package/lib/components/AIToolbar/hooks/useChatBackgroundImage.js +126 -0
- package/lib/components/AIToolbar/hooks/useChatBackgroundImage.js.map +1 -0
- package/lib/components/AIToolbar/index.d.ts +7 -0
- package/lib/components/AIToolbar/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/utils/emotionClassifier.d.ts +19 -0
- package/lib/components/AIToolbar/utils/emotionClassifier.d.ts.map +1 -0
- package/lib/components/AIToolbar/utils/emotionClassifier.js +142 -0
- package/lib/components/AIToolbar/utils/emotionClassifier.js.map +1 -0
- package/lib/components/Button/Button.d.ts +1 -1
- package/lib/components/Button/Button.d.ts.map +1 -1
- package/lib/components/Button/Button.js +7 -6
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.js +158 -140
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/Dialog/Dialog.d.ts +20 -0
- package/lib/components/Dialog/Dialog.d.ts.map +1 -0
- package/lib/components/Dialog/Dialog.js +111 -0
- package/lib/components/Dialog/Dialog.js.map +1 -0
- package/lib/components/Dialog/index.d.ts +3 -0
- package/lib/components/Dialog/index.d.ts.map +1 -0
- package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts +1 -2
- package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/ApplicationErrorHandler.js +2 -2
- package/lib/components/ErrorHandlers/ErrorBoundary.d.ts +1 -2
- package/lib/components/ErrorHandlers/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/ErrorBoundary.js +35 -28
- package/lib/components/ErrorHandlers/ErrorBoundary.js.map +1 -1
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts +1 -2
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.js +20 -15
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.js.map +1 -1
- package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts +4 -2
- package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/RemixErrorBoundary.js +222 -100
- package/lib/components/ErrorHandlers/RemixErrorBoundary.js.map +1 -1
- package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts +4 -2
- package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/SPAErrorBoundary.js +247 -82
- package/lib/components/ErrorHandlers/SPAErrorBoundary.js.map +1 -1
- package/lib/components/ErrorPages/403.d.ts +1 -2
- package/lib/components/ErrorPages/403.d.ts.map +1 -1
- package/lib/components/ErrorPages/403.js +26 -18
- package/lib/components/ErrorPages/403.js.map +1 -1
- package/lib/components/ErrorPages/404.d.ts +1 -2
- package/lib/components/ErrorPages/404.d.ts.map +1 -1
- package/lib/components/ErrorPages/404.js +26 -18
- package/lib/components/ErrorPages/404.js.map +1 -1
- package/lib/components/ErrorPages/500.d.ts +1 -2
- package/lib/components/ErrorPages/500.d.ts.map +1 -1
- package/lib/components/ErrorPages/500.js +26 -18
- package/lib/components/ErrorPages/500.js.map +1 -1
- package/lib/components/InputToolBar/InputToolBar.d.ts +8 -0
- package/lib/components/InputToolBar/InputToolBar.d.ts.map +1 -0
- package/lib/components/InputToolBar/InputToolBar.js +469 -0
- package/lib/components/InputToolBar/InputToolBar.js.map +1 -0
- package/lib/components/InputToolBar/defaults.d.ts +15 -0
- package/lib/components/InputToolBar/defaults.d.ts.map +1 -0
- package/lib/components/InputToolBar/defaults.js +59 -0
- package/lib/components/InputToolBar/defaults.js.map +1 -0
- package/lib/components/InputToolBar/index.d.ts +5 -0
- package/lib/components/InputToolBar/index.d.ts.map +1 -0
- package/lib/components/InputToolBar/types.d.ts +153 -0
- package/lib/components/InputToolBar/types.d.ts.map +1 -0
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts +1 -2
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts.map +1 -1
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js +24 -19
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js.map +1 -1
- package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts +13 -0
- package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownBreadcrumbs.js +34 -0
- package/lib/components/Markdown/MarkdownBreadcrumbs.js.map +1 -0
- package/lib/components/Markdown/MarkdownCopyButton.d.ts +10 -0
- package/lib/components/Markdown/MarkdownCopyButton.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownCopyButton.js +229 -0
- package/lib/components/Markdown/MarkdownCopyButton.js.map +1 -0
- package/lib/components/Markdown/MarkdownHeader.d.ts +13 -0
- package/lib/components/Markdown/MarkdownHeader.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownHeader.js +44 -0
- package/lib/components/Markdown/MarkdownHeader.js.map +1 -0
- package/lib/components/Markdown/MarkdownNavigation.d.ts +15 -0
- package/lib/components/Markdown/MarkdownNavigation.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownNavigation.js +38 -0
- package/lib/components/Markdown/MarkdownNavigation.js.map +1 -0
- package/lib/components/Markdown/MarkdownPage.d.ts +41 -0
- package/lib/components/Markdown/MarkdownPage.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownPage.js +238 -0
- package/lib/components/Markdown/MarkdownPage.js.map +1 -0
- package/lib/components/Markdown/MarkdownTableOfContents.d.ts +15 -0
- package/lib/components/Markdown/MarkdownTableOfContents.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownTableOfContents.js +57 -0
- package/lib/components/Markdown/MarkdownTableOfContents.js.map +1 -0
- package/lib/components/Markdown/index.d.ts +7 -0
- package/lib/components/Markdown/index.d.ts.map +1 -0
- package/lib/components/OTP/OTPInput.js +32 -30
- package/lib/components/OTP/OTPInput.js.map +1 -1
- package/lib/components/OTP/OTPVerification.js +75 -55
- package/lib/components/OTP/OTPVerification.js.map +1 -1
- package/lib/components/OTP/SingleInput.js +2 -2
- package/lib/components/OTP/SingleInput.js.map +1 -1
- package/lib/components/PageContainer/PageContainer.js +29 -22
- package/lib/components/PageContainer/PageContainer.js.map +1 -1
- package/lib/components/PageLoading/index.js +8 -7
- package/lib/components/PageLoading/index.js.map +1 -1
- package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts +1 -2
- package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts.map +1 -1
- package/lib/components/ReactTable/Table.d.ts +1 -2
- package/lib/components/ReactTable/Table.d.ts.map +1 -1
- package/lib/components/ReactTable/Table.js +92 -71
- package/lib/components/ReactTable/Table.js.map +1 -1
- package/lib/components/ReactTable/TableFilters.d.ts +2 -3
- package/lib/components/ReactTable/TableFilters.d.ts.map +1 -1
- package/lib/components/ReactTable/TableFilters.js +40 -34
- package/lib/components/ReactTable/TableFilters.js.map +1 -1
- package/lib/components/Search/SearchInput.d.ts +1 -2
- package/lib/components/Search/SearchInput.d.ts.map +1 -1
- package/lib/components/Search/SearchInput.js +14 -13
- package/lib/components/Search/SearchInput.js.map +1 -1
- package/lib/components/Select/Select.d.ts +6 -6
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/Select.js +60 -45
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/Spin/index.js +14 -11
- package/lib/components/Spin/index.js.map +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.js +29 -17
- package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/lib/components/ThemeProvider/ThemeToggle.js +28 -25
- package/lib/components/ThemeProvider/ThemeToggle.js.map +1 -1
- package/lib/components/ThemeProvider/types.d.ts +3 -3
- package/lib/components/ThemeProvider/types.d.ts.map +1 -1
- package/lib/components/YantraIcon.d.ts +6 -0
- package/lib/components/YantraIcon.d.ts.map +1 -0
- package/lib/components/YantraIcon.js +32 -0
- package/lib/components/YantraIcon.js.map +1 -0
- package/lib/components/index.d.ts +6 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/hooks/activeCharacterPreference.d.ts +24 -0
- package/lib/hooks/activeCharacterPreference.d.ts.map +1 -0
- package/lib/hooks/activeCharacterPreference.js +64 -0
- package/lib/hooks/activeCharacterPreference.js.map +1 -0
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/useToast.d.ts +1 -1
- package/lib/hooks/useToast.d.ts.map +1 -1
- package/lib/hooks/useToast.js +46 -37
- package/lib/hooks/useToast.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/shardui/accordion.js +20 -16
- package/lib/shardui/accordion.js.map +1 -1
- package/lib/shardui/alert-dialog.d.ts +2 -2
- package/lib/shardui/alert-dialog.js +15 -13
- package/lib/shardui/alert-dialog.js.map +1 -1
- package/lib/shardui/alert.js +4 -4
- package/lib/shardui/alert.js.map +1 -1
- package/lib/shardui/avatar.js +4 -4
- package/lib/shardui/avatar.js.map +1 -1
- package/lib/shardui/badge.d.ts +1 -1
- package/lib/shardui/badge.d.ts.map +1 -1
- package/lib/shardui/badge.js +2 -2
- package/lib/shardui/badge.js.map +1 -1
- package/lib/shardui/breadcrumb.d.ts +2 -2
- package/lib/shardui/breadcrumb.js +19 -16
- package/lib/shardui/breadcrumb.js.map +1 -1
- package/lib/shardui/button.js +2 -2
- package/lib/shardui/button.js.map +1 -1
- package/lib/shardui/calendar.d.ts +1 -1
- package/lib/shardui/calendar.d.ts.map +1 -1
- package/lib/shardui/calendar.js +4 -4
- package/lib/shardui/card.js +7 -7
- package/lib/shardui/card.js.map +1 -1
- package/lib/shardui/carousel.js +40 -33
- package/lib/shardui/carousel.js.map +1 -1
- package/lib/shardui/chart.d.ts +1 -1
- package/lib/shardui/chart.d.ts.map +1 -1
- package/lib/shardui/chart.js +81 -66
- package/lib/shardui/chart.js.map +1 -1
- package/lib/shardui/checkbox.js +10 -8
- package/lib/shardui/checkbox.js.map +1 -1
- package/lib/shardui/command.d.ts +2 -2
- package/lib/shardui/command.d.ts.map +1 -1
- package/lib/shardui/command.js +28 -24
- package/lib/shardui/command.js.map +1 -1
- package/lib/shardui/context-menu.d.ts +1 -1
- package/lib/shardui/context-menu.js +41 -30
- package/lib/shardui/context-menu.js.map +1 -1
- package/lib/shardui/dialog.d.ts +2 -2
- package/lib/shardui/dialog.js +22 -17
- package/lib/shardui/dialog.js.map +1 -1
- package/lib/shardui/drawer.d.ts +3 -3
- package/lib/shardui/drawer.js +17 -14
- package/lib/shardui/drawer.js.map +1 -1
- package/lib/shardui/dropdown-menu.d.ts +1 -1
- package/lib/shardui/dropdown-menu.js +42 -31
- package/lib/shardui/dropdown-menu.js.map +1 -1
- package/lib/shardui/form.d.ts +1 -1
- package/lib/shardui/form.d.ts.map +1 -1
- package/lib/shardui/form.js +22 -19
- package/lib/shardui/form.js.map +1 -1
- package/lib/shardui/hover-card.js +2 -2
- package/lib/shardui/hover-card.js.map +1 -1
- package/lib/shardui/input-otp.js +16 -13
- package/lib/shardui/input-otp.js.map +1 -1
- package/lib/shardui/input.js +2 -2
- package/lib/shardui/input.js.map +1 -1
- package/lib/shardui/label.js +2 -2
- package/lib/shardui/label.js.map +1 -1
- package/lib/shardui/menubar.d.ts +1 -1
- package/lib/shardui/menubar.js +46 -35
- package/lib/shardui/menubar.js.map +1 -1
- package/lib/shardui/navigation-menu.js +28 -24
- package/lib/shardui/navigation-menu.js.map +1 -1
- package/lib/shardui/pagination.d.ts +5 -5
- package/lib/shardui/pagination.js +30 -22
- package/lib/shardui/pagination.js.map +1 -1
- package/lib/shardui/popover.js +10 -8
- package/lib/shardui/popover.js.map +1 -1
- package/lib/shardui/progress.js +10 -9
- package/lib/shardui/progress.js.map +1 -1
- package/lib/shardui/radio-group.js +11 -9
- package/lib/shardui/radio-group.js.map +1 -1
- package/lib/shardui/resizable.d.ts +3 -3
- package/lib/shardui/resizable.d.ts.map +1 -1
- package/lib/shardui/resizable.js +11 -9
- package/lib/shardui/resizable.js.map +1 -1
- package/lib/shardui/scroll-area.js +14 -11
- package/lib/shardui/scroll-area.js.map +1 -1
- package/lib/shardui/select.js +49 -35
- package/lib/shardui/select.js.map +1 -1
- package/lib/shardui/separator.js +2 -2
- package/lib/shardui/separator.js.map +1 -1
- package/lib/shardui/sheet.d.ts +2 -2
- package/lib/shardui/sheet.js +24 -19
- package/lib/shardui/sheet.js.map +1 -1
- package/lib/shardui/sidebar.js +104 -88
- package/lib/shardui/sidebar.js.map +1 -1
- package/lib/shardui/skeleton.d.ts +1 -1
- package/lib/shardui/skeleton.d.ts.map +1 -1
- package/lib/shardui/skeleton.js +2 -2
- package/lib/shardui/skeleton.js.map +1 -1
- package/lib/shardui/slider.js +12 -10
- package/lib/shardui/slider.js.map +1 -1
- package/lib/shardui/sonner.d.ts +1 -1
- package/lib/shardui/sonner.d.ts.map +1 -1
- package/lib/shardui/sonner.js +2 -2
- package/lib/shardui/sonner.js.map +1 -1
- package/lib/shardui/switch.js +7 -6
- package/lib/shardui/switch.js.map +1 -1
- package/lib/shardui/table.js +16 -15
- package/lib/shardui/table.js.map +1 -1
- package/lib/shardui/tabs.js +4 -4
- package/lib/shardui/tabs.js.map +1 -1
- package/lib/shardui/textarea.js +2 -2
- package/lib/shardui/textarea.js.map +1 -1
- package/lib/shardui/toast.js +12 -11
- package/lib/shardui/toast.js.map +1 -1
- package/lib/shardui/toaster.d.ts +1 -2
- package/lib/shardui/toaster.d.ts.map +1 -1
- package/lib/shardui/toaster.js +21 -14
- package/lib/shardui/toaster.js.map +1 -1
- package/lib/shardui/toggle-group.js +15 -12
- package/lib/shardui/toggle-group.js.map +1 -1
- package/lib/shardui/toggle.js +2 -2
- package/lib/shardui/toggle.js.map +1 -1
- package/lib/shardui/tooltip.js +2 -2
- package/lib/shardui/tooltip.js.map +1 -1
- package/package.json +9 -3
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {useState,useCallback}from'react';import {Copy,ThumbsUp,ThumbsDown,Share2,RefreshCw,MoreHorizontal,Download}from'lucide-react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import {DropdownMenu,DropdownMenuTrigger,DropdownMenuContent,DropdownMenuItem,DropdownMenuSeparator}from'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import {cn}from'../../../../utils/util.js';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import {TooltipProvider,Tooltip,TooltipTrigger,TooltipContent}from'../../../../shardui/tooltip.js';async function defaultCopy(text) {
|
|
2
|
+
await navigator.clipboard.writeText(text);
|
|
3
|
+
}
|
|
4
|
+
async function defaultShare(text) {
|
|
5
|
+
if (typeof navigator !== 'undefined' && navigator.share) {
|
|
6
|
+
try {
|
|
7
|
+
await navigator.share({
|
|
8
|
+
text
|
|
9
|
+
});
|
|
10
|
+
return;
|
|
11
|
+
} catch {
|
|
12
|
+
/* user cancelled or share failed */
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
await defaultCopy(text);
|
|
16
|
+
}
|
|
17
|
+
function downloadText(filename, text) {
|
|
18
|
+
const blob = new Blob([text], {
|
|
19
|
+
type: 'text/plain;charset=utf-8'
|
|
20
|
+
});
|
|
21
|
+
const url = URL.createObjectURL(blob);
|
|
22
|
+
const a = document.createElement('a');
|
|
23
|
+
a.href = url;
|
|
24
|
+
a.download = filename;
|
|
25
|
+
a.click();
|
|
26
|
+
URL.revokeObjectURL(url);
|
|
27
|
+
}
|
|
28
|
+
function AssistantMessageActions({
|
|
29
|
+
messageId,
|
|
30
|
+
content,
|
|
31
|
+
disabled = false,
|
|
32
|
+
className,
|
|
33
|
+
visibility,
|
|
34
|
+
onCopy,
|
|
35
|
+
onShare,
|
|
36
|
+
onRegenerate,
|
|
37
|
+
onFeedback
|
|
38
|
+
}) {
|
|
39
|
+
const v = {
|
|
40
|
+
copy: visibility?.copy !== false,
|
|
41
|
+
feedback: visibility?.feedback !== false,
|
|
42
|
+
share: visibility?.share !== false,
|
|
43
|
+
regenerate: visibility?.regenerate !== false && Boolean(onRegenerate),
|
|
44
|
+
more: visibility?.more !== false
|
|
45
|
+
};
|
|
46
|
+
const [vote, setVote] = useState(null);
|
|
47
|
+
const handleCopy = useCallback(async () => {
|
|
48
|
+
try {
|
|
49
|
+
if (onCopy) await onCopy(content);else await defaultCopy(content);
|
|
50
|
+
} catch (e) {
|
|
51
|
+
console.error('[AssistantMessageActions] copy', e);
|
|
52
|
+
}
|
|
53
|
+
}, [content, onCopy]);
|
|
54
|
+
const handleShare = useCallback(async () => {
|
|
55
|
+
try {
|
|
56
|
+
if (onShare) await onShare(content);else await defaultShare(content);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
console.error('[AssistantMessageActions] share', e);
|
|
59
|
+
}
|
|
60
|
+
}, [content, onShare]);
|
|
61
|
+
const handleRegenerate = useCallback(async () => {
|
|
62
|
+
if (!onRegenerate) return;
|
|
63
|
+
try {
|
|
64
|
+
await onRegenerate(messageId);
|
|
65
|
+
} catch (e) {
|
|
66
|
+
console.error('[AssistantMessageActions] regenerate', e);
|
|
67
|
+
}
|
|
68
|
+
}, [messageId, onRegenerate]);
|
|
69
|
+
const toggleThumb = useCallback(next => {
|
|
70
|
+
const flipped = vote === next ? null : next;
|
|
71
|
+
setVote(flipped);
|
|
72
|
+
onFeedback?.(messageId, flipped);
|
|
73
|
+
}, [messageId, onFeedback, vote]);
|
|
74
|
+
return jsx(TooltipProvider, {
|
|
75
|
+
delayDuration: 400,
|
|
76
|
+
children: jsxs("div", {
|
|
77
|
+
className: cn('flex flex-wrap items-center gap-0.5 border-t border-border/40 pt-2 mt-2 opacity-90', disabled && 'pointer-events-none opacity-40', className),
|
|
78
|
+
role: "toolbar",
|
|
79
|
+
"aria-label": "Assistant message actions",
|
|
80
|
+
children: [v.copy ? jsxs(Tooltip, {
|
|
81
|
+
children: [jsx(TooltipTrigger, {
|
|
82
|
+
asChild: true,
|
|
83
|
+
children: jsx(Button, {
|
|
84
|
+
type: "button",
|
|
85
|
+
variant: "ghost",
|
|
86
|
+
size: "icon",
|
|
87
|
+
className: "h-7 w-7 text-muted-foreground",
|
|
88
|
+
onClick: () => void handleCopy(),
|
|
89
|
+
"aria-label": "Copy response",
|
|
90
|
+
children: jsx(Copy, {
|
|
91
|
+
className: "h-3.5 w-3.5"
|
|
92
|
+
})
|
|
93
|
+
})
|
|
94
|
+
}), jsx(TooltipContent, {
|
|
95
|
+
side: "bottom",
|
|
96
|
+
children: "Copy"
|
|
97
|
+
})]
|
|
98
|
+
}) : null, v.feedback ? jsxs(Fragment, {
|
|
99
|
+
children: [jsxs(Tooltip, {
|
|
100
|
+
children: [jsx(TooltipTrigger, {
|
|
101
|
+
asChild: true,
|
|
102
|
+
children: jsx(Button, {
|
|
103
|
+
type: "button",
|
|
104
|
+
variant: "ghost",
|
|
105
|
+
size: "icon",
|
|
106
|
+
className: cn('h-7 w-7 text-muted-foreground', vote === 'up' && 'text-primary'),
|
|
107
|
+
onClick: () => toggleThumb('up'),
|
|
108
|
+
"aria-label": "Good response",
|
|
109
|
+
"aria-pressed": vote === 'up',
|
|
110
|
+
children: jsx(ThumbsUp, {
|
|
111
|
+
className: "h-3.5 w-3.5"
|
|
112
|
+
})
|
|
113
|
+
})
|
|
114
|
+
}), jsx(TooltipContent, {
|
|
115
|
+
side: "bottom",
|
|
116
|
+
children: "Good response"
|
|
117
|
+
})]
|
|
118
|
+
}), jsxs(Tooltip, {
|
|
119
|
+
children: [jsx(TooltipTrigger, {
|
|
120
|
+
asChild: true,
|
|
121
|
+
children: jsx(Button, {
|
|
122
|
+
type: "button",
|
|
123
|
+
variant: "ghost",
|
|
124
|
+
size: "icon",
|
|
125
|
+
className: cn('h-7 w-7 text-muted-foreground', vote === 'down' && 'text-destructive'),
|
|
126
|
+
onClick: () => toggleThumb('down'),
|
|
127
|
+
"aria-label": "Bad response",
|
|
128
|
+
"aria-pressed": vote === 'down',
|
|
129
|
+
children: jsx(ThumbsDown, {
|
|
130
|
+
className: "h-3.5 w-3.5"
|
|
131
|
+
})
|
|
132
|
+
})
|
|
133
|
+
}), jsx(TooltipContent, {
|
|
134
|
+
side: "bottom",
|
|
135
|
+
children: "Bad response"
|
|
136
|
+
})]
|
|
137
|
+
})]
|
|
138
|
+
}) : null, v.share ? jsxs(Tooltip, {
|
|
139
|
+
children: [jsx(TooltipTrigger, {
|
|
140
|
+
asChild: true,
|
|
141
|
+
children: jsx(Button, {
|
|
142
|
+
type: "button",
|
|
143
|
+
variant: "ghost",
|
|
144
|
+
size: "icon",
|
|
145
|
+
className: "h-7 w-7 text-muted-foreground",
|
|
146
|
+
onClick: () => void handleShare(),
|
|
147
|
+
"aria-label": "Share",
|
|
148
|
+
children: jsx(Share2, {
|
|
149
|
+
className: "h-3.5 w-3.5"
|
|
150
|
+
})
|
|
151
|
+
})
|
|
152
|
+
}), jsx(TooltipContent, {
|
|
153
|
+
side: "bottom",
|
|
154
|
+
children: "Share"
|
|
155
|
+
})]
|
|
156
|
+
}) : null, v.regenerate && onRegenerate ? jsxs(Tooltip, {
|
|
157
|
+
children: [jsx(TooltipTrigger, {
|
|
158
|
+
asChild: true,
|
|
159
|
+
children: jsx(Button, {
|
|
160
|
+
type: "button",
|
|
161
|
+
variant: "ghost",
|
|
162
|
+
size: "icon",
|
|
163
|
+
className: "h-7 w-7 text-muted-foreground",
|
|
164
|
+
onClick: () => void handleRegenerate(),
|
|
165
|
+
"aria-label": "Regenerate",
|
|
166
|
+
children: jsx(RefreshCw, {
|
|
167
|
+
className: "h-3.5 w-3.5"
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
}), jsx(TooltipContent, {
|
|
171
|
+
side: "bottom",
|
|
172
|
+
children: "Regenerate"
|
|
173
|
+
})]
|
|
174
|
+
}) : null, v.more ? jsxs(DropdownMenu, {
|
|
175
|
+
children: [jsx(DropdownMenuTrigger, {
|
|
176
|
+
asChild: true,
|
|
177
|
+
children: jsx(Button, {
|
|
178
|
+
type: "button",
|
|
179
|
+
variant: "ghost",
|
|
180
|
+
size: "icon",
|
|
181
|
+
className: "h-7 w-7 text-muted-foreground",
|
|
182
|
+
"aria-label": "More options",
|
|
183
|
+
children: jsx(MoreHorizontal, {
|
|
184
|
+
className: "h-3.5 w-3.5"
|
|
185
|
+
})
|
|
186
|
+
})
|
|
187
|
+
}), jsxs(DropdownMenuContent, {
|
|
188
|
+
align: "start",
|
|
189
|
+
className: "min-w-[10rem]",
|
|
190
|
+
children: [jsx(DropdownMenuItem, {
|
|
191
|
+
onClick: () => void handleCopy(),
|
|
192
|
+
children: "Copy message"
|
|
193
|
+
}), jsx(DropdownMenuItem, {
|
|
194
|
+
onClick: () => void handleShare(),
|
|
195
|
+
children: "Share\u2026"
|
|
196
|
+
}), onRegenerate ? jsx(DropdownMenuItem, {
|
|
197
|
+
onClick: () => void handleRegenerate(),
|
|
198
|
+
children: "Regenerate"
|
|
199
|
+
}) : null, jsx(DropdownMenuSeparator, {}), jsxs(DropdownMenuItem, {
|
|
200
|
+
onClick: () => downloadText(`assistant-${messageId.slice(-8)}.txt`, content),
|
|
201
|
+
children: [jsx(Download, {
|
|
202
|
+
className: "mr-2 h-3.5 w-3.5"
|
|
203
|
+
}), "Download as .txt"]
|
|
204
|
+
})]
|
|
205
|
+
})]
|
|
206
|
+
}) : null]
|
|
207
|
+
})
|
|
208
|
+
});
|
|
209
|
+
}export{AssistantMessageActions};//# sourceMappingURL=AssistantMessageActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantMessageActions.js","sources":["../../../../../src/components/AIToolbar/components/completion/AssistantMessageActions.tsx"],"sourcesContent":[null],"names":[],"mappings":"2xEAsBoB,CAAA,IAAA,EAAA;QAChB,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,IAAA,CAAA;;eAEU,YAAS,CAAA,IAAA,EAAA;MACnB,OAAA,SAAA,KAAA,WAAA,IAAA,SAAuC,CAAA,KAAA,EAAA;AACvC,IAAA,IAAA;YACQ,SAAG,CAAO,KAAC,CAAA;QACf;QACA;;YAEI;;IAER;AACA,EAAA;QACA,WAAA,CAAA,IAAA,CAAA;AACA;SACA,YAAA,CAAA,QAAA,EAAA,IAAA,EAAA;AACA,EAAA,MAAA,IAAA,GAAA,IAAe,IAAC,CAAA,CAAA,IAAS,CAAA,EAAE;IAC3B,IAAA,EAAA;AACA,GAAA,CAAA;EACF,MAAA,GAAA,GAAA,GAAA,CAAA,eAAA,CAAA,IAAA,CAAA;AA4BF,EAAA,MAAA,CAAA,GAAA,QAAA,CAAA,aAAgB,CAAA,GAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface AssistantSenderBadgeProps {
|
|
2
|
+
name: string;
|
|
3
|
+
avatarSrc: string | null;
|
|
4
|
+
/** Tailwind override on the wrapping span (e.g. scale text down inside dense lists). */
|
|
5
|
+
className?: string;
|
|
6
|
+
/** Avatar square size in px; defaults to 44 — matches SillyTavern's chat-header portrait. */
|
|
7
|
+
avatarSize?: number;
|
|
8
|
+
/** Optional message sequence number — rendered as "#N" beneath the avatar (SillyTavern style). */
|
|
9
|
+
index?: number;
|
|
10
|
+
/** Tailwind classes applied to the name `<span>`. Override when reusing inside denser surfaces. */
|
|
11
|
+
nameClassName?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function AssistantSenderBadge({ name, avatarSrc, className, avatarSize, index, nameClassName, }: AssistantSenderBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export default AssistantSenderBadge;
|
|
15
|
+
//# sourceMappingURL=AssistantSenderBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantSenderBadge.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/AssistantSenderBadge.tsx"],"names":[],"mappings":"AAUA,UAAU,yBAAyB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kGAAkG;IAClG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,UAAe,EACf,KAAK,EACL,aAAa,GAChB,EAAE,yBAAyB,2CA0B3B;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { UseCompletionReturn } from '../types';
|
|
2
|
+
export declare const Audio: ({ micOpen, setMicOpen, enableVAD, setEnableVAD, submit, setState, selectedSttProvider, managedAiApiEnabled, selectedAudioDevices, transcribeAudio, }: UseCompletionReturn) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=Audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Audio.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/Audio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,sJAWnB,mBAAmB,4CAuDrB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {MicIcon,InfoIcon}from'lucide-react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import {Popover,PopoverTrigger,PopoverContent}from'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import'clsx';import'tailwind-merge';import'react';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import'../../../../shardui/tooltip.js';import {AutoSpeechVAD}from'./AutoSpeechVad.js';const Audio = ({
|
|
2
|
+
micOpen,
|
|
3
|
+
setMicOpen,
|
|
4
|
+
enableVAD,
|
|
5
|
+
setEnableVAD,
|
|
6
|
+
submit,
|
|
7
|
+
setState,
|
|
8
|
+
selectedSttProvider,
|
|
9
|
+
managedAiApiEnabled,
|
|
10
|
+
selectedAudioDevices,
|
|
11
|
+
transcribeAudio
|
|
12
|
+
}) => {
|
|
13
|
+
const speechProviderStatus = selectedSttProvider.provider;
|
|
14
|
+
return jsxs(Popover, {
|
|
15
|
+
open: micOpen,
|
|
16
|
+
onOpenChange: setMicOpen,
|
|
17
|
+
children: [jsx(PopoverTrigger, {
|
|
18
|
+
asChild: true,
|
|
19
|
+
children: (managedAiApiEnabled || speechProviderStatus) && enableVAD ? jsx(AutoSpeechVAD, {
|
|
20
|
+
submit: submit,
|
|
21
|
+
setState: setState,
|
|
22
|
+
setEnableVAD: setEnableVAD,
|
|
23
|
+
microphoneDeviceId: selectedAudioDevices.input.id,
|
|
24
|
+
transcribeAudio: transcribeAudio
|
|
25
|
+
}, selectedAudioDevices.input.id) : jsx(Button, {
|
|
26
|
+
size: "icon",
|
|
27
|
+
onClick: () => {
|
|
28
|
+
setEnableVAD(!enableVAD);
|
|
29
|
+
},
|
|
30
|
+
className: "cursor-pointer",
|
|
31
|
+
title: "Toggle voice input",
|
|
32
|
+
children: jsx(MicIcon, {
|
|
33
|
+
className: "h-4 w-4"
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
}), jsx(PopoverContent, {
|
|
37
|
+
align: "end",
|
|
38
|
+
side: "bottom",
|
|
39
|
+
className: `z-[200] w-80 p-3 ${managedAiApiEnabled || speechProviderStatus ? 'hidden' : ''}`,
|
|
40
|
+
sideOffset: 8,
|
|
41
|
+
children: jsxs("div", {
|
|
42
|
+
className: "text-sm select-none",
|
|
43
|
+
children: [jsx("div", {
|
|
44
|
+
className: "mb-1 font-semibold text-orange-600",
|
|
45
|
+
children: "Speech Provider Configuration Required"
|
|
46
|
+
}), jsx("div", {
|
|
47
|
+
className: "text-muted-foreground",
|
|
48
|
+
children: !speechProviderStatus ? jsxs(Fragment, {
|
|
49
|
+
children: [jsxs("div", {
|
|
50
|
+
className: "mt-2 flex flex-row items-center gap-1 text-orange-600",
|
|
51
|
+
children: [jsx(InfoIcon, {
|
|
52
|
+
size: 16
|
|
53
|
+
}), selectedSttProvider.provider ? null : jsx("span", {
|
|
54
|
+
children: "PROVIDER IS MISSING"
|
|
55
|
+
})]
|
|
56
|
+
}), jsx("span", {
|
|
57
|
+
className: "mt-2 block",
|
|
58
|
+
children: "Please go to settings and configure your speech provider to enable voice input."
|
|
59
|
+
})]
|
|
60
|
+
}) : null
|
|
61
|
+
})]
|
|
62
|
+
})
|
|
63
|
+
})]
|
|
64
|
+
});
|
|
65
|
+
};export{Audio};//# sourceMappingURL=Audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Audio.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UseCompletionReturn } from '../types';
|
|
2
|
+
interface AutoSpeechVADProps {
|
|
3
|
+
submit: UseCompletionReturn['submit'];
|
|
4
|
+
setState: UseCompletionReturn['setState'];
|
|
5
|
+
setEnableVAD: UseCompletionReturn['setEnableVAD'];
|
|
6
|
+
microphoneDeviceId?: string;
|
|
7
|
+
transcribeAudio: UseCompletionReturn['transcribeAudio'];
|
|
8
|
+
}
|
|
9
|
+
export declare const AutoSpeechVAD: (props: AutoSpeechVADProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=AutoSpeechVad.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoSpeechVad.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/AutoSpeechVad.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAO/C,UAAU,kBAAkB;IACxB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACtC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC1C,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAClD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;CAC3D;AAsED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAEtD,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {jsx,Fragment}from'react/jsx-runtime';import {useMicVAD}from'@ricky0123/vad-react';import {LoaderCircleIcon,MicOffIcon,MicIcon}from'lucide-react';import {useState}from'react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import'clsx';import'tailwind-merge';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import'../../../../shardui/tooltip.js';import {floatArrayToWav}from'../speech/floatArrayToWav.js';const AutoSpeechVADInternal = ({
|
|
2
|
+
submit,
|
|
3
|
+
setState,
|
|
4
|
+
setEnableVAD,
|
|
5
|
+
microphoneDeviceId,
|
|
6
|
+
transcribeAudio
|
|
7
|
+
}) => {
|
|
8
|
+
const [isTranscribing, setIsTranscribing] = useState(false);
|
|
9
|
+
const audioConstraints = microphoneDeviceId && microphoneDeviceId !== 'default' ? {
|
|
10
|
+
deviceId: {
|
|
11
|
+
exact: microphoneDeviceId
|
|
12
|
+
}
|
|
13
|
+
} : {};
|
|
14
|
+
const vad = useMicVAD({
|
|
15
|
+
userSpeakingThreshold: 0.6,
|
|
16
|
+
startOnLoad: true,
|
|
17
|
+
additionalAudioConstraints: audioConstraints,
|
|
18
|
+
onSpeechEnd: async audio => {
|
|
19
|
+
try {
|
|
20
|
+
const audioBlob = floatArrayToWav(audio, 16000, 'wav');
|
|
21
|
+
setIsTranscribing(true);
|
|
22
|
+
const transcription = await transcribeAudio(audioBlob);
|
|
23
|
+
if (transcription) {
|
|
24
|
+
submit(transcription);
|
|
25
|
+
}
|
|
26
|
+
} catch (error) {
|
|
27
|
+
console.error('Failed to transcribe audio:', error);
|
|
28
|
+
setState(prev => ({
|
|
29
|
+
...prev,
|
|
30
|
+
error: error instanceof Error ? error.message : 'Transcription failed'
|
|
31
|
+
}));
|
|
32
|
+
} finally {
|
|
33
|
+
setIsTranscribing(false);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return jsx(Fragment, {
|
|
38
|
+
children: jsx(Button, {
|
|
39
|
+
size: "icon",
|
|
40
|
+
onClick: () => {
|
|
41
|
+
if (vad.listening) {
|
|
42
|
+
vad.pause();
|
|
43
|
+
setEnableVAD(false);
|
|
44
|
+
} else {
|
|
45
|
+
vad.start();
|
|
46
|
+
setEnableVAD(true);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
className: "cursor-pointer",
|
|
50
|
+
children: isTranscribing ? jsx(LoaderCircleIcon, {
|
|
51
|
+
className: "h-4 w-4 animate-spin text-green-500"
|
|
52
|
+
}) : vad.userSpeaking ? jsx(LoaderCircleIcon, {
|
|
53
|
+
className: "h-4 w-4 animate-spin"
|
|
54
|
+
}) : vad.listening ? jsx(MicOffIcon, {
|
|
55
|
+
className: "h-4 w-4 animate-pulse"
|
|
56
|
+
}) : jsx(MicIcon, {
|
|
57
|
+
className: "h-4 w-4"
|
|
58
|
+
})
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const AutoSpeechVAD = props => {
|
|
63
|
+
return jsx(AutoSpeechVADInternal, {
|
|
64
|
+
...props
|
|
65
|
+
}, props.microphoneDeviceId);
|
|
66
|
+
};export{AutoSpeechVAD};//# sourceMappingURL=AutoSpeechVad.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoSpeechVad.js","sources":["../../../../../src/components/AIToolbar/components/completion/AutoSpeechVad.tsx"],"sourcesContent":[null],"names":[],"mappings":"qpEAYI,MAAA,qBAAiB,GAAA,CAAA;AACpB,EAAA,MAAA;AAsED,EAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CharacterPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/CharacterPicker.tsx"],"names":[],"mappings":"AAgDA,wBAAgB,eAAe,4CAiD9B;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import*as React from'react';import {ChevronDownIcon,CheckIcon}from'lucide-react';import'../../../../shardui/accordion.js';import'../../../../shardui/alert.js';import'../../../../shardui/alert-dialog.js';import'@radix-ui/react-aspect-ratio';import'../../../../shardui/avatar.js';import'../../../../shardui/badge.js';import'../../../../shardui/breadcrumb.js';import {Button}from'../../../../shardui/button.js';import'../../../../shardui/calendar.js';import'../../../../shardui/card.js';import'../../../../shardui/carousel.js';import'../../../../shardui/chart.js';import'../../../../shardui/checkbox.js';import'@radix-ui/react-collapsible';import'../../../../shardui/command.js';import'../../../../shardui/context-menu.js';import'../../../../shardui/dialog.js';import'../../../../shardui/drawer.js';import'../../../../shardui/dropdown-menu.js';import'../../../../shardui/form.js';import'../../../../shardui/hover-card.js';import'../../../../shardui/input.js';import'../../../../shardui/input-otp.js';import'../../../../shardui/label.js';import'../../../../shardui/menubar.js';import'../../../../shardui/navigation-menu.js';import'../../../../shardui/pagination.js';import {Popover,PopoverTrigger,PopoverContent}from'../../../../shardui/popover.js';import'../../../../shardui/progress.js';import'../../../../shardui/radio-group.js';import'react-resizable-panels';import'../../../../utils/isBrowser/index.js';import {cn}from'../../../../utils/util.js';import'fast-deep-equal/react.js';import'../../../../shardui/scroll-area.js';import'../../../../shardui/select.js';import'../../../../shardui/separator.js';import'../../../../shardui/sheet.js';import'../../../../shardui/sidebar.js';import'../../../../shardui/slider.js';import'../../../ThemeProvider/ThemeProvider.js';import'sonner';import'../../../../shardui/switch.js';import'../../../../shardui/table.js';import'../../../../shardui/tabs.js';import'../../../../shardui/textarea.js';import'../../../../shardui/toast.js';import'../../../../shardui/toggle.js';import'../../../../shardui/toggle-group.js';import'../../../../shardui/tooltip.js';import {useCharacterPicker}from'../../hooks/useActiveCharacter.js';function AvatarBadge({
|
|
2
|
+
entry,
|
|
3
|
+
size
|
|
4
|
+
}) {
|
|
5
|
+
if (entry?.avatarSrc) {
|
|
6
|
+
return jsx("img", {
|
|
7
|
+
src: entry.avatarSrc,
|
|
8
|
+
alt: "",
|
|
9
|
+
"aria-hidden": "true",
|
|
10
|
+
draggable: false,
|
|
11
|
+
width: size,
|
|
12
|
+
height: size,
|
|
13
|
+
className: "rounded-full object-cover ring-1 ring-border/60",
|
|
14
|
+
style: {
|
|
15
|
+
width: size,
|
|
16
|
+
height: size
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return jsx("div", {
|
|
21
|
+
"aria-hidden": "true",
|
|
22
|
+
className: "flex items-center justify-center rounded-full bg-muted text-[9px] font-semibold text-muted-foreground ring-1 ring-border/60",
|
|
23
|
+
style: {
|
|
24
|
+
width: size,
|
|
25
|
+
height: size
|
|
26
|
+
},
|
|
27
|
+
children: "AI"
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
// main component
|
|
31
|
+
function CharacterPicker() {
|
|
32
|
+
const {
|
|
33
|
+
characters,
|
|
34
|
+
activeName,
|
|
35
|
+
setActive
|
|
36
|
+
} = useCharacterPicker();
|
|
37
|
+
const [open, setOpen] = React.useState(false);
|
|
38
|
+
if (characters.length < 2) return null;
|
|
39
|
+
const active = characters.find(c => c.name === activeName) ?? characters[0] ?? null;
|
|
40
|
+
return jsxs(Popover, {
|
|
41
|
+
open: open,
|
|
42
|
+
onOpenChange: setOpen,
|
|
43
|
+
children: [jsx(PopoverTrigger, {
|
|
44
|
+
asChild: true,
|
|
45
|
+
children: jsxs(Button, {
|
|
46
|
+
size: "sm",
|
|
47
|
+
variant: "ghost",
|
|
48
|
+
className: "h-7 gap-1.5 rounded-full border border-border/50 bg-muted/30 px-1.5 py-0 text-[11px] font-medium",
|
|
49
|
+
title: "Switch character",
|
|
50
|
+
children: [jsx(AvatarBadge, {
|
|
51
|
+
entry: active,
|
|
52
|
+
size: 20
|
|
53
|
+
}), jsx("span", {
|
|
54
|
+
className: "max-w-[8rem] truncate",
|
|
55
|
+
children: active?.name ?? 'AI'
|
|
56
|
+
}), jsx(ChevronDownIcon, {
|
|
57
|
+
className: "h-3 w-3 opacity-60"
|
|
58
|
+
})]
|
|
59
|
+
})
|
|
60
|
+
}), jsx(PopoverContent, {
|
|
61
|
+
align: "start",
|
|
62
|
+
side: "bottom",
|
|
63
|
+
sideOffset: 6,
|
|
64
|
+
className: "z-[210] w-56 p-1",
|
|
65
|
+
children: jsx("div", {
|
|
66
|
+
className: "max-h-64 overflow-y-auto",
|
|
67
|
+
children: characters.map(c => {
|
|
68
|
+
const isActive = c.name === active?.name;
|
|
69
|
+
return jsxs("button", {
|
|
70
|
+
type: "button",
|
|
71
|
+
onClick: () => {
|
|
72
|
+
setActive(c.name);
|
|
73
|
+
setOpen(false);
|
|
74
|
+
},
|
|
75
|
+
className: cn('flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs hover:bg-muted', isActive ? 'bg-muted/60' : ''),
|
|
76
|
+
children: [jsx(AvatarBadge, {
|
|
77
|
+
entry: c,
|
|
78
|
+
size: 24
|
|
79
|
+
}), jsx("span", {
|
|
80
|
+
className: "flex-1 truncate",
|
|
81
|
+
children: c.name
|
|
82
|
+
}), isActive ? jsx(CheckIcon, {
|
|
83
|
+
className: "h-3.5 w-3.5 opacity-70"
|
|
84
|
+
}) : null]
|
|
85
|
+
}, c.name);
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
})]
|
|
89
|
+
});
|
|
90
|
+
}export{CharacterPicker};//# sourceMappingURL=CharacterPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CharacterPicker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { UseCompletionReturn } from '../types';
|
|
2
|
+
export declare const Files: ({ attachedFiles, handleFileSelect, removeFile, onRemoveAllFiles, isLoading, isFilesPopoverOpen, setIsFilesPopoverOpen, supportsImages, maxFiles, }: UseCompletionReturn & {
|
|
3
|
+
supportsImages?: boolean;
|
|
4
|
+
maxFiles?: number;
|
|
5
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=Files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Files.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/completion/Files.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C,eAAO,MAAM,KAAK,GAAI,oJAUnB,mBAAmB,GAAG;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,4CA8IvE,CAAC"}
|