@assistant-ui/react-markdown 0.7.14 → 0.7.15

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.
@@ -1,8 +1,7 @@
1
- import { ComponentRef, ElementType, ForwardRefExoticComponent, RefAttributes, type ComponentPropsWithoutRef, type ComponentType } from "react";
1
+ import { ElementType, ForwardRefExoticComponent, RefAttributes, type ComponentPropsWithoutRef, type ComponentType } from "react";
2
2
  import { type Options } from "react-markdown";
3
3
  import { SyntaxHighlighterProps, CodeHeaderProps } from "../overrides/types";
4
4
  import { Primitive } from "@radix-ui/react-primitive";
5
- type MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;
6
5
  type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
7
6
  export type MarkdownTextPrimitiveProps = Omit<Options, "components" | "children"> & {
8
7
  containerProps?: Omit<PrimitiveDivProps, "children" | "asChild"> | undefined;
@@ -21,6 +20,6 @@ export type MarkdownTextPrimitiveProps = Omit<Options, "components" | "children"
21
20
  }> | undefined;
22
21
  smooth?: boolean | undefined;
23
22
  };
24
- export declare const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> & RefAttributes<MarkdownTextPrimitiveElement>;
23
+ export declare const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> & RefAttributes<HTMLDivElement>;
25
24
  export {};
26
25
  //# sourceMappingURL=MarkdownText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../src/primitives/MarkdownText.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,yBAAyB,EACzB,aAAa,EAEb,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAsB,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAU7E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAKtD,KAAK,4BAA4B,GAAG,YAAY,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACvE,KAAK,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,OAAO,EACP,YAAY,GAAG,UAAU,CAC1B,GAAG;IACF,cAAc,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAC7E,kBAAkB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,EACP,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;QACpC,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;QACtE,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;QACxD;;YAEI;QACJ,WAAW,CAAC,EAAE,SAAS,CAAC;KACzB,CAAC,GACF,SAAS,CAAC;IACd,oBAAoB,CAAC,EACjB,MAAM,CACJ,MAAM,EACN;QACE,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;QACxD,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;KACvE,CACF,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,yBAAyB,CAAC,0BAA0B,CAAC,GACvF,aAAa,CAAC,4BAA4B,CAqE3C,CAAC"}
1
+ {"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../src/primitives/MarkdownText.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,WAAW,EAGX,yBAAyB,EACzB,aAAa,EAEb,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAsB,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAU7E,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAMtD,KAAK,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AAExE,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,OAAO,EACP,YAAY,GAAG,UAAU,CAC1B,GAAG;IACF,cAAc,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAC7E,kBAAkB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,EACP,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;QACpC,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;QACtE,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;QACxD;;YAEI;QACJ,WAAW,CAAC,EAAE,SAAS,CAAC;KACzB,CAAC,GACF,SAAS,CAAC;IACd,oBAAoB,CAAC,EACjB,MAAM,CACJ,MAAM,EACN;QACE,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;QACxD,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;KACvE,CACF,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,CAAC;AAqFF,eAAO,MAAM,qBAAqB,uFAEjC,CAAC"}
@@ -43,55 +43,61 @@ var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
43
43
  var import_CodeOverride = require("../overrides/CodeOverride.js");
44
44
  var import_classnames = __toESM(require("classnames"));
45
45
  var import_jsx_runtime = require("react/jsx-runtime");
46
- var { useSmooth } = import_react.INTERNAL;
47
- var MarkdownTextPrimitive = (0, import_react2.forwardRef)(
46
+ var { useSmooth, useSmoothStatus, withSmoothContextProvider } = import_react.INTERNAL;
47
+ var MarkdownTextInner = ({
48
+ components: userComponents,
49
+ componentsByLanguage = userComponents?.by_language,
50
+ smooth = true,
51
+ ...rest
52
+ }) => {
53
+ const { text } = useSmooth((0, import_react.useContentPartText)(), smooth);
54
+ const {
55
+ pre = import_defaultComponents.DefaultPre,
56
+ code = import_defaultComponents.DefaultCode,
57
+ SyntaxHighlighter = import_defaultComponents.DefaultCodeBlockContent,
58
+ CodeHeader = import_defaultComponents.DefaultCodeHeader
59
+ } = userComponents ?? {};
60
+ const useCodeOverrideComponents = (0, import_react2.useMemo)(() => {
61
+ return {
62
+ Pre: pre,
63
+ Code: code,
64
+ SyntaxHighlighter,
65
+ CodeHeader
66
+ };
67
+ }, [pre, code, SyntaxHighlighter, CodeHeader]);
68
+ const CodeComponent = (0, import_react_use_callback_ref.useCallbackRef)((props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
+ import_CodeOverride.CodeOverride,
70
+ {
71
+ components: useCodeOverrideComponents,
72
+ componentsByLanguage,
73
+ ...props
74
+ }
75
+ ));
76
+ const components = (0, import_react2.useMemo)(() => {
77
+ const {
78
+ pre: pre2 = import_defaultComponents.DefaultPre,
79
+ code: code2 = import_defaultComponents.DefaultCode,
80
+ SyntaxHighlighter: SyntaxHighlighter2 = import_defaultComponents.DefaultCodeBlockContent,
81
+ CodeHeader: CodeHeader2 = import_defaultComponents.DefaultCodeHeader,
82
+ by_language,
83
+ ...componentsRest
84
+ } = userComponents ?? {};
85
+ return {
86
+ ...componentsRest,
87
+ pre: import_PreOverride.PreOverride,
88
+ code: CodeComponent
89
+ };
90
+ }, [CodeComponent, userComponents, componentsByLanguage]);
91
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_markdown.default, { components, ...rest, children: text });
92
+ };
93
+ var MarkdownTextPrimitiveImpl = (0, import_react2.forwardRef)(
48
94
  ({
49
- components: userComponents,
50
- componentsByLanguage = userComponents?.by_language,
51
95
  className,
52
96
  containerProps,
53
97
  containerComponent: Container = "div",
54
- smooth = true,
55
98
  ...rest
56
99
  }, forwardedRef) => {
57
- const { text, status } = useSmooth((0, import_react.useContentPartText)(), smooth);
58
- const {
59
- pre = import_defaultComponents.DefaultPre,
60
- code = import_defaultComponents.DefaultCode,
61
- SyntaxHighlighter = import_defaultComponents.DefaultCodeBlockContent,
62
- CodeHeader = import_defaultComponents.DefaultCodeHeader
63
- } = userComponents ?? {};
64
- const useCodeOverrideComponents = (0, import_react2.useMemo)(() => {
65
- return {
66
- Pre: pre,
67
- Code: code,
68
- SyntaxHighlighter,
69
- CodeHeader
70
- };
71
- }, [pre, code, SyntaxHighlighter, CodeHeader]);
72
- const CodeComponent = (0, import_react_use_callback_ref.useCallbackRef)((props) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
73
- import_CodeOverride.CodeOverride,
74
- {
75
- components: useCodeOverrideComponents,
76
- componentsByLanguage,
77
- ...props
78
- }
79
- ));
80
- const components = (0, import_react2.useMemo)(() => {
81
- const {
82
- pre: pre2 = import_defaultComponents.DefaultPre,
83
- code: code2 = import_defaultComponents.DefaultCode,
84
- SyntaxHighlighter: SyntaxHighlighter2 = import_defaultComponents.DefaultCodeBlockContent,
85
- CodeHeader: CodeHeader2 = import_defaultComponents.DefaultCodeHeader,
86
- by_language,
87
- ...componentsRest
88
- } = userComponents ?? {};
89
- return {
90
- ...componentsRest,
91
- pre: import_PreOverride.PreOverride,
92
- code: CodeComponent
93
- };
94
- }, [CodeComponent, userComponents, componentsByLanguage]);
100
+ const status = useSmoothStatus();
95
101
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
96
102
  Container,
97
103
  {
@@ -99,12 +105,15 @@ var MarkdownTextPrimitive = (0, import_react2.forwardRef)(
99
105
  ...containerProps,
100
106
  className: (0, import_classnames.default)(className, containerProps?.className),
101
107
  ref: forwardedRef,
102
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_markdown.default, { components, ...rest, children: text })
108
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MarkdownTextInner, { ...rest })
103
109
  }
104
110
  );
105
111
  }
106
112
  );
107
- MarkdownTextPrimitive.displayName = "MarkdownTextPrimitive";
113
+ MarkdownTextPrimitiveImpl.displayName = "MarkdownTextPrimitive";
114
+ var MarkdownTextPrimitive = withSmoothContextProvider(
115
+ MarkdownTextPrimitiveImpl
116
+ );
108
117
  // Annotate the CommonJS export names for ESM import in node:
109
118
  0 && (module.exports = {
110
119
  MarkdownTextPrimitive
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/primitives/MarkdownText.tsx"],"sourcesContent":["\"use client\";\n\nimport { INTERNAL, useContentPartText } from \"@assistant-ui/react\";\nimport {\n ComponentRef,\n ElementType,\n forwardRef,\n ForwardRefExoticComponent,\n RefAttributes,\n useMemo,\n type ComponentPropsWithoutRef,\n type ComponentType,\n} from \"react\";\nimport ReactMarkdown, { type Options } from \"react-markdown\";\nimport { SyntaxHighlighterProps, CodeHeaderProps } from \"../overrides/types\";\nimport { PreOverride } from \"../overrides/PreOverride\";\nimport {\n DefaultPre,\n DefaultCode,\n DefaultCodeBlockContent,\n DefaultCodeHeader,\n} from \"../overrides/defaultComponents\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { CodeOverride } from \"../overrides/CodeOverride\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport classNames from \"classnames\";\n\nconst { useSmooth } = INTERNAL;\n\ntype MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport type MarkdownTextPrimitiveProps = Omit<\n Options,\n \"components\" | \"children\"\n> & {\n containerProps?: Omit<PrimitiveDivProps, \"children\" | \"asChild\"> | undefined;\n containerComponent?: ElementType | undefined;\n components?:\n | (NonNullable<Options[\"components\"]> & {\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n /**\n * @deprecated Use `componentsByLanguage` instead of `components.by_language`. This will be removed in the next major version.\n **/\n by_language?: undefined;\n })\n | undefined;\n componentsByLanguage?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n }\n >\n | undefined;\n smooth?: boolean | undefined;\n};\n\nexport const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &\n RefAttributes<MarkdownTextPrimitiveElement> = forwardRef<\n MarkdownTextPrimitiveElement,\n MarkdownTextPrimitiveProps\n>(\n (\n {\n components: userComponents,\n componentsByLanguage = userComponents?.by_language,\n className,\n containerProps,\n containerComponent: Container = \"div\",\n smooth = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const { text, status } = useSmooth(useContentPartText(), smooth);\n\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n } = userComponents ?? {};\n const useCodeOverrideComponents = useMemo(() => {\n return {\n Pre: pre,\n Code: code,\n SyntaxHighlighter,\n CodeHeader,\n };\n }, [pre, code, SyntaxHighlighter, CodeHeader]);\n const CodeComponent = useCallbackRef((props) => (\n <CodeOverride\n components={useCodeOverrideComponents}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n ));\n\n const components: Options[\"components\"] = useMemo(() => {\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n by_language,\n ...componentsRest\n } = userComponents ?? {};\n return {\n ...componentsRest,\n pre: PreOverride,\n code: CodeComponent,\n };\n }, [CodeComponent, userComponents, componentsByLanguage]);\n\n return (\n <Container\n data-status={status.type}\n {...containerProps}\n className={classNames(className, containerProps?.className)}\n ref={forwardedRef}\n >\n <ReactMarkdown components={components} {...rest}>\n {text}\n </ReactMarkdown>\n </Container>\n );\n },\n);\n\nMarkdownTextPrimitive.displayName = \"MarkdownTextPrimitive\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,IAAAA,gBASO;AACP,4BAA4C;AAE5C,yBAA4B;AAC5B,+BAKO;AACP,oCAA+B;AAC/B,0BAA6B;AAE7B,wBAAuB;AAqEjB;AAnEN,IAAM,EAAE,UAAU,IAAI;AAiCf,IAAM,4BACmC;AAAA,EAI9C,CACE;AAAA,IACE,YAAY;AAAA,IACZ,uBAAuB,gBAAgB;AAAA,IACvC;AAAA,IACA;AAAA,IACA,oBAAoB,YAAY;AAAA,IAChC,SAAS;AAAA,IACT,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,EAAE,MAAM,OAAO,IAAI,cAAU,iCAAmB,GAAG,MAAM;AAE/D,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,oBAAoB;AAAA,MACpB,aAAa;AAAA,IACf,IAAI,kBAAkB,CAAC;AACvB,UAAM,gCAA4B,uBAAQ,MAAM;AAC9C,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,IACF,GAAG,CAAC,KAAK,MAAM,mBAAmB,UAAU,CAAC;AAC7C,UAAM,oBAAgB,8CAAe,CAAC,UACpC;AAAA,MAAC;AAAA;AAAA,QACC,YAAY;AAAA,QACZ;AAAA,QACC,GAAG;AAAA;AAAA,IACN,CACD;AAED,UAAM,iBAAoC,uBAAQ,MAAM;AACtD,YAAM;AAAA,QACJ,KAAAC,OAAM;AAAA,QACN,MAAAC,QAAO;AAAA,QACP,mBAAAC,qBAAoB;AAAA,QACpB,YAAAC,cAAa;AAAA,QACb;AAAA,QACA,GAAG;AAAA,MACL,IAAI,kBAAkB,CAAC;AACvB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF,GAAG,CAAC,eAAe,gBAAgB,oBAAoB,CAAC;AAExD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,OAAO;AAAA,QACnB,GAAG;AAAA,QACJ,eAAW,kBAAAC,SAAW,WAAW,gBAAgB,SAAS;AAAA,QAC1D,KAAK;AAAA,QAEL,sDAAC,sBAAAC,SAAA,EAAc,YAAyB,GAAG,MACxC,gBACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,sBAAsB,cAAc;","names":["import_react","pre","code","SyntaxHighlighter","CodeHeader","classNames","ReactMarkdown"]}
1
+ {"version":3,"sources":["../../src/primitives/MarkdownText.tsx"],"sourcesContent":["\"use client\";\n\nimport { INTERNAL, useContentPartText } from \"@assistant-ui/react\";\nimport {\n ComponentRef,\n ElementType,\n FC,\n forwardRef,\n ForwardRefExoticComponent,\n RefAttributes,\n useMemo,\n type ComponentPropsWithoutRef,\n type ComponentType,\n} from \"react\";\nimport ReactMarkdown, { type Options } from \"react-markdown\";\nimport { SyntaxHighlighterProps, CodeHeaderProps } from \"../overrides/types\";\nimport { PreOverride } from \"../overrides/PreOverride\";\nimport {\n DefaultPre,\n DefaultCode,\n DefaultCodeBlockContent,\n DefaultCodeHeader,\n} from \"../overrides/defaultComponents\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { CodeOverride } from \"../overrides/CodeOverride\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport classNames from \"classnames\";\n\nconst { useSmooth, useSmoothStatus, withSmoothContextProvider } = INTERNAL;\n\ntype MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport type MarkdownTextPrimitiveProps = Omit<\n Options,\n \"components\" | \"children\"\n> & {\n containerProps?: Omit<PrimitiveDivProps, \"children\" | \"asChild\"> | undefined;\n containerComponent?: ElementType | undefined;\n components?:\n | (NonNullable<Options[\"components\"]> & {\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n /**\n * @deprecated Use `componentsByLanguage` instead of `components.by_language`. This will be removed in the next major version.\n **/\n by_language?: undefined;\n })\n | undefined;\n componentsByLanguage?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n }\n >\n | undefined;\n smooth?: boolean | undefined;\n};\n\nconst MarkdownTextInner: FC<MarkdownTextPrimitiveProps> = ({\n components: userComponents,\n componentsByLanguage = userComponents?.by_language,\n smooth = true,\n ...rest\n}) => {\n const { text } = useSmooth(useContentPartText(), smooth);\n\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n } = userComponents ?? {};\n const useCodeOverrideComponents = useMemo(() => {\n return {\n Pre: pre,\n Code: code,\n SyntaxHighlighter,\n CodeHeader,\n };\n }, [pre, code, SyntaxHighlighter, CodeHeader]);\n const CodeComponent = useCallbackRef((props) => (\n <CodeOverride\n components={useCodeOverrideComponents}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n ));\n\n const components: Options[\"components\"] = useMemo(() => {\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n by_language,\n ...componentsRest\n } = userComponents ?? {};\n return {\n ...componentsRest,\n pre: PreOverride,\n code: CodeComponent,\n };\n }, [CodeComponent, userComponents, componentsByLanguage]);\n\n return (\n <ReactMarkdown components={components} {...rest}>\n {text}\n </ReactMarkdown>\n );\n};\n\nconst MarkdownTextPrimitiveImpl: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &\n RefAttributes<MarkdownTextPrimitiveElement> = forwardRef<\n MarkdownTextPrimitiveElement,\n MarkdownTextPrimitiveProps\n>(\n (\n {\n className,\n containerProps,\n containerComponent: Container = \"div\",\n ...rest\n },\n forwardedRef,\n ) => {\n const status = useSmoothStatus();\n return (\n <Container\n data-status={status.type}\n {...containerProps}\n className={classNames(className, containerProps?.className)}\n ref={forwardedRef}\n >\n <MarkdownTextInner {...rest}></MarkdownTextInner>\n </Container>\n );\n },\n);\n\nMarkdownTextPrimitiveImpl.displayName = \"MarkdownTextPrimitive\";\n\nexport const MarkdownTextPrimitive = withSmoothContextProvider(\n MarkdownTextPrimitiveImpl,\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,IAAAA,gBAUO;AACP,4BAA4C;AAE5C,yBAA4B;AAC5B,+BAKO;AACP,oCAA+B;AAC/B,0BAA6B;AAE7B,wBAAuB;AA0DnB;AAxDJ,IAAM,EAAE,WAAW,iBAAiB,0BAA0B,IAAI;AAiClE,IAAM,oBAAoD,CAAC;AAAA,EACzD,YAAY;AAAA,EACZ,uBAAuB,gBAAgB;AAAA,EACvC,SAAS;AAAA,EACT,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,KAAK,IAAI,cAAU,iCAAmB,GAAG,MAAM;AAEvD,QAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,oBAAoB;AAAA,IACpB,aAAa;AAAA,EACf,IAAI,kBAAkB,CAAC;AACvB,QAAM,gCAA4B,uBAAQ,MAAM;AAC9C,WAAO;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,MAAM,mBAAmB,UAAU,CAAC;AAC7C,QAAM,oBAAgB,8CAAe,CAAC,UACpC;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,MACZ;AAAA,MACC,GAAG;AAAA;AAAA,EACN,CACD;AAED,QAAM,iBAAoC,uBAAQ,MAAM;AACtD,UAAM;AAAA,MACJ,KAAAC,OAAM;AAAA,MACN,MAAAC,QAAO;AAAA,MACP,mBAAAC,qBAAoB;AAAA,MACpB,YAAAC,cAAa;AAAA,MACb;AAAA,MACA,GAAG;AAAA,IACL,IAAI,kBAAkB,CAAC;AACvB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,eAAe,gBAAgB,oBAAoB,CAAC;AAExD,SACE,4CAAC,sBAAAC,SAAA,EAAc,YAAyB,GAAG,MACxC,gBACH;AAEJ;AAEA,IAAM,gCAC0C;AAAA,EAI9C,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,oBAAoB,YAAY;AAAA,IAChC,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,SAAS,gBAAgB;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,OAAO;AAAA,QACnB,GAAG;AAAA,QACJ,eAAW,kBAAAC,SAAW,WAAW,gBAAgB,SAAS;AAAA,QAC1D,KAAK;AAAA,QAEL,sDAAC,qBAAmB,GAAG,MAAM;AAAA;AAAA,IAC/B;AAAA,EAEJ;AACF;AAEA,0BAA0B,cAAc;AAEjC,IAAM,wBAAwB;AAAA,EACnC;AACF;","names":["import_react","pre","code","SyntaxHighlighter","CodeHeader","ReactMarkdown","classNames"]}
@@ -18,55 +18,61 @@ import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
18
18
  import { CodeOverride } from "../overrides/CodeOverride.mjs";
19
19
  import classNames from "classnames";
20
20
  import { jsx } from "react/jsx-runtime";
21
- var { useSmooth } = INTERNAL;
22
- var MarkdownTextPrimitive = forwardRef(
21
+ var { useSmooth, useSmoothStatus, withSmoothContextProvider } = INTERNAL;
22
+ var MarkdownTextInner = ({
23
+ components: userComponents,
24
+ componentsByLanguage = userComponents?.by_language,
25
+ smooth = true,
26
+ ...rest
27
+ }) => {
28
+ const { text } = useSmooth(useContentPartText(), smooth);
29
+ const {
30
+ pre = DefaultPre,
31
+ code = DefaultCode,
32
+ SyntaxHighlighter = DefaultCodeBlockContent,
33
+ CodeHeader = DefaultCodeHeader
34
+ } = userComponents ?? {};
35
+ const useCodeOverrideComponents = useMemo(() => {
36
+ return {
37
+ Pre: pre,
38
+ Code: code,
39
+ SyntaxHighlighter,
40
+ CodeHeader
41
+ };
42
+ }, [pre, code, SyntaxHighlighter, CodeHeader]);
43
+ const CodeComponent = useCallbackRef((props) => /* @__PURE__ */ jsx(
44
+ CodeOverride,
45
+ {
46
+ components: useCodeOverrideComponents,
47
+ componentsByLanguage,
48
+ ...props
49
+ }
50
+ ));
51
+ const components = useMemo(() => {
52
+ const {
53
+ pre: pre2 = DefaultPre,
54
+ code: code2 = DefaultCode,
55
+ SyntaxHighlighter: SyntaxHighlighter2 = DefaultCodeBlockContent,
56
+ CodeHeader: CodeHeader2 = DefaultCodeHeader,
57
+ by_language,
58
+ ...componentsRest
59
+ } = userComponents ?? {};
60
+ return {
61
+ ...componentsRest,
62
+ pre: PreOverride,
63
+ code: CodeComponent
64
+ };
65
+ }, [CodeComponent, userComponents, componentsByLanguage]);
66
+ return /* @__PURE__ */ jsx(ReactMarkdown, { components, ...rest, children: text });
67
+ };
68
+ var MarkdownTextPrimitiveImpl = forwardRef(
23
69
  ({
24
- components: userComponents,
25
- componentsByLanguage = userComponents?.by_language,
26
70
  className,
27
71
  containerProps,
28
72
  containerComponent: Container = "div",
29
- smooth = true,
30
73
  ...rest
31
74
  }, forwardedRef) => {
32
- const { text, status } = useSmooth(useContentPartText(), smooth);
33
- const {
34
- pre = DefaultPre,
35
- code = DefaultCode,
36
- SyntaxHighlighter = DefaultCodeBlockContent,
37
- CodeHeader = DefaultCodeHeader
38
- } = userComponents ?? {};
39
- const useCodeOverrideComponents = useMemo(() => {
40
- return {
41
- Pre: pre,
42
- Code: code,
43
- SyntaxHighlighter,
44
- CodeHeader
45
- };
46
- }, [pre, code, SyntaxHighlighter, CodeHeader]);
47
- const CodeComponent = useCallbackRef((props) => /* @__PURE__ */ jsx(
48
- CodeOverride,
49
- {
50
- components: useCodeOverrideComponents,
51
- componentsByLanguage,
52
- ...props
53
- }
54
- ));
55
- const components = useMemo(() => {
56
- const {
57
- pre: pre2 = DefaultPre,
58
- code: code2 = DefaultCode,
59
- SyntaxHighlighter: SyntaxHighlighter2 = DefaultCodeBlockContent,
60
- CodeHeader: CodeHeader2 = DefaultCodeHeader,
61
- by_language,
62
- ...componentsRest
63
- } = userComponents ?? {};
64
- return {
65
- ...componentsRest,
66
- pre: PreOverride,
67
- code: CodeComponent
68
- };
69
- }, [CodeComponent, userComponents, componentsByLanguage]);
75
+ const status = useSmoothStatus();
70
76
  return /* @__PURE__ */ jsx(
71
77
  Container,
72
78
  {
@@ -74,12 +80,15 @@ var MarkdownTextPrimitive = forwardRef(
74
80
  ...containerProps,
75
81
  className: classNames(className, containerProps?.className),
76
82
  ref: forwardedRef,
77
- children: /* @__PURE__ */ jsx(ReactMarkdown, { components, ...rest, children: text })
83
+ children: /* @__PURE__ */ jsx(MarkdownTextInner, { ...rest })
78
84
  }
79
85
  );
80
86
  }
81
87
  );
82
- MarkdownTextPrimitive.displayName = "MarkdownTextPrimitive";
88
+ MarkdownTextPrimitiveImpl.displayName = "MarkdownTextPrimitive";
89
+ var MarkdownTextPrimitive = withSmoothContextProvider(
90
+ MarkdownTextPrimitiveImpl
91
+ );
83
92
  export {
84
93
  MarkdownTextPrimitive
85
94
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/primitives/MarkdownText.tsx"],"sourcesContent":["\"use client\";\n\nimport { INTERNAL, useContentPartText } from \"@assistant-ui/react\";\nimport {\n ComponentRef,\n ElementType,\n forwardRef,\n ForwardRefExoticComponent,\n RefAttributes,\n useMemo,\n type ComponentPropsWithoutRef,\n type ComponentType,\n} from \"react\";\nimport ReactMarkdown, { type Options } from \"react-markdown\";\nimport { SyntaxHighlighterProps, CodeHeaderProps } from \"../overrides/types\";\nimport { PreOverride } from \"../overrides/PreOverride\";\nimport {\n DefaultPre,\n DefaultCode,\n DefaultCodeBlockContent,\n DefaultCodeHeader,\n} from \"../overrides/defaultComponents\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { CodeOverride } from \"../overrides/CodeOverride\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport classNames from \"classnames\";\n\nconst { useSmooth } = INTERNAL;\n\ntype MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport type MarkdownTextPrimitiveProps = Omit<\n Options,\n \"components\" | \"children\"\n> & {\n containerProps?: Omit<PrimitiveDivProps, \"children\" | \"asChild\"> | undefined;\n containerComponent?: ElementType | undefined;\n components?:\n | (NonNullable<Options[\"components\"]> & {\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n /**\n * @deprecated Use `componentsByLanguage` instead of `components.by_language`. This will be removed in the next major version.\n **/\n by_language?: undefined;\n })\n | undefined;\n componentsByLanguage?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n }\n >\n | undefined;\n smooth?: boolean | undefined;\n};\n\nexport const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &\n RefAttributes<MarkdownTextPrimitiveElement> = forwardRef<\n MarkdownTextPrimitiveElement,\n MarkdownTextPrimitiveProps\n>(\n (\n {\n components: userComponents,\n componentsByLanguage = userComponents?.by_language,\n className,\n containerProps,\n containerComponent: Container = \"div\",\n smooth = true,\n ...rest\n },\n forwardedRef,\n ) => {\n const { text, status } = useSmooth(useContentPartText(), smooth);\n\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n } = userComponents ?? {};\n const useCodeOverrideComponents = useMemo(() => {\n return {\n Pre: pre,\n Code: code,\n SyntaxHighlighter,\n CodeHeader,\n };\n }, [pre, code, SyntaxHighlighter, CodeHeader]);\n const CodeComponent = useCallbackRef((props) => (\n <CodeOverride\n components={useCodeOverrideComponents}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n ));\n\n const components: Options[\"components\"] = useMemo(() => {\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n by_language,\n ...componentsRest\n } = userComponents ?? {};\n return {\n ...componentsRest,\n pre: PreOverride,\n code: CodeComponent,\n };\n }, [CodeComponent, userComponents, componentsByLanguage]);\n\n return (\n <Container\n data-status={status.type}\n {...containerProps}\n className={classNames(className, containerProps?.className)}\n ref={forwardedRef}\n >\n <ReactMarkdown components={components} {...rest}>\n {text}\n </ReactMarkdown>\n </Container>\n );\n },\n);\n\nMarkdownTextPrimitive.displayName = \"MarkdownTextPrimitive\";\n"],"mappings":";;;AAEA,SAAS,UAAU,0BAA0B;AAC7C;AAAA,EAGE;AAAA,EAGA;AAAA,OAGK;AACP,OAAO,mBAAqC;AAE5C,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAE7B,OAAO,gBAAgB;AAqEjB;AAnEN,IAAM,EAAE,UAAU,IAAI;AAiCf,IAAM,wBACmC;AAAA,EAI9C,CACE;AAAA,IACE,YAAY;AAAA,IACZ,uBAAuB,gBAAgB;AAAA,IACvC;AAAA,IACA;AAAA,IACA,oBAAoB,YAAY;AAAA,IAChC,SAAS;AAAA,IACT,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,EAAE,MAAM,OAAO,IAAI,UAAU,mBAAmB,GAAG,MAAM;AAE/D,UAAM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,oBAAoB;AAAA,MACpB,aAAa;AAAA,IACf,IAAI,kBAAkB,CAAC;AACvB,UAAM,4BAA4B,QAAQ,MAAM;AAC9C,aAAO;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,IACF,GAAG,CAAC,KAAK,MAAM,mBAAmB,UAAU,CAAC;AAC7C,UAAM,gBAAgB,eAAe,CAAC,UACpC;AAAA,MAAC;AAAA;AAAA,QACC,YAAY;AAAA,QACZ;AAAA,QACC,GAAG;AAAA;AAAA,IACN,CACD;AAED,UAAM,aAAoC,QAAQ,MAAM;AACtD,YAAM;AAAA,QACJ,KAAAA,OAAM;AAAA,QACN,MAAAC,QAAO;AAAA,QACP,mBAAAC,qBAAoB;AAAA,QACpB,YAAAC,cAAa;AAAA,QACb;AAAA,QACA,GAAG;AAAA,MACL,IAAI,kBAAkB,CAAC;AACvB,aAAO;AAAA,QACL,GAAG;AAAA,QACH,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF,GAAG,CAAC,eAAe,gBAAgB,oBAAoB,CAAC;AAExD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,OAAO;AAAA,QACnB,GAAG;AAAA,QACJ,WAAW,WAAW,WAAW,gBAAgB,SAAS;AAAA,QAC1D,KAAK;AAAA,QAEL,8BAAC,iBAAc,YAAyB,GAAG,MACxC,gBACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,sBAAsB,cAAc;","names":["pre","code","SyntaxHighlighter","CodeHeader"]}
1
+ {"version":3,"sources":["../../src/primitives/MarkdownText.tsx"],"sourcesContent":["\"use client\";\n\nimport { INTERNAL, useContentPartText } from \"@assistant-ui/react\";\nimport {\n ComponentRef,\n ElementType,\n FC,\n forwardRef,\n ForwardRefExoticComponent,\n RefAttributes,\n useMemo,\n type ComponentPropsWithoutRef,\n type ComponentType,\n} from \"react\";\nimport ReactMarkdown, { type Options } from \"react-markdown\";\nimport { SyntaxHighlighterProps, CodeHeaderProps } from \"../overrides/types\";\nimport { PreOverride } from \"../overrides/PreOverride\";\nimport {\n DefaultPre,\n DefaultCode,\n DefaultCodeBlockContent,\n DefaultCodeHeader,\n} from \"../overrides/defaultComponents\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { CodeOverride } from \"../overrides/CodeOverride\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport classNames from \"classnames\";\n\nconst { useSmooth, useSmoothStatus, withSmoothContextProvider } = INTERNAL;\n\ntype MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;\n\nexport type MarkdownTextPrimitiveProps = Omit<\n Options,\n \"components\" | \"children\"\n> & {\n containerProps?: Omit<PrimitiveDivProps, \"children\" | \"asChild\"> | undefined;\n containerComponent?: ElementType | undefined;\n components?:\n | (NonNullable<Options[\"components\"]> & {\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n /**\n * @deprecated Use `componentsByLanguage` instead of `components.by_language`. This will be removed in the next major version.\n **/\n by_language?: undefined;\n })\n | undefined;\n componentsByLanguage?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps> | undefined;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;\n }\n >\n | undefined;\n smooth?: boolean | undefined;\n};\n\nconst MarkdownTextInner: FC<MarkdownTextPrimitiveProps> = ({\n components: userComponents,\n componentsByLanguage = userComponents?.by_language,\n smooth = true,\n ...rest\n}) => {\n const { text } = useSmooth(useContentPartText(), smooth);\n\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n } = userComponents ?? {};\n const useCodeOverrideComponents = useMemo(() => {\n return {\n Pre: pre,\n Code: code,\n SyntaxHighlighter,\n CodeHeader,\n };\n }, [pre, code, SyntaxHighlighter, CodeHeader]);\n const CodeComponent = useCallbackRef((props) => (\n <CodeOverride\n components={useCodeOverrideComponents}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n ));\n\n const components: Options[\"components\"] = useMemo(() => {\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n by_language,\n ...componentsRest\n } = userComponents ?? {};\n return {\n ...componentsRest,\n pre: PreOverride,\n code: CodeComponent,\n };\n }, [CodeComponent, userComponents, componentsByLanguage]);\n\n return (\n <ReactMarkdown components={components} {...rest}>\n {text}\n </ReactMarkdown>\n );\n};\n\nconst MarkdownTextPrimitiveImpl: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &\n RefAttributes<MarkdownTextPrimitiveElement> = forwardRef<\n MarkdownTextPrimitiveElement,\n MarkdownTextPrimitiveProps\n>(\n (\n {\n className,\n containerProps,\n containerComponent: Container = \"div\",\n ...rest\n },\n forwardedRef,\n ) => {\n const status = useSmoothStatus();\n return (\n <Container\n data-status={status.type}\n {...containerProps}\n className={classNames(className, containerProps?.className)}\n ref={forwardedRef}\n >\n <MarkdownTextInner {...rest}></MarkdownTextInner>\n </Container>\n );\n },\n);\n\nMarkdownTextPrimitiveImpl.displayName = \"MarkdownTextPrimitive\";\n\nexport const MarkdownTextPrimitive = withSmoothContextProvider(\n MarkdownTextPrimitiveImpl,\n);\n"],"mappings":";;;AAEA,SAAS,UAAU,0BAA0B;AAC7C;AAAA,EAIE;AAAA,EAGA;AAAA,OAGK;AACP,OAAO,mBAAqC;AAE5C,SAAS,mBAAmB;AAC5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAE7B,OAAO,gBAAgB;AA0DnB;AAxDJ,IAAM,EAAE,WAAW,iBAAiB,0BAA0B,IAAI;AAiClE,IAAM,oBAAoD,CAAC;AAAA,EACzD,YAAY;AAAA,EACZ,uBAAuB,gBAAgB;AAAA,EACvC,SAAS;AAAA,EACT,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,KAAK,IAAI,UAAU,mBAAmB,GAAG,MAAM;AAEvD,QAAM;AAAA,IACJ,MAAM;AAAA,IACN,OAAO;AAAA,IACP,oBAAoB;AAAA,IACpB,aAAa;AAAA,EACf,IAAI,kBAAkB,CAAC;AACvB,QAAM,4BAA4B,QAAQ,MAAM;AAC9C,WAAO;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,MAAM,mBAAmB,UAAU,CAAC;AAC7C,QAAM,gBAAgB,eAAe,CAAC,UACpC;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,MACZ;AAAA,MACC,GAAG;AAAA;AAAA,EACN,CACD;AAED,QAAM,aAAoC,QAAQ,MAAM;AACtD,UAAM;AAAA,MACJ,KAAAA,OAAM;AAAA,MACN,MAAAC,QAAO;AAAA,MACP,mBAAAC,qBAAoB;AAAA,MACpB,YAAAC,cAAa;AAAA,MACb;AAAA,MACA,GAAG;AAAA,IACL,IAAI,kBAAkB,CAAC;AACvB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAAA,EACF,GAAG,CAAC,eAAe,gBAAgB,oBAAoB,CAAC;AAExD,SACE,oBAAC,iBAAc,YAAyB,GAAG,MACxC,gBACH;AAEJ;AAEA,IAAM,4BAC0C;AAAA,EAI9C,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,oBAAoB,YAAY;AAAA,IAChC,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,SAAS,gBAAgB;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAa,OAAO;AAAA,QACnB,GAAG;AAAA,QACJ,WAAW,WAAW,WAAW,gBAAgB,SAAS;AAAA,QAC1D,KAAK;AAAA,QAEL,8BAAC,qBAAmB,GAAG,MAAM;AAAA;AAAA,IAC/B;AAAA,EAEJ;AACF;AAEA,0BAA0B,cAAc;AAEjC,IAAM,wBAAwB;AAAA,EACnC;AACF;","names":["pre","code","SyntaxHighlighter","CodeHeader"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@assistant-ui/react-markdown",
3
- "version": "0.7.14",
3
+ "version": "0.7.15",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {
@@ -41,7 +41,7 @@
41
41
  "react-markdown": "^9.0.3"
42
42
  },
43
43
  "peerDependencies": {
44
- "@assistant-ui/react": "^0.7.61",
44
+ "@assistant-ui/react": "^0.7.62",
45
45
  "@types/react": "*",
46
46
  "react": "^18 || ^19 || ^19.0.0-rc",
47
47
  "tailwindcss": "^3.4.4"
@@ -65,10 +65,10 @@
65
65
  "tailwindcss": "^3.4.17",
66
66
  "tailwindcss-animate": "^1.0.7",
67
67
  "tsx": "^4.19.2",
68
- "@assistant-ui/react": "0.7.61",
68
+ "@assistant-ui/react": "0.7.62",
69
69
  "@assistant-ui/tailwindcss-transformer": "0.1.0",
70
- "@assistant-ui/tsconfig": "0.0.0",
71
- "@assistant-ui/tsbuildutils": "^0.0.1"
70
+ "@assistant-ui/tsbuildutils": "^0.0.1",
71
+ "@assistant-ui/tsconfig": "0.0.0"
72
72
  },
73
73
  "publishConfig": {
74
74
  "access": "public",
@@ -4,6 +4,7 @@ import { INTERNAL, useContentPartText } from "@assistant-ui/react";
4
4
  import {
5
5
  ComponentRef,
6
6
  ElementType,
7
+ FC,
7
8
  forwardRef,
8
9
  ForwardRefExoticComponent,
9
10
  RefAttributes,
@@ -25,7 +26,7 @@ import { CodeOverride } from "../overrides/CodeOverride";
25
26
  import { Primitive } from "@radix-ui/react-primitive";
26
27
  import classNames from "classnames";
27
28
 
28
- const { useSmooth } = INTERNAL;
29
+ const { useSmooth, useSmoothStatus, withSmoothContextProvider } = INTERNAL;
29
30
 
30
31
  type MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;
31
32
  type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
@@ -58,63 +59,74 @@ export type MarkdownTextPrimitiveProps = Omit<
58
59
  smooth?: boolean | undefined;
59
60
  };
60
61
 
61
- export const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &
62
+ const MarkdownTextInner: FC<MarkdownTextPrimitiveProps> = ({
63
+ components: userComponents,
64
+ componentsByLanguage = userComponents?.by_language,
65
+ smooth = true,
66
+ ...rest
67
+ }) => {
68
+ const { text } = useSmooth(useContentPartText(), smooth);
69
+
70
+ const {
71
+ pre = DefaultPre,
72
+ code = DefaultCode,
73
+ SyntaxHighlighter = DefaultCodeBlockContent,
74
+ CodeHeader = DefaultCodeHeader,
75
+ } = userComponents ?? {};
76
+ const useCodeOverrideComponents = useMemo(() => {
77
+ return {
78
+ Pre: pre,
79
+ Code: code,
80
+ SyntaxHighlighter,
81
+ CodeHeader,
82
+ };
83
+ }, [pre, code, SyntaxHighlighter, CodeHeader]);
84
+ const CodeComponent = useCallbackRef((props) => (
85
+ <CodeOverride
86
+ components={useCodeOverrideComponents}
87
+ componentsByLanguage={componentsByLanguage}
88
+ {...props}
89
+ />
90
+ ));
91
+
92
+ const components: Options["components"] = useMemo(() => {
93
+ const {
94
+ pre = DefaultPre,
95
+ code = DefaultCode,
96
+ SyntaxHighlighter = DefaultCodeBlockContent,
97
+ CodeHeader = DefaultCodeHeader,
98
+ by_language,
99
+ ...componentsRest
100
+ } = userComponents ?? {};
101
+ return {
102
+ ...componentsRest,
103
+ pre: PreOverride,
104
+ code: CodeComponent,
105
+ };
106
+ }, [CodeComponent, userComponents, componentsByLanguage]);
107
+
108
+ return (
109
+ <ReactMarkdown components={components} {...rest}>
110
+ {text}
111
+ </ReactMarkdown>
112
+ );
113
+ };
114
+
115
+ const MarkdownTextPrimitiveImpl: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &
62
116
  RefAttributes<MarkdownTextPrimitiveElement> = forwardRef<
63
117
  MarkdownTextPrimitiveElement,
64
118
  MarkdownTextPrimitiveProps
65
119
  >(
66
120
  (
67
121
  {
68
- components: userComponents,
69
- componentsByLanguage = userComponents?.by_language,
70
122
  className,
71
123
  containerProps,
72
124
  containerComponent: Container = "div",
73
- smooth = true,
74
125
  ...rest
75
126
  },
76
127
  forwardedRef,
77
128
  ) => {
78
- const { text, status } = useSmooth(useContentPartText(), smooth);
79
-
80
- const {
81
- pre = DefaultPre,
82
- code = DefaultCode,
83
- SyntaxHighlighter = DefaultCodeBlockContent,
84
- CodeHeader = DefaultCodeHeader,
85
- } = userComponents ?? {};
86
- const useCodeOverrideComponents = useMemo(() => {
87
- return {
88
- Pre: pre,
89
- Code: code,
90
- SyntaxHighlighter,
91
- CodeHeader,
92
- };
93
- }, [pre, code, SyntaxHighlighter, CodeHeader]);
94
- const CodeComponent = useCallbackRef((props) => (
95
- <CodeOverride
96
- components={useCodeOverrideComponents}
97
- componentsByLanguage={componentsByLanguage}
98
- {...props}
99
- />
100
- ));
101
-
102
- const components: Options["components"] = useMemo(() => {
103
- const {
104
- pre = DefaultPre,
105
- code = DefaultCode,
106
- SyntaxHighlighter = DefaultCodeBlockContent,
107
- CodeHeader = DefaultCodeHeader,
108
- by_language,
109
- ...componentsRest
110
- } = userComponents ?? {};
111
- return {
112
- ...componentsRest,
113
- pre: PreOverride,
114
- code: CodeComponent,
115
- };
116
- }, [CodeComponent, userComponents, componentsByLanguage]);
117
-
129
+ const status = useSmoothStatus();
118
130
  return (
119
131
  <Container
120
132
  data-status={status.type}
@@ -122,12 +134,14 @@ export const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimit
122
134
  className={classNames(className, containerProps?.className)}
123
135
  ref={forwardedRef}
124
136
  >
125
- <ReactMarkdown components={components} {...rest}>
126
- {text}
127
- </ReactMarkdown>
137
+ <MarkdownTextInner {...rest}></MarkdownTextInner>
128
138
  </Container>
129
139
  );
130
140
  },
131
141
  );
132
142
 
133
- MarkdownTextPrimitive.displayName = "MarkdownTextPrimitive";
143
+ MarkdownTextPrimitiveImpl.displayName = "MarkdownTextPrimitive";
144
+
145
+ export const MarkdownTextPrimitive = withSmoothContextProvider(
146
+ MarkdownTextPrimitiveImpl,
147
+ );