@docyrus/rn-assistant 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +477 -0
- package/dist/commonjs/components/agent-selector/agent-selector.js +300 -0
- package/dist/commonjs/components/agent-selector/agent-selector.js.map +1 -0
- package/dist/commonjs/components/agent-selector/index.js +17 -0
- package/dist/commonjs/components/agent-selector/index.js.map +1 -0
- package/dist/commonjs/components/assistant-animations/assistant-animations.js +169 -0
- package/dist/commonjs/components/assistant-animations/assistant-animations.js.map +1 -0
- package/dist/commonjs/components/assistant-animations/index.js +17 -0
- package/dist/commonjs/components/assistant-animations/index.js.map +1 -0
- package/dist/commonjs/components/assistant-screen/assistant-screen.js +809 -0
- package/dist/commonjs/components/assistant-screen/assistant-screen.js.map +1 -0
- package/dist/commonjs/components/assistant-screen/index.js +17 -0
- package/dist/commonjs/components/assistant-screen/index.js.map +1 -0
- package/dist/commonjs/components/index.js +116 -0
- package/dist/commonjs/components/index.js.map +1 -0
- package/dist/commonjs/components/message-parts/index.js +13 -0
- package/dist/commonjs/components/message-parts/index.js.map +1 -0
- package/dist/commonjs/components/message-parts/message-parts.js +209 -0
- package/dist/commonjs/components/message-parts/message-parts.js.map +1 -0
- package/dist/commonjs/components/new-chat/index.js +17 -0
- package/dist/commonjs/components/new-chat/index.js.map +1 -0
- package/dist/commonjs/components/new-chat/new-chat.js +100 -0
- package/dist/commonjs/components/new-chat/new-chat.js.map +1 -0
- package/dist/commonjs/components/prompt-input/attachment-picker.js +341 -0
- package/dist/commonjs/components/prompt-input/attachment-picker.js.map +1 -0
- package/dist/commonjs/components/prompt-input/attachment-preview.js +229 -0
- package/dist/commonjs/components/prompt-input/attachment-preview.js.map +1 -0
- package/dist/commonjs/components/prompt-input/index.js +41 -0
- package/dist/commonjs/components/prompt-input/index.js.map +1 -0
- package/dist/commonjs/components/prompt-input/prompt-input.js +288 -0
- package/dist/commonjs/components/prompt-input/prompt-input.js.map +1 -0
- package/dist/commonjs/components/prompt-input/provider-selector.js +542 -0
- package/dist/commonjs/components/prompt-input/provider-selector.js.map +1 -0
- package/dist/commonjs/components/prompt-input/reasoning-level-selector.js +350 -0
- package/dist/commonjs/components/prompt-input/reasoning-level-selector.js.map +1 -0
- package/dist/commonjs/components/prompt-input/voice-recorder.js +260 -0
- package/dist/commonjs/components/prompt-input/voice-recorder.js.map +1 -0
- package/dist/commonjs/components/sessions-list/index.js +17 -0
- package/dist/commonjs/components/sessions-list/index.js.map +1 -0
- package/dist/commonjs/components/sessions-list/sessions-list.js +820 -0
- package/dist/commonjs/components/sessions-list/sessions-list.js.map +1 -0
- package/dist/commonjs/hooks/index.js +34 -0
- package/dist/commonjs/hooks/index.js.map +1 -0
- package/dist/commonjs/hooks/use-agent-models.js +104 -0
- package/dist/commonjs/hooks/use-agent-models.js.map +1 -0
- package/dist/commonjs/hooks/use-assistant.js +402 -0
- package/dist/commonjs/hooks/use-assistant.js.map +1 -0
- package/dist/commonjs/hooks/use-attachment-picker.js +308 -0
- package/dist/commonjs/hooks/use-attachment-picker.js.map +1 -0
- package/dist/commonjs/hooks/use-voice-recorder.js +217 -0
- package/dist/commonjs/hooks/use-voice-recorder.js.map +1 -0
- package/dist/commonjs/index.js +112 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/theme/assistant-theme.js +105 -0
- package/dist/commonjs/theme/assistant-theme.js.map +1 -0
- package/dist/commonjs/theme/index.js +19 -0
- package/dist/commonjs/theme/index.js.map +1 -0
- package/dist/commonjs/types/index.js +2 -0
- package/dist/commonjs/types/index.js.map +1 -0
- package/dist/commonjs/ui/action-sheet.js +348 -0
- package/dist/commonjs/ui/action-sheet.js.map +1 -0
- package/dist/commonjs/ui/alert-dialog.js +134 -0
- package/dist/commonjs/ui/alert-dialog.js.map +1 -0
- package/dist/commonjs/ui/docyrus-brand-mark.js +52 -0
- package/dist/commonjs/ui/docyrus-brand-mark.js.map +1 -0
- package/dist/commonjs/ui/docyrus-icon.js +298 -0
- package/dist/commonjs/ui/docyrus-icon.js.map +1 -0
- package/dist/commonjs/ui/index.js +34 -0
- package/dist/commonjs/ui/index.js.map +1 -0
- package/dist/commonjs/utils/api-client.js +99 -0
- package/dist/commonjs/utils/api-client.js.map +1 -0
- package/dist/commonjs/utils/default-api-config.js +195 -0
- package/dist/commonjs/utils/default-api-config.js.map +1 -0
- package/dist/commonjs/utils/index.js +39 -0
- package/dist/commonjs/utils/index.js.map +1 -0
- package/dist/commonjs/utils/resolve-api-headers.js +16 -0
- package/dist/commonjs/utils/resolve-api-headers.js.map +1 -0
- package/dist/module/components/agent-selector/agent-selector.js +296 -0
- package/dist/module/components/agent-selector/agent-selector.js.map +1 -0
- package/dist/module/components/agent-selector/index.js +4 -0
- package/dist/module/components/agent-selector/index.js.map +1 -0
- package/dist/module/components/assistant-animations/assistant-animations.js +164 -0
- package/dist/module/components/assistant-animations/assistant-animations.js.map +1 -0
- package/dist/module/components/assistant-animations/index.js +4 -0
- package/dist/module/components/assistant-animations/index.js.map +1 -0
- package/dist/module/components/assistant-screen/assistant-screen.js +801 -0
- package/dist/module/components/assistant-screen/assistant-screen.js.map +1 -0
- package/dist/module/components/assistant-screen/index.js +4 -0
- package/dist/module/components/assistant-screen/index.js.map +1 -0
- package/dist/module/components/index.js +23 -0
- package/dist/module/components/index.js.map +1 -0
- package/dist/module/components/message-parts/index.js +4 -0
- package/dist/module/components/message-parts/index.js.map +1 -0
- package/dist/module/components/message-parts/message-parts.js +205 -0
- package/dist/module/components/message-parts/message-parts.js.map +1 -0
- package/dist/module/components/new-chat/index.js +4 -0
- package/dist/module/components/new-chat/index.js.map +1 -0
- package/dist/module/components/new-chat/new-chat.js +96 -0
- package/dist/module/components/new-chat/new-chat.js.map +1 -0
- package/dist/module/components/prompt-input/attachment-picker.js +337 -0
- package/dist/module/components/prompt-input/attachment-picker.js.map +1 -0
- package/dist/module/components/prompt-input/attachment-preview.js +225 -0
- package/dist/module/components/prompt-input/attachment-preview.js.map +1 -0
- package/dist/module/components/prompt-input/index.js +15 -0
- package/dist/module/components/prompt-input/index.js.map +1 -0
- package/dist/module/components/prompt-input/prompt-input.js +284 -0
- package/dist/module/components/prompt-input/prompt-input.js.map +1 -0
- package/dist/module/components/prompt-input/provider-selector.js +538 -0
- package/dist/module/components/prompt-input/provider-selector.js.map +1 -0
- package/dist/module/components/prompt-input/reasoning-level-selector.js +346 -0
- package/dist/module/components/prompt-input/reasoning-level-selector.js.map +1 -0
- package/dist/module/components/prompt-input/voice-recorder.js +256 -0
- package/dist/module/components/prompt-input/voice-recorder.js.map +1 -0
- package/dist/module/components/sessions-list/index.js +4 -0
- package/dist/module/components/sessions-list/index.js.map +1 -0
- package/dist/module/components/sessions-list/sessions-list.js +816 -0
- package/dist/module/components/sessions-list/sessions-list.js.map +1 -0
- package/dist/module/hooks/index.js +18 -0
- package/dist/module/hooks/index.js.map +1 -0
- package/dist/module/hooks/use-agent-models.js +100 -0
- package/dist/module/hooks/use-agent-models.js.map +1 -0
- package/dist/module/hooks/use-assistant.js +398 -0
- package/dist/module/hooks/use-assistant.js.map +1 -0
- package/dist/module/hooks/use-attachment-picker.js +303 -0
- package/dist/module/hooks/use-attachment-picker.js.map +1 -0
- package/dist/module/hooks/use-voice-recorder.js +214 -0
- package/dist/module/hooks/use-voice-recorder.js.map +1 -0
- package/dist/module/index.js +59 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/theme/assistant-theme.js +100 -0
- package/dist/module/theme/assistant-theme.js.map +1 -0
- package/dist/module/theme/index.js +4 -0
- package/dist/module/theme/index.js.map +1 -0
- package/dist/module/types/index.js +2 -0
- package/dist/module/types/index.js.map +1 -0
- package/dist/module/ui/action-sheet.js +344 -0
- package/dist/module/ui/action-sheet.js.map +1 -0
- package/dist/module/ui/alert-dialog.js +130 -0
- package/dist/module/ui/alert-dialog.js.map +1 -0
- package/dist/module/ui/docyrus-brand-mark.js +48 -0
- package/dist/module/ui/docyrus-brand-mark.js.map +1 -0
- package/dist/module/ui/docyrus-icon.js +294 -0
- package/dist/module/ui/docyrus-icon.js.map +1 -0
- package/dist/module/ui/index.js +7 -0
- package/dist/module/ui/index.js.map +1 -0
- package/dist/module/utils/api-client.js +95 -0
- package/dist/module/utils/api-client.js.map +1 -0
- package/dist/module/utils/default-api-config.js +190 -0
- package/dist/module/utils/default-api-config.js.map +1 -0
- package/dist/module/utils/index.js +12 -0
- package/dist/module/utils/index.js.map +1 -0
- package/dist/module/utils/resolve-api-headers.js +12 -0
- package/dist/module/utils/resolve-api-headers.js.map +1 -0
- package/dist/typescript/commonjs/eslint.config.d.mts +4 -0
- package/dist/typescript/commonjs/eslint.config.d.mts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/commonjs/src/components/agent-selector/agent-selector.d.ts +49 -0
- package/dist/typescript/commonjs/src/components/agent-selector/agent-selector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/agent-selector/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/agent-selector/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/assistant-animations.d.ts +8 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/assistant-animations.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/assistant-screen.d.ts +122 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/assistant-screen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/index.d.ts +11 -0
- package/dist/typescript/commonjs/src/components/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/message-parts/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/message-parts.d.ts +22 -0
- package/dist/typescript/commonjs/src/components/message-parts/message-parts.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/new-chat/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/new-chat/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/new-chat/new-chat.d.ts +34 -0
- package/dist/typescript/commonjs/src/components/new-chat/new-chat.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-picker.d.ts +53 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-picker.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-preview.d.ts +42 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-preview.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/index.d.ts +9 -0
- package/dist/typescript/commonjs/src/components/prompt-input/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/prompt-input.d.ts +139 -0
- package/dist/typescript/commonjs/src/components/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/provider-selector.d.ts +11 -0
- package/dist/typescript/commonjs/src/components/prompt-input/provider-selector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/reasoning-level-selector.d.ts +35 -0
- package/dist/typescript/commonjs/src/components/prompt-input/reasoning-level-selector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/voice-recorder.d.ts +48 -0
- package/dist/typescript/commonjs/src/components/prompt-input/voice-recorder.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/sessions-list/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/sessions-list/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/sessions-list/sessions-list.d.ts +59 -0
- package/dist/typescript/commonjs/src/components/sessions-list/sessions-list.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/index.d.ts +8 -0
- package/dist/typescript/commonjs/src/hooks/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-agent-models.d.ts +68 -0
- package/dist/typescript/commonjs/src/hooks/use-agent-models.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-assistant.d.ts +55 -0
- package/dist/typescript/commonjs/src/hooks/use-assistant.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-attachment-picker.d.ts +99 -0
- package/dist/typescript/commonjs/src/hooks/use-attachment-picker.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-voice-recorder.d.ts +101 -0
- package/dist/typescript/commonjs/src/hooks/use-voice-recorder.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/index.d.ts +47 -0
- package/dist/typescript/commonjs/src/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/assistant-theme.d.ts +51 -0
- package/dist/typescript/commonjs/src/theme/assistant-theme.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/theme/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/types/index.d.ts +167 -0
- package/dist/typescript/commonjs/src/types/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/action-sheet.d.ts +29 -0
- package/dist/typescript/commonjs/src/ui/action-sheet.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/alert-dialog.d.ts +12 -0
- package/dist/typescript/commonjs/src/ui/alert-dialog.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/docyrus-brand-mark.d.ts +5 -0
- package/dist/typescript/commonjs/src/ui/docyrus-brand-mark.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/docyrus-icon.d.ts +11 -0
- package/dist/typescript/commonjs/src/ui/docyrus-icon.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/index.d.ts +5 -0
- package/dist/typescript/commonjs/src/ui/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/api-client.d.ts +35 -0
- package/dist/typescript/commonjs/src/utils/api-client.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/default-api-config.d.ts +38 -0
- package/dist/typescript/commonjs/src/utils/default-api-config.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/index.d.ts +9 -0
- package/dist/typescript/commonjs/src/utils/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/resolve-api-headers.d.ts +3 -0
- package/dist/typescript/commonjs/src/utils/resolve-api-headers.d.ts.map +1 -0
- package/dist/typescript/module/eslint.config.d.mts +4 -0
- package/dist/typescript/module/eslint.config.d.mts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/dist/typescript/module/src/components/agent-selector/agent-selector.d.ts +49 -0
- package/dist/typescript/module/src/components/agent-selector/agent-selector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/agent-selector/index.d.ts +2 -0
- package/dist/typescript/module/src/components/agent-selector/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-animations/assistant-animations.d.ts +8 -0
- package/dist/typescript/module/src/components/assistant-animations/assistant-animations.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-animations/index.d.ts +2 -0
- package/dist/typescript/module/src/components/assistant-animations/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-screen/assistant-screen.d.ts +122 -0
- package/dist/typescript/module/src/components/assistant-screen/assistant-screen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-screen/index.d.ts +2 -0
- package/dist/typescript/module/src/components/assistant-screen/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/index.d.ts +11 -0
- package/dist/typescript/module/src/components/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/index.d.ts +2 -0
- package/dist/typescript/module/src/components/message-parts/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/message-parts.d.ts +22 -0
- package/dist/typescript/module/src/components/message-parts/message-parts.d.ts.map +1 -0
- package/dist/typescript/module/src/components/new-chat/index.d.ts +2 -0
- package/dist/typescript/module/src/components/new-chat/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/new-chat/new-chat.d.ts +34 -0
- package/dist/typescript/module/src/components/new-chat/new-chat.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-picker.d.ts +53 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-picker.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-preview.d.ts +42 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-preview.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/index.d.ts +9 -0
- package/dist/typescript/module/src/components/prompt-input/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/prompt-input.d.ts +139 -0
- package/dist/typescript/module/src/components/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/provider-selector.d.ts +11 -0
- package/dist/typescript/module/src/components/prompt-input/provider-selector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/reasoning-level-selector.d.ts +35 -0
- package/dist/typescript/module/src/components/prompt-input/reasoning-level-selector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/voice-recorder.d.ts +48 -0
- package/dist/typescript/module/src/components/prompt-input/voice-recorder.d.ts.map +1 -0
- package/dist/typescript/module/src/components/sessions-list/index.d.ts +2 -0
- package/dist/typescript/module/src/components/sessions-list/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/sessions-list/sessions-list.d.ts +59 -0
- package/dist/typescript/module/src/components/sessions-list/sessions-list.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/index.d.ts +8 -0
- package/dist/typescript/module/src/hooks/index.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-agent-models.d.ts +68 -0
- package/dist/typescript/module/src/hooks/use-agent-models.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-assistant.d.ts +55 -0
- package/dist/typescript/module/src/hooks/use-assistant.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-attachment-picker.d.ts +99 -0
- package/dist/typescript/module/src/hooks/use-attachment-picker.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-voice-recorder.d.ts +101 -0
- package/dist/typescript/module/src/hooks/use-voice-recorder.d.ts.map +1 -0
- package/dist/typescript/module/src/index.d.ts +47 -0
- package/dist/typescript/module/src/index.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/assistant-theme.d.ts +51 -0
- package/dist/typescript/module/src/theme/assistant-theme.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/index.d.ts +2 -0
- package/dist/typescript/module/src/theme/index.d.ts.map +1 -0
- package/dist/typescript/module/src/types/index.d.ts +167 -0
- package/dist/typescript/module/src/types/index.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/action-sheet.d.ts +29 -0
- package/dist/typescript/module/src/ui/action-sheet.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/alert-dialog.d.ts +12 -0
- package/dist/typescript/module/src/ui/alert-dialog.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/docyrus-brand-mark.d.ts +5 -0
- package/dist/typescript/module/src/ui/docyrus-brand-mark.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/docyrus-icon.d.ts +11 -0
- package/dist/typescript/module/src/ui/docyrus-icon.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/index.d.ts +5 -0
- package/dist/typescript/module/src/ui/index.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/api-client.d.ts +35 -0
- package/dist/typescript/module/src/utils/api-client.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/default-api-config.d.ts +38 -0
- package/dist/typescript/module/src/utils/default-api-config.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/index.d.ts +9 -0
- package/dist/typescript/module/src/utils/index.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/resolve-api-headers.d.ts +3 -0
- package/dist/typescript/module/src/utils/resolve-api-headers.d.ts.map +1 -0
- package/package.json +176 -0
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useState, useEffect, useRef, useCallback } from 'react';
|
|
4
|
+
import { Animated, Dimensions, View, Text, TouchableOpacity, StyleSheet } from 'react-native';
|
|
5
|
+
import { Brain, Check, CircleOff, SlidersHorizontal, X, Zap } from 'lucide-react-native';
|
|
6
|
+
import { useI18n } from '@docyrus/i18n/rn';
|
|
7
|
+
import { useDocyrusRNAssistantTheme } from "../../theme/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* Get icon name based on reasoning level id
|
|
11
|
+
*/
|
|
12
|
+
const getReasoningIcon = id => {
|
|
13
|
+
const lowerId = id.toLowerCase();
|
|
14
|
+
if (lowerId === 'none') {
|
|
15
|
+
return 'none';
|
|
16
|
+
}
|
|
17
|
+
if (lowerId === 'low') {
|
|
18
|
+
return 'low';
|
|
19
|
+
}
|
|
20
|
+
if (lowerId === 'medium') {
|
|
21
|
+
return 'medium';
|
|
22
|
+
}
|
|
23
|
+
if (lowerId === 'high') {
|
|
24
|
+
return 'high';
|
|
25
|
+
}
|
|
26
|
+
return 'default';
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Get color based on reasoning level id
|
|
31
|
+
*/
|
|
32
|
+
const getReasoningColor = (id, mutedColor) => {
|
|
33
|
+
const lowerId = id.toLowerCase();
|
|
34
|
+
if (lowerId === 'none') {
|
|
35
|
+
return mutedColor;
|
|
36
|
+
}
|
|
37
|
+
if (lowerId === 'low') {
|
|
38
|
+
return '#10B981'; // Green - fast
|
|
39
|
+
}
|
|
40
|
+
if (lowerId === 'medium') {
|
|
41
|
+
return '#F59E0B'; // Amber - balanced
|
|
42
|
+
}
|
|
43
|
+
if (lowerId === 'high') {
|
|
44
|
+
return '#8B5CF6'; // Purple - deep
|
|
45
|
+
}
|
|
46
|
+
return mutedColor;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* ReasoningLevelSelector - Compact reasoning level picker with anchored dropdown
|
|
51
|
+
*
|
|
52
|
+
* Shows a small icon button that opens an ActionSheet to select reasoning level.
|
|
53
|
+
* Only renders if levels are provided.
|
|
54
|
+
*/
|
|
55
|
+
export function ReasoningLevelSelector({
|
|
56
|
+
levels,
|
|
57
|
+
selectedLevel,
|
|
58
|
+
onSelect,
|
|
59
|
+
disabled = false,
|
|
60
|
+
compact = false
|
|
61
|
+
}) {
|
|
62
|
+
const theme = useDocyrusRNAssistantTheme();
|
|
63
|
+
const {
|
|
64
|
+
t
|
|
65
|
+
} = useI18n();
|
|
66
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
67
|
+
const [anchorFrame, setAnchorFrame] = useState(null);
|
|
68
|
+
const dropdownAnim = useRef(new Animated.Value(0)).current;
|
|
69
|
+
const triggerRef = useRef(null);
|
|
70
|
+
const screen = Dimensions.get('window');
|
|
71
|
+
const measureAnchor = useCallback(() => {
|
|
72
|
+
triggerRef.current?.measureInWindow((x, y, width, height) => {
|
|
73
|
+
setAnchorFrame({
|
|
74
|
+
x,
|
|
75
|
+
y,
|
|
76
|
+
width,
|
|
77
|
+
height
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}, []);
|
|
81
|
+
|
|
82
|
+
// Auto-select default level if none selected
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (!selectedLevel && levels && levels.length > 0) {
|
|
85
|
+
const level = levels.find(l => l.default) ?? levels[0];
|
|
86
|
+
if (level) {
|
|
87
|
+
onSelect(level);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}, [levels, selectedLevel, onSelect]);
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
if (isOpen) {
|
|
93
|
+
requestAnimationFrame(() => {
|
|
94
|
+
measureAnchor();
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}, [isOpen, measureAnchor]);
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
Animated.spring(dropdownAnim, {
|
|
100
|
+
toValue: isOpen ? 1 : 0,
|
|
101
|
+
damping: 22,
|
|
102
|
+
stiffness: 260,
|
|
103
|
+
mass: 0.9,
|
|
104
|
+
useNativeDriver: true
|
|
105
|
+
}).start();
|
|
106
|
+
}, [dropdownAnim, isOpen]);
|
|
107
|
+
|
|
108
|
+
// Don't render if no levels or only one level
|
|
109
|
+
if (!levels || levels.length <= 1) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Get current level - ensure it's always defined since we checked levels.length > 1
|
|
114
|
+
const defaultLevel = levels.find(l => l.default) ?? levels[0];
|
|
115
|
+
if (!defaultLevel) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
const currentLevel = selectedLevel ?? defaultLevel;
|
|
119
|
+
const levelColor = getReasoningColor(currentLevel.id, theme.colors.mutedForeground);
|
|
120
|
+
const levelIcon = getReasoningIcon(currentLevel.id);
|
|
121
|
+
const handlePress = () => {
|
|
122
|
+
if (disabled) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (isOpen) {
|
|
126
|
+
setIsOpen(false);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
measureAnchor();
|
|
130
|
+
setIsOpen(true);
|
|
131
|
+
};
|
|
132
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
133
|
+
ref: triggerRef,
|
|
134
|
+
collapsable: false,
|
|
135
|
+
style: styles.container,
|
|
136
|
+
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
137
|
+
onPress: handlePress,
|
|
138
|
+
disabled: disabled,
|
|
139
|
+
activeOpacity: 0.7,
|
|
140
|
+
style: [styles.button, {
|
|
141
|
+
backgroundColor: `${levelColor}15`,
|
|
142
|
+
borderRadius: theme.borderRadius.md,
|
|
143
|
+
paddingHorizontal: theme.spacing[2],
|
|
144
|
+
gap: theme.spacing[1],
|
|
145
|
+
opacity: disabled ? 0.5 : 1
|
|
146
|
+
}],
|
|
147
|
+
children: [compact ? /*#__PURE__*/_jsx(SlidersHorizontal, {
|
|
148
|
+
size: 16,
|
|
149
|
+
color: levelColor,
|
|
150
|
+
strokeWidth: 2.2
|
|
151
|
+
}) : /*#__PURE__*/_jsx(ReasoningIcon, {
|
|
152
|
+
tone: levelIcon,
|
|
153
|
+
color: levelColor,
|
|
154
|
+
size: 16
|
|
155
|
+
}), !compact ? /*#__PURE__*/_jsx(Text, {
|
|
156
|
+
style: {
|
|
157
|
+
fontSize: 13,
|
|
158
|
+
fontWeight: '500',
|
|
159
|
+
color: levelColor
|
|
160
|
+
},
|
|
161
|
+
children: currentLevel.name
|
|
162
|
+
}) : null]
|
|
163
|
+
}), isOpen && anchorFrame ? /*#__PURE__*/_jsxs(View, {
|
|
164
|
+
pointerEvents: "box-none",
|
|
165
|
+
style: [styles.portalLayer, {
|
|
166
|
+
left: -anchorFrame.x,
|
|
167
|
+
top: -anchorFrame.y,
|
|
168
|
+
width: screen.width,
|
|
169
|
+
height: screen.height
|
|
170
|
+
}],
|
|
171
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
172
|
+
activeOpacity: 1,
|
|
173
|
+
onPress: () => setIsOpen(false),
|
|
174
|
+
style: styles.portalBackdrop
|
|
175
|
+
}), /*#__PURE__*/_jsxs(Animated.View, {
|
|
176
|
+
pointerEvents: "auto",
|
|
177
|
+
style: [styles.dropdown, {
|
|
178
|
+
backgroundColor: theme.colors.card,
|
|
179
|
+
borderColor: theme.colors.border,
|
|
180
|
+
borderRadius: theme.borderRadius.xl,
|
|
181
|
+
left: Math.min(Math.max(anchorFrame.x - 8, 12), screen.width - 252),
|
|
182
|
+
bottom: screen.height - anchorFrame.y + 8,
|
|
183
|
+
opacity: dropdownAnim,
|
|
184
|
+
transform: [{
|
|
185
|
+
translateY: dropdownAnim.interpolate({
|
|
186
|
+
inputRange: [0, 1],
|
|
187
|
+
outputRange: [8, 0]
|
|
188
|
+
})
|
|
189
|
+
}, {
|
|
190
|
+
scale: dropdownAnim.interpolate({
|
|
191
|
+
inputRange: [0, 1],
|
|
192
|
+
outputRange: [0.96, 1]
|
|
193
|
+
})
|
|
194
|
+
}]
|
|
195
|
+
}],
|
|
196
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
197
|
+
style: styles.dropdownHeader,
|
|
198
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
199
|
+
style: [styles.dropdownTitle, {
|
|
200
|
+
color: theme.colors.foreground
|
|
201
|
+
}],
|
|
202
|
+
children: t('assistant.reasoning-level', 'Reasoning Level')
|
|
203
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
204
|
+
onPress: () => setIsOpen(false),
|
|
205
|
+
hitSlop: {
|
|
206
|
+
top: 8,
|
|
207
|
+
bottom: 8,
|
|
208
|
+
left: 8,
|
|
209
|
+
right: 8
|
|
210
|
+
},
|
|
211
|
+
children: /*#__PURE__*/_jsx(X, {
|
|
212
|
+
size: 16,
|
|
213
|
+
color: theme.colors.mutedForeground,
|
|
214
|
+
strokeWidth: 2.2
|
|
215
|
+
})
|
|
216
|
+
})]
|
|
217
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
218
|
+
style: [styles.dropdownMessage, {
|
|
219
|
+
color: theme.colors.mutedForeground
|
|
220
|
+
}],
|
|
221
|
+
children: t('assistant.reasoning-level-desc', 'Select thinking depth for AI responses')
|
|
222
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
223
|
+
style: styles.dropdownContent,
|
|
224
|
+
children: levels.map(level => {
|
|
225
|
+
const itemIcon = getReasoningIcon(level.id);
|
|
226
|
+
const isSelected = level.id === currentLevel.id;
|
|
227
|
+
const itemColor = getReasoningColor(level.id, theme.colors.mutedForeground);
|
|
228
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
229
|
+
activeOpacity: 0.72,
|
|
230
|
+
onPress: () => {
|
|
231
|
+
onSelect(level);
|
|
232
|
+
setIsOpen(false);
|
|
233
|
+
},
|
|
234
|
+
style: [styles.option, {
|
|
235
|
+
backgroundColor: isSelected ? `${itemColor}14` : 'transparent',
|
|
236
|
+
borderRadius: theme.borderRadius.lg
|
|
237
|
+
}],
|
|
238
|
+
children: [/*#__PURE__*/_jsx(ReasoningIcon, {
|
|
239
|
+
tone: itemIcon,
|
|
240
|
+
color: itemColor,
|
|
241
|
+
size: 16
|
|
242
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
243
|
+
style: [styles.optionText, {
|
|
244
|
+
color: theme.colors.foreground
|
|
245
|
+
}],
|
|
246
|
+
children: level.name
|
|
247
|
+
}), isSelected ? /*#__PURE__*/_jsx(Check, {
|
|
248
|
+
size: 16,
|
|
249
|
+
color: itemColor,
|
|
250
|
+
strokeWidth: 2.4
|
|
251
|
+
}) : null]
|
|
252
|
+
}, level.id);
|
|
253
|
+
})
|
|
254
|
+
})]
|
|
255
|
+
})]
|
|
256
|
+
}) : null]
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
const styles = StyleSheet.create({
|
|
260
|
+
container: {
|
|
261
|
+
position: 'relative',
|
|
262
|
+
zIndex: 41
|
|
263
|
+
},
|
|
264
|
+
portalLayer: {
|
|
265
|
+
position: 'absolute',
|
|
266
|
+
zIndex: 120
|
|
267
|
+
},
|
|
268
|
+
portalBackdrop: {
|
|
269
|
+
...StyleSheet.absoluteFillObject
|
|
270
|
+
},
|
|
271
|
+
button: {
|
|
272
|
+
flexDirection: 'row',
|
|
273
|
+
height: 32,
|
|
274
|
+
alignItems: 'center',
|
|
275
|
+
justifyContent: 'center'
|
|
276
|
+
},
|
|
277
|
+
dropdown: {
|
|
278
|
+
borderWidth: 1,
|
|
279
|
+
minWidth: 240,
|
|
280
|
+
padding: 10,
|
|
281
|
+
position: 'absolute',
|
|
282
|
+
shadowColor: '#0f172a',
|
|
283
|
+
shadowOffset: {
|
|
284
|
+
width: 0,
|
|
285
|
+
height: 12
|
|
286
|
+
},
|
|
287
|
+
shadowOpacity: 0.18,
|
|
288
|
+
shadowRadius: 24
|
|
289
|
+
},
|
|
290
|
+
dropdownHeader: {
|
|
291
|
+
alignItems: 'center',
|
|
292
|
+
flexDirection: 'row',
|
|
293
|
+
justifyContent: 'space-between',
|
|
294
|
+
marginBottom: 4
|
|
295
|
+
},
|
|
296
|
+
dropdownTitle: {
|
|
297
|
+
fontSize: 13,
|
|
298
|
+
fontWeight: '700'
|
|
299
|
+
},
|
|
300
|
+
dropdownMessage: {
|
|
301
|
+
fontSize: 12,
|
|
302
|
+
lineHeight: 17,
|
|
303
|
+
marginBottom: 8
|
|
304
|
+
},
|
|
305
|
+
dropdownContent: {
|
|
306
|
+
gap: 2
|
|
307
|
+
},
|
|
308
|
+
option: {
|
|
309
|
+
alignItems: 'center',
|
|
310
|
+
flexDirection: 'row',
|
|
311
|
+
gap: 10,
|
|
312
|
+
paddingHorizontal: 10,
|
|
313
|
+
paddingVertical: 10
|
|
314
|
+
},
|
|
315
|
+
optionText: {
|
|
316
|
+
flex: 1,
|
|
317
|
+
fontSize: 14,
|
|
318
|
+
fontWeight: '500'
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
function ReasoningIcon({
|
|
322
|
+
tone,
|
|
323
|
+
color,
|
|
324
|
+
size
|
|
325
|
+
}) {
|
|
326
|
+
if (tone === 'none') {
|
|
327
|
+
return /*#__PURE__*/_jsx(CircleOff, {
|
|
328
|
+
size: size,
|
|
329
|
+
color: color,
|
|
330
|
+
strokeWidth: 2.2
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
if (tone === 'low') {
|
|
334
|
+
return /*#__PURE__*/_jsx(Zap, {
|
|
335
|
+
size: size,
|
|
336
|
+
color: color,
|
|
337
|
+
strokeWidth: 2.4
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
return /*#__PURE__*/_jsx(Brain, {
|
|
341
|
+
size: size,
|
|
342
|
+
color: color,
|
|
343
|
+
strokeWidth: 2.2
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
//# sourceMappingURL=reasoning-level-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useRef","useCallback","Animated","Dimensions","View","Text","TouchableOpacity","StyleSheet","Brain","Check","CircleOff","SlidersHorizontal","X","Zap","useI18n","useDocyrusRNAssistantTheme","jsx","_jsx","jsxs","_jsxs","getReasoningIcon","id","lowerId","toLowerCase","getReasoningColor","mutedColor","ReasoningLevelSelector","levels","selectedLevel","onSelect","disabled","compact","theme","t","isOpen","setIsOpen","anchorFrame","setAnchorFrame","dropdownAnim","Value","current","triggerRef","screen","get","measureAnchor","measureInWindow","x","y","width","height","length","level","find","l","default","requestAnimationFrame","spring","toValue","damping","stiffness","mass","useNativeDriver","start","defaultLevel","currentLevel","levelColor","colors","mutedForeground","levelIcon","handlePress","ref","collapsable","style","styles","container","children","onPress","activeOpacity","button","backgroundColor","borderRadius","md","paddingHorizontal","spacing","gap","opacity","size","color","strokeWidth","ReasoningIcon","tone","fontSize","fontWeight","name","pointerEvents","portalLayer","left","top","portalBackdrop","dropdown","card","borderColor","border","xl","Math","min","max","bottom","transform","translateY","interpolate","inputRange","outputRange","scale","dropdownHeader","dropdownTitle","foreground","hitSlop","right","dropdownMessage","dropdownContent","map","itemIcon","isSelected","itemColor","option","lg","optionText","create","position","zIndex","absoluteFillObject","flexDirection","alignItems","justifyContent","borderWidth","minWidth","padding","shadowColor","shadowOffset","shadowOpacity","shadowRadius","marginBottom","lineHeight","paddingVertical","flex"],"sourceRoot":"../../../../src","sources":["components/prompt-input/reasoning-level-selector.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
4
|
+
import { View, Text, TouchableOpacity, StyleSheet, Animated } from 'react-native';
|
|
5
|
+
import { useI18n } from '@docyrus/i18n/rn';
|
|
6
|
+
import { useDocyrusRNAssistantTheme } from "../../theme/index.js";
|
|
7
|
+
import { DocyrusIcon } from "../../ui/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
/**
|
|
10
|
+
* Format seconds to MM:SS
|
|
11
|
+
*/
|
|
12
|
+
const formatDuration = seconds => {
|
|
13
|
+
const mins = Math.floor(seconds / 60);
|
|
14
|
+
const secs = seconds % 60;
|
|
15
|
+
return `${mins}:${secs.toString().padStart(2, '0')}`;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* VoiceRecorder - Voice recording UI component
|
|
20
|
+
*
|
|
21
|
+
* Displays recording controls, duration, and visual feedback.
|
|
22
|
+
* Supports recording, stop, and cancel actions.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* <VoiceRecorder
|
|
27
|
+
* isRecording={isRecording}
|
|
28
|
+
* duration={duration}
|
|
29
|
+
* onStop={stopRecording}
|
|
30
|
+
* onCancel={cancelRecording}
|
|
31
|
+
* />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export function VoiceRecorder({
|
|
35
|
+
isRecording,
|
|
36
|
+
duration,
|
|
37
|
+
isTranscribing = false,
|
|
38
|
+
error,
|
|
39
|
+
onStop,
|
|
40
|
+
onCancel,
|
|
41
|
+
accentColor
|
|
42
|
+
}) {
|
|
43
|
+
const theme = useDocyrusRNAssistantTheme();
|
|
44
|
+
const {
|
|
45
|
+
t
|
|
46
|
+
} = useI18n();
|
|
47
|
+
const pulseAnim = useRef(new Animated.Value(1)).current;
|
|
48
|
+
const finalAccentColor = accentColor || theme.colors.primary;
|
|
49
|
+
|
|
50
|
+
// Pulse animation when recording
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (isRecording) {
|
|
53
|
+
const pulse = Animated.loop(Animated.sequence([Animated.timing(pulseAnim, {
|
|
54
|
+
toValue: 1.2,
|
|
55
|
+
duration: 500,
|
|
56
|
+
useNativeDriver: true
|
|
57
|
+
}), Animated.timing(pulseAnim, {
|
|
58
|
+
toValue: 1,
|
|
59
|
+
duration: 500,
|
|
60
|
+
useNativeDriver: true
|
|
61
|
+
})]));
|
|
62
|
+
pulse.start();
|
|
63
|
+
return () => pulse.stop();
|
|
64
|
+
}
|
|
65
|
+
pulseAnim.setValue(1);
|
|
66
|
+
return undefined;
|
|
67
|
+
}, [isRecording, pulseAnim]);
|
|
68
|
+
|
|
69
|
+
// Recording state UI
|
|
70
|
+
if (isRecording) {
|
|
71
|
+
return /*#__PURE__*/_jsx(View, {
|
|
72
|
+
style: [styles.container, {
|
|
73
|
+
backgroundColor: `${finalAccentColor}10`,
|
|
74
|
+
borderRadius: theme.borderRadius.lg,
|
|
75
|
+
padding: theme.spacing[3]
|
|
76
|
+
}],
|
|
77
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
78
|
+
style: styles.recordingRow,
|
|
79
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
80
|
+
style: styles.indicatorContainer,
|
|
81
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
82
|
+
style: [styles.pulseCircle, {
|
|
83
|
+
backgroundColor: `${theme.colors.destructive}30`,
|
|
84
|
+
transform: [{
|
|
85
|
+
scale: pulseAnim
|
|
86
|
+
}]
|
|
87
|
+
}]
|
|
88
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
89
|
+
style: [styles.recordingDot, {
|
|
90
|
+
backgroundColor: theme.colors.destructive
|
|
91
|
+
}]
|
|
92
|
+
})]
|
|
93
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
94
|
+
style: [styles.duration, {
|
|
95
|
+
color: theme.colors.foreground,
|
|
96
|
+
marginLeft: theme.spacing[2]
|
|
97
|
+
}],
|
|
98
|
+
children: formatDuration(duration)
|
|
99
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
100
|
+
style: [styles.recordingLabel, {
|
|
101
|
+
color: theme.colors.mutedForeground,
|
|
102
|
+
marginLeft: theme.spacing[2]
|
|
103
|
+
}],
|
|
104
|
+
children: t('assistant.recording', 'Recording...')
|
|
105
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
106
|
+
style: styles.spacer
|
|
107
|
+
}), onCancel && /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
108
|
+
onPress: onCancel,
|
|
109
|
+
style: [styles.actionButton, {
|
|
110
|
+
backgroundColor: theme.colors.muted,
|
|
111
|
+
borderRadius: theme.borderRadius.full,
|
|
112
|
+
marginRight: theme.spacing[2]
|
|
113
|
+
}],
|
|
114
|
+
children: /*#__PURE__*/_jsx(DocyrusIcon, {
|
|
115
|
+
icon: "cancel-01",
|
|
116
|
+
size: 16,
|
|
117
|
+
color: theme.colors.mutedForeground
|
|
118
|
+
})
|
|
119
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
120
|
+
onPress: onStop,
|
|
121
|
+
style: [styles.stopButton, {
|
|
122
|
+
backgroundColor: theme.colors.destructive,
|
|
123
|
+
borderRadius: theme.borderRadius.full
|
|
124
|
+
}],
|
|
125
|
+
children: /*#__PURE__*/_jsx(DocyrusIcon, {
|
|
126
|
+
icon: "square",
|
|
127
|
+
size: 14,
|
|
128
|
+
color: "#ffffff"
|
|
129
|
+
})
|
|
130
|
+
})]
|
|
131
|
+
})
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Transcribing state
|
|
136
|
+
if (isTranscribing) {
|
|
137
|
+
return /*#__PURE__*/_jsx(View, {
|
|
138
|
+
style: [styles.container, {
|
|
139
|
+
backgroundColor: `${finalAccentColor}10`,
|
|
140
|
+
borderRadius: theme.borderRadius.lg,
|
|
141
|
+
padding: theme.spacing[3]
|
|
142
|
+
}],
|
|
143
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
144
|
+
style: styles.transcribingRow,
|
|
145
|
+
children: [/*#__PURE__*/_jsx(DocyrusIcon, {
|
|
146
|
+
icon: "loading-03",
|
|
147
|
+
size: 18,
|
|
148
|
+
color: finalAccentColor
|
|
149
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
150
|
+
style: [styles.transcribingText, {
|
|
151
|
+
color: theme.colors.foreground,
|
|
152
|
+
marginLeft: theme.spacing[2]
|
|
153
|
+
}],
|
|
154
|
+
children: t('assistant.transcribing', 'Transcribing...')
|
|
155
|
+
})]
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Error state
|
|
161
|
+
if (error) {
|
|
162
|
+
return /*#__PURE__*/_jsx(View, {
|
|
163
|
+
style: [styles.container, {
|
|
164
|
+
backgroundColor: `${theme.colors.destructive}10`,
|
|
165
|
+
borderRadius: theme.borderRadius.lg,
|
|
166
|
+
padding: theme.spacing[3]
|
|
167
|
+
}],
|
|
168
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
169
|
+
style: styles.errorRow,
|
|
170
|
+
children: [/*#__PURE__*/_jsx(DocyrusIcon, {
|
|
171
|
+
icon: "alert-02",
|
|
172
|
+
size: 16,
|
|
173
|
+
color: theme.colors.destructive
|
|
174
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
175
|
+
style: [styles.errorText, {
|
|
176
|
+
color: theme.colors.destructive,
|
|
177
|
+
marginLeft: theme.spacing[2]
|
|
178
|
+
}],
|
|
179
|
+
numberOfLines: 2,
|
|
180
|
+
children: error
|
|
181
|
+
})]
|
|
182
|
+
})
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/*
|
|
187
|
+
* Idle state - show nothing (the mic button is in PromptInput)
|
|
188
|
+
* This prevents showing a duplicate mic icon while recording is starting
|
|
189
|
+
*/
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
const styles = StyleSheet.create({
|
|
193
|
+
container: {
|
|
194
|
+
width: '100%'
|
|
195
|
+
},
|
|
196
|
+
recordingRow: {
|
|
197
|
+
flexDirection: 'row',
|
|
198
|
+
alignItems: 'center'
|
|
199
|
+
},
|
|
200
|
+
indicatorContainer: {
|
|
201
|
+
width: 24,
|
|
202
|
+
height: 24,
|
|
203
|
+
alignItems: 'center',
|
|
204
|
+
justifyContent: 'center'
|
|
205
|
+
},
|
|
206
|
+
pulseCircle: {
|
|
207
|
+
position: 'absolute',
|
|
208
|
+
width: 24,
|
|
209
|
+
height: 24,
|
|
210
|
+
borderRadius: 12
|
|
211
|
+
},
|
|
212
|
+
recordingDot: {
|
|
213
|
+
width: 10,
|
|
214
|
+
height: 10,
|
|
215
|
+
borderRadius: 5
|
|
216
|
+
},
|
|
217
|
+
duration: {
|
|
218
|
+
fontSize: 15,
|
|
219
|
+
fontWeight: '600',
|
|
220
|
+
fontVariant: ['tabular-nums']
|
|
221
|
+
},
|
|
222
|
+
recordingLabel: {
|
|
223
|
+
fontSize: 13
|
|
224
|
+
},
|
|
225
|
+
spacer: {
|
|
226
|
+
flex: 1
|
|
227
|
+
},
|
|
228
|
+
actionButton: {
|
|
229
|
+
width: 32,
|
|
230
|
+
height: 32,
|
|
231
|
+
alignItems: 'center',
|
|
232
|
+
justifyContent: 'center'
|
|
233
|
+
},
|
|
234
|
+
stopButton: {
|
|
235
|
+
width: 36,
|
|
236
|
+
height: 36,
|
|
237
|
+
alignItems: 'center',
|
|
238
|
+
justifyContent: 'center'
|
|
239
|
+
},
|
|
240
|
+
transcribingRow: {
|
|
241
|
+
flexDirection: 'row',
|
|
242
|
+
alignItems: 'center'
|
|
243
|
+
},
|
|
244
|
+
transcribingText: {
|
|
245
|
+
fontSize: 14
|
|
246
|
+
},
|
|
247
|
+
errorRow: {
|
|
248
|
+
flexDirection: 'row',
|
|
249
|
+
alignItems: 'center'
|
|
250
|
+
},
|
|
251
|
+
errorText: {
|
|
252
|
+
fontSize: 13,
|
|
253
|
+
flex: 1
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
//# sourceMappingURL=voice-recorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","View","Text","TouchableOpacity","StyleSheet","Animated","useI18n","useDocyrusRNAssistantTheme","DocyrusIcon","jsx","_jsx","jsxs","_jsxs","formatDuration","seconds","mins","Math","floor","secs","toString","padStart","VoiceRecorder","isRecording","duration","isTranscribing","error","onStop","onCancel","accentColor","theme","t","pulseAnim","Value","current","finalAccentColor","colors","primary","pulse","loop","sequence","timing","toValue","useNativeDriver","start","stop","setValue","undefined","style","styles","container","backgroundColor","borderRadius","lg","padding","spacing","children","recordingRow","indicatorContainer","pulseCircle","destructive","transform","scale","recordingDot","color","foreground","marginLeft","recordingLabel","mutedForeground","spacer","onPress","actionButton","muted","full","marginRight","icon","size","stopButton","transcribingRow","transcribingText","errorRow","errorText","numberOfLines","create","width","flexDirection","alignItems","height","justifyContent","position","fontSize","fontWeight","fontVariant","flex"],"sourceRoot":"../../../../src","sources":["components/prompt-input/voice-recorder.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/sessions-list/index.ts"],"mappings":";;AAAA,cAAc,oBAAiB","ignoreList":[]}
|