@assistant-ui/react-markdown 0.7.3 → 0.7.5
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.js +4 -4
- package/dist/overrides/CodeBlock.d.ts +2 -0
- package/dist/overrides/CodeBlock.d.ts.map +1 -1
- package/dist/overrides/CodeBlock.js +5 -3
- package/dist/overrides/CodeBlock.js.map +1 -1
- package/dist/overrides/CodeBlock.mjs +4 -2
- package/dist/overrides/CodeBlock.mjs.map +1 -1
- package/dist/overrides/CodeOverride.d.ts +4 -4
- package/dist/overrides/CodeOverride.d.ts.map +1 -1
- package/dist/overrides/CodeOverride.js +13 -10
- package/dist/overrides/CodeOverride.js.map +1 -1
- package/dist/overrides/CodeOverride.mjs +9 -6
- package/dist/overrides/CodeOverride.mjs.map +1 -1
- package/dist/overrides/PreOverride.d.ts +3 -2
- package/dist/overrides/PreOverride.d.ts.map +1 -1
- package/dist/overrides/defaultComponents.d.ts +2 -0
- package/dist/overrides/defaultComponents.d.ts.map +1 -1
- package/dist/overrides/defaultComponents.js +1 -1
- package/dist/overrides/defaultComponents.js.map +1 -1
- package/dist/overrides/defaultComponents.mjs +1 -1
- package/dist/overrides/defaultComponents.mjs.map +1 -1
- package/dist/overrides/types.d.ts +8 -3
- package/dist/overrides/types.d.ts.map +1 -1
- package/dist/overrides/types.js.map +1 -1
- package/dist/primitives/MarkdownText.d.ts +17 -13
- package/dist/primitives/MarkdownText.d.ts.map +1 -1
- package/dist/primitives/MarkdownText.js +6 -5
- package/dist/primitives/MarkdownText.js.map +1 -1
- package/dist/primitives/MarkdownText.mjs +3 -2
- package/dist/primitives/MarkdownText.mjs.map +1 -1
- package/dist/ui/code-header.js +1 -1
- package/dist/ui/markdown-text.js +3 -3
- package/package.json +11 -10
- package/src/overrides/CodeBlock.tsx +4 -0
- package/src/overrides/CodeOverride.tsx +15 -11
- package/src/overrides/defaultComponents.tsx +5 -3
- package/src/overrides/types.ts +6 -5
- package/src/primitives/MarkdownText.tsx +26 -17
package/dist/index.js
CHANGED
|
@@ -26,10 +26,10 @@ __export(src_exports, {
|
|
|
26
26
|
useIsMarkdownCodeBlock: () => import_PreOverride.useIsMarkdownCodeBlock
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(src_exports);
|
|
29
|
-
var import_MarkdownText = require("./primitives/MarkdownText.
|
|
30
|
-
var import_PreOverride = require("./overrides/PreOverride.
|
|
31
|
-
var import_markdown_text = require("./ui/markdown-text.
|
|
32
|
-
var import_code_header = require("./ui/code-header.
|
|
29
|
+
var import_MarkdownText = require("./primitives/MarkdownText.js");
|
|
30
|
+
var import_PreOverride = require("./overrides/PreOverride.js");
|
|
31
|
+
var import_markdown_text = require("./ui/markdown-text.js");
|
|
32
|
+
var import_code_header = require("./ui/code-header.js");
|
|
33
33
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
34
|
0 && (module.exports = {
|
|
35
35
|
CodeHeader,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ComponentType, FC } from "react";
|
|
2
2
|
import { CodeComponent, CodeHeaderProps, PreComponent, SyntaxHighlighterProps } from "./types";
|
|
3
|
+
import { Element } from "hast";
|
|
3
4
|
export type CodeBlockProps = {
|
|
4
5
|
language: string;
|
|
5
6
|
code: string;
|
|
@@ -9,6 +10,7 @@ export type CodeBlockProps = {
|
|
|
9
10
|
CodeHeader: ComponentType<CodeHeaderProps>;
|
|
10
11
|
SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;
|
|
11
12
|
};
|
|
13
|
+
node: Element;
|
|
12
14
|
};
|
|
13
15
|
export declare const DefaultCodeBlock: FC<CodeBlockProps>;
|
|
14
16
|
//# sourceMappingURL=CodeBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/overrides/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAEnD,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/overrides/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAEnD,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,GAAG,EAAE,YAAY,CAAC;QAClB,IAAI,EAAE,aAAa,CAAC;QACpB,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC3C,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;KAC1D,CAAC;IACF,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAqB/C,CAAC"}
|
|
@@ -24,12 +24,13 @@ __export(CodeBlock_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(CodeBlock_exports);
|
|
26
26
|
var import_react = require("react");
|
|
27
|
-
var import_defaultComponents = require("./defaultComponents.
|
|
27
|
+
var import_defaultComponents = require("./defaultComponents.js");
|
|
28
28
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
29
|
var DefaultCodeBlock = ({
|
|
30
30
|
components: { Pre, Code, SyntaxHighlighter, CodeHeader },
|
|
31
31
|
language,
|
|
32
|
-
code
|
|
32
|
+
code,
|
|
33
|
+
node
|
|
33
34
|
}) => {
|
|
34
35
|
const components = (0, import_react.useMemo)(() => ({ Pre, Code }), [Pre, Code]);
|
|
35
36
|
const SH = !!language ? SyntaxHighlighter : import_defaultComponents.DefaultCodeBlockContent;
|
|
@@ -40,7 +41,8 @@ var DefaultCodeBlock = ({
|
|
|
40
41
|
{
|
|
41
42
|
components,
|
|
42
43
|
language: language ?? "unknown",
|
|
43
|
-
code
|
|
44
|
+
code,
|
|
45
|
+
node
|
|
44
46
|
}
|
|
45
47
|
)
|
|
46
48
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/CodeBlock.tsx"],"sourcesContent":["import { ComponentType, FC, useMemo } from \"react\";\n\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\n\nexport type CodeBlockProps = {\n language: string;\n code: string;\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n CodeHeader: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;\n };\n};\n\nexport const DefaultCodeBlock: FC<CodeBlockProps> = ({\n components: { Pre, Code, SyntaxHighlighter, CodeHeader },\n language,\n code,\n}) => {\n const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);\n\n const SH = !!language ? SyntaxHighlighter : DefaultCodeBlockContent;\n\n return (\n <>\n <CodeHeader language={language} code={code} />\n <SH\n components={components}\n language={language ?? \"unknown\"}\n code={code}\n />\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2C;AAQ3C,+BAAwC;
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/CodeBlock.tsx"],"sourcesContent":["import { ComponentType, FC, useMemo } from \"react\";\n\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\nimport { Element } from \"hast\";\n\nexport type CodeBlockProps = {\n language: string;\n code: string;\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n CodeHeader: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;\n };\n node: Element;\n};\n\nexport const DefaultCodeBlock: FC<CodeBlockProps> = ({\n components: { Pre, Code, SyntaxHighlighter, CodeHeader },\n language,\n code,\n node,\n}) => {\n const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);\n\n const SH = !!language ? SyntaxHighlighter : DefaultCodeBlockContent;\n\n return (\n <>\n <CodeHeader language={language} code={code} />\n <SH\n components={components}\n language={language ?? \"unknown\"}\n code={code}\n node={node}\n />\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2C;AAQ3C,+BAAwC;AA0BpC;AAXG,IAAM,mBAAuC,CAAC;AAAA,EACnD,YAAY,EAAE,KAAK,MAAM,mBAAmB,WAAW;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,iBAAa,sBAAQ,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;AAE7D,QAAM,KAAK,CAAC,CAAC,WAAW,oBAAoB;AAE5C,SACE,4EACE;AAAA,gDAAC,cAAW,UAAoB,MAAY;AAAA,IAC5C;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,UAAU,YAAY;AAAA,QACtB;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -5,7 +5,8 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
var DefaultCodeBlock = ({
|
|
6
6
|
components: { Pre, Code, SyntaxHighlighter, CodeHeader },
|
|
7
7
|
language,
|
|
8
|
-
code
|
|
8
|
+
code,
|
|
9
|
+
node
|
|
9
10
|
}) => {
|
|
10
11
|
const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);
|
|
11
12
|
const SH = !!language ? SyntaxHighlighter : DefaultCodeBlockContent;
|
|
@@ -16,7 +17,8 @@ var DefaultCodeBlock = ({
|
|
|
16
17
|
{
|
|
17
18
|
components,
|
|
18
19
|
language: language ?? "unknown",
|
|
19
|
-
code
|
|
20
|
+
code,
|
|
21
|
+
node
|
|
20
22
|
}
|
|
21
23
|
)
|
|
22
24
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/CodeBlock.tsx"],"sourcesContent":["import { ComponentType, FC, useMemo } from \"react\";\n\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\n\nexport type CodeBlockProps = {\n language: string;\n code: string;\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n CodeHeader: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;\n };\n};\n\nexport const DefaultCodeBlock: FC<CodeBlockProps> = ({\n components: { Pre, Code, SyntaxHighlighter, CodeHeader },\n language,\n code,\n}) => {\n const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);\n\n const SH = !!language ? SyntaxHighlighter : DefaultCodeBlockContent;\n\n return (\n <>\n <CodeHeader language={language} code={code} />\n <SH\n components={components}\n language={language ?? \"unknown\"}\n code={code}\n />\n </>\n );\n};\n"],"mappings":";AAAA,SAA4B,eAAe;AAQ3C,SAAS,+BAA+B;
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/CodeBlock.tsx"],"sourcesContent":["import { ComponentType, FC, useMemo } from \"react\";\n\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\nimport { Element } from \"hast\";\n\nexport type CodeBlockProps = {\n language: string;\n code: string;\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n CodeHeader: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;\n };\n node: Element;\n};\n\nexport const DefaultCodeBlock: FC<CodeBlockProps> = ({\n components: { Pre, Code, SyntaxHighlighter, CodeHeader },\n language,\n code,\n node,\n}) => {\n const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);\n\n const SH = !!language ? SyntaxHighlighter : DefaultCodeBlockContent;\n\n return (\n <>\n <CodeHeader language={language} code={code} />\n <SH\n components={components}\n language={language ?? \"unknown\"}\n code={code}\n node={node}\n />\n </>\n );\n};\n"],"mappings":";AAAA,SAA4B,eAAe;AAQ3C,SAAS,+BAA+B;AA0BpC,mBACE,KADF;AAXG,IAAM,mBAAuC,CAAC;AAAA,EACnD,YAAY,EAAE,KAAK,MAAM,mBAAmB,WAAW;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,QAAQ,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC;AAE7D,QAAM,KAAK,CAAC,CAAC,WAAW,oBAAoB;AAE5C,SACE,iCACE;AAAA,wBAAC,cAAW,UAAoB,MAAY;AAAA,IAC5C;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,UAAU,YAAY;AAAA,QACtB;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -6,11 +6,11 @@ export type CodeOverrideProps = ComponentPropsWithoutRef<CodeComponent> & {
|
|
|
6
6
|
Code: CodeComponent;
|
|
7
7
|
CodeHeader: ComponentType<CodeHeaderProps>;
|
|
8
8
|
SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;
|
|
9
|
-
by_language?: Record<string, {
|
|
10
|
-
CodeHeader?: ComponentType<CodeHeaderProps>;
|
|
11
|
-
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;
|
|
12
|
-
}>;
|
|
13
9
|
};
|
|
10
|
+
componentsByLanguage?: Record<string, {
|
|
11
|
+
CodeHeader?: ComponentType<CodeHeaderProps>;
|
|
12
|
+
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;
|
|
13
|
+
}>;
|
|
14
14
|
};
|
|
15
15
|
export declare const CodeOverride: FC<CodeOverrideProps>;
|
|
16
16
|
//# sourceMappingURL=CodeOverride.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeOverride.d.ts","sourceRoot":"","sources":["../../src/overrides/CodeOverride.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"CodeOverride.d.ts","sourceRoot":"","sources":["../../src/overrides/CodeOverride.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAgEjB,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,aAAa,CAAC,GAAG;IACxE,UAAU,EAAE;QACV,GAAG,EAAE,YAAY,CAAC;QAClB,IAAI,EAAE,aAAa,CAAC;QACpB,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC3C,iBAAiB,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;KAC1D,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,CAC3B,MAAM,EACN;QACE,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC5C,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;KAC3D,CACF,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAO9C,CAAC"}
|
|
@@ -24,21 +24,22 @@ __export(CodeOverride_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(CodeOverride_exports);
|
|
26
26
|
var import_react = require("react");
|
|
27
|
-
var import_PreOverride = require("./PreOverride.
|
|
28
|
-
var import_CodeBlock = require("./CodeBlock.
|
|
27
|
+
var import_PreOverride = require("./PreOverride.js");
|
|
28
|
+
var import_CodeBlock = require("./CodeBlock.js");
|
|
29
29
|
var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
|
|
30
|
-
var import_withDefaults = require("./withDefaults.
|
|
31
|
-
var import_defaultComponents = require("./defaultComponents.
|
|
30
|
+
var import_withDefaults = require("./withDefaults.js");
|
|
31
|
+
var import_defaultComponents = require("./defaultComponents.js");
|
|
32
32
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
33
|
var CodeBlockOverride = ({
|
|
34
34
|
components: {
|
|
35
35
|
Pre,
|
|
36
36
|
Code,
|
|
37
37
|
SyntaxHighlighter: FallbackSyntaxHighlighter,
|
|
38
|
-
CodeHeader: FallbackCodeHeader
|
|
39
|
-
by_language = {}
|
|
38
|
+
CodeHeader: FallbackCodeHeader
|
|
40
39
|
},
|
|
40
|
+
componentsByLanguage = {},
|
|
41
41
|
children,
|
|
42
|
+
node,
|
|
42
43
|
...codeProps
|
|
43
44
|
}) => {
|
|
44
45
|
const preProps = (0, import_react.useContext)(import_PreOverride.PreContext);
|
|
@@ -52,12 +53,13 @@ var CodeBlockOverride = ({
|
|
|
52
53
|
import_defaultComponents.DefaultCodeBlockContent,
|
|
53
54
|
{
|
|
54
55
|
components: { Pre: WrappedPre, Code: WrappedCode },
|
|
55
|
-
code: children
|
|
56
|
+
code: children,
|
|
57
|
+
node
|
|
56
58
|
}
|
|
57
59
|
);
|
|
58
60
|
}
|
|
59
|
-
const SyntaxHighlighter =
|
|
60
|
-
const CodeHeader =
|
|
61
|
+
const SyntaxHighlighter = componentsByLanguage[language]?.SyntaxHighlighter ?? FallbackSyntaxHighlighter;
|
|
62
|
+
const CodeHeader = componentsByLanguage[language]?.CodeHeader ?? FallbackCodeHeader;
|
|
61
63
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
62
64
|
import_CodeBlock.DefaultCodeBlock,
|
|
63
65
|
{
|
|
@@ -68,7 +70,8 @@ var CodeBlockOverride = ({
|
|
|
68
70
|
CodeHeader
|
|
69
71
|
},
|
|
70
72
|
language: language || "unknown",
|
|
71
|
-
code: children
|
|
73
|
+
code: children,
|
|
74
|
+
node
|
|
72
75
|
}
|
|
73
76
|
);
|
|
74
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, ComponentType, FC, useContext } from \"react\";\nimport { PreContext } from \"./PreOverride\";\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlock } from \"./CodeBlock\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { withDefaultProps } from \"./withDefaults\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, ComponentType, FC, useContext } from \"react\";\nimport { PreContext } from \"./PreOverride\";\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlock } from \"./CodeBlock\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { withDefaultProps } from \"./withDefaults\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n },\n componentsByLanguage = {},\n children,\n node,\n ...codeProps\n}) => {\n const preProps = useContext(PreContext)!;\n const getPreProps = withDefaultProps<any>(preProps);\n const WrappedPre: PreComponent = useCallbackRef((props) => (\n <Pre {...getPreProps(props)} />\n ));\n\n const getCodeProps = withDefaultProps<any>(codeProps);\n const WrappedCode: CodeComponent = useCallbackRef((props) => (\n <Code {...getCodeProps(props)} />\n ));\n\n const language = /language-(\\w+)/.exec(codeProps.className || \"\")?.[1] ?? \"\";\n\n // if the code content is not string (due to rehype plugins), return a default code block\n if (typeof children !== \"string\") {\n return (\n <DefaultCodeBlockContent\n components={{ Pre: WrappedPre, Code: WrappedCode }}\n code={children}\n node={node}\n />\n );\n }\n\n const SyntaxHighlighter: ComponentType<SyntaxHighlighterProps> =\n componentsByLanguage[language]?.SyntaxHighlighter ??\n FallbackSyntaxHighlighter;\n\n const CodeHeader: ComponentType<CodeHeaderProps> =\n componentsByLanguage[language]?.CodeHeader ?? FallbackCodeHeader;\n\n return (\n <DefaultCodeBlock\n components={{\n Pre: WrappedPre,\n Code: WrappedCode,\n SyntaxHighlighter,\n CodeHeader,\n }}\n language={language || \"unknown\"}\n code={children}\n node={node}\n />\n );\n};\n\nexport type CodeOverrideProps = ComponentPropsWithoutRef<CodeComponent> & {\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n CodeHeader: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;\n };\n componentsByLanguage?: Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;\n }\n >;\n};\n\nexport const CodeOverride: FC<CodeOverrideProps> = ({\n components,\n ...props\n}) => {\n const preProps = useContext(PreContext);\n if (!preProps) return <components.Code {...props} />;\n return <CodeBlockOverride components={components} {...props} />;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwE;AACxE,yBAA2B;AAO3B,uBAAiC;AACjC,oCAA+B;AAC/B,0BAAiC;AACjC,+BAAwC;AAiBpC;AAfJ,IAAM,oBAA2C,CAAC;AAAA,EAChD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,YAAY;AAAA,EACd;AAAA,EACA,uBAAuB,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,eAAW,yBAAW,6BAAU;AACtC,QAAM,kBAAc,sCAAsB,QAAQ;AAClD,QAAM,iBAA2B,8CAAe,CAAC,UAC/C,4CAAC,OAAK,GAAG,YAAY,KAAK,GAAG,CAC9B;AAED,QAAM,mBAAe,sCAAsB,SAAS;AACpD,QAAM,kBAA6B,8CAAe,CAAC,UACjD,4CAAC,QAAM,GAAG,aAAa,KAAK,GAAG,CAChC;AAED,QAAM,WAAW,iBAAiB,KAAK,UAAU,aAAa,EAAE,IAAI,CAAC,KAAK;AAG1E,MAAI,OAAO,aAAa,UAAU;AAChC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,EAAE,KAAK,YAAY,MAAM,YAAY;AAAA,QACjD,MAAM;AAAA,QACN;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,QAAM,oBACJ,qBAAqB,QAAQ,GAAG,qBAChC;AAEF,QAAM,aACJ,qBAAqB,QAAQ,GAAG,cAAc;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU,YAAY;AAAA,MACtB,MAAM;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;AAkBO,IAAM,eAAsC,CAAC;AAAA,EAClD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,eAAW,yBAAW,6BAAU;AACtC,MAAI,CAAC,SAAU,QAAO,4CAAC,WAAW,MAAX,EAAiB,GAAG,OAAO;AAClD,SAAO,4CAAC,qBAAkB,YAAyB,GAAG,OAAO;AAC/D;","names":[]}
|
|
@@ -11,10 +11,11 @@ var CodeBlockOverride = ({
|
|
|
11
11
|
Pre,
|
|
12
12
|
Code,
|
|
13
13
|
SyntaxHighlighter: FallbackSyntaxHighlighter,
|
|
14
|
-
CodeHeader: FallbackCodeHeader
|
|
15
|
-
by_language = {}
|
|
14
|
+
CodeHeader: FallbackCodeHeader
|
|
16
15
|
},
|
|
16
|
+
componentsByLanguage = {},
|
|
17
17
|
children,
|
|
18
|
+
node,
|
|
18
19
|
...codeProps
|
|
19
20
|
}) => {
|
|
20
21
|
const preProps = useContext(PreContext);
|
|
@@ -28,12 +29,13 @@ var CodeBlockOverride = ({
|
|
|
28
29
|
DefaultCodeBlockContent,
|
|
29
30
|
{
|
|
30
31
|
components: { Pre: WrappedPre, Code: WrappedCode },
|
|
31
|
-
code: children
|
|
32
|
+
code: children,
|
|
33
|
+
node
|
|
32
34
|
}
|
|
33
35
|
);
|
|
34
36
|
}
|
|
35
|
-
const SyntaxHighlighter =
|
|
36
|
-
const CodeHeader =
|
|
37
|
+
const SyntaxHighlighter = componentsByLanguage[language]?.SyntaxHighlighter ?? FallbackSyntaxHighlighter;
|
|
38
|
+
const CodeHeader = componentsByLanguage[language]?.CodeHeader ?? FallbackCodeHeader;
|
|
37
39
|
return /* @__PURE__ */ jsx(
|
|
38
40
|
DefaultCodeBlock,
|
|
39
41
|
{
|
|
@@ -44,7 +46,8 @@ var CodeBlockOverride = ({
|
|
|
44
46
|
CodeHeader
|
|
45
47
|
},
|
|
46
48
|
language: language || "unknown",
|
|
47
|
-
code: children
|
|
49
|
+
code: children,
|
|
50
|
+
node
|
|
48
51
|
}
|
|
49
52
|
);
|
|
50
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, ComponentType, FC, useContext } from \"react\";\nimport { PreContext } from \"./PreOverride\";\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlock } from \"./CodeBlock\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { withDefaultProps } from \"./withDefaults\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, ComponentType, FC, useContext } from \"react\";\nimport { PreContext } from \"./PreOverride\";\nimport {\n CodeComponent,\n CodeHeaderProps,\n PreComponent,\n SyntaxHighlighterProps,\n} from \"./types\";\nimport { DefaultCodeBlock } from \"./CodeBlock\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { withDefaultProps } from \"./withDefaults\";\nimport { DefaultCodeBlockContent } from \"./defaultComponents\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n },\n componentsByLanguage = {},\n children,\n node,\n ...codeProps\n}) => {\n const preProps = useContext(PreContext)!;\n const getPreProps = withDefaultProps<any>(preProps);\n const WrappedPre: PreComponent = useCallbackRef((props) => (\n <Pre {...getPreProps(props)} />\n ));\n\n const getCodeProps = withDefaultProps<any>(codeProps);\n const WrappedCode: CodeComponent = useCallbackRef((props) => (\n <Code {...getCodeProps(props)} />\n ));\n\n const language = /language-(\\w+)/.exec(codeProps.className || \"\")?.[1] ?? \"\";\n\n // if the code content is not string (due to rehype plugins), return a default code block\n if (typeof children !== \"string\") {\n return (\n <DefaultCodeBlockContent\n components={{ Pre: WrappedPre, Code: WrappedCode }}\n code={children}\n node={node}\n />\n );\n }\n\n const SyntaxHighlighter: ComponentType<SyntaxHighlighterProps> =\n componentsByLanguage[language]?.SyntaxHighlighter ??\n FallbackSyntaxHighlighter;\n\n const CodeHeader: ComponentType<CodeHeaderProps> =\n componentsByLanguage[language]?.CodeHeader ?? FallbackCodeHeader;\n\n return (\n <DefaultCodeBlock\n components={{\n Pre: WrappedPre,\n Code: WrappedCode,\n SyntaxHighlighter,\n CodeHeader,\n }}\n language={language || \"unknown\"}\n code={children}\n node={node}\n />\n );\n};\n\nexport type CodeOverrideProps = ComponentPropsWithoutRef<CodeComponent> & {\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n CodeHeader: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;\n };\n componentsByLanguage?: Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;\n }\n >;\n};\n\nexport const CodeOverride: FC<CodeOverrideProps> = ({\n components,\n ...props\n}) => {\n const preProps = useContext(PreContext);\n if (!preProps) return <components.Code {...props} />;\n return <CodeBlockOverride components={components} {...props} />;\n};\n"],"mappings":";AAAA,SAAsD,kBAAkB;AACxE,SAAS,kBAAkB;AAO3B,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AAiBpC;AAfJ,IAAM,oBAA2C,CAAC;AAAA,EAChD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,YAAY;AAAA,EACd;AAAA,EACA,uBAAuB,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAW,WAAW,UAAU;AACtC,QAAM,cAAc,iBAAsB,QAAQ;AAClD,QAAM,aAA2B,eAAe,CAAC,UAC/C,oBAAC,OAAK,GAAG,YAAY,KAAK,GAAG,CAC9B;AAED,QAAM,eAAe,iBAAsB,SAAS;AACpD,QAAM,cAA6B,eAAe,CAAC,UACjD,oBAAC,QAAM,GAAG,aAAa,KAAK,GAAG,CAChC;AAED,QAAM,WAAW,iBAAiB,KAAK,UAAU,aAAa,EAAE,IAAI,CAAC,KAAK;AAG1E,MAAI,OAAO,aAAa,UAAU;AAChC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,EAAE,KAAK,YAAY,MAAM,YAAY;AAAA,QACjD,MAAM;AAAA,QACN;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,QAAM,oBACJ,qBAAqB,QAAQ,GAAG,qBAChC;AAEF,QAAM,aACJ,qBAAqB,QAAQ,GAAG,cAAc;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU,YAAY;AAAA,MACtB,MAAM;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;AAkBO,IAAM,eAAsC,CAAC;AAAA,EAClD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAW,WAAW,UAAU;AACtC,MAAI,CAAC,SAAU,QAAO,oBAAC,WAAW,MAAX,EAAiB,GAAG,OAAO;AAClD,SAAO,oBAAC,qBAAkB,YAAyB,GAAG,OAAO;AAC/D;","names":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef } from "react";
|
|
2
1
|
import { PreComponent } from "./types";
|
|
3
|
-
export declare const PreContext: import("react").Context<Omit<
|
|
2
|
+
export declare const PreContext: import("react").Context<Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLPreElement>, HTMLPreElement>, "ref"> & {
|
|
3
|
+
node: import("hast").Element;
|
|
4
|
+
}, "children"> | null>;
|
|
4
5
|
export declare const useIsMarkdownCodeBlock: () => boolean;
|
|
5
6
|
export declare const PreOverride: PreComponent;
|
|
6
7
|
//# sourceMappingURL=PreOverride.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreOverride.d.ts","sourceRoot":"","sources":["../../src/overrides/PreOverride.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PreOverride.d.ts","sourceRoot":"","sources":["../../src/overrides/PreOverride.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,UAAU;;sBAGR,CAAC;AAEhB,eAAO,MAAM,sBAAsB,eAElC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,YAEzB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
import { Element } from "hast";
|
|
2
3
|
import { PreComponent, CodeComponent, CodeHeaderProps } from "./types";
|
|
3
4
|
export declare const DefaultPre: PreComponent;
|
|
4
5
|
export declare const DefaultCode: CodeComponent;
|
|
@@ -8,6 +9,7 @@ export declare const DefaultCodeBlockContent: ComponentType<{
|
|
|
8
9
|
Code: CodeComponent;
|
|
9
10
|
};
|
|
10
11
|
code: string | ReactNode | undefined;
|
|
12
|
+
node: Element;
|
|
11
13
|
}>;
|
|
12
14
|
export declare const DefaultCodeHeader: ComponentType<CodeHeaderProps>;
|
|
13
15
|
//# sourceMappingURL=defaultComponents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultComponents.d.ts","sourceRoot":"","sources":["../../src/overrides/defaultComponents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,eAAO,MAAM,UAAU,EAAE,YAExB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,aAEzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC;IAClD,UAAU,EAAE;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC;IACvD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"defaultComponents.d.ts","sourceRoot":"","sources":["../../src/overrides/defaultComponents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEvE,eAAO,MAAM,UAAU,EAAE,YAExB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,aAEzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC;IAClD,UAAU,EAAE;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC;IACvD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACrC,IAAI,EAAE,OAAO,CAAC;CACf,CAIA,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,eAAe,CAAc,CAAC"}
|
|
@@ -29,7 +29,7 @@ module.exports = __toCommonJS(defaultComponents_exports);
|
|
|
29
29
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
30
|
var DefaultPre = ({ node, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { ...rest });
|
|
31
31
|
var DefaultCode = ({ node, ...rest }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { ...rest });
|
|
32
|
-
var DefaultCodeBlockContent = ({ components: { Pre, Code }, code }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Pre, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Code, { children: code }) });
|
|
32
|
+
var DefaultCodeBlockContent = ({ components: { Pre, Code }, code, node }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Pre, { node, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Code, { node, children: code }) });
|
|
33
33
|
var DefaultCodeHeader = () => null;
|
|
34
34
|
// Annotate the CommonJS export names for ESM import in node:
|
|
35
35
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/defaultComponents.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from \"react\";\nimport { PreComponent, CodeComponent, CodeHeaderProps } from \"./types\";\n\nexport const DefaultPre: PreComponent = ({ node, ...rest }) => (\n <pre {...rest} />\n);\n\nexport const DefaultCode: CodeComponent = ({ node, ...rest }) => (\n <code {...rest} />\n);\n\nexport const DefaultCodeBlockContent: ComponentType<{\n components: { Pre: PreComponent; Code: CodeComponent };\n code: string | ReactNode | undefined;\n}> = ({ components: { Pre, Code }, code }) => (\n <Pre>\n <Code>{code}</Code>\n </Pre>\n);\n\nexport const DefaultCodeHeader: ComponentType<CodeHeaderProps> = () => null;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/defaultComponents.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from \"react\";\nimport { Element } from \"hast\";\nimport { PreComponent, CodeComponent, CodeHeaderProps } from \"./types\";\n\nexport const DefaultPre: PreComponent = ({ node, ...rest }) => (\n <pre {...rest} />\n);\n\nexport const DefaultCode: CodeComponent = ({ node, ...rest }) => (\n <code {...rest} />\n);\n\nexport const DefaultCodeBlockContent: ComponentType<{\n components: { Pre: PreComponent; Code: CodeComponent };\n code: string | ReactNode | undefined;\n node: Element;\n}> = ({ components: { Pre, Code }, code, node }) => (\n <Pre node={node}>\n <Code node={node}>{code}</Code>\n </Pre>\n);\n\nexport const DefaultCodeHeader: ComponentType<CodeHeaderProps> = () => null;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKE;AADK,IAAM,aAA2B,CAAC,EAAE,MAAM,GAAG,KAAK,MACvD,4CAAC,SAAK,GAAG,MAAM;AAGV,IAAM,cAA6B,CAAC,EAAE,MAAM,GAAG,KAAK,MACzD,4CAAC,UAAM,GAAG,MAAM;AAGX,IAAM,0BAIR,CAAC,EAAE,YAAY,EAAE,KAAK,KAAK,GAAG,MAAM,KAAK,MAC5C,4CAAC,OAAI,MACH,sDAAC,QAAK,MAAa,gBAAK,GAC1B;AAGK,IAAM,oBAAoD,MAAM;","names":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
var DefaultPre = ({ node, ...rest }) => /* @__PURE__ */ jsx("pre", { ...rest });
|
|
4
4
|
var DefaultCode = ({ node, ...rest }) => /* @__PURE__ */ jsx("code", { ...rest });
|
|
5
|
-
var DefaultCodeBlockContent = ({ components: { Pre, Code }, code }) => /* @__PURE__ */ jsx(Pre, { children: /* @__PURE__ */ jsx(Code, { children: code }) });
|
|
5
|
+
var DefaultCodeBlockContent = ({ components: { Pre, Code }, code, node }) => /* @__PURE__ */ jsx(Pre, { node, children: /* @__PURE__ */ jsx(Code, { node, children: code }) });
|
|
6
6
|
var DefaultCodeHeader = () => null;
|
|
7
7
|
export {
|
|
8
8
|
DefaultCode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/defaultComponents.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from \"react\";\nimport { PreComponent, CodeComponent, CodeHeaderProps } from \"./types\";\n\nexport const DefaultPre: PreComponent = ({ node, ...rest }) => (\n <pre {...rest} />\n);\n\nexport const DefaultCode: CodeComponent = ({ node, ...rest }) => (\n <code {...rest} />\n);\n\nexport const DefaultCodeBlockContent: ComponentType<{\n components: { Pre: PreComponent; Code: CodeComponent };\n code: string | ReactNode | undefined;\n}> = ({ components: { Pre, Code }, code }) => (\n <Pre>\n <Code>{code}</Code>\n </Pre>\n);\n\nexport const DefaultCodeHeader: ComponentType<CodeHeaderProps> = () => null;\n"],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/defaultComponents.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from \"react\";\nimport { Element } from \"hast\";\nimport { PreComponent, CodeComponent, CodeHeaderProps } from \"./types\";\n\nexport const DefaultPre: PreComponent = ({ node, ...rest }) => (\n <pre {...rest} />\n);\n\nexport const DefaultCode: CodeComponent = ({ node, ...rest }) => (\n <code {...rest} />\n);\n\nexport const DefaultCodeBlockContent: ComponentType<{\n components: { Pre: PreComponent; Code: CodeComponent };\n code: string | ReactNode | undefined;\n node: Element;\n}> = ({ components: { Pre, Code }, code, node }) => (\n <Pre node={node}>\n <Code node={node}>{code}</Code>\n </Pre>\n);\n\nexport const DefaultCodeHeader: ComponentType<CodeHeaderProps> = () => null;\n"],"mappings":";AAKE;AADK,IAAM,aAA2B,CAAC,EAAE,MAAM,GAAG,KAAK,MACvD,oBAAC,SAAK,GAAG,MAAM;AAGV,IAAM,cAA6B,CAAC,EAAE,MAAM,GAAG,KAAK,MACzD,oBAAC,UAAM,GAAG,MAAM;AAGX,IAAM,0BAIR,CAAC,EAAE,YAAY,EAAE,KAAK,KAAK,GAAG,MAAM,KAAK,MAC5C,oBAAC,OAAI,MACH,8BAAC,QAAK,MAAa,gBAAK,GAC1B;AAGK,IAAM,oBAAoD,MAAM;","names":[]}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export type
|
|
1
|
+
import { Element } from "hast";
|
|
2
|
+
import { ComponentPropsWithoutRef, ComponentType } from "react";
|
|
3
|
+
export type PreComponent = ComponentType<ComponentPropsWithoutRef<"pre"> & {
|
|
4
|
+
node: Element;
|
|
5
|
+
}>;
|
|
6
|
+
export type CodeComponent = ComponentType<ComponentPropsWithoutRef<"code"> & {
|
|
7
|
+
node: Element;
|
|
8
|
+
}>;
|
|
4
9
|
export type CodeHeaderProps = {
|
|
5
10
|
language: string | undefined;
|
|
6
11
|
code: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/overrides/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/overrides/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,aAAa,CACtC,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CACpD,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,aAAa,CACvC,wBAAwB,CAAC,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CACrD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE;QACV,GAAG,EAAE,YAAY,CAAC;QAClB,IAAI,EAAE,aAAa,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/types.ts"],"sourcesContent":["import { Element } from \"hast\";\nimport { ComponentPropsWithoutRef, ComponentType } from \"react\";\n\nexport type PreComponent = ComponentType<\n ComponentPropsWithoutRef<\"pre\"> & { node: Element }\n>;\nexport type CodeComponent = ComponentType<\n ComponentPropsWithoutRef<\"code\"> & { node: Element }\n>;\n\nexport type CodeHeaderProps = {\n language: string | undefined;\n code: string;\n};\n\nexport type SyntaxHighlighterProps = {\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n };\n language: string;\n code: string;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentRef, 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 =
|
|
5
|
+
type MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;
|
|
6
6
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
|
7
7
|
export type MarkdownTextPrimitiveProps = Omit<Options, "components" | "children"> & {
|
|
8
|
-
containerProps?: Omit<PrimitiveDivProps, "children" | "asChild"
|
|
9
|
-
containerComponent?: ElementType;
|
|
10
|
-
components?: NonNullable<Options["components"]> & {
|
|
11
|
-
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps
|
|
12
|
-
CodeHeader?: ComponentType<CodeHeaderProps
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
};
|
|
18
|
-
|
|
8
|
+
containerProps?: Omit<PrimitiveDivProps, "children" | "asChild"> | undefined;
|
|
9
|
+
containerComponent?: ElementType | undefined;
|
|
10
|
+
components?: (NonNullable<Options["components"]> & {
|
|
11
|
+
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;
|
|
12
|
+
CodeHeader?: ComponentType<CodeHeaderProps> | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use `componentsByLanguage` instead of `components.by_language`. This will be removed in the next major version.
|
|
15
|
+
**/
|
|
16
|
+
by_language?: undefined;
|
|
17
|
+
}) | undefined;
|
|
18
|
+
componentsByLanguage?: Record<string, {
|
|
19
|
+
CodeHeader?: ComponentType<CodeHeaderProps> | undefined;
|
|
20
|
+
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;
|
|
21
|
+
}> | undefined;
|
|
22
|
+
smooth?: boolean | undefined;
|
|
19
23
|
};
|
|
20
24
|
export declare const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> & RefAttributes<MarkdownTextPrimitiveElement>;
|
|
21
25
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../src/primitives/MarkdownText.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,
|
|
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,EACb,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,CAwD3C,CAAC"}
|
|
@@ -37,16 +37,17 @@ module.exports = __toCommonJS(MarkdownText_exports);
|
|
|
37
37
|
var import_react = require("@assistant-ui/react");
|
|
38
38
|
var import_react2 = require("react");
|
|
39
39
|
var import_react_markdown = __toESM(require("react-markdown"));
|
|
40
|
-
var import_PreOverride = require("../overrides/PreOverride.
|
|
41
|
-
var import_defaultComponents = require("../overrides/defaultComponents.
|
|
40
|
+
var import_PreOverride = require("../overrides/PreOverride.js");
|
|
41
|
+
var import_defaultComponents = require("../overrides/defaultComponents.js");
|
|
42
42
|
var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
|
|
43
|
-
var import_CodeOverride = require("../overrides/CodeOverride.
|
|
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
46
|
var { useSmooth } = import_react.INTERNAL;
|
|
47
47
|
var MarkdownTextPrimitive = (0, import_react2.forwardRef)(
|
|
48
48
|
({
|
|
49
49
|
components: userComponents,
|
|
50
|
+
componentsByLanguage = userComponents?.by_language,
|
|
50
51
|
className,
|
|
51
52
|
containerProps,
|
|
52
53
|
containerComponent: Container = "div",
|
|
@@ -71,9 +72,9 @@ var MarkdownTextPrimitive = (0, import_react2.forwardRef)(
|
|
|
71
72
|
Pre: pre,
|
|
72
73
|
Code: code,
|
|
73
74
|
SyntaxHighlighter,
|
|
74
|
-
CodeHeader
|
|
75
|
-
by_language
|
|
75
|
+
CodeHeader
|
|
76
76
|
},
|
|
77
|
+
componentsByLanguage,
|
|
77
78
|
...props
|
|
78
79
|
}
|
|
79
80
|
))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/primitives/MarkdownText.tsx"],"sourcesContent":["\"use client\";\n\nimport { INTERNAL, useContentPartText } from \"@assistant-ui/react\";\nimport {\n
|
|
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 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 ...rest\n },\n forwardedRef,\n smooth = true,\n ) => {\n const { text, status } = useSmooth(useContentPartText(), smooth);\n\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n by_language,\n ...componentsRest\n } = userComponents ?? {};\n const components: typeof userComponents = {\n ...componentsRest,\n pre: PreOverride,\n code: useCallbackRef((props) => (\n <CodeOverride\n components={{\n Pre: pre,\n Code: code,\n SyntaxHighlighter,\n CodeHeader,\n }}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n )),\n };\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,gBAQO;AACP,4BAA4C;AAE5C,yBAA4B;AAC5B,+BAKO;AACP,oCAA+B;AAC/B,0BAA6B;AAE7B,wBAAuB;AAkEf;AAhER,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,GAAG;AAAA,EACL,GACA,cACA,SAAS,SACN;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,MACb;AAAA,MACA,GAAG;AAAA,IACL,IAAI,kBAAkB,CAAC;AACvB,UAAM,aAAoC;AAAA,MACxC,GAAG;AAAA,MACH,KAAK;AAAA,MACL,UAAM,8CAAe,CAAC,UACpB;AAAA,QAAC;AAAA;AAAA,UACC,YAAY;AAAA,YACV,KAAK;AAAA,YACL,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF;AAAA,UACA;AAAA,UACC,GAAG;AAAA;AAAA,MACN,CACD;AAAA,IACH;AAEA,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","classNames","ReactMarkdown"]}
|
|
@@ -21,6 +21,7 @@ var { useSmooth } = INTERNAL;
|
|
|
21
21
|
var MarkdownTextPrimitive = forwardRef(
|
|
22
22
|
({
|
|
23
23
|
components: userComponents,
|
|
24
|
+
componentsByLanguage = userComponents?.by_language,
|
|
24
25
|
className,
|
|
25
26
|
containerProps,
|
|
26
27
|
containerComponent: Container = "div",
|
|
@@ -45,9 +46,9 @@ var MarkdownTextPrimitive = forwardRef(
|
|
|
45
46
|
Pre: pre,
|
|
46
47
|
Code: code,
|
|
47
48
|
SyntaxHighlighter,
|
|
48
|
-
CodeHeader
|
|
49
|
-
by_language
|
|
49
|
+
CodeHeader
|
|
50
50
|
},
|
|
51
|
+
componentsByLanguage,
|
|
51
52
|
...props
|
|
52
53
|
}
|
|
53
54
|
))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/primitives/MarkdownText.tsx"],"sourcesContent":["\"use client\";\n\nimport { INTERNAL, useContentPartText } from \"@assistant-ui/react\";\nimport {\n
|
|
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 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 ...rest\n },\n forwardedRef,\n smooth = true,\n ) => {\n const { text, status } = useSmooth(useContentPartText(), smooth);\n\n const {\n pre = DefaultPre,\n code = DefaultCode,\n SyntaxHighlighter = DefaultCodeBlockContent,\n CodeHeader = DefaultCodeHeader,\n by_language,\n ...componentsRest\n } = userComponents ?? {};\n const components: typeof userComponents = {\n ...componentsRest,\n pre: PreOverride,\n code: useCallbackRef((props) => (\n <CodeOverride\n components={{\n Pre: pre,\n Code: code,\n SyntaxHighlighter,\n CodeHeader,\n }}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n )),\n };\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,OAKK;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;AAkEf;AAhER,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,GAAG;AAAA,EACL,GACA,cACA,SAAS,SACN;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,MACb;AAAA,MACA,GAAG;AAAA,IACL,IAAI,kBAAkB,CAAC;AACvB,UAAM,aAAoC;AAAA,MACxC,GAAG;AAAA,MACH,KAAK;AAAA,MACL,MAAM,eAAe,CAAC,UACpB;AAAA,QAAC;AAAA;AAAA,UACC,YAAY;AAAA,YACV,KAAK;AAAA,YACL,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF;AAAA,UACA;AAAA,UACC,GAAG;AAAA;AAAA,MACN,CACD;AAAA,IACH;AAEA,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":[]}
|
package/dist/ui/code-header.js
CHANGED
|
@@ -25,7 +25,7 @@ __export(code_header_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(code_header_exports);
|
|
26
26
|
var import_lucide_react = require("lucide-react");
|
|
27
27
|
var import_react = require("@assistant-ui/react");
|
|
28
|
-
var import_useCopyToClipboard = require("./useCopyToClipboard.
|
|
28
|
+
var import_useCopyToClipboard = require("./useCopyToClipboard.js");
|
|
29
29
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
30
|
var { TooltipIconButton } = import_react.INTERNAL;
|
|
31
31
|
var CodeHeader = ({ language, code }) => {
|
package/dist/ui/markdown-text.js
CHANGED
|
@@ -34,11 +34,11 @@ __export(markdown_text_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(markdown_text_exports);
|
|
36
36
|
var import_react = require("react");
|
|
37
|
-
var import_code_header = require("./code-header.
|
|
37
|
+
var import_code_header = require("./code-header.js");
|
|
38
38
|
var import_classnames = __toESM(require("classnames"));
|
|
39
|
-
var import_MarkdownText = require("../primitives/MarkdownText.
|
|
39
|
+
var import_MarkdownText = require("../primitives/MarkdownText.js");
|
|
40
40
|
var import_react2 = require("@assistant-ui/react");
|
|
41
|
-
var import_PreOverride = require("../overrides/PreOverride.
|
|
41
|
+
var import_PreOverride = require("../overrides/PreOverride.js");
|
|
42
42
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
43
|
var { withSmoothContextProvider, useSmoothStatus } = import_react2.INTERNAL;
|
|
44
44
|
var defaultComponents = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react-markdown",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -30,14 +30,15 @@
|
|
|
30
30
|
],
|
|
31
31
|
"sideEffects": false,
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@radix-ui/react-primitive": "^2.0.
|
|
33
|
+
"@radix-ui/react-primitive": "^2.0.1",
|
|
34
34
|
"@radix-ui/react-use-callback-ref": "^1.1.0",
|
|
35
|
+
"@types/hast": "^3.0.4",
|
|
35
36
|
"classnames": "^2.5.1",
|
|
36
|
-
"lucide-react": "^0.
|
|
37
|
+
"lucide-react": "^0.468.0",
|
|
37
38
|
"react-markdown": "^9.0.1"
|
|
38
39
|
},
|
|
39
40
|
"peerDependencies": {
|
|
40
|
-
"@assistant-ui/react": "^0.7.
|
|
41
|
+
"@assistant-ui/react": "^0.7.12",
|
|
41
42
|
"@types/react": "*",
|
|
42
43
|
"react": "^18 || ^19 || ^19.0.0-rc",
|
|
43
44
|
"tailwindcss": "^3.4.4"
|
|
@@ -51,19 +52,19 @@
|
|
|
51
52
|
}
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
|
-
"@types/node": "^22.
|
|
55
|
+
"@types/node": "^22.10.2",
|
|
55
56
|
"autoprefixer": "^10.4.20",
|
|
56
57
|
"eslint": "^9",
|
|
57
|
-
"eslint-config-next": "15.0
|
|
58
|
+
"eslint-config-next": "15.1.0",
|
|
58
59
|
"postcss": "^8.4.49",
|
|
59
60
|
"postcss-js": "^4.0.1",
|
|
60
|
-
"react": "19.0.0
|
|
61
|
-
"react-dom": "19.0.0
|
|
62
|
-
"tailwindcss": "^3.4.
|
|
61
|
+
"react": "19.0.0",
|
|
62
|
+
"react-dom": "19.0.0",
|
|
63
|
+
"tailwindcss": "^3.4.16",
|
|
63
64
|
"tailwindcss-animate": "^1.0.7",
|
|
64
65
|
"tsup": "8.3.5",
|
|
65
66
|
"tsx": "^4.19.2",
|
|
66
|
-
"@assistant-ui/react": "0.7.
|
|
67
|
+
"@assistant-ui/react": "0.7.12",
|
|
67
68
|
"@assistant-ui/tailwindcss-transformer": "0.1.0",
|
|
68
69
|
"@assistant-ui/tsbuildutils": "^0.0.0",
|
|
69
70
|
"@assistant-ui/tsconfig": "0.0.0"
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
SyntaxHighlighterProps,
|
|
8
8
|
} from "./types";
|
|
9
9
|
import { DefaultCodeBlockContent } from "./defaultComponents";
|
|
10
|
+
import { Element } from "hast";
|
|
10
11
|
|
|
11
12
|
export type CodeBlockProps = {
|
|
12
13
|
language: string;
|
|
@@ -17,12 +18,14 @@ export type CodeBlockProps = {
|
|
|
17
18
|
CodeHeader: ComponentType<CodeHeaderProps>;
|
|
18
19
|
SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;
|
|
19
20
|
};
|
|
21
|
+
node: Element;
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
export const DefaultCodeBlock: FC<CodeBlockProps> = ({
|
|
23
25
|
components: { Pre, Code, SyntaxHighlighter, CodeHeader },
|
|
24
26
|
language,
|
|
25
27
|
code,
|
|
28
|
+
node,
|
|
26
29
|
}) => {
|
|
27
30
|
const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);
|
|
28
31
|
|
|
@@ -35,6 +38,7 @@ export const DefaultCodeBlock: FC<CodeBlockProps> = ({
|
|
|
35
38
|
components={components}
|
|
36
39
|
language={language ?? "unknown"}
|
|
37
40
|
code={code}
|
|
41
|
+
node={node}
|
|
38
42
|
/>
|
|
39
43
|
</>
|
|
40
44
|
);
|
|
@@ -17,9 +17,10 @@ const CodeBlockOverride: FC<CodeOverrideProps> = ({
|
|
|
17
17
|
Code,
|
|
18
18
|
SyntaxHighlighter: FallbackSyntaxHighlighter,
|
|
19
19
|
CodeHeader: FallbackCodeHeader,
|
|
20
|
-
by_language = {},
|
|
21
20
|
},
|
|
21
|
+
componentsByLanguage = {},
|
|
22
22
|
children,
|
|
23
|
+
node,
|
|
23
24
|
...codeProps
|
|
24
25
|
}) => {
|
|
25
26
|
const preProps = useContext(PreContext)!;
|
|
@@ -41,15 +42,17 @@ const CodeBlockOverride: FC<CodeOverrideProps> = ({
|
|
|
41
42
|
<DefaultCodeBlockContent
|
|
42
43
|
components={{ Pre: WrappedPre, Code: WrappedCode }}
|
|
43
44
|
code={children}
|
|
45
|
+
node={node}
|
|
44
46
|
/>
|
|
45
47
|
);
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
const SyntaxHighlighter: ComponentType<SyntaxHighlighterProps> =
|
|
49
|
-
|
|
51
|
+
componentsByLanguage[language]?.SyntaxHighlighter ??
|
|
52
|
+
FallbackSyntaxHighlighter;
|
|
50
53
|
|
|
51
54
|
const CodeHeader: ComponentType<CodeHeaderProps> =
|
|
52
|
-
|
|
55
|
+
componentsByLanguage[language]?.CodeHeader ?? FallbackCodeHeader;
|
|
53
56
|
|
|
54
57
|
return (
|
|
55
58
|
<DefaultCodeBlock
|
|
@@ -61,6 +64,7 @@ const CodeBlockOverride: FC<CodeOverrideProps> = ({
|
|
|
61
64
|
}}
|
|
62
65
|
language={language || "unknown"}
|
|
63
66
|
code={children}
|
|
67
|
+
node={node}
|
|
64
68
|
/>
|
|
65
69
|
);
|
|
66
70
|
};
|
|
@@ -71,14 +75,14 @@ export type CodeOverrideProps = ComponentPropsWithoutRef<CodeComponent> & {
|
|
|
71
75
|
Code: CodeComponent;
|
|
72
76
|
CodeHeader: ComponentType<CodeHeaderProps>;
|
|
73
77
|
SyntaxHighlighter: ComponentType<SyntaxHighlighterProps>;
|
|
74
|
-
by_language?: Record<
|
|
75
|
-
string,
|
|
76
|
-
{
|
|
77
|
-
CodeHeader?: ComponentType<CodeHeaderProps>;
|
|
78
|
-
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;
|
|
79
|
-
}
|
|
80
|
-
>;
|
|
81
78
|
};
|
|
79
|
+
componentsByLanguage?: Record<
|
|
80
|
+
string,
|
|
81
|
+
{
|
|
82
|
+
CodeHeader?: ComponentType<CodeHeaderProps>;
|
|
83
|
+
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;
|
|
84
|
+
}
|
|
85
|
+
>;
|
|
82
86
|
};
|
|
83
87
|
|
|
84
88
|
export const CodeOverride: FC<CodeOverrideProps> = ({
|
|
@@ -86,6 +90,6 @@ export const CodeOverride: FC<CodeOverrideProps> = ({
|
|
|
86
90
|
...props
|
|
87
91
|
}) => {
|
|
88
92
|
const preProps = useContext(PreContext);
|
|
89
|
-
if (!preProps) return <components.Code {...
|
|
93
|
+
if (!preProps) return <components.Code {...props} />;
|
|
90
94
|
return <CodeBlockOverride components={components} {...props} />;
|
|
91
95
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
import { Element } from "hast";
|
|
2
3
|
import { PreComponent, CodeComponent, CodeHeaderProps } from "./types";
|
|
3
4
|
|
|
4
5
|
export const DefaultPre: PreComponent = ({ node, ...rest }) => (
|
|
@@ -12,9 +13,10 @@ export const DefaultCode: CodeComponent = ({ node, ...rest }) => (
|
|
|
12
13
|
export const DefaultCodeBlockContent: ComponentType<{
|
|
13
14
|
components: { Pre: PreComponent; Code: CodeComponent };
|
|
14
15
|
code: string | ReactNode | undefined;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
node: Element;
|
|
17
|
+
}> = ({ components: { Pre, Code }, code, node }) => (
|
|
18
|
+
<Pre node={node}>
|
|
19
|
+
<Code node={node}>{code}</Code>
|
|
18
20
|
</Pre>
|
|
19
21
|
);
|
|
20
22
|
|
package/src/overrides/types.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Element } from "hast";
|
|
2
|
+
import { ComponentPropsWithoutRef, ComponentType } from "react";
|
|
2
3
|
|
|
3
|
-
export type PreComponent =
|
|
4
|
-
|
|
4
|
+
export type PreComponent = ComponentType<
|
|
5
|
+
ComponentPropsWithoutRef<"pre"> & { node: Element }
|
|
5
6
|
>;
|
|
6
|
-
export type CodeComponent =
|
|
7
|
-
|
|
7
|
+
export type CodeComponent = ComponentType<
|
|
8
|
+
ComponentPropsWithoutRef<"code"> & { node: Element }
|
|
8
9
|
>;
|
|
9
10
|
|
|
10
11
|
export type CodeHeaderProps = {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { INTERNAL, useContentPartText } from "@assistant-ui/react";
|
|
4
4
|
import {
|
|
5
|
-
|
|
5
|
+
ComponentRef,
|
|
6
6
|
ElementType,
|
|
7
7
|
forwardRef,
|
|
8
8
|
ForwardRefExoticComponent,
|
|
@@ -26,27 +26,35 @@ import classNames from "classnames";
|
|
|
26
26
|
|
|
27
27
|
const { useSmooth } = INTERNAL;
|
|
28
28
|
|
|
29
|
-
type MarkdownTextPrimitiveElement =
|
|
29
|
+
type MarkdownTextPrimitiveElement = ComponentRef<typeof Primitive.div>;
|
|
30
30
|
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
|
|
31
31
|
|
|
32
32
|
export type MarkdownTextPrimitiveProps = Omit<
|
|
33
33
|
Options,
|
|
34
34
|
"components" | "children"
|
|
35
35
|
> & {
|
|
36
|
-
containerProps?: Omit<PrimitiveDivProps, "children" | "asChild"
|
|
37
|
-
containerComponent?: ElementType;
|
|
38
|
-
components?:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
containerProps?: Omit<PrimitiveDivProps, "children" | "asChild"> | undefined;
|
|
37
|
+
containerComponent?: ElementType | undefined;
|
|
38
|
+
components?:
|
|
39
|
+
| (NonNullable<Options["components"]> & {
|
|
40
|
+
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;
|
|
41
|
+
CodeHeader?: ComponentType<CodeHeaderProps> | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated Use `componentsByLanguage` instead of `components.by_language`. This will be removed in the next major version.
|
|
44
|
+
**/
|
|
45
|
+
by_language?: undefined;
|
|
46
|
+
})
|
|
47
|
+
| undefined;
|
|
48
|
+
componentsByLanguage?:
|
|
49
|
+
| Record<
|
|
50
|
+
string,
|
|
51
|
+
{
|
|
52
|
+
CodeHeader?: ComponentType<CodeHeaderProps> | undefined;
|
|
53
|
+
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps> | undefined;
|
|
54
|
+
}
|
|
55
|
+
>
|
|
56
|
+
| undefined;
|
|
57
|
+
smooth?: boolean | undefined;
|
|
50
58
|
};
|
|
51
59
|
|
|
52
60
|
export const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimitiveProps> &
|
|
@@ -57,6 +65,7 @@ export const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimit
|
|
|
57
65
|
(
|
|
58
66
|
{
|
|
59
67
|
components: userComponents,
|
|
68
|
+
componentsByLanguage = userComponents?.by_language,
|
|
60
69
|
className,
|
|
61
70
|
containerProps,
|
|
62
71
|
containerComponent: Container = "div",
|
|
@@ -85,8 +94,8 @@ export const MarkdownTextPrimitive: ForwardRefExoticComponent<MarkdownTextPrimit
|
|
|
85
94
|
Code: code,
|
|
86
95
|
SyntaxHighlighter,
|
|
87
96
|
CodeHeader,
|
|
88
|
-
by_language,
|
|
89
97
|
}}
|
|
98
|
+
componentsByLanguage={componentsByLanguage}
|
|
90
99
|
{...props}
|
|
91
100
|
/>
|
|
92
101
|
)),
|