@memori.ai/memori-react 8.10.1 → 8.12.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.
Files changed (177) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  5. package/dist/components/Auth/Auth.js +36 -8
  6. package/dist/components/Auth/Auth.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  8. package/dist/components/Chat/Chat.js +2 -2
  9. package/dist/components/Chat/Chat.js.map +1 -1
  10. package/dist/components/ChatBubble/ChatBubble.css +81 -13
  11. package/dist/components/ChatBubble/ChatBubble.js +86 -19
  12. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  13. package/dist/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  14. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  15. package/dist/components/ChatInputs/ChatInputs.js +8 -3
  16. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  17. package/dist/components/DateSelector/DateSelector.css +125 -104
  18. package/dist/components/DateSelector/DateSelector.d.ts +1 -1
  19. package/dist/components/DateSelector/DateSelector.js +110 -52
  20. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  21. package/dist/components/Header/Header.js +1 -1
  22. package/dist/components/Header/Header.js.map +1 -1
  23. package/dist/components/LoginDrawer/LoginDrawer.css +37 -5
  24. package/dist/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  25. package/dist/components/LoginDrawer/LoginDrawer.js +2 -9
  26. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  27. package/dist/components/MediaWidget/MediaItemWidget.js +40 -5
  28. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  29. package/dist/components/MediaWidget/MediaWidget.css +4 -0
  30. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  31. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  32. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
  33. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  34. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  35. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  36. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
  37. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  38. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  39. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
  40. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  41. package/dist/components/MemoriWidget/MemoriWidget.js +69 -25
  42. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  43. package/dist/components/UploadButton/UploadButton.js +2 -0
  44. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  45. package/dist/components/UploadButton/UploadImages/UploadImages.js +2 -2
  46. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  47. package/dist/components/ui/Drawer.css +8 -0
  48. package/dist/components/ui/Drawer.d.ts +2 -0
  49. package/dist/components/ui/Drawer.js +2 -2
  50. package/dist/components/ui/Drawer.js.map +1 -1
  51. package/dist/components/ui/Tooltip.css +49 -1
  52. package/dist/components/ui/Tooltip.d.ts +1 -1
  53. package/dist/locales/de.json +6 -1
  54. package/dist/locales/en.json +9 -1
  55. package/dist/locales/es.json +6 -1
  56. package/dist/locales/fr.json +5 -1
  57. package/dist/locales/it.json +8 -1
  58. package/dist/styles.css +3 -2
  59. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  60. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +2 -2
  61. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  62. package/esm/components/Auth/Auth.js +36 -8
  63. package/esm/components/Auth/Auth.js.map +1 -1
  64. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  65. package/esm/components/Chat/Chat.js +2 -2
  66. package/esm/components/Chat/Chat.js.map +1 -1
  67. package/esm/components/ChatBubble/ChatBubble.css +81 -13
  68. package/esm/components/ChatBubble/ChatBubble.js +87 -20
  69. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  70. package/esm/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  71. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  72. package/esm/components/ChatInputs/ChatInputs.js +8 -3
  73. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  74. package/esm/components/DateSelector/DateSelector.css +125 -104
  75. package/esm/components/DateSelector/DateSelector.d.ts +1 -1
  76. package/esm/components/DateSelector/DateSelector.js +111 -52
  77. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  78. package/esm/components/Header/Header.js +1 -1
  79. package/esm/components/Header/Header.js.map +1 -1
  80. package/esm/components/LoginDrawer/LoginDrawer.css +37 -5
  81. package/esm/components/LoginDrawer/LoginDrawer.d.ts +1 -2
  82. package/esm/components/LoginDrawer/LoginDrawer.js +2 -9
  83. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  84. package/esm/components/MediaWidget/MediaItemWidget.js +40 -5
  85. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  86. package/esm/components/MediaWidget/MediaWidget.css +4 -0
  87. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  88. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  89. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +1 -1
  90. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  91. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js +3 -0
  92. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.js.map +1 -1
  93. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +2 -2
  94. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  95. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  96. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +6 -4
  97. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  98. package/esm/components/MemoriWidget/MemoriWidget.js +69 -25
  99. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  100. package/esm/components/UploadButton/UploadButton.js +2 -0
  101. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  102. package/esm/components/UploadButton/UploadImages/UploadImages.js +2 -2
  103. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  104. package/esm/components/ui/Drawer.css +8 -0
  105. package/esm/components/ui/Drawer.d.ts +2 -0
  106. package/esm/components/ui/Drawer.js +2 -2
  107. package/esm/components/ui/Drawer.js.map +1 -1
  108. package/esm/components/ui/Tooltip.css +49 -1
  109. package/esm/components/ui/Tooltip.d.ts +1 -1
  110. package/esm/locales/de.json +6 -1
  111. package/esm/locales/en.json +9 -1
  112. package/esm/locales/es.json +6 -1
  113. package/esm/locales/fr.json +5 -1
  114. package/esm/locales/it.json +8 -1
  115. package/esm/styles.css +3 -2
  116. package/package.json +2 -2
  117. package/src/components/AgeVerificationModal/AgeVerificationModal.css +41 -14
  118. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +3 -1
  119. package/src/components/Auth/Auth.tsx +55 -11
  120. package/src/components/Avatar/Avatar.stories.tsx +3 -0
  121. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +2 -2
  122. package/src/components/Chat/Chat.stories.tsx +16 -2
  123. package/src/components/Chat/Chat.tsx +2 -1
  124. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +1036 -36
  125. package/src/components/ChatBubble/ChatBubble.css +81 -13
  126. package/src/components/ChatBubble/ChatBubble.stories.tsx +16 -2
  127. package/src/components/ChatBubble/ChatBubble.test.tsx +17 -0
  128. package/src/components/ChatBubble/ChatBubble.tsx +144 -31
  129. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +304 -8
  130. package/src/components/ChatHistoryDrawer/ChatHistory.css +5 -1
  131. package/src/components/ChatInputs/ChatInputs.tsx +14 -1
  132. package/src/components/DateSelector/DateSelector.css +125 -104
  133. package/src/components/DateSelector/DateSelector.stories.tsx +1 -1
  134. package/src/components/DateSelector/DateSelector.test.tsx +137 -23
  135. package/src/components/DateSelector/DateSelector.tsx +203 -177
  136. package/src/components/Header/Header.stories.tsx +5 -1
  137. package/src/components/Header/Header.tsx +1 -1
  138. package/src/components/Header/__snapshots__/Header.test.tsx.snap +1 -1
  139. package/src/components/LoginDrawer/LoginDrawer.css +37 -5
  140. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -1
  141. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -1
  142. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -19
  143. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +69 -0
  144. package/src/components/MediaWidget/MediaItemWidget.tsx +66 -18
  145. package/src/components/MediaWidget/MediaWidget.css +4 -0
  146. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +10 -10
  147. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +2 -2
  148. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +996 -204
  149. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +2 -2
  150. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +1 -1
  151. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +3 -0
  152. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +56 -54
  153. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +16 -7
  154. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +12 -3
  155. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +6 -3
  156. package/src/components/MemoriWidget/MemoriWidget.tsx +123 -48
  157. package/src/components/UploadButton/UploadButton.tsx +2 -0
  158. package/src/components/UploadButton/UploadImages/UploadImages.tsx +3 -2
  159. package/src/components/layouts/FullBody/FullBody.stories.tsx +110 -0
  160. package/src/components/layouts/Totem/Totem.stories.tsx +131 -0
  161. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +131 -0
  162. package/src/components/layouts/layouts.stories.tsx +55 -508
  163. package/src/components/ui/Drawer.css +8 -0
  164. package/src/components/ui/Drawer.tsx +16 -12
  165. package/src/components/ui/Tooltip.css +49 -1
  166. package/src/components/ui/Tooltip.tsx +1 -1
  167. package/src/index.stories.tsx +13 -320
  168. package/src/locales/de.json +6 -1
  169. package/src/locales/en.json +9 -1
  170. package/src/locales/es.json +6 -1
  171. package/src/locales/fr.json +5 -1
  172. package/src/locales/it.json +8 -1
  173. package/src/mocks/data.ts +4 -2
  174. package/src/styles.css +3 -2
  175. package/src/components/SignupForm/SignupForm.test.tsx +0 -40
  176. package/src/components/SignupForm/SignupForm.tsx +0 -457
  177. package/src/components/SignupForm/__snapshots__/SignupForm.test.tsx.snap +0 -247
@@ -24,11 +24,19 @@ const Expandable_1 = tslib_1.__importDefault(require("../ui/Expandable"));
24
24
  const Modal_1 = tslib_1.__importDefault(require("../ui/Modal"));
25
25
  const utils_2 = require("../../helpers/utils");
26
26
  const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionID, showFeedback, showWhyThisAnswer = true, showCopyButton = true, showTranslationOriginal = false, simulateUserPrompt, showAIicon = true, isFirst = false, useMathFormatting = false, user, userAvatar, experts, showFunctionCache = false, showReasoning = false, }) => {
27
- var _a, _b, _c, _d, _e, _f, _g, _h;
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
28
28
  const { t, i18n } = (0, react_i18next_1.useTranslation)();
29
29
  const lang = i18n.language || 'en';
30
30
  const [showingWhyThisAnswer, setShowingWhyThisAnswer] = (0, react_1.useState)(false);
31
31
  const [openFunctionCache, setOpenFunctionCache] = (0, react_1.useState)(false);
32
+ const [copyFeedback, setCopyFeedback] = (0, react_1.useState)({
33
+ plain: false,
34
+ raw: false,
35
+ });
36
+ const copyFeedbackTimers = (0, react_1.useRef)({
37
+ plain: null,
38
+ raw: null,
39
+ });
32
40
  (0, react_1.useEffect)(() => {
33
41
  if (typeof window !== 'undefined' && !window.MathJax) {
34
42
  (0, utils_2.installMathJax)();
@@ -39,7 +47,15 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
39
47
  const plainText = message.fromUser
40
48
  ? (0, message_1.truncateMessage)(cleanText)
41
49
  : (0, utils_1.stripHTML)((0, utils_1.stripOutputTags)(renderedText));
42
- const functionCacheData = (_a = message.media) === null || _a === void 0 ? void 0 : _a.filter(m => { var _a; return ((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionCache) === 'true'; });
50
+ const copyText = message.fromUser ? cleanText : plainText;
51
+ const shouldShowCopyButtons = showCopyButton && (!!(plainText === null || plainText === void 0 ? void 0 : plainText.length) || !!((_a = message.text) === null || _a === void 0 ? void 0 : _a.length));
52
+ const shouldShowCopyRawButton = shouldShowCopyButtons &&
53
+ !!((_b = message.text) === null || _b === void 0 ? void 0 : _b.length) && plainText !== message.text;
54
+ const rawMessageText = message.fromUser
55
+ ? message.text || ''
56
+ : (message.text || '').replaceAll(/<think.*?>(.*?)<\/think>/gs, '');
57
+ const copiedLabel = t('copied') || 'Copied';
58
+ const functionCacheData = (_c = message.media) === null || _c === void 0 ? void 0 : _c.filter(m => { var _a; return ((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionCache) === 'true'; });
43
59
  (0, react_1.useLayoutEffect)(() => {
44
60
  if (typeof window !== 'undefined' && !message.fromUser) {
45
61
  const timer = setTimeout(() => {
@@ -70,18 +86,60 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
70
86
  return () => clearTimeout(timer);
71
87
  }
72
88
  }, [cleanText, message.fromUser, renderedText]);
73
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(message.initial || isFirst) && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat--bubble-initial" })), (0, jsx_runtime_1.jsxs)(react_2.Transition, { show: true, appear: true, as: "div", className: (0, classnames_1.default)('memori-chat--bubble-container memori-chat-scroll-item', {
89
+ (0, react_1.useEffect)(() => {
90
+ return () => {
91
+ Object.keys(copyFeedbackTimers.current).forEach(key => {
92
+ const timer = copyFeedbackTimers.current[key];
93
+ if (timer) {
94
+ clearTimeout(timer);
95
+ copyFeedbackTimers.current[key] = null;
96
+ }
97
+ });
98
+ };
99
+ }, []);
100
+ const triggerCopyFeedback = (type) => {
101
+ setCopyFeedback(prev => ({ ...prev, [type]: true }));
102
+ if (copyFeedbackTimers.current[type]) {
103
+ clearTimeout(copyFeedbackTimers.current[type]);
104
+ }
105
+ copyFeedbackTimers.current[type] = setTimeout(() => {
106
+ setCopyFeedback(prev => ({ ...prev, [type]: false }));
107
+ copyFeedbackTimers.current[type] = null;
108
+ }, 1500);
109
+ };
110
+ const handleCopyClick = (type, text) => {
111
+ var _a;
112
+ if (!(text === null || text === void 0 ? void 0 : text.length))
113
+ return;
114
+ if (typeof navigator !== 'undefined' && ((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.writeText)) {
115
+ navigator.clipboard
116
+ .writeText(text)
117
+ .then(() => triggerCopyFeedback(type))
118
+ .catch(err => {
119
+ console.error('Copy failed', err);
120
+ });
121
+ }
122
+ else {
123
+ triggerCopyFeedback(type);
124
+ }
125
+ };
126
+ const initialStatus = typeof message.initial === 'string' ? message.initial : null;
127
+ const showInitialDivider = (message.initial === true || isFirst) && !initialStatus;
128
+ if (initialStatus) {
129
+ return ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat--bubble-status-message", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-chat--bubble-status-message-content", children: initialStatus }) }));
130
+ }
131
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [showInitialDivider && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat--bubble-initial" })), (0, jsx_runtime_1.jsxs)(react_2.Transition, { show: true, appear: true, as: "div", className: (0, classnames_1.default)('memori-chat--bubble-container memori-chat-scroll-item', {
74
132
  'memori-chat--bubble-from-user': !!message.fromUser,
75
133
  'memori-chat--with-addon': (message.generatedByAI && showAIicon) ||
76
134
  (showFeedback && simulateUserPrompt),
77
- }), children: [!message.fromUser && ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, title: !!((_b = message.emitter) === null || _b === void 0 ? void 0 : _b.length) && !!memori.enableBoardOfExperts
135
+ }), children: [!message.fromUser && ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, title: !!((_d = message.emitter) === null || _d === void 0 ? void 0 : _d.length) && !!memori.enableBoardOfExperts
78
136
  ? message.emitter
79
- : memori.name, children: (0, jsx_runtime_1.jsx)("img", { className: "memori-chat--bubble-avatar-img", alt: !!((_c = message.emitter) === null || _c === void 0 ? void 0 : _c.length) && !!memori.enableBoardOfExperts
137
+ : memori.name, children: (0, jsx_runtime_1.jsx)("img", { className: "memori-chat--bubble-avatar-img", alt: !!((_e = message.emitter) === null || _e === void 0 ? void 0 : _e.length) && !!memori.enableBoardOfExperts
80
138
  ? message.emitter
81
- : memori.name, src: !!((_d = message.emitter) === null || _d === void 0 ? void 0 : _d.length) &&
139
+ : memori.name, src: !!((_f = message.emitter) === null || _f === void 0 ? void 0 : _f.length) &&
82
140
  !!memori.enableBoardOfExperts &&
83
141
  (experts === null || experts === void 0 ? void 0 : experts.find(e => e.name === message.emitter))
84
- ? `${new URL(apiUrl !== null && apiUrl !== void 0 ? apiUrl : '/').origin}/api/v1/memoriai/memori/avatar/${(_e = experts.find(e => e.name === message.emitter)) === null || _e === void 0 ? void 0 : _e.expertMemoriID}`
142
+ ? `${new URL(apiUrl !== null && apiUrl !== void 0 ? apiUrl : '/').origin}/api/v1/memoriai/memori/avatar/${(_g = experts.find(e => e.name === message.emitter)) === null || _g === void 0 ? void 0 : _g.expertMemoriID}`
85
143
  : memori.avatarURL && memori.avatarURL.length > 0
86
144
  ? (0, media_1.getResourceUrl)({
87
145
  type: 'avatar',
@@ -112,29 +170,38 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
112
170
  e.currentTarget.onerror = null;
113
171
  } }) })), (0, jsx_runtime_1.jsxs)(react_2.Transition.Child, { as: "div", className: (0, classnames_1.default)('memori-chat--bubble', {
114
172
  'memori-chat--user-bubble': !!message.fromUser,
115
- 'memori-chat--with-addon': (!message.fromUser && showCopyButton) ||
173
+ 'memori-chat--with-addon': shouldShowCopyButtons ||
116
174
  (message.generatedByAI && showAIicon) ||
117
175
  (showFeedback && simulateUserPrompt),
118
176
  'memori-chat--ai-generated': message.generatedByAI && showAIicon,
119
177
  'memori-chat--with-feedback': showFeedback,
120
- }), enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, children: [message.fromUser ? ((0, jsx_runtime_1.jsx)(Expandable_1.default, { className: "memori-chat--bubble-content", mode: "characters", children: (0, jsx_runtime_1.jsx)("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } }) })) : ((0, jsx_runtime_1.jsx)("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } })), ((!message.fromUser && showCopyButton) ||
178
+ }), enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-09 translate-x-${message.fromUser ? '30' : '-30'}`, children: [message.fromUser ? ((0, jsx_runtime_1.jsx)(Expandable_1.default, { className: "memori-chat--bubble-content", mode: "characters", children: (0, jsx_runtime_1.jsx)("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } }) })) : ((0, jsx_runtime_1.jsx)("div", { dir: "auto", className: "memori-chat--bubble-content", dangerouslySetInnerHTML: { __html: renderedText } })), (shouldShowCopyButtons ||
121
179
  (message.generatedByAI && showAIicon) ||
122
180
  (message.generatedByAI && showFunctionCache) ||
123
- (showFeedback && simulateUserPrompt)) && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat--bubble-addon", children: [!message.fromUser && showCopyButton && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, shape: "circle", title: t('copy') || 'Copy', className: "memori-chat--bubble-action-icon", icon: (0, jsx_runtime_1.jsx)(Copy_1.default, { "aria-label": t('copy') || 'Copy' }), onClick: () => navigator.clipboard.writeText(plainText) })), !message.fromUser &&
124
- showCopyButton &&
125
- plainText !== message.text && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, shape: "circle", title: t('copyRawCode') || 'Copy raw code', className: "memori-chat--bubble-action-icon", icon: (0, jsx_runtime_1.jsx)(Code_1.default, { "aria-label": t('copyRawCode') || 'Copy raw code' }), onClick: () => {
126
- const text = message.text.replaceAll(/<think.*?>(.*?)<\/think>/gs, '');
127
- navigator.clipboard.writeText(text);
128
- } })), !message.fromUser &&
181
+ (showFeedback && simulateUserPrompt)) && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat--bubble-addon", children: [shouldShowCopyButtons && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, shape: "circle", title: copyFeedback.plain ? copiedLabel : t('copy') || 'Copy', className: (0, classnames_1.default)('memori-chat--bubble-action-icon', {
182
+ 'memori-chat--bubble-action-icon--from-user': message.fromUser,
183
+ 'memori-chat--bubble-action-icon--copied': copyFeedback.plain,
184
+ }), icon: (0, jsx_runtime_1.jsx)(Copy_1.default, { "aria-label": copyFeedback.plain ? copiedLabel : t('copy') || 'Copy' }), onClick: () => handleCopyClick('plain', copyText) })), copyFeedback.plain && ((0, jsx_runtime_1.jsx)("span", { role: "status", "aria-live": "polite", className: (0, classnames_1.default)('memori-chat--bubble-action-feedback', {
185
+ 'memori-chat--bubble-action-feedback--from-user': message.fromUser,
186
+ }), children: copiedLabel })), shouldShowCopyRawButton && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, shape: "circle", title: copyFeedback.raw
187
+ ? copiedLabel
188
+ : t('copyRawCode') || 'Copy raw code', className: (0, classnames_1.default)('memori-chat--bubble-action-icon', {
189
+ 'memori-chat--bubble-action-icon--from-user': message.fromUser,
190
+ 'memori-chat--bubble-action-icon--copied': copyFeedback.raw,
191
+ }), icon: (0, jsx_runtime_1.jsx)(Code_1.default, { "aria-label": copyFeedback.raw
192
+ ? copiedLabel
193
+ : t('copyRawCode') || 'Copy raw code' }), onClick: () => handleCopyClick('raw', rawMessageText) })), copyFeedback.raw && ((0, jsx_runtime_1.jsx)("span", { role: "status", "aria-live": "polite", className: (0, classnames_1.default)('memori-chat--bubble-action-feedback', {
194
+ 'memori-chat--bubble-action-feedback--from-user': message.fromUser,
195
+ }), children: copiedLabel })), !message.fromUser &&
129
196
  showFunctionCache &&
130
- ((_f = message.media) === null || _f === void 0 ? void 0 : _f.some(m => {
197
+ ((_h = message.media) === null || _h === void 0 ? void 0 : _h.some(m => {
131
198
  var _a, _b;
132
199
  return Boolean((_a = m.properties) === null || _a === void 0 ? void 0 : _a.functionCache) ||
133
200
  ((_b = m.properties) === null || _b === void 0 ? void 0 : _b.functionCache) === 'true';
134
201
  })) && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, shape: "circle", title: "Debug", className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--debug", icon: (0, jsx_runtime_1.jsx)(Bug_1.default, { "aria-label": "Debug" }), onClick: () => setOpenFunctionCache(true) })), showFeedback && !!simulateUserPrompt && ((0, jsx_runtime_1.jsx)(FeedbackButtons_1.default, { memori: memori, className: "memori-chat--bubble-feedback", dropdown: true, onNegativeClick: msg => {
135
202
  if (msg)
136
203
  simulateUserPrompt(msg);
137
- } })), message.generatedByAI && showAIicon && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { align: "left", content: t('generatedByAI') ||
204
+ } })), message.generatedByAI && showAIicon && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { align: "bottomLeft", content: t('generatedByAI') ||
138
205
  (lang === 'it'
139
206
  ? 'Risposta generata da IA, può talvolta generare informazioni non corrette'
140
207
  : 'Answer generated by AI, may occasionally generate incorrect informations'), className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(AI_1.default, { title: t('generatedByAI') ||
@@ -142,11 +209,11 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, client, sessionI
142
209
  ? 'Risposta generata da IA, può talvolta generare informazioni non corrette'
143
210
  : 'Answer generated by AI, may occasionally generate incorrect informations') }) }) })), showTranslationOriginal &&
144
211
  message.translatedText &&
145
- message.translatedText !== message.text && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { align: "left", content: `${lang === 'it' ? 'Testo originale' : 'Original text'}: ${message.text}`, className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(Translation_1.default, { "aria-label": lang === 'it' ? 'Testo originale' : 'Original text' }) }) })), !message.fromUser &&
212
+ message.translatedText !== message.text && ((0, jsx_runtime_1.jsx)(Tooltip_1.default, { align: "bottomLeft", content: `${lang === 'it' ? 'Testo originale' : 'Original text'}: ${message.text}`, className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(Translation_1.default, { "aria-label": lang === 'it' ? 'Testo originale' : 'Original text' }) }) })), !message.fromUser &&
146
213
  message.questionAnswered &&
147
214
  apiUrl &&
148
215
  showWhyThisAnswer && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, shape: "circle", title: t('whyThisAnswer') || undefined, className: "memori-chat--bubble-action-icon", onClick: () => setShowingWhyThisAnswer(true), disabled: showingWhyThisAnswer, icon: (0, jsx_runtime_1.jsx)(QuestionHelp_1.default, { title: t('whyThisAnswer') || undefined }) }))] }))] }), message.fromUser && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (!!userAvatar && typeof userAvatar === 'string') ||
149
- (!userAvatar && !!((_g = user === null || user === void 0 ? void 0 : user.avatarURL) === null || _g === void 0 ? void 0 : _g.length)) ? ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: (0, jsx_runtime_1.jsx)("img", { className: "memori-chat--bubble-avatar-img", alt: (_h = user === null || user === void 0 ? void 0 : user.userName) !== null && _h !== void 0 ? _h : 'User', src: userAvatar !== null && userAvatar !== void 0 ? userAvatar : user === null || user === void 0 ? void 0 : user.avatarURL }) })) : !!userAvatar ? ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: userAvatar })) : ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: (0, jsx_runtime_1.jsx)(User_1.default, {}) })) }))] }), showingWhyThisAnswer && client && ((0, jsx_runtime_1.jsx)(WhyThisAnswer_1.default, { client: client, visible: showingWhyThisAnswer, message: message, closeDrawer: () => setShowingWhyThisAnswer(false), sessionID: sessionID })), (0, jsx_runtime_1.jsx)(Modal_1.default, { open: openFunctionCache, onClose: () => setOpenFunctionCache(false), className: "memori-chat--function-cache-modal", children: functionCacheData === null || functionCacheData === void 0 ? void 0 : functionCacheData.map((f, i) => ((0, jsx_runtime_1.jsxs)("div", { style: i > 0
216
+ (!userAvatar && !!((_j = user === null || user === void 0 ? void 0 : user.avatarURL) === null || _j === void 0 ? void 0 : _j.length)) ? ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "picture", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: (0, jsx_runtime_1.jsx)("img", { className: "memori-chat--bubble-avatar-img", alt: (_k = user === null || user === void 0 ? void 0 : user.userName) !== null && _k !== void 0 ? _k : 'User', src: userAvatar !== null && userAvatar !== void 0 ? userAvatar : user === null || user === void 0 ? void 0 : user.avatarURL }) })) : !!userAvatar ? ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: userAvatar })) : ((0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: "div", className: "memori-chat--bubble-avatar", enter: "transition ease-in-out duration-300", enterFrom: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, enterTo: "opacity-1 scale-1 translate-x-0", leave: "transition ease-in-out duration-300", leaveFrom: "opacity-1 scale-1 translate-x-0", leaveTo: `opacity-0 scale-075 ${message.fromUser ? 'translate-x-15' : 'translate-x--15'}`, children: (0, jsx_runtime_1.jsx)(User_1.default, {}) })) }))] }), showingWhyThisAnswer && client && ((0, jsx_runtime_1.jsx)(WhyThisAnswer_1.default, { client: client, visible: showingWhyThisAnswer, message: message, closeDrawer: () => setShowingWhyThisAnswer(false), sessionID: sessionID })), (0, jsx_runtime_1.jsx)(Modal_1.default, { open: openFunctionCache, onClose: () => setOpenFunctionCache(false), className: "memori-chat--function-cache-modal", children: functionCacheData === null || functionCacheData === void 0 ? void 0 : functionCacheData.map((f, i) => ((0, jsx_runtime_1.jsxs)("div", { style: i > 0
150
217
  ? {
151
218
  marginTop: '1.5rem',
152
219
  paddingTop: '1.5rem',
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../src/components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../src/components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ .memori-drawer.memori-chat-history-drawer {
2
+ z-index: 10000;
3
+ }
4
+
1
5
  .memori-chat-history-drawer--card {
2
6
  max-height: 60vh;
3
7
  border: 1px solid var(--memori-border);
@@ -411,4 +415,4 @@
411
415
  color: var(--memori-primary);
412
416
  font-size: 0.875rem;
413
417
  font-weight: 500;
414
- }
418
+ }
@@ -24,6 +24,7 @@ export interface Props {
24
24
  microphoneMode?: 'CONTINUOUS' | 'HOLD_TO_TALK';
25
25
  authToken?: string;
26
26
  showUpload?: boolean;
27
+ isTyping?: boolean;
27
28
  sessionID?: string;
28
29
  memoriID?: string;
29
30
  client?: ReturnType<typeof memoriApiClient>;
@@ -12,7 +12,7 @@ const classnames_1 = tslib_1.__importDefault(require("classnames"));
12
12
  const Microphone_1 = tslib_1.__importDefault(require("../icons/Microphone"));
13
13
  const UploadButton_1 = tslib_1.__importDefault(require("../UploadButton/UploadButton"));
14
14
  const FilePreview_1 = tslib_1.__importDefault(require("../FilePreview/FilePreview"));
15
- const ChatInputs = ({ dialogState, userMessage = '', sendOnEnter, onChangeUserMessage, sendMessage, onTextareaFocus, onTextareaBlur, showMicrophone = false, microphoneMode = 'HOLD_TO_TALK', listening = false, stopAudio, startListening, stopListening, showUpload = false, sessionID, authToken, memoriID, client, onTextareaExpanded, }) => {
15
+ const ChatInputs = ({ dialogState, userMessage = '', sendOnEnter, onChangeUserMessage, sendMessage, onTextareaFocus, onTextareaBlur, showMicrophone = false, microphoneMode = 'HOLD_TO_TALK', listening = false, stopAudio, startListening, stopListening, showUpload = false, isTyping = false, sessionID, authToken, memoriID, client, onTextareaExpanded, }) => {
16
16
  const { t } = (0, react_i18next_1.useTranslation)();
17
17
  const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);
18
18
  const [documentPreviewFiles, setDocumentPreviewFiles] = (0, react_1.useState)([]);
@@ -20,6 +20,8 @@ const ChatInputs = ({ dialogState, userMessage = '', sendOnEnter, onChangeUserMe
20
20
  dialog: { postMediumDeselectedEvent: null },
21
21
  };
22
22
  const onSendMessage = (files) => {
23
+ if (isTyping)
24
+ return;
23
25
  const mediaWithIds = files.map((file, index) => {
24
26
  const generatedMediumID = file.mediumID || `file_${Date.now()}_${index}_${Math.random().toString(36).substr(2, 9)}`;
25
27
  return {
@@ -37,7 +39,10 @@ const ChatInputs = ({ dialogState, userMessage = '', sendOnEnter, onChangeUserMe
37
39
  stopAudio();
38
40
  speechSynthesis.speak(new SpeechSynthesisUtterance(''));
39
41
  };
40
- const onTextareaPressEnter = () => {
42
+ const onTextareaPressEnter = (e) => {
43
+ e.preventDefault();
44
+ if (isTyping)
45
+ return;
41
46
  if (sendOnEnter === 'keypress' && (userMessage === null || userMessage === void 0 ? void 0 : userMessage.length) > 0) {
42
47
  stopListening();
43
48
  const mediaWithIds = documentPreviewFiles.map((file, index) => {
@@ -71,7 +76,7 @@ const ChatInputs = ({ dialogState, userMessage = '', sendOnEnter, onChangeUserMe
71
76
  };
72
77
  return ((0, jsx_runtime_1.jsxs)("fieldset", { id: "chat-fieldset", className: (0, classnames_1.default)('memori-chat-inputs', {
73
78
  'memori-chat-inputs--expanded': isExpanded,
74
- }), disabled: (dialogState === null || dialogState === void 0 ? void 0 : dialogState.state) === 'X2a' || (dialogState === null || dialogState === void 0 ? void 0 : dialogState.state) === 'X3', children: [(0, jsx_runtime_1.jsx)(ChatTextArea_1.default, { value: userMessage, onChange: onChangeUserMessage, onPressEnter: onTextareaPressEnter, onFocus: onTextareaFocus, onBlur: onTextareaBlur, onExpandedChange: handleTextareaExpanded, disabled: ['R2', 'R3', 'R4', 'R5', 'G3', 'X3'].includes((dialogState === null || dialogState === void 0 ? void 0 : dialogState.state) || '') }), showUpload && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FilePreview_1.default, { previewFiles: documentPreviewFiles, removeFile: removeFile }), (0, jsx_runtime_1.jsx)(UploadButton_1.default, { authToken: authToken, client: client, sessionID: sessionID, isMediaAccepted: (dialogState === null || dialogState === void 0 ? void 0 : dialogState.acceptsMedia) || false, setDocumentPreviewFiles: setDocumentPreviewFiles, documentPreviewFiles: documentPreviewFiles, memoriID: memoriID })] })), (0, jsx_runtime_1.jsx)(Button_1.default, { shape: "circle", primary: !!(userMessage === null || userMessage === void 0 ? void 0 : userMessage.length), disabled: !userMessage || userMessage.length === 0, className: "memori-chat-inputs--send", onClick: () => {
79
+ }), disabled: (dialogState === null || dialogState === void 0 ? void 0 : dialogState.state) === 'X2a' || (dialogState === null || dialogState === void 0 ? void 0 : dialogState.state) === 'X3', children: [(0, jsx_runtime_1.jsx)(ChatTextArea_1.default, { value: userMessage, onChange: onChangeUserMessage, onPressEnter: onTextareaPressEnter, onFocus: onTextareaFocus, onBlur: onTextareaBlur, onExpandedChange: handleTextareaExpanded, disabled: ['R2', 'R3', 'R4', 'R5', 'G3', 'X3'].includes((dialogState === null || dialogState === void 0 ? void 0 : dialogState.state) || '') }), showUpload && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FilePreview_1.default, { previewFiles: documentPreviewFiles, removeFile: removeFile }), (0, jsx_runtime_1.jsx)(UploadButton_1.default, { authToken: authToken, client: client, sessionID: sessionID, isMediaAccepted: (dialogState === null || dialogState === void 0 ? void 0 : dialogState.acceptsMedia) || false, setDocumentPreviewFiles: setDocumentPreviewFiles, documentPreviewFiles: documentPreviewFiles, memoriID: memoriID })] })), (0, jsx_runtime_1.jsx)(Button_1.default, { shape: "circle", primary: !!(userMessage === null || userMessage === void 0 ? void 0 : userMessage.length), loading: isTyping, disabled: !userMessage || userMessage.length === 0, className: "memori-chat-inputs--send", onClick: () => {
75
80
  onSendMessage(documentPreviewFiles);
76
81
  }, title: t('send') || 'Send', icon: (0, jsx_runtime_1.jsx)(Send_1.default, {}) }), showMicrophone && microphoneMode === 'HOLD_TO_TALK' && ((0, jsx_runtime_1.jsx)(MicrophoneButton_1.default, { listening: listening, startListening: startListening, stopListening: () => {
77
82
  stopListening();
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInputs.js","sourceRoot":"","sources":["../../../src/components/ChatInputs/ChatInputs.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AAExC,wFAAwD;AACxD,kEAAkC;AAClC,iDAA+C;AAC/C,iEAAiC;AACjC,oGAAoE;AACpE,oEAA4B;AAC5B,6EAA6C;AAC7C,wFAAwD;AACxD,qFAAqD;AA6BrD,MAAM,UAAU,GAAoB,CAAC,EACnC,WAAW,EACX,WAAW,GAAG,EAAE,EAChB,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,GAAG,KAAK,EACtB,cAAc,GAAG,cAAc,EAC/B,SAAS,GAAG,KAAK,EACjB,SAAS,EACT,cAAc,EACd,aAAa,EACb,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,kBAAkB,GACnB,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAG/B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAGpD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,IAAA,gBAAQ,EAU9D,EAAE,CAAC,CAAC;IAGN,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI;QAC3B,MAAM,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE;KAC5C,CAAC;IAKF,MAAM,aAAa,GAAG,CACpB,KAQG,EACH,EAAE;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACpH,OAAO;gBACL,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;gBACpC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,GAAG,EAAE,IAAI,CAAC,GAAG;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAGvC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC5B,SAAS,EAAE,CAAC;QACZ,eAAe,CAAC,KAAK,CAAC,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAKF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,WAAW,KAAK,UAAU,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,IAAG,CAAC,EAAE;YACzD,aAAa,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpH,OAAO;oBACL,QAAQ,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,UAAU,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;oBACpC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,EAAE,IAAI,CAAC,GAAG;iBACd,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEvC,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAC5B,mBAAmB,CAAC,EAAE,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;IAKF,MAAM,UAAU,GAAG,KAAK,EAAE,MAAc,EAAE,QAA4B,EAAE,EAAE;QAExE,IAAI,MAAM,CAAC,yBAAyB,IAAI,SAAS,IAAI,QAAQ,EAAE;YAC7D,MAAM,MAAM,CAAC,yBAAyB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC7D;QACD,uBAAuB,CACrB,CACE,IAQG,EACH,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAC/D,CAAC;IACJ,CAAC,CAAC;IAKF,MAAM,sBAAsB,GAAG,CAAC,QAAiB,EAAE,EAAE;QACnD,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,kBAAkB,EAAE;YACtB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,sCACE,EAAE,EAAC,eAAe,EAClB,SAAS,EAAE,IAAA,oBAAE,EAAC,oBAAoB,EAAE;YAClC,8BAA8B,EAAE,UAAU;SAC3C,CAAC,EACF,QAAQ,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,MAAK,KAAK,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,MAAK,IAAI,aAErE,uBAAC,sBAAY,IACX,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,mBAAmB,EAC7B,YAAY,EAAE,oBAAoB,EAClC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,sBAAsB,EACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CACrD,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,KAAI,EAAE,CACzB,GACD,EAED,UAAU,IAAI,CACb,6DACE,uBAAC,qBAAW,IACV,YAAY,EAAE,oBAAoB,EAClC,UAAU,EAAE,UAAU,GACtB,EAGF,uBAAC,sBAAY,IACX,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,KAAI,KAAK,EACnD,uBAAuB,EAAE,uBAAuB,EAChD,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,QAAQ,GAClB,IACD,CACJ,EACD,uBAAC,gBAAM,IACL,KAAK,EAAC,QAAQ,EACd,OAAO,EAAE,CAAC,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAC9B,QAAQ,EAAE,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAClD,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE;oBACZ,aAAa,CAAC,oBAAoB,CAAC,CAAC;gBACtC,CAAC,EACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,EAC1B,IAAI,EAAE,uBAAC,cAAI,KAAG,GACd,EACD,cAAc,IAAI,cAAc,KAAK,cAAc,IAAI,CACtD,uBAAC,0BAAgB,IACf,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,GAAG,EAAE;oBAClB,aAAa,EAAE,CAAC;oBAChB,IAAI,SAAS,IAAI,CAAC,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA,EAAE;wBACtC,WAAW,CAAC,WAAW,CAAC,CAAC;qBAC1B;gBACH,CAAC,EACD,SAAS,EAAE,SAAS,GACpB,CACH,EACA,cAAc,IAAI,cAAc,KAAK,YAAY,IAAI,CACpD,uBAAC,gBAAM,IACL,OAAO,QACP,SAAS,EAAE,IAAA,oBAAE,EAAC,yBAAyB,EAAE;oBACvC,oCAAoC,EAAE,SAAS;iBAChD,CAAC,EACF,KAAK,EACH,SAAS;oBACP,CAAC,CAAC,CAAC,CAAC,2CAA2C,CAAC,IAAI,WAAW;oBAC/D,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,IAAI,iBAAiB,EAEhE,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,SAAS,EAAE;wBACb,aAAa,EAAE,CAAC;qBACjB;yBAAM;wBACL,SAAS,EAAE,CAAC;wBACZ,cAAc,EAAE,CAAC;qBAClB;gBACH,CAAC,EACD,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,uBAAC,oBAAU,KAAG,GACpB,CACH,IACQ,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ChatInputs.js","sourceRoot":"","sources":["../../../src/components/ChatInputs/ChatInputs.tsx"],"names":[],"mappings":"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"}
@@ -1,137 +1,158 @@
1
+ /* Screen reader only - visually hidden but accessible */
2
+ .sr-only {
3
+ position: absolute;
4
+ overflow: hidden;
5
+ width: 1px;
6
+ height: 1px;
7
+ padding: 0;
8
+ border-width: 0;
9
+ margin: -1px;
10
+ clip: rect(0, 0, 0, 0);
11
+ white-space: nowrap;
12
+ }
13
+
14
+ /* Base Container */
1
15
  .memori--date-selector {
2
- display: flex;
3
- flex-wrap: nowrap;
16
+ width: 100%;
17
+ /* margin-top: 1.5rem; */
4
18
  }
5
19
 
6
- .memori--date-selector__select {
7
- width: 30%;
20
+ /* Mobile Styles */
21
+ .memori--date-selector--mobile {
22
+ display: flex;
23
+ width: 100%;
8
24
  max-width: 100%;
9
- margin: 1.5rem 1.5% 0;
25
+ box-sizing: border-box;
26
+ flex-direction: column;
27
+ padding: 0;
28
+ margin: 1rem 0;
10
29
  }
11
30
 
12
- .memori--date-selector__select-button {
13
- position: relative;
31
+ .memori--date-selector__mobile-label {
32
+ display: block;
14
33
  width: 100%;
15
- padding-top: 0.5rem;
16
- padding-right: 2.5rem;
17
- padding-bottom: 0.5rem;
18
- padding-left: 0.75rem;
19
- border: 1px solid #e5e7eb;
20
- border-radius: 0.5rem;
21
- background: #fff;
22
- box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px -1px,
23
- rgba(0, 0, 0, 0.1) 0px 2px 4px -2px;
24
- cursor: pointer;
34
+ margin-bottom: 0.5rem;
35
+ color: #374151;
36
+ font-size: 0.95rem;
37
+ font-weight: 500;
25
38
  text-align: left;
26
39
  }
27
40
 
28
- .memori--date-selector__select-button:focus {
29
- border-color: #cbd5e0;
30
- box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
31
- }
32
-
33
- .memori--date-selector__select-button:focus-visible {
34
- border-color: #63b3ed;
35
- box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
41
+ .memori--date-selector__mobile-input {
42
+ width: 100%;
43
+ max-width: 100%;
44
+ min-height: 48px;
45
+ box-sizing: border-box;
46
+ padding: 0.875rem 1rem;
47
+ border: 1px solid #e5e7eb;
48
+ border-radius: 0.5rem;
49
+ -webkit-appearance: none;
50
+ appearance: none;
51
+ background: #ffffff;
52
+ /* Touch-friendly */
53
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
54
+ color: #1f2937;
55
+ font-size: 1rem;
56
+ transition: all 0.2s ease;
36
57
  }
37
58
 
38
- .memori--date-selector__select-button:hover {
39
- border-color: #e2e8f0;
59
+ .memori--date-selector__mobile-input:focus {
60
+ border-color: var(--memori-primary, #9333ea);
61
+ box-shadow: 0 0 0 3px rgba(147, 51, 234, 0.1);
62
+ outline: none;
40
63
  }
41
64
 
42
- .memori--date-selector__select-button:active {
43
- border-color: #e2e8f0;
65
+ .memori--date-selector__mobile-input:active {
66
+ border-color: var(--memori-primary, #9333ea);
44
67
  }
45
68
 
46
- .memori--date-selector__select-button:disabled {
47
- border-color: #e2e8f0;
48
- background-color: #f7fafc;
49
- color: #a0aec0;
69
+ .memori--date-selector__mobile-input:disabled {
70
+ background-color: #f9fafb;
71
+ color: #9ca3af;
50
72
  cursor: not-allowed;
73
+ opacity: 0.6;
51
74
  }
52
75
 
53
- @media (min-width: 640px) {
54
- .memori--date-selector__select-button {
55
- font-size: 0.875rem;
56
- line-height: 1.25rem;
57
- }
58
- }
59
-
60
- .memori--date-selector__select-label {
61
- display: inline-block;
62
- margin-bottom: 0.25rem;
76
+ /* Desktop Styles */
77
+ .memori--date-selector--desktop {
78
+ display: flex;
79
+ flex-wrap: wrap;
80
+ justify-content: center;
81
+ gap: 1rem;
63
82
  }
64
83
 
65
- .memori--date-selector__select--value {
66
- display: block;
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- white-space: nowrap;
84
+ .memori--date-selector__input-group {
85
+ display: flex;
86
+ min-width: 80px;
87
+ /* flex: 1; */
88
+ flex-direction: column;
70
89
  }
71
90
 
72
- .memori--date-selector__select--icon {
73
- position: absolute;
74
- top: 0;
75
- right: 0;
76
- bottom: 0;
77
- display: flex;
78
- align-items: center;
79
- padding-right: 0.5rem;
80
- pointer-events: none;
91
+ .memori--date-selector__input-group--year {
92
+ min-width: 100px;
81
93
  }
82
94
 
83
- .memori--date-selector__select--icon svg {
84
- width: 1.25rem;
85
- height: 1.25rem;
86
- color: rgb(156 163 175/1);
95
+ .memori--date-selector__label {
96
+ display: inline-block;
97
+ margin-bottom: 0.5rem;
98
+ color: #4b5563;
99
+ font-size: 0.875rem;
100
+ font-weight: 500;
101
+ letter-spacing: 0.01em;
87
102
  }
88
103
 
89
- ul.memori--date-selector__select-options {
90
- position: absolute;
91
- z-index: 1;
92
- overflow: auto;
104
+ .memori--date-selector__input {
93
105
  width: 100%;
94
- max-width: min(18rem, 30%);
95
- max-height: 15rem;
96
- padding-top: 0.25rem;
97
- padding-right: 0;
98
- padding-bottom: 0.25rem;
99
- padding-left: 0;
100
- border-radius: 0.375rem;
101
- margin-top: 0.25rem;
102
- margin-right: 0;
103
- margin-bottom: 0;
104
- margin-left: 0;
105
- background: #fff;
106
- box-shadow: rgb(255, 255, 255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px,
107
- rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;
108
- list-style: none;
109
- }
110
-
111
- @media (min-width: 640px) {
112
- .memori--date-selector__select-options {
113
- font-size: 0.875rem;
114
- line-height: 1.25rem;
115
- }
106
+ padding: 0.75rem 1rem;
107
+ border: 2px solid #e5e7eb;
108
+ border-radius: 0.75rem;
109
+ -moz-appearance: textfield;
110
+ appearance: textfield;
111
+ /* Remove spinner buttons */
112
+ background: #ffffff;
113
+ color: #1f2937;
114
+ font-size: 0.95rem;
115
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
116
+ }
117
+
118
+ .memori--date-selector__input::-webkit-outer-spin-button,
119
+ .memori--date-selector__input::-webkit-inner-spin-button {
120
+ margin: 0;
121
+ -webkit-appearance: none;
122
+ }
123
+
124
+ .memori--date-selector__input:focus {
125
+ border-color: var(--memori-primary);
126
+ box-shadow: 0 0 0 4px rgba(var(--memori-primary-rgb), 0.1);
127
+ outline: none;
128
+ transform: translateY(-1px);
129
+ }
130
+
131
+ .memori--date-selector__input:disabled {
132
+ border-color: #e5e7eb;
133
+ background: #f9fafb;
134
+ color: #9ca3af;
135
+ cursor: not-allowed;
136
+ opacity: 0.6;
116
137
  }
117
138
 
118
- li.memori--date-selector__select-option {
119
- position: relative;
120
- padding-top: 0.5rem;
121
- padding-right: 1rem;
122
- padding-bottom: 0.5rem;
123
- padding-left: 1rem;
124
- color: rgb(17 24 39/1);
125
- cursor: pointer;
126
- user-select: none;
139
+ .memori--date-selector__input::placeholder {
140
+ color: #9ca3af;
127
141
  }
128
142
 
129
- li.memori--date-selector__select-option:hover,
130
- li.memori--date-selector__select-option:focus {
131
- background-color: #f7fafc;
132
- }
143
+ /* Responsive adjustments */
144
+ @media (max-width: 767px) {
145
+ .memori--date-selector--desktop {
146
+ display: none;
147
+ /* Hide desktop version on mobile if both are rendered for some reason */
148
+ }
133
149
 
134
- li.memori--date-selector__select-option:focus {
135
- outline: 2px solid #63b3ed;
136
- outline-offset: 2px;
137
- }
150
+ .memori--date-selector--mobile {
151
+ margin: 0.75rem 0;
152
+ }
153
+
154
+ .memori--date-selector__mobile-input {
155
+ min-height: 44px;
156
+ font-size: 16px; /* Prevents zoom on iOS */
157
+ }
158
+ }
@@ -3,7 +3,7 @@ import { DateTime } from 'luxon';
3
3
  export interface Props {
4
4
  defaultDate?: string | Date;
5
5
  disabled?: boolean;
6
- onChange: (date: DateTime) => void;
6
+ onChange: (date: DateTime | undefined) => void;
7
7
  }
8
8
  declare const DateSelector: import("react").MemoExoticComponent<({ defaultDate, onChange, disabled }: Props) => JSX.Element>;
9
9
  export default DateSelector;