@zero-library/chat-copilot 3.1.2 → 3.1.3

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.
package/dist/index.cjs.js CHANGED
@@ -2289,16 +2289,16 @@ function preprocessCustomTagPayloads(content = "", payloadTagPattern) {
2289
2289
  payloadMap
2290
2290
  };
2291
2291
  }
2292
- var adaptMarkdownComponent = (Component, payloadMap = /* @__PURE__ */ new Map(), message2) => {
2292
+ var adaptMarkdownComponent = (Component, payloadMapRef, messageRef) => {
2293
2293
  const WrappedComponent = ({ children, streamStatus, ...rest }) => {
2294
- const rawData = resolveMappedMarkdownPayload(children, payloadMap);
2295
- return /* @__PURE__ */ jsxRuntime.jsx(Component, { message: message2, ...rest, data: rawData, loading: streamStatus === "loading" });
2294
+ const rawData = resolveMappedMarkdownPayload(children, payloadMapRef.current);
2295
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { message: messageRef.current, ...rest, data: rawData, loading: streamStatus === "loading" });
2296
2296
  };
2297
2297
  WrappedComponent.displayName = `AdaptedMarkdownComponent(${Component.displayName || Component.name || "Anonymous"})`;
2298
2298
  return WrappedComponent;
2299
2299
  };
2300
- var adaptMarkdownComponents = (components, payloadMap = /* @__PURE__ */ new Map(), message2) => Object.fromEntries(Object.entries(components ?? {}).map(([key, Component]) => [key, adaptMarkdownComponent(Component, payloadMap, message2)]));
2301
- var XMarkdown_default = ({ message: message2, components = {}, content = "", ...rest }) => {
2300
+ var adaptMarkdownComponents = (components, payloadMapRef, messageRef) => Object.fromEntries(Object.entries(components ?? {}).map(([key, Component]) => [key, adaptMarkdownComponent(Component, payloadMapRef, messageRef)]));
2301
+ var XMarkdown_default = React7.memo(({ message: message2, components = {}, content = "", ...rest }) => {
2302
2302
  const config = React7.useMemo(() => getMarkdownConfig(), []);
2303
2303
  const formattedContent = React7.useMemo(() => formatMixedContent(content), [content]);
2304
2304
  const newComponents = React7.useMemo(
@@ -2318,13 +2318,16 @@ var XMarkdown_default = ({ message: message2, components = {}, content = "", ...
2318
2318
  }),
2319
2319
  [components]
2320
2320
  );
2321
- const componentKeys = React7.useMemo(() => Object.keys(newComponents), [newComponents]);
2322
- const payloadTagPattern = React7.useMemo(() => componentKeys.join("|"), [componentKeys]);
2321
+ const payloadTagPattern = React7.useMemo(() => Object.keys(newComponents).join("|"), [newComponents]);
2323
2322
  const { content: processedContent, payloadMap } = React7.useMemo(
2324
2323
  () => preprocessCustomTagPayloads(formattedContent, payloadTagPattern),
2325
2324
  [formattedContent, payloadTagPattern]
2326
2325
  );
2327
- const markdownComponents = React7.useMemo(() => adaptMarkdownComponents(newComponents, payloadMap, message2), [componentKeys, message2, payloadMap]);
2326
+ const payloadMapRef = React7.useRef(payloadMap);
2327
+ const messageRef = React7.useRef(message2);
2328
+ payloadMapRef.current = payloadMap;
2329
+ messageRef.current = message2;
2330
+ const markdownComponents = React7.useMemo(() => adaptMarkdownComponents(newComponents, payloadMapRef, messageRef), [payloadTagPattern]);
2328
2331
  return /* @__PURE__ */ jsxRuntime.jsx(
2329
2332
  XMarkdown__default.default,
2330
2333
  {
@@ -2335,7 +2338,7 @@ var XMarkdown_default = ({ message: message2, components = {}, content = "", ...
2335
2338
  components: markdownComponents
2336
2339
  }
2337
2340
  );
2338
- };
2341
+ });
2339
2342
  var ReportViewer = ({ artifactId, title, payload }) => {
2340
2343
  const markdown = typeof payload?.markdown === "string" ? payload.markdown : null;
2341
2344
  if (!markdown) {
@@ -4153,7 +4156,7 @@ var BubbleListItems_default = ({
4153
4156
  welcomeMessage = true,
4154
4157
  avatar = { user: false, agent: true },
4155
4158
  agentActions = false,
4156
- customComponents = {}
4159
+ customComponents
4157
4160
  }) => {
4158
4161
  const chatStore = useChatStore();
4159
4162
  const agentState = valtio.useSnapshot(chatStore.agent);