@memori.ai/memori-react 7.15.2 → 7.16.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 (65) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +5 -0
  3. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +55 -0
  4. package/dist/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -0
  5. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +24 -22
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  7. package/dist/components/ChatTextArea/ChatTextArea.js +1 -1
  8. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  9. package/dist/components/UploadButton/UploadButton.css +7 -0
  10. package/dist/components/UploadButton/UploadButton.js +90 -19
  11. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  12. package/dist/components/ui/Alert.css +93 -0
  13. package/dist/components/ui/Alert.d.ts +18 -0
  14. package/dist/components/ui/Alert.js +42 -0
  15. package/dist/components/ui/Alert.js.map +1 -0
  16. package/dist/styles.css +1 -1
  17. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.d.ts +5 -0
  18. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js +53 -0
  19. package/esm/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.js.map +1 -0
  20. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +25 -24
  21. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  22. package/esm/components/ChatTextArea/ChatTextArea.js +1 -1
  23. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  24. package/esm/components/UploadButton/UploadButton.css +7 -0
  25. package/esm/components/UploadButton/UploadButton.js +90 -19
  26. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  27. package/esm/components/ui/Alert.css +93 -0
  28. package/esm/components/ui/Alert.d.ts +18 -0
  29. package/esm/components/ui/Alert.js +39 -0
  30. package/esm/components/ui/Alert.js.map +1 -0
  31. package/esm/styles.css +1 -1
  32. package/package.json +1 -1
  33. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +96 -0
  34. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +42 -39
  35. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +9 -0
  36. package/src/components/ChatInputs/__snapshots__/ChatInputs.test.tsx.snap +6 -0
  37. package/src/components/ChatTextArea/ChatTextArea.tsx +1 -0
  38. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +3 -0
  39. package/src/components/UploadButton/UploadButton.css +7 -0
  40. package/src/components/UploadButton/UploadButton.tsx +194 -52
  41. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +56 -2
  42. package/src/components/ui/Alert.css +93 -0
  43. package/src/components/ui/Alert.stories.tsx +137 -0
  44. package/src/components/ui/Alert.test.tsx +129 -0
  45. package/src/components/ui/Alert.tsx +123 -0
  46. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +56 -0
  47. package/src/styles.css +1 -1
  48. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.d.ts +0 -17
  49. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.js +0 -73
  50. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.js.map +0 -1
  51. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.d.ts +0 -17
  52. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js +0 -25
  53. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js.map +0 -1
  54. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +0 -26
  55. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +0 -166
  56. package/dist/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +0 -1
  57. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.d.ts +0 -17
  58. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.js +0 -69
  59. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/MorhTargetController.js.map +0 -1
  60. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.d.ts +0 -17
  61. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js +0 -22
  62. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/constants.js.map +0 -1
  63. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.d.ts +0 -26
  64. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js +0 -163
  65. package/esm/components/Avatar/AvatarView/AvatarComponent/components/fullbodyAvatar.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
 
2
2
 
3
+ ## [7.16.0](https://github.com/memori-ai/memori-react/compare/v7.15.2...v7.16.0) (2025-01-31)
4
+
5
+
6
+ ### Features
7
+
8
+ * add Alert component with multiple variants and customization options ([8ddc456](https://github.com/memori-ai/memori-react/commit/8ddc4565318b09729c0c30d7e54750bc639f56d1))
9
+ * add dynamic shadow rendering for avatar with emotion-based shadow properties ([78030e2](https://github.com/memori-ai/memori-react/commit/78030e2729b00c5bb09fb666e5cd746e8a2ed065))
10
+ * add maxLength attribute to textarea inputs in Chat and ChatTextArea components ([46c1d6e](https://github.com/memori-ai/memori-react/commit/46c1d6e60514f50178e9bf11ebda15061e5abfd3))
11
+ * improve file upload with robust error handling and validation ([1851d5e](https://github.com/memori-ai/memori-react/commit/1851d5ec8d96031c3c4401e1e6eb0066772d8983))
12
+
3
13
  ## [7.15.2](https://github.com/memori-ai/memori-react/compare/v7.15.1...v7.15.2) (2025-01-29)
4
14
 
5
15
 
@@ -0,0 +1,5 @@
1
+ declare const DynamicShadow: ({ currentBaseAction, avatarPosition, }: {
2
+ currentBaseAction: any;
3
+ avatarPosition: any;
4
+ }) => JSX.Element;
5
+ export default DynamicShadow;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const drei_1 = require("@react-three/drei");
5
+ const DynamicShadow = ({ currentBaseAction, avatarPosition, }) => {
6
+ const getShadowProps = () => {
7
+ const baseProps = {
8
+ width: 10,
9
+ height: 10,
10
+ blur: 2.5,
11
+ scale: 10,
12
+ far: 5,
13
+ resolution: 1024,
14
+ color: '#000000',
15
+ };
16
+ if (currentBaseAction.action.startsWith('Loading')) {
17
+ return {
18
+ ...baseProps,
19
+ opacity: 0.85,
20
+ blur: 3,
21
+ width: 12,
22
+ height: 12,
23
+ };
24
+ }
25
+ else if (currentBaseAction.action.includes('Gioia') ||
26
+ currentBaseAction.action.includes('Joy')) {
27
+ return {
28
+ ...baseProps,
29
+ opacity: 0.9,
30
+ blur: 2,
31
+ width: 11,
32
+ height: 11,
33
+ };
34
+ }
35
+ else if (currentBaseAction.action.includes('Rabbia') ||
36
+ currentBaseAction.action.includes('Anger')) {
37
+ return {
38
+ ...baseProps,
39
+ opacity: 0.95,
40
+ blur: 1.8,
41
+ width: 12,
42
+ height: 12,
43
+ };
44
+ }
45
+ return {
46
+ ...baseProps,
47
+ opacity: 0.9,
48
+ blur: 2.2,
49
+ };
50
+ };
51
+ const shadowProps = getShadowProps();
52
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(drei_1.ContactShadows, { opacity: shadowProps.opacity, scale: shadowProps.scale, blur: shadowProps.blur, far: shadowProps.far, resolution: shadowProps.resolution, color: shadowProps.color, frames: Infinity, position: [0, avatarPosition.y, 0] }), (0, jsx_runtime_1.jsx)(drei_1.ContactShadows, { opacity: 1, width: 5, height: 5, blur: 1, far: 2, resolution: 1024, color: "#000000", position: [0, -0.98, 0] })] }));
53
+ };
54
+ exports.default = DynamicShadow;
55
+ //# sourceMappingURL=DynamicShadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicShadow.js","sourceRoot":"","sources":["../../../../../../src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx"],"names":[],"mappings":";;;AAEA,4CAAsE;AAEtE,MAAM,aAAa,GAAG,CAAC,EACrB,iBAAiB,EACjB,cAAc,GAIf,EAAE,EAAE;IAEH,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,SAAS,GAAG;YAChB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;QAGF,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAClD,OAAO;gBACL,GAAG,SAAS;gBACZ,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACX,CAAC;SACH;aAAM,IACL,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACxC;YACA,OAAO;gBACL,GAAG,SAAS;gBACZ,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACX,CAAC;SACH;aAAM,IACL,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3C,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC1C;YACA,OAAO;gBACL,GAAG,SAAS;gBACZ,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;aACX,CAAC;SACH;QAGD,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;SACV,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,OAAO,CACL,6DAEE,uBAAC,qBAAc,IACb,OAAO,EAAE,WAAW,CAAC,OAAO,EAC5B,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,GAAG,EAAE,WAAW,CAAC,GAAG,EACpB,UAAU,EAAE,WAAW,CAAC,UAAU,EAClC,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAClC,EAGF,uBAAC,qBAAc,IACZ,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,IAAI,EAChB,KAAK,EAAC,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GACvB,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FullbodyAvatar = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const jsx_runtime_1 = require("react/jsx-runtime");
5
6
  const react_1 = require("react");
6
7
  const three_1 = require("three");
@@ -11,8 +12,8 @@ const AnimationController_1 = require("../controllers/AnimationController");
11
12
  const MorphTargetController_1 = require("../controllers/MorphTargetController");
12
13
  const AvatarPositionController_1 = require("../controllers/AvatarPositionController");
13
14
  const constants_1 = require("../../constants");
15
+ const DynamicShadow_1 = tslib_1.__importDefault(require("../../Shadow/DynamicShadow"));
14
16
  function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeBlink, updateCurrentViseme, setMorphTargetDictionary, setMorphTargetInfluences, emotionMorphTargets, avatarHeight = 50, avatarDepth = 0, onCameraZChange, }) {
15
- var _a;
16
17
  const { scene } = (0, drei_1.useGLTF)(url);
17
18
  const { animations: baseAnimations } = (0, drei_1.useGLTF)(url);
18
19
  const { animations: additionalAnimations } = (0, drei_1.useGLTF)(constants_1.ANIMATION_URLS[sex]);
@@ -21,6 +22,10 @@ function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeB
21
22
  const animationControllerRef = (0, react_1.useRef)();
22
23
  const morphTargetControllerRef = (0, react_1.useRef)();
23
24
  const positionControllerRef = (0, react_1.useRef)();
25
+ const lastPositionRef = (0, react_1.useRef)(constants_1.AVATAR_POSITION.clone());
26
+ const positionUpdateThrottleRef = (0, react_1.useRef)(0);
27
+ const POSITION_UPDATE_INTERVAL = 1;
28
+ const POSITION_THRESHOLD = 0.000001;
24
29
  const blinkStateRef = (0, react_1.useRef)({
25
30
  isBlinking: false,
26
31
  lastBlinkTime: 0,
@@ -44,6 +49,10 @@ function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeB
44
49
  setMorphTargetInfluences(initialInfluences);
45
50
  }
46
51
  }
52
+ const initialPosition = constants_1.AVATAR_POSITION.clone();
53
+ initialPosition.setX(Number(initialPosition.x.toFixed(6)));
54
+ initialPosition.setY(Number(initialPosition.y.toFixed(6)));
55
+ initialPosition.setZ(Number(initialPosition.z.toFixed(6)));
47
56
  }, [actions, scene]);
48
57
  (0, react_1.useEffect)(() => {
49
58
  if (positionControllerRef.current) {
@@ -72,25 +81,6 @@ function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeB
72
81
  });
73
82
  return foundMesh;
74
83
  }, [scene]);
75
- (0, react_1.useEffect)(() => {
76
- if (!actions || !headMesh)
77
- return;
78
- const mixer = new three_1.AnimationMixer(scene);
79
- animationControllerRef.current = new AnimationController_1.AnimationController(mixer, actions, { ...constants_1.DEFAULT_CONFIG });
80
- morphTargetControllerRef.current = new MorphTargetController_1.MorphTargetController(headMesh);
81
- if (headMesh.morphTargetDictionary && headMesh.morphTargetInfluences) {
82
- setMorphTargetDictionary(headMesh.morphTargetDictionary);
83
- const initialInfluences = Object.keys(headMesh.morphTargetDictionary).reduce((acc, key) => ({ ...acc, [key]: 0 }), {});
84
- setMorphTargetInfluences(initialInfluences);
85
- }
86
- }, [
87
- actions,
88
- headMesh,
89
- scene,
90
- setMorphTargetDictionary,
91
- setMorphTargetInfluences,
92
- timeScale,
93
- ]);
94
84
  (0, react_1.useEffect)(() => {
95
85
  if (!animationControllerRef.current)
96
86
  return;
@@ -123,10 +113,22 @@ function FullbodyAvatar({ url, sex, setIsRpm, currentBaseAction, timeScale, eyeB
123
113
  if (scene && positionControllerRef.current) {
124
114
  const newScale = positionControllerRef.current.updateScale(constants_1.SCALE_LERP_FACTOR);
125
115
  scene.scale.copy(newScale);
116
+ if (currentTime - positionUpdateThrottleRef.current >= POSITION_UPDATE_INTERVAL) {
117
+ const currentPosition = positionControllerRef.current.getPosition();
118
+ currentPosition.setX(Number(currentPosition.x.toFixed(6)));
119
+ currentPosition.setY(Number(currentPosition.y.toFixed(6)));
120
+ currentPosition.setZ(Number(currentPosition.z.toFixed(6)));
121
+ const positionDelta = currentPosition.distanceTo(lastPositionRef.current);
122
+ lastPositionRef.current.copy(currentPosition);
123
+ positionUpdateThrottleRef.current = currentTime;
124
+ }
126
125
  }
127
126
  });
128
- const position = ((_a = positionControllerRef.current) === null || _a === void 0 ? void 0 : _a.getPosition()) || constants_1.AVATAR_POSITION;
129
- return ((0, jsx_runtime_1.jsx)("group", { position: position, rotation: constants_1.AVATAR_ROTATION, children: (0, jsx_runtime_1.jsx)("primitive", { object: scene }) }));
127
+ const position = (0, react_1.useMemo)(() => {
128
+ var _a;
129
+ return ((_a = positionControllerRef.current) === null || _a === void 0 ? void 0 : _a.getPosition()) || constants_1.AVATAR_POSITION.clone();
130
+ }, [positionControllerRef.current]);
131
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(DynamicShadow_1.default, { currentBaseAction: currentBaseAction, avatarPosition: position }), (0, jsx_runtime_1.jsx)("group", { position: position, rotation: constants_1.AVATAR_ROTATION, children: (0, jsx_runtime_1.jsx)("primitive", { object: scene }) })] }));
130
132
  }
131
133
  exports.FullbodyAvatar = FullbodyAvatar;
132
134
  //# sourceMappingURL=fullbodyAvatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullbodyAvatar.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fullbodyAvatar.js","sourceRoot":"","sources":["../../../../../../../src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ const ChatTextArea = ({ disabled = false, value, onChange, onPressEnter, onFocus
20
20
  if (e.key === 'Enter' && !e.shiftKey && onPressEnter) {
21
21
  onPressEnter(e);
22
22
  }
23
- }, onFocus: onFocus, onBlur: onBlur }), (0, jsx_runtime_1.jsx)("div", { className: "memori-chat-textarea--expand", children: (0, jsx_runtime_1.jsx)(Button_1.default, { className: (0, classnames_1.default)('memori-chat-textarea--expand-button'), onClick: () => setExpanded(!expanded), padded: false, ghost: true, title: expanded ? t('collapse') || 'Collapse' : t('expand') || 'Expand', icon: expanded ? (0, jsx_runtime_1.jsx)(FullscreenExit_1.default, {}) : (0, jsx_runtime_1.jsx)(Expand_1.default, {}) }) })] }) }));
23
+ }, onFocus: onFocus, onBlur: onBlur, maxLength: 100000 }), (0, jsx_runtime_1.jsx)("div", { className: "memori-chat-textarea--expand", children: (0, jsx_runtime_1.jsx)(Button_1.default, { className: (0, classnames_1.default)('memori-chat-textarea--expand-button'), onClick: () => setExpanded(!expanded), padded: false, ghost: true, title: expanded ? t('collapse') || 'Collapse' : t('expand') || 'Expand', icon: expanded ? (0, jsx_runtime_1.jsx)(FullscreenExit_1.default, {}) : (0, jsx_runtime_1.jsx)(Expand_1.default, {}) }) })] }) }));
24
24
  };
25
25
  exports.default = ChatTextArea;
26
26
  //# sourceMappingURL=ChatTextArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatTextArea.js","sourceRoot":"","sources":["../../../src/components/ChatTextArea/ChatTextArea.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AACxC,oEAA4B;AAC5B,kEAAkC;AAClC,qEAAqC;AACrC,qFAAqD;AACrD,iDAA+C;AAW/C,MAAM,YAAY,GAAoB,CAAC,EACrC,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,MAAM,GACP,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,CACL,+CACc,eAAe,EAC3B,SAAS,EAAE,IAAA,oBAAE,EAAC,sBAAsB,EAAE;YACpC,gCAAgC,EAAE,QAAQ;YAC1C,gCAAgC,EAAE,QAAQ;SAC3C,CAAC,YAEF,iCAAK,SAAS,EAAC,6BAA6B,aAC1C,qCACE,SAAS,EAAC,6BAA6B,EACvC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACZ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC,EACD,gBAAgB,EAAE,CAAC,CAAC,EAAE;wBACpB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY,EAAE;4BACpD,YAAY,CAAC,CAAC,CAAC,CAAC;yBACjB;oBACH,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACd,EACF,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,uBAAC,gBAAM,IACL,SAAS,EAAE,IAAA,oBAAE,EAAC,qCAAqC,CAAC,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,MAAM,EAAE,KAAK,EACb,KAAK,QACL,KAAK,EACH,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAElE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAC,wBAAc,KAAG,CAAC,CAAC,CAAC,uBAAC,gBAAM,KAAG,GAChD,GACE,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ChatTextArea.js","sourceRoot":"","sources":["../../../src/components/ChatTextArea/ChatTextArea.tsx"],"names":[],"mappings":";;;;AAAA,iCAAwC;AACxC,oEAA4B;AAC5B,kEAAkC;AAClC,qEAAqC;AACrC,qFAAqD;AACrD,iDAA+C;AAW/C,MAAM,YAAY,GAAoB,CAAC,EACrC,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,MAAM,GACP,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,CACL,+CACc,eAAe,EAC3B,SAAS,EAAE,IAAA,oBAAE,EAAC,sBAAsB,EAAE;YACpC,gCAAgC,EAAE,QAAQ;YAC1C,gCAAgC,EAAE,QAAQ;SAC3C,CAAC,YAEF,iCAAK,SAAS,EAAC,6BAA6B,aAC1C,qCACE,SAAS,EAAC,6BAA6B,EACvC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE;wBACZ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC,EACD,gBAAgB,EAAE,CAAC,CAAC,EAAE;wBACpB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,YAAY,EAAE;4BACpD,YAAY,CAAC,CAAC,CAAC,CAAC;yBACjB;oBACH,CAAC,EACD,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GACjB,EACF,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,uBAAC,gBAAM,IACL,SAAS,EAAE,IAAA,oBAAE,EAAC,qCAAqC,CAAC,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,MAAM,EAAE,KAAK,EACb,KAAK,QACL,KAAK,EACH,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAElE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,uBAAC,wBAAc,KAAG,CAAC,CAAC,CAAC,uBAAC,gBAAM,KAAG,GAChD,GACE,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
@@ -36,3 +36,10 @@
36
36
  transition: fill 0.2s ease;
37
37
  }
38
38
 
39
+ .memori--error-message-container {
40
+ position: absolute;
41
+ z-index: 1000;
42
+ right: 0;
43
+ bottom: 50%;
44
+ width: 100%;
45
+ }
@@ -7,33 +7,76 @@ const classnames_1 = tslib_1.__importDefault(require("classnames"));
7
7
  const convertapi_js_1 = tslib_1.__importDefault(require("convertapi-js"));
8
8
  const Upload_1 = tslib_1.__importDefault(require("../icons/Upload"));
9
9
  const Spin_1 = tslib_1.__importDefault(require("../ui/Spin"));
10
+ const Alert_1 = tslib_1.__importDefault(require("../ui/Alert"));
11
+ const MAX_FILE_SIZE = 10 * 1024 * 1024;
12
+ const MAX_TEXT_LENGTH = 100000;
13
+ const ALLOWED_FILE_TYPES = ['.pdf', '.doc', '.docx', '.txt'];
10
14
  const FileUploadButton = ({ setPreviewFiles, }) => {
11
15
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
12
- const [error, setError] = (0, react_1.useState)(null);
16
+ const [errors, setErrors] = (0, react_1.useState)([]);
13
17
  const fileInputRef = (0, react_1.useRef)(null);
14
18
  const [convertapiToken, setConvertapiToken] = (0, react_1.useState)();
19
+ const clearErrors = () => setErrors([]);
20
+ const removeError = (errorMessage) => {
21
+ setErrors(prev => prev.filter(e => e.message !== errorMessage));
22
+ };
23
+ const addError = (error) => {
24
+ setErrors(prev => [...prev, error]);
25
+ setTimeout(() => {
26
+ removeError(error.message);
27
+ }, 5000);
28
+ };
15
29
  const fetchConvertapiToken = async () => {
16
30
  var _a, _b;
17
31
  try {
18
32
  const result = await fetch('https://www.aisuru.com/api/convertapi-token');
19
33
  const response = await result.json();
20
- setConvertapiToken((_b = (_a = response.Tokens) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.Id);
34
+ if (!((_b = (_a = response.Tokens) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.Id)) {
35
+ throw new Error('Invalid token response');
36
+ }
37
+ setConvertapiToken(response.Tokens[0].Id);
21
38
  }
22
39
  catch (error) {
23
- console.error('Error fetching ConvertAPI token:', error);
40
+ addError({
41
+ message: 'Failed to initialize file conversion service. Please try again later.',
42
+ severity: 'error'
43
+ });
24
44
  }
25
45
  };
26
46
  (0, react_1.useEffect)(() => {
27
47
  fetchConvertapiToken();
28
48
  }, []);
49
+ const validateFile = (file) => {
50
+ var _a;
51
+ const fileExt = `.${(_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()}`;
52
+ if (!ALLOWED_FILE_TYPES.includes(fileExt)) {
53
+ addError({
54
+ message: `File type "${fileExt}" is not supported. Please use: ${ALLOWED_FILE_TYPES.join(', ')}`,
55
+ severity: 'error',
56
+ fileId: file.name
57
+ });
58
+ return false;
59
+ }
60
+ if (file.size > MAX_FILE_SIZE) {
61
+ addError({
62
+ message: `File "${file.name}" exceeds ${MAX_FILE_SIZE / 1024 / 1024}MB limit`,
63
+ severity: 'error',
64
+ fileId: file.name
65
+ });
66
+ return false;
67
+ }
68
+ return true;
69
+ };
29
70
  const convertToTxt = async (file) => {
30
- if (!convertapiToken || !file) {
31
- console.error('Missing ConvertAPI token or file');
32
- setError('Missing ConvertAPI token or file');
33
- return;
71
+ var _a;
72
+ if (!convertapiToken) {
73
+ addError({
74
+ message: 'File conversion service not initialized',
75
+ severity: 'error'
76
+ });
77
+ return null;
34
78
  }
35
- setIsLoading(true);
36
- const fileExt = file.name.split('.').pop() || file.type.split('/').pop() || 'pdf';
79
+ const fileExt = ((_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'pdf';
37
80
  try {
38
81
  const convertApi = convertapi_js_1.default.auth(convertapiToken);
39
82
  const params = convertApi.createParams();
@@ -43,37 +86,65 @@ const FileUploadButton = ({ setPreviewFiles, }) => {
43
86
  const result = await convertApi.convert(fileExt, 'txt', params);
44
87
  const fileUrl = result.files[0].Url;
45
88
  const response = await fetch(fileUrl);
89
+ if (!response.ok) {
90
+ throw new Error(`HTTP error! status: ${response.status}`);
91
+ }
46
92
  const text = await response.text();
93
+ if (text.length > MAX_TEXT_LENGTH) {
94
+ addError({
95
+ message: `File "${file.name}" content exceeds ${MAX_TEXT_LENGTH} characters`,
96
+ severity: 'error',
97
+ fileId: file.name
98
+ });
99
+ return null;
100
+ }
47
101
  return text;
48
102
  }
49
103
  catch (error) {
50
- console.error('Conversion error:', error);
51
- setError('Conversion error');
52
- }
53
- finally {
54
- setIsLoading(false);
104
+ addError({
105
+ message: `Failed to convert "${file.name}": ${error instanceof Error ? error.message : 'Unknown error'}`,
106
+ severity: 'error',
107
+ fileId: file.name
108
+ });
109
+ return null;
55
110
  }
56
111
  };
57
112
  const handleFileSelect = async (e) => {
58
113
  const files = Array.from(e.target.files || []);
114
+ if (files.length === 0)
115
+ return;
116
+ setIsLoading(true);
117
+ clearErrors();
59
118
  const newPreviewFiles = [];
60
119
  for (const file of files) {
120
+ if (!validateFile(file))
121
+ continue;
61
122
  const fileId = Math.random().toString(36).substr(2, 9);
62
123
  const text = await convertToTxt(file);
63
124
  if (text) {
64
125
  newPreviewFiles.push({
65
126
  name: file.name,
66
127
  id: fileId,
67
- content: text || '',
128
+ content: text
68
129
  });
69
130
  }
70
- else {
71
- setError('Failed to convert file to text');
131
+ }
132
+ if (newPreviewFiles.length > 0) {
133
+ setPreviewFiles(newPreviewFiles);
134
+ if (newPreviewFiles.length < files.length) {
135
+ addError({
136
+ message: 'Some files were not processed successfully',
137
+ severity: 'warning'
138
+ });
72
139
  }
73
140
  }
74
- setPreviewFiles(newPreviewFiles);
141
+ setIsLoading(false);
142
+ if (fileInputRef.current) {
143
+ fileInputRef.current.value = '';
144
+ }
75
145
  };
76
- return ((0, jsx_runtime_1.jsxs)("div", { className: "file-upload-wrapper", children: [(0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", accept: ".pdf,.doc,.docx,.txt", className: "memori--upload-file-input", onChange: handleFileSelect }), (0, jsx_runtime_1.jsx)("button", { className: (0, classnames_1.default)('memori-button', 'memori-button--circle', 'memori-button--icon-only', 'memori-share-button--button', 'memori--conversation-button', { 'memori--error': error }), onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: isLoading, children: isLoading ? ((0, jsx_runtime_1.jsx)(Spin_1.default, { spinning: true, className: "memori--upload-icon" })) : ((0, jsx_runtime_1.jsx)(Upload_1.default, { className: "memori--upload-icon" })) })] }));
146
+ console.log(errors);
147
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "relative file-upload-wrapper", children: [(0, jsx_runtime_1.jsx)("input", { ref: fileInputRef, type: "file", accept: ".pdf,.doc,.docx,.txt", className: "memori--upload-file-input", onChange: handleFileSelect, multiple: true }), (0, jsx_runtime_1.jsx)("button", { className: (0, classnames_1.default)('memori-button', 'memori-button--circle', 'memori-button--icon-only', 'memori-share-button--button', 'memori--conversation-button', { 'memori--error': errors.length > 0 }), onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, disabled: isLoading, title: "Upload file", children: isLoading ? ((0, jsx_runtime_1.jsx)(Spin_1.default, { spinning: true, className: "memori--upload-icon" })) : ((0, jsx_runtime_1.jsx)(Upload_1.default, { className: "memori--upload-icon" })) }), (0, jsx_runtime_1.jsx)("div", { className: "memori--error-message-container", children: errors.map((error, index) => ((0, jsx_runtime_1.jsx)(Alert_1.default, { open: true, type: error.severity, title: error.message, onClose: () => removeError(error.message), width: "300px" }, `${error.message}-${index}`))) })] }));
77
148
  };
78
149
  exports.default = FileUploadButton;
79
150
  //# sourceMappingURL=UploadButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UploadButton.js","sourceRoot":"","sources":["../../../src/components/UploadButton/UploadButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UploadButton.js","sourceRoot":"","sources":["../../../src/components/UploadButton/UploadButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ .memori-alert {
2
+ position: fixed;
3
+ z-index: 50;
4
+ top: 20px;
5
+ right: 20px;
6
+ width: var(--memori-alert--width, 400px);
7
+ }
8
+
9
+ .memori-alert--container {
10
+ display: flex;
11
+ align-items: flex-start;
12
+ padding: 16px;
13
+ border-radius: 8px;
14
+ margin-bottom: 8px;
15
+ background-color: white;
16
+ box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
17
+ }
18
+
19
+ .memori-alert--icon {
20
+ flex-shrink: 0;
21
+ margin-right: 12px;
22
+ }
23
+
24
+ .memori-alert--content {
25
+ min-width: 0;
26
+ flex: 1;
27
+ }
28
+
29
+ .memori-alert--title {
30
+ margin-bottom: 4px;
31
+ font-size: 16px;
32
+ font-weight: 600;
33
+ }
34
+
35
+ .memori-alert--description {
36
+ color: rgb(107 114 128);
37
+ font-size: 14px;
38
+ }
39
+
40
+ .memori-alert--actions {
41
+ display: flex;
42
+ align-items: center;
43
+ margin-left: 16px;
44
+ }
45
+
46
+ .memori-alert--action {
47
+ margin-right: 8px;
48
+ }
49
+
50
+ .memori-alert--close {
51
+ flex-shrink: 0;
52
+ }
53
+
54
+ /* Alert types */
55
+ .memori-alert--success {
56
+ --alert-color: rgb(34 197 94);
57
+ --alert-bg: rgb(240 253 244);
58
+ }
59
+
60
+ .memori-alert--warning {
61
+ --alert-color: rgb(234 179 8);
62
+ --alert-bg: rgb(254 252 232);
63
+ }
64
+
65
+ .memori-alert--error {
66
+ --alert-color: rgb(239 68 68);
67
+ --alert-bg: rgb(254 242 242);
68
+ }
69
+
70
+ .memori-alert--info {
71
+ --alert-color: rgb(59 130 246);
72
+ --alert-bg: rgb(239 246 255);
73
+ }
74
+
75
+ .memori-alert--success .memori-alert--container {
76
+ border: 1px solid var(--alert-color);
77
+ background-color: var(--alert-bg);
78
+ }
79
+
80
+ .memori-alert--warning .memori-alert--container {
81
+ border: 1px solid var(--alert-color);
82
+ background-color: var(--alert-bg);
83
+ }
84
+
85
+ .memori-alert--error .memori-alert--container {
86
+ border: 1px solid var(--alert-color);
87
+ background-color: var(--alert-bg);
88
+ }
89
+
90
+ .memori-alert--info .memori-alert--container {
91
+ border: 1px solid var(--alert-color);
92
+ background-color: var(--alert-bg);
93
+ }
@@ -0,0 +1,18 @@
1
+ import React, { FC } from 'react';
2
+ export type AlertType = 'success' | 'warning' | 'error' | 'info';
3
+ export interface Props {
4
+ open?: boolean;
5
+ onClose: (value: boolean) => void;
6
+ className?: string;
7
+ title?: string | JSX.Element | React.ReactNode;
8
+ description?: string | JSX.Element | React.ReactNode;
9
+ children?: JSX.Element | React.ReactNode;
10
+ type?: AlertType;
11
+ icon?: JSX.Element | React.ReactNode;
12
+ closable?: boolean;
13
+ duration?: number | null;
14
+ action?: JSX.Element | React.ReactNode;
15
+ width?: string;
16
+ }
17
+ declare const Alert: FC<Props>;
18
+ export default Alert;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const react_2 = require("@headlessui/react");
7
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
8
+ const Close_1 = tslib_1.__importDefault(require("../icons/Close"));
9
+ const Button_1 = tslib_1.__importDefault(require("./Button"));
10
+ const react_i18next_1 = require("react-i18next");
11
+ const Alert = ({ open = false, onClose, className, title, description, children, type = 'info', icon, closable = true, duration = null, action, width = '400px', }) => {
12
+ const { t } = (0, react_i18next_1.useTranslation)();
13
+ react_1.default.useEffect(() => {
14
+ if (duration && open) {
15
+ const timer = setTimeout(() => {
16
+ onClose(false);
17
+ }, duration);
18
+ return () => clearTimeout(timer);
19
+ }
20
+ }, [duration, open, onClose]);
21
+ const getTypeStyles = (type) => {
22
+ switch (type) {
23
+ case 'success':
24
+ return 'memori-alert--success';
25
+ case 'warning':
26
+ return 'memori-alert--warning';
27
+ case 'error':
28
+ return 'memori-alert--error';
29
+ default:
30
+ return 'memori-alert--info';
31
+ }
32
+ };
33
+ return ((0, jsx_runtime_1.jsx)(react_2.Transition, { show: open, as: react_1.default.Fragment, appear: true, children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('memori-alert', getTypeStyles(type), className), children: [(0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: {
34
+ __html: `
35
+ .memori-alert {
36
+ --memori-alert--width: ${width};
37
+ }
38
+ `,
39
+ } }), (0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: "opacity-0 translate-y-4", enterTo: "opacity-100 translate-y-0", leave: "ease-in duration-200", leaveFrom: "opacity-100 translate-y-0", leaveTo: "opacity-0 translate-y-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-alert--container", children: [icon && (0, jsx_runtime_1.jsx)("div", { className: "memori-alert--icon", children: icon }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-alert--content", children: [title && ((0, jsx_runtime_1.jsx)("div", { className: "memori-alert--title", children: title })), description && ((0, jsx_runtime_1.jsx)("div", { className: "memori-alert--description", children: description })), children] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-alert--actions", children: [action && (0, jsx_runtime_1.jsx)("div", { className: "memori-alert--action", children: action }), closable && ((0, jsx_runtime_1.jsx)(Button_1.default, { ghost: true, padded: true, shape: "circle", icon: (0, jsx_runtime_1.jsx)(Close_1.default, {}), title: t('close') || 'Close', onClick: () => onClose(false), className: "memori-alert--close" }))] })] }) })] }) }));
40
+ };
41
+ exports.default = Alert;
42
+ //# sourceMappingURL=Alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../../src/components/ui/Alert.tsx"],"names":[],"mappings":";;;;AAAA,0DAAkC;AAClC,6CAA+C;AAC/C,oEAA4B;AAC5B,mEAAmC;AACnC,8DAA8B;AAC9B,iDAA+C;AAmB/C,MAAM,KAAK,GAAc,CAAC,EACxB,IAAI,GAAG,KAAK,EACZ,OAAO,EACP,SAAS,EACT,KAAK,EACL,WAAW,EACX,QAAQ,EACR,IAAI,GAAG,MAAM,EACb,IAAI,EACJ,QAAQ,GAAG,IAAI,EACf,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,KAAK,GAAG,OAAO,GACT,EAAE,EAAE;IACV,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAG/B,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,QAAQ,CAAC,CAAC;YACb,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAClC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAE9B,MAAM,aAAa,GAAG,CAAC,IAAe,EAAE,EAAE;QACxC,QAAQ,IAAI,EAAE;YACZ,KAAK,SAAS;gBACZ,OAAO,uBAAuB,CAAC;YACjC,KAAK,SAAS;gBACZ,OAAO,uBAAuB,CAAC;YACjC,KAAK,OAAO;gBACV,OAAO,qBAAqB,CAAC;YAC/B;gBACE,OAAO,oBAAoB,CAAC;SAC/B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,kBAAU,IACT,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,eAAK,CAAC,QAAQ,EAClB,MAAM,kBAEN,iCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,aAChE,kCACE,uBAAuB,EAAE;wBACvB,MAAM,EAAE;;yCAEqB,KAAK;;aAEjC;qBACF,GACD,EACF,uBAAC,kBAAU,CAAC,KAAK,IACf,EAAE,EAAE,eAAK,CAAC,QAAQ,EAClB,KAAK,EAAC,uBAAuB,EAC7B,SAAS,EAAC,yBAAyB,EACnC,OAAO,EAAC,2BAA2B,EACnC,KAAK,EAAC,sBAAsB,EAC5B,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAC,yBAAyB,YAEjC,iCAAK,SAAS,EAAC,yBAAyB,aACrC,IAAI,IAAI,gCAAK,SAAS,EAAC,oBAAoB,YAAE,IAAI,GAAO,EAEzD,iCAAK,SAAS,EAAC,uBAAuB,aACnC,KAAK,IAAI,CACR,gCAAK,SAAS,EAAC,qBAAqB,YAAE,KAAK,GAAO,CACnD,EACA,WAAW,IAAI,CACd,gCAAK,SAAS,EAAC,2BAA2B,YAAE,WAAW,GAAO,CAC/D,EACA,QAAQ,IACL,EAEN,iCAAK,SAAS,EAAC,uBAAuB,aACnC,MAAM,IAAI,gCAAK,SAAS,EAAC,sBAAsB,YAAE,MAAM,GAAO,EAC9D,QAAQ,IAAI,CACX,uBAAC,gBAAM,IACL,KAAK,QACL,MAAM,QACN,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,uBAAC,eAAK,KAAG,EACf,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAC,qBAAqB,GAC/B,CACH,IACG,IACF,GACW,IACf,GACK,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC"}
package/dist/styles.css CHANGED
@@ -49,7 +49,7 @@
49
49
  @import url('./components/VenueWidget/VenueWidget.css');
50
50
  @import url('./components/WhyThisAnswer/WhyThisAnswer.css');
51
51
  @import url('./components/MemoriWidget/MemoriWidget.css');
52
-
52
+ @import url('./components/ui/Alert.css');
53
53
  @import url('https://fonts.bunny.net/css?family=lexend-deca:200,400,700');
54
54
 
55
55
  @import url('./components/layouts/hidden-chat.css');
@@ -0,0 +1,5 @@
1
+ declare const DynamicShadow: ({ currentBaseAction, avatarPosition, }: {
2
+ currentBaseAction: any;
3
+ avatarPosition: any;
4
+ }) => JSX.Element;
5
+ export default DynamicShadow;