@assistant-ui/react-markdown 0.7.19 → 0.7.21
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/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/dist/tailwindcss/index.js +72 -1
- package/dist/tailwindcss/index.js.map +1 -1
- package/dist/tailwindcss/index.mjs +96 -2
- package/dist/tailwindcss/index.mjs.map +1 -1
- package/package.json +4 -8
- 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/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":[]}
|
|
@@ -5,6 +5,9 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
9
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
+
};
|
|
8
11
|
var __export = (target, all) => {
|
|
9
12
|
for (var name in all)
|
|
10
13
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -27,13 +30,81 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
30
|
));
|
|
28
31
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
32
|
|
|
33
|
+
// ../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js
|
|
34
|
+
var require_createPlugin = __commonJS({
|
|
35
|
+
"../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js"(exports2) {
|
|
36
|
+
"use strict";
|
|
37
|
+
Object.defineProperty(exports2, "__esModule", {
|
|
38
|
+
value: true
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(exports2, "default", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function() {
|
|
43
|
+
return _default;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
function createPlugin(plugin2, config) {
|
|
47
|
+
return {
|
|
48
|
+
handler: plugin2,
|
|
49
|
+
config
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
createPlugin.withOptions = function(pluginFunction, configFunction = () => ({})) {
|
|
53
|
+
const optionsFunction = function(options) {
|
|
54
|
+
return {
|
|
55
|
+
__options: options,
|
|
56
|
+
handler: pluginFunction(options),
|
|
57
|
+
config: configFunction(options)
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
optionsFunction.__isOptionsFunction = true;
|
|
61
|
+
optionsFunction.__pluginFunction = pluginFunction;
|
|
62
|
+
optionsFunction.__configFunction = configFunction;
|
|
63
|
+
return optionsFunction;
|
|
64
|
+
};
|
|
65
|
+
var _default = createPlugin;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// ../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js
|
|
70
|
+
var require_create_plugin = __commonJS({
|
|
71
|
+
"../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js"(exports2) {
|
|
72
|
+
"use strict";
|
|
73
|
+
Object.defineProperty(exports2, "__esModule", {
|
|
74
|
+
value: true
|
|
75
|
+
});
|
|
76
|
+
Object.defineProperty(exports2, "default", {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function() {
|
|
79
|
+
return _default;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
var _createPlugin = /* @__PURE__ */ _interop_require_default(require_createPlugin());
|
|
83
|
+
function _interop_require_default(obj) {
|
|
84
|
+
return obj && obj.__esModule ? obj : {
|
|
85
|
+
default: obj
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
var _default = _createPlugin.default;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// ../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js
|
|
93
|
+
var require_plugin = __commonJS({
|
|
94
|
+
"../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js"(exports2, module2) {
|
|
95
|
+
"use strict";
|
|
96
|
+
var createPlugin = require_create_plugin();
|
|
97
|
+
module2.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
|
|
30
101
|
// src/tailwindcss/index.ts
|
|
31
102
|
var tailwindcss_exports = {};
|
|
32
103
|
__export(tailwindcss_exports, {
|
|
33
104
|
default: () => tailwindcss_default
|
|
34
105
|
});
|
|
35
106
|
module.exports = __toCommonJS(tailwindcss_exports);
|
|
36
|
-
var import_plugin = __toESM(
|
|
107
|
+
var import_plugin = __toESM(require_plugin());
|
|
37
108
|
var import_markdown_css = __toESM(require("../../dist/styles/tailwindcss/markdown.css.json"));
|
|
38
109
|
var auiPlugin = import_plugin.default.withOptions(() => ({ addComponents }) => {
|
|
39
110
|
addComponents(import_markdown_css.default);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tailwindcss/index.ts"],"sourcesContent":["import plugin from \"tailwindcss/plugin.js\";\nimport markdownCSS from \"../../dist/styles/tailwindcss/markdown.css.json\";\n\nconst auiPlugin = plugin.withOptions<{}>(() => ({ addComponents }) => {\n addComponents(markdownCSS);\n});\n\nexport default auiPlugin;\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js","../../../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js","../../../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js","../../src/tailwindcss/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","import plugin from \"tailwindcss/plugin.js\";\nimport markdownCSS from \"../../dist/styles/tailwindcss/markdown.css.json\";\n\nconst auiPlugin = plugin.withOptions<{}>(() => ({ addComponents }) => {\n addComponents(markdownCSS);\n});\n\nexport default auiPlugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,kGAAAA,UAAA;AAAA;AACA,WAAO,eAAeA,UAAS,cAAc;AAAA,MACzC,OAAO;AAAA,IACX,CAAC;AACD,WAAO,eAAeA,UAAS,WAAW;AAAA,MACtC,YAAY;AAAA,MACZ,KAAK,WAAW;AACZ,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AACD,aAAS,aAAaC,SAAQ,QAAQ;AAClC,aAAO;AAAA,QACH,SAASA;AAAA,QACT;AAAA,MACJ;AAAA,IACJ;AACA,iBAAa,cAAc,SAAS,gBAAgB,iBAAiB,OAAK,CAAC,IAAI;AAC3E,YAAM,kBAAkB,SAAS,SAAS;AACtC,eAAO;AAAA,UACH,WAAW;AAAA,UACX,SAAS,eAAe,OAAO;AAAA,UAC/B,QAAQ,eAAe,OAAO;AAAA,QAClC;AAAA,MACJ;AACA,sBAAgB,sBAAsB;AAGtC,sBAAgB,mBAAmB;AACnC,sBAAgB,mBAAmB;AACnC,aAAO;AAAA,IACX;AACA,QAAM,WAAW;AAAA;AAAA;;;AC/BjB;AAAA,qGAAAC,UAAA;AAAA;AACA,WAAO,eAAeA,UAAS,cAAc;AAAA,MACzC,OAAO;AAAA,IACX,CAAC;AACD,WAAO,eAAeA,UAAS,WAAW;AAAA,MACtC,YAAY;AAAA,MACZ,KAAK,WAAW;AACZ,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AACD,QAAM,gBAA8B,yCAAyB,sBAA+B;AAC5F,aAAS,yBAAyB,KAAK;AACnC,aAAO,OAAO,IAAI,aAAa,MAAM;AAAA,QACjC,SAAS;AAAA,MACb;AAAA,IACJ;AACA,QAAM,WAAW,cAAc;AAAA;AAAA;;;AChB/B;AAAA,mFAAAC,UAAAC,SAAA;AAAA;AAAA,QAAI,eAAe;AACnB,IAAAA,QAAO,WAAW,aAAa,aAAa,eAAe,EAAE,SAAS,aAAa,GAAG;AAAA;AAAA;;;ACDtF;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,0BAAwB;AAExB,IAAM,YAAY,cAAAC,QAAO,YAAgB,MAAM,CAAC,EAAE,cAAc,MAAM;AACpE,gBAAc,oBAAAC,OAAW;AAC3B,CAAC;AAED,IAAO,sBAAQ;","names":["exports","plugin","exports","exports","module","plugin","markdownCSS"]}
|
|
@@ -1,7 +1,101 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
26
|
+
|
|
27
|
+
// ../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js
|
|
28
|
+
var require_createPlugin = __commonJS({
|
|
29
|
+
"../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js"(exports) {
|
|
30
|
+
"use strict";
|
|
31
|
+
Object.defineProperty(exports, "__esModule", {
|
|
32
|
+
value: true
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, "default", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function() {
|
|
37
|
+
return _default;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
function createPlugin(plugin2, config) {
|
|
41
|
+
return {
|
|
42
|
+
handler: plugin2,
|
|
43
|
+
config
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
createPlugin.withOptions = function(pluginFunction, configFunction = () => ({})) {
|
|
47
|
+
const optionsFunction = function(options) {
|
|
48
|
+
return {
|
|
49
|
+
__options: options,
|
|
50
|
+
handler: pluginFunction(options),
|
|
51
|
+
config: configFunction(options)
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
optionsFunction.__isOptionsFunction = true;
|
|
55
|
+
optionsFunction.__pluginFunction = pluginFunction;
|
|
56
|
+
optionsFunction.__configFunction = configFunction;
|
|
57
|
+
return optionsFunction;
|
|
58
|
+
};
|
|
59
|
+
var _default = createPlugin;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// ../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js
|
|
64
|
+
var require_create_plugin = __commonJS({
|
|
65
|
+
"../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js"(exports) {
|
|
66
|
+
"use strict";
|
|
67
|
+
Object.defineProperty(exports, "__esModule", {
|
|
68
|
+
value: true
|
|
69
|
+
});
|
|
70
|
+
Object.defineProperty(exports, "default", {
|
|
71
|
+
enumerable: true,
|
|
72
|
+
get: function() {
|
|
73
|
+
return _default;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
var _createPlugin = /* @__PURE__ */ _interop_require_default(require_createPlugin());
|
|
77
|
+
function _interop_require_default(obj) {
|
|
78
|
+
return obj && obj.__esModule ? obj : {
|
|
79
|
+
default: obj
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
var _default = _createPlugin.default;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// ../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js
|
|
87
|
+
var require_plugin = __commonJS({
|
|
88
|
+
"../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js"(exports, module) {
|
|
89
|
+
"use strict";
|
|
90
|
+
var createPlugin = require_create_plugin();
|
|
91
|
+
module.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
|
|
1
95
|
// src/tailwindcss/index.ts
|
|
2
|
-
|
|
96
|
+
var import_plugin = __toESM(require_plugin());
|
|
3
97
|
import markdownCSS from "../../dist/styles/tailwindcss/markdown.css.json";
|
|
4
|
-
var auiPlugin =
|
|
98
|
+
var auiPlugin = import_plugin.default.withOptions(() => ({ addComponents }) => {
|
|
5
99
|
addComponents(markdownCSS);
|
|
6
100
|
});
|
|
7
101
|
var tailwindcss_default = auiPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/tailwindcss/index.ts"],"sourcesContent":["import plugin from \"tailwindcss/plugin.js\";\nimport markdownCSS from \"../../dist/styles/tailwindcss/markdown.css.json\";\n\nconst auiPlugin = plugin.withOptions<{}>(() => ({ addComponents }) => {\n addComponents(markdownCSS);\n});\n\nexport default auiPlugin;\n"],"mappings":";AAAA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AAExB,IAAM,YAAY,
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/util/createPlugin.js","../../../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/lib/public/create-plugin.js","../../../../node_modules/.pnpm/tailwindcss@3.4.17/node_modules/tailwindcss/plugin.js","../../src/tailwindcss/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","import plugin from \"tailwindcss/plugin.js\";\nimport markdownCSS from \"../../dist/styles/tailwindcss/markdown.css.json\";\n\nconst auiPlugin = plugin.withOptions<{}>(() => ({ addComponents }) => {\n addComponents(markdownCSS);\n});\n\nexport default auiPlugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc;AAAA,MACzC,OAAO;AAAA,IACX,CAAC;AACD,WAAO,eAAe,SAAS,WAAW;AAAA,MACtC,YAAY;AAAA,MACZ,KAAK,WAAW;AACZ,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AACD,aAAS,aAAaA,SAAQ,QAAQ;AAClC,aAAO;AAAA,QACH,SAASA;AAAA,QACT;AAAA,MACJ;AAAA,IACJ;AACA,iBAAa,cAAc,SAAS,gBAAgB,iBAAiB,OAAK,CAAC,IAAI;AAC3E,YAAM,kBAAkB,SAAS,SAAS;AACtC,eAAO;AAAA,UACH,WAAW;AAAA,UACX,SAAS,eAAe,OAAO;AAAA,UAC/B,QAAQ,eAAe,OAAO;AAAA,QAClC;AAAA,MACJ;AACA,sBAAgB,sBAAsB;AAGtC,sBAAgB,mBAAmB;AACnC,sBAAgB,mBAAmB;AACnC,aAAO;AAAA,IACX;AACA,QAAM,WAAW;AAAA;AAAA;;;AC/BjB;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc;AAAA,MACzC,OAAO;AAAA,IACX,CAAC;AACD,WAAO,eAAe,SAAS,WAAW;AAAA,MACtC,YAAY;AAAA,MACZ,KAAK,WAAW;AACZ,eAAO;AAAA,MACX;AAAA,IACJ,CAAC;AACD,QAAM,gBAA8B,yCAAyB,sBAA+B;AAC5F,aAAS,yBAAyB,KAAK;AACnC,aAAO,OAAO,IAAI,aAAa,MAAM;AAAA,QACjC,SAAS;AAAA,MACb;AAAA,IACJ;AACA,QAAM,WAAW,cAAc;AAAA;AAAA;;;AChB/B;AAAA;AAAA;AAAA,QAAI,eAAe;AACnB,WAAO,WAAW,aAAa,aAAa,eAAe,EAAE,SAAS,aAAa,GAAG;AAAA;AAAA;;;ACDtF,oBAAmB;AACnB,OAAO,iBAAiB;AAExB,IAAM,YAAY,cAAAC,QAAO,YAAgB,MAAM,CAAC,EAAE,cAAc,MAAM;AACpE,gBAAc,WAAW;AAC3B,CAAC;AAED,IAAO,sBAAQ;","names":["plugin","plugin"]}
|
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.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -41,17 +41,13 @@
|
|
|
41
41
|
"react-markdown": "^9.0.3"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@assistant-ui/react": "^0.7.
|
|
44
|
+
"@assistant-ui/react": "^0.7.88",
|
|
45
45
|
"@types/react": "*",
|
|
46
|
-
"react": "^18 || ^19 || ^19.0.0-rc"
|
|
47
|
-
"tailwindcss": "^3.4.4"
|
|
46
|
+
"react": "^18 || ^19 || ^19.0.0-rc"
|
|
48
47
|
},
|
|
49
48
|
"peerDependenciesMeta": {
|
|
50
49
|
"@types/react": {
|
|
51
50
|
"optional": true
|
|
52
|
-
},
|
|
53
|
-
"tailwindcss": {
|
|
54
|
-
"optional": true
|
|
55
51
|
}
|
|
56
52
|
},
|
|
57
53
|
"devDependencies": {
|
|
@@ -65,7 +61,7 @@
|
|
|
65
61
|
"tailwindcss": "^3.4.17",
|
|
66
62
|
"tailwindcss-animate": "^1.0.7",
|
|
67
63
|
"tsx": "^4.19.2",
|
|
68
|
-
"@assistant-ui/react": "0.7.
|
|
64
|
+
"@assistant-ui/react": "0.7.88",
|
|
69
65
|
"@assistant-ui/tailwindcss-transformer": "0.1.0",
|
|
70
66
|
"@assistant-ui/tsbuildutils": "^0.0.1",
|
|
71
67
|
"@assistant-ui/tsconfig": "0.0.0"
|
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}
|
|
@@ -19,6 +19,7 @@ import { DefaultCodeBlockContent } from "./defaultComponents";
|
|
|
19
19
|
import { memoCompareNodes } from "../memoization";
|
|
20
20
|
|
|
21
21
|
const CodeBlockOverride: FC<CodeOverrideProps> = ({
|
|
22
|
+
node,
|
|
22
23
|
components: {
|
|
23
24
|
Pre,
|
|
24
25
|
Code,
|
|
@@ -46,6 +47,7 @@ const CodeBlockOverride: FC<CodeOverrideProps> = ({
|
|
|
46
47
|
if (typeof children !== "string") {
|
|
47
48
|
return (
|
|
48
49
|
<DefaultCodeBlockContent
|
|
50
|
+
node={node}
|
|
49
51
|
components={{ Pre: WrappedPre, Code: WrappedCode }}
|
|
50
52
|
code={children}
|
|
51
53
|
/>
|
|
@@ -61,6 +63,7 @@ const CodeBlockOverride: FC<CodeOverrideProps> = ({
|
|
|
61
63
|
|
|
62
64
|
return (
|
|
63
65
|
<DefaultCodeBlock
|
|
66
|
+
node={node}
|
|
64
67
|
components={{
|
|
65
68
|
Pre: WrappedPre,
|
|
66
69
|
Code: WrappedCode,
|
|
@@ -92,6 +95,7 @@ export type CodeOverrideProps = ComponentPropsWithoutRef<CodeComponent> & {
|
|
|
92
95
|
};
|
|
93
96
|
|
|
94
97
|
const CodeOverrideImpl: FC<CodeOverrideProps> = ({
|
|
98
|
+
node,
|
|
95
99
|
components,
|
|
96
100
|
componentsByLanguage,
|
|
97
101
|
...props
|
|
@@ -100,6 +104,7 @@ const CodeOverrideImpl: FC<CodeOverrideProps> = ({
|
|
|
100
104
|
if (!isCodeBlock) return <components.Code {...props} />;
|
|
101
105
|
return (
|
|
102
106
|
<CodeBlockOverride
|
|
107
|
+
node={node}
|
|
103
108
|
components={components}
|
|
104
109
|
componentsByLanguage={componentsByLanguage}
|
|
105
110
|
{...props}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from "react";
|
|
2
2
|
import { PreComponent, CodeComponent, CodeHeaderProps } from "./types";
|
|
3
|
+
import { Element } from "hast";
|
|
3
4
|
|
|
4
5
|
export const DefaultPre: PreComponent = ({ node, ...rest }) => (
|
|
5
6
|
<pre {...rest} />
|
|
@@ -10,11 +11,12 @@ export const DefaultCode: CodeComponent = ({ node, ...rest }) => (
|
|
|
10
11
|
);
|
|
11
12
|
|
|
12
13
|
export const DefaultCodeBlockContent: ComponentType<{
|
|
14
|
+
node: Element | undefined;
|
|
13
15
|
components: { Pre: PreComponent; Code: CodeComponent };
|
|
14
16
|
code: string | ReactNode | undefined;
|
|
15
|
-
}> = ({ components: { Pre, Code }, code }) => (
|
|
17
|
+
}> = ({ node, components: { Pre, Code }, code }) => (
|
|
16
18
|
<Pre>
|
|
17
|
-
<Code>{code}</Code>
|
|
19
|
+
<Code node={node}>{code}</Code>
|
|
18
20
|
</Pre>
|
|
19
21
|
);
|
|
20
22
|
|
package/src/overrides/types.ts
CHANGED
|
@@ -9,11 +9,13 @@ export type CodeComponent = ComponentType<
|
|
|
9
9
|
>;
|
|
10
10
|
|
|
11
11
|
export type CodeHeaderProps = {
|
|
12
|
+
node?: Element | undefined;
|
|
12
13
|
language: string | undefined;
|
|
13
14
|
code: string;
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
export type SyntaxHighlighterProps = {
|
|
18
|
+
node?: Element | undefined;
|
|
17
19
|
components: {
|
|
18
20
|
Pre: PreComponent;
|
|
19
21
|
Code: CodeComponent;
|