@memori.ai/memori-react 1.0.0-rc.2 → 1.0.0-rc.4

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 (59) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/components/Avatar/Avatar.js +1 -1
  3. package/dist/components/Avatar/Avatar.js.map +1 -1
  4. package/dist/components/Blob/Blob.css +28 -0
  5. package/dist/components/Blob/Blob.d.ts +2 -1
  6. package/dist/components/Blob/Blob.js +3 -2
  7. package/dist/components/Blob/Blob.js.map +1 -1
  8. package/dist/components/Blob/Blob.stories.d.ts +1 -0
  9. package/dist/components/Blob/Blob.stories.js +14 -2
  10. package/dist/components/Blob/Blob.stories.js.map +1 -1
  11. package/dist/components/Blob/Blob.test.js +4 -0
  12. package/dist/components/Blob/Blob.test.js.map +1 -1
  13. package/dist/components/Chat/Chat.css +1 -1
  14. package/dist/components/ChatTextArea/ChatTextArea.css +3 -3
  15. package/dist/components/Header/Header.css +1 -0
  16. package/dist/components/MediaWidget/LinkItemWidget.css +1 -0
  17. package/dist/components/MediaWidget/MediaItemWidget.css +1 -0
  18. package/dist/components/MemoriWidget/MemoriWidget.css +11 -7
  19. package/dist/components/MemoriWidget/MemoriWidget.js +81 -21
  20. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  21. package/dist/components/ShareButton/ShareButton.css +4 -0
  22. package/dist/components/StartPanel/StartPanel.css +2 -0
  23. package/esm/components/Avatar/Avatar.js +1 -1
  24. package/esm/components/Avatar/Avatar.js.map +1 -1
  25. package/esm/components/Blob/Blob.css +28 -0
  26. package/esm/components/Blob/Blob.d.ts +2 -1
  27. package/esm/components/Blob/Blob.js +3 -2
  28. package/esm/components/Blob/Blob.js.map +1 -1
  29. package/esm/components/Blob/Blob.stories.d.ts +1 -0
  30. package/esm/components/Blob/Blob.stories.js +13 -1
  31. package/esm/components/Blob/Blob.stories.js.map +1 -1
  32. package/esm/components/Blob/Blob.test.js +4 -0
  33. package/esm/components/Blob/Blob.test.js.map +1 -1
  34. package/esm/components/Chat/Chat.css +1 -1
  35. package/esm/components/ChatTextArea/ChatTextArea.css +3 -3
  36. package/esm/components/Header/Header.css +1 -0
  37. package/esm/components/MediaWidget/LinkItemWidget.css +1 -0
  38. package/esm/components/MediaWidget/MediaItemWidget.css +1 -0
  39. package/esm/components/MemoriWidget/MemoriWidget.css +11 -7
  40. package/esm/components/MemoriWidget/MemoriWidget.js +81 -21
  41. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  42. package/esm/components/ShareButton/ShareButton.css +4 -0
  43. package/esm/components/StartPanel/StartPanel.css +2 -0
  44. package/package.json +2 -1
  45. package/src/components/Avatar/Avatar.tsx +1 -0
  46. package/src/components/Blob/Blob.css +28 -0
  47. package/src/components/Blob/Blob.stories.tsx +14 -1
  48. package/src/components/Blob/Blob.test.tsx +5 -0
  49. package/src/components/Blob/Blob.tsx +4 -2
  50. package/src/components/Blob/__snapshots__/Blob.test.tsx.snap +24 -0
  51. package/src/components/Chat/Chat.css +1 -1
  52. package/src/components/ChatTextArea/ChatTextArea.css +3 -3
  53. package/src/components/Header/Header.css +1 -0
  54. package/src/components/MediaWidget/LinkItemWidget.css +1 -0
  55. package/src/components/MediaWidget/MediaItemWidget.css +1 -0
  56. package/src/components/MemoriWidget/MemoriWidget.css +11 -7
  57. package/src/components/MemoriWidget/MemoriWidget.tsx +113 -24
  58. package/src/components/ShareButton/ShareButton.css +4 -0
  59. package/src/components/StartPanel/StartPanel.css +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
 
2
2
 
3
+ ## [1.0.0-rc.4](https://github.com/memori-ai/memori-react/compare/v1.0.0-rc.3...v1.0.0-rc.4) (2023-02-27)
4
+
5
+
6
+ ### Features
7
+
8
+ * blob pulse on speaking ([bd0ef1c](https://github.com/memori-ai/memori-react/commit/bd0ef1cb69e8277c07556b96b6e3167c23938ae1))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * default styles ([66ae787](https://github.com/memori-ai/memori-react/commit/66ae787a8255d691821434a9aec239d2e8e3b7d0))
14
+ * widget audio on ios ([eab3e16](https://github.com/memori-ai/memori-react/commit/eab3e16be90a5b2a6b783ba983c8bc1a48081e66))
15
+
16
+
17
+ ### Maintenance
18
+
19
+ * add sb script + viewport for sb preview ([38a963b](https://github.com/memori-ai/memori-react/commit/38a963b207a3f1fb4f8d6db8bb741b4e4260f0ef))
20
+
21
+
22
+ ### Changes
23
+
24
+ * dont show 3d avatar on mobile by default ([636dae4](https://github.com/memori-ai/memori-react/commit/636dae4356d5ccc4f1e28cd7abe78c0e221966ac))
25
+ * minor css fixes, backdrop blur + padding ([a0138dc](https://github.com/memori-ai/memori-react/commit/a0138dc0a2a34e46fe81974c06334e3f9b52f69e))
26
+
27
+ ## [1.0.0-rc.3](https://github.com/memori-ai/memori-react/compare/v1.0.0-rc.2...v1.0.0-rc.3) (2023-02-16)
28
+
29
+
30
+ ### Bug Fixes
31
+
32
+ * encapsulate css properties in memori-widget ([03221bd](https://github.com/memori-ai/memori-react/commit/03221bd5967c6278a6d5540f4c4192f0efe5110c))
33
+
3
34
  ## [1.0.0-rc.2](https://github.com/memori-ai/memori-react/compare/v1.0.0-rc.1...v1.0.0-rc.2) (2023-02-16)
4
35
 
5
36
 
@@ -27,7 +27,7 @@ const Avatar = ({ memori, integration, integrationConfig, tenant, instruct = fal
27
27
  react_1.default.createElement("div", { className: (0, classnames_1.default)('memori--avatar-wrapper', {
28
28
  hidden: !avatar3dVisible,
29
29
  }) },
30
- isClient && integrationConfig.avatar === 'readyplayerme' && (react_1.default.createElement(ErrorBoundary_1.default, { fallback: react_1.default.createElement("div", { className: "memori--blob-container" }, isClient && (react_1.default.createElement(Blob_1.default, { avatar: (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatar) === 'userAvatar' &&
30
+ isClient && integrationConfig.avatar === 'readyplayerme' && (react_1.default.createElement(ErrorBoundary_1.default, { fallback: react_1.default.createElement("div", { className: "memori--blob-container" }, isClient && (react_1.default.createElement(Blob_1.default, { speaking: isPlayingAudio, avatar: (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatar) === 'userAvatar' &&
31
31
  memori.avatarURL &&
32
32
  memori.avatarURL.length > 0
33
33
  ? (0, media_1.getResourceUrl)({
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@
21
21
  transform-origin: 50% 50%;
22
22
  }
23
23
 
24
+ .memori-blob.memori-blob--speaking {
25
+ animation: blobspeaking 2s ease-in-out infinite;
26
+ }
27
+
24
28
  @media screen and (max-height: 1280px) {
25
29
  .mainDiv {
26
30
  width: 25vw;
@@ -84,6 +88,30 @@
84
88
  }
85
89
  }
86
90
 
91
+ @keyframes blobspeaking {
92
+ 0% {
93
+ filter: brightness(1);
94
+ transform: scale(1);
95
+ }
96
+ 15% {
97
+ filter: brightness(1.1);
98
+ }
99
+ 30% {
100
+ filter: brightness(1);
101
+ transform: scale(0.99);
102
+ }
103
+ 50% {
104
+ filter: brightness(1.05);
105
+ transform: scale(1.01);
106
+ }
107
+ 75% {
108
+ filter: brightness(1.15);
109
+ }
110
+ 100% {
111
+ filter: brightness(1.1);
112
+ transform: scale(0.99);
113
+ }
114
+ }
87
115
 
88
116
  .memori-blob {
89
117
  position: relative;
@@ -1,5 +1,6 @@
1
1
  export interface Props {
2
2
  avatar?: string;
3
+ speaking?: boolean;
3
4
  }
4
- declare const ExperienceBlob: ({ avatar }: Props) => JSX.Element;
5
+ declare const ExperienceBlob: ({ avatar, speaking }: Props) => JSX.Element;
5
6
  export default ExperienceBlob;
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const react_1 = tslib_1.__importDefault(require("react"));
5
- const ExperienceBlob = ({ avatar }) => {
6
- return (react_1.default.createElement("div", { className: "memori-blob" },
5
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
6
+ const ExperienceBlob = ({ avatar, speaking = false }) => {
7
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)('memori-blob', { 'memori-blob--speaking': speaking }) },
7
8
  avatar && (react_1.default.createElement("figure", null,
8
9
  react_1.default.createElement("img", { src: avatar, alt: "", role: "presentation" }))),
9
10
  react_1.default.createElement("div", { className: "mainDiv" }),
@@ -1 +1 @@
1
- {"version":3,"file":"Blob.js","sourceRoot":"","sources":["../../../src/components/Blob/Blob.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAM1B,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAS,EAAE,EAAE;IAC3C,OAAO,CACL,uCAAK,SAAS,EAAC,aAAa;QACzB,MAAM,IAAI,CACT;YACE,uCAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,cAAc,GAAG,CACxC,CACV;QACD,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO,CAC3B,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"Blob.js","sourceRoot":"","sources":["../../../src/components/Blob/Blob.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,oEAA4B;AAO5B,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAS,EAAE,EAAE;IAC7D,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,aAAa,EAAE,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,CACT;YACE,uCAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,cAAc,GAAG,CACxC,CACV;QACD,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO;QAC/B,uCAAK,SAAS,EAAC,SAAS,GAAO,CAC3B,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
@@ -5,3 +5,4 @@ declare const meta: Meta;
5
5
  export default meta;
6
6
  export declare const Default: Story<Props>;
7
7
  export declare const WithAvatar: Story<Props>;
8
+ export declare const Speaking: Story<Props>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WithAvatar = exports.Default = void 0;
3
+ exports.Speaking = exports.WithAvatar = exports.Default = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const Blob_1 = tslib_1.__importDefault(require("./Blob"));
@@ -14,6 +14,11 @@ const meta = {
14
14
  type: 'text',
15
15
  },
16
16
  },
17
+ speaking: {
18
+ control: {
19
+ type: 'boolean',
20
+ },
21
+ },
17
22
  },
18
23
  parameters: {
19
24
  controls: { expanded: true },
@@ -23,9 +28,16 @@ exports.default = meta;
23
28
  const Template = args => (react_1.default.createElement("div", { style: { marginTop: '20vw' } },
24
29
  react_1.default.createElement(Blob_1.default, { ...args })));
25
30
  exports.Default = Template.bind({});
26
- exports.Default.args = {};
31
+ exports.Default.args = {
32
+ speaking: false,
33
+ };
27
34
  exports.WithAvatar = Template.bind({});
28
35
  exports.WithAvatar.args = {
29
36
  avatar: 'https://avatars.githubusercontent.com/u/21101435?v=4',
37
+ speaking: false,
38
+ };
39
+ exports.Speaking = Template.bind({});
40
+ exports.Speaking.args = {
41
+ speaking: true,
30
42
  };
31
43
  //# sourceMappingURL=Blob.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Blob.stories.js","sourceRoot":"","sources":["../../../src/components/Blob/Blob.stories.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,0DAAqC;AACrC,sBAAoB;AAEpB,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,cAAI;IACf,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;aACb;SACF;KACF;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7B;CACF,CAAC;AAEF,kBAAe,IAAI,CAAC;AAEpB,MAAM,QAAQ,GAAiB,IAAI,CAAC,EAAE,CAAC,CACrC,uCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;IAC/B,8BAAC,cAAI,OAAK,IAAI,GAAI,CACd,CACP,CAAC;AAIW,QAAA,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,eAAO,CAAC,IAAI,GAAG,EAAE,CAAC;AAEL,QAAA,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,kBAAU,CAAC,IAAI,GAAG;IAChB,MAAM,EAAE,sDAAsD;CAC/D,CAAC"}
1
+ {"version":3,"file":"Blob.stories.js","sourceRoot":"","sources":["../../../src/components/Blob/Blob.stories.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAE1B,0DAAqC;AACrC,sBAAoB;AAEpB,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,cAAI;IACf,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;aACb;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;aAChB;SACF;KACF;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7B;CACF,CAAC;AAEF,kBAAe,IAAI,CAAC;AAEpB,MAAM,QAAQ,GAAiB,IAAI,CAAC,EAAE,CAAC,CACrC,uCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;IAC/B,8BAAC,cAAI,OAAK,IAAI,GAAI,CACd,CACP,CAAC;AAIW,QAAA,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,eAAO,CAAC,IAAI,GAAG;IACb,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEW,QAAA,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,kBAAU,CAAC,IAAI,GAAG;IAChB,MAAM,EAAE,sDAAsD;IAC9D,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEW,QAAA,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,gBAAQ,CAAC,IAAI,GAAG;IACd,QAAQ,EAAE,IAAI;CACf,CAAC"}
@@ -8,6 +8,10 @@ it('renders Blob unchanged', () => {
8
8
  const { container } = (0, react_2.render)(react_1.default.createElement(Blob_1.default, null));
9
9
  expect(container).toMatchSnapshot();
10
10
  });
11
+ it('renders Blob speaking unchanged', () => {
12
+ const { container } = (0, react_2.render)(react_1.default.createElement(Blob_1.default, { speaking: true }));
13
+ expect(container).toMatchSnapshot();
14
+ });
11
15
  it('renders Blob with avatar unchanged', () => {
12
16
  const { container } = (0, react_2.render)(react_1.default.createElement(Blob_1.default, { avatar: "/images/logo.png" }));
13
17
  expect(container).toMatchSnapshot();
@@ -1 +1 @@
1
- {"version":3,"file":"Blob.test.js","sourceRoot":"","sources":["../../../src/components/Blob/Blob.test.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,kDAAgD;AAChD,0DAA0B;AAE1B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAChC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,cAAI,OAAG,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,cAAI,IAAC,MAAM,EAAC,kBAAkB,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Blob.test.js","sourceRoot":"","sources":["../../../src/components/Blob/Blob.test.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,kDAAgD;AAChD,0DAA0B;AAE1B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAChC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,cAAI,OAAG,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;IACzC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,cAAI,IAAC,QAAQ,SAAG,CAAC,CAAC;IAChD,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,cAAM,EAAC,8BAAC,cAAI,IAAC,MAAM,EAAC,kBAAkB,GAAG,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE,CAAC;AACtC,CAAC,CAAC,CAAC"}
@@ -2,7 +2,6 @@
2
2
  display: flex;
3
3
  width: 100%;
4
4
  height: 100%;
5
- height: 100svh;
6
5
  flex-direction: column;
7
6
  }
8
7
 
@@ -13,6 +12,7 @@
13
12
  padding: calc(var(--memori-inner-content-pad) / 4) calc(var(--memori-inner-content-pad) / 2);
14
13
  border-radius: 10px;
15
14
  margin: 1rem 0;
15
+ backdrop-filter: blur(10px);
16
16
  background-color: var(--memori-inner-bg);
17
17
  }
18
18
 
@@ -57,15 +57,15 @@ textarea.memori-chat-textarea--input:focus {
57
57
  margin: 0.25rem;
58
58
  }
59
59
 
60
- .memori-chat-textarea--expand-button {
60
+ button.memori-chat-textarea--expand-button {
61
61
  padding: 0.25rem 0.5rem;
62
62
  color: #000;
63
63
  opacity: 0.6;
64
64
  transition: all 0.2s ease-in-out;
65
65
  }
66
66
 
67
- .memori-chat-textarea--expand-button:hover,
68
- .memori-chat-textarea--expand-button:focus {
67
+ button.memori-chat-textarea--expand-button:hover,
68
+ button.memori-chat-textarea--expand-button:focus {
69
69
  color: #000;
70
70
  opacity: 1;
71
71
  }
@@ -6,6 +6,7 @@
6
6
  padding: calc(var(--memori-inner-content-pad) / 4) calc(var(--memori-inner-content-pad) / 2);
7
7
  border-radius: 10px;
8
8
  margin-left: auto;
9
+ backdrop-filter: blur(10px);
9
10
  background-color: var(--memori-inner-bg, #fff);
10
11
  text-align: right;
11
12
  }
@@ -1,5 +1,6 @@
1
1
  .memori-link-items--grid {
2
2
  display: grid;
3
+ padding: 1rem;
3
4
  grid-auto-flow: dense;
4
5
  grid-gap: 1rem;
5
6
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
@@ -1,5 +1,6 @@
1
1
  .memori-media-items--grid {
2
2
  display: grid;
3
+ padding: 1rem;
3
4
  grid-auto-flow: dense;
4
5
  grid-gap: 1rem;
5
6
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
@@ -1,5 +1,4 @@
1
- :root,
2
- #root,
1
+ memori-client #root,
3
2
  .memori-widget {
4
3
  --memori-primary: rgb(102, 103, 171);
5
4
  --memori-primary-text: #fff;
@@ -33,8 +32,13 @@
33
32
  box-sizing: border-box;
34
33
  }
35
34
 
36
- .memori-widget .memori-spin {
37
- height: 100%;
35
+ .memori-widget > .memori-spin {
36
+ height: calc(100vh - 50px);
37
+ }
38
+
39
+ memori-client .memori-widget > .memori-spin {
40
+ height: calc(100vh - 64px);
41
+ padding-top: 64px;
38
42
  }
39
43
 
40
44
  .memori--grid {
@@ -119,12 +123,12 @@
119
123
  }
120
124
 
121
125
  .memori--global-background {
122
- position: absolute;
126
+ position: fixed;
123
127
  top: 0;
124
128
  left: 0;
125
129
  width: 100%;
126
- height: 100%;
127
- height: 100svh;
130
+ height: auto;
131
+ min-height: 100vh;
128
132
  background-position: center center;
129
133
  background-repeat: no-repeat;
130
134
  background-size: cover;
@@ -743,18 +743,51 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, integration, showInst
743
743
  console.log(AZURE_COGNITIVE_SERVICES_TTS_KEY, hasUserActivatedSpeak, preview);
744
744
  if (!AZURE_COGNITIVE_SERVICES_TTS_KEY)
745
745
  return;
746
+ if (preview)
747
+ return;
748
+ if (muteSpeaker) {
749
+ if (continuousSpeech) {
750
+ setListeningTimeout();
751
+ }
752
+ return;
753
+ }
746
754
  if (listening) {
747
755
  stopListening();
748
756
  }
749
- if (preview)
750
- return;
751
757
  if (audioDestination)
752
758
  audioDestination.pause();
759
+ console.log('audioDestination', audioDestination);
760
+ console.log('audioContext', audioContext);
761
+ console.log('audioContext.state', audioContext.state);
762
+ console.log('speechSynthesizer', speechSynthesizer);
763
+ console.log('isPlayingAudio', isPlayingAudio);
753
764
  let isSafari = window.navigator.userAgent.includes('Safari') &&
754
765
  !window.navigator.userAgent.includes('Chrome');
755
766
  let isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);
767
+ if (audioContext.state === 'interrupted') {
768
+ audioContext.resume().then(() => speak(text));
769
+ return;
770
+ }
756
771
  if (isIOS && isSafari) {
757
772
  audioContext.suspend();
773
+ if (isPlayingAudio) {
774
+ try {
775
+ if (speechSynthesizer) {
776
+ speechSynthesizer.close();
777
+ speechSynthesizer = null;
778
+ }
779
+ if (audioDestination) {
780
+ audioDestination.pause();
781
+ audioDestination.close();
782
+ }
783
+ if (audioContext) {
784
+ audioContext.destination.disconnect();
785
+ }
786
+ }
787
+ catch (e) {
788
+ console.error('stopAudio error: ', e);
789
+ }
790
+ }
758
791
  }
759
792
  else if (audioContext.state === 'suspended') {
760
793
  stopAudio();
@@ -769,14 +802,10 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, integration, showInst
769
802
  let audioConfig = speechSdk.AudioConfig.fromSpeakerOutput(audioDestination);
770
803
  speechSynthesizer = new speechSdk.SpeechSynthesizer(speechConfig, audioConfig);
771
804
  }
772
- if (muteSpeaker) {
773
- if (continuousSpeech) {
774
- setListeningTimeout();
775
- }
776
- return;
777
- }
805
+ const source = audioContext.createBufferSource();
778
806
  audioDestination.onAudioEnd = () => {
779
807
  setIsPlayingAudio(false);
808
+ source.disconnect();
780
809
  if (continuousSpeech) {
781
810
  document.dispatchEvent(new Event('endSpeakStartListen'));
782
811
  }
@@ -784,20 +813,28 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, integration, showInst
784
813
  setIsPlayingAudio(true);
785
814
  speechSynthesizer.synthesisCompleted = (s, e) => {
786
815
  console.log('synthesisCompleted', s, e);
787
- setIsPlayingAudio(false);
788
816
  };
789
817
  speechSynthesizer.speakSsmlAsync(`<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" xml:lang="${getCultureCodeByLanguage(userLang)}"><voice name="${getTTSVoice(userLang)}"><s>${replaceTextWithPhonemes(text, userLang.toLowerCase())}</s></voice></speak>`, result => {
790
818
  if (result) {
791
819
  console.log('result', result);
792
820
  try {
793
821
  audioContext.decodeAudioData(result.audioData, function (buffer) {
794
- const source = audioContext.createBufferSource();
795
822
  source.buffer = buffer;
796
823
  source.connect(audioContext.destination);
797
824
  if (history.length < 1 || (isSafari && isIOS)) {
798
825
  source.start(0);
799
826
  }
800
827
  });
828
+ audioContext.onstatechange = () => {
829
+ console.log('audioContext.onstatechange', audioContext.state);
830
+ if (audioContext.state === 'suspended' ||
831
+ audioContext.state === 'closed') {
832
+ source.disconnect();
833
+ }
834
+ else if (audioContext.state === 'interrupted') {
835
+ audioContext.resume();
836
+ }
837
+ };
801
838
  audioContext.resume();
802
839
  if (speechSynthesizer) {
803
840
  speechSynthesizer.close();
@@ -827,16 +864,21 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, integration, showInst
827
864
  setMemoriTyping(false);
828
865
  };
829
866
  const stopAudio = () => {
830
- if (speechSynthesizer) {
831
- speechSynthesizer.close();
832
- speechSynthesizer = null;
833
- }
834
- if (audioContext) {
835
- audioContext.close();
867
+ try {
868
+ if (speechSynthesizer) {
869
+ speechSynthesizer.close();
870
+ speechSynthesizer = null;
871
+ }
872
+ if (audioContext) {
873
+ audioContext.close();
874
+ }
875
+ if (audioDestination) {
876
+ audioDestination.pause();
877
+ audioDestination.close();
878
+ }
836
879
  }
837
- if (audioDestination) {
838
- audioDestination.pause();
839
- audioDestination.close();
880
+ catch (e) {
881
+ console.error('stopAudio error: ', e);
840
882
  }
841
883
  };
842
884
  (0, react_1.useEffect)(() => {
@@ -1052,7 +1094,11 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, integration, showInst
1052
1094
  const showAIicon = (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showAIicon) === undefined
1053
1095
  ? true
1054
1096
  : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showAIicon;
1055
- const [avatar3dVisible, setAvatar3dVisible] = (0, react_1.useState)(true);
1097
+ const [avatar3dVisible, setAvatar3dVisible] = (0, react_1.useState)(false);
1098
+ (0, react_1.useEffect)(() => {
1099
+ if (window.innerWidth >= 768)
1100
+ setAvatar3dVisible(true);
1101
+ }, []);
1056
1102
  const [gamificationLevel, setGamificationLevel] = (0, react_1.useState)();
1057
1103
  const getGamificationPoints = async (memoriID) => {
1058
1104
  let gamificationPoints;
@@ -1197,7 +1243,21 @@ const MemoriWidget = ({ memori, memoriConfigs, memoriLang, integration, showInst
1197
1243
  initialContextVars,
1198
1244
  initialQuestion,
1199
1245
  });
1200
- await onClickStart(session || undefined);
1246
+ if (session === null || session === void 0 ? void 0 : session.dialogState) {
1247
+ setHistory([]);
1248
+ translateDialogState(session.dialogState, userLang)
1249
+ .then(ts => {
1250
+ if (ts.emission) {
1251
+ speak(ts.emission);
1252
+ }
1253
+ })
1254
+ .finally(() => {
1255
+ setHasUserActivatedSpeak(true);
1256
+ });
1257
+ }
1258
+ else {
1259
+ await onClickStart(session || undefined);
1260
+ }
1201
1261
  return;
1202
1262
  }
1203
1263
  else if (initialSessionID) {