@memori.ai/memori-react 9.0.0-alpha.20 → 9.0.0-alpha.21

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 (159) hide show
  1. package/CHANGELOG.md +438 -1
  2. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +1 -1
  3. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  4. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  5. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +6 -6
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  7. package/dist/components/ChatInputs/ChatInputs.js +1 -1
  8. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  9. package/dist/components/ContentPreviewModal/ContentPreviewModal.css +6 -22
  10. package/dist/components/FilePreview/FilePreview.css +41 -20
  11. package/dist/components/FilePreview/FilePreview.d.ts +2 -1
  12. package/dist/components/FilePreview/FilePreview.js +6 -2
  13. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  14. package/dist/components/KnownFacts/KnownFacts.js +2 -2
  15. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  16. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  17. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  18. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +14 -12
  19. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  20. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -106
  21. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +8 -9
  22. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +1 -0
  23. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  24. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +7 -0
  25. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +210 -62
  26. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  27. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  28. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +65 -1
  29. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  30. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  31. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +18 -13
  32. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  33. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  34. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  35. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  36. package/dist/components/MemoriWidget/MemoriWidget.css +59 -0
  37. package/dist/components/Snippet/Snippet.css +6 -36
  38. package/dist/components/Snippet/Snippet.js +3 -1
  39. package/dist/components/Snippet/Snippet.js.map +1 -1
  40. package/dist/components/StartPanel/StartPanel.css +106 -0
  41. package/dist/components/StartPanel/StartPanel.js +1 -1
  42. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  43. package/dist/components/UploadButton/UploadButton.css +0 -19
  44. package/dist/components/UploadButton/UploadButton.js +1 -3
  45. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  46. package/dist/components/UploadButton/UploadImages/UploadImages.js +1 -1
  47. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  48. package/dist/components/layouts/chat.css +2 -0
  49. package/dist/components/layouts/zoomed-full-body.css +1 -0
  50. package/dist/helpers/message.js +3 -0
  51. package/dist/helpers/message.js.map +1 -1
  52. package/dist/locales/de.json +3 -0
  53. package/dist/locales/en.json +3 -0
  54. package/dist/locales/es.json +3 -0
  55. package/dist/locales/fr.json +3 -0
  56. package/dist/locales/it.json +3 -0
  57. package/dist/styles.css +1 -1
  58. package/dist/version.d.ts +1 -1
  59. package/dist/version.js +1 -1
  60. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +2 -2
  61. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  62. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  63. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +4 -5
  64. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  65. package/esm/components/ChatInputs/ChatInputs.js +1 -1
  66. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  67. package/esm/components/ContentPreviewModal/ContentPreviewModal.css +6 -22
  68. package/esm/components/FilePreview/FilePreview.css +41 -20
  69. package/esm/components/FilePreview/FilePreview.d.ts +2 -1
  70. package/esm/components/FilePreview/FilePreview.js +7 -3
  71. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  72. package/esm/components/KnownFacts/KnownFacts.js +2 -2
  73. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  74. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  75. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  76. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +15 -13
  77. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  78. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -106
  79. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +8 -9
  80. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +1 -0
  81. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  82. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +7 -0
  83. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +211 -63
  84. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  85. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  86. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +66 -2
  87. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  88. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  89. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +18 -13
  90. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  91. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  92. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  93. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  94. package/esm/components/MemoriWidget/MemoriWidget.css +59 -0
  95. package/esm/components/Snippet/Snippet.css +6 -36
  96. package/esm/components/Snippet/Snippet.js +4 -2
  97. package/esm/components/Snippet/Snippet.js.map +1 -1
  98. package/esm/components/StartPanel/StartPanel.css +106 -0
  99. package/esm/components/StartPanel/StartPanel.js +2 -2
  100. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  101. package/esm/components/UploadButton/UploadButton.css +0 -19
  102. package/esm/components/UploadButton/UploadButton.js +1 -3
  103. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  104. package/esm/components/UploadButton/UploadImages/UploadImages.js +1 -1
  105. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  106. package/esm/components/layouts/chat.css +2 -0
  107. package/esm/components/layouts/zoomed-full-body.css +1 -0
  108. package/esm/helpers/message.js +3 -0
  109. package/esm/helpers/message.js.map +1 -1
  110. package/esm/locales/de.json +3 -0
  111. package/esm/locales/en.json +3 -0
  112. package/esm/locales/es.json +3 -0
  113. package/esm/locales/fr.json +3 -0
  114. package/esm/locales/it.json +3 -0
  115. package/esm/styles.css +1 -1
  116. package/esm/version.d.ts +1 -1
  117. package/esm/version.js +1 -1
  118. package/package.json +1 -1
  119. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +2 -2
  120. package/src/components/Avatar/AvatarView/AvatarComponent/constants.test.ts +19 -0
  121. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +9 -6
  122. package/src/components/ChatInputs/ChatInputs.tsx +1 -0
  123. package/src/components/ContentPreviewModal/ContentPreviewModal.css +6 -22
  124. package/src/components/FilePreview/FilePreview.css +41 -20
  125. package/src/components/FilePreview/FilePreview.tsx +14 -0
  126. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +14 -0
  127. package/src/components/KnownFacts/KnownFacts.tsx +0 -2
  128. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +2 -3
  129. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +19 -33
  130. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +44 -45
  131. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +1 -106
  132. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +8 -9
  133. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +24 -20
  134. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +7 -0
  135. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +357 -148
  136. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +111 -9
  137. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +20 -1
  138. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +1 -0
  139. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +19 -13
  140. package/src/components/MemoriArtifactSystem/utils/applyEdits.test.ts +85 -0
  141. package/src/components/MemoriArtifactSystem/utils/applyEdits.ts +173 -0
  142. package/src/components/MemoriWidget/MemoriWidget.css +59 -0
  143. package/src/components/Snippet/Snippet.css +6 -36
  144. package/src/components/Snippet/Snippet.tsx +6 -7
  145. package/src/components/StartPanel/StartPanel.css +106 -0
  146. package/src/components/StartPanel/StartPanel.stories.tsx +20 -0
  147. package/src/components/StartPanel/StartPanel.tsx +8 -0
  148. package/src/components/UploadButton/UploadButton.css +0 -19
  149. package/src/components/UploadButton/UploadButton.tsx +0 -11
  150. package/src/components/UploadButton/UploadImages/UploadImages.tsx +1 -1
  151. package/src/components/layouts/chat.css +2 -0
  152. package/src/components/layouts/zoomed-full-body.css +1 -0
  153. package/src/helpers/message.ts +15 -0
  154. package/src/locales/de.json +3 -0
  155. package/src/locales/en.json +3 -0
  156. package/src/locales/es.json +3 -0
  157. package/src/locales/fr.json +3 -0
  158. package/src/locales/it.json +3 -0
  159. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactContext.js","sourceRoot":"","sources":["../../../../src/components/MemoriArtifactSystem/context/ArtifactContext.tsx"],"names":[],"mappings":";;;;AAAA,iCAAoG;AAepG,MAAM,eAAe,GAAG,IAAA,qBAAa,EAA6B,IAAI,CAAC,CAAC;AAEjE,MAAM,gBAAgB,GAAG,CAAC,EAAE,QAAQ,EAA2B,EAAE,EAAE;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAsB;QACtD,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,KAAK;QACnB,0BAA0B,EAAE,KAAK;KAClC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,QAAsB,EAAE,OAA6B,EAAE,EAAE;QACxD,QAAQ,CAAC,GAAG,EAAE;;YACZ,OAAO;gBACL,eAAe,EAAE,QAAQ;gBACzB,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,KAAK;gBACnB,0BAA0B,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,KAAK;aAC7D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAEd,OAAO;gBACL,GAAG,IAAI;gBACP,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;gBACnB,0BAA0B,EAAE,KAAK;aAClC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,GAAG,IAAI;YACP,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY;SACjC,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC;QAClC,KAAK;QACL,YAAY;QACZ,aAAa;QACb,gBAAgB;KACjB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE5D,OAAO,CACL,uBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC1C,QAAQ,GACgB,CAC5B,CAAC;AACJ,CAAC,CAAC;AAtDW,QAAA,gBAAgB,oBAsD3B;AAEK,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AANW,QAAA,WAAW,eAMtB"}
1
+ {"version":3,"file":"ArtifactContext.js","sourceRoot":"","sources":["../../../../src/components/MemoriArtifactSystem/context/ArtifactContext.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,22 @@
1
1
  export interface ArtifactData {
2
2
  id: string;
3
+ artifactId: string;
3
4
  content: string;
4
5
  mimeType: string;
5
6
  title: string;
6
7
  timestamp: Date;
7
8
  size: number;
8
9
  }
10
+ export interface ArtifactEdit {
11
+ old: string;
12
+ new: string;
13
+ }
14
+ export interface ApplyUpdateResult {
15
+ success: boolean;
16
+ failedEdits: ArtifactEdit[];
17
+ updatedArtifact: ArtifactData | null;
18
+ failureReason?: 'not-found' | 'no-match';
19
+ }
9
20
  export interface ArtifactSystemState {
10
21
  currentArtifact: ArtifactData | null;
11
22
  isDrawerOpen: boolean;
@@ -64,7 +64,7 @@ const initMemoriArtifactAPI = () => {
64
64
  exports.initMemoriArtifactAPI = initMemoriArtifactAPI;
65
65
  (0, exports.initMemoriArtifactAPI)();
66
66
  const ArtifactAPIBridge = ({ pushMessage, }) => {
67
- const { openArtifact, closeArtifact, toggleFullscreen, state } = (0, ArtifactContext_1.useArtifact)();
67
+ const { openArtifact, closeArtifact, toggleFullscreen, state, registerArtifact } = (0, ArtifactContext_1.useArtifact)();
68
68
  const apiRef = (0, react_1.useRef)(null);
69
69
  (0, react_1.useEffect)(() => {
70
70
  if (typeof window !== 'undefined') {
@@ -75,10 +75,12 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
75
75
  },
76
76
  createAndOpenArtifact: (content, mimeType = 'html', title) => {
77
77
  const autoTitle = title || getTitleFromMimeType(mimeType);
78
+ const artifactId = `api-${Date.now()}-${Math.random()
79
+ .toString(36)
80
+ .substr(2, 9)}`;
78
81
  const artifact = {
79
- id: `artifact-${Date.now()}-${Math.random()
80
- .toString(36)
81
- .substr(2, 9)}`,
82
+ id: `artifact-ui-${artifactId}`,
83
+ artifactId,
82
84
  content,
83
85
  mimeType,
84
86
  title: autoTitle,
@@ -86,8 +88,8 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
86
88
  size: content.length,
87
89
  };
88
90
  let messageText = content;
89
- if (!messageText.includes('<output class="memori-artifact">')) {
90
- messageText = `<output class="memori-artifact" data-mimetype="${mimeType}" data-title="${autoTitle}">${content}</output>`;
91
+ if (!messageText.includes('class="memori-artifact"')) {
92
+ messageText = `<output class="memori-artifact" data-action="create" data-artifact-id="${artifactId}" data-mimetype="${mimeType}" data-title="${autoTitle}">${content}</output>`;
91
93
  }
92
94
  pushMessage({
93
95
  text: messageText,
@@ -105,6 +107,7 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
105
107
  placeLongitude: undefined,
106
108
  placeUncertaintyKm: undefined,
107
109
  });
110
+ registerArtifact(artifact);
108
111
  openArtifact(artifact);
109
112
  },
110
113
  createFromOutputElement: (outputElement) => {
@@ -112,12 +115,13 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
112
115
  const mimeType = outputElement.getAttribute('data-mimetype') || 'html';
113
116
  const title = outputElement.getAttribute('data-title') ||
114
117
  getTitleFromMimeType(mimeType);
118
+ const artifactId = outputElement.getAttribute('data-artifact-id') ||
119
+ `api-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
115
120
  outputElement.style.display = 'none';
116
121
  outputElement.setAttribute('data-memori-processed', 'true');
117
122
  const artifact = {
118
- id: `artifact-${Date.now()}-${Math.random()
119
- .toString(36)
120
- .substr(2, 9)}`,
123
+ id: `artifact-ui-${artifactId}`,
124
+ artifactId,
121
125
  content,
122
126
  mimeType,
123
127
  title,
@@ -125,8 +129,8 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
125
129
  size: content.length,
126
130
  };
127
131
  let messageText = content;
128
- if (!messageText.includes('<output class="memori-artifact">')) {
129
- messageText = `<output class="memori-artifact" data-mimetype="${mimeType}" data-title="${title}">${content}</output>`;
132
+ if (!messageText.includes('class="memori-artifact"')) {
133
+ messageText = `<output class="memori-artifact" data-action="create" data-artifact-id="${artifactId}" data-mimetype="${mimeType}" data-title="${title}">${content}</output>`;
130
134
  }
131
135
  pushMessage({
132
136
  text: messageText,
@@ -144,8 +148,9 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
144
148
  placeLongitude: undefined,
145
149
  placeUncertaintyKm: undefined,
146
150
  });
151
+ registerArtifact(artifact);
147
152
  openArtifact(artifact);
148
- return artifact.id;
153
+ return artifact.artifactId;
149
154
  },
150
155
  closeArtifact: () => {
151
156
  closeArtifact();
@@ -207,7 +212,7 @@ const ArtifactAPIBridge = ({ pushMessage, }) => {
207
212
  delete window.MemoriArtifactAPI;
208
213
  }
209
214
  };
210
- }, [openArtifact, closeArtifact, toggleFullscreen, state, pushMessage]);
215
+ }, [openArtifact, closeArtifact, toggleFullscreen, state, pushMessage, registerArtifact]);
211
216
  return null;
212
217
  };
213
218
  exports.ArtifactAPIBridge = ArtifactAPIBridge;
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactAPI.js","sourceRoot":"","sources":["../../../../src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,gEAAyD;AAKzD,MAAM,YAAY,GAA2C,EAAE,CAAC;AAChE,IAAI,OAAO,GAAG,KAAK,CAAC;AAMb,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAG1C,IAAK,MAAc,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAEA,MAAc,CAAC,iBAAiB,GAAG;QAClC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO;QACvB,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;QACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,YAAY;QACpC,kBAAkB,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAEtD,YAAY,EAAE,CAAC,QAAsB,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,qBAAqB,EAAE,CAAC,OAAe,EAAE,QAAiB,EAAE,KAAc,EAAE,EAAE;YAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QACD,uBAAuB,EAAE,CAAC,aAAgC,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAChF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,KAAK;oBACnB,YAAY,EAAE,KAAK;oBACnB,0BAA0B,EAAE,KAAK;iBAClC,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;gBACnB,0BAA0B,EAAE,KAAK;aAClC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA1DW,QAAA,qBAAqB,yBA0DhC;AAGF,IAAA,6BAAqB,GAAE,CAAC;AAMjB,MAAM,iBAAiB,GAAG,CAAC,EAChC,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAC5D,IAAA,6BAAW,GAAE,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,cAAM,EAAM,IAAI,CAAC,CAAC;IAEjC,IAAA,iBAAS,EAAC,GAAG,EAAE;QAEb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,SAAS,GAAI,MAAc,CAAC,iBAAiB,CAAC;YAGpD,MAAM,CAAC,OAAO,GAAG;gBAKf,YAAY,EAAE,CAAC,QAAsB,EAAE,EAAE;oBACvC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBAQD,qBAAqB,EAAE,CACrB,OAAe,EACf,WAAmB,MAAM,EACzB,KAAc,EACd,EAAE;oBACF,MAAM,SAAS,GAAG,KAAK,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBAG1D,MAAM,QAAQ,GAAiB;wBAC7B,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;6BACxC,QAAQ,CAAC,EAAE,CAAC;6BACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;wBACjB,OAAO;wBACP,QAAQ;wBACR,KAAK,EAAE,SAAS;wBAChB,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,IAAI,EAAE,OAAO,CAAC,MAAM;qBACrB,CAAC;oBAIF,IAAI,WAAW,GAAG,OAAO,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;wBAC9D,WAAW,GAAG,kDAAkD,QAAQ,iBAAiB,SAAS,KAAK,OAAO,WAAW,CAAC;oBAC5H,CAAC;oBAGD,WAAW,CAAC;wBACV,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,KAAc;wBACxB,KAAK,EAAE,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,cAAc,EAAE,SAAS;wBACzB,gBAAgB,EAAE,SAAS;wBAC3B,aAAa,EAAE,KAAK;wBACpB,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,SAAS;wBACpB,aAAa,EAAE,SAAS;wBACxB,cAAc,EAAE,SAAS;wBACzB,kBAAkB,EAAE,SAAS;qBAC9B,CAAC,CAAC;oBAGH,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBAOD,uBAAuB,EAAE,CAAC,aAAgC,EAAE,EAAE;oBAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;oBACxC,MAAM,QAAQ,GACZ,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;oBACxD,MAAM,KAAK,GACT,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC;wBACxC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBAGjC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;oBACrC,aAAa,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;oBAE5D,MAAM,QAAQ,GAAiB;wBAC7B,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;6BACxC,QAAQ,CAAC,EAAE,CAAC;6BACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;wBACjB,OAAO;wBACP,QAAQ;wBACR,KAAK;wBACL,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,IAAI,EAAE,OAAO,CAAC,MAAM;qBACrB,CAAC;oBAIF,IAAI,WAAW,GAAG,OAAO,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;wBAC9D,WAAW,GAAG,kDAAkD,QAAQ,iBAAiB,KAAK,KAAK,OAAO,WAAW,CAAC;oBACxH,CAAC;oBAED,WAAW,CAAC;wBACV,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,KAAc;wBACxB,KAAK,EAAE,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,cAAc,EAAE,SAAS;wBACzB,gBAAgB,EAAE,SAAS;wBAC3B,aAAa,EAAE,KAAK;wBACpB,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,SAAS;wBACpB,aAAa,EAAE,SAAS;wBACxB,cAAc,EAAE,SAAS;wBACzB,kBAAkB,EAAE,SAAS;qBAC9B,CAAC,CAAC;oBAGH,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAEvB,OAAO,QAAQ,CAAC,EAAE,CAAC;gBACrB,CAAC;gBAKD,aAAa,EAAE,GAAG,EAAE;oBAClB,aAAa,EAAE,CAAC;gBAClB,CAAC;gBAKD,gBAAgB,EAAE,GAAG,EAAE;oBACrB,gBAAgB,EAAE,CAAC;gBACrB,CAAC;gBAKD,QAAQ,EAAE,GAAG,EAAE;oBACb,OAAO;wBACL,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;qBAC7D,CAAC;gBACJ,CAAC;aACF,CAAC;YAGF,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;gBACrD,SAAS,CAAC,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACvE,SAAS,CAAC,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBAC3E,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;gBACvD,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC7D,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAG7C,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAG1B,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAClD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,IAAqC,EAAE,EAAE;wBAC7D,IAAI,CAAC;4BACH,MAAM,MAAM,GAAI,MAAM,CAAC,OAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACpD,IAAI,MAAM,EAAE,CAAC;gCACX,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;wBAEjB,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,SAAS,CAAC,kBAAkB,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEL,MAAc,CAAC,iBAAiB,GAAG;oBAClC,GAAG,MAAM,CAAC,OAAO;oBACjB,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,EAAE;oBACjB,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE;wBAC3B,MAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACrD,CAAC;oBACD,gBAAgB,EAAE,GAAG,EAAE;wBACrB,OAAQ,MAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC;oBACzD,CAAC;oBACD,kBAAkB,EAAE,GAAG,EAAE;wBACtB,MAAc,CAAC,iBAAiB,CAAC,aAAa,GAAG,EAAE,CAAC;oBACvD,CAAC;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,GAAG,EAAE;YAEV,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAQ,MAAc,CAAC,iBAAiB,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAExE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3NW,QAAA,iBAAiB,qBA2N5B;AAGF,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,eAAe,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAe,EACf,QAAgB,EAChB,KAAa;IAEb,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,yBAAyB,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;GAWvB,CAAC;IAEF,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAExD,OAAO,CAAC,SAAS,GAAG;oCACc,IAAI;;2DAEmB,UAAU,CAC7D,KAAK,CACN;uEACgE,QAAQ,MAAM,IAAI;;;;;;;GAOtF,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,OAAO,GAAG,CAAC,SAAS,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"ArtifactAPI.js","sourceRoot":"","sources":["../../../../src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx"],"names":[],"mappings":";;;AAAA,iCAA0C;AAC1C,gEAAyD;AAKzD,MAAM,YAAY,GAA2C,EAAE,CAAC;AAChE,IAAI,OAAO,GAAG,KAAK,CAAC;AAMb,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAG1C,IAAK,MAAc,CAAC,iBAAiB,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAEA,MAAc,CAAC,iBAAiB,GAAG;QAClC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO;QACvB,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;QACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,YAAY;QACpC,kBAAkB,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAEtD,YAAY,EAAE,CAAC,QAAsB,EAAE,EAAE;YACvC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,qBAAqB,EAAE,CAAC,OAAe,EAAE,QAAiB,EAAE,KAAc,EAAE,EAAE;YAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QACD,uBAAuB,EAAE,CAAC,aAAgC,EAAE,EAAE;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAChF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,aAAa,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,eAAe,EAAE,IAAI;oBACrB,YAAY,EAAE,KAAK;oBACnB,YAAY,EAAE,KAAK;oBACnB,0BAA0B,EAAE,KAAK;iBAClC,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;gBACnB,0BAA0B,EAAE,KAAK;aAClC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA1DW,QAAA,qBAAqB,yBA0DhC;AAGF,IAAA,6BAAqB,GAAE,CAAC;AAMjB,MAAM,iBAAiB,GAAG,CAAC,EAChC,WAAW,GAGZ,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAC9E,IAAA,6BAAW,GAAE,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,cAAM,EAAM,IAAI,CAAC,CAAC;IAEjC,IAAA,iBAAS,EAAC,GAAG,EAAE;QAEb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,SAAS,GAAI,MAAc,CAAC,iBAAiB,CAAC;YAGpD,MAAM,CAAC,OAAO,GAAG;gBAKf,YAAY,EAAE,CAAC,QAAsB,EAAE,EAAE;oBACvC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBAQD,qBAAqB,EAAE,CACrB,OAAe,EACf,WAAmB,MAAM,EACzB,KAAc,EACd,EAAE;oBACF,MAAM,SAAS,GAAG,KAAK,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;yBAClD,QAAQ,CAAC,EAAE,CAAC;yBACZ,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAGlB,MAAM,QAAQ,GAAiB;wBAC7B,EAAE,EAAE,eAAe,UAAU,EAAE;wBAC/B,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,KAAK,EAAE,SAAS;wBAChB,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,IAAI,EAAE,OAAO,CAAC,MAAM;qBACrB,CAAC;oBAIF,IAAI,WAAW,GAAG,OAAO,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;wBACrD,WAAW,GAAG,0EAA0E,UAAU,oBAAoB,QAAQ,iBAAiB,SAAS,KAAK,OAAO,WAAW,CAAC;oBAClL,CAAC;oBAGD,WAAW,CAAC;wBACV,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,KAAc;wBACxB,KAAK,EAAE,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,cAAc,EAAE,SAAS;wBACzB,gBAAgB,EAAE,SAAS;wBAC3B,aAAa,EAAE,KAAK;wBACpB,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,SAAS;wBACpB,aAAa,EAAE,SAAS;wBACxB,cAAc,EAAE,SAAS;wBACzB,kBAAkB,EAAE,SAAS;qBAC9B,CAAC,CAAC;oBAEH,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAE3B,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACzB,CAAC;gBAOD,uBAAuB,EAAE,CAAC,aAAgC,EAAE,EAAE;oBAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;oBACxC,MAAM,QAAQ,GACZ,aAAa,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;oBACxD,MAAM,KAAK,GACT,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC;wBACxC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;oBACjC,MAAM,UAAU,GACd,aAAa,CAAC,YAAY,CAAC,kBAAkB,CAAC;wBAC9C,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAGjE,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;oBACrC,aAAa,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;oBAE5D,MAAM,QAAQ,GAAiB;wBAC7B,EAAE,EAAE,eAAe,UAAU,EAAE;wBAC/B,UAAU;wBACV,OAAO;wBACP,QAAQ;wBACR,KAAK;wBACL,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,IAAI,EAAE,OAAO,CAAC,MAAM;qBACrB,CAAC;oBAIF,IAAI,WAAW,GAAG,OAAO,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;wBACrD,WAAW,GAAG,0EAA0E,UAAU,oBAAoB,QAAQ,iBAAiB,KAAK,KAAK,OAAO,WAAW,CAAC;oBAC9K,CAAC;oBAED,WAAW,CAAC;wBACV,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACnC,QAAQ,EAAE,KAAc;wBACxB,KAAK,EAAE,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,cAAc,EAAE,SAAS;wBACzB,gBAAgB,EAAE,SAAS;wBAC3B,aAAa,EAAE,KAAK;wBACpB,WAAW,EAAE,SAAS;wBACtB,IAAI,EAAE,SAAS;wBACf,SAAS,EAAE,SAAS;wBACpB,aAAa,EAAE,SAAS;wBACxB,cAAc,EAAE,SAAS;wBACzB,kBAAkB,EAAE,SAAS;qBAC9B,CAAC,CAAC;oBAEH,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAE3B,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAEvB,OAAO,QAAQ,CAAC,UAAU,CAAC;gBAC7B,CAAC;gBAKD,aAAa,EAAE,GAAG,EAAE;oBAClB,aAAa,EAAE,CAAC;gBAClB,CAAC;gBAKD,gBAAgB,EAAE,GAAG,EAAE;oBACrB,gBAAgB,EAAE,CAAC;gBACrB,CAAC;gBAKD,QAAQ,EAAE,GAAG,EAAE;oBACb,OAAO;wBACL,eAAe,EAAE,KAAK,CAAC,eAAe;wBACtC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,0BAA0B,EAAE,KAAK,CAAC,0BAA0B;qBAC7D,CAAC;gBACJ,CAAC;aACF,CAAC;YAGF,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;gBACrD,SAAS,CAAC,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACvE,SAAS,CAAC,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC;gBAC3E,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;gBACvD,SAAS,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC7D,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAG7C,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAG1B,MAAM,YAAY,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAClD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,IAAqC,EAAE,EAAE;wBAC7D,IAAI,CAAC;4BACH,MAAM,MAAM,GAAI,MAAM,CAAC,OAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACpD,IAAI,MAAM,EAAE,CAAC;gCACX,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;4BACvB,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;wBAEjB,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,SAAS,CAAC,kBAAkB,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEL,MAAc,CAAC,iBAAiB,GAAG;oBAClC,GAAG,MAAM,CAAC,OAAO;oBACjB,QAAQ,EAAE,IAAI;oBACd,aAAa,EAAE,EAAE;oBACjB,SAAS,EAAE,CAAC,KAAc,EAAE,EAAE;wBAC3B,MAAc,CAAC,iBAAiB,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACrD,CAAC;oBACD,gBAAgB,EAAE,GAAG,EAAE;wBACrB,OAAQ,MAAc,CAAC,iBAAiB,CAAC,aAAa,CAAC;oBACzD,CAAC;oBACD,kBAAkB,EAAE,GAAG,EAAE;wBACtB,MAAc,CAAC,iBAAiB,CAAC,aAAa,GAAG,EAAE,CAAC;oBACvD,CAAC;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,GAAG,EAAE;YAEV,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAQ,MAAc,CAAC,iBAAiB,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE1F,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAjOW,QAAA,iBAAiB,qBAiO5B;AAGF,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,eAAe,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,WAAW,CAAC;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC9D,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAe,EACf,QAAgB,EAChB,KAAa;IAEb,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,yBAAyB,CAAC;IAC9C,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;GAWvB,CAAC;IAEF,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAExD,OAAO,CAAC,SAAS,GAAG;oCACc,IAAI;;2DAEmB,UAAU,CAC7D,KAAK,CACN;uEACgE,QAAQ,MAAM,IAAI;;;;;;;GAOtF,CAAC;IAEF,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;IACvB,OAAO,GAAG,CAAC,SAAS,CAAC;AACvB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ArtifactEdit } from '../types/artifact.types';
2
+ export interface ApplyEditsResult {
3
+ content: string;
4
+ failedEdits: ArtifactEdit[];
5
+ appliedCount: number;
6
+ }
7
+ export declare const applyEdits: (content: string, edits: ArtifactEdit[]) => ApplyEditsResult;
8
+ export declare const parseEdits: (body: string) => ArtifactEdit[] | null;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseEdits = exports.applyEdits = void 0;
4
+ const normalizeWhitespace = (s) => s.replace(/\s+/g, ' ');
5
+ const findWhitespaceTolerant = (haystack, needle) => {
6
+ const normNeedle = normalizeWhitespace(needle.trim());
7
+ if (!normNeedle)
8
+ return null;
9
+ const normChars = [];
10
+ const normToOrig = [];
11
+ let lastWasSpace = false;
12
+ for (let i = 0; i < haystack.length; i++) {
13
+ const ch = haystack[i];
14
+ if (/\s/.test(ch)) {
15
+ if (!lastWasSpace && normChars.length > 0) {
16
+ normChars.push(' ');
17
+ normToOrig.push(i);
18
+ lastWasSpace = true;
19
+ }
20
+ }
21
+ else {
22
+ normChars.push(ch);
23
+ normToOrig.push(i);
24
+ lastWasSpace = false;
25
+ }
26
+ }
27
+ while (normChars.length > 0 && normChars[normChars.length - 1] === ' ') {
28
+ normChars.pop();
29
+ normToOrig.pop();
30
+ }
31
+ const normHaystack = normChars.join('');
32
+ const idx = normHaystack.indexOf(normNeedle);
33
+ if (idx === -1)
34
+ return null;
35
+ const startOrig = normToOrig[idx];
36
+ const endNormIdx = idx + normNeedle.length - 1;
37
+ const lastOrig = normToOrig[endNormIdx];
38
+ let endOrig = lastOrig + 1;
39
+ while (endOrig < haystack.length && /\s/.test(haystack[endOrig])) {
40
+ break;
41
+ }
42
+ return [startOrig, endOrig];
43
+ };
44
+ const applyEdits = (content, edits) => {
45
+ let result = content;
46
+ const failedEdits = [];
47
+ let appliedCount = 0;
48
+ for (const edit of edits) {
49
+ if (!edit || typeof edit.old !== 'string' || typeof edit.new !== 'string') {
50
+ failedEdits.push(edit);
51
+ continue;
52
+ }
53
+ const exactIdx = result.indexOf(edit.old);
54
+ if (exactIdx !== -1) {
55
+ result =
56
+ result.slice(0, exactIdx) +
57
+ edit.new +
58
+ result.slice(exactIdx + edit.old.length);
59
+ appliedCount++;
60
+ continue;
61
+ }
62
+ const tolerant = findWhitespaceTolerant(result, edit.old);
63
+ if (tolerant) {
64
+ const [start, end] = tolerant;
65
+ result = result.slice(0, start) + edit.new + result.slice(end);
66
+ appliedCount++;
67
+ continue;
68
+ }
69
+ failedEdits.push(edit);
70
+ }
71
+ return { content: result, failedEdits, appliedCount };
72
+ };
73
+ exports.applyEdits = applyEdits;
74
+ const HTML_ENTITIES = {
75
+ '&quot;': '"',
76
+ '&#34;': '"',
77
+ '&apos;': "'",
78
+ '&#39;': "'",
79
+ '&amp;': '&',
80
+ '&lt;': '<',
81
+ '&gt;': '>',
82
+ };
83
+ const unescapeHtmlEntities = (s) => s.replace(/&quot;|&#34;|&apos;|&#39;|&amp;|&lt;|&gt;/g, m => { var _a; return (_a = HTML_ENTITIES[m]) !== null && _a !== void 0 ? _a : m; });
84
+ const isValidEditsArray = (value) => {
85
+ if (!Array.isArray(value))
86
+ return false;
87
+ return value.every(item => item &&
88
+ typeof item === 'object' &&
89
+ typeof item.old === 'string' &&
90
+ typeof item.new === 'string');
91
+ };
92
+ const parseEdits = (body) => {
93
+ if (!body || typeof body !== 'string')
94
+ return null;
95
+ const trimmed = body.trim();
96
+ if (!trimmed)
97
+ return null;
98
+ const tryParse = (raw) => {
99
+ try {
100
+ const parsed = JSON.parse(raw);
101
+ return isValidEditsArray(parsed) ? parsed : null;
102
+ }
103
+ catch (_a) {
104
+ return null;
105
+ }
106
+ };
107
+ const direct = tryParse(trimmed);
108
+ if (direct)
109
+ return direct;
110
+ const unescaped = unescapeHtmlEntities(trimmed);
111
+ if (unescaped !== trimmed) {
112
+ return tryParse(unescaped);
113
+ }
114
+ return null;
115
+ };
116
+ exports.parseEdits = parseEdits;
117
+ //# sourceMappingURL=applyEdits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyEdits.js","sourceRoot":"","sources":["../../../../src/components/MemoriArtifactSystem/utils/applyEdits.ts"],"names":[],"mappings":"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"}
@@ -164,3 +164,62 @@
164
164
  .memori.memori--auto-start .memori--start-panel {
165
165
  display: none;
166
166
  }
167
+
168
+ /* Close buttons (modals, drawers, popovers) — same square bordered chrome
169
+ as header / website-assistant / artifact-drawer IconButton.
170
+ @memori.ai/ui defaults these to borderless / circular. */
171
+ .memori-modal__close,
172
+ .memori-drawer__close,
173
+ .memori-popover__close {
174
+ display: inline-flex;
175
+ width: var(--memori-icon-button-size, 40px);
176
+ min-width: var(--memori-icon-button-size, 40px);
177
+ height: var(--memori-icon-button-size, 40px);
178
+ min-height: var(--memori-icon-button-size, 40px);
179
+ box-sizing: border-box;
180
+ flex-shrink: 0;
181
+ align-items: center;
182
+ justify-content: center;
183
+ padding: 0;
184
+ border: var(--memori-border, 1px) solid color-mix(in srgb, var(--memori-text-color, #111827) 18%, transparent);
185
+ border-radius: var(--memori-radius-box);
186
+ margin: 0;
187
+ background: transparent;
188
+ box-shadow: none;
189
+ color: var(--memori-icon-button-icon, color-mix(in oklch, var(--memori-text-color, #111827) 72%, transparent));
190
+ transform: none;
191
+ }
192
+
193
+ .memori-popover__close {
194
+ block-size: var(--memori-icon-button-size, 40px);
195
+ inline-size: var(--memori-icon-button-size, 40px);
196
+ }
197
+
198
+ .memori-modal__close:hover,
199
+ .memori-drawer__close:hover,
200
+ .memori-popover__close:hover {
201
+ border-color: color-mix(in srgb, var(--memori-text-color, #111827) 18%, transparent);
202
+ background: color-mix(in srgb, var(--memori-text-color, #111827) 6%, transparent);
203
+ box-shadow: none;
204
+ color: var(--memori-text-color, #111827);
205
+ }
206
+
207
+ .memori-modal__close:focus-visible,
208
+ .memori-drawer__close:focus-visible,
209
+ .memori-popover__close:focus-visible {
210
+ border-color: var(--memori-primary);
211
+ box-shadow: var(--memori-focus-ring, 0 0 0 3px color-mix(in oklch, var(--memori-primary) 18%, transparent));
212
+ outline: 2px solid var(--memori-primary);
213
+ outline-offset: var(--memori-focus-ring-offset, 2px);
214
+ }
215
+
216
+ .memori-modal__close svg,
217
+ .memori-drawer__close svg,
218
+ .memori-popover__close svg {
219
+ width: var(--memori-icon-button-icon-size, 20px);
220
+ height: var(--memori-icon-button-icon-size, 20px);
221
+ }
222
+
223
+ .memori-drawer__header {
224
+ align-items: center;
225
+ }
@@ -105,36 +105,22 @@ pre[class*='language-'] {
105
105
  display: flex;
106
106
  align-items: center;
107
107
  padding: 0.5rem;
108
- border: 1px solid rgba(0, 0, 0, 0.1);
109
108
  border-radius: 0.5rem;
110
- border-radius: var(--memori-radius-box);
111
- -webkit-backdrop-filter: blur(10px);
112
- backdrop-filter: blur(10px);
113
- background: rgba(0, 0, 0, 0.05);
114
- background-color: color-mix(in oklch, var(--memori-main-background) 38%, transparent);
115
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
116
109
  gap: var(--memori-spacing-sm);
117
110
  }
118
111
 
119
112
  button.memori-snippet--copy-button {
120
- width: 32px !important;
121
- height: 32px !important;
113
+ /* width: 32px !important;
114
+ height: 32px !important; */
122
115
  padding: 0;
123
116
  border: 1px solid rgba(0, 0, 0, 0.1);
124
117
  border-radius: 0.5rem !important;
125
- background: rgba(0, 0, 0, 0.05);
118
+ background: var(--memori-secondary-background);
126
119
  transition: all 0.2s ease;
127
120
  }
128
121
 
129
- button.memori-snippet--copy-button:hover,
130
- button.memori-snippet--copy-button:focus {
131
- border-color: rgba(0, 0, 0, 0.2);
132
- background: rgba(0, 0, 0, 0.1);
133
- transform: scale(1.05);
134
- }
135
-
136
122
  button.memori-snippet--copy-button:active {
137
- background: rgba(0, 0, 0, 0.15);
123
+ /* background: rgba(0, 0, 0, 0.15); */
138
124
  transform: scale(0.95);
139
125
  }
140
126
 
@@ -144,24 +130,8 @@ button.memori-snippet--copy-button svg {
144
130
  color: var(--memori-text-color);
145
131
  }
146
132
 
147
- .memori-snippet--copied-text {
148
- animation: fadeInOut 0.3s ease;
149
- color: var(--memori-text-color);
150
- font-size: 0.75rem;
151
- font-weight: var(--memori-text-weight-semibold);
152
- letter-spacing: 0.05em;
153
- text-transform: uppercase;
154
- }
155
-
156
- @keyframes fadeInOut {
157
- 0% {
158
- opacity: 0;
159
- transform: translateX(-4px);
160
- }
161
- 100% {
162
- opacity: 1;
163
- transform: translateX(0);
164
- }
133
+ .memori-snippet button.memori-snippet--copy-button--copied svg {
134
+ color: var(--memori-success-color, #22c55e);
165
135
  }
166
136
 
167
137
  .memori-snippet--caption {
@@ -75,7 +75,9 @@ const Snippet = ({ medium, className, preview = false, showCopyButton = true, })
75
75
  console.error('Failed to copy text:', error);
76
76
  }
77
77
  };
78
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('memori-snippet', { 'memori-snippet--preview': preview }), children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-snippet--content", children: [(0, jsx_runtime_1.jsx)("pre", { className: (0, classnames_1.default)('line-numbers', className), "aria-labelledby": !!((_a = medium.title) === null || _a === void 0 ? void 0 : _a.length) ? `#snippet-${medium.mediumID}` : undefined, children: (0, jsx_runtime_1.jsx)("code", { className: `language-${(_c = (_b = constants_1.prismSyntaxLangs.find(l => medium.mimeType === l.mimeType)) === null || _b === void 0 ? void 0 : _b.lang) !== null && _c !== void 0 ? _c : 'text'}`, "data-language": (_e = (_d = constants_1.prismSyntaxLangs.find(l => medium.mimeType === l.mimeType)) === null || _d === void 0 ? void 0 : _d.lang) !== null && _e !== void 0 ? _e : 'text', children: (0, utils_1.stripDocumentAttachmentTags)((_f = medium.content) !== null && _f !== void 0 ? _f : '') }) }), showCopyButton && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-snippet--copy-wrapper", children: [copied && ((0, jsx_runtime_1.jsx)("span", { className: "memori-snippet--copied-text", children: t('copied') || 'Copied!' })), (0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "ghost", shape: "circle", className: "memori-snippet--copy-button", title: t('copy') || 'Copy', icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, {}), onMouseDown: handleCopy })] }))] }) }));
78
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)('memori-snippet', { 'memori-snippet--preview': preview }), children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-snippet--content", children: [(0, jsx_runtime_1.jsx)("pre", { className: (0, classnames_1.default)('line-numbers', className), "aria-labelledby": !!((_a = medium.title) === null || _a === void 0 ? void 0 : _a.length) ? `#snippet-${medium.mediumID}` : undefined, children: (0, jsx_runtime_1.jsx)("code", { className: `language-${(_c = (_b = constants_1.prismSyntaxLangs.find(l => medium.mimeType === l.mimeType)) === null || _b === void 0 ? void 0 : _b.lang) !== null && _c !== void 0 ? _c : 'text'}`, "data-language": (_e = (_d = constants_1.prismSyntaxLangs.find(l => medium.mimeType === l.mimeType)) === null || _d === void 0 ? void 0 : _d.lang) !== null && _e !== void 0 ? _e : 'text', children: (0, utils_1.stripDocumentAttachmentTags)((_f = medium.content) !== null && _f !== void 0 ? _f : '') }) }), showCopyButton && ((0, jsx_runtime_1.jsx)("div", { className: "memori-snippet--copy-wrapper", children: (0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "ghost", shape: "circle", className: (0, classnames_1.default)('memori-snippet--copy-button', {
79
+ 'memori-snippet--copy-button--copied': copied,
80
+ }), title: copied ? t('copied') || 'Copied' : t('copy') || 'Copy', icon: copied ? (0, jsx_runtime_1.jsx)(lucide_react_1.Check, {}) : (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, {}), onMouseDown: handleCopy }) }))] }) }));
79
81
  };
80
82
  exports.default = Snippet;
81
83
  //# sourceMappingURL=Snippet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Snippet.js","sourceRoot":"","sources":["../../../src/components/Snippet/Snippet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Snippet.js","sourceRoot":"","sources":["../../../src/components/Snippet/Snippet.tsx"],"names":[],"mappings":"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"}
@@ -182,6 +182,84 @@
182
182
  line-height: var(--memori-text-line-tight);
183
183
  overflow-wrap: break-word;
184
184
  overflow-x: hidden;
185
+ padding-inline-end: 8px;
186
+ }
187
+
188
+ @supports not selector(::-webkit-scrollbar) {
189
+ .memori--start-panel,
190
+ .memori--description-text,
191
+ .memori-chat-layout--start-panel-wrap {
192
+ scrollbar-color: color-mix(in oklch, var(--memori-text-color) 14%, transparent) transparent;
193
+ scrollbar-width: thin;
194
+ }
195
+
196
+ .memori--start-panel:hover,
197
+ .memori--start-panel:focus-within,
198
+ .memori--start-panel:active,
199
+ .memori--description-text:hover,
200
+ .memori--description-text:focus-within,
201
+ .memori--description-text:active,
202
+ .memori-chat-layout--start-panel-wrap:hover,
203
+ .memori-chat-layout--start-panel-wrap:focus-within,
204
+ .memori-chat-layout--start-panel-wrap:active {
205
+ scrollbar-color: color-mix(in oklch, var(--memori-text-color) 38%, transparent) transparent;
206
+ }
207
+ }
208
+
209
+ .memori--start-panel::-webkit-scrollbar,
210
+ .memori--description-text::-webkit-scrollbar,
211
+ .memori-chat-layout--start-panel-wrap::-webkit-scrollbar {
212
+ width: 5px;
213
+ height: 5px;
214
+ }
215
+
216
+ .memori--start-panel::-webkit-scrollbar-track,
217
+ .memori--description-text::-webkit-scrollbar-track,
218
+ .memori-chat-layout--start-panel-wrap::-webkit-scrollbar-track {
219
+ margin: 4px 0;
220
+ background: transparent;
221
+ }
222
+
223
+ .memori--start-panel::-webkit-scrollbar-thumb,
224
+ .memori--description-text::-webkit-scrollbar-thumb,
225
+ .memori-chat-layout--start-panel-wrap::-webkit-scrollbar-thumb {
226
+ border-radius: 999px;
227
+ background-color: color-mix(in oklch, var(--memori-text-color) 14%, transparent);
228
+ }
229
+
230
+ .memori--start-panel:hover::-webkit-scrollbar-thumb,
231
+ .memori--start-panel:focus-within::-webkit-scrollbar-thumb,
232
+ .memori--start-panel:active::-webkit-scrollbar-thumb,
233
+ .memori--description-text:hover::-webkit-scrollbar-thumb,
234
+ .memori--description-text:focus-within::-webkit-scrollbar-thumb,
235
+ .memori--description-text:active::-webkit-scrollbar-thumb,
236
+ .memori-chat-layout--start-panel-wrap:hover::-webkit-scrollbar-thumb,
237
+ .memori-chat-layout--start-panel-wrap:focus-within::-webkit-scrollbar-thumb,
238
+ .memori-chat-layout--start-panel-wrap:active::-webkit-scrollbar-thumb,
239
+ .memori--start-panel::-webkit-scrollbar-thumb:hover,
240
+ .memori--description-text::-webkit-scrollbar-thumb:hover,
241
+ .memori-chat-layout--start-panel-wrap::-webkit-scrollbar-thumb:hover {
242
+ background-color: color-mix(in oklch, var(--memori-text-color) 38%, transparent);
243
+ }
244
+
245
+ .memori--start-panel::-webkit-scrollbar-thumb:active,
246
+ .memori--description-text::-webkit-scrollbar-thumb:active,
247
+ .memori-chat-layout--start-panel-wrap::-webkit-scrollbar-thumb:active {
248
+ background-color: color-mix(in oklch, var(--memori-text-color) 52%, transparent);
249
+ }
250
+
251
+ @media (hover: none) {
252
+ .memori--start-panel,
253
+ .memori--description-text,
254
+ .memori-chat-layout--start-panel-wrap {
255
+ scrollbar-color: color-mix(in oklch, var(--memori-text-color) 28%, transparent) transparent;
256
+ }
257
+
258
+ .memori--start-panel::-webkit-scrollbar-thumb,
259
+ .memori--description-text::-webkit-scrollbar-thumb,
260
+ .memori-chat-layout--start-panel-wrap::-webkit-scrollbar-thumb {
261
+ background-color: color-mix(in oklch, var(--memori-text-color) 28%, transparent);
262
+ }
185
263
  }
186
264
 
187
265
  .memori--description-text--full {
@@ -473,6 +551,12 @@
473
551
  text-align: left;
474
552
  }
475
553
 
554
+ .memori--description-text--expand-symbol,
555
+ .memori--description-text--collapse-symbol {
556
+ width: 100%;
557
+ justify-content: space-between;
558
+ }
559
+
476
560
  .memori--description-text > button svg,
477
561
  .memori--description-text .memori-expandable__button svg {
478
562
  margin-left: auto;
@@ -525,6 +609,16 @@
525
609
  text-align: left;
526
610
  }
527
611
 
612
+ .memori--title-container__content
613
+ .memori--description-text--collapsible:has(.memori--description-text--expand-symbol)
614
+ .memori-expandable__inner {
615
+ display: -webkit-box;
616
+ overflow: hidden;
617
+ -webkit-box-orient: vertical;
618
+ -webkit-line-clamp: 3;
619
+ text-overflow: ellipsis;
620
+ }
621
+
528
622
  .memori--description-text--expand-symbol,
529
623
  .memori--description-text--collapse-symbol {
530
624
  display: inline-flex;
@@ -532,9 +626,21 @@
532
626
  color: var(--memori-primary);
533
627
  font-size: 0.8rem;
534
628
  font-weight: var(--memori-text-weight-medium);
629
+ gap: var(--memori-spacing-xs);
535
630
  line-height: 1.2;
536
631
  }
537
632
 
633
+ .memori--description-text--toggle-chevron {
634
+ width: 0.85rem;
635
+ height: 0.85rem;
636
+ flex-shrink: 0;
637
+ transition: transform 0.2s ease;
638
+ }
639
+
640
+ .memori--description-text--toggle-chevron--up {
641
+ transform: rotate(180deg);
642
+ }
643
+
538
644
  /* The Expandable toggle is a memori-button ghost, which inherits a global
539
645
  `transform: scale(1.015)` on hover from @memori.ai/ui. Disable it here. */
540
646
  .memori-expandable.memori--description-text--collapsible .memori-button:hover:not(:disabled, .memori-button--disabled),
@@ -135,7 +135,7 @@ const StartPanel = ({ memori, tenant, language, userLang, setUserLang, baseUrl,
135
135
  apiURL: apiUrl,
136
136
  }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori--title-container__content", children: [(0, jsx_runtime_1.jsx)("h2", { className: "memori--title", children: memori.name }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isMobile && showFullDescriptionOnMobile ? ((0, jsx_runtime_1.jsx)("p", { className: "memori--description-text memori--description-text--full", children: translatedDescription && showTranslation
137
137
  ? translatedDescription
138
- : memori.description })) : ((0, jsx_runtime_1.jsx)(ui_3.Expandable, { className: "memori--description-text memori--description-text--collapsible", rows: 3, expandSymbol: _lang => ((0, jsx_runtime_1.jsx)("span", { className: "memori--description-text--expand-symbol", children: t('expand') })), collapseSymbol: _lang => ((0, jsx_runtime_1.jsx)("span", { className: "memori--description-text--collapse-symbol", children: t('collapse') })), children: translatedDescription && showTranslation
138
+ : memori.description })) : ((0, jsx_runtime_1.jsx)(ui_3.Expandable, { className: "memori--description-text memori--description-text--collapsible", rows: 3, expandSymbol: _lang => ((0, jsx_runtime_1.jsxs)("span", { className: "memori--description-text--expand-symbol", children: [t('expand'), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "memori--description-text--toggle-chevron", "aria-hidden": true })] })), collapseSymbol: _lang => ((0, jsx_runtime_1.jsxs)("span", { className: "memori--description-text--collapse-symbol", children: [t('collapse'), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "memori--description-text--toggle-chevron memori--description-text--toggle-chevron--up", "aria-hidden": true })] })), children: translatedDescription && showTranslation
139
139
  ? translatedDescription
140
140
  : memori.description })), translatedDescription !== memori.description && ((0, jsx_runtime_1.jsx)(ui_2.Button, { variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Languages, {}), onClick: () => toggleTranslations(), children: showTranslation
141
141
  ? t('showOriginalText')