@admin-layout/tailwind-ui 12.2.4-alpha.4 → 12.2.4-alpha.41
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/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/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 +169 -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 +90 -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 +10 -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 +8 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.js +161 -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 +132 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +12 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.js +289 -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 +292 -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 +175 -0
- package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
- package/lib/components/AIToolbar/index.d.ts +5 -0
- package/lib/components/AIToolbar/index.d.ts.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/index.d.ts +5 -0
- package/lib/components/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 +7 -3
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DragButton } from './DragButton';
|
|
2
|
+
import type { AIToolbarAppProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Composed AI toolbar (presentational). Pass `systemAudio` and `completion` from the host hooks.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```tsx
|
|
8
|
+
* const app = useApp();
|
|
9
|
+
* const session = useAIToolbarSession(app);
|
|
10
|
+
* const completion = useCompletion(app);
|
|
11
|
+
* <AIToolBar
|
|
12
|
+
* systemAudio={session.systemAudio}
|
|
13
|
+
* completion={completion}
|
|
14
|
+
* platform={getPlatform()}
|
|
15
|
+
* trailing={<>...</>}
|
|
16
|
+
* />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function AIToolBar({ isHidden, systemAudio, completion, hasActiveLicense, supportsImages, cursorType, platform, onOpenDashboard, trailing, className, toolbarClassName, }: AIToolbarAppProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export { DragButton };
|
|
21
|
+
export type { DragButtonProps } from './DragButton';
|
|
22
|
+
//# sourceMappingURL=AIToolBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIToolBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AIToolbar/components/AIToolBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,EACtB,QAAgB,EAChB,WAAW,EACX,UAAU,EACV,gBAAuB,EACvB,cAAqB,EACrB,UAAU,EACV,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,SAAS,EACT,gBAAgB,GACnB,EAAE,iBAAiB,2CAiEnB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {AIToolbar,AIToolbarLeading,AIToolbarMain,AIToolbarTrailing}from'./AIToolbarPrimitives.js';import {SparklesIcon}from'lucide-react';import'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 {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 {CustomCursor}from'./CustomCursor.js';import {SystemAudio}from'./speech/index.js';import {Completion}from'./completion/index.js';import {AudioVisualizer}from'./speech/audio-visualizer.js';import {StatusIndicator}from'./speech/StatusIndicator.js';/**
|
|
2
|
+
* Composed AI toolbar (presentational). Pass `systemAudio` and `completion` from the host hooks.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* const app = useApp();
|
|
7
|
+
* const session = useAIToolbarSession(app);
|
|
8
|
+
* const completion = useCompletion(app);
|
|
9
|
+
* <AIToolBar
|
|
10
|
+
* systemAudio={session.systemAudio}
|
|
11
|
+
* completion={completion}
|
|
12
|
+
* platform={getPlatform()}
|
|
13
|
+
* trailing={<>...</>}
|
|
14
|
+
* />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
function AIToolBar({
|
|
18
|
+
isHidden = false,
|
|
19
|
+
systemAudio,
|
|
20
|
+
completion,
|
|
21
|
+
hasActiveLicense = true,
|
|
22
|
+
supportsImages = true,
|
|
23
|
+
cursorType,
|
|
24
|
+
platform,
|
|
25
|
+
onOpenDashboard,
|
|
26
|
+
trailing,
|
|
27
|
+
className,
|
|
28
|
+
toolbarClassName
|
|
29
|
+
}) {
|
|
30
|
+
const showCustomCursor = Boolean(platform && cursorType === 'invisible' && platform !== 'linux');
|
|
31
|
+
return jsxs(Fragment, {
|
|
32
|
+
children: [jsx("div", {
|
|
33
|
+
className: cn(
|
|
34
|
+
// Default shrink-wraps so floating hosts (e.g. Tauri strip) can size the window to content; use className="min-h-screen w-screen" for full-viewport layouts.
|
|
35
|
+
'flex min-h-0 h-auto w-full items-start justify-center overflow-visible', isHidden ? 'pointer-events-none hidden' : '', className),
|
|
36
|
+
children: jsxs(AIToolbar, {
|
|
37
|
+
className: cn('w-full', toolbarClassName),
|
|
38
|
+
children: [jsx(AIToolbarLeading, {
|
|
39
|
+
children: jsx(SystemAudio, {
|
|
40
|
+
...systemAudio,
|
|
41
|
+
hasActiveLicense: hasActiveLicense,
|
|
42
|
+
supportsImages: supportsImages
|
|
43
|
+
})
|
|
44
|
+
}), jsx(AIToolbarMain, {
|
|
45
|
+
className: systemAudio?.capturing ? 'justify-between' : undefined,
|
|
46
|
+
children: systemAudio?.capturing ? jsxs(Fragment, {
|
|
47
|
+
children: [jsx("div", {
|
|
48
|
+
className: "flex min-w-0 flex-1 items-center gap-2",
|
|
49
|
+
children: jsx(AudioVisualizer, {
|
|
50
|
+
isRecording: systemAudio?.capturing
|
|
51
|
+
})
|
|
52
|
+
}), jsx("div", {
|
|
53
|
+
className: "flex w-fit shrink-0 items-center gap-2",
|
|
54
|
+
children: jsx(StatusIndicator, {
|
|
55
|
+
setupRequired: systemAudio.setupRequired,
|
|
56
|
+
error: systemAudio.error,
|
|
57
|
+
isProcessing: systemAudio.isProcessing,
|
|
58
|
+
isAIProcessing: systemAudio.isAIProcessing,
|
|
59
|
+
capturing: systemAudio.capturing
|
|
60
|
+
})
|
|
61
|
+
})]
|
|
62
|
+
}) : jsxs(Fragment, {
|
|
63
|
+
children: [jsx(Completion, {
|
|
64
|
+
completion: completion,
|
|
65
|
+
isHidden: isHidden,
|
|
66
|
+
supportsImages: supportsImages
|
|
67
|
+
}), onOpenDashboard ? jsx(Button, {
|
|
68
|
+
size: 'icon',
|
|
69
|
+
className: "cursor-pointer",
|
|
70
|
+
title: "Open Dev Space",
|
|
71
|
+
onClick: () => void onOpenDashboard(),
|
|
72
|
+
children: jsx(SparklesIcon, {
|
|
73
|
+
className: "h-4 w-4"
|
|
74
|
+
})
|
|
75
|
+
}) : null]
|
|
76
|
+
})
|
|
77
|
+
}), jsx(AIToolbarTrailing, {
|
|
78
|
+
children: trailing
|
|
79
|
+
})]
|
|
80
|
+
})
|
|
81
|
+
}), showCustomCursor ? jsx(CustomCursor, {}) : null]
|
|
82
|
+
});
|
|
83
|
+
}export{AIToolBar};//# sourceMappingURL=AIToolBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIToolBar.js","sources":["../../../../src/components/AIToolbar/components/AIToolBar.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AA2BG;AACH;AA+EA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export type AIToolbarProps = React.HTMLAttributes<HTMLDivElement>;
|
|
3
|
+
export declare function AIToolbar({ className, ...props }: AIToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export type AIToolbarSectionProps = React.HTMLAttributes<HTMLDivElement>;
|
|
5
|
+
export declare function AIToolbarLeading({ className, ...props }: AIToolbarSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function AIToolbarMain({ className, ...props }: AIToolbarSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function AIToolbarTrailing({ className, ...props }: AIToolbarSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export type AIToolbarInputSurfaceProps = React.HTMLAttributes<HTMLDivElement>;
|
|
9
|
+
export declare const AIToolbarInputSurface: React.ForwardRefExoticComponent<AIToolbarInputSurfaceProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export type AIToolbarStatusDotProps = React.HTMLAttributes<HTMLSpanElement> & {
|
|
11
|
+
active?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare function AIToolbarStatusDot({ className, active, ...props }: AIToolbarStatusDotProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=AIToolbarPrimitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIToolbarPrimitives.d.ts","sourceRoot":"","sources":["../../../../src/components/AIToolbar/components/AIToolbarPrimitives.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAElE,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CAWhE;AAED,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAEzE,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAE9E;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAE3E;AAED,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,qBAAqB,2CAE/E;AAED,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAE9E,eAAO,MAAM,qBAAqB,mGAajC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAa,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,2CAajG"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import*as React from'react';import {cn}from'../../../utils/util.js';function AIToolbar({
|
|
2
|
+
className,
|
|
3
|
+
...props
|
|
4
|
+
}) {
|
|
5
|
+
return jsx("div", {
|
|
6
|
+
role: "toolbar",
|
|
7
|
+
className: cn('flex w-full flex-row items-center gap-2 rounded-xl border border-slate-800/90 bg-slate-950 p-2 text-slate-50 shadow-sm', className),
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function AIToolbarLeading({
|
|
12
|
+
className,
|
|
13
|
+
...props
|
|
14
|
+
}) {
|
|
15
|
+
return jsx("div", {
|
|
16
|
+
className: cn('flex shrink-0 flex-row gap-2', className),
|
|
17
|
+
...props
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function AIToolbarMain({
|
|
21
|
+
className,
|
|
22
|
+
...props
|
|
23
|
+
}) {
|
|
24
|
+
return jsx("div", {
|
|
25
|
+
className: cn('flex min-h-10 min-w-0 flex-1 flex-row gap-2', className),
|
|
26
|
+
...props
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function AIToolbarTrailing({
|
|
30
|
+
className,
|
|
31
|
+
...props
|
|
32
|
+
}) {
|
|
33
|
+
return jsx("div", {
|
|
34
|
+
className: cn('flex shrink-0 flex-row gap-2', className),
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const AIToolbarInputSurface = React.forwardRef(function AIToolbarInputSurface({
|
|
39
|
+
className,
|
|
40
|
+
...props
|
|
41
|
+
}, ref) {
|
|
42
|
+
return jsx("div", {
|
|
43
|
+
ref: ref,
|
|
44
|
+
className: cn('flex min-h-9 min-w-0 flex-1 items-center rounded-full border border-slate-800 bg-slate-900 px-3 py-0.5 shadow-inner', className),
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
function AIToolbarStatusDot({
|
|
49
|
+
className,
|
|
50
|
+
active = true,
|
|
51
|
+
...props
|
|
52
|
+
}) {
|
|
53
|
+
return jsx("span", {
|
|
54
|
+
className: cn('inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full border-2 border-white', active ? 'bg-emerald-500' : 'bg-slate-500', className),
|
|
55
|
+
...props,
|
|
56
|
+
children: jsx("span", {
|
|
57
|
+
className: "h-1.5 w-1.5 rounded-full bg-white"
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}export{AIToolbar,AIToolbarInputSurface,AIToolbarLeading,AIToolbarMain,AIToolbarStatusDot,AIToolbarTrailing};//# sourceMappingURL=AIToolbarPrimitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIToolbarPrimitives.js","sources":["../../../../src/components/AIToolbar/components/AIToolbarPrimitives.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"wGAkBM;AAEN,EAAA,SAAA;AAIA,EAAA,GAAA;AAIA,CAAA,EAAA;AAIA,EAAA,OAAMA;AAEN,IAAA,IAAA,EAAA,SAAO;AAeP,IAAA,sIAA8E,EAAA,SAAA,CAAA;IAC1E,GAAA;GACF,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomCursor.d.ts","sourceRoot":"","sources":["../../../../src/components/AIToolbar/components/CustomCursor.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,+CAoExB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import {useRef,useEffect}from'react';import {MousePointer2}from'lucide-react';const CustomCursor = () => {
|
|
2
|
+
const cursorRef = useRef(null);
|
|
3
|
+
const positionRef = useRef({
|
|
4
|
+
x: 0,
|
|
5
|
+
y: 0
|
|
6
|
+
});
|
|
7
|
+
const isVisibleRef = useRef(false);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
let rafId;
|
|
10
|
+
const updateCursorPosition = () => {
|
|
11
|
+
if (cursorRef.current && isVisibleRef.current) {
|
|
12
|
+
cursorRef.current.style.transform = `translate3d(${positionRef.current.x}px, ${positionRef.current.y}px, 0)`;
|
|
13
|
+
}
|
|
14
|
+
rafId = requestAnimationFrame(updateCursorPosition);
|
|
15
|
+
};
|
|
16
|
+
const handleMouseMove = e => {
|
|
17
|
+
positionRef.current = {
|
|
18
|
+
x: e.clientX,
|
|
19
|
+
y: e.clientY
|
|
20
|
+
};
|
|
21
|
+
if (!isVisibleRef.current) {
|
|
22
|
+
isVisibleRef.current = true;
|
|
23
|
+
if (cursorRef.current) {
|
|
24
|
+
cursorRef.current.style.opacity = '1';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const handleMouseLeave = () => {
|
|
29
|
+
isVisibleRef.current = false;
|
|
30
|
+
if (cursorRef.current) {
|
|
31
|
+
cursorRef.current.style.opacity = '0';
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const handleWindowBlur = () => {
|
|
35
|
+
isVisibleRef.current = false;
|
|
36
|
+
if (cursorRef.current) {
|
|
37
|
+
cursorRef.current.style.display = '0';
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
// Start the animation loop
|
|
41
|
+
rafId = requestAnimationFrame(updateCursorPosition);
|
|
42
|
+
// Add event listeners
|
|
43
|
+
document.addEventListener('mousemove', handleMouseMove, {
|
|
44
|
+
passive: true
|
|
45
|
+
});
|
|
46
|
+
document.addEventListener('mouseleave', handleMouseLeave);
|
|
47
|
+
window.addEventListener('blur', handleWindowBlur);
|
|
48
|
+
return () => {
|
|
49
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
|
50
|
+
document.removeEventListener('mouseleave', handleMouseLeave);
|
|
51
|
+
window.removeEventListener('blur', handleWindowBlur);
|
|
52
|
+
cancelAnimationFrame(rafId);
|
|
53
|
+
};
|
|
54
|
+
}, []);
|
|
55
|
+
return jsx("div", {
|
|
56
|
+
ref: cursorRef,
|
|
57
|
+
className: "fixed top-0 left-0 pointer-events-none z-[9999] opacity-0 will-change-transform",
|
|
58
|
+
style: {
|
|
59
|
+
transform: 'translate3d(0px, 0px, 0)',
|
|
60
|
+
transition: 'opacity 0.1s ease-out'
|
|
61
|
+
},
|
|
62
|
+
children: jsx(MousePointer2, {
|
|
63
|
+
className: "w-5 h-5 drop-shadow-2xl fill-secondary stroke-primary"
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
};export{CustomCursor};//# sourceMappingURL=CustomCursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomCursor.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export type DragButtonProps = {
|
|
3
|
+
hasActiveLicense: boolean;
|
|
4
|
+
resizeWindow: (expanded: boolean) => void | Promise<void>;
|
|
5
|
+
/** Rendered inside the license popover (e.g. host checkout button). */
|
|
6
|
+
licenseAction?: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
export declare const DragButton: ({ hasActiveLicense, resizeWindow, licenseAction }: DragButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=DragButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragButton.d.ts","sourceRoot":"","sources":["../../../../src/components/AIToolbar/components/DragButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI5D,MAAM,MAAM,eAAe,GAAG;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,uEAAuE;IACvE,aAAa,CAAC,EAAE,SAAS,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,mDAAmD,eAAe,4CA2C5F,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useEffect}from'react';import {GripVerticalIcon}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'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';const DragButton = ({
|
|
2
|
+
hasActiveLicense,
|
|
3
|
+
resizeWindow,
|
|
4
|
+
licenseAction
|
|
5
|
+
}) => {
|
|
6
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (!hasActiveLicense) {
|
|
9
|
+
void resizeWindow(isOpen);
|
|
10
|
+
}
|
|
11
|
+
}, [hasActiveLicense, isOpen, resizeWindow]);
|
|
12
|
+
if (!hasActiveLicense) {
|
|
13
|
+
return jsxs(Popover, {
|
|
14
|
+
open: isOpen,
|
|
15
|
+
onOpenChange: setIsOpen,
|
|
16
|
+
children: [jsx(PopoverTrigger, {
|
|
17
|
+
asChild: true,
|
|
18
|
+
className: "border-none hover:bg-transparent",
|
|
19
|
+
children: jsx(Button, {
|
|
20
|
+
variant: "ghost",
|
|
21
|
+
size: "icon",
|
|
22
|
+
className: `-ml-[2px] w-fit`,
|
|
23
|
+
children: jsx(GripVerticalIcon, {
|
|
24
|
+
className: "h-4 w-4"
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
}), jsx(PopoverContent, {
|
|
28
|
+
align: "start",
|
|
29
|
+
side: "bottom",
|
|
30
|
+
className: "w-fit select-none p-4 border overflow-hidden border-input/50",
|
|
31
|
+
sideOffset: 8,
|
|
32
|
+
children: jsxs("div", {
|
|
33
|
+
className: "flex flex-col gap-2 w-116",
|
|
34
|
+
children: [jsxs("div", {
|
|
35
|
+
className: "flex flex-col gap-1 pb-2",
|
|
36
|
+
children: [jsx("p", {
|
|
37
|
+
className: "text-md font-medium",
|
|
38
|
+
children: "You need an active license to use this feature."
|
|
39
|
+
}), jsx("p", {
|
|
40
|
+
className: "text-sm font-medium text-muted-foreground",
|
|
41
|
+
children: "Once you complete your purchase, you'll receive a license key via email. Paste in the Settings \u2192 Access section to activate."
|
|
42
|
+
})]
|
|
43
|
+
}), licenseAction]
|
|
44
|
+
})
|
|
45
|
+
})]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return jsx(Button, {
|
|
49
|
+
variant: "ghost",
|
|
50
|
+
size: "icon",
|
|
51
|
+
className: `-ml-[2px] w-fit`,
|
|
52
|
+
"data-tauri-drag-region": hasActiveLicense,
|
|
53
|
+
children: jsx(GripVerticalIcon, {
|
|
54
|
+
className: "h-4 w-4"
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};export{DragButton};//# sourceMappingURL=DragButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DragButton.js","sources":["../../../../src/components/AIToolbar/components/DragButton.tsx"],"sourcesContent":[null],"names":[],"mappings":"w8DAOI,MAAA,UAAA,GAAA,CAAA;kBACc;EAChB,YAAA;AAEF,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/Markdown/copy-button.tsx"],"names":[],"mappings":"AAKA,KAAK,eAAe,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,2CA4BtD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {useState}from'react';import {Check,Copy}from'lucide-react';import'../../../../utils/isBrowser/index.js';import {cn}from'../../../../utils/util.js';import'fast-deep-equal/react.js';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'../../../../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';function CopyButton({
|
|
2
|
+
content
|
|
3
|
+
}) {
|
|
4
|
+
const [isCopied, setIsCopied] = useState(false);
|
|
5
|
+
const handleCopy = async () => {
|
|
6
|
+
try {
|
|
7
|
+
await navigator.clipboard.writeText(content);
|
|
8
|
+
setIsCopied(true);
|
|
9
|
+
window.setTimeout(() => setIsCopied(false), 1500);
|
|
10
|
+
} catch (e) {
|
|
11
|
+
console.error('Copy failed', e);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
return jsxs(Button, {
|
|
15
|
+
variant: "ghost",
|
|
16
|
+
size: "icon",
|
|
17
|
+
className: "relative h-6 w-6",
|
|
18
|
+
"aria-label": "Copy to clipboard",
|
|
19
|
+
type: "button",
|
|
20
|
+
onClick: () => void handleCopy(),
|
|
21
|
+
children: [jsx("div", {
|
|
22
|
+
className: "absolute inset-0 flex items-center justify-center",
|
|
23
|
+
children: jsx(Check, {
|
|
24
|
+
className: cn('h-4 w-4 transition-transform ease-in-out', isCopied ? 'scale-100' : 'scale-0')
|
|
25
|
+
})
|
|
26
|
+
}), jsx(Copy, {
|
|
27
|
+
className: cn('h-4 w-4 transition-transform ease-in-out', isCopied ? 'scale-0' : 'scale-100')
|
|
28
|
+
})]
|
|
29
|
+
});
|
|
30
|
+
}export{CopyButton};//# sourceMappingURL=copy-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy-button.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/AIToolbar/components/Markdown/index.tsx"],"names":[],"mappings":"AAIA,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAmB,EAAE,EAAE,qBAAqB,2CAoBhF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {jsx}from'react/jsx-runtime';import {Streamdown}from'streamdown';import {openUrl}from'@tauri-apps/plugin-opener';function Markdown({
|
|
2
|
+
children,
|
|
3
|
+
isStreaming = false
|
|
4
|
+
}) {
|
|
5
|
+
return jsx(Streamdown, {
|
|
6
|
+
isAnimating: isStreaming,
|
|
7
|
+
shikiTheme: ['github-light', 'github-dark'],
|
|
8
|
+
components: COMPONENTS,
|
|
9
|
+
controls: {
|
|
10
|
+
table: true,
|
|
11
|
+
code: true,
|
|
12
|
+
mermaid: {
|
|
13
|
+
download: true,
|
|
14
|
+
copy: true,
|
|
15
|
+
fullscreen: false,
|
|
16
|
+
panZoom: false
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
children: children
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const COMPONENTS = {
|
|
23
|
+
a: ({
|
|
24
|
+
children,
|
|
25
|
+
href,
|
|
26
|
+
...props
|
|
27
|
+
}) => {
|
|
28
|
+
const handleClick = async e => {
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
if (href) {
|
|
31
|
+
try {
|
|
32
|
+
await openUrl(href);
|
|
33
|
+
} catch (error) {
|
|
34
|
+
console.error('Failed to open URL:', error);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return jsx("a", {
|
|
39
|
+
href: href,
|
|
40
|
+
className: "text-gray-600 underline underline-offset-2 hover:text-gray-800 dark:text-gray-300 dark:hover:text-gray-100 cursor-pointer",
|
|
41
|
+
onClick: handleClick,
|
|
42
|
+
...props,
|
|
43
|
+
children: children
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
};export{Markdown};//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/AIToolbar/components/Markdown/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"wHAOC,SAAA,QAAA,CAAA;AAED,EAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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("p", {
|
|
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("p", {
|
|
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"}
|