@memori.ai/memori-react 8.46.0 → 8.46.1

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.
@@ -87,8 +87,9 @@
87
87
 
88
88
  .memori-chat-layout--main-with-artifact {
89
89
  display: flex;
90
+ min-height: 0;
90
91
  flex-direction: row;
91
- align-items: center;
92
+ align-items: stretch;
92
93
  justify-content: space-between;
93
94
  /* padding: 1rem; */
94
95
  gap: 1rem;
@@ -106,12 +107,21 @@
106
107
  }
107
108
 
108
109
  .memori-chat-layout--controls-with-artifact {
110
+ height: 100%;
109
111
  max-height: 100%;
110
112
  flex: 0 0 49%;
113
+ align-self: stretch;
111
114
  /* padding-bottom: 2.5rem; */
112
115
  margin: 0;
113
116
  }
114
117
 
118
+ /* Keep a real scrollport in the left column while the artifact panel is open. */
119
+ .memori-chat-layout--controls-with-artifact .memori-chat--wrapper,
120
+ .memori-chat-layout--controls-with-artifact .memori-chat--history,
121
+ .memori-chat-layout--controls-with-artifact .memori-chat--content {
122
+ min-height: 0;
123
+ }
124
+
115
125
  .memori-chat-layout--artifact-panel {
116
126
  position: relative;
117
127
  display: flex;
@@ -131,6 +131,8 @@
131
131
 
132
132
  .memori-totem-layout--controls {
133
133
  z-index: 100;
134
+ /* The composer floats over the full-screen avatar; history is height-capped, so nothing scrolls under it. */
135
+ --memori-chat-inputs-surface: transparent;
134
136
  }
135
137
 
136
138
  .memori-totem-layout--controls .memori--start-panel,
@@ -57,6 +57,43 @@ export const truncateMessage = (message) => {
57
57
  return truncatedMessage;
58
58
  };
59
59
  export const sanitizeMsg = (msg) => DOMPurify.sanitize(msg, { ADD_ATTR: ['target'] });
60
+ const CODE_SEGMENT_RE = /(```[\s\S]*?```|~~~[\s\S]*?~~~|`[^`\n]+`)/g;
61
+ const normalizeMarkdownMarkers = (text) => {
62
+ if (!/[\uFF0A\uFE61\u204E\uFF3F]/.test(text))
63
+ return text;
64
+ const normalize = (chunk) => chunk
65
+ .replace(/([\uFF0A\uFE61\u204E]{1,2})(?=\S)([^\n]*?\S)\1/g, (_, marker, inner) => `${'*'.repeat(marker.length)}${inner}${'*'.repeat(marker.length)}`)
66
+ .replace(/(\uFF3F{1,2})(?=\S)([^\n]*?\S)\1/g, (_, marker, inner) => `${'_'.repeat(marker.length)}${inner}${'_'.repeat(marker.length)}`);
67
+ return text
68
+ .split(CODE_SEGMENT_RE)
69
+ .map((part, index) => (index % 2 === 1 ? part : normalize(part)))
70
+ .join('');
71
+ };
72
+ const INLINE_MARKDOWN_RE = /\*\*?\S|__?\S|`[^`]+`|~~\S/;
73
+ const RAW_TEXT_TAG_RE = /^<(\/?)(a|pre|code|script|style|textarea)\b/i;
74
+ const renderInlineMarkdownInHtml = (html) => {
75
+ if (!INLINE_MARKDOWN_RE.test(html))
76
+ return html;
77
+ let rawTextDepth = 0;
78
+ return html.replace(/(<!--[\s\S]*?-->|<\/?[a-zA-Z][^>]*>)|([^<]+)/g, (match, tag, text) => {
79
+ if (tag) {
80
+ const raw = RAW_TEXT_TAG_RE.exec(tag);
81
+ if (raw)
82
+ rawTextDepth = Math.max(0, rawTextDepth + (raw[1] ? -1 : 1));
83
+ return tag;
84
+ }
85
+ if (!text || rawTextDepth > 0 || !INLINE_MARKDOWN_RE.test(text)) {
86
+ return match;
87
+ }
88
+ const [, lead, core, trail] = /^(\s*)([\s\S]*?)(\s*)$/.exec(text);
89
+ return `${lead}${marked.parseInline(core, { breaks: false })}${trail}`;
90
+ });
91
+ };
92
+ const renderMarkdownInHtmlBlocks = (token) => {
93
+ if (token.type === 'html' && token.block) {
94
+ token.text = renderInlineMarkdownInHtml(token.text);
95
+ }
96
+ };
60
97
  export const renderMsg = (text, useMathFormatting = false, reasoningText = 'Reasoning...', showReasoning) => {
61
98
  try {
62
99
  let preprocessedText = text
@@ -98,7 +135,14 @@ export const renderMsg = (text, useMathFormatting = false, reasoningText = 'Reas
98
135
  return placeholder;
99
136
  });
100
137
  preprocessedText = preprocessedText.replace(/(<!--OUTPUT_PLACEHOLDER_\d+-->)\s*([^\s<\n-])/g, '$1\n\n$2');
101
- let parsedText = marked.parse(preprocessedText).toString().trim();
138
+ preprocessedText = normalizeMarkdownMarkers(preprocessedText);
139
+ let parsedText = marked
140
+ .parse(preprocessedText, {
141
+ breaks: true,
142
+ walkTokens: renderMarkdownInHtmlBlocks,
143
+ })
144
+ .toString()
145
+ .trim();
102
146
  outputTags.forEach((tag, index) => {
103
147
  parsedText = parsedText.replace(`<!--OUTPUT_PLACEHOLDER_${index}-->`, tag);
104
148
  });
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/helpers/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/helpers/message.ts"],"names":[],"mappings":"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"}
package/esm/styles.css CHANGED
@@ -93,6 +93,9 @@ body.sb-show-main #root,
93
93
  --memori-inner-content-pad: 1rem;
94
94
  --memori-inner-bg: transparent;
95
95
  --memori-chat-bubble-bg: #fff;
96
+ --memori-chat-inputs-surface: #fff;
97
+ --memori-chat-inputs-disclaimer: rgba(0, 0, 0, 0.6);
98
+ --memori-chat-inputs-disclaimer-link: rgba(0, 0, 0, 0.8);
96
99
  --memori-chat-user-bubble-bg: var(--memori-primary);
97
100
  --memori-text-color: #000;
98
101
  --memori-border-radius: 8px;
@@ -114,10 +117,26 @@ body.sb-show-main #root,
114
117
  --memori-error-color: #ff4d4f;
115
118
  --memori-warning-color: #faad14;
116
119
 
120
+ /* Light UI. Stops forced dark modes from repainting text and native controls. */
121
+ color-scheme: only light;
117
122
  font-family: var(--memori-font-family, 'Lexend Deca Variable', 'Lexend Deca', sans-serif);
118
123
  font-size: 16px;
119
124
  }
120
125
 
126
+ /*
127
+ * No custom backdrop: keep a light surface so dark text stays readable when the host page goes dark.
128
+ * Floating layouts are excluded: their .memori-widget box is not the visible panel.
129
+ */
130
+ @media (prefers-color-scheme: dark) {
131
+ .memori-widget:not(.memori-layout-website_assistant, .memori-layout-hidden_chat):has(
132
+ .memori--global-background.no-background-image
133
+ ) {
134
+ background-color: var(--memori-chat-inputs-surface, #fff);
135
+ color: var(--memori-text-color, #000);
136
+ color-scheme: only light;
137
+ }
138
+ }
139
+
121
140
  @media (max-width: 768px) {
122
141
  .mobile-hidden {
123
142
  display: none;
package/esm/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "8.46.0";
1
+ export declare const version = "8.46.1";
package/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '8.46.0';
1
+ export const version = '8.46.1';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "8.46.0",
2
+ "version": "8.46.1",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -299,7 +299,7 @@
299
299
  "@react-three/drei": "8.20.2",
300
300
  "@react-three/fiber": "7.0.25",
301
301
  "classnames": "2.5.1",
302
- "dompurify": "^3.4.13",
302
+ "dompurify": "^3.4.16",
303
303
  "ellipsed": "1.6.0",
304
304
  "i18next": "22.0.6",
305
305
  "katex": "^0.16.11",