@memori.ai/memori-react 8.38.4 → 9.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1836 -0
- package/dist/components/AgeVerificationModal/AgeVerificationModal.css +35 -12
- package/dist/components/AgeVerificationModal/AgeVerificationModal.d.ts +0 -1
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js +22 -10
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/dist/components/Auth/Auth.css +13 -9
- package/dist/components/Auth/Auth.d.ts +0 -1
- package/dist/components/Auth/Auth.js +14 -10
- package/dist/components/Auth/Auth.js.map +1 -1
- package/dist/components/Avatar/Avatar.css +2 -2
- package/dist/components/Avatar/Avatar.js +7 -7
- package/dist/components/Avatar/Avatar.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +0 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +0 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +0 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +1 -2
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +0 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.d.ts +0 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js +2 -3
- package/dist/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +21 -21
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.d.ts +0 -1
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +8 -10
- package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -1
- package/dist/components/Avatar/AvatarView/index.js +1 -1
- package/dist/components/Avatar/AvatarView/index.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/hideHands.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js +1 -2
- package/dist/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/useHeadMovement.js +1 -1
- package/dist/components/Avatar/AvatarView/utils/useHeadMovement.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js +1 -1
- package/dist/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js +1 -2
- package/dist/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/useSmile.js +1 -1
- package/dist/components/Avatar/AvatarView/utils/useSmile.js.map +1 -1
- package/dist/components/Avatar/AvatarView/utils/utils.js.map +1 -1
- package/dist/components/Blob/Blob.css +14 -12
- package/dist/components/Blob/Blob.d.ts +0 -1
- package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.css +4 -4
- package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.d.ts +0 -1
- package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.js +4 -5
- package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.js.map +1 -1
- package/dist/components/ChangeMode/ChangeMode.css +4 -2
- package/dist/components/ChangeMode/ChangeMode.js +8 -3
- package/dist/components/ChangeMode/ChangeMode.js.map +1 -1
- package/dist/components/Chat/Chat.css +114 -38
- package/dist/components/Chat/Chat.js +39 -53
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.css +206 -68
- package/dist/components/ChatBubble/ChatBubble.d.ts +5 -0
- package/dist/components/ChatBubble/ChatBubble.js +223 -164
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.css +417 -156
- package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +0 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.js +252 -151
- package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +12 -3
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +18 -7
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
- package/dist/components/ChatInputs/ChatInputs.css +68 -51
- package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
- package/dist/components/ChatInputs/ChatInputs.js +51 -28
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/ChatTextArea/ChatTextArea.css +38 -12
- package/dist/components/ChatTextArea/ChatTextArea.js +1 -1
- package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +5 -5
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +0 -1
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +8 -11
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/dist/components/ContentPreviewModal/ContentPreviewModal.css +129 -84
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js +5 -4
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
- package/dist/components/ContentPreviewModal/index.js +2 -4
- package/dist/components/ContentPreviewModal/index.js.map +1 -1
- package/dist/components/CustomGLBModelViewer/ModelViewer.d.ts +0 -1
- package/dist/components/DateSelector/DateSelector.css +22 -24
- package/dist/components/DateSelector/DateSelector.d.ts +0 -1
- package/dist/components/DateSelector/DateSelector.js +2 -2
- package/dist/components/DateSelector/DateSelector.js.map +1 -1
- package/dist/components/DrawerFooter/DrawerFooter.js +1 -1
- package/dist/components/DrawerFooter/DrawerFooter.js.map +1 -1
- package/dist/components/ErrorBoundary/ErrorBoundary.js +3 -4
- package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.css +6 -9
- package/dist/components/ExpertsDrawer/ExpertsDrawer.d.ts +0 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.js +2 -3
- package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
- package/dist/components/ExportHistoryButton/ExportHistoryButton.css +3 -3
- package/dist/components/FeedbackButtons/FeedbackButtons.css +17 -15
- package/dist/components/FeedbackButtons/FeedbackButtons.d.ts +0 -1
- package/dist/components/FeedbackButtons/FeedbackButtons.js +32 -12
- package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
- package/dist/components/FilePreview/FilePreview.css +56 -40
- package/dist/components/FilePreview/FilePreview.d.ts +0 -1
- package/dist/components/FilePreview/FilePreview.js +11 -12
- package/dist/components/FilePreview/FilePreview.js.map +1 -1
- package/dist/components/Header/ChatConsumptionDropdown.d.ts +10 -2
- package/dist/components/Header/ChatConsumptionDropdown.js +36 -10
- package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
- package/dist/components/Header/Header.css +525 -62
- package/dist/components/Header/Header.d.ts +7 -1
- package/dist/components/Header/Header.js +357 -69
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/KnownFacts/KnownFacts.css +52 -13
- package/dist/components/KnownFacts/KnownFacts.d.ts +2 -2
- package/dist/components/KnownFacts/KnownFacts.js +183 -128
- package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
- package/dist/components/LoginDrawer/LoginDrawer.css +377 -252
- package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
- package/dist/components/LoginDrawer/LoginDrawer.js +140 -32
- package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/dist/components/MediaWidget/DocumentCard.js +1 -2
- package/dist/components/MediaWidget/DocumentCard.js.map +1 -1
- package/dist/components/MediaWidget/MediaItemWidget.css +222 -176
- package/dist/components/MediaWidget/MediaItemWidget.js +23 -26
- package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/dist/components/MediaWidget/MediaItemWidget.types.d.ts +0 -1
- package/dist/components/MediaWidget/MediaItemWidget.utils.js +11 -11
- package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
- package/dist/components/MediaWidget/MediaPreviewModal.d.ts +1 -1
- package/dist/components/MediaWidget/MediaPreviewModal.js +2 -3
- package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
- package/dist/components/MediaWidget/MediaWidget.css +5 -5
- package/dist/components/MediaWidget/MediaWidget.js +3 -4
- package/dist/components/MediaWidget/MediaWidget.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +83 -87
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +4 -9
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +25 -28
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +5 -8
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +8 -7
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +287 -277
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js +5 -5
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +117 -142
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -45
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -134
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +10 -16
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +196 -166
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +41 -29
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +204 -205
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +4 -1
- package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +5 -1
- package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +1 -0
- package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +15 -4
- package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.css +16 -71
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +16 -10
- package/dist/components/MemoriWidget/MemoriWidget.js +198 -105
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MicrophoneButton/MicrophoneButton.css +25 -5
- package/dist/components/MicrophoneButton/MicrophoneButton.d.ts +2 -2
- package/dist/components/MicrophoneButton/MicrophoneButton.js +16 -13
- package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
- package/dist/components/MobileSessionPanel/MobileSessionPanel.css +48 -4
- package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +5 -1
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js +177 -57
- package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
- package/dist/components/PositionPopover/PositionPopover.js +2 -1
- package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
- package/dist/components/PoweredBy/PoweredBy.css +29 -27
- package/dist/components/PoweredBy/PoweredBy.d.ts +1 -2
- package/dist/components/PoweredBy/PoweredBy.js +5 -7
- package/dist/components/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
- package/dist/components/SendOnEnterMenu/SendOnEnterMenu.js +3 -9
- package/dist/components/SendOnEnterMenu/SendOnEnterMenu.js.map +1 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.css +2 -2
- package/dist/components/SettingsDrawer/SettingsDrawer.d.ts +0 -1
- package/dist/components/SettingsDrawer/SettingsDrawer.js +19 -17
- package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/dist/components/ShareButton/ShareButton.css +254 -8
- package/dist/components/ShareButton/ShareButton.d.ts +6 -1
- package/dist/components/ShareButton/ShareButton.js +199 -41
- package/dist/components/ShareButton/ShareButton.js.map +1 -1
- package/dist/components/Snippet/Snippet.css +53 -17
- package/dist/components/Snippet/Snippet.d.ts +0 -1
- package/dist/components/Snippet/Snippet.js +3 -3
- package/dist/components/Snippet/Snippet.js.map +1 -1
- package/dist/components/StartPanel/StartPanel.css +733 -110
- package/dist/components/StartPanel/StartPanel.d.ts +5 -1
- package/dist/components/StartPanel/StartPanel.js +152 -64
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/Typing/Typing.d.ts +8 -2
- package/dist/components/Typing/Typing.js +41 -2
- package/dist/components/Typing/Typing.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.css +357 -326
- package/dist/components/UploadButton/UploadButton.d.ts +1 -0
- package/dist/components/UploadButton/UploadButton.js +60 -27
- package/dist/components/UploadButton/UploadButton.js.map +1 -1
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -2
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +13 -27
- package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/dist/components/UploadButton/UploadImages/UploadImages.js +22 -16
- package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
- package/dist/components/VenueWidget/VenueWidget.css +101 -41
- package/dist/components/VenueWidget/VenueWidget.d.ts +19 -1
- package/dist/components/VenueWidget/VenueWidget.js +140 -59
- package/dist/components/VenueWidget/VenueWidget.js.map +1 -1
- package/dist/components/WhyThisAnswer/WhyThisAnswer.css +20 -20
- package/dist/components/WhyThisAnswer/WhyThisAnswer.d.ts +0 -1
- package/dist/components/WhyThisAnswer/WhyThisAnswer.js +11 -8
- package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
- package/dist/components/icons/GasStation.d.ts +2 -3
- package/dist/components/layouts/Chat.js +194 -4
- package/dist/components/layouts/Chat.js.map +1 -1
- package/dist/components/layouts/FullPage.js +186 -4
- package/dist/components/layouts/FullPage.js.map +1 -1
- package/dist/components/layouts/HiddenChat.js +289 -12
- package/dist/components/layouts/HiddenChat.js.map +1 -1
- package/dist/components/layouts/Totem.js +2 -3
- package/dist/components/layouts/Totem.js.map +1 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +1 -1
- package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
- package/dist/components/layouts/ZoomedFullBody.js +185 -3
- package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
- package/dist/components/layouts/chat.css +273 -71
- package/dist/components/layouts/fullpage.css +25 -8
- package/dist/components/layouts/hidden-chat.css +329 -84
- package/dist/components/layouts/totem.css +23 -15
- package/dist/components/layouts/zoomed-full-body.css +144 -6
- package/dist/components/ui/Tooltip.js +3 -3
- package/dist/components/ui/Tooltip.js.map +1 -1
- package/dist/context/visemeContext.js.map +1 -1
- package/dist/helpers/chatPdfExport.js +15 -12
- package/dist/helpers/chatPdfExport.js.map +1 -1
- package/dist/helpers/configuration.js.map +1 -1
- package/dist/helpers/constants.js +25 -25
- package/dist/helpers/constants.js.map +1 -1
- package/dist/helpers/credits.d.ts +3 -3
- package/dist/helpers/credits.js.map +1 -1
- package/dist/helpers/error.js.map +1 -1
- package/dist/helpers/imageCompression.js.map +1 -1
- package/dist/helpers/llmUsage.js.map +1 -1
- package/dist/helpers/markedExtendedTables.js +1 -1
- package/dist/helpers/markedExtendedTables.js.map +1 -1
- package/dist/helpers/media.js.map +1 -1
- package/dist/helpers/message.js.map +1 -1
- package/dist/helpers/piiDetection.js +1 -2
- package/dist/helpers/piiDetection.js.map +1 -1
- package/dist/helpers/sanitizer.js +1 -2
- package/dist/helpers/sanitizer.js.map +1 -1
- package/dist/helpers/statistics.js.map +1 -1
- package/dist/helpers/stt/useSTT.d.ts +0 -1
- package/dist/helpers/stt/useSTT.js +1 -2
- package/dist/helpers/stt/useSTT.js.map +1 -1
- package/dist/helpers/tts/ttsVoiceUtility.js +8 -8
- package/dist/helpers/tts/ttsVoiceUtility.js.map +1 -1
- package/dist/helpers/tts/useTTS.d.ts +0 -1
- package/dist/helpers/tts/useTTS.js +1 -2
- package/dist/helpers/tts/useTTS.js.map +1 -1
- package/dist/helpers/utils.d.ts +2 -1
- package/dist/helpers/utils.js +8 -7
- package/dist/helpers/utils.js.map +1 -1
- package/dist/i18n.js +2 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.js +17 -17
- package/dist/index.js.map +1 -1
- package/dist/locales/de.json +67 -6
- package/dist/locales/en.json +67 -6
- package/dist/locales/es.json +67 -7
- package/dist/locales/fr.json +68 -7
- package/dist/locales/it.json +68 -7
- package/dist/styles.css +87 -52
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.css +35 -12
- package/esm/components/AgeVerificationModal/AgeVerificationModal.d.ts +0 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js +22 -10
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/esm/components/Auth/Auth.css +13 -9
- package/esm/components/Auth/Auth.d.ts +0 -1
- package/esm/components/Auth/Auth.js +14 -9
- package/esm/components/Auth/Auth.js.map +1 -1
- package/esm/components/Avatar/Avatar.css +2 -2
- package/esm/components/Avatar/Avatar.js +7 -7
- package/esm/components/Avatar/Avatar.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +0 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.d.ts +0 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.d.ts +0 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.d.ts +0 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.d.ts +0 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/components/loader.js.map +1 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +21 -21
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.d.ts +0 -1
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js +8 -9
- package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.js.map +1 -1
- package/esm/components/Avatar/AvatarView/index.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/hideHands.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/useEyeBlink.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/useHeadMovement.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/useLoadingMorphAnim.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/useMouthAnimation.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/useSmile.js.map +1 -1
- package/esm/components/Avatar/AvatarView/utils/utils.js.map +1 -1
- package/esm/components/Blob/Blob.css +14 -12
- package/esm/components/Blob/Blob.d.ts +0 -1
- package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.css +4 -4
- package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.d.ts +0 -1
- package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.js +3 -3
- package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.js.map +1 -1
- package/esm/components/ChangeMode/ChangeMode.css +4 -2
- package/esm/components/ChangeMode/ChangeMode.js +8 -3
- package/esm/components/ChangeMode/ChangeMode.js.map +1 -1
- package/esm/components/Chat/Chat.css +114 -38
- package/esm/components/Chat/Chat.js +35 -49
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.css +206 -68
- package/esm/components/ChatBubble/ChatBubble.d.ts +5 -0
- package/esm/components/ChatBubble/ChatBubble.js +223 -164
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.css +417 -156
- package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +0 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.js +252 -151
- package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +12 -3
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +18 -7
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
- package/esm/components/ChatInputs/ChatInputs.css +68 -51
- package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
- package/esm/components/ChatInputs/ChatInputs.js +51 -28
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/ChatTextArea/ChatTextArea.css +38 -12
- package/esm/components/ChatTextArea/ChatTextArea.js +1 -1
- package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +5 -5
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.d.ts +0 -1
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +5 -7
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.css +129 -84
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js +5 -4
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
- package/esm/components/CustomGLBModelViewer/ModelViewer.d.ts +0 -1
- package/esm/components/DateSelector/DateSelector.css +22 -24
- package/esm/components/DateSelector/DateSelector.d.ts +0 -1
- package/esm/components/DateSelector/DateSelector.js +2 -2
- package/esm/components/DateSelector/DateSelector.js.map +1 -1
- package/esm/components/DrawerFooter/DrawerFooter.js +1 -1
- package/esm/components/DrawerFooter/DrawerFooter.js.map +1 -1
- package/esm/components/ErrorBoundary/ErrorBoundary.js +3 -3
- package/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.css +6 -9
- package/esm/components/ExpertsDrawer/ExpertsDrawer.d.ts +0 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.js +1 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
- package/esm/components/ExportHistoryButton/ExportHistoryButton.css +3 -3
- package/esm/components/FeedbackButtons/FeedbackButtons.css +17 -15
- package/esm/components/FeedbackButtons/FeedbackButtons.d.ts +0 -1
- package/esm/components/FeedbackButtons/FeedbackButtons.js +32 -11
- package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
- package/esm/components/FilePreview/FilePreview.css +56 -40
- package/esm/components/FilePreview/FilePreview.d.ts +0 -1
- package/esm/components/FilePreview/FilePreview.js +11 -12
- package/esm/components/FilePreview/FilePreview.js.map +1 -1
- package/esm/components/Header/ChatConsumptionDropdown.d.ts +10 -2
- package/esm/components/Header/ChatConsumptionDropdown.js +34 -10
- package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
- package/esm/components/Header/Header.css +525 -62
- package/esm/components/Header/Header.d.ts +7 -1
- package/esm/components/Header/Header.js +359 -71
- package/esm/components/Header/Header.js.map +1 -1
- package/esm/components/KnownFacts/KnownFacts.css +52 -13
- package/esm/components/KnownFacts/KnownFacts.d.ts +2 -2
- package/esm/components/KnownFacts/KnownFacts.js +185 -129
- package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
- package/esm/components/LoginDrawer/LoginDrawer.css +377 -252
- package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
- package/esm/components/LoginDrawer/LoginDrawer.js +140 -32
- package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/esm/components/MediaWidget/MediaItemWidget.css +222 -176
- package/esm/components/MediaWidget/MediaItemWidget.js +14 -17
- package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
- package/esm/components/MediaWidget/MediaItemWidget.types.d.ts +0 -1
- package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
- package/esm/components/MediaWidget/MediaPreviewModal.d.ts +1 -1
- package/esm/components/MediaWidget/MediaPreviewModal.js +1 -1
- package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
- package/esm/components/MediaWidget/MediaWidget.css +5 -5
- package/esm/components/MediaWidget/MediaWidget.js +2 -3
- package/esm/components/MediaWidget/MediaWidget.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +83 -87
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +4 -8
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +23 -26
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -6
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js +8 -7
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +287 -277
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js +5 -5
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +117 -142
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +47 -45
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -134
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +9 -14
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +196 -166
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +41 -29
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +204 -205
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +4 -1
- package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +5 -1
- package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +1 -0
- package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +15 -4
- package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.css +16 -71
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +16 -10
- package/esm/components/MemoriWidget/MemoriWidget.js +197 -105
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MicrophoneButton/MicrophoneButton.css +25 -5
- package/esm/components/MicrophoneButton/MicrophoneButton.d.ts +2 -2
- package/esm/components/MicrophoneButton/MicrophoneButton.js +16 -12
- package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
- package/esm/components/MobileSessionPanel/MobileSessionPanel.css +48 -4
- package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +5 -1
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js +178 -59
- package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
- package/esm/components/PositionPopover/PositionPopover.js +2 -1
- package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
- package/esm/components/PoweredBy/PoweredBy.css +29 -27
- package/esm/components/PoweredBy/PoweredBy.d.ts +1 -2
- package/esm/components/PoweredBy/PoweredBy.js +4 -7
- package/esm/components/PoweredBy/PoweredBy.js.map +1 -1
- package/esm/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
- package/esm/components/SendOnEnterMenu/SendOnEnterMenu.js +3 -8
- package/esm/components/SendOnEnterMenu/SendOnEnterMenu.js.map +1 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.css +2 -2
- package/esm/components/SettingsDrawer/SettingsDrawer.d.ts +0 -1
- package/esm/components/SettingsDrawer/SettingsDrawer.js +19 -16
- package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
- package/esm/components/ShareButton/ShareButton.css +254 -8
- package/esm/components/ShareButton/ShareButton.d.ts +6 -1
- package/esm/components/ShareButton/ShareButton.js +200 -42
- package/esm/components/ShareButton/ShareButton.js.map +1 -1
- package/esm/components/Snippet/Snippet.css +53 -17
- package/esm/components/Snippet/Snippet.d.ts +0 -1
- package/esm/components/Snippet/Snippet.js +3 -3
- package/esm/components/Snippet/Snippet.js.map +1 -1
- package/esm/components/StartPanel/StartPanel.css +733 -110
- package/esm/components/StartPanel/StartPanel.d.ts +5 -1
- package/esm/components/StartPanel/StartPanel.js +154 -66
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/Typing/Typing.d.ts +8 -2
- package/esm/components/Typing/Typing.js +41 -2
- package/esm/components/Typing/Typing.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.css +357 -326
- package/esm/components/UploadButton/UploadButton.d.ts +1 -0
- package/esm/components/UploadButton/UploadButton.js +61 -28
- package/esm/components/UploadButton/UploadButton.js.map +1 -1
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +0 -2
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +13 -27
- package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
- package/esm/components/UploadButton/UploadImages/UploadImages.js +22 -16
- package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
- package/esm/components/VenueWidget/VenueWidget.css +101 -41
- package/esm/components/VenueWidget/VenueWidget.d.ts +19 -1
- package/esm/components/VenueWidget/VenueWidget.js +138 -61
- package/esm/components/VenueWidget/VenueWidget.js.map +1 -1
- package/esm/components/WhyThisAnswer/WhyThisAnswer.css +20 -20
- package/esm/components/WhyThisAnswer/WhyThisAnswer.d.ts +0 -1
- package/esm/components/WhyThisAnswer/WhyThisAnswer.js +10 -7
- package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
- package/esm/components/icons/GasStation.d.ts +2 -3
- package/esm/components/layouts/Chat.js +194 -4
- package/esm/components/layouts/Chat.js.map +1 -1
- package/esm/components/layouts/FullPage.js +186 -4
- package/esm/components/layouts/FullPage.js.map +1 -1
- package/esm/components/layouts/HiddenChat.js +290 -13
- package/esm/components/layouts/HiddenChat.js.map +1 -1
- package/esm/components/layouts/Totem.js +2 -2
- package/esm/components/layouts/Totem.js.map +1 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +1 -1
- package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
- package/esm/components/layouts/ZoomedFullBody.js +185 -3
- package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
- package/esm/components/layouts/chat.css +273 -71
- package/esm/components/layouts/fullpage.css +25 -8
- package/esm/components/layouts/hidden-chat.css +329 -84
- package/esm/components/layouts/totem.css +23 -15
- package/esm/components/layouts/zoomed-full-body.css +144 -6
- package/esm/components/ui/Tooltip.js +3 -3
- package/esm/components/ui/Tooltip.js.map +1 -1
- package/esm/context/visemeContext.js.map +1 -1
- package/esm/helpers/chatPdfExport.js +15 -12
- package/esm/helpers/chatPdfExport.js.map +1 -1
- package/esm/helpers/configuration.js.map +1 -1
- package/esm/helpers/constants.js +25 -25
- package/esm/helpers/constants.js.map +1 -1
- package/esm/helpers/credits.d.ts +3 -3
- package/esm/helpers/credits.js.map +1 -1
- package/esm/helpers/error.js.map +1 -1
- package/esm/helpers/imageCompression.js.map +1 -1
- package/esm/helpers/llmUsage.js.map +1 -1
- package/esm/helpers/markedExtendedTables.js.map +1 -1
- package/esm/helpers/media.js.map +1 -1
- package/esm/helpers/message.js.map +1 -1
- package/esm/helpers/piiDetection.js.map +1 -1
- package/esm/helpers/statistics.js.map +1 -1
- package/esm/helpers/stt/useSTT.d.ts +0 -1
- package/esm/helpers/stt/useSTT.js.map +1 -1
- package/esm/helpers/tts/ttsVoiceUtility.js.map +1 -1
- package/esm/helpers/tts/useTTS.d.ts +0 -1
- package/esm/helpers/tts/useTTS.js.map +1 -1
- package/esm/helpers/utils.d.ts +2 -1
- package/esm/helpers/utils.js +1 -0
- package/esm/helpers/utils.js.map +1 -1
- package/esm/i18n.js +2 -0
- package/esm/i18n.js.map +1 -1
- package/esm/index.js +17 -17
- package/esm/index.js.map +1 -1
- package/esm/locales/de.json +67 -6
- package/esm/locales/en.json +67 -6
- package/esm/locales/es.json +67 -7
- package/esm/locales/fr.json +68 -7
- package/esm/locales/it.json +68 -7
- package/esm/styles.css +87 -52
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/esm/version.js.map +1 -1
- package/package.json +15 -11
- package/src/Showcase.stories.tsx +641 -0
- package/src/__snapshots__/index.test.tsx.snap +40 -10
- package/src/components/AgeVerificationModal/AgeVerificationModal.css +35 -12
- package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +4 -1
- package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +2 -1
- package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +59 -39
- package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +27 -3
- package/src/components/Auth/Auth.css +13 -9
- package/src/components/Auth/Auth.tsx +30 -18
- package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +91 -35
- package/src/components/Avatar/Avatar.css +2 -2
- package/src/components/Avatar/Avatar.tsx +11 -8
- package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +1 -1
- package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +1 -1
- package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +21 -21
- package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +12 -14
- package/src/components/Blob/Blob.css +14 -12
- package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +4 -4
- package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +3 -3
- package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +115 -70
- package/src/components/ChangeMode/ChangeMode.css +4 -2
- package/src/components/ChangeMode/ChangeMode.tsx +29 -28
- package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +50 -80
- package/src/components/Chat/Chat.css +114 -38
- package/src/components/Chat/Chat.stories.tsx +15 -12
- package/src/components/Chat/Chat.test.tsx +11 -2
- package/src/components/Chat/Chat.tsx +136 -173
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +8260 -4942
- package/src/components/ChatBubble/ChatBubble.css +206 -68
- package/src/components/ChatBubble/ChatBubble.stories.tsx +13 -20
- package/src/components/ChatBubble/ChatBubble.test.tsx +5 -0
- package/src/components/ChatBubble/ChatBubble.tsx +505 -401
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +7753 -6638
- package/src/components/ChatHistoryDrawer/ChatHistory.css +417 -156
- package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +121 -82
- package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +65 -56
- package/src/components/ChatHistoryDrawer/ChatHistory.tsx +507 -513
- package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +367 -0
- package/src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx +296 -0
- package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +12 -15
- package/src/components/ChatInputs/ChatInputs.css +68 -51
- package/src/components/ChatInputs/ChatInputs.stories.tsx +13 -10
- package/src/components/ChatInputs/ChatInputs.tsx +80 -54
- package/src/components/ChatTextArea/ChatTextArea.css +38 -12
- package/src/components/ChatTextArea/ChatTextArea.tsx +7 -3
- package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +6 -0
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +5 -5
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +5 -7
- package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +63 -48
- package/src/components/ContentPreviewModal/ContentPreviewModal.css +129 -84
- package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +4 -3
- package/src/components/DateSelector/DateSelector.css +22 -24
- package/src/components/DateSelector/DateSelector.tsx +11 -4
- package/src/components/DrawerFooter/DrawerFooter.css +62 -0
- package/src/components/DrawerFooter/DrawerFooter.tsx +58 -0
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +3 -3
- package/src/components/ExpertsDrawer/ExpertsDrawer.css +6 -9
- package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +1 -1
- package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +4 -5
- package/src/components/ExportHistoryButton/ExportHistoryButton.css +3 -3
- package/src/components/FeedbackButtons/FeedbackButtons.css +17 -15
- package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +4 -1
- package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +1 -1
- package/src/components/FeedbackButtons/FeedbackButtons.tsx +104 -77
- package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +30 -17
- package/src/components/FilePreview/FilePreview.css +56 -40
- package/src/components/FilePreview/FilePreview.tsx +36 -27
- package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +165 -96
- package/src/components/Header/ChatConsumptionDropdown.test.tsx +41 -4
- package/src/components/Header/ChatConsumptionDropdown.tsx +190 -123
- package/src/components/Header/Header.css +525 -62
- package/src/components/Header/Header.stories.tsx +123 -57
- package/src/components/Header/Header.test.tsx +43 -15
- package/src/components/Header/Header.tsx +1037 -250
- package/src/components/Header/__snapshots__/Header.test.tsx.snap +1752 -700
- package/src/components/KnownFacts/KnownFacts.css +52 -13
- package/src/components/KnownFacts/KnownFacts.stories.tsx +11 -8
- package/src/components/KnownFacts/KnownFacts.test.tsx +1 -1
- package/src/components/KnownFacts/KnownFacts.tsx +327 -316
- package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +27 -3
- package/src/components/LoginDrawer/LoginDrawer.css +377 -252
- package/src/components/LoginDrawer/LoginDrawer.stories.tsx +3 -0
- package/src/components/LoginDrawer/LoginDrawer.test.tsx +1 -1
- package/src/components/LoginDrawer/LoginDrawer.tsx +301 -123
- package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +90 -12
- package/src/components/MediaWidget/DocumentCard.test.tsx +1 -1
- package/src/components/MediaWidget/MediaItemWidget.css +222 -176
- package/src/components/MediaWidget/MediaItemWidget.tsx +17 -31
- package/src/components/MediaWidget/MediaPreviewModal.test.tsx +1 -1
- package/src/components/MediaWidget/MediaPreviewModal.tsx +1 -1
- package/src/components/MediaWidget/MediaWidget.css +5 -5
- package/src/components/MediaWidget/MediaWidget.tsx +6 -16
- package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +280 -463
- package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +31 -45
- package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +17 -17
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +83 -87
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +32 -42
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +81 -84
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +8 -6
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +8 -7
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +287 -277
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +5 -5
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +117 -142
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +144 -155
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +4 -134
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +29 -45
- package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +196 -166
- package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +53 -27
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +204 -205
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -3
- package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +21 -10
- package/src/components/MemoriArtifactSystem/types/artifact.types.ts +2 -0
- package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +2 -1
- package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +15 -4
- package/src/components/MemoriWidget/MemoriWidget.css +16 -71
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +29 -8
- package/src/components/MemoriWidget/MemoriWidget.tsx +247 -131
- package/src/components/MicrophoneButton/MicrophoneButton.css +25 -5
- package/src/components/MicrophoneButton/MicrophoneButton.tsx +31 -24
- package/src/components/MobileSessionPanel/MobileSessionPanel.css +437 -0
- package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +795 -0
- package/src/components/PositionPopover/PositionPopover.css +219 -0
- package/src/components/PositionPopover/PositionPopover.stories.tsx +37 -0
- package/src/components/PositionPopover/PositionPopover.tsx +367 -0
- package/src/components/PoweredBy/PoweredBy.css +29 -27
- package/src/components/PoweredBy/PoweredBy.tsx +11 -19
- package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +248 -16
- package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +3 -3
- package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +30 -64
- package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +74 -26
- package/src/components/SettingsDrawer/SettingsDrawer.css +2 -2
- package/src/components/SettingsDrawer/SettingsDrawer.tsx +54 -65
- package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +28 -35
- package/src/components/ShareButton/ShareButton.css +254 -8
- package/src/components/ShareButton/ShareButton.stories.tsx +9 -4
- package/src/components/ShareButton/ShareButton.test.tsx +1 -1
- package/src/components/ShareButton/ShareButton.tsx +496 -142
- package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +639 -216
- package/src/components/Snippet/Snippet.css +53 -17
- package/src/components/Snippet/Snippet.tsx +5 -5
- package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +64 -48
- package/src/components/StartPanel/StartPanel.css +733 -110
- package/src/components/StartPanel/StartPanel.stories.tsx +54 -65
- package/src/components/StartPanel/StartPanel.test.tsx +26 -13
- package/src/components/StartPanel/StartPanel.tsx +555 -262
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +2602 -1346
- package/src/components/Typing/Typing.tsx +85 -7
- package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +102 -62
- package/src/components/UploadButton/UploadButton.css +357 -326
- package/src/components/UploadButton/UploadButton.stories.tsx +221 -87
- package/src/components/UploadButton/UploadButton.test.tsx +4 -1
- package/src/components/UploadButton/UploadButton.tsx +220 -167
- package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +14 -38
- package/src/components/UploadButton/UploadImages/UploadImages.tsx +76 -63
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +70 -75
- package/src/components/VenueWidget/VenueWidget.css +101 -41
- package/src/components/VenueWidget/VenueWidget.stories.tsx +4 -1
- package/src/components/VenueWidget/VenueWidget.test.tsx +1 -1
- package/src/components/VenueWidget/VenueWidget.tsx +311 -191
- package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +498 -92
- package/src/components/WhyThisAnswer/WhyThisAnswer.css +20 -20
- package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +21 -18
- package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +1 -1
- package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +20 -11
- package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +34 -4
- package/src/components/layouts/Chat.test.tsx +2 -1
- package/src/components/layouts/Chat.tsx +379 -17
- package/src/components/layouts/FullPage.test.tsx +2 -1
- package/src/components/layouts/FullPage.tsx +307 -14
- package/src/components/layouts/HiddenChat.test.tsx +2 -1
- package/src/components/layouts/HiddenChat.tsx +569 -44
- package/src/components/layouts/Totem.test.tsx +2 -1
- package/src/components/layouts/Totem.tsx +7 -3
- package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.stories.tsx +115 -0
- package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.test.tsx +43 -0
- package/src/components/layouts/{WebsiteAssistant.tsx → WebsiteAssistant/WebsiteAssistant.tsx} +29 -23
- package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +76 -0
- package/src/components/layouts/{website-assistant.css → WebsiteAssistant/website-assistant.css} +74 -58
- package/src/components/layouts/ZoomedFullBody.test.tsx +2 -1
- package/src/components/layouts/ZoomedFullBody.tsx +304 -14
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +663 -365
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +1170 -740
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +476 -339
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +624 -392
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +571 -356
- package/src/components/layouts/chat.css +273 -71
- package/src/components/layouts/fullpage.css +362 -0
- package/src/components/layouts/hidden-chat.css +329 -84
- package/src/components/layouts/layouts.stories.tsx +14 -146
- package/src/components/layouts/totem.css +23 -15
- package/src/components/layouts/zoomed-full-body.css +144 -6
- package/src/helpers/chatPdfExport.ts +15 -12
- package/src/helpers/constants.ts +28 -27
- package/src/helpers/utils.ts +2 -0
- package/src/i18n.ts +2 -0
- package/src/icons/FacebookIcon.tsx +23 -0
- package/src/icons/LinkedinIcon.tsx +23 -0
- package/src/icons/MemoriIcon.tsx +80 -0
- package/src/icons/TelegramIcon.tsx +19 -0
- package/src/icons/TwitterIcon.tsx +8 -0
- package/src/icons/WhatsappIcon.tsx +23 -0
- package/src/icons/artifacts/DocumentIcon.tsx +19 -0
- package/src/icons/artifacts/HtmlIcon.tsx +38 -0
- package/src/icons/artifacts/JavascriptIcon.tsx +19 -0
- package/src/icons/artifacts/MarkdownIcon.tsx +19 -0
- package/src/icons/artifacts/PythonIcon.tsx +17 -0
- package/src/icons/artifacts/SvgIcon.tsx +34 -0
- package/src/icons/artifacts/XmlIcon.tsx +34 -0
- package/src/icons/artifacts/cssIcon.tsx +34 -0
- package/src/index.stories.tsx +11 -5
- package/src/index.tsx +75 -72
- package/src/locales/de.json +67 -6
- package/src/locales/en.json +67 -6
- package/src/locales/es.json +67 -7
- package/src/locales/fr.json +68 -7
- package/src/locales/it.json +68 -7
- package/src/mocks/data.ts +5 -5
- package/src/styles.css +87 -52
- package/src/testUtils.tsx +42 -0
- package/src/version.ts +1 -1
- package/dist/helpers/userMessage.d.ts +0 -2
- package/dist/helpers/userMessage.js +0 -23
- package/dist/helpers/userMessage.js.map +0 -1
- package/esm/helpers/userMessage.d.ts +0 -2
- package/esm/helpers/userMessage.js +0 -18
- package/esm/helpers/userMessage.js.map +0 -1
- package/src/components/PositionDrawer/PositionDrawer.stories.tsx +0 -51
- package/src/components/PositionDrawer/PositionDrawer.test.tsx +0 -39
- package/src/components/PositionDrawer/PositionDrawer.tsx +0 -50
- package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +0 -17
- package/src/components/icons/AI.tsx +0 -34
- package/src/components/icons/Alert.tsx +0 -31
- package/src/components/icons/ArrowUp.tsx +0 -28
- package/src/components/icons/Bug.tsx +0 -81
- package/src/components/icons/Chat.tsx +0 -30
- package/src/components/icons/ChevronDown.tsx +0 -26
- package/src/components/icons/ChevronLeft.tsx +0 -28
- package/src/components/icons/ChevronRight.tsx +0 -28
- package/src/components/icons/ChevronUp.tsx +0 -24
- package/src/components/icons/Clear.tsx +0 -23
- package/src/components/icons/Close.tsx +0 -30
- package/src/components/icons/Code.tsx +0 -24
- package/src/components/icons/Copy.tsx +0 -23
- package/src/components/icons/DeepThought.tsx +0 -38
- package/src/components/icons/Delete.tsx +0 -23
- package/src/components/icons/Document.tsx +0 -50
- package/src/components/icons/Download.tsx +0 -23
- package/src/components/icons/Edit.tsx +0 -17
- package/src/components/icons/Expand.tsx +0 -23
- package/src/components/icons/Eye.tsx +0 -17
- package/src/components/icons/EyeInvisible.tsx +0 -24
- package/src/components/icons/Facebook.tsx +0 -23
- package/src/components/icons/Feedback.tsx +0 -24
- package/src/components/icons/File.tsx +0 -17
- package/src/components/icons/FileExcel.tsx +0 -23
- package/src/components/icons/FilePdf.tsx +0 -23
- package/src/components/icons/FileWord.tsx +0 -23
- package/src/components/icons/Fullscreen.tsx +0 -23
- package/src/components/icons/FullscreenExit.tsx +0 -23
- package/src/components/icons/Group.tsx +0 -30
- package/src/components/icons/History.tsx +0 -33
- package/src/components/icons/Image.tsx +0 -37
- package/src/components/icons/Info.tsx +0 -31
- package/src/components/icons/Link.tsx +0 -17
- package/src/components/icons/Linkedin.tsx +0 -23
- package/src/components/icons/Loading.tsx +0 -28
- package/src/components/icons/Logout.tsx +0 -27
- package/src/components/icons/Mail.tsx +0 -17
- package/src/components/icons/MapMarker.tsx +0 -26
- package/src/components/icons/MenuHorizontal.tsx +0 -29
- package/src/components/icons/MenuVertical.tsx +0 -29
- package/src/components/icons/Message.tsx +0 -23
- package/src/components/icons/Microphone.tsx +0 -23
- package/src/components/icons/Minus.tsx +0 -23
- package/src/components/icons/MinusCircle.tsx +0 -24
- package/src/components/icons/PaperClip.tsx +0 -23
- package/src/components/icons/Picture.tsx +0 -23
- package/src/components/icons/Plus.tsx +0 -18
- package/src/components/icons/Preview.tsx +0 -29
- package/src/components/icons/Print.tsx +0 -34
- package/src/components/icons/QuestionHelp.tsx +0 -30
- package/src/components/icons/Refresh.tsx +0 -30
- package/src/components/icons/SelectIcon.tsx +0 -28
- package/src/components/icons/Send.tsx +0 -17
- package/src/components/icons/Setting.tsx +0 -23
- package/src/components/icons/Share.tsx +0 -23
- package/src/components/icons/Sound.tsx +0 -23
- package/src/components/icons/SoundDeactivated.tsx +0 -27
- package/src/components/icons/Telegram.tsx +0 -26
- package/src/components/icons/ThumbDown.tsx +0 -29
- package/src/components/icons/ThumbUp.tsx +0 -29
- package/src/components/icons/Translation.tsx +0 -24
- package/src/components/icons/Twitter.tsx +0 -23
- package/src/components/icons/Upload.tsx +0 -34
- package/src/components/icons/User.tsx +0 -17
- package/src/components/icons/Warning.tsx +0 -24
- package/src/components/icons/WhatsApp.tsx +0 -24
- package/src/components/icons/icons.stories.css +0 -5
- package/src/components/icons/icons.stories.tsx +0 -81
- package/src/components/icons/loading.css +0 -14
- package/src/components/layouts/WebsiteAssistant.test.tsx +0 -40
- package/src/components/layouts/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -59
- package/src/components/ui/Alert.css +0 -93
- package/src/components/ui/Alert.stories.tsx +0 -137
- package/src/components/ui/Alert.test.tsx +0 -129
- package/src/components/ui/Alert.tsx +0 -123
- package/src/components/ui/Button.css +0 -167
- package/src/components/ui/Button.stories.tsx +0 -156
- package/src/components/ui/Button.test.tsx +0 -74
- package/src/components/ui/Button.tsx +0 -107
- package/src/components/ui/Card.css +0 -65
- package/src/components/ui/Card.stories.tsx +0 -95
- package/src/components/ui/Card.test.tsx +0 -47
- package/src/components/ui/Card.tsx +0 -48
- package/src/components/ui/Checkbox.css +0 -116
- package/src/components/ui/Checkbox.stories.tsx +0 -74
- package/src/components/ui/Checkbox.test.tsx +0 -28
- package/src/components/ui/Checkbox.tsx +0 -58
- package/src/components/ui/ConfirmDialog.css +0 -42
- package/src/components/ui/ConfirmDialog.stories.tsx +0 -216
- package/src/components/ui/ConfirmDialog.test.tsx +0 -124
- package/src/components/ui/ConfirmDialog.tsx +0 -58
- package/src/components/ui/Details.css +0 -66
- package/src/components/ui/Drawer.css +0 -270
- package/src/components/ui/Drawer.stories.tsx +0 -267
- package/src/components/ui/Drawer.test.tsx +0 -130
- package/src/components/ui/Drawer.tsx +0 -293
- package/src/components/ui/Dropdown.css +0 -173
- package/src/components/ui/Dropdown.tsx +0 -63
- package/src/components/ui/Expandable.css +0 -15
- package/src/components/ui/Expandable.stories.tsx +0 -180
- package/src/components/ui/Expandable.test.tsx +0 -107
- package/src/components/ui/Expandable.tsx +0 -121
- package/src/components/ui/Modal.css +0 -98
- package/src/components/ui/Modal.stories.tsx +0 -171
- package/src/components/ui/Modal.test.tsx +0 -111
- package/src/components/ui/Modal.tsx +0 -117
- package/src/components/ui/Select.css +0 -138
- package/src/components/ui/Select.stories.tsx +0 -79
- package/src/components/ui/Select.test.tsx +0 -84
- package/src/components/ui/Select.tsx +0 -79
- package/src/components/ui/Slider.css +0 -192
- package/src/components/ui/Slider.stories.tsx +0 -63
- package/src/components/ui/Slider.tsx +0 -142
- package/src/components/ui/Spin.css +0 -31
- package/src/components/ui/Spin.stories.tsx +0 -64
- package/src/components/ui/Spin.test.tsx +0 -41
- package/src/components/ui/Spin.tsx +0 -31
- package/src/components/ui/Table.css +0 -132
- package/src/components/ui/Tooltip.css +0 -171
- package/src/components/ui/Tooltip.stories.tsx +0 -109
- package/src/components/ui/Tooltip.test.tsx +0 -102
- package/src/components/ui/Tooltip.tsx +0 -162
- package/src/components/ui/__snapshots__/Alert.test.tsx.snap +0 -59
- package/src/components/ui/__snapshots__/Button.test.tsx.snap +0 -204
- package/src/components/ui/__snapshots__/Card.test.tsx.snap +0 -321
- package/src/components/ui/__snapshots__/Checkbox.test.tsx.snap +0 -131
- package/src/components/ui/__snapshots__/ConfirmDialog.test.tsx.snap +0 -35
- package/src/components/ui/__snapshots__/Drawer.test.tsx.snap +0 -67
- package/src/components/ui/__snapshots__/Expandable.test.tsx.snap +0 -159
- package/src/components/ui/__snapshots__/Modal.test.tsx.snap +0 -59
- package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -254
- package/src/components/ui/__snapshots__/Spin.test.tsx.snap +0 -193
- package/src/components/ui/__snapshots__/Tooltip.test.tsx.snap +0 -113
- package/src/components/ui/definitions.stories.tsx +0 -139
|
@@ -5,6 +5,7 @@ import LoginDrawer, { Props } from './LoginDrawer';
|
|
|
5
5
|
import { tenant, user } from '../../mocks/data';
|
|
6
6
|
import memoriApiClient from '@memori.ai/memori-api-client';
|
|
7
7
|
import './LoginDrawer.css';
|
|
8
|
+
import { AlertProvider } from '@memori.ai/ui';
|
|
8
9
|
|
|
9
10
|
const meta: Meta = {
|
|
10
11
|
title: 'Widget/LoginDrawer',
|
|
@@ -26,6 +27,7 @@ export default meta;
|
|
|
26
27
|
const Template: Story<Props> = args => {
|
|
27
28
|
return (
|
|
28
29
|
<I18nWrapper>
|
|
30
|
+
<AlertProvider defaultDuration={5000}>
|
|
29
31
|
<LoginDrawer
|
|
30
32
|
{...args}
|
|
31
33
|
onClose={() => {}}
|
|
@@ -34,6 +36,7 @@ const Template: Story<Props> = args => {
|
|
|
34
36
|
tenant={tenant}
|
|
35
37
|
apiClient={memoriApiClient()}
|
|
36
38
|
/>
|
|
39
|
+
</AlertProvider>
|
|
37
40
|
</I18nWrapper>
|
|
38
41
|
);
|
|
39
42
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { render } from '
|
|
2
|
+
import { render } from '../../testUtils';
|
|
3
3
|
import LoginDrawer from './LoginDrawer';
|
|
4
4
|
import { tenant, user } from '../../mocks/data';
|
|
5
5
|
import memoriApiClient from '@memori.ai/memori-api-client';
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
import { User, Tenant } from '@memori.ai/memori-api-client/dist/types';
|
|
2
|
-
import React, { useEffect, useState } from 'react';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import {
|
|
4
|
+
Button,
|
|
5
|
+
Checkbox,
|
|
6
|
+
Drawer,
|
|
7
|
+
Input,
|
|
8
|
+
useAlertManager,
|
|
9
|
+
createAlertOptions,
|
|
10
|
+
Card,
|
|
11
|
+
Form,
|
|
12
|
+
} from '@memori.ai/ui';
|
|
6
13
|
import { useTranslation } from 'react-i18next';
|
|
7
14
|
import cx from 'classnames';
|
|
8
15
|
import memoriApiClient from '@memori.ai/memori-api-client';
|
|
9
16
|
import { getErrori18nKey } from '../../helpers/error';
|
|
10
17
|
import { mailRegEx, pwdRegEx } from '../../helpers/utils';
|
|
18
|
+
import {
|
|
19
|
+
AlertTriangle,
|
|
20
|
+
ArrowLeftIcon,
|
|
21
|
+
Check,
|
|
22
|
+
RefreshCcwIcon,
|
|
23
|
+
} from 'lucide-react';
|
|
11
24
|
|
|
12
25
|
export interface Props {
|
|
13
26
|
open?: boolean;
|
|
@@ -36,9 +49,9 @@ const LoginDrawer = ({
|
|
|
36
49
|
apiClient,
|
|
37
50
|
__TEST__signup = false,
|
|
38
51
|
__TEST__needMissingData = false,
|
|
39
|
-
drawerClassName,
|
|
40
52
|
}: Props) => {
|
|
41
53
|
const { t, i18n } = useTranslation();
|
|
54
|
+
const { add } = useAlertManager();
|
|
42
55
|
const lang = i18n.language === 'it' ? 'it' : 'en';
|
|
43
56
|
|
|
44
57
|
const {
|
|
@@ -66,11 +79,15 @@ const LoginDrawer = ({
|
|
|
66
79
|
const [isResending, setIsResending] = useState(false);
|
|
67
80
|
const [otpSuccess, setOtpSuccess] = useState(false);
|
|
68
81
|
const [emailValid, setEmailValid] = useState(false);
|
|
82
|
+
const [otpFocusedIndex, setOtpFocusedIndex] = useState(0);
|
|
69
83
|
const [birthDate, setBirthDate] = useState<string>('');
|
|
84
|
+
const [isBirthDateFocused, setIsBirthDateFocused] = useState(false);
|
|
85
|
+
const [isMobileViewport, setIsMobileViewport] = useState(false);
|
|
70
86
|
const [tnCAndPPAccepted, setTnCAndPPAccepted] = useState(false);
|
|
71
87
|
const [pAndCUAccepted, setPAndCUAccepted] = useState(false);
|
|
72
88
|
|
|
73
89
|
const [showSignup, setShowSignup] = useState(__TEST__signup);
|
|
90
|
+
const otpInputRefs = useRef<Array<HTMLInputElement | null>>([]);
|
|
74
91
|
const [needsMissingData, setNeedsMissingData] = useState<{
|
|
75
92
|
token: string;
|
|
76
93
|
birthDate?: boolean;
|
|
@@ -98,6 +115,14 @@ const LoginDrawer = ({
|
|
|
98
115
|
};
|
|
99
116
|
}, [otpTimer]);
|
|
100
117
|
|
|
118
|
+
useEffect(() => {
|
|
119
|
+
const mediaQuery = window.matchMedia('(max-width: 768px)');
|
|
120
|
+
const onChange = () => setIsMobileViewport(mediaQuery.matches);
|
|
121
|
+
onChange();
|
|
122
|
+
mediaQuery.addEventListener('change', onChange);
|
|
123
|
+
return () => mediaQuery.removeEventListener('change', onChange);
|
|
124
|
+
}, []);
|
|
125
|
+
|
|
101
126
|
// Send OTP to email
|
|
102
127
|
const sendOtpToEmail = async (email: string, isResend = false) => {
|
|
103
128
|
if (!email || !mailRegEx.test(email)) {
|
|
@@ -119,7 +144,12 @@ const LoginDrawer = ({
|
|
|
119
144
|
});
|
|
120
145
|
|
|
121
146
|
if (response.resultCode === 0) {
|
|
122
|
-
|
|
147
|
+
add(
|
|
148
|
+
createAlertOptions({
|
|
149
|
+
description: isResend ? t('login.otpResent') : t('login.otpSent'),
|
|
150
|
+
severity: 'success',
|
|
151
|
+
})
|
|
152
|
+
);
|
|
123
153
|
setOtpEmail(email.trim());
|
|
124
154
|
setOtpSent(true);
|
|
125
155
|
setShowOtpCodeForm(true);
|
|
@@ -162,7 +192,12 @@ const LoginDrawer = ({
|
|
|
162
192
|
|
|
163
193
|
if (response.resultCode === 0) {
|
|
164
194
|
setOtpSuccess(true);
|
|
165
|
-
|
|
195
|
+
add(
|
|
196
|
+
createAlertOptions({
|
|
197
|
+
description: t('login.otpSuccess'),
|
|
198
|
+
severity: 'success',
|
|
199
|
+
})
|
|
200
|
+
);
|
|
166
201
|
|
|
167
202
|
// Add a small delay for better UX
|
|
168
203
|
setTimeout(async () => {
|
|
@@ -187,7 +222,12 @@ const LoginDrawer = ({
|
|
|
187
222
|
}
|
|
188
223
|
} catch (err) {
|
|
189
224
|
console.error('[GET USER]', err);
|
|
190
|
-
|
|
225
|
+
add(
|
|
226
|
+
createAlertOptions({
|
|
227
|
+
description: t('login.userFetchError'),
|
|
228
|
+
severity: 'error',
|
|
229
|
+
})
|
|
230
|
+
);
|
|
191
231
|
}
|
|
192
232
|
}, 1000);
|
|
193
233
|
|
|
@@ -220,14 +260,110 @@ const LoginDrawer = ({
|
|
|
220
260
|
}
|
|
221
261
|
};
|
|
222
262
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
263
|
+
useEffect(() => {
|
|
264
|
+
if (showOtpCodeForm && !loading) {
|
|
265
|
+
window.setTimeout(() => {
|
|
266
|
+
otpInputRefs.current[0]?.focus();
|
|
267
|
+
}, 50);
|
|
268
|
+
}
|
|
269
|
+
}, [showOtpCodeForm, loading]);
|
|
270
|
+
|
|
271
|
+
const handleOtpDigitChange = (index: number, value: string) => {
|
|
272
|
+
const digits = value.replace(/\D/g, '');
|
|
273
|
+
const current = otpCode.padEnd(4, ' ').split('');
|
|
274
|
+
|
|
275
|
+
if (!digits.length) {
|
|
276
|
+
current[index] = ' ';
|
|
277
|
+
setOtpCode(current.join('').replace(/\s/g, ''));
|
|
278
|
+
setOtpError(null);
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if (digits.length > 1) {
|
|
283
|
+
const next = [...current];
|
|
284
|
+
digits
|
|
285
|
+
.slice(0, 4)
|
|
286
|
+
.split('')
|
|
287
|
+
.forEach((digit, i) => {
|
|
288
|
+
if (index + i < 4) {
|
|
289
|
+
next[index + i] = digit;
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
const nextCode = next.join('').replace(/\s/g, '').slice(0, 4);
|
|
293
|
+
setOtpCode(nextCode);
|
|
294
|
+
setOtpError(null);
|
|
295
|
+
const nextFocus = Math.min(index + digits.length, 3);
|
|
296
|
+
otpInputRefs.current[nextFocus]?.focus();
|
|
297
|
+
setOtpFocusedIndex(nextFocus);
|
|
298
|
+
if (nextCode.length === 4 && otpEmail.trim().length > 0) {
|
|
299
|
+
validateOtp(nextCode);
|
|
300
|
+
}
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
current[index] = digits[0];
|
|
305
|
+
const nextCode = current.join('').replace(/\s/g, '').slice(0, 4);
|
|
306
|
+
setOtpCode(nextCode);
|
|
227
307
|
setOtpError(null);
|
|
308
|
+
if (nextCode.length === 4 && otpEmail.trim().length > 0) {
|
|
309
|
+
validateOtp(nextCode);
|
|
310
|
+
}
|
|
311
|
+
if (index < 3) {
|
|
312
|
+
otpInputRefs.current[index + 1]?.focus();
|
|
313
|
+
setOtpFocusedIndex(index + 1);
|
|
314
|
+
}
|
|
315
|
+
};
|
|
228
316
|
|
|
229
|
-
|
|
230
|
-
|
|
317
|
+
const handleOtpDigitKeyDown = (
|
|
318
|
+
index: number,
|
|
319
|
+
event: React.KeyboardEvent<HTMLInputElement>
|
|
320
|
+
) => {
|
|
321
|
+
if (event.key === 'Backspace' && !otpCode[index] && index > 0) {
|
|
322
|
+
otpInputRefs.current[index - 1]?.focus();
|
|
323
|
+
setOtpFocusedIndex(index - 1);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
if (event.key === 'ArrowLeft' && index > 0) {
|
|
327
|
+
event.preventDefault();
|
|
328
|
+
otpInputRefs.current[index - 1]?.focus();
|
|
329
|
+
setOtpFocusedIndex(index - 1);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
if (event.key === 'ArrowRight' && index < 3) {
|
|
333
|
+
event.preventDefault();
|
|
334
|
+
otpInputRefs.current[index + 1]?.focus();
|
|
335
|
+
setOtpFocusedIndex(index + 1);
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
const handleOtpDigitPaste = (
|
|
340
|
+
index: number,
|
|
341
|
+
event: React.ClipboardEvent<HTMLInputElement>
|
|
342
|
+
) => {
|
|
343
|
+
const pasted = event.clipboardData.getData('text');
|
|
344
|
+
const digits = pasted.replace(/\D/g, '').slice(0, 4);
|
|
345
|
+
|
|
346
|
+
if (!digits.length) return;
|
|
347
|
+
|
|
348
|
+
event.preventDefault();
|
|
349
|
+
|
|
350
|
+
const current = otpCode.padEnd(4, ' ').split('');
|
|
351
|
+
digits.split('').forEach((digit, i) => {
|
|
352
|
+
if (index + i < 4) {
|
|
353
|
+
current[index + i] = digit;
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
|
|
357
|
+
const nextCode = current.join('').replace(/\s/g, '').slice(0, 4);
|
|
358
|
+
setOtpCode(nextCode);
|
|
359
|
+
setOtpError(null);
|
|
360
|
+
|
|
361
|
+
const nextFocus = Math.min(index + digits.length, 3);
|
|
362
|
+
otpInputRefs.current[nextFocus]?.focus();
|
|
363
|
+
setOtpFocusedIndex(nextFocus);
|
|
364
|
+
|
|
365
|
+
if (nextCode.length === 4 && otpEmail.trim().length > 0) {
|
|
366
|
+
validateOtp(nextCode);
|
|
231
367
|
}
|
|
232
368
|
};
|
|
233
369
|
|
|
@@ -257,7 +393,7 @@ const LoginDrawer = ({
|
|
|
257
393
|
setError(t('login.userNotFound'));
|
|
258
394
|
return;
|
|
259
395
|
}
|
|
260
|
-
|
|
396
|
+
if (!birthDate || !tnCAndPPAccepted) {
|
|
261
397
|
setError(t('missingData'));
|
|
262
398
|
return;
|
|
263
399
|
}
|
|
@@ -283,10 +419,17 @@ const LoginDrawer = ({
|
|
|
283
419
|
);
|
|
284
420
|
if (resp.resultCode !== 0) {
|
|
285
421
|
console.error(resp);
|
|
286
|
-
|
|
422
|
+
add(
|
|
423
|
+
createAlertOptions({
|
|
424
|
+
description: t(getErrori18nKey(resp.resultCode)),
|
|
425
|
+
severity: 'error',
|
|
426
|
+
})
|
|
427
|
+
);
|
|
287
428
|
setError(resp.resultMessage);
|
|
288
429
|
} else {
|
|
289
|
-
|
|
430
|
+
add(
|
|
431
|
+
createAlertOptions({ description: t('success'), severity: 'success' })
|
|
432
|
+
);
|
|
290
433
|
onLogin(patchedUser || newUser, needsMissingData.token);
|
|
291
434
|
}
|
|
292
435
|
};
|
|
@@ -298,14 +441,17 @@ const LoginDrawer = ({
|
|
|
298
441
|
className={cx('memori--login-drawer', {
|
|
299
442
|
'memori--login-drawer--logged': isUserLoggedIn,
|
|
300
443
|
'memori--login-drawer--signup': showSignup,
|
|
301
|
-
}
|
|
444
|
+
})}
|
|
445
|
+
size="lg"
|
|
446
|
+
title={t('login.title')}
|
|
302
447
|
>
|
|
303
448
|
{needsMissingData?.token?.length ? (
|
|
304
|
-
|
|
449
|
+
<div className="memori--login-drawer--missing-data">
|
|
305
450
|
<h3>{t('login.missingData')}</h3>
|
|
306
451
|
<p>{t('login.missingDataHelper')}</p>
|
|
307
452
|
|
|
308
|
-
<
|
|
453
|
+
<Form
|
|
454
|
+
name="updateMissingData"
|
|
309
455
|
className="memori--login-drawer--form"
|
|
310
456
|
onSubmit={updateMissingData}
|
|
311
457
|
>
|
|
@@ -313,13 +459,24 @@ const LoginDrawer = ({
|
|
|
313
459
|
<>
|
|
314
460
|
<label htmlFor="#birthDate">
|
|
315
461
|
{t('login.birthDate')}
|
|
316
|
-
<
|
|
462
|
+
<Input
|
|
317
463
|
id="birthDate"
|
|
318
464
|
name="birthDate"
|
|
319
|
-
type=
|
|
465
|
+
type={
|
|
466
|
+
isMobileViewport && !birthDate && !isBirthDateFocused
|
|
467
|
+
? 'text'
|
|
468
|
+
: 'date'
|
|
469
|
+
}
|
|
320
470
|
required
|
|
321
471
|
onChange={e => setBirthDate(e.target.value)}
|
|
322
472
|
value={birthDate}
|
|
473
|
+
placeholder={
|
|
474
|
+
isMobileViewport
|
|
475
|
+
? t('login.birthDatePlaceholder') || 'DD/MM/YYYY'
|
|
476
|
+
: undefined
|
|
477
|
+
}
|
|
478
|
+
onFocus={() => setIsBirthDateFocused(true)}
|
|
479
|
+
onBlur={() => setIsBirthDateFocused(false)}
|
|
323
480
|
autoComplete="bday"
|
|
324
481
|
/>
|
|
325
482
|
</label>
|
|
@@ -333,14 +490,11 @@ const LoginDrawer = ({
|
|
|
333
490
|
<>
|
|
334
491
|
<label className="memori-checkbox">
|
|
335
492
|
<span className="memori-checkbox--input-wrapper">
|
|
336
|
-
<
|
|
337
|
-
type="checkbox"
|
|
493
|
+
<Checkbox
|
|
338
494
|
name="tnCAndPPAccepted"
|
|
339
|
-
className="memori-checkbox--input"
|
|
340
|
-
onChange={e => setTnCAndPPAccepted(e.target.checked)}
|
|
341
495
|
checked={tnCAndPPAccepted}
|
|
496
|
+
onChange={checked => setTnCAndPPAccepted(checked)}
|
|
342
497
|
/>
|
|
343
|
-
<span className="memori-checkbox--inner" />
|
|
344
498
|
</span>
|
|
345
499
|
<span className="memori-checkbox--text">
|
|
346
500
|
{t('login.privacyLabel')}{' '}
|
|
@@ -364,14 +518,11 @@ const LoginDrawer = ({
|
|
|
364
518
|
|
|
365
519
|
<label className="memori-checkbox">
|
|
366
520
|
<span className="memori-checkbox--input-wrapper">
|
|
367
|
-
<
|
|
368
|
-
type="checkbox"
|
|
521
|
+
<Checkbox
|
|
369
522
|
name="pAndCUAccepted"
|
|
370
|
-
onChange={e => setPAndCUAccepted(e.target.checked)}
|
|
371
523
|
checked={pAndCUAccepted}
|
|
372
|
-
|
|
524
|
+
onChange={checked => setPAndCUAccepted(checked)}
|
|
373
525
|
/>
|
|
374
|
-
<span className="memori-checkbox--inner" />
|
|
375
526
|
</span>
|
|
376
527
|
<span className="memori-checkbox--text">
|
|
377
528
|
{t('login.pAndCUAccepted')}{' '}
|
|
@@ -393,71 +544,94 @@ const LoginDrawer = ({
|
|
|
393
544
|
<p className="memori--login-drawer--inline-error">{error}</p>
|
|
394
545
|
)}
|
|
395
546
|
|
|
396
|
-
<Button
|
|
547
|
+
<Button type="submit" variant="primary" loading={loading}>
|
|
397
548
|
{t('login.save')}
|
|
398
549
|
</Button>
|
|
399
|
-
</
|
|
400
|
-
|
|
550
|
+
</Form>
|
|
551
|
+
</div>
|
|
401
552
|
) : showOtpCodeForm ? (
|
|
402
553
|
<>
|
|
403
|
-
<
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
554
|
+
<Card
|
|
555
|
+
className="memori--login-drawer--otp-card memori--login-drawer--otp-card--code"
|
|
556
|
+
variant="flat"
|
|
557
|
+
padding="md"
|
|
558
|
+
title={
|
|
559
|
+
otpSuccess ? (
|
|
560
|
+
<span className="memori--login-drawer--otp-card-title">
|
|
561
|
+
<span
|
|
562
|
+
className="memori--login-drawer--otp-icon"
|
|
563
|
+
aria-hidden="true"
|
|
564
|
+
>
|
|
565
|
+
<Check className="icon" />
|
|
566
|
+
</span>
|
|
567
|
+
{t('login.otpTitle')}
|
|
568
|
+
</span>
|
|
569
|
+
) : (
|
|
570
|
+
t('login.otpTitle')
|
|
571
|
+
)
|
|
572
|
+
}
|
|
573
|
+
description={
|
|
574
|
+
otpSuccess
|
|
575
|
+
? t('login.otpSuccessMessage')
|
|
576
|
+
: t('login.otpCodeDescription', { email: otpEmail })
|
|
577
|
+
}
|
|
578
|
+
>
|
|
416
579
|
{!otpSuccess && (
|
|
417
580
|
<div
|
|
418
|
-
className={cx(
|
|
581
|
+
className={cx(
|
|
582
|
+
'memori--login-drawer--otp-form memori--login-drawer--otp-form--code',
|
|
583
|
+
{ loading }
|
|
584
|
+
)}
|
|
419
585
|
>
|
|
420
|
-
<
|
|
421
|
-
htmlFor="otp-code"
|
|
586
|
+
<fieldset
|
|
422
587
|
className="memori--login-drawer--otp-label"
|
|
588
|
+
aria-describedby="otp-help"
|
|
423
589
|
>
|
|
424
|
-
<
|
|
590
|
+
<legend
|
|
425
591
|
className="memori--login-drawer--otp-label-text"
|
|
426
592
|
style={{ textAlign: 'center' }}
|
|
427
593
|
>
|
|
428
594
|
{t('login.otpCode')}
|
|
429
|
-
</
|
|
430
|
-
<div className="memori--login-drawer--otp-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
595
|
+
</legend>
|
|
596
|
+
<div className="memori--login-drawer--otp-segmented-inputs">
|
|
597
|
+
{[0, 1, 2, 3].map(index => (
|
|
598
|
+
<Input
|
|
599
|
+
key={index}
|
|
600
|
+
id={index === 0 ? 'otp-code' : `otp-code-${index}`}
|
|
601
|
+
name={`otp-code-${index}`}
|
|
602
|
+
aria-label={`${t('login.otpCode')} ${index + 1} / 4`}
|
|
603
|
+
type="text"
|
|
604
|
+
inputMode="numeric"
|
|
605
|
+
pattern="[0-9]*"
|
|
606
|
+
enterKeyHint={index === 3 ? 'done' : 'next'}
|
|
607
|
+
autoComplete={index === 0 ? 'one-time-code' : 'off'}
|
|
608
|
+
spellCheck={false}
|
|
609
|
+
className={cx('memori--login-drawer--otp-digit-input', {
|
|
610
|
+
active: otpFocusedIndex === index,
|
|
611
|
+
success: otpCode.length === 4 && !otpError,
|
|
612
|
+
error: otpError,
|
|
613
|
+
loading: loading,
|
|
614
|
+
})}
|
|
615
|
+
value={otpCode[index] || ''}
|
|
616
|
+
onChange={e =>
|
|
617
|
+
handleOtpDigitChange(index, e.target.value)
|
|
618
|
+
}
|
|
619
|
+
onFocus={() => setOtpFocusedIndex(index)}
|
|
620
|
+
onKeyDown={e => handleOtpDigitKeyDown(index, e)}
|
|
621
|
+
onPaste={e => handleOtpDigitPaste(index, e)}
|
|
622
|
+
maxLength={1}
|
|
623
|
+
required
|
|
624
|
+
disabled={loading}
|
|
625
|
+
ref={el => {
|
|
626
|
+
otpInputRefs.current[index] = el;
|
|
627
|
+
}}
|
|
628
|
+
/>
|
|
629
|
+
))}
|
|
453
630
|
</div>
|
|
454
|
-
<
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
{t('login.otpHelp')}
|
|
459
|
-
</small>
|
|
460
|
-
</label>
|
|
631
|
+
<p id="otp-help" className="sr-only">
|
|
632
|
+
{t('login.otpCodeDescription', { email: otpEmail })}
|
|
633
|
+
</p>
|
|
634
|
+
</fieldset>
|
|
461
635
|
</div>
|
|
462
636
|
)}
|
|
463
637
|
|
|
@@ -471,19 +645,20 @@ const LoginDrawer = ({
|
|
|
471
645
|
{!otpSuccess && (
|
|
472
646
|
<div className="memori--login-drawer--otp-actions">
|
|
473
647
|
<Button
|
|
474
|
-
|
|
648
|
+
variant="ghost"
|
|
475
649
|
onClick={() => {
|
|
476
650
|
setShowOtpCodeForm(false);
|
|
477
651
|
setOtpCode('');
|
|
478
652
|
setOtpError(null);
|
|
479
653
|
}}
|
|
480
654
|
disabled={loading}
|
|
655
|
+
icon={<ArrowLeftIcon className="icon" />}
|
|
481
656
|
>
|
|
482
657
|
{t('login.backToEmail')}
|
|
483
658
|
</Button>
|
|
484
659
|
|
|
485
660
|
<Button
|
|
486
|
-
|
|
661
|
+
variant="ghost"
|
|
487
662
|
onClick={handleResendOtp}
|
|
488
663
|
disabled={
|
|
489
664
|
loading ||
|
|
@@ -492,31 +667,41 @@ const LoginDrawer = ({
|
|
|
492
667
|
!otpEmail
|
|
493
668
|
}
|
|
494
669
|
loading={isResending}
|
|
670
|
+
icon={<RefreshCcwIcon className="icon" />}
|
|
495
671
|
>
|
|
496
672
|
{isResending ? t('login.resending') : t('login.resendOtp')}
|
|
497
673
|
</Button>
|
|
498
674
|
</div>
|
|
499
675
|
)}
|
|
500
|
-
|
|
501
676
|
{otpError && (
|
|
502
677
|
<div role="alert" className="memori--login-drawer--otp-error">
|
|
503
|
-
<span
|
|
678
|
+
<span
|
|
679
|
+
className="memori--login-drawer--otp-error-icon"
|
|
680
|
+
aria-hidden="true"
|
|
681
|
+
>
|
|
682
|
+
<AlertTriangle className="icon" />
|
|
683
|
+
</span>
|
|
504
684
|
<span>{otpError}</span>
|
|
505
685
|
</div>
|
|
506
686
|
)}
|
|
507
|
-
</
|
|
687
|
+
</Card>
|
|
508
688
|
</>
|
|
509
689
|
) : showOtpForm ? (
|
|
510
690
|
<>
|
|
511
|
-
<
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
691
|
+
<Card
|
|
692
|
+
className="memori--login-drawer--otp-card"
|
|
693
|
+
variant="flat"
|
|
694
|
+
padding="md"
|
|
695
|
+
title={
|
|
696
|
+
<h3 className="memori--login-drawer--otp-card-heading">
|
|
697
|
+
{t('login.otpEmailTitle')}
|
|
698
|
+
</h3>
|
|
699
|
+
}
|
|
700
|
+
description={t('login.otpEmailDescription')}
|
|
701
|
+
>
|
|
702
|
+
<p id="email-help" className="sr-only">
|
|
703
|
+
{t('login.otpEmailDescription')}
|
|
704
|
+
</p>
|
|
520
705
|
<div className={cx('memori--login-drawer--otp-form', { loading })}>
|
|
521
706
|
<label
|
|
522
707
|
htmlFor="otp-email"
|
|
@@ -526,8 +711,9 @@ const LoginDrawer = ({
|
|
|
526
711
|
{t('login.email')}
|
|
527
712
|
</span>
|
|
528
713
|
<div className="memori--login-drawer--otp-input-container">
|
|
529
|
-
<
|
|
714
|
+
<Input
|
|
530
715
|
id="otp-email"
|
|
716
|
+
name="email"
|
|
531
717
|
type="email"
|
|
532
718
|
className={cx('memori--login-drawer--otp-email-input', {
|
|
533
719
|
error: otpError && !mailRegEx.test(otpEmail),
|
|
@@ -537,48 +723,35 @@ const LoginDrawer = ({
|
|
|
537
723
|
value={otpEmail}
|
|
538
724
|
onChange={e => handleEmailChange(e.target.value)}
|
|
539
725
|
placeholder={
|
|
540
|
-
t('login.emailPlaceholder') || 'Enter your email'
|
|
726
|
+
t('login.emailPlaceholder') || 'Enter your email…'
|
|
541
727
|
}
|
|
542
728
|
autoComplete="email"
|
|
729
|
+
spellCheck={false}
|
|
543
730
|
required
|
|
544
731
|
disabled={loading}
|
|
545
732
|
aria-describedby="email-help"
|
|
546
733
|
/>
|
|
547
734
|
{emailValid && !loading && (
|
|
548
|
-
<div
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
<div className="memori--login-drawer--otp-loading">
|
|
554
|
-
<div className="memori--login-drawer--otp-spinner"></div>
|
|
735
|
+
<div
|
|
736
|
+
className="memori--login-drawer--otp-valid-icon"
|
|
737
|
+
aria-hidden="true"
|
|
738
|
+
>
|
|
739
|
+
<Check className="icon" />
|
|
555
740
|
</div>
|
|
556
741
|
)}
|
|
557
742
|
</div>
|
|
558
743
|
</label>
|
|
559
744
|
</div>
|
|
560
745
|
|
|
561
|
-
<div className="memori--login-drawer--otp-actions">
|
|
562
|
-
{showOtpCodeForm && <Button
|
|
563
|
-
outlined
|
|
564
|
-
onClick={() => {
|
|
565
|
-
setShowOtpForm(false);
|
|
566
|
-
setOtpEmail('');
|
|
567
|
-
setOtpError(null);
|
|
568
|
-
setEmailValid(false);
|
|
569
|
-
}}
|
|
570
|
-
disabled={loading}
|
|
571
|
-
>
|
|
572
|
-
{t('login.backToLogin')}
|
|
573
|
-
</Button>}
|
|
574
|
-
|
|
746
|
+
<div className="memori--login-drawer--otp-actions memori--login-drawer--otp-actions-primary">
|
|
575
747
|
<Button
|
|
576
|
-
primary
|
|
748
|
+
variant="primary"
|
|
577
749
|
onClick={() => {
|
|
578
750
|
sendOtpToEmail(otpEmail);
|
|
579
751
|
}}
|
|
580
752
|
disabled={loading || !emailValid}
|
|
581
753
|
loading={loading}
|
|
754
|
+
size="lg"
|
|
582
755
|
>
|
|
583
756
|
{t('login.sendOtp')}
|
|
584
757
|
</Button>
|
|
@@ -586,11 +759,16 @@ const LoginDrawer = ({
|
|
|
586
759
|
|
|
587
760
|
{otpError && (
|
|
588
761
|
<div role="alert" className="memori--login-drawer--otp-error">
|
|
589
|
-
<span
|
|
762
|
+
<span
|
|
763
|
+
className="memori--login-drawer--otp-error-icon"
|
|
764
|
+
aria-hidden="true"
|
|
765
|
+
>
|
|
766
|
+
<AlertTriangle className="icon" size={24} />
|
|
767
|
+
</span>
|
|
590
768
|
<span>{otpError}</span>
|
|
591
769
|
</div>
|
|
592
770
|
)}
|
|
593
|
-
</
|
|
771
|
+
</Card>
|
|
594
772
|
</>
|
|
595
773
|
) : null}
|
|
596
774
|
</Drawer>
|