@unif/react-native-chat 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/README.md +48 -0
- package/lib/module/actions/index.js +2 -0
- package/lib/module/actions/index.js.map +1 -0
- package/lib/module/actions/types.js +4 -0
- package/lib/module/actions/types.js.map +1 -0
- package/lib/module/components/Attachments/AttachmentItem.js +108 -0
- package/lib/module/components/Attachments/AttachmentItem.js.map +1 -0
- package/lib/module/components/Attachments/Attachments.js +60 -0
- package/lib/module/components/Attachments/Attachments.js.map +1 -0
- package/lib/module/components/Attachments/constants.js +18 -0
- package/lib/module/components/Attachments/constants.js.map +1 -0
- package/lib/module/components/Attachments/index.js +4 -0
- package/lib/module/components/Attachments/index.js.map +1 -0
- package/lib/module/components/Attachments/styles.js +83 -0
- package/lib/module/components/Attachments/styles.js.map +1 -0
- package/lib/module/components/Attachments/types.js +4 -0
- package/lib/module/components/Attachments/types.js.map +1 -0
- package/lib/module/components/Chat/Chat.js +29 -0
- package/lib/module/components/Chat/Chat.js.map +1 -0
- package/lib/module/components/Chat/index.js +4 -0
- package/lib/module/components/Chat/index.js.map +1 -0
- package/lib/module/components/Chat/styles.js +17 -0
- package/lib/module/components/Chat/styles.js.map +1 -0
- package/lib/module/components/Chat/types.js +4 -0
- package/lib/module/components/Chat/types.js.map +1 -0
- package/lib/module/components/Citation/Citation.js +32 -0
- package/lib/module/components/Citation/Citation.js.map +1 -0
- package/lib/module/components/Citation/index.js +4 -0
- package/lib/module/components/Citation/index.js.map +1 -0
- package/lib/module/components/Citation/styles.js +15 -0
- package/lib/module/components/Citation/styles.js.map +1 -0
- package/lib/module/components/Citation/types.js +2 -0
- package/lib/module/components/Citation/types.js.map +1 -0
- package/lib/module/components/Composer/Composer.js +149 -0
- package/lib/module/components/Composer/Composer.js.map +1 -0
- package/lib/module/components/Composer/constants.js +14 -0
- package/lib/module/components/Composer/constants.js.map +1 -0
- package/lib/module/components/Composer/index.js +4 -0
- package/lib/module/components/Composer/index.js.map +1 -0
- package/lib/module/components/Composer/styles.js +43 -0
- package/lib/module/components/Composer/styles.js.map +1 -0
- package/lib/module/components/Composer/types.js +4 -0
- package/lib/module/components/Composer/types.js.map +1 -0
- package/lib/module/components/Confirmation/Confirmation.js +56 -0
- package/lib/module/components/Confirmation/Confirmation.js.map +1 -0
- package/lib/module/components/Confirmation/constants.js +10 -0
- package/lib/module/components/Confirmation/constants.js.map +1 -0
- package/lib/module/components/Confirmation/index.js +4 -0
- package/lib/module/components/Confirmation/index.js.map +1 -0
- package/lib/module/components/Confirmation/styles.js +34 -0
- package/lib/module/components/Confirmation/styles.js.map +1 -0
- package/lib/module/components/Confirmation/types.js +4 -0
- package/lib/module/components/Confirmation/types.js.map +1 -0
- package/lib/module/components/Feedback/Feedback.js +82 -0
- package/lib/module/components/Feedback/Feedback.js.map +1 -0
- package/lib/module/components/Feedback/constants.js +15 -0
- package/lib/module/components/Feedback/constants.js.map +1 -0
- package/lib/module/components/Feedback/index.js +4 -0
- package/lib/module/components/Feedback/index.js.map +1 -0
- package/lib/module/components/Feedback/styles.js +30 -0
- package/lib/module/components/Feedback/styles.js.map +1 -0
- package/lib/module/components/Feedback/types.js +4 -0
- package/lib/module/components/Feedback/types.js.map +1 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownContent.js +68 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownContent.js.map +1 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.js +53 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.js.map +1 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownImage/styles.js +10 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownImage/styles.js.map +1 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownImage/types.js +2 -0
- package/lib/module/components/Message/MarkdownContent/MarkdownImage/types.js.map +1 -0
- package/lib/module/components/Message/MarkdownContent/styles.js +85 -0
- package/lib/module/components/Message/MarkdownContent/styles.js.map +1 -0
- package/lib/module/components/Message/MarkdownContent/types.js +2 -0
- package/lib/module/components/Message/MarkdownContent/types.js.map +1 -0
- package/lib/module/components/Message/Message.js +87 -0
- package/lib/module/components/Message/Message.js.map +1 -0
- package/lib/module/components/Message/constants.js +4 -0
- package/lib/module/components/Message/constants.js.map +1 -0
- package/lib/module/components/Message/index.js +4 -0
- package/lib/module/components/Message/index.js.map +1 -0
- package/lib/module/components/Message/isNestedAction.js +14 -0
- package/lib/module/components/Message/isNestedAction.js.map +1 -0
- package/lib/module/components/Message/styles.js +73 -0
- package/lib/module/components/Message/styles.js.map +1 -0
- package/lib/module/components/Message/types.js +4 -0
- package/lib/module/components/Message/types.js.map +1 -0
- package/lib/module/components/MessageList/MessageList.js +223 -0
- package/lib/module/components/MessageList/MessageList.js.map +1 -0
- package/lib/module/components/MessageList/constants.js +4 -0
- package/lib/module/components/MessageList/constants.js.map +1 -0
- package/lib/module/components/MessageList/index.js +4 -0
- package/lib/module/components/MessageList/index.js.map +1 -0
- package/lib/module/components/MessageList/styles.js +20 -0
- package/lib/module/components/MessageList/styles.js.map +1 -0
- package/lib/module/components/MessageList/types.js +4 -0
- package/lib/module/components/MessageList/types.js.map +1 -0
- package/lib/module/components/MessageList/webPrependAnchor/constants.js +4 -0
- package/lib/module/components/MessageList/webPrependAnchor/constants.js.map +1 -0
- package/lib/module/components/MessageList/webPrependAnchor/index.js +4 -0
- package/lib/module/components/MessageList/webPrependAnchor/index.js.map +1 -0
- package/lib/module/components/MessageList/webPrependAnchor/types.js +4 -0
- package/lib/module/components/MessageList/webPrependAnchor/types.js.map +1 -0
- package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.js +19 -0
- package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.js.map +1 -0
- package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.js +208 -0
- package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.js.map +1 -0
- package/lib/module/components/Process/Process.js +121 -0
- package/lib/module/components/Process/Process.js.map +1 -0
- package/lib/module/components/Process/constants.js +17 -0
- package/lib/module/components/Process/constants.js.map +1 -0
- package/lib/module/components/Process/index.js +4 -0
- package/lib/module/components/Process/index.js.map +1 -0
- package/lib/module/components/Process/styles.js +77 -0
- package/lib/module/components/Process/styles.js.map +1 -0
- package/lib/module/components/Process/types.js +4 -0
- package/lib/module/components/Process/types.js.map +1 -0
- package/lib/module/components/Sources/Sources.js +64 -0
- package/lib/module/components/Sources/Sources.js.map +1 -0
- package/lib/module/components/Sources/constants.js +4 -0
- package/lib/module/components/Sources/constants.js.map +1 -0
- package/lib/module/components/Sources/index.js +4 -0
- package/lib/module/components/Sources/index.js.map +1 -0
- package/lib/module/components/Sources/styles.js +52 -0
- package/lib/module/components/Sources/styles.js.map +1 -0
- package/lib/module/components/Sources/types.js +4 -0
- package/lib/module/components/Sources/types.js.map +1 -0
- package/lib/module/components/Suggestions/Suggestions.js +31 -0
- package/lib/module/components/Suggestions/Suggestions.js.map +1 -0
- package/lib/module/components/Suggestions/index.js +4 -0
- package/lib/module/components/Suggestions/index.js.map +1 -0
- package/lib/module/components/Suggestions/styles.js +18 -0
- package/lib/module/components/Suggestions/styles.js.map +1 -0
- package/lib/module/components/Suggestions/types.js +4 -0
- package/lib/module/components/Suggestions/types.js.map +1 -0
- package/lib/module/index.js +14 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/actions/index.d.ts +2 -0
- package/lib/typescript/src/actions/index.d.ts.map +1 -0
- package/lib/typescript/src/actions/types.d.ts +11 -0
- package/lib/typescript/src/actions/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Attachments/AttachmentItem.d.ts +3 -0
- package/lib/typescript/src/components/Attachments/AttachmentItem.d.ts.map +1 -0
- package/lib/typescript/src/components/Attachments/Attachments.d.ts +3 -0
- package/lib/typescript/src/components/Attachments/Attachments.d.ts.map +1 -0
- package/lib/typescript/src/components/Attachments/constants.d.ts +13 -0
- package/lib/typescript/src/components/Attachments/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Attachments/index.d.ts +3 -0
- package/lib/typescript/src/components/Attachments/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Attachments/styles.d.ts +80 -0
- package/lib/typescript/src/components/Attachments/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Attachments/types.d.ts +34 -0
- package/lib/typescript/src/components/Attachments/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Chat/Chat.d.ts +3 -0
- package/lib/typescript/src/components/Chat/Chat.d.ts.map +1 -0
- package/lib/typescript/src/components/Chat/index.d.ts +3 -0
- package/lib/typescript/src/components/Chat/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Chat/styles.d.ts +15 -0
- package/lib/typescript/src/components/Chat/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Chat/types.d.ts +12 -0
- package/lib/typescript/src/components/Chat/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Citation/Citation.d.ts +3 -0
- package/lib/typescript/src/components/Citation/Citation.d.ts.map +1 -0
- package/lib/typescript/src/components/Citation/index.d.ts +3 -0
- package/lib/typescript/src/components/Citation/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Citation/styles.d.ts +12 -0
- package/lib/typescript/src/components/Citation/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Citation/types.d.ts +8 -0
- package/lib/typescript/src/components/Citation/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Composer/Composer.d.ts +4 -0
- package/lib/typescript/src/components/Composer/Composer.d.ts.map +1 -0
- package/lib/typescript/src/components/Composer/constants.d.ts +12 -0
- package/lib/typescript/src/components/Composer/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Composer/index.d.ts +3 -0
- package/lib/typescript/src/components/Composer/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Composer/styles.d.ts +40 -0
- package/lib/typescript/src/components/Composer/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Composer/types.d.ts +53 -0
- package/lib/typescript/src/components/Composer/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Confirmation/Confirmation.d.ts +3 -0
- package/lib/typescript/src/components/Confirmation/Confirmation.d.ts.map +1 -0
- package/lib/typescript/src/components/Confirmation/constants.d.ts +5 -0
- package/lib/typescript/src/components/Confirmation/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Confirmation/index.d.ts +3 -0
- package/lib/typescript/src/components/Confirmation/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Confirmation/styles.d.ts +31 -0
- package/lib/typescript/src/components/Confirmation/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Confirmation/types.d.ts +19 -0
- package/lib/typescript/src/components/Confirmation/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Feedback/Feedback.d.ts +3 -0
- package/lib/typescript/src/components/Feedback/Feedback.d.ts.map +1 -0
- package/lib/typescript/src/components/Feedback/constants.d.ts +5 -0
- package/lib/typescript/src/components/Feedback/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Feedback/index.d.ts +3 -0
- package/lib/typescript/src/components/Feedback/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Feedback/styles.d.ts +27 -0
- package/lib/typescript/src/components/Feedback/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Feedback/types.d.ts +12 -0
- package/lib/typescript/src/components/Feedback/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownContent.d.ts +3 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownContent.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.d.ts +3 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/styles.d.ts +7 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/types.d.ts +9 -0
- package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/MarkdownContent/styles.d.ts +92 -0
- package/lib/typescript/src/components/Message/MarkdownContent/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/MarkdownContent/types.d.ts +5 -0
- package/lib/typescript/src/components/Message/MarkdownContent/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/Message.d.ts +3 -0
- package/lib/typescript/src/components/Message/Message.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/constants.d.ts +2 -0
- package/lib/typescript/src/components/Message/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/index.d.ts +3 -0
- package/lib/typescript/src/components/Message/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/isNestedAction.d.ts +3 -0
- package/lib/typescript/src/components/Message/isNestedAction.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/styles.d.ts +70 -0
- package/lib/typescript/src/components/Message/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Message/types.d.ts +44 -0
- package/lib/typescript/src/components/Message/types.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/MessageList.d.ts +4 -0
- package/lib/typescript/src/components/MessageList/MessageList.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/constants.d.ts +2 -0
- package/lib/typescript/src/components/MessageList/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/index.d.ts +3 -0
- package/lib/typescript/src/components/MessageList/index.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/styles.d.ts +16 -0
- package/lib/typescript/src/components/MessageList/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/types.d.ts +36 -0
- package/lib/typescript/src/components/MessageList/types.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/constants.d.ts +2 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/index.d.ts +3 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/index.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/types.d.ts +72 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/types.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.d.ts +3 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.d.ts.map +1 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.d.ts +3 -0
- package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.d.ts.map +1 -0
- package/lib/typescript/src/components/Process/Process.d.ts +3 -0
- package/lib/typescript/src/components/Process/Process.d.ts.map +1 -0
- package/lib/typescript/src/components/Process/constants.d.ts +5 -0
- package/lib/typescript/src/components/Process/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Process/index.d.ts +3 -0
- package/lib/typescript/src/components/Process/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Process/styles.d.ts +74 -0
- package/lib/typescript/src/components/Process/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Process/types.d.ts +32 -0
- package/lib/typescript/src/components/Process/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Sources/Sources.d.ts +3 -0
- package/lib/typescript/src/components/Sources/Sources.d.ts.map +1 -0
- package/lib/typescript/src/components/Sources/constants.d.ts +2 -0
- package/lib/typescript/src/components/Sources/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/Sources/index.d.ts +3 -0
- package/lib/typescript/src/components/Sources/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Sources/styles.d.ts +49 -0
- package/lib/typescript/src/components/Sources/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Sources/types.d.ts +16 -0
- package/lib/typescript/src/components/Sources/types.d.ts.map +1 -0
- package/lib/typescript/src/components/Suggestions/Suggestions.d.ts +3 -0
- package/lib/typescript/src/components/Suggestions/Suggestions.d.ts.map +1 -0
- package/lib/typescript/src/components/Suggestions/index.d.ts +3 -0
- package/lib/typescript/src/components/Suggestions/index.d.ts.map +1 -0
- package/lib/typescript/src/components/Suggestions/styles.d.ts +14 -0
- package/lib/typescript/src/components/Suggestions/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/Suggestions/types.d.ts +18 -0
- package/lib/typescript/src/components/Suggestions/types.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +24 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +178 -0
- package/src/actions/index.ts +1 -0
- package/src/actions/types.ts +11 -0
- package/src/components/Attachments/AttachmentItem.tsx +139 -0
- package/src/components/Attachments/Attachments.tsx +72 -0
- package/src/components/Attachments/constants.ts +21 -0
- package/src/components/Attachments/index.ts +6 -0
- package/src/components/Attachments/styles.ts +54 -0
- package/src/components/Attachments/types.ts +38 -0
- package/src/components/Chat/Chat.tsx +26 -0
- package/src/components/Chat/index.ts +2 -0
- package/src/components/Chat/styles.ts +12 -0
- package/src/components/Chat/types.ts +11 -0
- package/src/components/Citation/Citation.tsx +33 -0
- package/src/components/Citation/index.ts +2 -0
- package/src/components/Citation/styles.ts +15 -0
- package/src/components/Citation/types.ts +7 -0
- package/src/components/Composer/Composer.tsx +208 -0
- package/src/components/Composer/constants.ts +11 -0
- package/src/components/Composer/index.ts +11 -0
- package/src/components/Composer/styles.ts +25 -0
- package/src/components/Composer/types.ts +61 -0
- package/src/components/Confirmation/Confirmation.tsx +63 -0
- package/src/components/Confirmation/constants.ts +12 -0
- package/src/components/Confirmation/index.ts +2 -0
- package/src/components/Confirmation/styles.ts +39 -0
- package/src/components/Confirmation/types.ts +21 -0
- package/src/components/Feedback/Feedback.tsx +87 -0
- package/src/components/Feedback/constants.ts +16 -0
- package/src/components/Feedback/index.ts +2 -0
- package/src/components/Feedback/styles.ts +30 -0
- package/src/components/Feedback/types.ts +13 -0
- package/src/components/Message/MarkdownContent/MarkdownContent.tsx +70 -0
- package/src/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.tsx +52 -0
- package/src/components/Message/MarkdownContent/MarkdownImage/styles.ts +4 -0
- package/src/components/Message/MarkdownContent/MarkdownImage/types.ts +8 -0
- package/src/components/Message/MarkdownContent/styles.ts +61 -0
- package/src/components/Message/MarkdownContent/types.ts +4 -0
- package/src/components/Message/Message.tsx +137 -0
- package/src/components/Message/constants.ts +2 -0
- package/src/components/Message/index.ts +10 -0
- package/src/components/Message/isNestedAction.ts +22 -0
- package/src/components/Message/styles.ts +42 -0
- package/src/components/Message/types.ts +45 -0
- package/src/components/MessageList/MessageList.tsx +238 -0
- package/src/components/MessageList/constants.ts +1 -0
- package/src/components/MessageList/index.ts +6 -0
- package/src/components/MessageList/styles.ts +7 -0
- package/src/components/MessageList/types.ts +36 -0
- package/src/components/MessageList/webPrependAnchor/constants.ts +6 -0
- package/src/components/MessageList/webPrependAnchor/index.ts +7 -0
- package/src/components/MessageList/webPrependAnchor/types.ts +92 -0
- package/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.ts +27 -0
- package/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.ts +293 -0
- package/src/components/Process/Process.tsx +160 -0
- package/src/components/Process/constants.ts +22 -0
- package/src/components/Process/index.ts +9 -0
- package/src/components/Process/styles.ts +77 -0
- package/src/components/Process/types.ts +39 -0
- package/src/components/Sources/Sources.tsx +70 -0
- package/src/components/Sources/constants.ts +1 -0
- package/src/components/Sources/index.ts +2 -0
- package/src/components/Sources/styles.ts +59 -0
- package/src/components/Sources/types.ts +17 -0
- package/src/components/Suggestions/Suggestions.tsx +34 -0
- package/src/components/Suggestions/index.ts +2 -0
- package/src/components/Suggestions/styles.ts +16 -0
- package/src/components/Suggestions/types.ts +19 -0
- package/src/index.tsx +61 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
4
|
+
import { Text, View } from 'react-native';
|
|
5
|
+
import { Button, fixed, IconButton, Textarea, useTheme, useThemedStyles } from '@unif/react-native-design';
|
|
6
|
+
import { DEFAULT_MAX_INPUT_HEIGHT, PRIMARY_LABELS, VOICE_LABELS } from "./constants.js";
|
|
7
|
+
import { createStyles } from "./styles.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const Composer = /*#__PURE__*/forwardRef(function ComposerInput({
|
|
10
|
+
value,
|
|
11
|
+
onChangeText,
|
|
12
|
+
primaryAction,
|
|
13
|
+
editable = true,
|
|
14
|
+
disabled = false,
|
|
15
|
+
placeholder = '输入消息…',
|
|
16
|
+
inputAccessibilityLabel = '消息输入框',
|
|
17
|
+
actions = [],
|
|
18
|
+
voice,
|
|
19
|
+
header,
|
|
20
|
+
footer,
|
|
21
|
+
surface = 'card',
|
|
22
|
+
minInputHeight,
|
|
23
|
+
maxInputHeight,
|
|
24
|
+
onFocusChange,
|
|
25
|
+
onHeightChange,
|
|
26
|
+
style,
|
|
27
|
+
testID
|
|
28
|
+
}, ref) {
|
|
29
|
+
const styles = useThemedStyles(createStyles);
|
|
30
|
+
const {
|
|
31
|
+
fontScale
|
|
32
|
+
} = useTheme();
|
|
33
|
+
const inputRef = useRef(null);
|
|
34
|
+
const lastHeight = useRef(undefined);
|
|
35
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
36
|
+
const voiceActive = voice !== undefined && voice.status !== 'idle';
|
|
37
|
+
const minHeight = Number.isFinite(minInputHeight) ? Math.max(fixed.hitTarget, minInputHeight) : fixed.hitTarget;
|
|
38
|
+
const defaultMaxHeight = Math.max(minHeight, DEFAULT_MAX_INPUT_HEIGHT * fontScale);
|
|
39
|
+
const maxHeight = Number.isFinite(maxInputHeight) ? Math.max(minHeight, maxInputHeight) : defaultMaxHeight;
|
|
40
|
+
useImperativeHandle(ref, () => ({
|
|
41
|
+
focus: () => {
|
|
42
|
+
if (!disabled && !voiceActive) inputRef.current?.focus();
|
|
43
|
+
},
|
|
44
|
+
blur: () => inputRef.current?.blur()
|
|
45
|
+
}), [disabled, voiceActive]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (voiceActive) inputRef.current?.blur();
|
|
48
|
+
if (voiceActive || disabled) setMenuOpen(false);
|
|
49
|
+
}, [voiceActive, disabled]);
|
|
50
|
+
const primaryDisabled = disabled || primaryAction.kind === 'busy' || primaryAction.disabled || primaryAction.kind === 'send' && !primaryAction.allowEmpty && value.trim().length === 0;
|
|
51
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
52
|
+
testID: testID,
|
|
53
|
+
style: [styles.root, surface === 'card' && styles.card, style],
|
|
54
|
+
onLayout: ({
|
|
55
|
+
nativeEvent: {
|
|
56
|
+
layout
|
|
57
|
+
}
|
|
58
|
+
}) => {
|
|
59
|
+
if (layout.height !== lastHeight.current) {
|
|
60
|
+
lastHeight.current = layout.height;
|
|
61
|
+
onHeightChange?.(layout.height);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
children: [header, /*#__PURE__*/_jsxs(View, {
|
|
65
|
+
style: [styles.regular, voiceActive && styles.hidden],
|
|
66
|
+
importantForAccessibility: voiceActive ? 'no-hide-descendants' : 'auto',
|
|
67
|
+
children: [/*#__PURE__*/_jsx(Textarea, {
|
|
68
|
+
ref: inputRef,
|
|
69
|
+
value: value,
|
|
70
|
+
onChangeText: onChangeText,
|
|
71
|
+
editable: editable,
|
|
72
|
+
disabled: disabled || voiceActive,
|
|
73
|
+
placeholder: placeholder,
|
|
74
|
+
accessibilityLabel: inputAccessibilityLabel,
|
|
75
|
+
minHeight: minHeight,
|
|
76
|
+
maxHeight: maxHeight,
|
|
77
|
+
submitBehavior: "newline",
|
|
78
|
+
onFocus: () => {
|
|
79
|
+
setMenuOpen(false);
|
|
80
|
+
onFocusChange?.(true);
|
|
81
|
+
},
|
|
82
|
+
onBlur: () => onFocusChange?.(false)
|
|
83
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
84
|
+
style: styles.toolbar,
|
|
85
|
+
children: [actions.length > 0 ? /*#__PURE__*/_jsx(IconButton, {
|
|
86
|
+
icon: "more-h",
|
|
87
|
+
size: "lg",
|
|
88
|
+
accessibilityLabel: "\u66F4\u591A\u64CD\u4F5C",
|
|
89
|
+
accessibilityState: {
|
|
90
|
+
expanded: menuOpen
|
|
91
|
+
},
|
|
92
|
+
disabled: disabled,
|
|
93
|
+
onPress: () => setMenuOpen(open => !open)
|
|
94
|
+
}) : null, voice ? /*#__PURE__*/_jsx(IconButton, {
|
|
95
|
+
icon: "mic",
|
|
96
|
+
size: "lg",
|
|
97
|
+
accessibilityLabel: "\u5F00\u59CB\u8BED\u97F3\u8F93\u5165",
|
|
98
|
+
disabled: disabled || voice.disabled,
|
|
99
|
+
onPress: voice.onStart
|
|
100
|
+
}) : null, /*#__PURE__*/_jsx(Button, {
|
|
101
|
+
label: primaryAction.label ?? PRIMARY_LABELS[primaryAction.kind],
|
|
102
|
+
size: "lg",
|
|
103
|
+
style: styles.primary,
|
|
104
|
+
disabled: primaryDisabled,
|
|
105
|
+
loading: primaryAction.kind === 'busy',
|
|
106
|
+
onPress: () => {
|
|
107
|
+
if (primaryDisabled) return;
|
|
108
|
+
if (primaryAction.kind === 'send') primaryAction.onPress(value);else if (primaryAction.kind === 'stop') primaryAction.onPress();
|
|
109
|
+
}
|
|
110
|
+
})]
|
|
111
|
+
}), menuOpen && actions.length > 0 ? /*#__PURE__*/_jsx(View, {
|
|
112
|
+
style: styles.menu,
|
|
113
|
+
children: actions.map(action => /*#__PURE__*/_jsx(Button, {
|
|
114
|
+
label: action.label,
|
|
115
|
+
leftIcon: action.icon,
|
|
116
|
+
disabled: disabled || action.disabled,
|
|
117
|
+
loading: action.loading,
|
|
118
|
+
variant: "secondary",
|
|
119
|
+
accessibilityHint: action.accessibilityHint,
|
|
120
|
+
onPress: () => {
|
|
121
|
+
if (disabled || action.disabled || action.loading) return;
|
|
122
|
+
setMenuOpen(false);
|
|
123
|
+
action.onPress();
|
|
124
|
+
}
|
|
125
|
+
}, action.id))
|
|
126
|
+
}) : null]
|
|
127
|
+
}), voice && voice.status !== 'idle' ? /*#__PURE__*/_jsxs(View, {
|
|
128
|
+
style: styles.voice,
|
|
129
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
130
|
+
style: styles.transcript,
|
|
131
|
+
accessibilityLiveRegion: "polite",
|
|
132
|
+
children: voice.status === 'starting' ? VOICE_LABELS.starting : voice.transcript || VOICE_LABELS[voice.status]
|
|
133
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
134
|
+
style: styles.toolbar,
|
|
135
|
+
children: [voice.status === 'listening' ? /*#__PURE__*/_jsx(Button, {
|
|
136
|
+
label: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
|
|
137
|
+
disabled: disabled || voice.disabled,
|
|
138
|
+
onPress: voice.onStop
|
|
139
|
+
}) : null, /*#__PURE__*/_jsx(Button, {
|
|
140
|
+
label: "\u53D6\u6D88\u8BED\u97F3\u8F93\u5165",
|
|
141
|
+
variant: "secondary",
|
|
142
|
+
disabled: disabled || voice.disabled,
|
|
143
|
+
onPress: voice.onCancel
|
|
144
|
+
})]
|
|
145
|
+
})]
|
|
146
|
+
}) : null, footer]
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
//# sourceMappingURL=Composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","useState","Text","View","Button","fixed","IconButton","Textarea","useTheme","useThemedStyles","DEFAULT_MAX_INPUT_HEIGHT","PRIMARY_LABELS","VOICE_LABELS","createStyles","jsx","_jsx","jsxs","_jsxs","Composer","ComposerInput","value","onChangeText","primaryAction","editable","disabled","placeholder","inputAccessibilityLabel","actions","voice","header","footer","surface","minInputHeight","maxInputHeight","onFocusChange","onHeightChange","style","testID","ref","styles","fontScale","inputRef","lastHeight","undefined","menuOpen","setMenuOpen","voiceActive","status","minHeight","Number","isFinite","Math","max","hitTarget","defaultMaxHeight","maxHeight","focus","current","blur","primaryDisabled","kind","allowEmpty","trim","length","root","card","onLayout","nativeEvent","layout","height","children","regular","hidden","importantForAccessibility","accessibilityLabel","submitBehavior","onFocus","onBlur","toolbar","icon","size","accessibilityState","expanded","onPress","open","onStart","label","primary","loading","menu","map","action","leftIcon","variant","accessibilityHint","id","transcript","accessibilityLiveRegion","starting","onStop","onCancel"],"sourceRoot":"../../../../src","sources":["components/Composer/Composer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_MAX_INPUT_HEIGHT = 120;
|
|
4
|
+
export const PRIMARY_LABELS = {
|
|
5
|
+
send: '发送',
|
|
6
|
+
stop: '停止回复',
|
|
7
|
+
busy: '正在处理…'
|
|
8
|
+
};
|
|
9
|
+
export const VOICE_LABELS = {
|
|
10
|
+
starting: '正在准备语音输入…',
|
|
11
|
+
listening: '正在听取…',
|
|
12
|
+
finishing: '正在完成识别…'
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_MAX_INPUT_HEIGHT","PRIMARY_LABELS","send","stop","busy","VOICE_LABELS","starting","listening","finishing"],"sourceRoot":"../../../../src","sources":["components/Composer/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAU;AACV,OAAO,MAAMC,YAAY,GAAG;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,OAAO;EAClBC,SAAS,EAAE;AACb,CAAU","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Composer"],"sourceRoot":"../../../../src","sources":["components/Composer/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from 'react-native';
|
|
4
|
+
import { radius, space, type } from '@unif/react-native-design';
|
|
5
|
+
export const createStyles = colors => StyleSheet.create({
|
|
6
|
+
root: {
|
|
7
|
+
gap: space[2],
|
|
8
|
+
minWidth: 0
|
|
9
|
+
},
|
|
10
|
+
card: {
|
|
11
|
+
padding: space[3],
|
|
12
|
+
borderRadius: radius.lg,
|
|
13
|
+
backgroundColor: colors.surface
|
|
14
|
+
},
|
|
15
|
+
regular: {
|
|
16
|
+
gap: space[2]
|
|
17
|
+
},
|
|
18
|
+
hidden: {
|
|
19
|
+
display: 'none'
|
|
20
|
+
},
|
|
21
|
+
toolbar: {
|
|
22
|
+
flexDirection: 'row',
|
|
23
|
+
flexWrap: 'wrap',
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
gap: space[2]
|
|
26
|
+
},
|
|
27
|
+
primary: {
|
|
28
|
+
marginStart: 'auto'
|
|
29
|
+
},
|
|
30
|
+
menu: {
|
|
31
|
+
flexDirection: 'row',
|
|
32
|
+
flexWrap: 'wrap',
|
|
33
|
+
gap: space[2]
|
|
34
|
+
},
|
|
35
|
+
voice: {
|
|
36
|
+
gap: space[3]
|
|
37
|
+
},
|
|
38
|
+
transcript: {
|
|
39
|
+
color: colors.foreground,
|
|
40
|
+
fontSize: type.body
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","radius","space","type","createStyles","colors","create","root","gap","minWidth","card","padding","borderRadius","lg","backgroundColor","surface","regular","hidden","display","toolbar","flexDirection","flexWrap","alignItems","primary","marginStart","menu","voice","transcript","color","foreground","fontSize","body"],"sourceRoot":"../../../../src","sources":["components/Composer/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ,2BAA2B;AAG/D,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CL,UAAU,CAACM,MAAM,CAAC;EAChBC,IAAI,EAAE;IAAEC,GAAG,EAAEN,KAAK,CAAC,CAAC,CAAC;IAAEO,QAAQ,EAAE;EAAE,CAAC;EACpCC,IAAI,EAAE;IACJC,OAAO,EAAET,KAAK,CAAC,CAAC,CAAC;IACjBU,YAAY,EAAEX,MAAM,CAACY,EAAE;IACvBC,eAAe,EAAET,MAAM,CAACU;EAC1B,CAAC;EACDC,OAAO,EAAE;IAAER,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EAC1Be,MAAM,EAAE;IAAEC,OAAO,EAAE;EAAO,CAAC;EAC3BC,OAAO,EAAE;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,QAAQ;IACpBd,GAAG,EAAEN,KAAK,CAAC,CAAC;EACd,CAAC;EACDqB,OAAO,EAAE;IAAEC,WAAW,EAAE;EAAO,CAAC;EAChCC,IAAI,EAAE;IAAEL,aAAa,EAAE,KAAK;IAAEC,QAAQ,EAAE,MAAM;IAAEb,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EAC/DwB,KAAK,EAAE;IAAElB,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EACxByB,UAAU,EAAE;IAAEC,KAAK,EAAEvB,MAAM,CAACwB,UAAU;IAAEC,QAAQ,EAAE3B,IAAI,CAAC4B;EAAK;AAC9D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Composer/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Text, View } from 'react-native';
|
|
4
|
+
import { Button, useThemedStyles } from '@unif/react-native-design';
|
|
5
|
+
import { CONFIRMATION_STATUS_TEXT, DEFAULT_CANCEL_LABEL, DEFAULT_CONFIRM_LABEL } from "./constants.js";
|
|
6
|
+
import { createStyles } from "./styles.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export function Confirmation({
|
|
9
|
+
title,
|
|
10
|
+
children,
|
|
11
|
+
status,
|
|
12
|
+
onConfirm,
|
|
13
|
+
onCancel,
|
|
14
|
+
confirmLabel = DEFAULT_CONFIRM_LABEL,
|
|
15
|
+
cancelLabel = DEFAULT_CANCEL_LABEL,
|
|
16
|
+
confirmDisabled = false,
|
|
17
|
+
cancelDisabled = false,
|
|
18
|
+
statusText,
|
|
19
|
+
footer,
|
|
20
|
+
style,
|
|
21
|
+
testID
|
|
22
|
+
}) {
|
|
23
|
+
const styles = useThemedStyles(createStyles);
|
|
24
|
+
const resolvedStatusText = status === 'pending' ? statusText : statusText ?? CONFIRMATION_STATUS_TEXT[status];
|
|
25
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
26
|
+
style: [styles.root, style],
|
|
27
|
+
testID: testID,
|
|
28
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
29
|
+
style: styles.title,
|
|
30
|
+
children: title
|
|
31
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
32
|
+
children: children
|
|
33
|
+
}), resolvedStatusText ? /*#__PURE__*/_jsx(Text, {
|
|
34
|
+
style: styles.status,
|
|
35
|
+
children: resolvedStatusText
|
|
36
|
+
}) : null, status === 'pending' && (onConfirm || onCancel) ? /*#__PURE__*/_jsxs(View, {
|
|
37
|
+
style: styles.actions,
|
|
38
|
+
children: [onConfirm ? /*#__PURE__*/_jsx(Button, {
|
|
39
|
+
label: confirmLabel,
|
|
40
|
+
onPress: onConfirm,
|
|
41
|
+
disabled: confirmDisabled,
|
|
42
|
+
size: "sm"
|
|
43
|
+
}) : null, onCancel ? /*#__PURE__*/_jsx(Button, {
|
|
44
|
+
label: cancelLabel,
|
|
45
|
+
onPress: onCancel,
|
|
46
|
+
disabled: cancelDisabled,
|
|
47
|
+
size: "sm",
|
|
48
|
+
variant: "outline"
|
|
49
|
+
}) : null]
|
|
50
|
+
}) : null, footer ? /*#__PURE__*/_jsx(View, {
|
|
51
|
+
style: styles.footer,
|
|
52
|
+
children: footer
|
|
53
|
+
}) : null]
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=Confirmation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Text","View","Button","useThemedStyles","CONFIRMATION_STATUS_TEXT","DEFAULT_CANCEL_LABEL","DEFAULT_CONFIRM_LABEL","createStyles","jsx","_jsx","jsxs","_jsxs","Confirmation","title","children","status","onConfirm","onCancel","confirmLabel","cancelLabel","confirmDisabled","cancelDisabled","statusText","footer","style","testID","styles","resolvedStatusText","root","actions","label","onPress","disabled","size","variant"],"sourceRoot":"../../../../src","sources":["components/Confirmation/Confirmation.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,MAAM,EAAEC,eAAe,QAAQ,2BAA2B;AACnE,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,qBAAqB,QAChB,gBAAa;AACpB,SAASC,YAAY,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxC,OAAO,SAASC,YAAYA,CAAC;EAC3BC,KAAK;EACLC,QAAQ;EACRC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,YAAY,GAAGZ,qBAAqB;EACpCa,WAAW,GAAGd,oBAAoB;EAClCe,eAAe,GAAG,KAAK;EACvBC,cAAc,GAAG,KAAK;EACtBC,UAAU;EACVC,MAAM;EACNC,KAAK;EACLC;AACiB,CAAC,EAAqB;EACvC,MAAMC,MAAM,GAAGvB,eAAe,CAACI,YAAY,CAAC;EAC5C,MAAMoB,kBAAkB,GACtBZ,MAAM,KAAK,SAAS,GAChBO,UAAU,GACTA,UAAU,IAAIlB,wBAAwB,CAACW,MAAM,CAAE;EAEtD,oBACEJ,KAAA,CAACV,IAAI;IAACuB,KAAK,EAAE,CAACE,MAAM,CAACE,IAAI,EAAEJ,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAX,QAAA,gBAChDL,IAAA,CAACT,IAAI;MAACwB,KAAK,EAAEE,MAAM,CAACb,KAAM;MAAAC,QAAA,EAAED;IAAK,CAAO,CAAC,eACzCJ,IAAA,CAACR,IAAI;MAAAa,QAAA,EAAEA;IAAQ,CAAO,CAAC,EACtBa,kBAAkB,gBACjBlB,IAAA,CAACT,IAAI;MAACwB,KAAK,EAAEE,MAAM,CAACX,MAAO;MAAAD,QAAA,EAAEa;IAAkB,CAAO,CAAC,GACrD,IAAI,EACPZ,MAAM,KAAK,SAAS,KAAKC,SAAS,IAAIC,QAAQ,CAAC,gBAC9CN,KAAA,CAACV,IAAI;MAACuB,KAAK,EAAEE,MAAM,CAACG,OAAQ;MAAAf,QAAA,GACzBE,SAAS,gBACRP,IAAA,CAACP,MAAM;QACL4B,KAAK,EAAEZ,YAAa;QACpBa,OAAO,EAAEf,SAAU;QACnBgB,QAAQ,EAAEZ,eAAgB;QAC1Ba,IAAI,EAAC;MAAI,CACV,CAAC,GACA,IAAI,EACPhB,QAAQ,gBACPR,IAAA,CAACP,MAAM;QACL4B,KAAK,EAAEX,WAAY;QACnBY,OAAO,EAAEd,QAAS;QAClBe,QAAQ,EAAEX,cAAe;QACzBY,IAAI,EAAC,IAAI;QACTC,OAAO,EAAC;MAAS,CAClB,CAAC,GACA,IAAI;IAAA,CACJ,CAAC,GACL,IAAI,EACPX,MAAM,gBAAGd,IAAA,CAACR,IAAI;MAACuB,KAAK,EAAEE,MAAM,CAACH,MAAO;MAAAT,QAAA,EAAES;IAAM,CAAO,CAAC,GAAG,IAAI;EAAA,CACxD,CAAC;AAEX","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_CONFIRM_LABEL","DEFAULT_CANCEL_LABEL","CONFIRMATION_STATUS_TEXT","processing","confirmed","cancelled"],"sourceRoot":"../../../../src","sources":["components/Confirmation/constants.ts"],"mappings":";;AAEA,OAAO,MAAMA,qBAAqB,GAAG,IAAI;AACzC,OAAO,MAAMC,oBAAoB,GAAG,IAAI;AAExC,OAAO,MAAMC,wBAEZ,GAAG;EACFC,UAAU,EAAE,OAAO;EACnBC,SAAS,EAAE,KAAK;EAChBC,SAAS,EAAE;AACb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Confirmation"],"sourceRoot":"../../../../src","sources":["components/Confirmation/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,mBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from 'react-native';
|
|
4
|
+
import { fw, radius, space, type } from '@unif/react-native-design';
|
|
5
|
+
export const createStyles = colors => StyleSheet.create({
|
|
6
|
+
root: {
|
|
7
|
+
gap: space[4],
|
|
8
|
+
padding: space[5],
|
|
9
|
+
borderWidth: 1,
|
|
10
|
+
borderColor: colors.outline,
|
|
11
|
+
borderRadius: radius.xl,
|
|
12
|
+
backgroundColor: colors.surface
|
|
13
|
+
},
|
|
14
|
+
title: {
|
|
15
|
+
color: colors.foreground,
|
|
16
|
+
fontSize: type.h3,
|
|
17
|
+
fontWeight: fw.semi
|
|
18
|
+
},
|
|
19
|
+
status: {
|
|
20
|
+
color: colors.foregroundMuted,
|
|
21
|
+
fontSize: type.sm
|
|
22
|
+
},
|
|
23
|
+
actions: {
|
|
24
|
+
flexDirection: 'row',
|
|
25
|
+
flexWrap: 'wrap',
|
|
26
|
+
gap: space[3]
|
|
27
|
+
},
|
|
28
|
+
footer: {
|
|
29
|
+
paddingTop: space[2],
|
|
30
|
+
borderTopWidth: StyleSheet.hairlineWidth,
|
|
31
|
+
borderTopColor: colors.outline
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","fw","radius","space","type","createStyles","colors","create","root","gap","padding","borderWidth","borderColor","outline","borderRadius","xl","backgroundColor","surface","title","color","foreground","fontSize","h3","fontWeight","semi","status","foregroundMuted","sm","actions","flexDirection","flexWrap","footer","paddingTop","borderTopWidth","hairlineWidth","borderTopColor"],"sourceRoot":"../../../../src","sources":["components/Confirmation/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SACEC,EAAE,EACFC,MAAM,EACNC,KAAK,EACLC,IAAI,QAEC,2BAA2B;AAElC,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CN,UAAU,CAACO,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJC,GAAG,EAAEN,KAAK,CAAC,CAAC,CAAC;IACbO,OAAO,EAAEP,KAAK,CAAC,CAAC,CAAC;IACjBQ,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEN,MAAM,CAACO,OAAO;IAC3BC,YAAY,EAAEZ,MAAM,CAACa,EAAE;IACvBC,eAAe,EAAEV,MAAM,CAACW;EAC1B,CAAC;EACDC,KAAK,EAAE;IACLC,KAAK,EAAEb,MAAM,CAACc,UAAU;IACxBC,QAAQ,EAAEjB,IAAI,CAACkB,EAAE;IACjBC,UAAU,EAAEtB,EAAE,CAACuB;EACjB,CAAC;EACDC,MAAM,EAAE;IACNN,KAAK,EAAEb,MAAM,CAACoB,eAAe;IAC7BL,QAAQ,EAAEjB,IAAI,CAACuB;EACjB,CAAC;EACDC,OAAO,EAAE;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBrB,GAAG,EAAEN,KAAK,CAAC,CAAC;EACd,CAAC;EACD4B,MAAM,EAAE;IACNC,UAAU,EAAE7B,KAAK,CAAC,CAAC,CAAC;IACpB8B,cAAc,EAAEjC,UAAU,CAACkC,aAAa;IACxCC,cAAc,EAAE7B,MAAM,CAACO;EACzB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Confirmation/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Text, View } from 'react-native';
|
|
4
|
+
import { Button, Icon, useColors, useThemedStyles } from '@unif/react-native-design';
|
|
5
|
+
import { FEEDBACK_TONE_ICONS, FEEDBACK_TONE_LABELS } from "./constants.js";
|
|
6
|
+
import { createStyles } from "./styles.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
function colorsForTone(tone, colors) {
|
|
9
|
+
switch (tone) {
|
|
10
|
+
case 'success':
|
|
11
|
+
return {
|
|
12
|
+
backgroundColor: colors.successContainer,
|
|
13
|
+
iconColor: colors.success
|
|
14
|
+
};
|
|
15
|
+
case 'warning':
|
|
16
|
+
return {
|
|
17
|
+
backgroundColor: colors.primaryContainer,
|
|
18
|
+
iconColor: colors.primary
|
|
19
|
+
};
|
|
20
|
+
case 'error':
|
|
21
|
+
return {
|
|
22
|
+
backgroundColor: colors.errorContainer,
|
|
23
|
+
iconColor: colors.error
|
|
24
|
+
};
|
|
25
|
+
case 'info':
|
|
26
|
+
return {
|
|
27
|
+
backgroundColor: colors.infoContainer,
|
|
28
|
+
iconColor: colors.info
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function Feedback({
|
|
33
|
+
message,
|
|
34
|
+
title,
|
|
35
|
+
tone = 'info',
|
|
36
|
+
action,
|
|
37
|
+
style,
|
|
38
|
+
testID
|
|
39
|
+
}) {
|
|
40
|
+
const styles = useThemedStyles(createStyles);
|
|
41
|
+
const colors = useColors();
|
|
42
|
+
const toneColors = colorsForTone(tone, colors);
|
|
43
|
+
const toneLabel = FEEDBACK_TONE_LABELS[tone];
|
|
44
|
+
const accessibilityLabel = `${toneLabel}:${title ? `${title}。` : ''}${message}`;
|
|
45
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
46
|
+
style: [styles.root, {
|
|
47
|
+
backgroundColor: toneColors.backgroundColor
|
|
48
|
+
}, style],
|
|
49
|
+
testID: testID,
|
|
50
|
+
children: [/*#__PURE__*/_jsx(Icon, {
|
|
51
|
+
name: FEEDBACK_TONE_ICONS[tone],
|
|
52
|
+
color: toneColors.iconColor
|
|
53
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
54
|
+
style: styles.content,
|
|
55
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
56
|
+
accessible: true,
|
|
57
|
+
accessibilityLabel: accessibilityLabel,
|
|
58
|
+
children: [title ? /*#__PURE__*/_jsx(Text, {
|
|
59
|
+
style: styles.title,
|
|
60
|
+
testID: "feedback-title",
|
|
61
|
+
children: title
|
|
62
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
63
|
+
style: styles.message,
|
|
64
|
+
children: message
|
|
65
|
+
})]
|
|
66
|
+
}), action ? /*#__PURE__*/_jsx(View, {
|
|
67
|
+
style: styles.action,
|
|
68
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
69
|
+
label: action.label,
|
|
70
|
+
leftIcon: action.icon,
|
|
71
|
+
onPress: action.onPress,
|
|
72
|
+
disabled: action.disabled,
|
|
73
|
+
loading: action.loading,
|
|
74
|
+
accessibilityHint: action.accessibilityHint,
|
|
75
|
+
size: "sm",
|
|
76
|
+
variant: "outline"
|
|
77
|
+
})
|
|
78
|
+
}) : null]
|
|
79
|
+
})]
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=Feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Text","View","Button","Icon","useColors","useThemedStyles","FEEDBACK_TONE_ICONS","FEEDBACK_TONE_LABELS","createStyles","jsx","_jsx","jsxs","_jsxs","colorsForTone","tone","colors","backgroundColor","successContainer","iconColor","success","primaryContainer","primary","errorContainer","error","infoContainer","info","Feedback","message","title","action","style","testID","styles","toneColors","toneLabel","accessibilityLabel","root","children","name","color","content","accessible","label","leftIcon","icon","onPress","disabled","loading","accessibilityHint","size","variant"],"sourceRoot":"../../../../src","sources":["components/Feedback/Feedback.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const FEEDBACK_TONE_LABELS = {
|
|
4
|
+
info: '信息',
|
|
5
|
+
success: '成功',
|
|
6
|
+
warning: '警告',
|
|
7
|
+
error: '错误'
|
|
8
|
+
};
|
|
9
|
+
export const FEEDBACK_TONE_ICONS = {
|
|
10
|
+
info: 'info',
|
|
11
|
+
success: 'success',
|
|
12
|
+
warning: 'warning',
|
|
13
|
+
error: 'error'
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FEEDBACK_TONE_LABELS","info","success","warning","error","FEEDBACK_TONE_ICONS"],"sourceRoot":"../../../../src","sources":["components/Feedback/constants.ts"],"mappings":";;AAGA,OAAO,MAAMA,oBAA4D,GAAG;EAC1EC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,mBAA6D,GAAG;EAC3EJ,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE;AACT,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Feedback"],"sourceRoot":"../../../../src","sources":["components/Feedback/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet } from 'react-native';
|
|
4
|
+
import { fw, radius, space, type } from '@unif/react-native-design';
|
|
5
|
+
export const createStyles = colors => StyleSheet.create({
|
|
6
|
+
root: {
|
|
7
|
+
flexDirection: 'row',
|
|
8
|
+
alignItems: 'flex-start',
|
|
9
|
+
gap: space[3],
|
|
10
|
+
padding: space[4],
|
|
11
|
+
borderRadius: radius.lg
|
|
12
|
+
},
|
|
13
|
+
content: {
|
|
14
|
+
flex: 1,
|
|
15
|
+
gap: space[1]
|
|
16
|
+
},
|
|
17
|
+
title: {
|
|
18
|
+
color: colors.foreground,
|
|
19
|
+
fontSize: type.sm,
|
|
20
|
+
fontWeight: fw.semi
|
|
21
|
+
},
|
|
22
|
+
message: {
|
|
23
|
+
color: colors.foregroundMuted,
|
|
24
|
+
fontSize: type.sm
|
|
25
|
+
},
|
|
26
|
+
action: {
|
|
27
|
+
paddingTop: space[3]
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","fw","radius","space","type","createStyles","colors","create","root","flexDirection","alignItems","gap","padding","borderRadius","lg","content","flex","title","color","foreground","fontSize","sm","fontWeight","semi","message","foregroundMuted","action","paddingTop"],"sourceRoot":"../../../../src","sources":["components/Feedback/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,EAAE,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ,2BAA2B;AAGnE,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CN,UAAU,CAACO,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,YAAY;IACxBC,GAAG,EAAER,KAAK,CAAC,CAAC,CAAC;IACbS,OAAO,EAAET,KAAK,CAAC,CAAC,CAAC;IACjBU,YAAY,EAAEX,MAAM,CAACY;EACvB,CAAC;EACDC,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC;IACPL,GAAG,EAAER,KAAK,CAAC,CAAC;EACd,CAAC;EACDc,KAAK,EAAE;IACLC,KAAK,EAAEZ,MAAM,CAACa,UAAU;IACxBC,QAAQ,EAAEhB,IAAI,CAACiB,EAAE;IACjBC,UAAU,EAAErB,EAAE,CAACsB;EACjB,CAAC;EACDC,OAAO,EAAE;IACPN,KAAK,EAAEZ,MAAM,CAACmB,eAAe;IAC7BL,QAAQ,EAAEhB,IAAI,CAACiB;EACjB,CAAC;EACDK,MAAM,EAAE;IACNC,UAAU,EAAExB,KAAK,CAAC,CAAC;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Feedback/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Children, Fragment, useMemo } from 'react';
|
|
4
|
+
import { Pressable, Text } from 'react-native';
|
|
5
|
+
import { Renderer, useMarkdown } from 'react-native-marked';
|
|
6
|
+
import { useTheme, useThemedStyles } from '@unif/react-native-design';
|
|
7
|
+
import { createStyles } from "./styles.js";
|
|
8
|
+
import { MarkdownImage } from "./MarkdownImage/MarkdownImage.js";
|
|
9
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
|
+
export function MarkdownContent({
|
|
11
|
+
text,
|
|
12
|
+
onLinkPress
|
|
13
|
+
}) {
|
|
14
|
+
const {
|
|
15
|
+
scheme
|
|
16
|
+
} = useTheme();
|
|
17
|
+
const styles = useThemedStyles(createStyles);
|
|
18
|
+
const markdown = useMemo(() => {
|
|
19
|
+
const instance = new Renderer();
|
|
20
|
+
// 上游 table 节点未提供 key,保留其渲染并补齐稳定的节点身份。
|
|
21
|
+
const renderTable = instance.table.bind(instance);
|
|
22
|
+
instance.table = (...args) => /*#__PURE__*/_jsx(Fragment, {
|
|
23
|
+
children: renderTable(...args)
|
|
24
|
+
}, instance.getKey());
|
|
25
|
+
instance.image = (uri, alt, _imageStyle, title) => /*#__PURE__*/_jsx(MarkdownImage, {
|
|
26
|
+
uri: uri,
|
|
27
|
+
label: alt || title
|
|
28
|
+
}, instance.getKey());
|
|
29
|
+
instance.link = (children, href, linkStyle, title) => /*#__PURE__*/_jsx(Text, {
|
|
30
|
+
selectable: true,
|
|
31
|
+
style: linkStyle,
|
|
32
|
+
accessibilityRole: onLinkPress ? 'link' : undefined,
|
|
33
|
+
accessibilityLabel: title || (typeof children === 'string' ? children : undefined),
|
|
34
|
+
onPress: onLinkPress ? event => {
|
|
35
|
+
event.stopPropagation();
|
|
36
|
+
onLinkPress(href);
|
|
37
|
+
} : undefined,
|
|
38
|
+
children: children
|
|
39
|
+
}, instance.getKey());
|
|
40
|
+
instance.linkImage = (href, uri, alt, imageStyle, title) => {
|
|
41
|
+
const content = instance.image(uri, alt, imageStyle, title);
|
|
42
|
+
return onLinkPress ? /*#__PURE__*/_jsx(Pressable, {
|
|
43
|
+
accessibilityRole: "link",
|
|
44
|
+
accessibilityLabel: alt || title || '图片链接',
|
|
45
|
+
onPress: event => {
|
|
46
|
+
event.stopPropagation();
|
|
47
|
+
onLinkPress(href);
|
|
48
|
+
},
|
|
49
|
+
children: content
|
|
50
|
+
}, instance.getKey()) : content;
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
renderer: instance,
|
|
54
|
+
text,
|
|
55
|
+
styles
|
|
56
|
+
};
|
|
57
|
+
// Renderer 的 key 计数按每次解析重新开始,流式正文保留已有图片节点。
|
|
58
|
+
}, [onLinkPress, text, styles]);
|
|
59
|
+
const nodes = useMarkdown(markdown.text, {
|
|
60
|
+
renderer: markdown.renderer,
|
|
61
|
+
colorScheme: scheme,
|
|
62
|
+
styles: markdown.styles
|
|
63
|
+
});
|
|
64
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
65
|
+
children: Children.toArray(nodes)
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=MarkdownContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Children","Fragment","useMemo","Pressable","Text","Renderer","useMarkdown","useTheme","useThemedStyles","createStyles","MarkdownImage","jsx","_jsx","_Fragment","MarkdownContent","text","onLinkPress","scheme","styles","markdown","instance","renderTable","table","bind","args","children","getKey","image","uri","alt","_imageStyle","title","label","link","href","linkStyle","selectable","style","accessibilityRole","undefined","accessibilityLabel","onPress","event","stopPropagation","linkImage","imageStyle","content","renderer","nodes","colorScheme","toArray"],"sourceRoot":"../../../../../src","sources":["components/Message/MarkdownContent/MarkdownContent.tsx"],"mappings":"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","ignoreList":[]}
|