@clikvn/agent-widget-embedded 1.1.10 → 1.1.11-hotfix-01
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/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.d.ts +67 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.js +78 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.d.ts +3 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.js +3 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.d.ts +11 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.js +26 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.d.ts +3 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.js +16 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.d.ts +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.js +152 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.d.ts +8 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.js +228 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.d.ts +12 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.js +35 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.d.ts +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.js +173 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.d.ts +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.js +61 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.js +46 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.js +36 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.js +45 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.d.ts +204 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.js +252 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.d.ts +4 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.js +6 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.d.ts +38 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.js +23 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.js +97 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.d.ts +16 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.js +84 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.d.ts +28 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.js +350 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.js.map +1 -0
- package/{dist/components/Chat/MultimodalInputSimple.d.ts → .rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.d.ts} +9 -3
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.js +405 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.d.ts +8 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.js +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.d.ts +6 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.js +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.js +21 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.js +157 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.js +152 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.d.ts +11 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.js +73 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.d.ts +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.js +268 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.d.ts +22 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.js +283 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts +22 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.js +301 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.js +30 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.d.ts +12 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.js +31 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.js +147 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.d.ts +17 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.js +71 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.d.ts +42 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.js +198 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.d.ts +12 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.js +34 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.d.ts +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.js +32 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.d.ts +28 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.js +37 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.d.ts +12 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.js +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.d.ts +19 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.js +33 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.d.ts +20 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.js +71 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.js +4 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.d.ts +6 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.js +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.js +22 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.d.ts +12 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.js +44 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.d.ts +14 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.js +53 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.d.ts +22 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.js +29 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.d.ts +13 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.d.ts +94 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.js +93 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.d.ts +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.d.ts +49 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.js +25 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.d.ts +11 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.js +135 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.d.ts +13 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.js +39 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.d.ts +13 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.js +59 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.d.ts +29 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.js +225 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.d.ts +20 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.js +66 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.d.ts +101 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.js +23 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.d.ts +9 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.js +64 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.js +29 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.d.ts +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.d.ts +20 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.js +76 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.d.ts +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.d.ts +86 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.js +36 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.js +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.js +26 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.d.ts +3 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.js +13 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.d.ts +53 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.js +163 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.d.ts +8 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.js +27 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.d.ts +14 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.js +181 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.d.ts +13 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.d.ts +11 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.d.ts +10 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.d.ts +27 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.d.ts +160 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.d.ts +48 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.d.ts +14 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.d.ts +15 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.d.ts +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.js +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.d.ts +20 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.js +492 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.d.ts +21 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.js +296 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.d.ts +7 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.js +40 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.d.ts +3 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.js +18 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.d.ts +3 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.js +46 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.d.ts +5 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.js +21 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.d.ts +37 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.js +55 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.d.ts +16 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.js +79 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.d.ts +5 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.js +12 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.d.ts +111 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.js +197 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.d.ts +2 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.js +15 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.d.ts +8 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.js +5 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.js.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.d.ts +18 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.d.ts.map +1 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.js +31 -0
- package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.js.map +1 -0
- package/README.md +20 -20
- package/dist/components/Chat/BookMeetingForm.d.ts.map +1 -1
- package/dist/components/Chat/BookMeetingList.d.ts.map +1 -1
- package/dist/components/Chat/HtmlContent.d.ts.map +1 -1
- package/dist/components/Chat/Markdown.d.ts.map +1 -1
- package/dist/components/Chat/Message.d.ts.map +1 -1
- package/dist/components/Chat/MultimodalInput copy.d.ts +28 -0
- package/dist/components/Chat/MultimodalInput copy.d.ts.map +1 -0
- package/dist/components/Chat/MultimodalInput.d.ts.map +1 -1
- package/dist/components/Chat/ProductDetail.d.ts.map +1 -1
- package/dist/components/Chat/ProductList.d.ts +3 -3
- package/dist/components/Chat/ProductList.d.ts.map +1 -1
- package/dist/components/Chat/SceneList.d.ts +2 -3
- package/dist/components/Chat/SceneList.d.ts.map +1 -1
- package/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts +22 -0
- package/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts.map +1 -0
- package/dist/components/Chat/UserContactForm.d.ts +1 -0
- package/dist/components/Chat/UserContactForm.d.ts.map +1 -1
- package/dist/index-old.html +108 -0
- package/dist/index.html +55 -167
- package/dist/models.d.ts +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/register.d.ts +1 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/services/bookMeeting.service.d.ts +1 -1
- package/dist/services/bookMeeting.service.d.ts.map +1 -1
- package/dist/services/userContact.service.d.ts +1 -1
- package/dist/services/userContact.service.d.ts.map +1 -1
- package/dist/types/bookMeeting.type.d.ts +1 -1
- package/dist/types/bookMeeting.type.d.ts.map +1 -1
- package/dist/types/userContact.type.d.ts +1 -0
- package/dist/types/userContact.type.d.ts.map +1 -1
- package/dist/wdyr.d.ts +2 -0
- package/dist/wdyr.d.ts.map +1 -0
- package/dist/web.d.ts +5 -0
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +1 -1
- package/dist/web.js.map +1 -0
- package/dist/window.d.ts +11 -0
- package/dist/window.d.ts.map +1 -1
- package/package.json +101 -101
- package/.idea/clik-ai-chatbot-embedded.iml +0 -9
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -36
- package/.idea/jsLinters/eslint.xml +0 -7
- package/.idea/misc.xml +0 -9
- package/.idea/modules.xml +0 -8
- package/.idea/prettier.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/dist/components/Chat/AudioPlayerSimple.d.ts +0 -9
- package/dist/components/Chat/AudioPlayerSimple.d.ts.map +0 -1
- package/dist/components/Chat/MultimodalInputSimple.d.ts.map +0 -1
- package/dist/components/Chat/Sidebar.d.ts +0 -8
- package/dist/components/Chat/Sidebar.d.ts.map +0 -1
- package/dist/index_2.html +0 -67
- package/dist/serve.json +0 -11
- package/dist/web.css +0 -3680
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserContactForm.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/UserContactForm.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAgBrC,KAAK,wBAAwB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAQF,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,wBAAwB,CAyRjD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { motion } from 'framer-motion';
|
|
3
|
+
import { useConfiguration } from 'hooks/useConfiguration';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { isValidPhoneNumber, parsePhoneNumber, } from 'react-phone-number-input';
|
|
6
|
+
import { createUserContact, getUserContact, } from 'services/userContact.service';
|
|
7
|
+
import { isEmptyString, validateEmail } from 'utils/functionUtils';
|
|
8
|
+
import { FacebookMessageIcon, ZaloIcon } from './Icons';
|
|
9
|
+
import PhoneNumberInput from './ui/PhoneNumberInput';
|
|
10
|
+
import Spinner from './ui/Spinner';
|
|
11
|
+
const UserContactForm = () => {
|
|
12
|
+
const { theme, apiHost } = useConfiguration();
|
|
13
|
+
const [formData, setFormData] = useState({
|
|
14
|
+
name: '',
|
|
15
|
+
contact: '',
|
|
16
|
+
email: '',
|
|
17
|
+
});
|
|
18
|
+
const [loading, setLoading] = useState(false);
|
|
19
|
+
const [statusSubmit, setStatusSubmit] = useState();
|
|
20
|
+
const [errors, setErrors] = useState({});
|
|
21
|
+
const [disabled, setDisabled] = useState(false);
|
|
22
|
+
const handleChange = (e) => {
|
|
23
|
+
const { name, value } = e.target;
|
|
24
|
+
setFormData((prevData) => ({
|
|
25
|
+
...prevData,
|
|
26
|
+
[name]: value,
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
const validateForm = () => {
|
|
30
|
+
const errors = {};
|
|
31
|
+
const messages = theme?.userContactForm?.messages;
|
|
32
|
+
if (isEmptyString(formData.name)) {
|
|
33
|
+
errors.name = messages?.nameError || 'Name is required';
|
|
34
|
+
}
|
|
35
|
+
const hasContact = !isEmptyString(formData.contact);
|
|
36
|
+
const hasEmail = !isEmptyString(formData.email);
|
|
37
|
+
if (!hasContact && !hasEmail) {
|
|
38
|
+
const message = theme?.userContactForm?.messages?.needFillContactOrEmail ||
|
|
39
|
+
'You need to fill either contact or email';
|
|
40
|
+
errors.contact = message;
|
|
41
|
+
errors.host = message;
|
|
42
|
+
return errors;
|
|
43
|
+
}
|
|
44
|
+
if (hasContact && !isValidPhoneNumber(formData.contact)) {
|
|
45
|
+
errors.contact =
|
|
46
|
+
theme?.userContactForm?.messages?.invalidContact ||
|
|
47
|
+
'Invalid contact number';
|
|
48
|
+
}
|
|
49
|
+
if (hasEmail && !validateEmail(formData.email)) {
|
|
50
|
+
errors.host =
|
|
51
|
+
theme?.userContactForm?.messages?.invalidEmail ||
|
|
52
|
+
'Invalid email format';
|
|
53
|
+
}
|
|
54
|
+
return errors;
|
|
55
|
+
};
|
|
56
|
+
const getPhoneData = (value) => {
|
|
57
|
+
if (!value)
|
|
58
|
+
return undefined;
|
|
59
|
+
const phoneNumberData = parsePhoneNumber(value);
|
|
60
|
+
return {
|
|
61
|
+
primaryPhoneNumber: phoneNumberData?.nationalNumber,
|
|
62
|
+
primaryPhoneCountryCode: phoneNumberData?.country,
|
|
63
|
+
primaryPhoneCallingCode: `+${phoneNumberData?.countryCallingCode}`,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
const getUserContactExisted = async () => {
|
|
67
|
+
const params = {};
|
|
68
|
+
if (formData?.email) {
|
|
69
|
+
params.email = formData?.email;
|
|
70
|
+
}
|
|
71
|
+
if (formData?.contact) {
|
|
72
|
+
params.contact = getPhoneData(formData?.contact)?.primaryPhoneNumber;
|
|
73
|
+
}
|
|
74
|
+
const res = await getUserContact(apiHost, { ...params });
|
|
75
|
+
if (res && res?.length) {
|
|
76
|
+
return res[0];
|
|
77
|
+
}
|
|
78
|
+
return undefined;
|
|
79
|
+
};
|
|
80
|
+
const handleSubmitSuccess = (id) => {
|
|
81
|
+
localStorage.setItem('userId', id);
|
|
82
|
+
setDisabled(true);
|
|
83
|
+
setStatusSubmit({
|
|
84
|
+
message: theme?.userContactForm?.messages?.submitSuccess || 'Submit successful',
|
|
85
|
+
status: 200,
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
const handleSubmit = async (e) => {
|
|
89
|
+
e.preventDefault();
|
|
90
|
+
setLoading(true);
|
|
91
|
+
try {
|
|
92
|
+
const validationErrors = validateForm();
|
|
93
|
+
if (Object.keys(validationErrors)?.length) {
|
|
94
|
+
setErrors(validationErrors);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
setErrors({});
|
|
98
|
+
const userContactExisted = await getUserContactExisted();
|
|
99
|
+
if (userContactExisted && userContactExisted?.id) {
|
|
100
|
+
const contact = userContactExisted?.phones?.primaryPhoneNumber
|
|
101
|
+
? `${userContactExisted?.phones?.primaryPhoneCallingCode}${userContactExisted?.phones?.primaryPhoneNumber}`
|
|
102
|
+
: '';
|
|
103
|
+
setFormData((prevData) => ({
|
|
104
|
+
...prevData,
|
|
105
|
+
name: userContactExisted?.name?.firstName || '',
|
|
106
|
+
contact: contact,
|
|
107
|
+
email: userContactExisted?.emails?.primaryEmail || '',
|
|
108
|
+
}));
|
|
109
|
+
handleSubmitSuccess(userContactExisted.id);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const requestData = {
|
|
113
|
+
name: {
|
|
114
|
+
firstName: formData.name,
|
|
115
|
+
lastName: '',
|
|
116
|
+
},
|
|
117
|
+
phones: getPhoneData(formData?.contact),
|
|
118
|
+
emails: {
|
|
119
|
+
primaryEmail: formData?.email || undefined,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
const res = await createUserContact(requestData, apiHost);
|
|
123
|
+
if (res?.id) {
|
|
124
|
+
handleSubmitSuccess(res.id);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
console.error(error);
|
|
129
|
+
setStatusSubmit({
|
|
130
|
+
message: theme?.userContactForm?.messages?.submitError || 'Failed to submit',
|
|
131
|
+
status: 500,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
finally {
|
|
135
|
+
setLoading(false);
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
const handleChangeContact = (val) => {
|
|
139
|
+
setFormData((prevData) => ({
|
|
140
|
+
...prevData,
|
|
141
|
+
contact: val,
|
|
142
|
+
}));
|
|
143
|
+
};
|
|
144
|
+
return (_jsx(motion.div, { className: "w-full mx-auto max-w-[358px] px-4 group/message", initial: { y: 5, opacity: 0 }, animate: { y: 0, opacity: 1 }, children: _jsxs("form", { className: "flex flex-col gap-3 bg-white px-3 py-3 pb-4 rounded-lg w-full", onSubmit: handleSubmit, children: [_jsx("div", { className: "text-[#18181B] font-semibold text-base", children: theme?.userContactForm?.title || 'Your contact' }), _jsxs("div", { className: "flex flex-col gap-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-1/4 text-[#18181B] font-medium text-[14px] leading-[14px]", htmlFor: "inline-full-name", children: theme?.userContactForm?.labelName || 'Name' }), _jsxs("div", { className: "flex flex-col gap-3 w-full", children: [_jsx("input", { className: `rounded-lg border-solid border h-[40px] pt-2 pr-2 pb-2 pl-3 disabled:text-gray-500 disabled:cursor-not-allowed disabled:bg-gray-100 ${errors?.name ? 'border-red-500' : 'border-[#E2E8F0]'}`, id: "name", name: "name", type: "text", placeholder: theme?.userContactForm?.labelName || 'Name', onChange: handleChange, value: formData?.name || '', disabled: disabled }), !!errors?.name && (_jsx("span", { className: "text-red-500 text-sm mt-1", children: errors.name }))] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-1/4 text-[#18181B] font-medium text-[14px] leading-[14px]", htmlFor: "inline-contact", children: theme?.userContactForm?.labelContact || 'Contact' }), _jsxs("div", { className: "flex flex-col gap-3 w-full", children: [_jsx(PhoneNumberInput, { onChange: handleChangeContact, placeholder: theme?.userContactForm?.labelContact || 'Contact', value: formData?.contact, disabled: disabled }), !!errors?.contact && (_jsx("p", { className: "text-red-500 text-sm mt-1", children: errors.contact }))] })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("label", { className: "w-1/4 text-[#18181B] font-medium text-[14px] leading-[14px]", htmlFor: "inline-email", children: theme?.userContactForm?.labelEmail || 'Email' }), _jsxs("div", { className: "flex flex-col gap-3 w-full", children: [_jsx("input", { className: `rounded-lg border-solid border h-[40px] pt-2 pr-2 pb-2 pl-3 disabled:text-gray-500 disabled:cursor-not-allowed disabled:bg-gray-100 ${errors?.host ? 'border-red-500' : 'border-[#E2E8F0]'}`, id: "email", name: "email", placeholder: theme?.userContactForm?.labelContact || 'Email', onChange: handleChange, value: formData?.email || '', type: "email", disabled: disabled }), !!errors?.host && (_jsx("p", { className: "text-red-500 text-sm mt-1", children: errors.host }))] })] })] }), statusSubmit && (_jsx("div", { className: "flex items-center w-full justify-center", children: _jsx("p", { className: `text-green-500 text-sm mt-1 ${statusSubmit?.status === 200 ? 'text-green-500' : 'text-red-500'}`, children: statusSubmit.message }) })), _jsx("div", { className: "flex items-center", children: _jsx("div", { className: "w-full", children: _jsx("button", { className: `shadow bg-[#1E6EB4] hover:bg-[#4096ff] focus:shadow-outline focus:outline-none text-white font-bold py-2 px-8 rounded-lg w-full h-[40px] disabled:cursor-not-allowed disabled:!bg-[#0000000a] disabled:!text-[#00000040] ${loading ? 'flex items-center justify-center' : ''}`, type: "submit", disabled: disabled, children: loading ? (_jsx(Spinner, {})) : (`${theme?.buttons?.textBtnSubmit || 'Submit'}`) }) }) }), _jsxs("div", { className: "flex flex-col gap-3 items-center", children: [_jsx("div", { className: "font-medium text-[14px] leading-[14px] text-[#18181B]", children: theme?.userContactForm?.orConnect || 'Or connect with' }), _jsxs("div", { className: "flex gap-4", children: [_jsx(ZaloIcon, {}), _jsx(FacebookMessageIcon, {})] })] })] }) }));
|
|
145
|
+
};
|
|
146
|
+
export default UserContactForm;
|
|
147
|
+
//# sourceMappingURL=UserContactForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserContactForm.js","sourceRoot":"","sources":["../../../src/components/Chat/UserContactForm.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FormErrors, StatusSubmitType } from 'constants/form';\nimport { motion } from 'framer-motion';\nimport { useConfiguration } from 'hooks/useConfiguration';\nimport { FC, useState } from 'react';\nimport {\n isValidPhoneNumber,\n parsePhoneNumber,\n Value,\n} from 'react-phone-number-input';\nimport {\n createUserContact,\n getUserContact,\n} from 'services/userContact.service';\nimport { UserContactType } from 'types/userContact.type';\nimport { isEmptyString, validateEmail } from 'utils/functionUtils';\nimport { FacebookMessageIcon, ZaloIcon } from './Icons';\nimport PhoneNumberInput from './ui/PhoneNumberInput';\nimport Spinner from './ui/Spinner';\n\ntype UserContactFormPropsType = {\n theme?: Record<string, unknown>;\n};\n\ntype FormDataType = {\n name: string;\n contact: Value;\n email: string;\n};\n\nconst UserContactForm: FC<UserContactFormPropsType> = () => {\n const { theme, apiHost } = useConfiguration();\n const [formData, setFormData] = useState<FormDataType>({\n name: '',\n contact: '' as Value,\n email: '',\n });\n const [loading, setLoading] = useState(false);\n const [statusSubmit, setStatusSubmit] = useState<StatusSubmitType>();\n const [errors, setErrors] = useState<FormErrors>({});\n const [disabled, setDisabled] = useState(false);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n setFormData((prevData) => ({\n ...prevData,\n [name]: value,\n }));\n };\n\n const validateForm = () => {\n const errors: FormErrors = {};\n const messages = theme?.userContactForm?.messages;\n\n if (isEmptyString(formData.name)) {\n errors.name = messages?.nameError || 'Name is required';\n }\n\n const hasContact = !isEmptyString(formData.contact);\n const hasEmail = !isEmptyString(formData.email);\n\n if (!hasContact && !hasEmail) {\n const message =\n theme?.userContactForm?.messages?.needFillContactOrEmail ||\n 'You need to fill either contact or email';\n errors.contact = message;\n errors.host = message;\n return errors;\n }\n\n if (hasContact && !isValidPhoneNumber(formData.contact!)) {\n errors.contact =\n theme?.userContactForm?.messages?.invalidContact ||\n 'Invalid contact number';\n }\n\n if (hasEmail && !validateEmail(formData.email!)) {\n errors.host =\n theme?.userContactForm?.messages?.invalidEmail ||\n 'Invalid email format';\n }\n\n return errors;\n };\n\n const getPhoneData = (value?: Value) => {\n if (!value) return undefined;\n const phoneNumberData = parsePhoneNumber(value as string);\n\n return {\n primaryPhoneNumber: phoneNumberData?.nationalNumber,\n primaryPhoneCountryCode: phoneNumberData?.country,\n primaryPhoneCallingCode: `+${phoneNumberData?.countryCallingCode}`,\n };\n };\n\n const getUserContactExisted = async () => {\n const params: { email?: string; contact?: string } = {};\n\n if (formData?.email) {\n params.email = formData?.email;\n }\n if (formData?.contact) {\n params.contact = getPhoneData(formData?.contact)?.primaryPhoneNumber;\n }\n\n const res = await getUserContact(apiHost, { ...params });\n if (res && res?.length) {\n return res[0];\n }\n\n return undefined;\n };\n\n const handleSubmitSuccess = (id: string) => {\n localStorage.setItem('userId', id);\n setDisabled(true);\n setStatusSubmit({\n message:\n theme?.userContactForm?.messages?.submitSuccess || 'Submit successful',\n status: 200,\n });\n };\n\n const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n setLoading(true);\n try {\n const validationErrors = validateForm();\n if (Object.keys(validationErrors)?.length) {\n setErrors(validationErrors);\n return;\n }\n setErrors({});\n\n const userContactExisted = await getUserContactExisted();\n if (userContactExisted && userContactExisted?.id) {\n const contact = userContactExisted?.phones?.primaryPhoneNumber\n ? `${userContactExisted?.phones?.primaryPhoneCallingCode}${userContactExisted?.phones?.primaryPhoneNumber}`\n : '';\n\n setFormData((prevData) => ({\n ...prevData,\n name: userContactExisted?.name?.firstName || '',\n contact: contact as Value,\n email: userContactExisted?.emails?.primaryEmail || '',\n }));\n handleSubmitSuccess(userContactExisted.id);\n return;\n }\n\n const requestData: UserContactType = {\n name: {\n firstName: formData.name,\n lastName: '',\n },\n phones: getPhoneData(formData?.contact),\n emails: {\n primaryEmail: formData?.email || undefined,\n },\n };\n\n const res = await createUserContact(requestData, apiHost);\n if (res?.id) {\n handleSubmitSuccess(res.id);\n }\n } catch (error) {\n console.error(error);\n setStatusSubmit({\n message:\n theme?.userContactForm?.messages?.submitError || 'Failed to submit',\n status: 500,\n });\n } finally {\n setLoading(false);\n }\n };\n\n const handleChangeContact = (val: Value) => {\n setFormData((prevData) => ({\n ...prevData,\n contact: val,\n }));\n };\n\n return (\n <motion.div\n className=\"w-full mx-auto max-w-[358px] px-4 group/message\"\n initial={{ y: 5, opacity: 0 }}\n animate={{ y: 0, opacity: 1 }}\n >\n <form\n className=\"flex flex-col gap-3 bg-white px-3 py-3 pb-4 rounded-lg w-full\"\n onSubmit={handleSubmit}\n >\n <div className=\"text-[#18181B] font-semibold text-base\">\n {theme?.userContactForm?.title || 'Your contact'}\n </div>\n\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex items-center gap-2\">\n <label\n className=\"w-1/4 text-[#18181B] font-medium text-[14px] leading-[14px]\"\n htmlFor=\"inline-full-name\"\n >\n {theme?.userContactForm?.labelName || 'Name'}\n </label>\n\n <div className=\"flex flex-col gap-3 w-full\">\n <input\n className={`rounded-lg border-solid border h-[40px] pt-2 pr-2 pb-2 pl-3 disabled:text-gray-500 disabled:cursor-not-allowed disabled:bg-gray-100 ${errors?.name ? 'border-red-500' : 'border-[#E2E8F0]'}`}\n id=\"name\"\n name=\"name\"\n type=\"text\"\n placeholder={theme?.userContactForm?.labelName || 'Name'}\n onChange={handleChange}\n value={formData?.name || ''}\n disabled={disabled}\n />\n {!!errors?.name && (\n <span className=\"text-red-500 text-sm mt-1\">{errors.name}</span>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <label\n className=\"w-1/4 text-[#18181B] font-medium text-[14px] leading-[14px]\"\n htmlFor=\"inline-contact\"\n >\n {theme?.userContactForm?.labelContact || 'Contact'}\n </label>\n\n <div className=\"flex flex-col gap-3 w-full\">\n <PhoneNumberInput\n onChange={handleChangeContact}\n placeholder={theme?.userContactForm?.labelContact || 'Contact'}\n value={formData?.contact}\n disabled={disabled}\n />\n {!!errors?.contact && (\n <p className=\"text-red-500 text-sm mt-1\">{errors.contact}</p>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <label\n className=\"w-1/4 text-[#18181B] font-medium text-[14px] leading-[14px]\"\n htmlFor=\"inline-email\"\n >\n {theme?.userContactForm?.labelEmail || 'Email'}\n </label>\n\n <div className=\"flex flex-col gap-3 w-full\">\n <input\n className={`rounded-lg border-solid border h-[40px] pt-2 pr-2 pb-2 pl-3 disabled:text-gray-500 disabled:cursor-not-allowed disabled:bg-gray-100 ${errors?.host ? 'border-red-500' : 'border-[#E2E8F0]'}`}\n id=\"email\"\n name=\"email\"\n placeholder={theme?.userContactForm?.labelContact || 'Email'}\n onChange={handleChange}\n value={formData?.email || ''}\n type=\"email\"\n disabled={disabled}\n />\n {!!errors?.host && (\n <p className=\"text-red-500 text-sm mt-1\">{errors.host}</p>\n )}\n </div>\n </div>\n </div>\n\n {statusSubmit && (\n <div className=\"flex items-center w-full justify-center\">\n <p\n className={`text-green-500 text-sm mt-1 ${statusSubmit?.status === 200 ? 'text-green-500' : 'text-red-500'}`}\n >\n {statusSubmit.message}\n </p>\n </div>\n )}\n\n <div className=\"flex items-center\">\n <div className=\"w-full\">\n <button\n className={`shadow bg-[#1E6EB4] hover:bg-[#4096ff] focus:shadow-outline focus:outline-none text-white font-bold py-2 px-8 rounded-lg w-full h-[40px] disabled:cursor-not-allowed disabled:!bg-[#0000000a] disabled:!text-[#00000040] ${loading ? 'flex items-center justify-center' : ''}`}\n type=\"submit\"\n disabled={disabled}\n >\n {loading ? (\n <Spinner />\n ) : (\n `${theme?.buttons?.textBtnSubmit || 'Submit'}`\n )}\n </button>\n </div>\n </div>\n\n <div className=\"flex flex-col gap-3 items-center\">\n <div className=\"font-medium text-[14px] leading-[14px] text-[#18181B]\">\n {theme?.userContactForm?.orConnect || 'Or connect with'}\n </div>\n\n <div className=\"flex gap-4\">\n <ZaloIcon />\n <FacebookMessageIcon />\n </div>\n </div>\n </form>\n </motion.div>\n );\n};\n\nexport default UserContactForm;\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AudioAnalyzerData {
|
|
3
|
+
volume: number;
|
|
4
|
+
frequencies: number[];
|
|
5
|
+
}
|
|
6
|
+
interface VoiceRecordingUIProps {
|
|
7
|
+
isRecording: boolean;
|
|
8
|
+
elapsedTime: string;
|
|
9
|
+
onCancel: () => void;
|
|
10
|
+
transcribing?: boolean;
|
|
11
|
+
audioData?: AudioAnalyzerData;
|
|
12
|
+
label?: string;
|
|
13
|
+
onWidthChange?: (maxBars: number) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const VoiceRecordingUI: React.FC<VoiceRecordingUIProps>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=VoiceRecordingUI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceRecordingUI.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/VoiceRecordingUI.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAIvE,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,UAAU,qBAAqB;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAmJ5D,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useRef, useEffect, useMemo, useCallback } from 'react';
|
|
3
|
+
import { motion, AnimatePresence } from 'framer-motion';
|
|
4
|
+
import { ClikCloseIcon } from './Icons';
|
|
5
|
+
export const VoiceRecordingUI = React.memo(({ isRecording, elapsedTime, onCancel, transcribing = false, audioData, label = 'Transcription', onWidthChange, }) => {
|
|
6
|
+
const waveformContainerRef = useRef(null);
|
|
7
|
+
// Debounced width change callback for better performance
|
|
8
|
+
const timeoutRef = useRef();
|
|
9
|
+
const debouncedWidthChange = useCallback((maxBars) => {
|
|
10
|
+
if (timeoutRef.current) {
|
|
11
|
+
clearTimeout(timeoutRef.current);
|
|
12
|
+
}
|
|
13
|
+
timeoutRef.current = setTimeout(() => {
|
|
14
|
+
onWidthChange?.(maxBars);
|
|
15
|
+
}, 100);
|
|
16
|
+
}, [onWidthChange]);
|
|
17
|
+
// Measure container width and calculate optimal bar count
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (waveformContainerRef.current && isRecording && onWidthChange) {
|
|
20
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
21
|
+
const width = entries[0].contentRect.width;
|
|
22
|
+
const rightPadding = 20;
|
|
23
|
+
const minBars = 50;
|
|
24
|
+
const maxBarsDefault = 200;
|
|
25
|
+
// Calculate optimal bar count
|
|
26
|
+
// Each bar: 2px width + 1px margin = 3px total
|
|
27
|
+
const barWidth = 3;
|
|
28
|
+
const optimalBarCount = Math.floor((width - rightPadding) / barWidth);
|
|
29
|
+
// Clamp between reasonable limits: min 50, max 200 (reduced for performance)
|
|
30
|
+
const maxBars = Math.min(Math.max(optimalBarCount, minBars), maxBarsDefault);
|
|
31
|
+
debouncedWidthChange(maxBars);
|
|
32
|
+
});
|
|
33
|
+
resizeObserver.observe(waveformContainerRef.current);
|
|
34
|
+
return () => resizeObserver.disconnect();
|
|
35
|
+
}
|
|
36
|
+
}, [isRecording, onWidthChange, debouncedWidthChange]);
|
|
37
|
+
// Constants for waveform calculation
|
|
38
|
+
const maxHeight = 50;
|
|
39
|
+
const minHeight = 2;
|
|
40
|
+
const amplitude = 0.7;
|
|
41
|
+
// Memoize waveform data calculation for performance
|
|
42
|
+
const waveformData = useMemo(() => {
|
|
43
|
+
const volumeHistory = audioData?.frequencies || [];
|
|
44
|
+
return volumeHistory.map((volume) => {
|
|
45
|
+
// Direct mapping of volume to bar height
|
|
46
|
+
// Volume range: 0-100 -> Bar height: 2-50px
|
|
47
|
+
return Math.max(minHeight, Math.min(maxHeight, minHeight + volume * amplitude));
|
|
48
|
+
});
|
|
49
|
+
}, [audioData?.frequencies, maxHeight, minHeight, amplitude]);
|
|
50
|
+
return (_jsx(AnimatePresence, { children: isRecording && (_jsxs(motion.div, { initial: { opacity: 0, height: 0 }, animate: { opacity: 1, height: 'auto' }, exit: { opacity: 0, height: 0 }, transition: {
|
|
51
|
+
duration: 0.3,
|
|
52
|
+
ease: 'easeInOut',
|
|
53
|
+
height: { duration: 0.2 },
|
|
54
|
+
opacity: { duration: 0.15 },
|
|
55
|
+
}, className: "bg-white w-full rounded-[20px] z-10 flex flex-col pt-[8px] pl-[12px] pr-[4px] pb-[4px] gap-[4px]", children: [_jsx("div", { className: "w-full text-[14px] font-normal text-[#71717A] leading-[20px]", children: label }), _jsxs("div", { className: "flex w-full items-center justify-center pr-[40px] gap-[4px]", children: [_jsx("div", { className: "text-sm font-mono flex-shrink-0 min-w-[45px]", children: elapsedTime }), _jsxs("div", { className: "flex-1 flex items-center justify-center h-8 relative overflow-hidden rounded-lg min-w-0", children: [_jsx("div", { className: "absolute inset-0 flex items-center", children: _jsx("div", { className: "w-full h-px bg-gray-300" }) }), _jsx("div", { ref: waveformContainerRef, className: "flex items-center h-full w-full relative", children: waveformData.map((barHeight, index) => {
|
|
56
|
+
return (_jsx("div", { className: "rounded-full flex-shrink-0 bg-[#71717A]", style: {
|
|
57
|
+
width: '2px',
|
|
58
|
+
height: `${barHeight}px`, // Fixed height
|
|
59
|
+
marginRight: '1px',
|
|
60
|
+
// transform: `scaleY(${scaleY})`, // Use transform for better performance
|
|
61
|
+
// transformOrigin: 'bottom',
|
|
62
|
+
transition: 'transform 0.15s ease-out, opacity 0.3s ease-out',
|
|
63
|
+
opacity: barHeight <= minHeight ? 0.3 : 1, // Fade out bars that are at minimum height
|
|
64
|
+
} }, `volume-bar-${index}`));
|
|
65
|
+
}) })] }), _jsx(motion.button, { onClick: (event) => {
|
|
66
|
+
event.preventDefault();
|
|
67
|
+
event.stopPropagation();
|
|
68
|
+
onCancel();
|
|
69
|
+
}, disabled: transcribing, whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, className: "w-8 h-8 rounded-full bg-gray-100 hover:bg-gray-200 flex items-center justify-center disabled:opacity-50 disabled:cursor-not-allowed flex-shrink-0", children: _jsx(ClikCloseIcon, { size: 16 }) })] })] })) }));
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=VoiceRecordingUI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoiceRecordingUI.js","sourceRoot":"","sources":["../../../src/components/Chat/VoiceRecordingUI.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useRef, useEffect, useMemo, useCallback } from 'react';\nimport { motion, AnimatePresence } from 'framer-motion';\nimport { ClikCloseIcon } from './Icons';\n\ninterface AudioAnalyzerData {\n volume: number;\n frequencies: number[];\n}\n\ninterface VoiceRecordingUIProps {\n isRecording: boolean;\n elapsedTime: string;\n onCancel: () => void;\n transcribing?: boolean;\n audioData?: AudioAnalyzerData;\n label?: string;\n onWidthChange?: (maxBars: number) => void;\n}\n\nexport const VoiceRecordingUI: React.FC<VoiceRecordingUIProps> = React.memo(\n ({\n isRecording,\n elapsedTime,\n onCancel,\n transcribing = false,\n audioData,\n label = 'Transcription',\n onWidthChange,\n }) => {\n const waveformContainerRef = useRef<HTMLDivElement>(null);\n\n // Debounced width change callback for better performance\n const timeoutRef = useRef<NodeJS.Timeout>();\n const debouncedWidthChange = useCallback(\n (maxBars: number) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n timeoutRef.current = setTimeout(() => {\n onWidthChange?.(maxBars);\n }, 100);\n },\n [onWidthChange]\n );\n\n // Measure container width and calculate optimal bar count\n useEffect(() => {\n if (waveformContainerRef.current && isRecording && onWidthChange) {\n const resizeObserver = new ResizeObserver((entries) => {\n const width = entries[0].contentRect.width;\n const rightPadding = 20;\n const minBars = 50;\n const maxBarsDefault = 200;\n\n // Calculate optimal bar count\n // Each bar: 2px width + 1px margin = 3px total\n const barWidth = 3;\n const optimalBarCount = Math.floor((width - rightPadding) / barWidth);\n\n // Clamp between reasonable limits: min 50, max 200 (reduced for performance)\n const maxBars = Math.min(\n Math.max(optimalBarCount, minBars),\n maxBarsDefault\n );\n debouncedWidthChange(maxBars);\n });\n\n resizeObserver.observe(waveformContainerRef.current);\n\n return () => resizeObserver.disconnect();\n }\n }, [isRecording, onWidthChange, debouncedWidthChange]);\n\n // Constants for waveform calculation\n const maxHeight = 50;\n const minHeight = 2;\n const amplitude = 0.7;\n\n // Memoize waveform data calculation for performance\n const waveformData = useMemo(() => {\n const volumeHistory = audioData?.frequencies || [];\n return volumeHistory.map((volume) => {\n // Direct mapping of volume to bar height\n // Volume range: 0-100 -> Bar height: 2-50px\n return Math.max(\n minHeight,\n Math.min(maxHeight, minHeight + volume * amplitude)\n );\n });\n }, [audioData?.frequencies, maxHeight, minHeight, amplitude]);\n\n return (\n <AnimatePresence>\n {isRecording && (\n <motion.div\n initial={{ opacity: 0, height: 0 }}\n animate={{ opacity: 1, height: 'auto' }}\n exit={{ opacity: 0, height: 0 }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n height: { duration: 0.2 },\n opacity: { duration: 0.15 },\n }}\n className=\"bg-white w-full rounded-[20px] z-10 flex flex-col pt-[8px] pl-[12px] pr-[4px] pb-[4px] gap-[4px]\"\n >\n <div className=\"w-full text-[14px] font-normal text-[#71717A] leading-[20px]\">\n {label}\n </div>\n {/* Audio Waveform Visualization */}\n <div className=\"flex w-full items-center justify-center pr-[40px] gap-[4px]\">\n <div className=\"text-sm font-mono flex-shrink-0 min-w-[45px]\">\n {elapsedTime}\n </div>\n <div className=\"flex-1 flex items-center justify-center h-8 relative overflow-hidden rounded-lg min-w-0\">\n {/* Background baseline */}\n <div className=\"absolute inset-0 flex items-center\">\n <div className=\"w-full h-px bg-gray-300\"></div>\n </div>\n\n {/* Waveform container - Volume History Visualization */}\n <div\n ref={waveformContainerRef}\n className=\"flex items-center h-full w-full relative\"\n >\n {/* Display volume history from frequencies array */}\n {waveformData.map((barHeight, index) => {\n return (\n <div\n key={`volume-bar-${index}`}\n className=\"rounded-full flex-shrink-0 bg-[#71717A]\"\n style={{\n width: '2px',\n height: `${barHeight}px`, // Fixed height\n marginRight: '1px',\n // transform: `scaleY(${scaleY})`, // Use transform for better performance\n // transformOrigin: 'bottom',\n transition:\n 'transform 0.15s ease-out, opacity 0.3s ease-out',\n opacity: barHeight <= minHeight ? 0.3 : 1, // Fade out bars that are at minimum height\n }}\n />\n );\n })}\n </div>\n </div>\n {/* Cancel Button */}\n <motion.button\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n onCancel();\n }}\n disabled={transcribing}\n whileHover={{ scale: 1.1 }}\n whileTap={{ scale: 0.9 }}\n className=\"w-8 h-8 rounded-full bg-gray-100 hover:bg-gray-200 flex items-center justify-center disabled:opacity-50 disabled:cursor-not-allowed flex-shrink-0\"\n >\n <ClikCloseIcon size={16} />\n </motion.button>\n </div>\n </motion.div>\n )}\n </AnimatePresence>\n );\n }\n);\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
interface WeatherAtLocation {
|
|
2
|
+
latitude: number;
|
|
3
|
+
longitude: number;
|
|
4
|
+
generationtime_ms: number;
|
|
5
|
+
utc_offset_seconds: number;
|
|
6
|
+
timezone: string;
|
|
7
|
+
timezone_abbreviation: string;
|
|
8
|
+
elevation: number;
|
|
9
|
+
current_units: {
|
|
10
|
+
time: string;
|
|
11
|
+
interval: string;
|
|
12
|
+
temperature_2m: string;
|
|
13
|
+
};
|
|
14
|
+
current: {
|
|
15
|
+
time: string;
|
|
16
|
+
interval: number;
|
|
17
|
+
temperature_2m: number;
|
|
18
|
+
};
|
|
19
|
+
hourly_units: {
|
|
20
|
+
time: string;
|
|
21
|
+
temperature_2m: string;
|
|
22
|
+
};
|
|
23
|
+
hourly: {
|
|
24
|
+
time: string[];
|
|
25
|
+
temperature_2m: number[];
|
|
26
|
+
};
|
|
27
|
+
daily_units: {
|
|
28
|
+
time: string;
|
|
29
|
+
sunrise: string;
|
|
30
|
+
sunset: string;
|
|
31
|
+
};
|
|
32
|
+
daily: {
|
|
33
|
+
time: string[];
|
|
34
|
+
sunrise: string[];
|
|
35
|
+
sunset: string[];
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export declare function Weather({ weatherAtLocation, }: {
|
|
39
|
+
weatherAtLocation?: WeatherAtLocation;
|
|
40
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=Weather.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Weather.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Weather.tsx"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAiKD,wBAAgB,OAAO,CAAC,EACtB,iBAA0B,GAC3B,EAAE;IACD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,2CAuGA"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { format, isWithinInterval } from 'date-fns';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
const SAMPLE = {
|
|
6
|
+
latitude: 37.763283,
|
|
7
|
+
longitude: -122.41286,
|
|
8
|
+
generationtime_ms: 0.027894973754882812,
|
|
9
|
+
utc_offset_seconds: 0,
|
|
10
|
+
timezone: 'GMT',
|
|
11
|
+
timezone_abbreviation: 'GMT',
|
|
12
|
+
elevation: 18,
|
|
13
|
+
current_units: { time: 'iso8601', interval: 'seconds', temperature_2m: '°C' },
|
|
14
|
+
current: { time: '2024-10-07T19:30', interval: 900, temperature_2m: 29.3 },
|
|
15
|
+
hourly_units: { time: 'iso8601', temperature_2m: '°C' },
|
|
16
|
+
hourly: {
|
|
17
|
+
time: [
|
|
18
|
+
'2024-10-07T00:00',
|
|
19
|
+
'2024-10-07T01:00',
|
|
20
|
+
'2024-10-07T02:00',
|
|
21
|
+
'2024-10-07T03:00',
|
|
22
|
+
'2024-10-07T04:00',
|
|
23
|
+
'2024-10-07T05:00',
|
|
24
|
+
'2024-10-07T06:00',
|
|
25
|
+
'2024-10-07T07:00',
|
|
26
|
+
'2024-10-07T08:00',
|
|
27
|
+
'2024-10-07T09:00',
|
|
28
|
+
'2024-10-07T10:00',
|
|
29
|
+
'2024-10-07T11:00',
|
|
30
|
+
'2024-10-07T12:00',
|
|
31
|
+
'2024-10-07T13:00',
|
|
32
|
+
'2024-10-07T14:00',
|
|
33
|
+
'2024-10-07T15:00',
|
|
34
|
+
'2024-10-07T16:00',
|
|
35
|
+
'2024-10-07T17:00',
|
|
36
|
+
'2024-10-07T18:00',
|
|
37
|
+
'2024-10-07T19:00',
|
|
38
|
+
'2024-10-07T20:00',
|
|
39
|
+
'2024-10-07T21:00',
|
|
40
|
+
'2024-10-07T22:00',
|
|
41
|
+
'2024-10-07T23:00',
|
|
42
|
+
'2024-10-08T00:00',
|
|
43
|
+
'2024-10-08T01:00',
|
|
44
|
+
'2024-10-08T02:00',
|
|
45
|
+
'2024-10-08T03:00',
|
|
46
|
+
'2024-10-08T04:00',
|
|
47
|
+
'2024-10-08T05:00',
|
|
48
|
+
'2024-10-08T06:00',
|
|
49
|
+
'2024-10-08T07:00',
|
|
50
|
+
'2024-10-08T08:00',
|
|
51
|
+
'2024-10-08T09:00',
|
|
52
|
+
'2024-10-08T10:00',
|
|
53
|
+
'2024-10-08T11:00',
|
|
54
|
+
'2024-10-08T12:00',
|
|
55
|
+
'2024-10-08T13:00',
|
|
56
|
+
'2024-10-08T14:00',
|
|
57
|
+
'2024-10-08T15:00',
|
|
58
|
+
'2024-10-08T16:00',
|
|
59
|
+
'2024-10-08T17:00',
|
|
60
|
+
'2024-10-08T18:00',
|
|
61
|
+
'2024-10-08T19:00',
|
|
62
|
+
'2024-10-08T20:00',
|
|
63
|
+
'2024-10-08T21:00',
|
|
64
|
+
'2024-10-08T22:00',
|
|
65
|
+
'2024-10-08T23:00',
|
|
66
|
+
'2024-10-09T00:00',
|
|
67
|
+
'2024-10-09T01:00',
|
|
68
|
+
'2024-10-09T02:00',
|
|
69
|
+
'2024-10-09T03:00',
|
|
70
|
+
'2024-10-09T04:00',
|
|
71
|
+
'2024-10-09T05:00',
|
|
72
|
+
'2024-10-09T06:00',
|
|
73
|
+
'2024-10-09T07:00',
|
|
74
|
+
'2024-10-09T08:00',
|
|
75
|
+
'2024-10-09T09:00',
|
|
76
|
+
'2024-10-09T10:00',
|
|
77
|
+
'2024-10-09T11:00',
|
|
78
|
+
'2024-10-09T12:00',
|
|
79
|
+
'2024-10-09T13:00',
|
|
80
|
+
'2024-10-09T14:00',
|
|
81
|
+
'2024-10-09T15:00',
|
|
82
|
+
'2024-10-09T16:00',
|
|
83
|
+
'2024-10-09T17:00',
|
|
84
|
+
'2024-10-09T18:00',
|
|
85
|
+
'2024-10-09T19:00',
|
|
86
|
+
'2024-10-09T20:00',
|
|
87
|
+
'2024-10-09T21:00',
|
|
88
|
+
'2024-10-09T22:00',
|
|
89
|
+
'2024-10-09T23:00',
|
|
90
|
+
'2024-10-10T00:00',
|
|
91
|
+
'2024-10-10T01:00',
|
|
92
|
+
'2024-10-10T02:00',
|
|
93
|
+
'2024-10-10T03:00',
|
|
94
|
+
'2024-10-10T04:00',
|
|
95
|
+
'2024-10-10T05:00',
|
|
96
|
+
'2024-10-10T06:00',
|
|
97
|
+
'2024-10-10T07:00',
|
|
98
|
+
'2024-10-10T08:00',
|
|
99
|
+
'2024-10-10T09:00',
|
|
100
|
+
'2024-10-10T10:00',
|
|
101
|
+
'2024-10-10T11:00',
|
|
102
|
+
'2024-10-10T12:00',
|
|
103
|
+
'2024-10-10T13:00',
|
|
104
|
+
'2024-10-10T14:00',
|
|
105
|
+
'2024-10-10T15:00',
|
|
106
|
+
'2024-10-10T16:00',
|
|
107
|
+
'2024-10-10T17:00',
|
|
108
|
+
'2024-10-10T18:00',
|
|
109
|
+
'2024-10-10T19:00',
|
|
110
|
+
'2024-10-10T20:00',
|
|
111
|
+
'2024-10-10T21:00',
|
|
112
|
+
'2024-10-10T22:00',
|
|
113
|
+
'2024-10-10T23:00',
|
|
114
|
+
'2024-10-11T00:00',
|
|
115
|
+
'2024-10-11T01:00',
|
|
116
|
+
'2024-10-11T02:00',
|
|
117
|
+
'2024-10-11T03:00',
|
|
118
|
+
],
|
|
119
|
+
temperature_2m: [
|
|
120
|
+
36.6, 32.8, 29.5, 28.6, 29.2, 28.2, 27.5, 26.6, 26.5, 26, 25, 23.5, 23.9,
|
|
121
|
+
24.2, 22.9, 21, 24, 28.1, 31.4, 33.9, 32.1, 28.9, 26.9, 25.2, 23, 21.1,
|
|
122
|
+
19.6, 18.6, 17.7, 16.8, 16.2, 15.5, 14.9, 14.4, 14.2, 13.7, 13.3, 12.9,
|
|
123
|
+
12.5, 13.5, 15.8, 17.7, 19.6, 21, 21.9, 22.3, 22, 20.7, 18.9, 17.9, 17.3,
|
|
124
|
+
17, 16.7, 16.2, 15.6, 15.2, 15, 15, 15.1, 14.8, 14.8, 14.9, 14.7, 14.8,
|
|
125
|
+
15.3, 16.2, 17.9, 19.6, 20.5, 21.6, 21, 20.7, 19.3, 18.7, 18.4, 17.9,
|
|
126
|
+
17.3, 17, 17, 16.8, 16.4, 16.2, 16, 15.8, 15.7, 15.4, 15.4, 16.1, 16.7,
|
|
127
|
+
17, 18.6, 19, 19.5, 19.4, 18.5, 17.9, 17.5, 16.7, 16.3, 16.1,
|
|
128
|
+
],
|
|
129
|
+
},
|
|
130
|
+
daily_units: {
|
|
131
|
+
time: 'iso8601',
|
|
132
|
+
sunrise: 'iso8601',
|
|
133
|
+
sunset: 'iso8601',
|
|
134
|
+
},
|
|
135
|
+
daily: {
|
|
136
|
+
time: [
|
|
137
|
+
'2024-10-07',
|
|
138
|
+
'2024-10-08',
|
|
139
|
+
'2024-10-09',
|
|
140
|
+
'2024-10-10',
|
|
141
|
+
'2024-10-11',
|
|
142
|
+
],
|
|
143
|
+
sunrise: [
|
|
144
|
+
'2024-10-07T07:15',
|
|
145
|
+
'2024-10-08T07:16',
|
|
146
|
+
'2024-10-09T07:17',
|
|
147
|
+
'2024-10-10T07:18',
|
|
148
|
+
'2024-10-11T07:19',
|
|
149
|
+
],
|
|
150
|
+
sunset: [
|
|
151
|
+
'2024-10-07T19:00',
|
|
152
|
+
'2024-10-08T18:58',
|
|
153
|
+
'2024-10-09T18:57',
|
|
154
|
+
'2024-10-10T18:55',
|
|
155
|
+
'2024-10-11T18:54',
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
function n(num) {
|
|
160
|
+
return Math.ceil(num);
|
|
161
|
+
}
|
|
162
|
+
export function Weather({ weatherAtLocation = SAMPLE, }) {
|
|
163
|
+
const currentHigh = Math.max(...weatherAtLocation.hourly.temperature_2m.slice(0, 24));
|
|
164
|
+
const currentLow = Math.min(...weatherAtLocation.hourly.temperature_2m.slice(0, 24));
|
|
165
|
+
const isDay = isWithinInterval(new Date(weatherAtLocation.current.time), {
|
|
166
|
+
start: new Date(weatherAtLocation.daily.sunrise[0]),
|
|
167
|
+
end: new Date(weatherAtLocation.daily.sunset[0]),
|
|
168
|
+
});
|
|
169
|
+
const [isMobile, setIsMobile] = useState(false);
|
|
170
|
+
useEffect(() => {
|
|
171
|
+
const handleResize = () => {
|
|
172
|
+
setIsMobile(window.innerWidth < 768);
|
|
173
|
+
};
|
|
174
|
+
handleResize();
|
|
175
|
+
window.addEventListener('resize', handleResize);
|
|
176
|
+
return () => window.removeEventListener('resize', handleResize);
|
|
177
|
+
}, []);
|
|
178
|
+
const hoursToShow = isMobile ? 5 : 6;
|
|
179
|
+
// Find the index of the current time or the next closest time
|
|
180
|
+
const currentTimeIndex = weatherAtLocation.hourly.time.findIndex((time) => new Date(time) >= new Date(weatherAtLocation.current.time));
|
|
181
|
+
// Slice the arrays to get the desired number of items
|
|
182
|
+
const displayTimes = weatherAtLocation.hourly.time.slice(currentTimeIndex, currentTimeIndex + hoursToShow);
|
|
183
|
+
const displayTemperatures = weatherAtLocation.hourly.temperature_2m.slice(currentTimeIndex, currentTimeIndex + hoursToShow);
|
|
184
|
+
return (_jsxs("div", { className: cx('flex flex-col gap-4 rounded-2xl p-4 skeleton-bg max-w-[500px]', {
|
|
185
|
+
'bg-blue-400': isDay,
|
|
186
|
+
}, {
|
|
187
|
+
'bg-indigo-900': !isDay,
|
|
188
|
+
}), children: [_jsxs("div", { className: "flex flex-row justify-between items-center", children: [_jsxs("div", { className: "flex flex-row gap-2 items-center", children: [_jsx("div", { className: cx('size-10 rounded-full skeleton-div', {
|
|
189
|
+
'bg-yellow-300': isDay,
|
|
190
|
+
}, {
|
|
191
|
+
'bg-indigo-100': !isDay,
|
|
192
|
+
}) }), _jsxs("div", { className: "text-4xl font-medium text-blue-50", children: [n(weatherAtLocation.current.temperature_2m), weatherAtLocation.current_units.temperature_2m] })] }), _jsx("div", { className: "text-blue-50", children: `H:${n(currentHigh)}° L:${n(currentLow)}°` })] }), _jsx("div", { className: "flex flex-row justify-between", children: displayTimes.map((time, index) => (_jsxs("div", { className: "flex flex-col items-center gap-1", children: [_jsx("div", { className: "text-blue-100 text-xs", children: format(new Date(time), 'ha') }), _jsx("div", { className: cx('size-6 rounded-full skeleton-div', {
|
|
193
|
+
'bg-yellow-300': isDay,
|
|
194
|
+
}, {
|
|
195
|
+
'bg-indigo-200': !isDay,
|
|
196
|
+
}) }), _jsxs("div", { className: "text-blue-50 text-sm", children: [n(displayTemperatures[index]), weatherAtLocation.hourly_units.temperature_2m] })] }, time))) })] }));
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=Weather.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Weather.js","sourceRoot":"","sources":["../../../src/components/Chat/Weather.tsx"],"names":[],"mappings":"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","sourcesContent":["import cx from 'classnames';\nimport { format, isWithinInterval } from 'date-fns';\nimport { useEffect, useState } from 'react';\n\ninterface WeatherAtLocation {\n latitude: number;\n longitude: number;\n generationtime_ms: number;\n utc_offset_seconds: number;\n timezone: string;\n timezone_abbreviation: string;\n elevation: number;\n current_units: {\n time: string;\n interval: string;\n temperature_2m: string;\n };\n current: {\n time: string;\n interval: number;\n temperature_2m: number;\n };\n hourly_units: {\n time: string;\n temperature_2m: string;\n };\n hourly: {\n time: string[];\n temperature_2m: number[];\n };\n daily_units: {\n time: string;\n sunrise: string;\n sunset: string;\n };\n daily: {\n time: string[];\n sunrise: string[];\n sunset: string[];\n };\n}\n\nconst SAMPLE: WeatherAtLocation = {\n latitude: 37.763283,\n longitude: -122.41286,\n generationtime_ms: 0.027894973754882812,\n utc_offset_seconds: 0,\n timezone: 'GMT',\n timezone_abbreviation: 'GMT',\n elevation: 18,\n current_units: { time: 'iso8601', interval: 'seconds', temperature_2m: '°C' },\n current: { time: '2024-10-07T19:30', interval: 900, temperature_2m: 29.3 },\n hourly_units: { time: 'iso8601', temperature_2m: '°C' },\n hourly: {\n time: [\n '2024-10-07T00:00',\n '2024-10-07T01:00',\n '2024-10-07T02:00',\n '2024-10-07T03:00',\n '2024-10-07T04:00',\n '2024-10-07T05:00',\n '2024-10-07T06:00',\n '2024-10-07T07:00',\n '2024-10-07T08:00',\n '2024-10-07T09:00',\n '2024-10-07T10:00',\n '2024-10-07T11:00',\n '2024-10-07T12:00',\n '2024-10-07T13:00',\n '2024-10-07T14:00',\n '2024-10-07T15:00',\n '2024-10-07T16:00',\n '2024-10-07T17:00',\n '2024-10-07T18:00',\n '2024-10-07T19:00',\n '2024-10-07T20:00',\n '2024-10-07T21:00',\n '2024-10-07T22:00',\n '2024-10-07T23:00',\n '2024-10-08T00:00',\n '2024-10-08T01:00',\n '2024-10-08T02:00',\n '2024-10-08T03:00',\n '2024-10-08T04:00',\n '2024-10-08T05:00',\n '2024-10-08T06:00',\n '2024-10-08T07:00',\n '2024-10-08T08:00',\n '2024-10-08T09:00',\n '2024-10-08T10:00',\n '2024-10-08T11:00',\n '2024-10-08T12:00',\n '2024-10-08T13:00',\n '2024-10-08T14:00',\n '2024-10-08T15:00',\n '2024-10-08T16:00',\n '2024-10-08T17:00',\n '2024-10-08T18:00',\n '2024-10-08T19:00',\n '2024-10-08T20:00',\n '2024-10-08T21:00',\n '2024-10-08T22:00',\n '2024-10-08T23:00',\n '2024-10-09T00:00',\n '2024-10-09T01:00',\n '2024-10-09T02:00',\n '2024-10-09T03:00',\n '2024-10-09T04:00',\n '2024-10-09T05:00',\n '2024-10-09T06:00',\n '2024-10-09T07:00',\n '2024-10-09T08:00',\n '2024-10-09T09:00',\n '2024-10-09T10:00',\n '2024-10-09T11:00',\n '2024-10-09T12:00',\n '2024-10-09T13:00',\n '2024-10-09T14:00',\n '2024-10-09T15:00',\n '2024-10-09T16:00',\n '2024-10-09T17:00',\n '2024-10-09T18:00',\n '2024-10-09T19:00',\n '2024-10-09T20:00',\n '2024-10-09T21:00',\n '2024-10-09T22:00',\n '2024-10-09T23:00',\n '2024-10-10T00:00',\n '2024-10-10T01:00',\n '2024-10-10T02:00',\n '2024-10-10T03:00',\n '2024-10-10T04:00',\n '2024-10-10T05:00',\n '2024-10-10T06:00',\n '2024-10-10T07:00',\n '2024-10-10T08:00',\n '2024-10-10T09:00',\n '2024-10-10T10:00',\n '2024-10-10T11:00',\n '2024-10-10T12:00',\n '2024-10-10T13:00',\n '2024-10-10T14:00',\n '2024-10-10T15:00',\n '2024-10-10T16:00',\n '2024-10-10T17:00',\n '2024-10-10T18:00',\n '2024-10-10T19:00',\n '2024-10-10T20:00',\n '2024-10-10T21:00',\n '2024-10-10T22:00',\n '2024-10-10T23:00',\n '2024-10-11T00:00',\n '2024-10-11T01:00',\n '2024-10-11T02:00',\n '2024-10-11T03:00',\n ],\n temperature_2m: [\n 36.6, 32.8, 29.5, 28.6, 29.2, 28.2, 27.5, 26.6, 26.5, 26, 25, 23.5, 23.9,\n 24.2, 22.9, 21, 24, 28.1, 31.4, 33.9, 32.1, 28.9, 26.9, 25.2, 23, 21.1,\n 19.6, 18.6, 17.7, 16.8, 16.2, 15.5, 14.9, 14.4, 14.2, 13.7, 13.3, 12.9,\n 12.5, 13.5, 15.8, 17.7, 19.6, 21, 21.9, 22.3, 22, 20.7, 18.9, 17.9, 17.3,\n 17, 16.7, 16.2, 15.6, 15.2, 15, 15, 15.1, 14.8, 14.8, 14.9, 14.7, 14.8,\n 15.3, 16.2, 17.9, 19.6, 20.5, 21.6, 21, 20.7, 19.3, 18.7, 18.4, 17.9,\n 17.3, 17, 17, 16.8, 16.4, 16.2, 16, 15.8, 15.7, 15.4, 15.4, 16.1, 16.7,\n 17, 18.6, 19, 19.5, 19.4, 18.5, 17.9, 17.5, 16.7, 16.3, 16.1,\n ],\n },\n daily_units: {\n time: 'iso8601',\n sunrise: 'iso8601',\n sunset: 'iso8601',\n },\n daily: {\n time: [\n '2024-10-07',\n '2024-10-08',\n '2024-10-09',\n '2024-10-10',\n '2024-10-11',\n ],\n sunrise: [\n '2024-10-07T07:15',\n '2024-10-08T07:16',\n '2024-10-09T07:17',\n '2024-10-10T07:18',\n '2024-10-11T07:19',\n ],\n sunset: [\n '2024-10-07T19:00',\n '2024-10-08T18:58',\n '2024-10-09T18:57',\n '2024-10-10T18:55',\n '2024-10-11T18:54',\n ],\n },\n};\n\nfunction n(num: number): number {\n return Math.ceil(num);\n}\n\nexport function Weather({\n weatherAtLocation = SAMPLE,\n}: {\n weatherAtLocation?: WeatherAtLocation;\n}) {\n const currentHigh = Math.max(\n ...weatherAtLocation.hourly.temperature_2m.slice(0, 24)\n );\n const currentLow = Math.min(\n ...weatherAtLocation.hourly.temperature_2m.slice(0, 24)\n );\n\n const isDay = isWithinInterval(new Date(weatherAtLocation.current.time), {\n start: new Date(weatherAtLocation.daily.sunrise[0]),\n end: new Date(weatherAtLocation.daily.sunset[0]),\n });\n\n const [isMobile, setIsMobile] = useState(false);\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n\n handleResize();\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const hoursToShow = isMobile ? 5 : 6;\n\n // Find the index of the current time or the next closest time\n const currentTimeIndex = weatherAtLocation.hourly.time.findIndex(\n (time) => new Date(time) >= new Date(weatherAtLocation.current.time)\n );\n\n // Slice the arrays to get the desired number of items\n const displayTimes = weatherAtLocation.hourly.time.slice(\n currentTimeIndex,\n currentTimeIndex + hoursToShow\n );\n const displayTemperatures = weatherAtLocation.hourly.temperature_2m.slice(\n currentTimeIndex,\n currentTimeIndex + hoursToShow\n );\n\n return (\n <div\n className={cx(\n 'flex flex-col gap-4 rounded-2xl p-4 skeleton-bg max-w-[500px]',\n {\n 'bg-blue-400': isDay,\n },\n {\n 'bg-indigo-900': !isDay,\n }\n )}\n >\n <div className=\"flex flex-row justify-between items-center\">\n <div className=\"flex flex-row gap-2 items-center\">\n <div\n className={cx(\n 'size-10 rounded-full skeleton-div',\n {\n 'bg-yellow-300': isDay,\n },\n {\n 'bg-indigo-100': !isDay,\n }\n )}\n />\n <div className=\"text-4xl font-medium text-blue-50\">\n {n(weatherAtLocation.current.temperature_2m)}\n {weatherAtLocation.current_units.temperature_2m}\n </div>\n </div>\n\n <div className=\"text-blue-50\">{`H:${n(currentHigh)}° L:${n(currentLow)}°`}</div>\n </div>\n\n <div className=\"flex flex-row justify-between\">\n {displayTimes.map((time, index) => (\n <div key={time} className=\"flex flex-col items-center gap-1\">\n <div className=\"text-blue-100 text-xs\">\n {format(new Date(time), 'ha')}\n </div>\n <div\n className={cx(\n 'size-6 rounded-full skeleton-div',\n {\n 'bg-yellow-300': isDay,\n },\n {\n 'bg-indigo-200': !isDay,\n }\n )}\n />\n <div className=\"text-blue-50 text-sm\">\n {n(displayTemperatures[index])}\n {weatherAtLocation.hourly_units.temperature_2m}\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
|
|
5
|
+
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
8
|
+
asChild?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
export { Button, buttonVariants };
|
|
12
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/ui/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAc,MAAM,OAAO,CAAC;AAEzD,QAAA,MAAM,cAAc;;;mFA2BnB,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,2GAWX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
|