@memori.ai/memori-react 8.2.0 → 8.4.0-rc.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 (146) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/Chat/Chat.js +8 -1
  3. package/dist/components/Chat/Chat.js.map +1 -1
  4. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +160 -0
  5. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +4 -0
  6. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +166 -0
  7. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -0
  8. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +877 -0
  9. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +3 -0
  10. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +115 -0
  11. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -0
  12. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +238 -0
  13. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.d.ts +4 -0
  14. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +104 -0
  15. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -0
  16. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +319 -0
  17. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.d.ts +4 -0
  18. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js +50 -0
  19. package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js.map +1 -0
  20. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +343 -0
  21. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +4 -0
  22. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +78 -0
  23. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -0
  24. package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.d.ts +12 -0
  25. package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.js +22 -0
  26. package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.js.map +1 -0
  27. package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.d.ts +12 -0
  28. package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.js +288 -0
  29. package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.js.map +1 -0
  30. package/dist/components/MemoriArtifactSystem/index.d.ts +9 -0
  31. package/dist/components/MemoriArtifactSystem/index.js +28 -0
  32. package/dist/components/MemoriArtifactSystem/index.js.map +1 -0
  33. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +108 -0
  34. package/dist/components/MemoriArtifactSystem/types/artifact.types.js +31 -0
  35. package/dist/components/MemoriArtifactSystem/types/artifact.types.js.map +1 -0
  36. package/dist/components/icons/Print.d.ts +6 -0
  37. package/dist/components/icons/Print.js +6 -0
  38. package/dist/components/icons/Print.js.map +1 -0
  39. package/dist/components/layouts/Chat.js +29 -1
  40. package/dist/components/layouts/Chat.js.map +1 -1
  41. package/dist/components/layouts/FullPage.js +33 -1
  42. package/dist/components/layouts/FullPage.js.map +1 -1
  43. package/dist/components/layouts/ZoomedFullBody.js +29 -2
  44. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  45. package/dist/components/layouts/chat.css +335 -13
  46. package/dist/components/layouts/zoomed-full-body.css +1 -3
  47. package/dist/helpers/message.js +1 -0
  48. package/dist/helpers/message.js.map +1 -1
  49. package/dist/helpers/stt/useSTT.js +76 -9
  50. package/dist/helpers/stt/useSTT.js.map +1 -1
  51. package/dist/index.js +58 -15
  52. package/dist/index.js.map +1 -1
  53. package/dist/styles.css +5 -0
  54. package/esm/components/Chat/Chat.js +8 -1
  55. package/esm/components/Chat/Chat.js.map +1 -1
  56. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +160 -0
  57. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.d.ts +4 -0
  58. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +163 -0
  59. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -0
  60. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +877 -0
  61. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +3 -0
  62. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +112 -0
  63. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -0
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +238 -0
  65. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.d.ts +4 -0
  66. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +101 -0
  67. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -0
  68. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +319 -0
  69. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.d.ts +4 -0
  70. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js +47 -0
  71. package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js.map +1 -0
  72. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +343 -0
  73. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.d.ts +4 -0
  74. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +75 -0
  75. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -0
  76. package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.d.ts +12 -0
  77. package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.js +17 -0
  78. package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.js.map +1 -0
  79. package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.d.ts +12 -0
  80. package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.js +281 -0
  81. package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.js.map +1 -0
  82. package/esm/components/MemoriArtifactSystem/index.d.ts +9 -0
  83. package/esm/components/MemoriArtifactSystem/index.js +9 -0
  84. package/esm/components/MemoriArtifactSystem/index.js.map +1 -0
  85. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +108 -0
  86. package/esm/components/MemoriArtifactSystem/types/artifact.types.js +28 -0
  87. package/esm/components/MemoriArtifactSystem/types/artifact.types.js.map +1 -0
  88. package/esm/components/icons/Print.d.ts +6 -0
  89. package/esm/components/icons/Print.js +4 -0
  90. package/esm/components/icons/Print.js.map +1 -0
  91. package/esm/components/layouts/Chat.js +29 -1
  92. package/esm/components/layouts/Chat.js.map +1 -1
  93. package/esm/components/layouts/FullPage.js +33 -1
  94. package/esm/components/layouts/FullPage.js.map +1 -1
  95. package/esm/components/layouts/ZoomedFullBody.js +30 -3
  96. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  97. package/esm/components/layouts/chat.css +335 -13
  98. package/esm/components/layouts/zoomed-full-body.css +1 -3
  99. package/esm/helpers/message.js +1 -0
  100. package/esm/helpers/message.js.map +1 -1
  101. package/esm/helpers/stt/useSTT.js +76 -9
  102. package/esm/helpers/stt/useSTT.js.map +1 -1
  103. package/esm/index.js +58 -15
  104. package/esm/index.js.map +1 -1
  105. package/esm/styles.css +5 -0
  106. package/package.json +1 -1
  107. package/src/components/Avatar/Avatar.test.tsx +13 -0
  108. package/src/components/Chat/Chat.stories.tsx +33 -2
  109. package/src/components/Chat/Chat.test.tsx +340 -213
  110. package/src/components/Chat/Chat.tsx +27 -4
  111. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +160 -0
  112. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +278 -0
  113. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +877 -0
  114. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +308 -0
  115. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +238 -0
  116. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +282 -0
  117. package/src/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +319 -0
  118. package/src/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.tsx +178 -0
  119. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +343 -0
  120. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +190 -0
  121. package/src/components/MemoriArtifactSystem/context/ArtifactSystemContext.tsx +57 -0
  122. package/src/components/MemoriArtifactSystem/hooks/useArtifactSystem.ts +419 -0
  123. package/src/components/MemoriArtifactSystem/index.ts +45 -0
  124. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +180 -0
  125. package/src/components/icons/Print.tsx +34 -0
  126. package/src/components/layouts/Chat.test.tsx +13 -0
  127. package/src/components/layouts/Chat.tsx +80 -25
  128. package/src/components/layouts/FullPage.test.tsx +40 -11
  129. package/src/components/layouts/FullPage.tsx +92 -24
  130. package/src/components/layouts/HiddenChat.test.tsx +13 -0
  131. package/src/components/layouts/Totem.test.tsx +13 -0
  132. package/src/components/layouts/WebsiteAssistant.test.tsx +13 -0
  133. package/src/components/layouts/ZoomedFullBody.test.tsx +13 -0
  134. package/src/components/layouts/ZoomedFullBody.tsx +78 -14
  135. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +252 -248
  136. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +504 -496
  137. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +252 -248
  138. package/src/components/layouts/chat.css +335 -13
  139. package/src/components/layouts/layouts.stories.tsx +13 -2
  140. package/src/components/layouts/zoomed-full-body.css +1 -3
  141. package/src/helpers/message.ts +1 -0
  142. package/src/helpers/stt/useSTT.ts +101 -16
  143. package/src/index.stories.tsx +26 -22
  144. package/src/index.tsx +46 -0
  145. package/src/mocks/data.ts +258 -0
  146. package/src/styles.css +5 -0
@@ -1,14 +1,41 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect } from 'react';
2
+ import { useEffect, useState } from 'react';
3
3
  import Spin from '../ui/Spin';
4
+ import { ArtifactDrawer, useArtifactSystemContext, } from '../MemoriArtifactSystem';
4
5
  const ZoomedFullBodyLayout = ({ Header, headerProps, Avatar, avatarProps, Chat, chatProps, StartPanel, startPanelProps, integrationStyle, integrationBackground, sessionId, hasUserActivatedSpeak, loading = false, poweredBy, }) => {
6
+ const { state } = useArtifactSystemContext();
7
+ const [isMobile, setIsMobile] = useState(false);
8
+ const [isAnimating, setIsAnimating] = useState(false);
5
9
  useEffect(() => {
10
+ const handleResize = () => {
11
+ const newIsMobile = window.innerWidth < 769;
12
+ if (newIsMobile !== isMobile) {
13
+ setIsAnimating(true);
14
+ setTimeout(() => {
15
+ setIsMobile(newIsMobile);
16
+ setIsAnimating(false);
17
+ }, 300);
18
+ }
19
+ else {
20
+ setIsMobile(newIsMobile);
21
+ }
22
+ };
6
23
  document.body.style.overflow = 'hidden';
24
+ handleResize();
25
+ window.addEventListener('resize', handleResize);
7
26
  return () => {
8
27
  document.body.style.overflow = '';
28
+ window.removeEventListener('resize', handleResize);
9
29
  };
10
- }, []);
11
- return (_jsxs(_Fragment, { children: [integrationStyle, integrationBackground, _jsxs(Spin, { className: "memori-spin--zoomed-full-body", spinning: loading, children: [Header && headerProps && _jsx(Header, { ...headerProps }), _jsxs("div", { className: "memori--grid", children: [_jsxs("div", { className: "memori--grid-column memori--grid-column-left", children: [Avatar && avatarProps && (_jsx(Avatar, { chatProps: chatProps, isZoomed: true, ...avatarProps })), _jsx("div", { id: "extension" })] }), _jsx("div", { className: "memori--grid-column memori--grid-column--zoomed-full-body memori--grid-column-right", children: sessionId && hasUserActivatedSpeak && Chat && chatProps ? (_jsx(Chat, { ...chatProps })) : startPanelProps ? (_jsx(StartPanel, { ...startPanelProps })) : null }), _jsx("div", { className: "memori--powered-by-custom", children: poweredBy })] })] })] }));
30
+ }, [isMobile]);
31
+ const hasArtifact = state.currentArtifact && !isMobile;
32
+ return (_jsxs(_Fragment, { children: [integrationStyle, integrationBackground, _jsxs(Spin, { className: "memori-spin--zoomed-full-body", spinning: loading, children: [Header && headerProps && _jsx(Header, { ...headerProps }), _jsxs("div", { className: "memori--grid", children: [!hasArtifact && (_jsxs("div", { className: "memori--grid-column memori--grid-column-left", children: [Avatar && avatarProps && !hasArtifact && (_jsx(Avatar, { isZoomed: true, chatProps: chatProps, ...avatarProps })), _jsx("div", { id: "extension" })] })), _jsxs("div", { className: `memori-chat-layout--main ${hasArtifact ? 'memori-chat-layout--main-with-artifact' : ''}`, children: [_jsx("div", { className: state.isFullscreen
33
+ ? `memori-chat-layout-controls-hide`
34
+ : `memori-chat-layout--controls ${hasArtifact
35
+ ? 'memori-chat-layout--controls-with-artifact'
36
+ : ''}`, children: sessionId && hasUserActivatedSpeak && Chat && chatProps ? (_jsx(Chat, { ...chatProps })) : startPanelProps ? (_jsx(StartPanel, { ...startPanelProps })) : null }), hasArtifact && (_jsx("div", { className: state.isFullscreen
37
+ ? `memori-chat-layout-artifact-panel-full-screen`
38
+ : `memori-chat-layout--artifact-panel memori-chat-layout--artifact-panel-enter`, children: _jsx(ArtifactDrawer, {}) }))] }), state.currentArtifact && isMobile && (_jsx("div", { className: "memori-chat-layout--artifact-drawer", children: _jsx(ArtifactDrawer, {}) })), _jsx("div", { className: "memori--powered-by-custom", children: poweredBy })] })] })] }));
12
39
  };
13
40
  export default ZoomedFullBodyLayout;
14
41
  //# sourceMappingURL=ZoomedFullBody.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZoomedFullBody.js","sourceRoot":"","sources":["../../../src/components/layouts/ZoomedFullBody.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,IAAI,MAAM,YAAY,CAAC;AAG9B,MAAM,oBAAoB,GAA0B,CAAC,EACnD,MAAM,EACN,WAAW,EACX,MAAM,EACN,WAAW,EACX,IAAI,EACJ,SAAS,EACT,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,qBAAqB,EACrB,OAAO,GAAG,KAAK,EACf,SAAS,GACV,EAAE,EAAE;IACH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BACG,gBAAgB,EAChB,qBAAqB,EAEtB,MAAC,IAAI,IAAC,SAAS,EAAC,+BAA+B,EAAC,QAAQ,EAAE,OAAO,aAC9D,MAAM,IAAI,WAAW,IAAI,KAAC,MAAM,OAAK,WAAW,GAAI,EAErD,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAK,SAAS,EAAC,8CAA8C,aAC1D,MAAM,IAAI,WAAW,IAAI,CACxB,KAAC,MAAM,IAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,WAAK,WAAW,GAAI,CAC3D,EAED,cAAK,EAAE,EAAC,WAAW,GAAG,IAClB,EACN,cAAK,SAAS,EAAC,qFAAqF,YACjG,SAAS,IAAI,qBAAqB,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CACzD,KAAC,IAAI,OAAK,SAAS,GAAI,CACxB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CACpB,KAAC,UAAU,OAAK,eAAe,GAAI,CACpC,CAAC,CAAC,CAAC,IAAI,GACJ,EAEN,cAAK,SAAS,EAAC,2BAA2B,YAAE,SAAS,GAAO,IACxD,IACD,IACN,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"ZoomedFullBody.js","sourceRoot":"","sources":["../../../src/components/layouts/ZoomedFullBody.tsx"],"names":[],"mappings":"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"}
@@ -6,12 +6,16 @@
6
6
  background: none;
7
7
  }
8
8
 
9
- .memori-widget > .memori-spin.memori-chat-layout {
9
+ .memori-widget > .memori-spin.memori-chat-layout {
10
10
  display: flex;
11
11
  height: 100%;
12
12
  flex-direction: column;
13
13
  }
14
14
 
15
+ .memori-chat-layout--main, .memori-chat-layout--controls{
16
+ min-height: calc(100% - 25px);
17
+ }
18
+
15
19
  .memori-chat-layout--header {
16
20
  text-align: right;
17
21
  }
@@ -21,6 +25,98 @@
21
25
  width: auto;
22
26
  }
23
27
 
28
+ .memori-chat-layout-controls-hide{
29
+ display: none;
30
+ }
31
+
32
+ .memori-chat-layout-artifact-panel-full-screen{
33
+ width: 100%;
34
+ height: 100%;
35
+ flex:1 1;
36
+ }
37
+
38
+
39
+ .memori-chat-layout--main {
40
+ position: relative;
41
+ display: flex;
42
+ overflow: hidden;
43
+ width: 100%;
44
+ height: 100%;
45
+ flex: 1;
46
+ flex-direction: row;
47
+ align-items: center;
48
+ justify-content: center;
49
+ /* max-width: 1200px; */
50
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
51
+ }
52
+
53
+ .memori-chat-layout--main-with-artifact {
54
+ flex-direction: row;
55
+ padding: 1rem;
56
+ border: 1px solid rgba(255, 255, 255, 0.2);
57
+ backdrop-filter: blur(20px);
58
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.9) 100%);
59
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
60
+ gap: 1rem;
61
+ }
62
+
63
+ .memori-chat-layout--controls {
64
+ position: relative;
65
+ z-index: 5;
66
+ overflow: hidden;
67
+ min-width: 0;
68
+ flex: 1;
69
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
70
+ }
71
+
72
+ .memori-chat-layout--controls-with-artifact {
73
+ max-height: 100%;
74
+ flex: 0 0 50%;
75
+ margin: 0;
76
+ }
77
+
78
+ .memori-chat-layout--artifact-panel {
79
+ position: relative;
80
+ display: flex;
81
+ overflow: hidden;
82
+ width: 100%;
83
+ min-width: 0;
84
+ height: 100%;
85
+ flex: 0 0 50%;
86
+ flex-direction: column;
87
+ border: 1px solid rgba(255, 255, 255, 0.3);
88
+ border-radius: 12px;
89
+ backdrop-filter: blur(20px);
90
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 250, 252, 0.8) 100%);
91
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
92
+ opacity: 0;
93
+ transform: translateX(100%) scale(0.95);
94
+ transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
95
+ }
96
+
97
+ .memori-chat-layout--artifact-panel-enter {
98
+ animation: artifact-panel-slide-in 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
99
+ opacity: 1;
100
+ transform: translateX(0) scale(1);
101
+ }
102
+
103
+ @keyframes artifact-panel-slide-in {
104
+ 0% {
105
+ opacity: 0;
106
+ transform: translateX(100%) scale(0.95);
107
+ }
108
+ 50% {
109
+ opacity: 0.8;
110
+ transform: translateX(50%) scale(0.98);
111
+ }
112
+ 100% {
113
+ opacity: 1;
114
+ transform: translateX(0) scale(1);
115
+ }
116
+ }
117
+
118
+
119
+
24
120
  .memori-chat-layout .memori--avatar {
25
121
  top: 0;
26
122
  }
@@ -52,25 +148,17 @@
52
148
  }
53
149
  }
54
150
 
55
- .memori-chat-layout--controls {
56
- position: relative;
57
- z-index: 5;
58
- max-height: calc(100% - 50px);
59
- flex: 1;
60
- }
61
-
62
151
  .memori-chat-layout--controls .memori--start-panel,
63
152
  .memori-chat-layout--controls .memori-chat--wrapper {
64
153
  max-width: 1200px;
154
+ height: 100%;
155
+ min-height: calc(87vh - 1rem);
65
156
  margin: 0 auto;
66
157
  }
67
158
 
68
- .memori-chat-layout--controls .memori--start-panel {
69
- margin-top: 3rem;
70
- }
71
159
 
72
160
  .memori-chat-layout--controls .memori-chat--wrapper {
73
- height: calc(100% - 1rem);
161
+ height: calc(87vh - 1rem);
74
162
  }
75
163
 
76
164
  .memori-chat-layout .memori-chat--content {
@@ -125,5 +213,239 @@
125
213
  }
126
214
 
127
215
  .memori-chat-layout .memori--global-background-image {
128
- background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(200, 200, 200, 0.8));
216
+ position: relative;
217
+ overflow: hidden;
218
+ background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(200, 200, 200, 0.8) 100%);
219
+ transition: all 0.2s ease-in-out;
220
+ }
221
+
222
+ .memori-chat-layout .memori--global-background-image::before {
223
+ position: absolute;
224
+ top: 0;
225
+ right: 0;
226
+ bottom: 0;
227
+ left: 0;
228
+ animation: background-shimmer 4s ease-in-out infinite;
229
+ background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.05) 50%, transparent 70%);
230
+ background-size: 200% 200%;
231
+ content: '';
232
+ pointer-events: none;
233
+ }
234
+
235
+ @keyframes background-shimmer {
236
+ 0%, 100% { background-position: 200% 200%; }
237
+ 50% { background-position: -200% -200%; }
238
+ }
239
+
240
+ /* Enhanced micro-interactions */
241
+
242
+ .memori-chat-layout--main:hover {
243
+ transform: translateY(-2px);
244
+ /* box-shadow: 0 12px 48px rgba(0, 0, 0, 0.15); */
245
+ }
246
+
247
+
248
+ .memori-chat-layout--controls:hover {
249
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
250
+ transform: translateY(-1px);
129
251
  }
252
+
253
+
254
+
255
+ .memori-chat-layout--artifact-panel:hover {
256
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
257
+ transform: translateY(-1px) scale(1.01);
258
+ }
259
+
260
+ /* Loading states */
261
+ .memori-chat-layout--loading {
262
+ position: relative;
263
+ overflow: hidden;
264
+ }
265
+
266
+ .memori-chat-layout--loading::before {
267
+ position: absolute;
268
+ z-index: 1;
269
+ top: 0;
270
+ left: -100%;
271
+ width: 100%;
272
+ height: 100%;
273
+ animation: loading-shimmer 1.5s infinite;
274
+ background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
275
+ content: '';
276
+ }
277
+
278
+ @keyframes loading-shimmer {
279
+ 0% { left: -100%; }
280
+ 100% { left: 100%; }
281
+ }
282
+
283
+ /* Success animations */
284
+ .memori-chat-layout--success {
285
+ animation: success-pulse 0.6s cubic-bezier(0.4, 0, 0.2, 1);
286
+ }
287
+
288
+ @keyframes success-pulse {
289
+ 0% { transform: scale(1); }
290
+ 50% { transform: scale(1.02); }
291
+ 100% { transform: scale(1); }
292
+ }
293
+
294
+ /* Error states */
295
+ .memori-chat-layout--error {
296
+ animation: error-shake 0.5s cubic-bezier(0.4, 0, 0.2, 1);
297
+ }
298
+
299
+ @keyframes error-shake {
300
+ 0%, 100% { transform: translateX(0); }
301
+ 25% { transform: translateX(-4px); }
302
+ 75% { transform: translateX(4px); }
303
+ }
304
+
305
+ /* Focus states for accessibility */
306
+ .memori-chat-layout--controls:focus-within {
307
+ border-radius: 12px;
308
+ box-shadow: 0 0 0 4px rgba(0, 123, 255, 0.1);
309
+ outline: 2px solid #007bff;
310
+ outline-offset: 2px;
311
+ }
312
+
313
+ /* High contrast mode support */
314
+ @media (prefers-contrast: high) {
315
+ .memori-chat-layout--main {
316
+ border: 2px solid #333;
317
+ }
318
+
319
+ .memori-chat-layout--controls {
320
+ border: 2px solid #333;
321
+ }
322
+
323
+ .memori-chat-layout--artifact-panel {
324
+ border: 2px solid #333;
325
+ }
326
+ }
327
+
328
+ /* Reduced motion support */
329
+ @media (prefers-reduced-motion: reduce) {
330
+ .memori-chat-layout--main,
331
+ .memori-chat-layout--controls,
332
+ .memori-chat-layout--artifact-panel,
333
+ .memori-chat-layout--header {
334
+ animation: none;
335
+ transition: none;
336
+ }
337
+
338
+ .memori-chat-layout--main:hover {
339
+ transform: none;
340
+ }
341
+
342
+ .memori-chat-layout--controls:hover {
343
+ transform: none;
344
+ }
345
+
346
+ .memori-chat-layout--artifact-panel:hover {
347
+ transform: none;
348
+ }
349
+
350
+ .memori-chat-layout--artifact-panel-enter {
351
+ animation: none;
352
+ opacity: 1;
353
+ transform: translateX(0) scale(1);
354
+ }
355
+ }
356
+
357
+
358
+ .memori-chat-layout--artifact-drawer {
359
+ position: fixed;
360
+ z-index: 1000;
361
+ top: 0;
362
+ right: 0;
363
+ bottom: 0;
364
+ left: 0;
365
+ pointer-events: none;
366
+ }
367
+
368
+ .memori-chat-layout--artifact-drawer .memori-artifact-drawer {
369
+ pointer-events: auto;
370
+ }
371
+
372
+ /* Mobile drawer animations */
373
+
374
+
375
+ .memori-chat-layout--artifact-drawer[data-headlessui-state~="open"] {
376
+ opacity: 1;
377
+ visibility: visible;
378
+ }
379
+
380
+ .memori-chat-layout--artifact-drawer[data-headlessui-state~="open"] .memori-artifact-drawer {
381
+ animation: mobile-drawer-slide-in 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
382
+ transform: translateX(0);
383
+ }
384
+
385
+ @keyframes mobile-drawer-slide-in {
386
+ 0% {
387
+ opacity: 0;
388
+ transform: translateX(100%);
389
+ }
390
+ 50% {
391
+ opacity: 0.8;
392
+ transform: translateX(50%);
393
+ }
394
+ 100% {
395
+ opacity: 1;
396
+ transform: translateX(0);
397
+ }
398
+ }
399
+
400
+ /* Adjust chat layout when drawer is open */
401
+ .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--controls {
402
+ margin-right: 50%;
403
+ filter: blur(1px);
404
+ opacity: 0.8;
405
+ transform: scale(0.98);
406
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
407
+ }
408
+
409
+ .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--main {
410
+ backdrop-filter: blur(5px);
411
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(248, 250, 252, 0.02) 100%);
412
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
413
+ }
414
+
415
+ /* Mobile adjustments */
416
+ @media (max-width: 768px) {
417
+ .memori-chat-layout--main {
418
+ flex-direction: column !important;
419
+ padding: 0.5rem !important;
420
+ backdrop-filter: blur(10px) !important;
421
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(248, 250, 252, 0.02) 100%) !important;
422
+ gap: 0.5rem !important;
423
+ }
424
+
425
+ .memori-chat-layout--artifact-panel {
426
+ display: none !important;
427
+ }
428
+
429
+ .memori-chat-layout--controls {
430
+ max-height: calc(100% - 50px) !important;
431
+ flex: 1 !important;
432
+ border: 1px solid rgba(255, 255, 255, 0.3) !important;
433
+ margin: 0 !important;
434
+ /* background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(248, 250, 252, 0.6) 100%) !important;
435
+ backdrop-filter: blur(20px) !important;
436
+ border-radius: 12px !important; */
437
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
438
+ }
439
+
440
+ .memori-chat-layout:has(.memori-chat-layout--artifact-drawer .memori-artifact-drawer[data-headlessui-state~="open"]) .memori-chat-layout--controls {
441
+ margin-right: 0;
442
+ filter: blur(2px);
443
+ opacity: 0.7;
444
+ transform: scale(0.95);
445
+ }
446
+
447
+ .memori-chat-layout--artifact-drawer {
448
+ backdrop-filter: blur(12px) saturate(200%) !important;
449
+ background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 100%) !important;
450
+ }
451
+ }
@@ -1,6 +1,4 @@
1
- .memori-spin--zoomed-full-body {
2
- height: 100vh !important;
3
- }
1
+
4
2
 
5
3
  .memori--powered-by-custom {
6
4
  position: absolute;
@@ -52,6 +52,7 @@ export const renderMsg = (text, useMathFormatting = false, reasoningText = 'Reas
52
52
  ? `<details class="memori-think"><summary>${reasoningText}</summary>$1</details>`
53
53
  : '')
54
54
  .replaceAll(/<document_attachment filename="([^"]+)" type="([^"]+)">([\s\S]*?)<\/document_attachment>/g, '')
55
+ .replaceAll(/<output\s+class\s*=\s*["\']memori-artifact["\'][^>]*data-mimetype\s*=\s*["\']([^"']+)["\'][^>]*>([\s\S]*?)(?:<\/output>|$)/gi, '')
55
56
  .replaceAll(/```markdown([^```]+)```/g, '$1')
56
57
  .replaceAll('($', '( $')
57
58
  .replaceAll(':$', ': $')
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/helpers/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/helpers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAG1D,MAAM,CAAC,GAAG,CAAC;IACT,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,IAAI;IACT,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC,EACL,IAAI,EACJ,KAAK,EACL,IAAI,GAKL,EAAE,EAAE;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE/C,IAAI,SAAS,KAAK,IAAI,EAAE;gBACtB,OAAO,IAAI,CAAC;aACb;YACD,IAAI,GAAG,SAAS,CAAC;YACjB,IAAI,GAAG,GAAG,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;YACnC,IAAI,KAAK,EAAE;gBACT,GAAG,IAAI,UAAU,GAAG,KAAK,GAAG,GAAG,CAAC;aACjC;YACD,GAAG,IAAI,6CAA6C,GAAG,IAAI,GAAG,MAAM,CAAC;YACrE,OAAO,GAAG,CAAC;QACb,CAAC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;AAC9B,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IACjD,OAAO,CACL,OAAO,CAAC,MAAM,GAAG,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,aAAa,CAC5E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IACjD,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE;QAClC,gBAAgB,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;KACpE;IACD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,aAAa,EAAE;QACtD,gBAAgB,GAAG,gBAAgB;aAChC,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC,CAAC;KACd;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAY,EACZ,iBAAiB,GAAG,KAAK,EACzB,aAAa,GAAG,cAAc,EAC9B,aAAa,GAAG,KAAK,EAGrB,EAAE;IACF,IAAI;QAEF,IAAI,gBAAgB,GAAG,IAAI;aACxB,IAAI,EAAE;aACN,UAAU,CACT,2BAA2B,EAC3B,+DAA+D,CAChE;aACA,UAAU,CACT,6BAA6B,EAC7B,aAAa;YACX,CAAC,CAAC,0CAA0C,aAAa,wBAAwB;YACjF,CAAC,CAAC,EAAE,CACP;aAEA,UAAU,CACT,2FAA2F,EAC3F,EAAE,CACH;aACA,UAAU,CAAC,8HAA8H,EAAE,EAAE,CAAC;aAC9I,UAAU,CAAC,0BAA0B,EAAE,IAAI,CAAC;aAC5C,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;aACvB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;aACvB,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC7B,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC7B,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAGhC,IAAI,iBAAiB,EAAE;YAErB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YAI5B,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CACzC,mBAAmB,EACnB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;gBACb,OAAO,KAAK,OAAO,IAAI,CAAC;YAC1B,CAAC,CACF,CAAC;YAGF,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CACzC,iBAAiB,EACjB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAEjB,IACE,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC;oBAC1C,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC1B,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB;oBACA,OAAO,KAAK,OAAO,IAAI,CAAC;iBACzB;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CACF,CAAC;SACH;QAGD,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAGlE,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC1C,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB,CAAC,CAAC;QAGH,MAAM,SAAS,GAAG,UAAU;aACzB,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;aAC3B,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;aAC5B,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAEpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KAC5B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,CAAC;KACjB;AACH,CAAC,CAAC"}
@@ -1,5 +1,58 @@
1
1
  import { useState, useCallback, useRef, useEffect } from 'react';
2
2
  import { getLocalConfig } from '../configuration';
3
+ async function convertToWav(audioBlob) {
4
+ return new Promise((resolve, reject) => {
5
+ const audioContext = new (window.AudioContext || window.webkitAudioContext)();
6
+ const fileReader = new FileReader();
7
+ fileReader.onload = async () => {
8
+ try {
9
+ const arrayBuffer = fileReader.result;
10
+ const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
11
+ const wavBlob = audioBufferToWav(audioBuffer);
12
+ resolve(wavBlob);
13
+ }
14
+ catch (error) {
15
+ reject(error);
16
+ }
17
+ };
18
+ fileReader.onerror = () => reject(new Error('Failed to read audio file'));
19
+ fileReader.readAsArrayBuffer(audioBlob);
20
+ });
21
+ }
22
+ function audioBufferToWav(buffer) {
23
+ const length = buffer.length;
24
+ const sampleRate = buffer.sampleRate;
25
+ const numberOfChannels = buffer.numberOfChannels;
26
+ const arrayBuffer = new ArrayBuffer(44 + length * numberOfChannels * 2);
27
+ const view = new DataView(arrayBuffer);
28
+ const writeString = (offset, string) => {
29
+ for (let i = 0; i < string.length; i++) {
30
+ view.setUint8(offset + i, string.charCodeAt(i));
31
+ }
32
+ };
33
+ writeString(0, 'RIFF');
34
+ view.setUint32(4, 36 + length * numberOfChannels * 2, true);
35
+ writeString(8, 'WAVE');
36
+ writeString(12, 'fmt ');
37
+ view.setUint32(16, 16, true);
38
+ view.setUint16(20, 1, true);
39
+ view.setUint16(22, numberOfChannels, true);
40
+ view.setUint32(24, sampleRate, true);
41
+ view.setUint32(28, sampleRate * numberOfChannels * 2, true);
42
+ view.setUint16(32, numberOfChannels * 2, true);
43
+ view.setUint16(34, 16, true);
44
+ writeString(36, 'data');
45
+ view.setUint32(40, length * numberOfChannels * 2, true);
46
+ let offset = 44;
47
+ for (let i = 0; i < length; i++) {
48
+ for (let channel = 0; channel < numberOfChannels; channel++) {
49
+ const sample = Math.max(-1, Math.min(1, buffer.getChannelData(channel)[i]));
50
+ view.setInt16(offset, sample < 0 ? sample * 0x8000 : sample * 0x7FFF, true);
51
+ offset += 2;
52
+ }
53
+ }
54
+ return new Blob([arrayBuffer], { type: 'audio/wav' });
55
+ }
3
56
  export function useSTT(config, processSpeechAndSendMessage, options = {}, defaultEnableAudio = true) {
4
57
  const [recordingState, setRecordingState] = useState('idle');
5
58
  const [microphoneMuted, setMicrophoneMuted] = useState(getLocalConfig('muteMicrophone', !defaultEnableAudio));
@@ -47,18 +100,18 @@ export function useSTT(config, processSpeechAndSendMessage, options = {}, defaul
47
100
  }
48
101
  let mimeType = '';
49
102
  if (config.provider === 'azure') {
50
- if (MediaRecorder.isTypeSupported('audio/mp4')) {
103
+ if (MediaRecorder.isTypeSupported('audio/webm;codecs=opus')) {
104
+ mimeType = 'audio/webm;codecs=opus';
105
+ }
106
+ else if (MediaRecorder.isTypeSupported('audio/webm')) {
107
+ mimeType = 'audio/webm';
108
+ }
109
+ else if (MediaRecorder.isTypeSupported('audio/mp4')) {
51
110
  mimeType = 'audio/mp4';
52
111
  }
53
112
  else if (MediaRecorder.isTypeSupported('audio/ogg;codecs=opus')) {
54
113
  mimeType = 'audio/ogg;codecs=opus';
55
114
  }
56
- else if (MediaRecorder.isTypeSupported('audio/ogg')) {
57
- mimeType = 'audio/ogg';
58
- }
59
- else if (MediaRecorder.isTypeSupported('audio/webm')) {
60
- mimeType = 'audio/webm';
61
- }
62
115
  }
63
116
  else {
64
117
  if (MediaRecorder.isTypeSupported('audio/webm;codecs=opus')) {
@@ -89,12 +142,23 @@ export function useSTT(config, processSpeechAndSendMessage, options = {}, defaul
89
142
  if (chunksRef.current.length === 0) {
90
143
  throw new Error('No audio data recorded');
91
144
  }
92
- const audioBlob = new Blob(chunksRef.current, {
145
+ let audioBlob = new Blob(chunksRef.current, {
93
146
  type: mediaRecorder.mimeType,
94
147
  });
95
148
  if (audioBlob.size === 0) {
96
149
  throw new Error('Recorded audio is empty');
97
150
  }
151
+ if (config.provider === 'azure') {
152
+ try {
153
+ console.log('Converting audio to WAV format for Azure');
154
+ audioBlob = await convertToWav(audioBlob);
155
+ console.log('Audio converted to WAV successfully');
156
+ }
157
+ catch (conversionError) {
158
+ console.error('Failed to convert audio to WAV:', conversionError);
159
+ throw new Error('Failed to convert audio to WAV format for Azure');
160
+ }
161
+ }
98
162
  const result = await transcribeAudio(audioBlob);
99
163
  if (processSpeechAndSendMessage) {
100
164
  processSpeechAndSendMessage(result.text);
@@ -186,7 +250,10 @@ export function useSTT(config, processSpeechAndSendMessage, options = {}, defaul
186
250
  var _a;
187
251
  const formData = new FormData();
188
252
  let fileExtension = 'webm';
189
- if ((_a = mediaRecorderRef.current) === null || _a === void 0 ? void 0 : _a.mimeType) {
253
+ if (config.provider === 'azure') {
254
+ fileExtension = 'wav';
255
+ }
256
+ else if ((_a = mediaRecorderRef.current) === null || _a === void 0 ? void 0 : _a.mimeType) {
190
257
  if (mediaRecorderRef.current.mimeType.includes('webm')) {
191
258
  fileExtension = 'webm';
192
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSTT.js","sourceRoot":"","sources":["../../../src/helpers/stt/useSTT.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSTT.js","sourceRoot":"","sources":["../../../src/helpers/stt/useSTT.ts"],"names":[],"mappings":"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"}