@docubook/mdx-content 2.0.0 → 2.1.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/components/CodeBlock.d.ts +4 -1
- package/dist/components/CodeBlock.d.ts.map +1 -1
- package/dist/components/CodeBlock.js +77 -9
- package/dist/components/CodeBlock.js.map +1 -1
- package/dist/components/ExpandableCode.d.ts +11 -0
- package/dist/components/ExpandableCode.d.ts.map +1 -0
- package/dist/components/ExpandableCode.js +83 -0
- package/dist/components/ExpandableCode.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +69 -70
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
2
|
type CodeBlockProps = ComponentProps<"pre"> & {
|
|
3
3
|
raw?: string;
|
|
4
4
|
"data-title"?: string;
|
|
5
|
+
"data-language"?: string;
|
|
6
|
+
"data-expandable"?: string;
|
|
7
|
+
"data-expandable-lines"?: string;
|
|
5
8
|
};
|
|
6
9
|
export declare function CodeBlock({ children, raw, ...rest }: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
7
10
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAkB,MAAM,OAAO,CAAA;AA6B3E,KAAK,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAuFD,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,2CA2GnE"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isValidElement } from "react";
|
|
2
3
|
import { SiJavascript, SiTypescript, SiReact, SiPython, SiGo, SiPhp, SiRuby, SiSwift, SiKotlin, SiHtml5, SiCss, SiSass, SiPostgresql, SiGraphql, SiYaml, SiToml, SiDocker, SiNginx, SiGit, SiGnubash, SiMarkdown, } from "react-icons/si";
|
|
3
|
-
import { FaJava, FaCode,
|
|
4
|
+
import { FaJava, FaCode, FaRegFileAlt } from "react-icons/fa";
|
|
4
5
|
import { TbJson } from "react-icons/tb";
|
|
5
6
|
import { CopyButton } from "./CopyButton";
|
|
7
|
+
import { ExpandableCode } from "./ExpandableCode";
|
|
6
8
|
function getLanguage(className = "") {
|
|
7
9
|
const match = className.match(/language-(\w+)/);
|
|
8
10
|
return match ? match[1] : "text";
|
|
9
11
|
}
|
|
12
|
+
function resolveLanguage(preClassName, dataLanguage, children) {
|
|
13
|
+
if (typeof dataLanguage === "string" && dataLanguage.trim().length > 0) {
|
|
14
|
+
return dataLanguage.trim().toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
const languageFromPre = getLanguage(preClassName ?? "");
|
|
17
|
+
if (languageFromPre !== "text")
|
|
18
|
+
return languageFromPre;
|
|
19
|
+
if (isValidElement(children)) {
|
|
20
|
+
const childProps = children.props;
|
|
21
|
+
if (typeof childProps.className === "string") {
|
|
22
|
+
const languageFromCode = getLanguage(childProps.className);
|
|
23
|
+
if (languageFromCode !== "text")
|
|
24
|
+
return languageFromCode;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return "text";
|
|
28
|
+
}
|
|
10
29
|
function getLanguageIcon(language) {
|
|
11
30
|
const normalized = language.toLowerCase();
|
|
12
31
|
const iconProps = { size: 14 };
|
|
@@ -47,21 +66,70 @@ function getLanguageIcon(language) {
|
|
|
47
66
|
css: _jsx(SiCss, { ...iconProps }),
|
|
48
67
|
scss: _jsx(SiSass, { ...iconProps }),
|
|
49
68
|
sass: _jsx(SiSass, { ...iconProps }),
|
|
50
|
-
text: _jsx(
|
|
51
|
-
plaintext: _jsx(
|
|
69
|
+
text: _jsx(FaRegFileAlt, { ...iconProps }),
|
|
70
|
+
plaintext: _jsx(FaRegFileAlt, { ...iconProps }),
|
|
52
71
|
};
|
|
53
72
|
return map[normalized] || _jsx(FaCode, { ...iconProps });
|
|
54
73
|
}
|
|
74
|
+
function countCodeLines(raw) {
|
|
75
|
+
let normalized = raw.replace(/\r\n/g, "\n");
|
|
76
|
+
if (normalized.startsWith("\n"))
|
|
77
|
+
normalized = normalized.slice(1);
|
|
78
|
+
if (normalized.endsWith("\n"))
|
|
79
|
+
normalized = normalized.slice(0, -1);
|
|
80
|
+
if (normalized.length === 0)
|
|
81
|
+
return 0;
|
|
82
|
+
return normalized.split("\n").length;
|
|
83
|
+
}
|
|
55
84
|
export function CodeBlock({ children, raw, ...rest }) {
|
|
56
|
-
const { className, "data-title": title, ...props } = rest;
|
|
57
|
-
const language =
|
|
58
|
-
|
|
85
|
+
const { className, "data-title": title, "data-language": dataLanguage, "data-expandable": isExpandable, "data-expandable-lines": totalLinesStr, ...props } = rest;
|
|
86
|
+
const language = resolveLanguage(typeof className === "string" ? className : undefined, dataLanguage, children);
|
|
87
|
+
const totalLinesFromMeta = parseInt(totalLinesStr, 10) || 0;
|
|
88
|
+
const totalLinesFromRaw = raw ? countCodeLines(raw) : 0;
|
|
89
|
+
const totalLines = totalLinesFromRaw || totalLinesFromMeta;
|
|
90
|
+
const hasExpandableClass = typeof className === "string" && className.split(" ").includes("mdx-expandable-code");
|
|
91
|
+
const shouldExpand = isExpandable === "true" || hasExpandableClass;
|
|
92
|
+
const preProps = {
|
|
93
|
+
...props,
|
|
94
|
+
"data-expandable": isExpandable,
|
|
95
|
+
"data-expandable-lines": totalLinesStr,
|
|
96
|
+
};
|
|
97
|
+
return (_jsxs("div", { className: "code-block-container", style: {
|
|
98
|
+
position: "relative",
|
|
99
|
+
margin: "1.5rem 0",
|
|
100
|
+
border: "1px solid hsl(var(--border))",
|
|
101
|
+
overflow: "hidden",
|
|
102
|
+
fontSize: "0.875rem",
|
|
103
|
+
borderRadius: "0.75rem",
|
|
104
|
+
}, children: [_jsxs("div", { className: "code-block-header", style: {
|
|
59
105
|
display: "flex",
|
|
60
106
|
alignItems: "center",
|
|
61
107
|
justifyContent: "space-between",
|
|
62
|
-
|
|
63
|
-
borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
108
|
+
gap: "0.75rem",
|
|
64
109
|
background: "hsl(var(--muted, 210 12% 96%))",
|
|
65
|
-
|
|
110
|
+
padding: "0.5rem 1rem",
|
|
111
|
+
borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
112
|
+
color: "hsl(var(--muted-foreground, 210 12% 40%))",
|
|
113
|
+
fontFamily: "monospace",
|
|
114
|
+
fontSize: "0.8rem",
|
|
115
|
+
}, children: [_jsxs("div", { style: {
|
|
116
|
+
display: "flex",
|
|
117
|
+
alignItems: "center",
|
|
118
|
+
gap: 6,
|
|
119
|
+
fontSize: "0.78rem",
|
|
120
|
+
color: "hsl(var(--muted-foreground, 210 12% 40%))",
|
|
121
|
+
}, children: [getLanguageIcon(language), _jsx("span", { children: title || language })] }), raw ? (_jsx("div", { className: "code-block-actions", style: {
|
|
122
|
+
display: "inline-flex",
|
|
123
|
+
alignItems: "center",
|
|
124
|
+
marginLeft: "auto",
|
|
125
|
+
}, children: _jsx("div", { style: {
|
|
126
|
+
color: "hsl(var(--muted-foreground))",
|
|
127
|
+
transition: "color 0.2s ease-in-out",
|
|
128
|
+
}, children: _jsx(CopyButton, { content: raw }) }) })) : null] }), _jsx("div", { className: "code-block-body", style: {
|
|
129
|
+
overflowY: "visible",
|
|
130
|
+
backgroundColor: "hsl(var(--background))",
|
|
131
|
+
willChange: "transform",
|
|
132
|
+
borderBottom: "none",
|
|
133
|
+
}, children: _jsx(ExpandableCode, { isExpandable: shouldExpand, totalLines: totalLines, preContent: children, preProps: preProps, className: className }) })] }));
|
|
66
134
|
}
|
|
67
135
|
//# sourceMappingURL=CodeBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"CodeBlock.js","sourceRoot":"","sources":["../../src/components/CodeBlock.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
type ExpandableCodeProps = {
|
|
3
|
+
isExpandable: boolean;
|
|
4
|
+
totalLines: number;
|
|
5
|
+
preContent: ReactNode;
|
|
6
|
+
preProps: Record<string, unknown>;
|
|
7
|
+
className?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function ExpandableCode({ isExpandable, totalLines, preContent, preProps, className, }: ExpandableCodeProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=ExpandableCode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpandableCode.d.ts","sourceRoot":"","sources":["../../src/components/ExpandableCode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGnE,KAAK,mBAAmB,GAAG;IACzB,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAKD,wBAAgB,cAAc,CAAC,EAC7B,YAAY,EACZ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,2CAyHrB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState, useRef } from "react";
|
|
4
|
+
import { Ellipsis } from "lucide-react";
|
|
5
|
+
const DEFAULT_VISIBLE_LINES = 20;
|
|
6
|
+
const FALLBACK_LINE_HEIGHT_PX = 24;
|
|
7
|
+
export function ExpandableCode({ isExpandable, totalLines, preContent, preProps, className, }) {
|
|
8
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
9
|
+
const [collapsedMaxHeight, setCollapsedMaxHeight] = useState(`${DEFAULT_VISIBLE_LINES * FALLBACK_LINE_HEIGHT_PX}px`);
|
|
10
|
+
const preRef = useRef(null);
|
|
11
|
+
const shouldShow = isExpandable && totalLines > DEFAULT_VISIBLE_LINES;
|
|
12
|
+
const isCollapsed = shouldShow && !isOpen;
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const pre = preRef.current;
|
|
15
|
+
if (!pre)
|
|
16
|
+
return;
|
|
17
|
+
const calculateCollapsedHeight = () => {
|
|
18
|
+
const styles = window.getComputedStyle(pre);
|
|
19
|
+
const paddingTop = Number.parseFloat(styles.paddingTop) || 0;
|
|
20
|
+
const paddingBottom = Number.parseFloat(styles.paddingBottom) || 0;
|
|
21
|
+
const contentHeight = Math.max(pre.scrollHeight - paddingTop - paddingBottom, 0);
|
|
22
|
+
if (totalLines > 0 && contentHeight > 0) {
|
|
23
|
+
const lineHeight = contentHeight / totalLines;
|
|
24
|
+
setCollapsedMaxHeight(`${DEFAULT_VISIBLE_LINES * lineHeight + paddingTop + paddingBottom}px`);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
let lineHeight = Number.parseFloat(styles.lineHeight);
|
|
28
|
+
if (!Number.isFinite(lineHeight) || lineHeight === 0) {
|
|
29
|
+
const fontSize = Number.parseFloat(styles.fontSize);
|
|
30
|
+
lineHeight = Number.isFinite(fontSize) ? fontSize * 1.5 : FALLBACK_LINE_HEIGHT_PX;
|
|
31
|
+
}
|
|
32
|
+
setCollapsedMaxHeight(`${DEFAULT_VISIBLE_LINES * lineHeight + paddingTop + paddingBottom}px`);
|
|
33
|
+
};
|
|
34
|
+
const frame = requestAnimationFrame(calculateCollapsedHeight);
|
|
35
|
+
const timeout = window.setTimeout(calculateCollapsedHeight, 50);
|
|
36
|
+
window.addEventListener("resize", calculateCollapsedHeight);
|
|
37
|
+
return () => {
|
|
38
|
+
cancelAnimationFrame(frame);
|
|
39
|
+
window.clearTimeout(timeout);
|
|
40
|
+
window.removeEventListener("resize", calculateCollapsedHeight);
|
|
41
|
+
};
|
|
42
|
+
}, [preContent, totalLines]);
|
|
43
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: {
|
|
44
|
+
overflowX: "auto",
|
|
45
|
+
overscrollBehaviorX: "contain",
|
|
46
|
+
}, children: _jsx("pre", { ref: preRef, ...preProps, className: `${className || ""} mdx-expandable-code`, style: {
|
|
47
|
+
margin: 0,
|
|
48
|
+
padding: "0.9rem",
|
|
49
|
+
overflowX: "visible",
|
|
50
|
+
width: "max-content !important",
|
|
51
|
+
minWidth: "100%",
|
|
52
|
+
maxHeight: isCollapsed ? collapsedMaxHeight : "none",
|
|
53
|
+
overflowY: isCollapsed ? "hidden" : "visible",
|
|
54
|
+
transition: "max-height 0.3s ease",
|
|
55
|
+
scrollbarWidth: "thin",
|
|
56
|
+
backgroundColor: "transparent !important",
|
|
57
|
+
}, children: preContent }) }), shouldShow && (_jsx("div", { className: "code-block-expandable-footer", style: {
|
|
58
|
+
display: "flex",
|
|
59
|
+
alignItems: "center",
|
|
60
|
+
justifyContent: "center",
|
|
61
|
+
padding: "0.6rem",
|
|
62
|
+
background: "hsl(var(--muted, 210 12% 96%))",
|
|
63
|
+
borderTop: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
64
|
+
}, children: _jsxs("button", { className: "code-block-expandable-toggle", onClick: () => setIsOpen(!isOpen), style: {
|
|
65
|
+
display: "flex",
|
|
66
|
+
alignItems: "center",
|
|
67
|
+
gap: "0.5rem",
|
|
68
|
+
padding: "0.4rem 0.8rem",
|
|
69
|
+
border: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
70
|
+
borderRadius: 6,
|
|
71
|
+
background: "hsl(var(--background, 0 0% 100%))",
|
|
72
|
+
color: "hsl(var(--foreground, 222 12% 12%))",
|
|
73
|
+
fontSize: "0.85rem",
|
|
74
|
+
fontWeight: 500,
|
|
75
|
+
cursor: "pointer",
|
|
76
|
+
transition: "all 0.2s ease",
|
|
77
|
+
fontFamily: "inherit",
|
|
78
|
+
}, children: [_jsx(Ellipsis, { size: 16, style: {
|
|
79
|
+
transform: isOpen ? "rotate(180deg)" : "rotate(0deg)",
|
|
80
|
+
transition: "transform 0.2s ease",
|
|
81
|
+
} }), _jsx("span", { children: isOpen ? "Collapse" : `See all ${totalLines} lines` })] }) }))] }));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=ExpandableCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpandableCode.js","sourceRoot":"","sources":["../../src/components/ExpandableCode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export { ButtonMdx } from "./ButtonMdx";
|
|
|
4
4
|
export { CardMdx } from "./CardMdx";
|
|
5
5
|
export { CardsMdx, CardGroupMdx } from "./CardGroupMdx";
|
|
6
6
|
export { CodeBlock } from "./CodeBlock";
|
|
7
|
+
export { ExpandableCode } from "./ExpandableCode";
|
|
7
8
|
export { CopyButton } from "./CopyButton";
|
|
8
9
|
export { FileMdx, FilesMdx, FolderMdx } from "./FileTreeMdx";
|
|
9
10
|
export { ImageMdx } from "./ImageMdx";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/components/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { ButtonMdx } from "./ButtonMdx";
|
|
|
4
4
|
export { CardMdx } from "./CardMdx";
|
|
5
5
|
export { CardsMdx, CardGroupMdx } from "./CardGroupMdx";
|
|
6
6
|
export { CodeBlock } from "./CodeBlock";
|
|
7
|
+
export { ExpandableCode } from "./ExpandableCode";
|
|
7
8
|
export { CopyButton } from "./CopyButton";
|
|
8
9
|
export { FileMdx, FilesMdx, FolderMdx } from "./FileTreeMdx";
|
|
9
10
|
export { ImageMdx } from "./ImageMdx";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { ButtonMdx } from "./components/ButtonMdx";
|
|
|
4
4
|
export { CardMdx } from "./components/CardMdx";
|
|
5
5
|
export { CardsMdx, CardGroupMdx } from "./components/CardGroupMdx";
|
|
6
6
|
export { CodeBlock } from "./components/CodeBlock";
|
|
7
|
+
export { ExpandableCode } from "./components/ExpandableCode";
|
|
7
8
|
export { FileMdx, FilesMdx, FolderMdx } from "./components/FileTreeMdx";
|
|
8
9
|
export { ImageMdx, type ImageMdxProps } from "./components/ImageMdx";
|
|
9
10
|
export { KbdMdx } from "./components/KeyboardMdx";
|
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,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACH,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACH,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { ButtonMdx } from "./components/ButtonMdx";
|
|
|
4
4
|
export { CardMdx } from "./components/CardMdx";
|
|
5
5
|
export { CardsMdx, CardGroupMdx } from "./components/CardGroupMdx";
|
|
6
6
|
export { CodeBlock } from "./components/CodeBlock";
|
|
7
|
+
export { ExpandableCode } from "./components/ExpandableCode";
|
|
7
8
|
export { FileMdx, FilesMdx, FolderMdx } from "./components/FileTreeMdx";
|
|
8
9
|
export { ImageMdx } from "./components/ImageMdx";
|
|
9
10
|
export { KbdMdx } from "./components/KeyboardMdx";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACH,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACH,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,76 +1,75 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
},
|
|
14
|
-
"./client": {
|
|
15
|
-
"types": "./dist/client.d.ts",
|
|
16
|
-
"import": "./dist/client.js",
|
|
17
|
-
"default": "./dist/client.js"
|
|
18
|
-
},
|
|
19
|
-
"./server": {
|
|
20
|
-
"types": "./dist/server.d.ts",
|
|
21
|
-
"import": "./dist/server.js",
|
|
22
|
-
"default": "./dist/server.js"
|
|
23
|
-
},
|
|
24
|
-
"./next": {
|
|
25
|
-
"types": "./dist/adapters/next/index.d.ts",
|
|
26
|
-
"import": "./dist/adapters/next/index.js",
|
|
27
|
-
"default": "./dist/adapters/next/index.js"
|
|
28
|
-
}
|
|
2
|
+
"name": "@docubook/mdx-content",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Portable MDX components and framework adapters for DocuBook",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
29
13
|
},
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"scripts": {
|
|
35
|
-
"build": "rm -rf dist tsconfig.tsbuildinfo && tsc -p tsconfig.json",
|
|
36
|
-
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
37
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
38
|
-
"prepublishOnly": "pnpm run clean && pnpm run build"
|
|
14
|
+
"./client": {
|
|
15
|
+
"types": "./dist/client.d.ts",
|
|
16
|
+
"import": "./dist/client.js",
|
|
17
|
+
"default": "./dist/client.js"
|
|
39
18
|
},
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"components",
|
|
45
|
-
"mdx-components"
|
|
46
|
-
],
|
|
47
|
-
"homepage": "https://docubook.pro/",
|
|
48
|
-
"repository": {
|
|
49
|
-
"type": "git",
|
|
50
|
-
"url": "git+https://github.com/DocuBook/docubook"
|
|
19
|
+
"./server": {
|
|
20
|
+
"types": "./dist/server.d.ts",
|
|
21
|
+
"import": "./dist/server.js",
|
|
22
|
+
"default": "./dist/server.js"
|
|
51
23
|
},
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
24
|
+
"./next": {
|
|
25
|
+
"types": "./dist/adapters/next/index.d.ts",
|
|
26
|
+
"import": "./dist/adapters/next/index.js",
|
|
27
|
+
"default": "./dist/adapters/next/index.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"components.md"
|
|
33
|
+
],
|
|
34
|
+
"keywords": [
|
|
35
|
+
"docubook",
|
|
36
|
+
"mdx",
|
|
37
|
+
"react",
|
|
38
|
+
"components",
|
|
39
|
+
"mdx-components"
|
|
40
|
+
],
|
|
41
|
+
"homepage": "https://docubook.pro/",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/DocuBook/docubook"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"author": "wildan.nrs",
|
|
50
|
+
"author-url": "https://wildan.dev",
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"peerDependencies": {
|
|
53
|
+
"react": ">=18",
|
|
54
|
+
"react-dom": ">=18",
|
|
55
|
+
"react-icons": "^5.0.0",
|
|
56
|
+
"lucide-react": "^1.7.0"
|
|
57
|
+
},
|
|
58
|
+
"peerDependenciesMeta": {
|
|
59
|
+
"next": {
|
|
60
|
+
"optional": true
|
|
75
61
|
}
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@types/react": "19.2.8",
|
|
65
|
+
"@types/react-dom": "19.2.3",
|
|
66
|
+
"lucide-react": "^1.7.0",
|
|
67
|
+
"react-icons": "^5.0.0",
|
|
68
|
+
"typescript": "^5.9.3"
|
|
69
|
+
},
|
|
70
|
+
"scripts": {
|
|
71
|
+
"build": "rm -rf dist tsconfig.tsbuildinfo && tsc -p tsconfig.json",
|
|
72
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
73
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
74
|
+
}
|
|
76
75
|
}
|