@assistant-ui/react-markdown 0.7.20 → 0.8.0
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.d.ts +0 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +0 -6
- package/dist/index.mjs.map +1 -1
- package/dist/memoization.d.ts +2 -2
- package/dist/memoization.d.ts.map +1 -1
- package/dist/memoization.js +1 -1
- package/dist/memoization.js.map +1 -1
- package/dist/memoization.mjs +1 -1
- package/dist/memoization.mjs.map +1 -1
- package/dist/overrides/CodeBlock.d.ts +2 -0
- package/dist/overrides/CodeBlock.d.ts.map +1 -1
- package/dist/overrides/CodeBlock.js +3 -1
- package/dist/overrides/CodeBlock.js.map +1 -1
- package/dist/overrides/CodeBlock.mjs +3 -1
- package/dist/overrides/CodeBlock.mjs.map +1 -1
- package/dist/overrides/CodeOverride.d.ts.map +1 -1
- package/dist/overrides/CodeOverride.js +5 -0
- package/dist/overrides/CodeOverride.js.map +1 -1
- package/dist/overrides/CodeOverride.mjs +5 -0
- package/dist/overrides/CodeOverride.mjs.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 +2 -0
- package/dist/overrides/types.d.ts.map +1 -1
- package/dist/overrides/types.js.map +1 -1
- package/package.json +4 -19
- package/src/index.ts +0 -12
- package/src/memoization.tsx +6 -3
- package/src/overrides/CodeBlock.tsx +5 -1
- package/src/overrides/CodeOverride.tsx +5 -0
- package/src/overrides/defaultComponents.tsx +4 -2
- package/src/overrides/types.ts +2 -0
- package/dist/styles/markdown.css +0 -274
- package/dist/styles/markdown.css.map +0 -1
- package/dist/styles/tailwindcss/markdown.css +0 -106
- package/dist/styles/tailwindcss/markdown.css.json +0 -68
- package/dist/tailwindcss/index.d.ts +0 -9
- package/dist/tailwindcss/index.d.ts.map +0 -1
- package/dist/tailwindcss/index.js +0 -113
- package/dist/tailwindcss/index.js.map +0 -1
- package/dist/tailwindcss/index.mjs +0 -105
- package/dist/tailwindcss/index.mjs.map +0 -1
- package/dist/ui/code-header.d.ts +0 -4
- package/dist/ui/code-header.d.ts.map +0 -1
- package/dist/ui/code-header.js +0 -54
- package/dist/ui/code-header.js.map +0 -1
- package/dist/ui/code-header.mjs +0 -29
- package/dist/ui/code-header.mjs.map +0 -1
- package/dist/ui/markdown-text.d.ts +0 -4
- package/dist/ui/markdown-text.d.ts.map +0 -1
- package/dist/ui/markdown-text.js +0 -114
- package/dist/ui/markdown-text.js.map +0 -1
- package/dist/ui/markdown-text.mjs +0 -81
- package/dist/ui/markdown-text.mjs.map +0 -1
- package/dist/ui/useCopyToClipboard.d.ts +0 -11
- package/dist/ui/useCopyToClipboard.d.ts.map +0 -1
- package/dist/ui/useCopyToClipboard.js +0 -45
- package/dist/ui/useCopyToClipboard.js.map +0 -1
- package/dist/ui/useCopyToClipboard.mjs +0 -21
- package/dist/ui/useCopyToClipboard.mjs.map +0 -1
- package/src/styles/tailwindcss/markdown.css +0 -106
- package/src/tailwindcss/index.ts +0 -8
- package/src/ui/code-header.tsx +0 -32
- package/src/ui/markdown-text.tsx +0 -114
- package/src/ui/useCopyToClipboard.tsx +0 -26
- package/tailwindcss/README.md +0 -1
- package/tailwindcss/package-lock.json +0 -6
- package/tailwindcss/package.json +0 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
export { MarkdownTextPrimitive, type MarkdownTextPrimitiveProps, } from "./primitives/MarkdownText";
|
|
2
2
|
export type { CodeHeaderProps, SyntaxHighlighterProps, } from "./overrides/types";
|
|
3
3
|
export { useIsMarkdownCodeBlock } from "./overrides/PreOverride";
|
|
4
|
-
export {
|
|
5
|
-
/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
|
|
6
|
-
makeMarkdownText,
|
|
7
|
-
/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
|
|
8
|
-
type MakeMarkdownTextProps, } from "./ui/markdown-text";
|
|
9
|
-
/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
|
|
10
|
-
export { CodeHeader } from "./ui/code-header";
|
|
11
4
|
export { memoizeMarkdownComponents as unstable_memoizeMarkdownComponents } from "./memoization";
|
|
12
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,yBAAyB,IAAI,kCAAkC,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,23 +20,17 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
CodeHeader: () => import_code_header.CodeHeader,
|
|
24
23
|
MarkdownTextPrimitive: () => import_MarkdownText.MarkdownTextPrimitive,
|
|
25
|
-
makeMarkdownText: () => import_markdown_text.makeMarkdownText,
|
|
26
24
|
unstable_memoizeMarkdownComponents: () => import_memoization.memoizeMarkdownComponents,
|
|
27
25
|
useIsMarkdownCodeBlock: () => import_PreOverride.useIsMarkdownCodeBlock
|
|
28
26
|
});
|
|
29
27
|
module.exports = __toCommonJS(index_exports);
|
|
30
28
|
var import_MarkdownText = require("./primitives/MarkdownText.js");
|
|
31
29
|
var import_PreOverride = require("./overrides/PreOverride.js");
|
|
32
|
-
var import_markdown_text = require("./ui/markdown-text.js");
|
|
33
|
-
var import_code_header = require("./ui/code-header.js");
|
|
34
30
|
var import_memoization = require("./memoization.js");
|
|
35
31
|
// Annotate the CommonJS export names for ESM import in node:
|
|
36
32
|
0 && (module.exports = {
|
|
37
|
-
CodeHeader,
|
|
38
33
|
MarkdownTextPrimitive,
|
|
39
|
-
makeMarkdownText,
|
|
40
34
|
unstable_memoizeMarkdownComponents,
|
|
41
35
|
useIsMarkdownCodeBlock
|
|
42
36
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n MarkdownTextPrimitive,\n type MarkdownTextPrimitiveProps,\n} from \"./primitives/MarkdownText\";\n\nexport type {\n CodeHeaderProps,\n SyntaxHighlighterProps,\n} from \"./overrides/types\";\n\nexport { useIsMarkdownCodeBlock } from \"./overrides/PreOverride\";\
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n MarkdownTextPrimitive,\n type MarkdownTextPrimitiveProps,\n} from \"./primitives/MarkdownText\";\n\nexport type {\n CodeHeaderProps,\n SyntaxHighlighterProps,\n} from \"./overrides/types\";\n\nexport { useIsMarkdownCodeBlock } from \"./overrides/PreOverride\";\nexport { memoizeMarkdownComponents as unstable_memoizeMarkdownComponents } from \"./memoization\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAGO;AAOP,yBAAuC;AACvC,yBAAgF;","names":[]}
|
package/dist/index.mjs
CHANGED
|
@@ -3,15 +3,9 @@ import {
|
|
|
3
3
|
MarkdownTextPrimitive
|
|
4
4
|
} from "./primitives/MarkdownText.mjs";
|
|
5
5
|
import { useIsMarkdownCodeBlock } from "./overrides/PreOverride.mjs";
|
|
6
|
-
import {
|
|
7
|
-
makeMarkdownText
|
|
8
|
-
} from "./ui/markdown-text.mjs";
|
|
9
|
-
import { CodeHeader } from "./ui/code-header.mjs";
|
|
10
6
|
import { memoizeMarkdownComponents } from "./memoization.mjs";
|
|
11
7
|
export {
|
|
12
|
-
CodeHeader,
|
|
13
8
|
MarkdownTextPrimitive,
|
|
14
|
-
makeMarkdownText,
|
|
15
9
|
memoizeMarkdownComponents as unstable_memoizeMarkdownComponents,
|
|
16
10
|
useIsMarkdownCodeBlock
|
|
17
11
|
};
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n MarkdownTextPrimitive,\n type MarkdownTextPrimitiveProps,\n} from \"./primitives/MarkdownText\";\n\nexport type {\n CodeHeaderProps,\n SyntaxHighlighterProps,\n} from \"./overrides/types\";\n\nexport { useIsMarkdownCodeBlock } from \"./overrides/PreOverride\";\
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n MarkdownTextPrimitive,\n type MarkdownTextPrimitiveProps,\n} from \"./primitives/MarkdownText\";\n\nexport type {\n CodeHeaderProps,\n SyntaxHighlighterProps,\n} from \"./overrides/types\";\n\nexport { useIsMarkdownCodeBlock } from \"./overrides/PreOverride\";\nexport { memoizeMarkdownComponents as unstable_memoizeMarkdownComponents } from \"./memoization\";\n"],"mappings":";AAAA;AAAA,EACE;AAAA,OAEK;AAOP,SAAS,8BAA8B;AACvC,SAAsC,iCAA0C;","names":[]}
|
package/dist/memoization.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { CodeHeaderProps, SyntaxHighlighterProps } from "./overrides/types";
|
|
|
4
4
|
type Components = {
|
|
5
5
|
[Key in Extract<ElementType, string>]?: ComponentType<ComponentProps<Key>>;
|
|
6
6
|
} & {
|
|
7
|
-
SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps
|
|
8
|
-
CodeHeader?: ComponentType<CodeHeaderProps
|
|
7
|
+
SyntaxHighlighter?: ComponentType<Omit<SyntaxHighlighterProps, "node">> | undefined;
|
|
8
|
+
CodeHeader?: ComponentType<Omit<CodeHeaderProps, "node">> | undefined;
|
|
9
9
|
};
|
|
10
10
|
export declare const areNodesEqual: (prev: Element | undefined, next: Element | undefined) => boolean;
|
|
11
11
|
export declare const memoCompareNodes: (prev: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoization.d.ts","sourceRoot":"","sources":["../src/memoization.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAQ,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,KAAK,UAAU,GAAG;KACf,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;CAC3E,GAAG;IACF,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"memoization.d.ts","sourceRoot":"","sources":["../src/memoization.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAQ,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,KAAK,UAAU,GAAG;KACf,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;CAC3E,GAAG;IACF,iBAAiB,CAAC,EACd,aAAa,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,GACnD,SAAS,CAAC;IACd,UAAU,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACvE,CAAC;AAOF,eAAO,MAAM,aAAa,SAClB,OAAO,GAAG,SAAS,QACnB,OAAO,GAAG,SAAS,YAQ1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,SACrB;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,QAC9B;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,YAGrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBAAgB,UAAU;0EAMjB;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAMhE,CAAC"}
|
package/dist/memoization.js
CHANGED
|
@@ -32,7 +32,7 @@ var areChildrenEqual = (prev, next) => {
|
|
|
32
32
|
return JSON.stringify(prev) === JSON.stringify(next);
|
|
33
33
|
};
|
|
34
34
|
var areNodesEqual = (prev, next) => {
|
|
35
|
-
if (!prev || !next) return
|
|
35
|
+
if (!prev || !next) return false;
|
|
36
36
|
const isEqual = JSON.stringify(prev?.properties) === JSON.stringify(next?.properties) && areChildrenEqual(prev?.children, next?.children);
|
|
37
37
|
return isEqual;
|
|
38
38
|
};
|
package/dist/memoization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/memoization.tsx"],"sourcesContent":["import { Element } from \"hast\";\nimport { ComponentProps, ComponentType, ElementType, memo } from \"react\";\nimport { CodeHeaderProps, SyntaxHighlighterProps } from \"./overrides/types\";\n\ntype Components = {\n [Key in Extract<ElementType, string>]?: ComponentType<ComponentProps<Key>>;\n} & {\n SyntaxHighlighter
|
|
1
|
+
{"version":3,"sources":["../src/memoization.tsx"],"sourcesContent":["import { Element } from \"hast\";\nimport { ComponentProps, ComponentType, ElementType, memo } from \"react\";\nimport { CodeHeaderProps, SyntaxHighlighterProps } from \"./overrides/types\";\n\ntype Components = {\n [Key in Extract<ElementType, string>]?: ComponentType<ComponentProps<Key>>;\n} & {\n SyntaxHighlighter?:\n | ComponentType<Omit<SyntaxHighlighterProps, \"node\">>\n | undefined;\n CodeHeader?: ComponentType<Omit<CodeHeaderProps, \"node\">> | undefined;\n};\n\nconst areChildrenEqual = (prev: string | unknown, next: string | unknown) => {\n if (typeof prev === \"string\") return prev === next;\n return JSON.stringify(prev) === JSON.stringify(next);\n};\n\nexport const areNodesEqual = (\n prev: Element | undefined,\n next: Element | undefined,\n) => {\n // TODO troubleshoot why this is triggering for code blocks\n if (!prev || !next) return false;\n const isEqual =\n JSON.stringify(prev?.properties) === JSON.stringify(next?.properties) &&\n areChildrenEqual(prev?.children, next?.children);\n return isEqual;\n};\n\nexport const memoCompareNodes = (\n prev: { node?: Element | undefined },\n next: { node?: Element | undefined },\n) => {\n return areNodesEqual(prev.node, next.node);\n};\n\nexport const memoizeMarkdownComponents = (components: Components = {}) => {\n return Object.fromEntries(\n Object.entries(components ?? {}).map(([key, value]) => {\n if (!value) return [key, value];\n\n const Component = value as ComponentType;\n const WithoutNode = ({ node, ...props }: { node?: Element }) => {\n return <Component {...props} />;\n };\n return [key, memo(WithoutNode, memoCompareNodes)];\n }),\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAiE;AA2ClD;AA/Bf,IAAM,mBAAmB,CAAC,MAAwB,SAA2B;AAC3E,MAAI,OAAO,SAAS,SAAU,QAAO,SAAS;AAC9C,SAAO,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,IAAI;AACrD;AAEO,IAAM,gBAAgB,CAC3B,MACA,SACG;AAEH,MAAI,CAAC,QAAQ,CAAC,KAAM,QAAO;AAC3B,QAAM,UACJ,KAAK,UAAU,MAAM,UAAU,MAAM,KAAK,UAAU,MAAM,UAAU,KACpE,iBAAiB,MAAM,UAAU,MAAM,QAAQ;AACjD,SAAO;AACT;AAEO,IAAM,mBAAmB,CAC9B,MACA,SACG;AACH,SAAO,cAAc,KAAK,MAAM,KAAK,IAAI;AAC3C;AAEO,IAAM,4BAA4B,CAAC,aAAyB,CAAC,MAAM;AACxE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAI,CAAC,MAAO,QAAO,CAAC,KAAK,KAAK;AAE9B,YAAM,YAAY;AAClB,YAAM,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,MAA0B;AAC9D,eAAO,4CAAC,aAAW,GAAG,OAAO;AAAA,MAC/B;AACA,aAAO,CAAC,SAAK,mBAAK,aAAa,gBAAgB,CAAC;AAAA,IAClD,CAAC;AAAA,EACH;AACF;","names":[]}
|
package/dist/memoization.mjs
CHANGED
|
@@ -6,7 +6,7 @@ var areChildrenEqual = (prev, next) => {
|
|
|
6
6
|
return JSON.stringify(prev) === JSON.stringify(next);
|
|
7
7
|
};
|
|
8
8
|
var areNodesEqual = (prev, next) => {
|
|
9
|
-
if (!prev || !next) return
|
|
9
|
+
if (!prev || !next) return false;
|
|
10
10
|
const isEqual = JSON.stringify(prev?.properties) === JSON.stringify(next?.properties) && areChildrenEqual(prev?.children, next?.children);
|
|
11
11
|
return isEqual;
|
|
12
12
|
};
|
package/dist/memoization.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/memoization.tsx"],"sourcesContent":["import { Element } from \"hast\";\nimport { ComponentProps, ComponentType, ElementType, memo } from \"react\";\nimport { CodeHeaderProps, SyntaxHighlighterProps } from \"./overrides/types\";\n\ntype Components = {\n [Key in Extract<ElementType, string>]?: ComponentType<ComponentProps<Key>>;\n} & {\n SyntaxHighlighter
|
|
1
|
+
{"version":3,"sources":["../src/memoization.tsx"],"sourcesContent":["import { Element } from \"hast\";\nimport { ComponentProps, ComponentType, ElementType, memo } from \"react\";\nimport { CodeHeaderProps, SyntaxHighlighterProps } from \"./overrides/types\";\n\ntype Components = {\n [Key in Extract<ElementType, string>]?: ComponentType<ComponentProps<Key>>;\n} & {\n SyntaxHighlighter?:\n | ComponentType<Omit<SyntaxHighlighterProps, \"node\">>\n | undefined;\n CodeHeader?: ComponentType<Omit<CodeHeaderProps, \"node\">> | undefined;\n};\n\nconst areChildrenEqual = (prev: string | unknown, next: string | unknown) => {\n if (typeof prev === \"string\") return prev === next;\n return JSON.stringify(prev) === JSON.stringify(next);\n};\n\nexport const areNodesEqual = (\n prev: Element | undefined,\n next: Element | undefined,\n) => {\n // TODO troubleshoot why this is triggering for code blocks\n if (!prev || !next) return false;\n const isEqual =\n JSON.stringify(prev?.properties) === JSON.stringify(next?.properties) &&\n areChildrenEqual(prev?.children, next?.children);\n return isEqual;\n};\n\nexport const memoCompareNodes = (\n prev: { node?: Element | undefined },\n next: { node?: Element | undefined },\n) => {\n return areNodesEqual(prev.node, next.node);\n};\n\nexport const memoizeMarkdownComponents = (components: Components = {}) => {\n return Object.fromEntries(\n Object.entries(components ?? {}).map(([key, value]) => {\n if (!value) return [key, value];\n\n const Component = value as ComponentType;\n const WithoutNode = ({ node, ...props }: { node?: Element }) => {\n return <Component {...props} />;\n };\n return [key, memo(WithoutNode, memoCompareNodes)];\n }),\n );\n};\n"],"mappings":";AACA,SAAqD,YAAY;AA2ClD;AA/Bf,IAAM,mBAAmB,CAAC,MAAwB,SAA2B;AAC3E,MAAI,OAAO,SAAS,SAAU,QAAO,SAAS;AAC9C,SAAO,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,IAAI;AACrD;AAEO,IAAM,gBAAgB,CAC3B,MACA,SACG;AAEH,MAAI,CAAC,QAAQ,CAAC,KAAM,QAAO;AAC3B,QAAM,UACJ,KAAK,UAAU,MAAM,UAAU,MAAM,KAAK,UAAU,MAAM,UAAU,KACpE,iBAAiB,MAAM,UAAU,MAAM,QAAQ;AACjD,SAAO;AACT;AAEO,IAAM,mBAAmB,CAC9B,MACA,SACG;AACH,SAAO,cAAc,KAAK,MAAM,KAAK,IAAI;AAC3C;AAEO,IAAM,4BAA4B,CAAC,aAAyB,CAAC,MAAM;AACxE,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrD,UAAI,CAAC,MAAO,QAAO,CAAC,KAAK,KAAK;AAE9B,YAAM,YAAY;AAClB,YAAM,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,MAA0B;AAC9D,eAAO,oBAAC,aAAW,GAAG,OAAO;AAAA,MAC/B;AACA,aAAO,CAAC,KAAK,KAAK,aAAa,gBAAgB,CAAC;AAAA,IAClD,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1,6 +1,8 @@
|
|
|
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 = {
|
|
5
|
+
node: Element | undefined;
|
|
4
6
|
language: string;
|
|
5
7
|
code: string;
|
|
6
8
|
components: {
|
|
@@ -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,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,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;CACH,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAqB/C,CAAC"}
|
|
@@ -27,6 +27,7 @@ var import_react = require("react");
|
|
|
27
27
|
var import_defaultComponents = require("./defaultComponents.js");
|
|
28
28
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
29
|
var DefaultCodeBlock = ({
|
|
30
|
+
node,
|
|
30
31
|
components: { Pre, Code, SyntaxHighlighter, CodeHeader },
|
|
31
32
|
language,
|
|
32
33
|
code
|
|
@@ -34,10 +35,11 @@ var DefaultCodeBlock = ({
|
|
|
34
35
|
const components = (0, import_react.useMemo)(() => ({ Pre, Code }), [Pre, Code]);
|
|
35
36
|
const SH = !!language ? SyntaxHighlighter : import_defaultComponents.DefaultCodeBlockContent;
|
|
36
37
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
37
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CodeHeader, { language, code }),
|
|
38
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CodeHeader, { node, language, code }),
|
|
38
39
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
39
40
|
SH,
|
|
40
41
|
{
|
|
42
|
+
node,
|
|
41
43
|
components,
|
|
42
44
|
language: language ?? "unknown",
|
|
43
45
|
code
|
|
@@ -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 node: Element | undefined;\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 node,\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 node={node} language={language} code={code} />\n <SH\n node={node}\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;AA0BpC;AAXG,IAAM,mBAAuC,CAAC;AAAA,EACnD;AAAA,EACA,YAAY,EAAE,KAAK,MAAM,mBAAmB,WAAW;AAAA,EACvD;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,MAAY,UAAoB,MAAY;AAAA,IACxD;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,UAAU,YAAY;AAAA,QACtB;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -3,6 +3,7 @@ import { useMemo } from "react";
|
|
|
3
3
|
import { DefaultCodeBlockContent } from "./defaultComponents.mjs";
|
|
4
4
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
var DefaultCodeBlock = ({
|
|
6
|
+
node,
|
|
6
7
|
components: { Pre, Code, SyntaxHighlighter, CodeHeader },
|
|
7
8
|
language,
|
|
8
9
|
code
|
|
@@ -10,10 +11,11 @@ var DefaultCodeBlock = ({
|
|
|
10
11
|
const components = useMemo(() => ({ Pre, Code }), [Pre, Code]);
|
|
11
12
|
const SH = !!language ? SyntaxHighlighter : DefaultCodeBlockContent;
|
|
12
13
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
13
|
-
/* @__PURE__ */ jsx(CodeHeader, { language, code }),
|
|
14
|
+
/* @__PURE__ */ jsx(CodeHeader, { node, language, code }),
|
|
14
15
|
/* @__PURE__ */ jsx(
|
|
15
16
|
SH,
|
|
16
17
|
{
|
|
18
|
+
node,
|
|
17
19
|
components,
|
|
18
20
|
language: language ?? "unknown",
|
|
19
21
|
code
|
|
@@ -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 node: Element | undefined;\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 node,\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 node={node} language={language} code={code} />\n <SH\n node={node}\n components={components}\n language={language ?? \"unknown\"}\n code={code}\n />\n </>\n );\n};\n"],"mappings":";AAAA,SAA4B,eAAe;AAQ3C,SAAS,+BAA+B;AA0BpC,mBACE,KADF;AAXG,IAAM,mBAAuC,CAAC;AAAA,EACnD;AAAA,EACA,YAAY,EAAE,KAAK,MAAM,mBAAmB,WAAW;AAAA,EACvD;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,MAAY,UAAoB,MAAY;AAAA,IACxD;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,UAAU,YAAY;AAAA,QACtB;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeOverride.d.ts","sourceRoot":"","sources":["../../src/overrides/CodeOverride.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,aAAa,EAId,MAAM,OAAO,CAAC;AAEf,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,EACL,wBAAwB,EACxB,aAAa,EAId,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAiEjB,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,EACjB,MAAM,CACJ,MAAM,EACN;QACE,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAC5C,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;KAC3D,CACF,GACD,SAAS,CAAC;CACf,CAAC;AAoBF,eAAO,MAAM,YAAY,yDAMvB,CAAC"}
|
|
@@ -32,6 +32,7 @@ var import_defaultComponents = require("./defaultComponents.js");
|
|
|
32
32
|
var import_memoization = require("../memoization.js");
|
|
33
33
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
34
34
|
var CodeBlockOverride = ({
|
|
35
|
+
node,
|
|
35
36
|
components: {
|
|
36
37
|
Pre,
|
|
37
38
|
Code,
|
|
@@ -52,6 +53,7 @@ var CodeBlockOverride = ({
|
|
|
52
53
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
53
54
|
import_defaultComponents.DefaultCodeBlockContent,
|
|
54
55
|
{
|
|
56
|
+
node,
|
|
55
57
|
components: { Pre: WrappedPre, Code: WrappedCode },
|
|
56
58
|
code: children
|
|
57
59
|
}
|
|
@@ -62,6 +64,7 @@ var CodeBlockOverride = ({
|
|
|
62
64
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
63
65
|
import_CodeBlock.DefaultCodeBlock,
|
|
64
66
|
{
|
|
67
|
+
node,
|
|
65
68
|
components: {
|
|
66
69
|
Pre: WrappedPre,
|
|
67
70
|
Code: WrappedCode,
|
|
@@ -74,6 +77,7 @@ var CodeBlockOverride = ({
|
|
|
74
77
|
);
|
|
75
78
|
};
|
|
76
79
|
var CodeOverrideImpl = ({
|
|
80
|
+
node,
|
|
77
81
|
components,
|
|
78
82
|
componentsByLanguage,
|
|
79
83
|
...props
|
|
@@ -83,6 +87,7 @@ var CodeOverrideImpl = ({
|
|
|
83
87
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
84
88
|
CodeBlockOverride,
|
|
85
89
|
{
|
|
90
|
+
node,
|
|
86
91
|
components,
|
|
87
92
|
componentsByLanguage,
|
|
88
93
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ComponentType,\n FC,\n memo,\n useContext,\n} from \"react\";\nimport { PreContext, useIsMarkdownCodeBlock } 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\";\nimport { memoCompareNodes } from \"../memoization\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n },\n componentsByLanguage = {},\n children,\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 />\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 />\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?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;\n }\n >\n | undefined;\n};\n\nconst CodeOverrideImpl: FC<CodeOverrideProps> = ({\n components,\n componentsByLanguage,\n ...props\n}) => {\n const isCodeBlock = useIsMarkdownCodeBlock();\n if (!isCodeBlock) return <components.Code {...props} />;\n return (\n <CodeBlockOverride\n components={components}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n );\n};\n\nexport const CodeOverride = memo(CodeOverrideImpl, (prev, next) => {\n const isEqual =\n prev.components === next.components &&\n prev.componentsByLanguage === next.componentsByLanguage &&\n memoCompareNodes(prev, next);\n return isEqual;\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMO;AACP,yBAAmD;AAOnD,uBAAiC;AACjC,oCAA+B;AAC/B,0BAAiC;AACjC,+BAAwC;AACxC,yBAAiC;
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ComponentType,\n FC,\n memo,\n useContext,\n} from \"react\";\nimport { PreContext, useIsMarkdownCodeBlock } 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\";\nimport { memoCompareNodes } from \"../memoization\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n node,\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n },\n componentsByLanguage = {},\n children,\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 node={node}\n components={{ Pre: WrappedPre, Code: WrappedCode }}\n code={children}\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 node={node}\n components={{\n Pre: WrappedPre,\n Code: WrappedCode,\n SyntaxHighlighter,\n CodeHeader,\n }}\n language={language || \"unknown\"}\n code={children}\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?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;\n }\n >\n | undefined;\n};\n\nconst CodeOverrideImpl: FC<CodeOverrideProps> = ({\n node,\n components,\n componentsByLanguage,\n ...props\n}) => {\n const isCodeBlock = useIsMarkdownCodeBlock();\n if (!isCodeBlock) return <components.Code {...props} />;\n return (\n <CodeBlockOverride\n node={node}\n components={components}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n );\n};\n\nexport const CodeOverride = memo(CodeOverrideImpl, (prev, next) => {\n const isEqual =\n prev.components === next.components &&\n prev.componentsByLanguage === next.componentsByLanguage &&\n memoCompareNodes(prev, next);\n return isEqual;\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMO;AACP,yBAAmD;AAOnD,uBAAiC;AACjC,oCAA+B;AAC/B,0BAAiC;AACjC,+BAAwC;AACxC,yBAAiC;AAiB7B;AAfJ,IAAM,oBAA2C,CAAC;AAAA,EAChD;AAAA,EACA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,YAAY;AAAA,EACd;AAAA,EACA,uBAAuB,CAAC;AAAA,EACxB;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;AAAA,QACA,YAAY,EAAE,KAAK,YAAY,MAAM,YAAY;AAAA,QACjD,MAAM;AAAA;AAAA,IACR;AAAA,EAEJ;AAEA,QAAM,oBACJ,qBAAqB,QAAQ,GAAG,qBAChC;AAEF,QAAM,aACJ,qBAAqB,QAAQ,GAAG,cAAc;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU,YAAY;AAAA,MACtB,MAAM;AAAA;AAAA,EACR;AAEJ;AAoBA,IAAM,mBAA0C,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,kBAAc,2CAAuB;AAC3C,MAAI,CAAC,YAAa,QAAO,4CAAC,WAAW,MAAX,EAAiB,GAAG,OAAO;AACrD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,IAAM,mBAAe,mBAAK,kBAAkB,CAAC,MAAM,SAAS;AACjE,QAAM,UACJ,KAAK,eAAe,KAAK,cACzB,KAAK,yBAAyB,KAAK,4BACnC,qCAAiB,MAAM,IAAI;AAC7B,SAAO;AACT,CAAC;","names":[]}
|
|
@@ -11,6 +11,7 @@ import { DefaultCodeBlockContent } from "./defaultComponents.mjs";
|
|
|
11
11
|
import { memoCompareNodes } from "../memoization.mjs";
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
13
|
var CodeBlockOverride = ({
|
|
14
|
+
node,
|
|
14
15
|
components: {
|
|
15
16
|
Pre,
|
|
16
17
|
Code,
|
|
@@ -31,6 +32,7 @@ var CodeBlockOverride = ({
|
|
|
31
32
|
return /* @__PURE__ */ jsx(
|
|
32
33
|
DefaultCodeBlockContent,
|
|
33
34
|
{
|
|
35
|
+
node,
|
|
34
36
|
components: { Pre: WrappedPre, Code: WrappedCode },
|
|
35
37
|
code: children
|
|
36
38
|
}
|
|
@@ -41,6 +43,7 @@ var CodeBlockOverride = ({
|
|
|
41
43
|
return /* @__PURE__ */ jsx(
|
|
42
44
|
DefaultCodeBlock,
|
|
43
45
|
{
|
|
46
|
+
node,
|
|
44
47
|
components: {
|
|
45
48
|
Pre: WrappedPre,
|
|
46
49
|
Code: WrappedCode,
|
|
@@ -53,6 +56,7 @@ var CodeBlockOverride = ({
|
|
|
53
56
|
);
|
|
54
57
|
};
|
|
55
58
|
var CodeOverrideImpl = ({
|
|
59
|
+
node,
|
|
56
60
|
components,
|
|
57
61
|
componentsByLanguage,
|
|
58
62
|
...props
|
|
@@ -62,6 +66,7 @@ var CodeOverrideImpl = ({
|
|
|
62
66
|
return /* @__PURE__ */ jsx(
|
|
63
67
|
CodeBlockOverride,
|
|
64
68
|
{
|
|
69
|
+
node,
|
|
65
70
|
components,
|
|
66
71
|
componentsByLanguage,
|
|
67
72
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ComponentType,\n FC,\n memo,\n useContext,\n} from \"react\";\nimport { PreContext, useIsMarkdownCodeBlock } 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\";\nimport { memoCompareNodes } from \"../memoization\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n },\n componentsByLanguage = {},\n children,\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 />\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 />\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?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;\n }\n >\n | undefined;\n};\n\nconst CodeOverrideImpl: FC<CodeOverrideProps> = ({\n components,\n componentsByLanguage,\n ...props\n}) => {\n const isCodeBlock = useIsMarkdownCodeBlock();\n if (!isCodeBlock) return <components.Code {...props} />;\n return (\n <CodeBlockOverride\n components={components}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n );\n};\n\nexport const CodeOverride = memo(CodeOverrideImpl, (prev, next) => {\n const isEqual =\n prev.components === next.components &&\n prev.componentsByLanguage === next.componentsByLanguage &&\n memoCompareNodes(prev, next);\n return isEqual;\n});\n"],"mappings":";AAAA;AAAA,EAIE;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY,8BAA8B;AAOnD,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;
|
|
1
|
+
{"version":3,"sources":["../../src/overrides/CodeOverride.tsx"],"sourcesContent":["import {\n ComponentPropsWithoutRef,\n ComponentType,\n FC,\n memo,\n useContext,\n} from \"react\";\nimport { PreContext, useIsMarkdownCodeBlock } 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\";\nimport { memoCompareNodes } from \"../memoization\";\n\nconst CodeBlockOverride: FC<CodeOverrideProps> = ({\n node,\n components: {\n Pre,\n Code,\n SyntaxHighlighter: FallbackSyntaxHighlighter,\n CodeHeader: FallbackCodeHeader,\n },\n componentsByLanguage = {},\n children,\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 node={node}\n components={{ Pre: WrappedPre, Code: WrappedCode }}\n code={children}\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 node={node}\n components={{\n Pre: WrappedPre,\n Code: WrappedCode,\n SyntaxHighlighter,\n CodeHeader,\n }}\n language={language || \"unknown\"}\n code={children}\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?:\n | Record<\n string,\n {\n CodeHeader?: ComponentType<CodeHeaderProps>;\n SyntaxHighlighter?: ComponentType<SyntaxHighlighterProps>;\n }\n >\n | undefined;\n};\n\nconst CodeOverrideImpl: FC<CodeOverrideProps> = ({\n node,\n components,\n componentsByLanguage,\n ...props\n}) => {\n const isCodeBlock = useIsMarkdownCodeBlock();\n if (!isCodeBlock) return <components.Code {...props} />;\n return (\n <CodeBlockOverride\n node={node}\n components={components}\n componentsByLanguage={componentsByLanguage}\n {...props}\n />\n );\n};\n\nexport const CodeOverride = memo(CodeOverrideImpl, (prev, next) => {\n const isEqual =\n prev.components === next.components &&\n prev.componentsByLanguage === next.componentsByLanguage &&\n memoCompareNodes(prev, next);\n return isEqual;\n});\n"],"mappings":";AAAA;AAAA,EAIE;AAAA,EACA;AAAA,OACK;AACP,SAAS,YAAY,8BAA8B;AAOnD,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;AAiB7B;AAfJ,IAAM,oBAA2C,CAAC;AAAA,EAChD;AAAA,EACA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB,YAAY;AAAA,EACd;AAAA,EACA,uBAAuB,CAAC;AAAA,EACxB;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;AAAA,QACA,YAAY,EAAE,KAAK,YAAY,MAAM,YAAY;AAAA,QACjD,MAAM;AAAA;AAAA,IACR;AAAA,EAEJ;AAEA,QAAM,oBACJ,qBAAqB,QAAQ,GAAG,qBAChC;AAEF,QAAM,aACJ,qBAAqB,QAAQ,GAAG,cAAc;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF;AAAA,MACA,UAAU,YAAY;AAAA,MACtB,MAAM;AAAA;AAAA,EACR;AAEJ;AAoBA,IAAM,mBAA0C,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAc,uBAAuB;AAC3C,MAAI,CAAC,YAAa,QAAO,oBAAC,WAAW,MAAX,EAAiB,GAAG,OAAO;AACrD,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEO,IAAM,eAAe,KAAK,kBAAkB,CAAC,MAAM,SAAS;AACjE,QAAM,UACJ,KAAK,eAAe,KAAK,cACzB,KAAK,yBAAyB,KAAK,wBACnC,iBAAiB,MAAM,IAAI;AAC7B,SAAO;AACT,CAAC;","names":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from "react";
|
|
2
2
|
import { PreComponent, CodeComponent, CodeHeaderProps } from "./types";
|
|
3
|
+
import { Element } from "hast";
|
|
3
4
|
export declare const DefaultPre: PreComponent;
|
|
4
5
|
export declare const DefaultCode: CodeComponent;
|
|
5
6
|
export declare const DefaultCodeBlockContent: ComponentType<{
|
|
7
|
+
node: Element | undefined;
|
|
6
8
|
components: {
|
|
7
9
|
Pre: PreComponent;
|
|
8
10
|
Code: CodeComponent;
|
|
@@ -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;
|
|
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;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,eAAO,MAAM,UAAU,EAAE,YAExB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,aAEzB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC;IAClD,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC;IACvD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC,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 = ({ node, components: { Pre, Code }, code }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Pre, { 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 { PreComponent, CodeComponent, CodeHeaderProps } from \"./types\";\nimport { Element } from \"hast\";\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 node: Element | undefined;\n components: { Pre: PreComponent; Code: CodeComponent };\n code: string | ReactNode | undefined;\n}> = ({ node, components: { Pre, Code }, code }) => (\n <Pre>\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,MAAM,YAAY,EAAE,KAAK,KAAK,GAAG,KAAK,MAC5C,4CAAC,OACC,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 = ({ node, components: { Pre, Code }, code }) => /* @__PURE__ */ jsx(Pre, { 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 { PreComponent, CodeComponent, CodeHeaderProps } from \"./types\";\nimport { Element } from \"hast\";\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 node: Element | undefined;\n components: { Pre: PreComponent; Code: CodeComponent };\n code: string | ReactNode | undefined;\n}> = ({ node, components: { Pre, Code }, code }) => (\n <Pre>\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,MAAM,YAAY,EAAE,KAAK,KAAK,GAAG,KAAK,MAC5C,oBAAC,OACC,8BAAC,QAAK,MAAa,gBAAK,GAC1B;AAGK,IAAM,oBAAoD,MAAM;","names":[]}
|
|
@@ -7,10 +7,12 @@ export type CodeComponent = ComponentType<ComponentPropsWithoutRef<"code"> & {
|
|
|
7
7
|
node?: Element | undefined;
|
|
8
8
|
}>;
|
|
9
9
|
export type CodeHeaderProps = {
|
|
10
|
+
node?: Element | undefined;
|
|
10
11
|
language: string | undefined;
|
|
11
12
|
code: string;
|
|
12
13
|
};
|
|
13
14
|
export type SyntaxHighlighterProps = {
|
|
15
|
+
node?: Element | undefined;
|
|
14
16
|
components: {
|
|
15
17
|
Pre: PreComponent;
|
|
16
18
|
Code: CodeComponent;
|
|
@@ -1 +1 @@
|
|
|
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,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,CACjE,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,aAAa,CACvC,wBAAwB,CAAC,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,CAClE,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
|
+
{"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,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,CACjE,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,aAAa,CACvC,wBAAwB,CAAC,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,CAClE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,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 { Element } from \"hast\";\nimport { ComponentPropsWithoutRef, ComponentType } from \"react\";\n\nexport type PreComponent = ComponentType<\n ComponentPropsWithoutRef<\"pre\"> & { node?: Element | undefined }\n>;\nexport type CodeComponent = ComponentType<\n ComponentPropsWithoutRef<\"code\"> & { node?: Element | undefined }\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
|
+
{"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 | undefined }\n>;\nexport type CodeComponent = ComponentType<\n ComponentPropsWithoutRef<\"code\"> & { node?: Element | undefined }\n>;\n\nexport type CodeHeaderProps = {\n node?: Element | undefined;\n language: string | undefined;\n code: string;\n};\n\nexport type SyntaxHighlighterProps = {\n node?: Element | undefined;\n components: {\n Pre: PreComponent;\n Code: CodeComponent;\n };\n language: string;\n code: string;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react-markdown",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -8,16 +8,8 @@
|
|
|
8
8
|
"import": "./dist/index.mjs",
|
|
9
9
|
"require": "./dist/index.js"
|
|
10
10
|
},
|
|
11
|
-
"./tailwindcss": {
|
|
12
|
-
"types": "./dist/tailwindcss/index.d.ts",
|
|
13
|
-
"import": "./dist/tailwindcss/index.mjs",
|
|
14
|
-
"require": "./dist/tailwindcss/index.js"
|
|
15
|
-
},
|
|
16
11
|
"./styles/dot.css": {
|
|
17
12
|
"default": "./styles/dot.css"
|
|
18
|
-
},
|
|
19
|
-
"./styles/*": {
|
|
20
|
-
"default": "./dist/styles/*"
|
|
21
13
|
}
|
|
22
14
|
},
|
|
23
15
|
"source": "./src/index.ts",
|
|
@@ -26,7 +18,6 @@
|
|
|
26
18
|
"types": "./dist/index.d.ts",
|
|
27
19
|
"files": [
|
|
28
20
|
"dist",
|
|
29
|
-
"tailwindcss",
|
|
30
21
|
"src",
|
|
31
22
|
"styles",
|
|
32
23
|
"README.md"
|
|
@@ -37,11 +28,10 @@
|
|
|
37
28
|
"@radix-ui/react-use-callback-ref": "^1.1.0",
|
|
38
29
|
"@types/hast": "^3.0.4",
|
|
39
30
|
"classnames": "^2.5.1",
|
|
40
|
-
"lucide-react": "^0.475.0",
|
|
41
31
|
"react-markdown": "^9.0.3"
|
|
42
32
|
},
|
|
43
33
|
"peerDependencies": {
|
|
44
|
-
"@assistant-ui/react": "^0.
|
|
34
|
+
"@assistant-ui/react": "^0.8.0",
|
|
45
35
|
"@types/react": "*",
|
|
46
36
|
"react": "^18 || ^19 || ^19.0.0-rc"
|
|
47
37
|
},
|
|
@@ -52,19 +42,14 @@
|
|
|
52
42
|
},
|
|
53
43
|
"devDependencies": {
|
|
54
44
|
"@types/node": "^22.13.1",
|
|
55
|
-
"autoprefixer": "^10.4.20",
|
|
56
45
|
"eslint": "^9",
|
|
57
46
|
"eslint-config-next": "15.1.6",
|
|
58
|
-
"postcss": "^8.5.1",
|
|
59
47
|
"react": "19.0.0",
|
|
60
48
|
"react-dom": "19.0.0",
|
|
61
|
-
"tailwindcss": "^3.4.17",
|
|
62
|
-
"tailwindcss-animate": "^1.0.7",
|
|
63
49
|
"tsx": "^4.19.2",
|
|
64
50
|
"@assistant-ui/tsbuildutils": "^0.0.1",
|
|
65
|
-
"@assistant-ui/
|
|
66
|
-
"@assistant-ui/
|
|
67
|
-
"@assistant-ui/tailwindcss-transformer": "0.1.0"
|
|
51
|
+
"@assistant-ui/react": "0.8.0",
|
|
52
|
+
"@assistant-ui/tsconfig": "0.0.0"
|
|
68
53
|
},
|
|
69
54
|
"publishConfig": {
|
|
70
55
|
"access": "public",
|
package/src/index.ts
CHANGED
|
@@ -9,16 +9,4 @@ export type {
|
|
|
9
9
|
} from "./overrides/types";
|
|
10
10
|
|
|
11
11
|
export { useIsMarkdownCodeBlock } from "./overrides/PreOverride";
|
|
12
|
-
|
|
13
|
-
export {
|
|
14
|
-
/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
|
|
15
|
-
makeMarkdownText,
|
|
16
|
-
|
|
17
|
-
/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
|
|
18
|
-
type MakeMarkdownTextProps,
|
|
19
|
-
} from "./ui/markdown-text";
|
|
20
|
-
|
|
21
|
-
/** @deprecated This export was moved to `@assistant-ui/react-ui`. Use the migration codemod to update your code, by running `npx assistant-ui upgrade`. */
|
|
22
|
-
export { CodeHeader } from "./ui/code-header";
|
|
23
|
-
|
|
24
12
|
export { memoizeMarkdownComponents as unstable_memoizeMarkdownComponents } from "./memoization";
|
package/src/memoization.tsx
CHANGED
|
@@ -5,8 +5,10 @@ import { CodeHeaderProps, SyntaxHighlighterProps } from "./overrides/types";
|
|
|
5
5
|
type Components = {
|
|
6
6
|
[Key in Extract<ElementType, string>]?: ComponentType<ComponentProps<Key>>;
|
|
7
7
|
} & {
|
|
8
|
-
SyntaxHighlighter?:
|
|
9
|
-
|
|
8
|
+
SyntaxHighlighter?:
|
|
9
|
+
| ComponentType<Omit<SyntaxHighlighterProps, "node">>
|
|
10
|
+
| undefined;
|
|
11
|
+
CodeHeader?: ComponentType<Omit<CodeHeaderProps, "node">> | undefined;
|
|
10
12
|
};
|
|
11
13
|
|
|
12
14
|
const areChildrenEqual = (prev: string | unknown, next: string | unknown) => {
|
|
@@ -18,7 +20,8 @@ export const areNodesEqual = (
|
|
|
18
20
|
prev: Element | undefined,
|
|
19
21
|
next: Element | undefined,
|
|
20
22
|
) => {
|
|
21
|
-
|
|
23
|
+
// TODO troubleshoot why this is triggering for code blocks
|
|
24
|
+
if (!prev || !next) return false;
|
|
22
25
|
const isEqual =
|
|
23
26
|
JSON.stringify(prev?.properties) === JSON.stringify(next?.properties) &&
|
|
24
27
|
areChildrenEqual(prev?.children, next?.children);
|
|
@@ -7,8 +7,10 @@ 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 = {
|
|
13
|
+
node: Element | undefined;
|
|
12
14
|
language: string;
|
|
13
15
|
code: string;
|
|
14
16
|
components: {
|
|
@@ -20,6 +22,7 @@ export type CodeBlockProps = {
|
|
|
20
22
|
};
|
|
21
23
|
|
|
22
24
|
export const DefaultCodeBlock: FC<CodeBlockProps> = ({
|
|
25
|
+
node,
|
|
23
26
|
components: { Pre, Code, SyntaxHighlighter, CodeHeader },
|
|
24
27
|
language,
|
|
25
28
|
code,
|
|
@@ -30,8 +33,9 @@ export const DefaultCodeBlock: FC<CodeBlockProps> = ({
|
|
|
30
33
|
|
|
31
34
|
return (
|
|
32
35
|
<>
|
|
33
|
-
<CodeHeader language={language} code={code} />
|
|
36
|
+
<CodeHeader node={node} language={language} code={code} />
|
|
34
37
|
<SH
|
|
38
|
+
node={node}
|
|
35
39
|
components={components}
|
|
36
40
|
language={language ?? "unknown"}
|
|
37
41
|
code={code}
|