@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,337 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useState, useCallback, useMemo, useEffect, useRef } from 'react';
|
|
4
|
+
import { Animated, Dimensions, View, Text, TouchableOpacity, StyleSheet } from 'react-native';
|
|
5
|
+
import { ArrowRight, Camera, FileText, Image as ImageIcon, Paperclip, X } 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
|
+
* AttachmentPicker - Attachment selection component using anchored dropdown
|
|
11
|
+
*
|
|
12
|
+
* Provides UI for picking documents, images, or taking photos.
|
|
13
|
+
* Uses native action sheet pattern for better UX.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <AttachmentPicker
|
|
18
|
+
* onPickDocuments={pickDocuments}
|
|
19
|
+
* onPickImages={pickImages}
|
|
20
|
+
* onTakePhoto={takePhoto}
|
|
21
|
+
* attachmentCount={3}
|
|
22
|
+
* />
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export function AttachmentPicker({
|
|
26
|
+
onPickDocuments,
|
|
27
|
+
onPickImages,
|
|
28
|
+
onTakePhoto,
|
|
29
|
+
isLoading = false,
|
|
30
|
+
disabled = false,
|
|
31
|
+
attachmentCount = 0,
|
|
32
|
+
showAsModal = true,
|
|
33
|
+
accentColor
|
|
34
|
+
}) {
|
|
35
|
+
const theme = useDocyrusRNAssistantTheme();
|
|
36
|
+
const {
|
|
37
|
+
t
|
|
38
|
+
} = useI18n();
|
|
39
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
40
|
+
const [anchorFrame, setAnchorFrame] = useState(null);
|
|
41
|
+
const finalAccentColor = accentColor || theme.colors.primary;
|
|
42
|
+
const triggerRef = useRef(null);
|
|
43
|
+
const screen = Dimensions.get('window');
|
|
44
|
+
const measureAnchor = useCallback(() => {
|
|
45
|
+
triggerRef.current?.measureInWindow((x, y, width, height) => {
|
|
46
|
+
setAnchorFrame({
|
|
47
|
+
x,
|
|
48
|
+
y,
|
|
49
|
+
width,
|
|
50
|
+
height
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}, []);
|
|
54
|
+
const handleToggle = useCallback(() => {
|
|
55
|
+
if (disabled || isLoading) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (isOpen) {
|
|
59
|
+
setIsOpen(false);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
measureAnchor();
|
|
63
|
+
setIsOpen(true);
|
|
64
|
+
}, [disabled, isLoading, isOpen, measureAnchor]);
|
|
65
|
+
const handleClose = useCallback(() => {
|
|
66
|
+
setIsOpen(false);
|
|
67
|
+
}, []);
|
|
68
|
+
const dropdownAnim = useRef(new Animated.Value(0)).current;
|
|
69
|
+
|
|
70
|
+
// Build inline options for non-modal mode
|
|
71
|
+
const options = useMemo(() => {
|
|
72
|
+
const baseOptions = [{
|
|
73
|
+
type: 'document',
|
|
74
|
+
label: t('assistant.document', 'Document'),
|
|
75
|
+
onPress: () => {
|
|
76
|
+
setIsOpen(false);
|
|
77
|
+
setTimeout(() => {
|
|
78
|
+
onPickDocuments();
|
|
79
|
+
}, 120);
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
type: 'image',
|
|
83
|
+
label: t('assistant.photo-library', 'Photo Library'),
|
|
84
|
+
onPress: () => {
|
|
85
|
+
setIsOpen(false);
|
|
86
|
+
setTimeout(() => {
|
|
87
|
+
onPickImages();
|
|
88
|
+
}, 120);
|
|
89
|
+
}
|
|
90
|
+
}];
|
|
91
|
+
if (onTakePhoto) {
|
|
92
|
+
baseOptions.push({
|
|
93
|
+
type: 'camera',
|
|
94
|
+
label: t('assistant.take-photo', 'Take Photo'),
|
|
95
|
+
onPress: () => {
|
|
96
|
+
setIsOpen(false);
|
|
97
|
+
setTimeout(() => {
|
|
98
|
+
onTakePhoto();
|
|
99
|
+
}, 120);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return baseOptions;
|
|
104
|
+
}, [onPickDocuments, onPickImages, onTakePhoto, t]);
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
if (isOpen) {
|
|
107
|
+
requestAnimationFrame(() => {
|
|
108
|
+
measureAnchor();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}, [isOpen, measureAnchor]);
|
|
112
|
+
useEffect(() => {
|
|
113
|
+
Animated.spring(dropdownAnim, {
|
|
114
|
+
toValue: isOpen ? 1 : 0,
|
|
115
|
+
damping: 22,
|
|
116
|
+
stiffness: 260,
|
|
117
|
+
mass: 0.9,
|
|
118
|
+
useNativeDriver: true
|
|
119
|
+
}).start();
|
|
120
|
+
}, [dropdownAnim, isOpen]);
|
|
121
|
+
const renderOption = option => /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
122
|
+
onPress: option.onPress,
|
|
123
|
+
disabled: isLoading,
|
|
124
|
+
activeOpacity: 0.7,
|
|
125
|
+
style: [styles.optionItem, {
|
|
126
|
+
paddingVertical: theme.spacing[3],
|
|
127
|
+
paddingHorizontal: theme.spacing[4],
|
|
128
|
+
opacity: isLoading ? 0.5 : 1
|
|
129
|
+
}],
|
|
130
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
131
|
+
style: [styles.optionIconContainer, {
|
|
132
|
+
backgroundColor: `${finalAccentColor}15`,
|
|
133
|
+
borderRadius: theme.borderRadius.md,
|
|
134
|
+
padding: theme.spacing[2],
|
|
135
|
+
marginRight: theme.spacing[3]
|
|
136
|
+
}],
|
|
137
|
+
children: [option.type === 'document' ? /*#__PURE__*/_jsx(FileText, {
|
|
138
|
+
size: 20,
|
|
139
|
+
color: finalAccentColor,
|
|
140
|
+
strokeWidth: 2.2
|
|
141
|
+
}) : null, option.type === 'image' ? /*#__PURE__*/_jsx(ImageIcon, {
|
|
142
|
+
size: 20,
|
|
143
|
+
color: finalAccentColor,
|
|
144
|
+
strokeWidth: 2.2
|
|
145
|
+
}) : null, option.type === 'camera' ? /*#__PURE__*/_jsx(Camera, {
|
|
146
|
+
size: 20,
|
|
147
|
+
color: finalAccentColor,
|
|
148
|
+
strokeWidth: 2.2
|
|
149
|
+
}) : null]
|
|
150
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
151
|
+
style: [styles.optionLabel, {
|
|
152
|
+
color: theme.colors.foreground
|
|
153
|
+
}],
|
|
154
|
+
children: option.label
|
|
155
|
+
}), /*#__PURE__*/_jsx(ArrowRight, {
|
|
156
|
+
size: 16,
|
|
157
|
+
color: theme.colors.mutedForeground,
|
|
158
|
+
strokeWidth: 2.2
|
|
159
|
+
})]
|
|
160
|
+
}, option.type);
|
|
161
|
+
|
|
162
|
+
// Inline mode - show options directly
|
|
163
|
+
if (!showAsModal) {
|
|
164
|
+
return /*#__PURE__*/_jsx(View, {
|
|
165
|
+
style: styles.inlineContainer,
|
|
166
|
+
children: options.map(renderOption)
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// Anchored dropdown mode
|
|
171
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
172
|
+
style: styles.root,
|
|
173
|
+
collapsable: false,
|
|
174
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
175
|
+
ref: triggerRef,
|
|
176
|
+
collapsable: false,
|
|
177
|
+
style: {
|
|
178
|
+
position: 'relative'
|
|
179
|
+
},
|
|
180
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
181
|
+
onPress: handleToggle,
|
|
182
|
+
disabled: disabled || isLoading,
|
|
183
|
+
activeOpacity: 0.7,
|
|
184
|
+
style: [styles.triggerButton, {
|
|
185
|
+
width: 40,
|
|
186
|
+
height: 40,
|
|
187
|
+
borderRadius: 20,
|
|
188
|
+
opacity: disabled ? 0.5 : 1
|
|
189
|
+
}],
|
|
190
|
+
children: /*#__PURE__*/_jsx(Paperclip, {
|
|
191
|
+
size: 18,
|
|
192
|
+
color: theme.colors.mutedForeground,
|
|
193
|
+
strokeWidth: 2.2
|
|
194
|
+
})
|
|
195
|
+
}), attachmentCount > 0 && /*#__PURE__*/_jsx(View, {
|
|
196
|
+
style: [styles.badge, {
|
|
197
|
+
backgroundColor: finalAccentColor,
|
|
198
|
+
borderRadius: theme.borderRadius.full
|
|
199
|
+
}],
|
|
200
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
201
|
+
style: styles.badgeText,
|
|
202
|
+
children: attachmentCount > 9 ? '9+' : attachmentCount
|
|
203
|
+
})
|
|
204
|
+
})]
|
|
205
|
+
}), isOpen && anchorFrame ? /*#__PURE__*/_jsxs(View, {
|
|
206
|
+
pointerEvents: "box-none",
|
|
207
|
+
style: [styles.portalLayer, {
|
|
208
|
+
left: -anchorFrame.x,
|
|
209
|
+
top: -anchorFrame.y,
|
|
210
|
+
width: screen.width,
|
|
211
|
+
height: screen.height
|
|
212
|
+
}],
|
|
213
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
214
|
+
activeOpacity: 1,
|
|
215
|
+
onPress: handleClose,
|
|
216
|
+
style: styles.portalBackdrop
|
|
217
|
+
}), /*#__PURE__*/_jsxs(Animated.View, {
|
|
218
|
+
pointerEvents: "auto",
|
|
219
|
+
style: [styles.dropdown, {
|
|
220
|
+
backgroundColor: theme.colors.card,
|
|
221
|
+
borderColor: theme.colors.border,
|
|
222
|
+
borderRadius: theme.borderRadius.xl,
|
|
223
|
+
left: Math.min(Math.max(anchorFrame.x - 8, 12), screen.width - 252),
|
|
224
|
+
bottom: screen.height - anchorFrame.y + 8,
|
|
225
|
+
opacity: dropdownAnim,
|
|
226
|
+
transform: [{
|
|
227
|
+
translateY: dropdownAnim.interpolate({
|
|
228
|
+
inputRange: [0, 1],
|
|
229
|
+
outputRange: [8, 0]
|
|
230
|
+
})
|
|
231
|
+
}, {
|
|
232
|
+
scale: dropdownAnim.interpolate({
|
|
233
|
+
inputRange: [0, 1],
|
|
234
|
+
outputRange: [0.96, 1]
|
|
235
|
+
})
|
|
236
|
+
}]
|
|
237
|
+
}],
|
|
238
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
239
|
+
style: styles.dropdownHeader,
|
|
240
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
241
|
+
style: [styles.dropdownTitle, {
|
|
242
|
+
color: theme.colors.foreground
|
|
243
|
+
}],
|
|
244
|
+
children: t('assistant.add-attachment', 'Add Attachment')
|
|
245
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
246
|
+
onPress: handleClose,
|
|
247
|
+
hitSlop: {
|
|
248
|
+
top: 8,
|
|
249
|
+
bottom: 8,
|
|
250
|
+
left: 8,
|
|
251
|
+
right: 8
|
|
252
|
+
},
|
|
253
|
+
children: /*#__PURE__*/_jsx(X, {
|
|
254
|
+
size: 16,
|
|
255
|
+
color: theme.colors.mutedForeground,
|
|
256
|
+
strokeWidth: 2.2
|
|
257
|
+
})
|
|
258
|
+
})]
|
|
259
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
260
|
+
style: styles.dropdownContent,
|
|
261
|
+
children: options.map(renderOption)
|
|
262
|
+
})]
|
|
263
|
+
})]
|
|
264
|
+
}) : null]
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
const styles = StyleSheet.create({
|
|
268
|
+
inlineContainer: {},
|
|
269
|
+
root: {
|
|
270
|
+
position: 'relative',
|
|
271
|
+
zIndex: 40
|
|
272
|
+
},
|
|
273
|
+
portalLayer: {
|
|
274
|
+
position: 'absolute',
|
|
275
|
+
zIndex: 120
|
|
276
|
+
},
|
|
277
|
+
portalBackdrop: {
|
|
278
|
+
...StyleSheet.absoluteFillObject
|
|
279
|
+
},
|
|
280
|
+
triggerButton: {
|
|
281
|
+
alignItems: 'center',
|
|
282
|
+
justifyContent: 'center'
|
|
283
|
+
},
|
|
284
|
+
badge: {
|
|
285
|
+
position: 'absolute',
|
|
286
|
+
top: -2,
|
|
287
|
+
right: -2,
|
|
288
|
+
minWidth: 18,
|
|
289
|
+
height: 18,
|
|
290
|
+
alignItems: 'center',
|
|
291
|
+
justifyContent: 'center',
|
|
292
|
+
paddingHorizontal: 4
|
|
293
|
+
},
|
|
294
|
+
badgeText: {
|
|
295
|
+
color: '#ffffff',
|
|
296
|
+
fontSize: 10,
|
|
297
|
+
fontWeight: '700'
|
|
298
|
+
},
|
|
299
|
+
optionItem: {
|
|
300
|
+
flexDirection: 'row',
|
|
301
|
+
alignItems: 'center'
|
|
302
|
+
},
|
|
303
|
+
optionIconContainer: {},
|
|
304
|
+
optionLabel: {
|
|
305
|
+
flex: 1,
|
|
306
|
+
fontSize: 15,
|
|
307
|
+
fontWeight: '500'
|
|
308
|
+
},
|
|
309
|
+
dropdown: {
|
|
310
|
+
borderWidth: 1,
|
|
311
|
+
minWidth: 240,
|
|
312
|
+
padding: 8,
|
|
313
|
+
position: 'absolute',
|
|
314
|
+
shadowColor: '#0f172a',
|
|
315
|
+
shadowOffset: {
|
|
316
|
+
width: 0,
|
|
317
|
+
height: 12
|
|
318
|
+
},
|
|
319
|
+
shadowOpacity: 0.18,
|
|
320
|
+
shadowRadius: 24
|
|
321
|
+
},
|
|
322
|
+
dropdownHeader: {
|
|
323
|
+
alignItems: 'center',
|
|
324
|
+
flexDirection: 'row',
|
|
325
|
+
justifyContent: 'space-between',
|
|
326
|
+
paddingBottom: 6,
|
|
327
|
+
paddingHorizontal: 8
|
|
328
|
+
},
|
|
329
|
+
dropdownTitle: {
|
|
330
|
+
fontSize: 13,
|
|
331
|
+
fontWeight: '700'
|
|
332
|
+
},
|
|
333
|
+
dropdownContent: {
|
|
334
|
+
gap: 2
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
//# sourceMappingURL=attachment-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useCallback","useMemo","useEffect","useRef","Animated","Dimensions","View","Text","TouchableOpacity","StyleSheet","ArrowRight","Camera","FileText","Image","ImageIcon","Paperclip","X","useI18n","useDocyrusRNAssistantTheme","jsx","_jsx","jsxs","_jsxs","AttachmentPicker","onPickDocuments","onPickImages","onTakePhoto","isLoading","disabled","attachmentCount","showAsModal","accentColor","theme","t","isOpen","setIsOpen","anchorFrame","setAnchorFrame","finalAccentColor","colors","primary","triggerRef","screen","get","measureAnchor","current","measureInWindow","x","y","width","height","handleToggle","handleClose","dropdownAnim","Value","options","baseOptions","type","label","onPress","setTimeout","push","requestAnimationFrame","spring","toValue","damping","stiffness","mass","useNativeDriver","start","renderOption","option","activeOpacity","style","styles","optionItem","paddingVertical","spacing","paddingHorizontal","opacity","children","optionIconContainer","backgroundColor","borderRadius","md","padding","marginRight","size","color","strokeWidth","optionLabel","foreground","mutedForeground","inlineContainer","map","root","collapsable","ref","position","triggerButton","badge","full","badgeText","pointerEvents","portalLayer","left","top","portalBackdrop","dropdown","card","borderColor","border","xl","Math","min","max","bottom","transform","translateY","interpolate","inputRange","outputRange","scale","dropdownHeader","dropdownTitle","hitSlop","right","dropdownContent","create","zIndex","absoluteFillObject","alignItems","justifyContent","minWidth","fontSize","fontWeight","flexDirection","flex","borderWidth","shadowColor","shadowOffset","shadowOpacity","shadowRadius","paddingBottom","gap"],"sourceRoot":"../../../../src","sources":["components/prompt-input/attachment-picker.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { View, Text, TouchableOpacity, ScrollView, StyleSheet } from 'react-native';
|
|
4
|
+
import { Image } from 'expo-image';
|
|
5
|
+
import { useDocyrusRNAssistantTheme } from "../../theme/index.js";
|
|
6
|
+
import { DocyrusIcon } from "../../ui/index.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Get file icon based on MIME type
|
|
10
|
+
*/
|
|
11
|
+
const getFileIcon = mimeType => {
|
|
12
|
+
if (mimeType.startsWith('image/')) return 'image-02';
|
|
13
|
+
if (mimeType.startsWith('video/')) return 'video-01';
|
|
14
|
+
if (mimeType.startsWith('audio/')) return 'music-note-01';
|
|
15
|
+
if (mimeType.includes('pdf')) return 'pdf-02';
|
|
16
|
+
if (mimeType.includes('word') || mimeType.includes('document')) return 'doc-01';
|
|
17
|
+
if (mimeType.includes('sheet') || mimeType.includes('excel')) return 'xls-01';
|
|
18
|
+
if (mimeType.includes('presentation') || mimeType.includes('powerpoint')) return 'ppt-01';
|
|
19
|
+
if (mimeType.includes('text')) return 'txt-01';
|
|
20
|
+
return 'file-02';
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Format file size
|
|
25
|
+
*/
|
|
26
|
+
const formatFileSize = bytes => {
|
|
27
|
+
if (!bytes) return '';
|
|
28
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
29
|
+
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
30
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Check if file is an image
|
|
35
|
+
*/
|
|
36
|
+
const isImageFile = mimeType => mimeType.startsWith('image/');
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* AttachmentPreview - Preview attached files
|
|
40
|
+
*
|
|
41
|
+
* Displays attached files as removable chips/cards.
|
|
42
|
+
* Supports image thumbnails and file type icons.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <AttachmentPreview
|
|
47
|
+
* attachments={attachments}
|
|
48
|
+
* onRemove={(id) => removeAttachment(id)}
|
|
49
|
+
* onPress={(file) => previewFile(file)}
|
|
50
|
+
* />
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export function AttachmentPreview({
|
|
54
|
+
attachments,
|
|
55
|
+
onRemove,
|
|
56
|
+
onPress,
|
|
57
|
+
maxVisible = 4,
|
|
58
|
+
horizontal = true
|
|
59
|
+
}) {
|
|
60
|
+
const theme = useDocyrusRNAssistantTheme();
|
|
61
|
+
if (attachments.length === 0) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
const visibleAttachments = attachments.slice(0, maxVisible);
|
|
65
|
+
const hiddenCount = attachments.length - maxVisible;
|
|
66
|
+
const renderAttachment = attachment => {
|
|
67
|
+
const isImage = isImageFile(attachment.type);
|
|
68
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
69
|
+
style: [styles.attachmentItem, {
|
|
70
|
+
backgroundColor: theme.colors.muted,
|
|
71
|
+
borderRadius: theme.borderRadius.md,
|
|
72
|
+
marginRight: horizontal ? theme.spacing[2] : 0,
|
|
73
|
+
marginBottom: horizontal ? 0 : theme.spacing[2]
|
|
74
|
+
}],
|
|
75
|
+
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
76
|
+
onPress: () => onPress?.(attachment),
|
|
77
|
+
disabled: !onPress,
|
|
78
|
+
style: styles.attachmentContent,
|
|
79
|
+
children: [isImage ? /*#__PURE__*/_jsx(Image, {
|
|
80
|
+
source: {
|
|
81
|
+
uri: attachment.uri
|
|
82
|
+
},
|
|
83
|
+
style: [styles.thumbnail, {
|
|
84
|
+
borderRadius: theme.borderRadius.sm
|
|
85
|
+
}],
|
|
86
|
+
contentFit: "cover"
|
|
87
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
88
|
+
style: [styles.iconContainer, {
|
|
89
|
+
backgroundColor: `${theme.colors.primary}15`,
|
|
90
|
+
borderRadius: theme.borderRadius.sm
|
|
91
|
+
}],
|
|
92
|
+
children: /*#__PURE__*/_jsx(DocyrusIcon, {
|
|
93
|
+
icon: getFileIcon(attachment.type),
|
|
94
|
+
size: 20,
|
|
95
|
+
color: theme.colors.primary
|
|
96
|
+
})
|
|
97
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
98
|
+
style: styles.fileInfo,
|
|
99
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
100
|
+
style: [styles.fileName, {
|
|
101
|
+
color: theme.colors.foreground
|
|
102
|
+
}],
|
|
103
|
+
numberOfLines: 1,
|
|
104
|
+
children: attachment.name
|
|
105
|
+
}), attachment.size && /*#__PURE__*/_jsx(Text, {
|
|
106
|
+
style: [styles.fileSize, {
|
|
107
|
+
color: theme.colors.mutedForeground
|
|
108
|
+
}],
|
|
109
|
+
children: formatFileSize(attachment.size)
|
|
110
|
+
})]
|
|
111
|
+
})]
|
|
112
|
+
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
113
|
+
onPress: () => onRemove(attachment.id),
|
|
114
|
+
hitSlop: {
|
|
115
|
+
top: 8,
|
|
116
|
+
right: 8,
|
|
117
|
+
bottom: 8,
|
|
118
|
+
left: 8
|
|
119
|
+
},
|
|
120
|
+
style: [styles.removeButton, {
|
|
121
|
+
backgroundColor: theme.colors.background,
|
|
122
|
+
borderRadius: theme.borderRadius.full
|
|
123
|
+
}],
|
|
124
|
+
children: /*#__PURE__*/_jsx(DocyrusIcon, {
|
|
125
|
+
icon: "cancel-01",
|
|
126
|
+
size: 12,
|
|
127
|
+
color: theme.colors.mutedForeground
|
|
128
|
+
})
|
|
129
|
+
})]
|
|
130
|
+
}, attachment.id);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
// Render "+X more" indicator
|
|
134
|
+
const renderHiddenIndicator = () => {
|
|
135
|
+
if (hiddenCount <= 0) return null;
|
|
136
|
+
return /*#__PURE__*/_jsx(View, {
|
|
137
|
+
style: [styles.hiddenIndicator, {
|
|
138
|
+
backgroundColor: theme.colors.muted,
|
|
139
|
+
borderRadius: theme.borderRadius.md
|
|
140
|
+
}],
|
|
141
|
+
children: /*#__PURE__*/_jsxs(Text, {
|
|
142
|
+
style: [styles.hiddenText, {
|
|
143
|
+
color: theme.colors.foreground
|
|
144
|
+
}],
|
|
145
|
+
children: ["+", hiddenCount]
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
if (horizontal) {
|
|
150
|
+
return /*#__PURE__*/_jsxs(ScrollView, {
|
|
151
|
+
horizontal: true,
|
|
152
|
+
showsHorizontalScrollIndicator: false,
|
|
153
|
+
contentContainerStyle: [styles.horizontalContainer, {
|
|
154
|
+
paddingVertical: theme.spacing[2]
|
|
155
|
+
}],
|
|
156
|
+
children: [visibleAttachments.map(renderAttachment), renderHiddenIndicator()]
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
160
|
+
style: styles.verticalContainer,
|
|
161
|
+
children: [visibleAttachments.map(renderAttachment), renderHiddenIndicator()]
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
const styles = StyleSheet.create({
|
|
165
|
+
horizontalContainer: {
|
|
166
|
+
flexDirection: 'row',
|
|
167
|
+
alignItems: 'center'
|
|
168
|
+
},
|
|
169
|
+
verticalContainer: {},
|
|
170
|
+
attachmentItem: {
|
|
171
|
+
flexDirection: 'row',
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
padding: 8,
|
|
174
|
+
maxWidth: 200,
|
|
175
|
+
position: 'relative'
|
|
176
|
+
},
|
|
177
|
+
attachmentContent: {
|
|
178
|
+
flexDirection: 'row',
|
|
179
|
+
alignItems: 'center',
|
|
180
|
+
flex: 1,
|
|
181
|
+
marginRight: 20
|
|
182
|
+
},
|
|
183
|
+
thumbnail: {
|
|
184
|
+
width: 40,
|
|
185
|
+
height: 40
|
|
186
|
+
},
|
|
187
|
+
iconContainer: {
|
|
188
|
+
width: 40,
|
|
189
|
+
height: 40,
|
|
190
|
+
alignItems: 'center',
|
|
191
|
+
justifyContent: 'center'
|
|
192
|
+
},
|
|
193
|
+
fileInfo: {
|
|
194
|
+
flex: 1,
|
|
195
|
+
marginLeft: 10
|
|
196
|
+
},
|
|
197
|
+
fileName: {
|
|
198
|
+
fontSize: 13,
|
|
199
|
+
fontWeight: '500'
|
|
200
|
+
},
|
|
201
|
+
fileSize: {
|
|
202
|
+
fontSize: 11,
|
|
203
|
+
marginTop: 2
|
|
204
|
+
},
|
|
205
|
+
removeButton: {
|
|
206
|
+
position: 'absolute',
|
|
207
|
+
top: -4,
|
|
208
|
+
right: -4,
|
|
209
|
+
width: 20,
|
|
210
|
+
height: 20,
|
|
211
|
+
alignItems: 'center',
|
|
212
|
+
justifyContent: 'center'
|
|
213
|
+
},
|
|
214
|
+
hiddenIndicator: {
|
|
215
|
+
paddingHorizontal: 12,
|
|
216
|
+
paddingVertical: 8,
|
|
217
|
+
alignItems: 'center',
|
|
218
|
+
justifyContent: 'center'
|
|
219
|
+
},
|
|
220
|
+
hiddenText: {
|
|
221
|
+
fontSize: 13,
|
|
222
|
+
fontWeight: '600'
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=attachment-preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","TouchableOpacity","ScrollView","StyleSheet","Image","useDocyrusRNAssistantTheme","DocyrusIcon","jsx","_jsx","jsxs","_jsxs","getFileIcon","mimeType","startsWith","includes","formatFileSize","bytes","toFixed","isImageFile","AttachmentPreview","attachments","onRemove","onPress","maxVisible","horizontal","theme","length","visibleAttachments","slice","hiddenCount","renderAttachment","attachment","isImage","type","style","styles","attachmentItem","backgroundColor","colors","muted","borderRadius","md","marginRight","spacing","marginBottom","children","disabled","attachmentContent","source","uri","thumbnail","sm","contentFit","iconContainer","primary","icon","size","color","fileInfo","fileName","foreground","numberOfLines","name","fileSize","mutedForeground","id","hitSlop","top","right","bottom","left","removeButton","background","full","renderHiddenIndicator","hiddenIndicator","hiddenText","showsHorizontalScrollIndicator","contentContainerStyle","horizontalContainer","paddingVertical","map","verticalContainer","create","flexDirection","alignItems","padding","maxWidth","position","flex","width","height","justifyContent","marginLeft","fontSize","fontWeight","marginTop","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["components/prompt-input/attachment-preview.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* PromptInput Components
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// Main Component
|
|
8
|
+
export { PromptInput } from "./prompt-input.js";
|
|
9
|
+
|
|
10
|
+
// Sub-Components
|
|
11
|
+
export { ProviderSelector } from "./provider-selector.js";
|
|
12
|
+
export { VoiceRecorder } from "./voice-recorder.js";
|
|
13
|
+
export { AttachmentPicker } from "./attachment-picker.js";
|
|
14
|
+
export { AttachmentPreview } from "./attachment-preview.js";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PromptInput","ProviderSelector","VoiceRecorder","AttachmentPicker","AttachmentPreview"],"sourceRoot":"../../../../src","sources":["components/prompt-input/index.ts"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA,SAASA,WAAW,QAA+B,mBAAgB;;AAEnE;AACA,SAASC,gBAAgB,QAAoC,wBAAqB;AAClF,SAASC,aAAa,QAAiC,qBAAkB;AACzE,SAASC,gBAAgB,QAAoC,wBAAqB;AAClF,SAASC,iBAAiB,QAAqC,yBAAsB","ignoreList":[]}
|