@memori.ai/memori-react 9.0.0-alpha.21 → 9.0.0-alpha.23
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 +453 -0
- package/dist/components/AgeVerificationModal/AgeVerificationModal.css +1 -7
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js +1 -1
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/dist/components/Auth/Auth.css +12 -5
- package/dist/components/Auth/Auth.d.ts +1 -1
- package/dist/components/Auth/Auth.js +46 -32
- package/dist/components/Auth/Auth.js.map +1 -1
- package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.css +7 -6
- package/dist/components/Chat/Chat.css +1 -0
- package/dist/components/Chat/Chat.js +1 -1
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.css +32 -5
- package/dist/components/ChatBubble/ChatBubble.js +14 -11
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
- package/dist/components/ChatHistoryDrawer/ChatHistory.js +2 -2
- package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +1 -1
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +3 -1
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +7 -57
- package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
- package/dist/components/ChatInputs/ChatInputs.js +10 -1
- package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
- package/dist/components/ChatTextArea/ChatTextArea.css +1 -1
- package/dist/components/ContentPreviewModal/ContentPreviewModal.css +1 -10
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js +1 -1
- package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
- package/dist/components/ExpertsDrawer/ExpertsDrawer.css +0 -6
- package/dist/components/FeedbackButtons/FeedbackButtons.js +2 -2
- package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
- package/dist/components/Header/Header.css +8 -3
- package/dist/components/Header/Header.js +15 -18
- package/dist/components/Header/Header.js.map +1 -1
- package/dist/components/IconButton/IconButton.d.ts +1 -1
- package/dist/components/KnownFacts/KnownFacts.css +1 -1
- package/dist/components/KnownFacts/KnownFacts.js +2 -5
- package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
- package/dist/components/LoginDrawer/LoginDrawer.css +16 -14
- package/dist/components/LoginDrawer/LoginDrawer.js +19 -11
- package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +4 -4
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +28 -5
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
- package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -0
- package/dist/components/MemoriWidget/MemoriWidget.js +93 -32
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/MobileSessionPanel/MobileSessionPanel.css +2 -2
- package/dist/components/PositionPopover/PositionPopover.css +3 -3
- package/dist/components/PositionPopover/PositionPopover.js +38 -25
- package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
- package/dist/components/Snippet/Snippet.css +1 -1
- package/dist/components/StartPanel/StartPanel.css +19 -3
- package/dist/components/StartPanel/StartPanel.js +12 -18
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/layouts/WebsiteAssistant/website-assistant.css +3 -3
- package/dist/components/layouts/chat.css +5 -2
- package/dist/components/layouts/totem.css +43 -9
- package/dist/helpers/nats/getNatsConfig.js.map +1 -1
- package/dist/helpers/nats/useNats.d.ts +2 -1
- package/dist/helpers/nats/useNats.js +87 -20
- package/dist/helpers/nats/useNats.js.map +1 -1
- package/dist/helpers/nats/useNatsSession.d.ts +6 -1
- package/dist/helpers/nats/useNatsSession.js +48 -7
- package/dist/helpers/nats/useNatsSession.js.map +1 -1
- package/dist/helpers/positionPopover.d.ts +2 -1
- package/dist/helpers/positionPopover.js +10 -2
- package/dist/helpers/positionPopover.js.map +1 -1
- package/dist/icons/MemoriIcon.js +1 -1
- package/dist/icons/MemoriIcon.js.map +1 -1
- package/dist/locales/de.json +4 -1
- package/dist/locales/en.json +3 -1
- package/dist/locales/es.json +3 -1
- package/dist/locales/fr.json +3 -1
- package/dist/locales/it.json +3 -1
- package/dist/styles.css +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.css +1 -7
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js +1 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/esm/components/Auth/Auth.css +12 -5
- package/esm/components/Auth/Auth.d.ts +1 -1
- package/esm/components/Auth/Auth.js +47 -33
- package/esm/components/Auth/Auth.js.map +1 -1
- package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.css +7 -6
- package/esm/components/Chat/Chat.css +1 -0
- package/esm/components/Chat/Chat.js +1 -1
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.css +32 -5
- package/esm/components/ChatBubble/ChatBubble.js +14 -11
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
- package/esm/components/ChatHistoryDrawer/ChatHistory.js +2 -2
- package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +1 -1
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +3 -1
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +9 -59
- package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
- package/esm/components/ChatInputs/ChatInputs.js +11 -2
- package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
- package/esm/components/ChatTextArea/ChatTextArea.css +1 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.css +1 -10
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js +1 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
- package/esm/components/ExpertsDrawer/ExpertsDrawer.css +0 -6
- package/esm/components/FeedbackButtons/FeedbackButtons.js +2 -2
- package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
- package/esm/components/Header/Header.css +8 -3
- package/esm/components/Header/Header.js +15 -18
- package/esm/components/Header/Header.js.map +1 -1
- package/esm/components/IconButton/IconButton.d.ts +1 -1
- package/esm/components/KnownFacts/KnownFacts.css +1 -1
- package/esm/components/KnownFacts/KnownFacts.js +2 -5
- package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
- package/esm/components/LoginDrawer/LoginDrawer.css +16 -14
- package/esm/components/LoginDrawer/LoginDrawer.js +20 -12
- package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +4 -4
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +28 -5
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -0
- package/esm/components/MemoriWidget/MemoriWidget.js +93 -33
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/MobileSessionPanel/MobileSessionPanel.css +2 -2
- package/esm/components/PositionPopover/PositionPopover.css +3 -3
- package/esm/components/PositionPopover/PositionPopover.js +39 -26
- package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
- package/esm/components/Snippet/Snippet.css +1 -1
- package/esm/components/StartPanel/StartPanel.css +19 -3
- package/esm/components/StartPanel/StartPanel.js +12 -18
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/layouts/WebsiteAssistant/website-assistant.css +3 -3
- package/esm/components/layouts/chat.css +5 -2
- package/esm/components/layouts/totem.css +43 -9
- package/esm/helpers/nats/getNatsConfig.js.map +1 -1
- package/esm/helpers/nats/useNats.d.ts +2 -1
- package/esm/helpers/nats/useNats.js +87 -20
- package/esm/helpers/nats/useNats.js.map +1 -1
- package/esm/helpers/nats/useNatsSession.d.ts +6 -1
- package/esm/helpers/nats/useNatsSession.js +48 -8
- package/esm/helpers/nats/useNatsSession.js.map +1 -1
- package/esm/helpers/positionPopover.d.ts +2 -1
- package/esm/helpers/positionPopover.js +9 -2
- package/esm/helpers/positionPopover.js.map +1 -1
- package/esm/icons/MemoriIcon.js +1 -1
- package/esm/icons/MemoriIcon.js.map +1 -1
- package/esm/locales/de.json +4 -1
- package/esm/locales/en.json +3 -1
- package/esm/locales/es.json +3 -1
- package/esm/locales/fr.json +3 -1
- package/esm/locales/it.json +3 -1
- package/esm/styles.css +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +8 -5
- package/src/Live/Agents.stories.tsx +49 -0
- package/src/Live/KnownFacts.stories.tsx +50 -0
- package/src/Showcase.stories.tsx +3 -14
- package/src/components/AgeVerificationModal/AgeVerificationModal.css +1 -7
- package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +1 -1
- package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +1 -0
- package/src/components/Auth/Auth.css +12 -5
- package/src/components/Auth/Auth.stories.tsx +1 -1
- package/src/components/Auth/Auth.test.tsx +68 -1
- package/src/components/Auth/Auth.tsx +69 -54
- package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +5 -6
- package/src/components/Avatar/Avatar.stories.tsx +1 -18
- package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +1 -103
- package/src/components/Blob/Blob.stories.tsx +1 -1
- package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +7 -6
- package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.stories.tsx +1 -1
- package/src/components/ChangeMode/ChangeMode.stories.tsx +1 -1
- package/src/components/Chat/Chat.css +1 -0
- package/src/components/Chat/Chat.stories.tsx +61 -7
- package/src/components/Chat/Chat.tsx +1 -0
- package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +151 -151
- package/src/components/ChatBubble/ChatBubble.css +32 -5
- package/src/components/ChatBubble/ChatBubble.stories.tsx +24 -2
- package/src/components/ChatBubble/ChatBubble.test.tsx +37 -1
- package/src/components/ChatBubble/ChatBubble.tsx +308 -299
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +384 -264
- package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +1 -1
- package/src/components/ChatHistoryDrawer/ChatHistory.tsx +6 -0
- package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +1 -1
- package/src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx +24 -81
- package/src/components/ChatInputs/ChatInputs.stories.tsx +1 -39
- package/src/components/ChatInputs/ChatInputs.test.tsx +47 -0
- package/src/components/ChatInputs/ChatInputs.tsx +12 -2
- package/src/components/ChatTextArea/ChatTextArea.css +1 -1
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +1 -1
- package/src/components/ContentPreviewModal/ContentPreviewModal.css +1 -10
- package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +1 -1
- package/src/components/ExpertsDrawer/ExpertsDrawer.css +0 -6
- package/src/components/ExpertsDrawer/ExpertsDrawer.stories.tsx +1 -1
- package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +29 -10
- package/src/components/FeedbackButtons/FeedbackButtons.tsx +2 -0
- package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +1 -1
- package/src/components/Header/Header.css +8 -3
- package/src/components/Header/Header.stories.tsx +1 -1
- package/src/components/Header/Header.tsx +146 -117
- package/src/components/KnownFacts/KnownFacts.css +1 -1
- package/src/components/KnownFacts/KnownFacts.stories.tsx +1 -23
- package/src/components/KnownFacts/KnownFacts.tsx +4 -9
- package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +6 -2
- package/src/components/LoginDrawer/LoginDrawer.css +16 -14
- package/src/components/LoginDrawer/LoginDrawer.stories.tsx +2 -52
- package/src/components/LoginDrawer/LoginDrawer.tsx +51 -39
- package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +33 -11
- package/src/components/MediaWidget/MediaItemWidget.stories.tsx +1 -15
- package/src/components/MediaWidget/MediaWidget.stories.tsx +1 -45
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +1 -1
- package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +4 -4
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +28 -5
- package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +4 -6
- package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +1 -1
- package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +32 -28
- package/src/components/MemoriWidget/MemoriUIProvider.contract.test.tsx +55 -0
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +55 -77
- package/src/components/MemoriWidget/MemoriWidget.tsx +114 -45
- package/src/components/MemoriWidget/getChatStyles.test.ts +24 -0
- package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +1 -1
- package/src/components/MobileSessionPanel/MobileSessionPanel.css +2 -2
- package/src/components/PositionPopover/PositionPopover.css +3 -3
- package/src/components/PositionPopover/PositionPopover.stories.tsx +1 -1
- package/src/components/PositionPopover/PositionPopover.tsx +50 -28
- package/src/components/PoweredBy/PoweredBy.stories.tsx +1 -54
- package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +2 -2
- package/src/components/SendOnEnterMenu/SendOnEnterMenu.stories.tsx +1 -1
- package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +1 -1
- package/src/components/ShareButton/ShareButton.stories.tsx +1 -1
- package/src/components/Snippet/Snippet.css +1 -1
- package/src/components/Snippet/Snippet.stories.tsx +1 -1
- package/src/components/StartPanel/StartPanel.css +19 -3
- package/src/components/StartPanel/StartPanel.stories.tsx +2 -2
- package/src/components/StartPanel/StartPanel.tsx +22 -35
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +177 -121
- package/src/components/Typing/Typing.stories.tsx +1 -1
- package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +22 -44
- package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +9 -3
- package/src/components/layouts/FullBody/FullBody.stories.tsx +55 -68
- package/src/components/layouts/Totem/Totem.stories.tsx +69 -87
- package/src/components/layouts/WebsiteAssistant/website-assistant.css +3 -3
- package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +69 -87
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +19 -41
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +39 -83
- package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +15 -11
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +116 -42
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +18 -40
- package/src/components/layouts/chat.css +5 -2
- package/src/components/layouts/layouts.stories.tsx +96 -179
- package/src/components/layouts/totem.css +43 -9
- package/src/helpers/nats/getNatsConfig.ts +4 -1
- package/src/helpers/nats/useNats.test.tsx +81 -0
- package/src/helpers/nats/useNats.ts +109 -29
- package/src/helpers/nats/useNatsSession.test.ts +16 -0
- package/src/helpers/nats/useNatsSession.ts +79 -13
- package/src/helpers/positionPopover.test.ts +36 -1
- package/src/helpers/positionPopover.ts +21 -4
- package/src/i18n.knownFacts.test.ts +40 -0
- package/src/icons/MemoriIcon.tsx +1 -1
- package/src/index.stories.tsx +1 -47
- package/src/locales/de.json +4 -1
- package/src/locales/en.json +3 -1
- package/src/locales/es.json +3 -1
- package/src/locales/fr.json +3 -1
- package/src/locales/it.json +3 -1
- package/src/styles.css +13 -27
- package/src/version.ts +1 -1
- package/src/components/ChatTextArea/ChatTextArea.stories.tsx +0 -55
- package/src/components/CustomGLBModelViewer/ModelViewer.stories.tsx +0 -58
- package/src/components/DateSelector/DateSelector.stories.tsx +0 -47
- package/src/components/FilePreview/FilePreview.stories.tsx +0 -63
- package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +0 -265
- package/src/components/UploadButton/UploadButton.stories.tsx +0 -510
- package/src/components/VenueWidget/VenueWidget.stories.tsx +0 -69
- package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.stories.tsx +0 -115
|
@@ -426,9 +426,7 @@ const Header: React.FC<Props> = ({
|
|
|
426
426
|
const isAuthenticated = !!loginToken && !!user?.userID;
|
|
427
427
|
const isConversationStarted = Boolean(sessionID && hasUserActivatedSpeak);
|
|
428
428
|
const showKnownFacts =
|
|
429
|
-
!!memori.enableDeepThought &&
|
|
430
|
-
!!loginToken &&
|
|
431
|
-
!!user?.pAndCUAccepted;
|
|
429
|
+
!!memori.enableDeepThought && !!loginToken && !!user?.pAndCUAccepted;
|
|
432
430
|
const showSessionInfoMenu =
|
|
433
431
|
isConversationStarted &&
|
|
434
432
|
showFullpageDividers &&
|
|
@@ -441,8 +439,7 @@ const Header: React.FC<Props> = ({
|
|
|
441
439
|
return raw
|
|
442
440
|
.replace(/<[^>]+>/g, ' ')
|
|
443
441
|
.replace(/\s+/g, ' ')
|
|
444
|
-
.trim()
|
|
445
|
-
.slice(0, 140);
|
|
442
|
+
.trim();
|
|
446
443
|
}, [memori?.description]);
|
|
447
444
|
|
|
448
445
|
const brandAvatarSrc = useMemo(() => {
|
|
@@ -497,7 +494,9 @@ const Header: React.FC<Props> = ({
|
|
|
497
494
|
const showLoginDivider =
|
|
498
495
|
showFullpageChromeDividers &&
|
|
499
496
|
!!showLogin &&
|
|
500
|
-
(isAuthenticated
|
|
497
|
+
(isAuthenticated
|
|
498
|
+
? loggedInSecondaryHasActions
|
|
499
|
+
: fullpageSecondaryHasContent);
|
|
501
500
|
|
|
502
501
|
const chatHistoryNode = showChatHistory && !!loginToken && (
|
|
503
502
|
<Tooltip
|
|
@@ -829,20 +828,20 @@ const Header: React.FC<Props> = ({
|
|
|
829
828
|
</Tooltip>
|
|
830
829
|
)}
|
|
831
830
|
{showKnownFacts && isConversationStarted && (
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
831
|
+
<Tooltip
|
|
832
|
+
title={t('knownFacts.title') || 'Known facts'}
|
|
833
|
+
placement="bottom"
|
|
834
|
+
>
|
|
835
|
+
<span style={{ display: 'inline-flex' }}>
|
|
836
|
+
<IconButton
|
|
837
|
+
variant={buttonVariant}
|
|
838
|
+
icon={<Brain />}
|
|
839
|
+
aria-label={t('knownFacts.title') || 'Known facts'}
|
|
840
|
+
onClick={() => setShowKnownFactsDrawer(true)}
|
|
841
|
+
/>
|
|
842
|
+
</span>
|
|
843
|
+
</Tooltip>
|
|
844
|
+
)}
|
|
846
845
|
{memori.enableBoardOfExperts && (
|
|
847
846
|
<Tooltip
|
|
848
847
|
title={t('widget.showExpertsInTheBoard') || 'Experts in this board'}
|
|
@@ -866,7 +865,13 @@ const Header: React.FC<Props> = ({
|
|
|
866
865
|
<span style={{ display: 'inline-flex' }}>
|
|
867
866
|
<IconButton
|
|
868
867
|
variant={buttonVariant}
|
|
869
|
-
icon={
|
|
868
|
+
icon={
|
|
869
|
+
speakerMuted ? (
|
|
870
|
+
<VolumeX size={20} strokeWidth={2.35} aria-hidden />
|
|
871
|
+
) : (
|
|
872
|
+
<Volume2 size={20} strokeWidth={2} aria-hidden />
|
|
873
|
+
)
|
|
874
|
+
}
|
|
870
875
|
title={soundLabel}
|
|
871
876
|
aria-label={soundLabel}
|
|
872
877
|
onClick={() => setSpeakerMuted(!speakerMuted)}
|
|
@@ -974,7 +979,8 @@ const Header: React.FC<Props> = ({
|
|
|
974
979
|
{t('knownFacts.title') || 'Known facts'}
|
|
975
980
|
</span>
|
|
976
981
|
<span className="memori-dropdown--auth-subtitle">
|
|
977
|
-
{t('widget.knownFactsHint') ||
|
|
982
|
+
{t('widget.knownFactsHint') ||
|
|
983
|
+
'What I remember about you'}
|
|
978
984
|
</span>
|
|
979
985
|
</span>
|
|
980
986
|
{/* <ChevronRight size={16} aria-hidden /> */}
|
|
@@ -982,60 +988,60 @@ const Header: React.FC<Props> = ({
|
|
|
982
988
|
)}
|
|
983
989
|
{showMessageConsumption &&
|
|
984
990
|
(hasChatConsumptionData ? (
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
</span>
|
|
1003
|
-
<span className="memori-dropdown--auth-copy">
|
|
1004
|
-
<span className="memori-dropdown--auth-title">
|
|
1005
|
-
{t('widget.aiConsumption') || 'AI usage'}
|
|
991
|
+
<ChatConsumptionDropdown
|
|
992
|
+
history={history}
|
|
993
|
+
triggerVariant={buttonVariant}
|
|
994
|
+
menuAlign="start"
|
|
995
|
+
trigger={(triggerProps, { open }) => (
|
|
996
|
+
<button
|
|
997
|
+
{...triggerProps}
|
|
998
|
+
type="button"
|
|
999
|
+
className={cx(
|
|
1000
|
+
'memori-dropdown--auth-row',
|
|
1001
|
+
'memori-dropdown--auth-row--navigable',
|
|
1002
|
+
open && 'memori-dropdown--auth-row--active',
|
|
1003
|
+
triggerProps.className
|
|
1004
|
+
)}
|
|
1005
|
+
>
|
|
1006
|
+
<span className="memori-dropdown--auth-icon-wrap">
|
|
1007
|
+
<GasStation />
|
|
1006
1008
|
</span>
|
|
1007
|
-
<span className="memori-dropdown--auth-
|
|
1008
|
-
|
|
1009
|
+
<span className="memori-dropdown--auth-copy">
|
|
1010
|
+
<span className="memori-dropdown--auth-title">
|
|
1011
|
+
{t('widget.aiConsumption') || 'AI usage'}
|
|
1012
|
+
</span>
|
|
1013
|
+
<span className="memori-dropdown--auth-subtitle">
|
|
1014
|
+
{sessionInfoConsumptionSubtitle}
|
|
1015
|
+
</span>
|
|
1009
1016
|
</span>
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
<GasStation />
|
|
1027
|
-
</span>
|
|
1028
|
-
<span className="memori-dropdown--auth-copy">
|
|
1029
|
-
<span className="memori-dropdown--auth-title">
|
|
1030
|
-
{t('widget.aiConsumption') || 'AI usage'}
|
|
1017
|
+
{open ? (
|
|
1018
|
+
<ChevronDown size={16} aria-hidden />
|
|
1019
|
+
) : (
|
|
1020
|
+
<ChevronUp size={16} aria-hidden />
|
|
1021
|
+
)}
|
|
1022
|
+
</button>
|
|
1023
|
+
)}
|
|
1024
|
+
/>
|
|
1025
|
+
) : (
|
|
1026
|
+
<button
|
|
1027
|
+
type="button"
|
|
1028
|
+
disabled
|
|
1029
|
+
className="memori-dropdown--auth-row memori-dropdown--auth-row--navigable memori-dropdown--auth-row--disabled"
|
|
1030
|
+
>
|
|
1031
|
+
<span className="memori-dropdown--auth-icon-wrap">
|
|
1032
|
+
<GasStation />
|
|
1031
1033
|
</span>
|
|
1032
|
-
<span className="memori-dropdown--auth-
|
|
1033
|
-
|
|
1034
|
+
<span className="memori-dropdown--auth-copy">
|
|
1035
|
+
<span className="memori-dropdown--auth-title">
|
|
1036
|
+
{t('widget.aiConsumption') || 'AI usage'}
|
|
1037
|
+
</span>
|
|
1038
|
+
<span className="memori-dropdown--auth-subtitle">
|
|
1039
|
+
{sessionInfoConsumptionSubtitle}
|
|
1040
|
+
</span>
|
|
1034
1041
|
</span>
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
))}
|
|
1042
|
+
<ChevronUp size={16} aria-hidden />
|
|
1043
|
+
</button>
|
|
1044
|
+
))}
|
|
1039
1045
|
</div>
|
|
1040
1046
|
}
|
|
1041
1047
|
>
|
|
@@ -1118,7 +1124,13 @@ const Header: React.FC<Props> = ({
|
|
|
1118
1124
|
className="memori-header--auth-icon-button"
|
|
1119
1125
|
title={soundLabel}
|
|
1120
1126
|
aria-label={soundLabel}
|
|
1121
|
-
icon={
|
|
1127
|
+
icon={
|
|
1128
|
+
speakerMuted ? (
|
|
1129
|
+
<VolumeX size={20} strokeWidth={2.35} aria-hidden />
|
|
1130
|
+
) : (
|
|
1131
|
+
<Volume2 size={20} strokeWidth={2} aria-hidden />
|
|
1132
|
+
)
|
|
1133
|
+
}
|
|
1122
1134
|
onClick={() => setSpeakerMuted(!speakerMuted)}
|
|
1123
1135
|
/>
|
|
1124
1136
|
</span>
|
|
@@ -1170,9 +1182,7 @@ const Header: React.FC<Props> = ({
|
|
|
1170
1182
|
</div>
|
|
1171
1183
|
);
|
|
1172
1184
|
|
|
1173
|
-
const handleTotemFullscreen = (
|
|
1174
|
-
e: React.MouseEvent<HTMLButtonElement>
|
|
1175
|
-
) => {
|
|
1185
|
+
const handleTotemFullscreen = (e: React.MouseEvent<HTMLButtonElement>) => {
|
|
1176
1186
|
if (fullScreenHandler) {
|
|
1177
1187
|
fullScreenHandler(e);
|
|
1178
1188
|
return;
|
|
@@ -1194,13 +1204,15 @@ const Header: React.FC<Props> = ({
|
|
|
1194
1204
|
const totemResetLabel = t('reload') || 'Restart conversation';
|
|
1195
1205
|
const totemSettingsLabel = t('widget.settings') || 'Settings';
|
|
1196
1206
|
const totemKnownFactsLabel = t('knownFacts.title') || 'Known facts';
|
|
1207
|
+
const totemChatHistoryLabel =
|
|
1208
|
+
t('write_and_speak.chatHistory') || 'Chat history';
|
|
1197
1209
|
const totemShowSettings =
|
|
1198
1210
|
showSettings && hasSettingsContent(layout, additionalSettings);
|
|
1199
1211
|
const totemShowKnownFacts = showKnownFacts && isConversationStarted;
|
|
1200
1212
|
|
|
1201
1213
|
// TOTEM rail: two-tier grouping inside one bordered container (section 5).
|
|
1202
|
-
// Tier 1 (visible): session utilities — audio, fullscreen, share.
|
|
1203
|
-
// Tier 2 (profile menu): account items —
|
|
1214
|
+
// Tier 1 (visible): session utilities — audio, fullscreen, share, reload, settings, history.
|
|
1215
|
+
// Tier 2 (profile menu): account items — user data, logout.
|
|
1204
1216
|
const totemRail = (
|
|
1205
1217
|
<div
|
|
1206
1218
|
className={cx('memori-totem-rail', className)}
|
|
@@ -1217,7 +1229,13 @@ const Header: React.FC<Props> = ({
|
|
|
1217
1229
|
<IconButton
|
|
1218
1230
|
variant={buttonVariant}
|
|
1219
1231
|
className="memori-totem-rail--button"
|
|
1220
|
-
icon={
|
|
1232
|
+
icon={
|
|
1233
|
+
speakerMuted ? (
|
|
1234
|
+
<VolumeX size={20} strokeWidth={2.35} aria-hidden />
|
|
1235
|
+
) : (
|
|
1236
|
+
<Volume2 size={20} strokeWidth={2} aria-hidden />
|
|
1237
|
+
)
|
|
1238
|
+
}
|
|
1221
1239
|
title={soundLabel}
|
|
1222
1240
|
aria-label={soundLabel}
|
|
1223
1241
|
aria-pressed={speakerMuted}
|
|
@@ -1255,6 +1273,50 @@ const Header: React.FC<Props> = ({
|
|
|
1255
1273
|
className="memori-totem-rail--button"
|
|
1256
1274
|
/>
|
|
1257
1275
|
)}
|
|
1276
|
+
{showReload && (
|
|
1277
|
+
<Tooltip title={totemResetLabel} placement="left">
|
|
1278
|
+
<span style={{ display: 'inline-flex' }}>
|
|
1279
|
+
<IconButton
|
|
1280
|
+
variant={buttonVariant}
|
|
1281
|
+
className="memori-totem-rail--button"
|
|
1282
|
+
icon={<RefreshCw />}
|
|
1283
|
+
title={totemResetLabel}
|
|
1284
|
+
aria-label={totemResetLabel}
|
|
1285
|
+
onClick={() => {
|
|
1286
|
+
window.location.reload();
|
|
1287
|
+
}}
|
|
1288
|
+
/>
|
|
1289
|
+
</span>
|
|
1290
|
+
</Tooltip>
|
|
1291
|
+
)}
|
|
1292
|
+
{totemShowSettings && (
|
|
1293
|
+
<Tooltip title={totemSettingsLabel} placement="left">
|
|
1294
|
+
<span style={{ display: 'inline-flex' }}>
|
|
1295
|
+
<IconButton
|
|
1296
|
+
variant={buttonVariant}
|
|
1297
|
+
className="memori-totem-rail--button"
|
|
1298
|
+
icon={<Settings />}
|
|
1299
|
+
title={totemSettingsLabel}
|
|
1300
|
+
aria-label={totemSettingsLabel}
|
|
1301
|
+
onClick={() => setShowSettingsDrawer(true)}
|
|
1302
|
+
/>
|
|
1303
|
+
</span>
|
|
1304
|
+
</Tooltip>
|
|
1305
|
+
)}
|
|
1306
|
+
{showChatHistory && !!loginToken && (
|
|
1307
|
+
<Tooltip title={totemChatHistoryLabel} placement="left">
|
|
1308
|
+
<span style={{ display: 'inline-flex' }}>
|
|
1309
|
+
<IconButton
|
|
1310
|
+
variant={buttonVariant}
|
|
1311
|
+
className="memori-totem-rail--button"
|
|
1312
|
+
icon={<MessageCircle />}
|
|
1313
|
+
title={totemChatHistoryLabel}
|
|
1314
|
+
aria-label={totemChatHistoryLabel}
|
|
1315
|
+
onClick={() => setShowChatHistoryDrawer(true)}
|
|
1316
|
+
/>
|
|
1317
|
+
</span>
|
|
1318
|
+
</Tooltip>
|
|
1319
|
+
)}
|
|
1258
1320
|
</div>
|
|
1259
1321
|
|
|
1260
1322
|
<div className="memori-totem-rail--divider" aria-hidden="true" />
|
|
@@ -1310,38 +1372,6 @@ const Header: React.FC<Props> = ({
|
|
|
1310
1372
|
)}
|
|
1311
1373
|
</div>
|
|
1312
1374
|
)}
|
|
1313
|
-
{showReload && (
|
|
1314
|
-
<Button
|
|
1315
|
-
type="button"
|
|
1316
|
-
variant="ghost"
|
|
1317
|
-
className="memori-totem-rail--menu-item"
|
|
1318
|
-
icon={<RefreshCw size={18} aria-hidden />}
|
|
1319
|
-
title={totemResetLabel}
|
|
1320
|
-
aria-label={totemResetLabel}
|
|
1321
|
-
onClick={() => {
|
|
1322
|
-
setUserPopoverOpen(false);
|
|
1323
|
-
window.location.reload();
|
|
1324
|
-
}}
|
|
1325
|
-
>
|
|
1326
|
-
{totemResetLabel}
|
|
1327
|
-
</Button>
|
|
1328
|
-
)}
|
|
1329
|
-
{totemShowSettings && (
|
|
1330
|
-
<Button
|
|
1331
|
-
type="button"
|
|
1332
|
-
variant="ghost"
|
|
1333
|
-
className="memori-totem-rail--menu-item"
|
|
1334
|
-
icon={<Settings size={18} aria-hidden />}
|
|
1335
|
-
title={totemSettingsLabel}
|
|
1336
|
-
aria-label={totemSettingsLabel}
|
|
1337
|
-
onClick={() => {
|
|
1338
|
-
setUserPopoverOpen(false);
|
|
1339
|
-
setShowSettingsDrawer(true);
|
|
1340
|
-
}}
|
|
1341
|
-
>
|
|
1342
|
-
{totemSettingsLabel}
|
|
1343
|
-
</Button>
|
|
1344
|
-
)}
|
|
1345
1375
|
{totemShowKnownFacts && (
|
|
1346
1376
|
<Button
|
|
1347
1377
|
type="button"
|
|
@@ -1506,12 +1536,11 @@ const Header: React.FC<Props> = ({
|
|
|
1506
1536
|
</span>
|
|
1507
1537
|
) : null}
|
|
1508
1538
|
{brandRole ? (
|
|
1509
|
-
<
|
|
1510
|
-
className="memori-fullpage-header-brand-role"
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
</span>
|
|
1539
|
+
<Tooltip title={brandRole} placement="bottom">
|
|
1540
|
+
<span className="memori-fullpage-header-brand-role">
|
|
1541
|
+
{brandRole}
|
|
1542
|
+
</span>
|
|
1543
|
+
</Tooltip>
|
|
1515
1544
|
) : null}
|
|
1516
1545
|
</div>
|
|
1517
1546
|
)}
|
|
@@ -9,7 +9,7 @@ import './KnownFacts.css';
|
|
|
9
9
|
import { AlertProvider } from '@memori.ai/ui';
|
|
10
10
|
|
|
11
11
|
const meta: Meta = {
|
|
12
|
-
title: 'Known Facts',
|
|
12
|
+
title: 'Surfaces/Known Facts',
|
|
13
13
|
component: KnownFacts,
|
|
14
14
|
argTypes: {
|
|
15
15
|
visible: {
|
|
@@ -40,8 +40,6 @@ const Template: Story<Props> = args => (
|
|
|
40
40
|
</I18nWrapper>
|
|
41
41
|
);
|
|
42
42
|
|
|
43
|
-
// By passing using the Args format for exported stories, you can control the props for a component for reuse in a test
|
|
44
|
-
// https://storybook.js.org/docs/react/workflows/unit-testing
|
|
45
43
|
export const Default = Template.bind({});
|
|
46
44
|
Default.args = {
|
|
47
45
|
visible: true,
|
|
@@ -61,23 +59,3 @@ WithPaginatedData.args = {
|
|
|
61
59
|
knownFactID: fact.knownFactID + index,
|
|
62
60
|
})),
|
|
63
61
|
};
|
|
64
|
-
|
|
65
|
-
export const WithRealDataLocalhost = Template.bind({});
|
|
66
|
-
WithRealDataLocalhost.args = {
|
|
67
|
-
visible: true,
|
|
68
|
-
sessionID: '5841f5f9-3315-4a5a-9b62-33b13d5a27fd',
|
|
69
|
-
memori: {
|
|
70
|
-
memoriName: 'test memori',
|
|
71
|
-
ownerUserName: 'nicola',
|
|
72
|
-
memoriID: '1a9c75e8-57aa-4ce3-8ea5-256185fa79a7',
|
|
73
|
-
ownerUserID: '04a8cff9-13d6-4367-9cb2-72b9af9ee494',
|
|
74
|
-
tenantID: 'app.memorytwin.com',
|
|
75
|
-
apiURL: 'http://localhost:7778',
|
|
76
|
-
baseURL: 'http://localhost:3000',
|
|
77
|
-
uiLang: 'EN',
|
|
78
|
-
lang: 'IT',
|
|
79
|
-
layout: 'FULLPAGE',
|
|
80
|
-
showShare: 'true',
|
|
81
|
-
integrationID: '82f017cc-450b-4c47-acf5-47910d336ce9',
|
|
82
|
-
},
|
|
83
|
-
};
|
|
@@ -14,12 +14,9 @@ import {
|
|
|
14
14
|
Table,
|
|
15
15
|
useAlertManager,
|
|
16
16
|
createAlertOptions,
|
|
17
|
+
type ColumnDef,
|
|
17
18
|
} from '@memori.ai/ui';
|
|
18
|
-
import type {
|
|
19
|
-
ColumnDef,
|
|
20
|
-
PaginationState,
|
|
21
|
-
Updater,
|
|
22
|
-
} from '@tanstack/react-table';
|
|
19
|
+
import type { PaginationState, Updater } from '@tanstack/react-table';
|
|
23
20
|
import { getErrori18nKey } from '../../helpers/error';
|
|
24
21
|
import { useTranslation } from 'react-i18next';
|
|
25
22
|
import { useWidgetSurfaceEl } from '../../context/widgetSurfaceContext';
|
|
@@ -124,10 +121,6 @@ const KnownFacts = ({
|
|
|
124
121
|
() =>
|
|
125
122
|
t('knownFacts.selectedRows', {
|
|
126
123
|
count: bulkDeleteIds.length,
|
|
127
|
-
defaultValue:
|
|
128
|
-
bulkDeleteIds.length === 1
|
|
129
|
-
? '{{count}} row selected'
|
|
130
|
-
: '{{count}} rows selected',
|
|
131
124
|
}),
|
|
132
125
|
[bulkDeleteIds.length, t]
|
|
133
126
|
);
|
|
@@ -186,6 +179,7 @@ const KnownFacts = ({
|
|
|
186
179
|
<Modal
|
|
187
180
|
container={surfaceEl ?? undefined}
|
|
188
181
|
className="memori-known-facts-modal"
|
|
182
|
+
stacking="stacked"
|
|
189
183
|
open={bulkDeleteModalVisible}
|
|
190
184
|
closable
|
|
191
185
|
title={
|
|
@@ -327,6 +321,7 @@ const KnownFacts = ({
|
|
|
327
321
|
<Modal
|
|
328
322
|
container={surfaceEl ?? undefined}
|
|
329
323
|
className="memori-known-facts-modal"
|
|
324
|
+
stacking="stacked"
|
|
330
325
|
open={deleteModalVisibleFor !== undefined}
|
|
331
326
|
closable
|
|
332
327
|
title={t('knownFacts.deleteConfirmTitle')}
|
|
@@ -15,7 +15,9 @@ exports[`renders KnownFacts hidden unchanged 1`] = `
|
|
|
15
15
|
`;
|
|
16
16
|
|
|
17
17
|
exports[`renders KnownFacts visible unchanged 1`] = `
|
|
18
|
-
<div
|
|
18
|
+
<div
|
|
19
|
+
data-base-ui-inert=""
|
|
20
|
+
>
|
|
19
21
|
<div
|
|
20
22
|
aria-atomic="false"
|
|
21
23
|
aria-label="Notifications"
|
|
@@ -29,7 +31,9 @@ exports[`renders KnownFacts visible unchanged 1`] = `
|
|
|
29
31
|
`;
|
|
30
32
|
|
|
31
33
|
exports[`renders KnownFacts with data unchanged 1`] = `
|
|
32
|
-
<div
|
|
34
|
+
<div
|
|
35
|
+
data-base-ui-inert=""
|
|
36
|
+
>
|
|
33
37
|
<div
|
|
34
38
|
aria-atomic="false"
|
|
35
39
|
aria-label="Notifications"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* ===== LOGIN DRAWER BASE STYLES ===== */
|
|
2
2
|
.memori--login-drawer {
|
|
3
|
-
z-index:
|
|
3
|
+
z-index: 1400;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
.memori--login-drawer .memori-drawer__body {
|
|
@@ -28,21 +28,12 @@
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.memori--login-drawer .memori-drawer--panel {
|
|
31
|
-
--memori-drawer--width: 100%;
|
|
32
|
-
--memori-drawer--width--md: 60%;
|
|
33
|
-
--memori-drawer--width--lg: 40%;
|
|
34
31
|
height: 100vh;
|
|
35
32
|
border-radius: var(--memori-radius-box) 0 0 var(--memori-radius-box);
|
|
36
33
|
background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
|
|
37
34
|
box-shadow: -8px 0 32px rgba(0, 0, 0, 0.1);
|
|
38
35
|
}
|
|
39
36
|
|
|
40
|
-
.memori--login-drawer.memori--login-drawer--logged .memori-drawer--panel {
|
|
41
|
-
--memori-drawer--width: 100%;
|
|
42
|
-
--memori-drawer--width--md: 40%;
|
|
43
|
-
--memori-drawer--width--lg: 30%;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
37
|
.memori--login-drawer--title {
|
|
47
38
|
margin: 0;
|
|
48
39
|
font-size: inherit;
|
|
@@ -632,7 +623,12 @@ p.memori--login-drawer--inline-error {
|
|
|
632
623
|
|
|
633
624
|
.memori--login-drawer--otp-digit-input.error {
|
|
634
625
|
border-color: #ef4444;
|
|
635
|
-
background: #fff;
|
|
626
|
+
background: color-mix(in srgb, #ef4444 10%, var(--memori-main-background, #fff));
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
[data-theme='dark'] .memori--login-drawer--otp-digit-input.error,
|
|
630
|
+
.memori-widget[data-theme='dark'] .memori--login-drawer--otp-digit-input.error {
|
|
631
|
+
background: color-mix(in srgb, #ef4444 18%, var(--memori-main-background, #1f2937));
|
|
636
632
|
}
|
|
637
633
|
|
|
638
634
|
.memori--login-drawer--otp-email-input {
|
|
@@ -866,13 +862,20 @@ p.memori--login-drawer--inline-error {
|
|
|
866
862
|
border-radius: var(--memori-radius-box);
|
|
867
863
|
margin: var(--memori-spacing-lg) 0;
|
|
868
864
|
animation: errorSlide 0.3s ease-out;
|
|
869
|
-
background:
|
|
870
|
-
color:
|
|
865
|
+
background: #fee2e2;
|
|
866
|
+
color: #991b1b;
|
|
871
867
|
font-size: 0.95rem;
|
|
872
868
|
font-weight: var(--memori-text-weight-medium);
|
|
873
869
|
gap: var(--memori-spacing-sm);
|
|
874
870
|
}
|
|
875
871
|
|
|
872
|
+
[data-theme='dark'] .memori--login-drawer--otp-error,
|
|
873
|
+
.memori-widget[data-theme='dark'] .memori--login-drawer--otp-error {
|
|
874
|
+
border-color: #f87171;
|
|
875
|
+
background: color-mix(in srgb, #ef4444 18%, var(--memori-main-background, #1f2937));
|
|
876
|
+
color: #fecaca;
|
|
877
|
+
}
|
|
878
|
+
|
|
876
879
|
@keyframes errorSlide {
|
|
877
880
|
from {
|
|
878
881
|
opacity: 0;
|
|
@@ -959,7 +962,6 @@ p.memori--login-drawer--inline-error {
|
|
|
959
962
|
}
|
|
960
963
|
|
|
961
964
|
.memori--login-drawer .memori-drawer--panel {
|
|
962
|
-
--memori-drawer--width: 100%;
|
|
963
965
|
border-radius: 20px 20px 0 0;
|
|
964
966
|
}
|
|
965
967
|
|
|
@@ -2,13 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import { Meta, Story } from '@storybook/react';
|
|
3
3
|
import I18nWrapper from '../../I18nWrapper';
|
|
4
4
|
import LoginDrawer, { Props } from './LoginDrawer';
|
|
5
|
-
import { tenant
|
|
5
|
+
import { tenant } from '../../mocks/data';
|
|
6
6
|
import memoriApiClient from '@memori.ai/memori-api-client';
|
|
7
7
|
import './LoginDrawer.css';
|
|
8
8
|
import { AlertProvider } from '@memori.ai/ui';
|
|
9
9
|
|
|
10
10
|
const meta: Meta = {
|
|
11
|
-
title: '
|
|
11
|
+
title: 'Surfaces/LoginDrawer',
|
|
12
12
|
component: LoginDrawer,
|
|
13
13
|
argTypes: {
|
|
14
14
|
open: {
|
|
@@ -53,53 +53,3 @@ NeedsMissingData.args = {
|
|
|
53
53
|
open: true,
|
|
54
54
|
__TEST__needMissingData: true,
|
|
55
55
|
};
|
|
56
|
-
|
|
57
|
-
export const Signup = Template.bind({});
|
|
58
|
-
Signup.args = {
|
|
59
|
-
open: true,
|
|
60
|
-
__TEST__signup: true,
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export const SignupWaitingForOtp = Template.bind({});
|
|
64
|
-
SignupWaitingForOtp.args = {
|
|
65
|
-
open: true,
|
|
66
|
-
__TEST__signup: true,
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
export const ChangePassword = Template.bind({});
|
|
70
|
-
ChangePassword.args = {
|
|
71
|
-
open: true,
|
|
72
|
-
__TEST__changePwd: true,
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export const LoggedIn = Template.bind({});
|
|
76
|
-
LoggedIn.args = {
|
|
77
|
-
open: true,
|
|
78
|
-
user,
|
|
79
|
-
loginToken: 'token',
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export const OtpForm = Template.bind({});
|
|
83
|
-
OtpForm.args = {
|
|
84
|
-
open: true,
|
|
85
|
-
// Note: OTP form is shown by default in the new implementation
|
|
86
|
-
// when user is not logged in and not in signup mode
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export const OtpFormWithTimer = Template.bind({});
|
|
90
|
-
OtpFormWithTimer.args = {
|
|
91
|
-
open: true,
|
|
92
|
-
// Timer will be shown when OTP form is active
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export const OtpFormWithError = Template.bind({});
|
|
96
|
-
OtpFormWithError.args = {
|
|
97
|
-
open: true,
|
|
98
|
-
// Error state would be shown during OTP validation
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export const OtpFormLoading = Template.bind({});
|
|
102
|
-
OtpFormLoading.args = {
|
|
103
|
-
open: true,
|
|
104
|
-
// Loading state would be shown during OTP validation
|
|
105
|
-
};
|