@mintlify/msft-sdk 1.1.1 → 1.1.4
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/content-components/callouts.js +35 -20
- package/dist/components/content-components/callouts.js.map +1 -1
- package/dist/components/content-components/code-block.js +87 -60
- package/dist/components/content-components/code-block.js.map +1 -1
- package/dist/components/content-components/default-components.js +52 -33
- package/dist/components/content-components/default-components.js.map +1 -1
- package/dist/components/content-components/details/details.js +28 -25
- package/dist/components/content-components/details/details.js.map +1 -1
- package/dist/components/content-components/heading.js +6 -1
- package/dist/components/content-components/heading.js.map +1 -1
- package/dist/components/content-components/home.js +256 -163
- package/dist/components/content-components/home.js.map +1 -1
- package/dist/components/content-components/link.js +7 -7
- package/dist/components/content-components/link.js.map +1 -1
- package/dist/components/content-components/param-name.js +4 -5
- package/dist/components/content-components/param-name.js.map +1 -1
- package/dist/components/content-components/table/index.js +101 -67
- package/dist/components/content-components/table/index.js.map +1 -1
- package/dist/components/content-components/table/table-modal.js +31 -32
- package/dist/components/content-components/table/table-modal.js.map +1 -1
- package/dist/components/content-components/tabs/tabs.js +51 -46
- package/dist/components/content-components/tabs/tabs.js.map +1 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +39 -36
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
- package/dist/components/mdx-renderer.js +16 -8
- package/dist/components/mdx-renderer.js.map +1 -1
- package/dist/components/nav-tree/dropdown-menu.js +40 -33
- package/dist/components/nav-tree/dropdown-menu.js.map +1 -1
- package/dist/components/nav-tree/index.js +121 -92
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/components/nav-tree/mobile-nav.js +60 -41
- package/dist/components/nav-tree/mobile-nav.js.map +1 -1
- package/dist/components/page-context-menu.js +107 -90
- package/dist/components/page-context-menu.js.map +1 -1
- package/dist/components/page.js +108 -86
- package/dist/components/page.js.map +1 -1
- package/dist/components/plain-text-page.js +3 -4
- package/dist/components/plain-text-page.js.map +1 -1
- package/dist/components/toc/index.js +45 -42
- package/dist/components/toc/index.js.map +1 -1
- package/dist/context/components-context.js +17 -0
- package/dist/context/components-context.js.map +1 -0
- package/dist/index.d.ts +34 -5
- package/dist/index.js +109 -103
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js +2732 -0
- package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils/cn.js +9 -0
- package/dist/utils/cn.js.map +1 -0
- package/package.json +5 -1
- package/dist/components/content-components/callouts.module.css.js +0 -26
- package/dist/components/content-components/callouts.module.css.js.map +0 -1
- package/dist/components/content-components/code-block.module.css.js +0 -32
- package/dist/components/content-components/code-block.module.css.js.map +0 -1
- package/dist/components/content-components/default-components.module.css.js +0 -12
- package/dist/components/content-components/default-components.module.css.js.map +0 -1
- package/dist/components/content-components/details/details.module.css.js +0 -20
- package/dist/components/content-components/details/details.module.css.js.map +0 -1
- package/dist/components/content-components/home.module.css.js +0 -74
- package/dist/components/content-components/home.module.css.js.map +0 -1
- package/dist/components/content-components/link.module.css.js +0 -10
- package/dist/components/content-components/link.module.css.js.map +0 -1
- package/dist/components/content-components/param-name.module.css.js +0 -8
- package/dist/components/content-components/param-name.module.css.js.map +0 -1
- package/dist/components/content-components/table/table-modal.module.css.js +0 -18
- package/dist/components/content-components/table/table-modal.module.css.js.map +0 -1
- package/dist/components/content-components/table/table.module.css.js +0 -30
- package/dist/components/content-components/table/table.module.css.js.map +0 -1
- package/dist/components/content-components/tabs/tabs.module.css.js +0 -24
- package/dist/components/content-components/tabs/tabs.module.css.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js +0 -14
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js.map +0 -1
- package/dist/components/mdx-renderer.module.css.js +0 -8
- package/dist/components/mdx-renderer.module.css.js.map +0 -1
- package/dist/components/nav-tree/dropdown-menu.module.css.js +0 -52
- package/dist/components/nav-tree/dropdown-menu.module.css.js.map +0 -1
- package/dist/components/nav-tree/mobile-nav.module.css.js +0 -22
- package/dist/components/nav-tree/mobile-nav.module.css.js.map +0 -1
- package/dist/components/nav-tree/nav-tree.module.css.js +0 -50
- package/dist/components/nav-tree/nav-tree.module.css.js.map +0 -1
- package/dist/components/page-context-menu.module.css.js +0 -42
- package/dist/components/page-context-menu.module.css.js.map +0 -1
- package/dist/components/page.module.css.js +0 -52
- package/dist/components/page.module.css.js.map +0 -1
- package/dist/components/plain-text-page.module.css.js +0 -10
- package/dist/components/plain-text-page.module.css.js.map +0 -1
- package/dist/components/prose.module.css.js +0 -8
- package/dist/components/prose.module.css.js.map +0 -1
- package/dist/components/toc/toc.module.css.js +0 -18
- package/dist/components/toc/toc.module.css.js.map +0 -1
|
@@ -1,27 +1,32 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { InfoFilled as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
const g = {
|
|
1
|
+
import { jsxs as r, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { InfoFilled as o, Warning20Regular as m, DismissCircle20Regular as s, Info20Regular as d, Lightbulb20Regular as c } from "@fluentui/react-icons";
|
|
3
|
+
import { cn as l } from "../../utils/cn.js";
|
|
4
|
+
const f = {
|
|
6
5
|
tip: {
|
|
7
|
-
icon: /* @__PURE__ */
|
|
6
|
+
icon: /* @__PURE__ */ t(c, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
7
|
+
className: "mint:bg-[#f1faf1] mint:border-[#9fd89f] mint:text-[#0c5e0c] mint:dark:bg-[#052505] mint:dark:border-[#54b054] mint:dark:text-[#54b054]"
|
|
8
8
|
},
|
|
9
9
|
note: {
|
|
10
|
-
icon: /* @__PURE__ */
|
|
10
|
+
icon: /* @__PURE__ */ t(d, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
11
|
+
className: "mint:bg-[#f5f5f5] mint:border-[#d1d1d1] mint:text-[#242424] mint:dark:bg-[#141414] mint:dark:border-[#666666] mint:dark:text-white"
|
|
11
12
|
},
|
|
12
13
|
warning: {
|
|
13
|
-
icon: /* @__PURE__ */
|
|
14
|
+
icon: /* @__PURE__ */ t(m, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
15
|
+
className: "mint:bg-[#fff9f5] mint:border-[#fdcfb4] mint:text-[#8a3707] mint:dark:bg-[#4a1e04] mint:dark:border-[#de590b] mint:dark:text-[#faa06b]"
|
|
14
16
|
},
|
|
15
17
|
caution: {
|
|
16
|
-
icon: /* @__PURE__ */
|
|
18
|
+
icon: /* @__PURE__ */ t(s, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
19
|
+
className: "mint:bg-[#fdf3f4] mint:border-[#eeacb2] mint:text-[#960b18] mint:dark:bg-[#3b0509] mint:dark:border-[#c50f1f] mint:dark:text-[#dc626d]"
|
|
17
20
|
},
|
|
18
21
|
important: {
|
|
19
|
-
icon: /* @__PURE__ */
|
|
22
|
+
icon: /* @__PURE__ */ t(m, { className: "mint:w-5 mint:h-5 mint:shrink-0" }),
|
|
23
|
+
className: "mint:bg-[#e1cefc] mint:border-[#8251ee] mint:text-[#643fb2] mint:dark:bg-[#1a1326] mint:dark:border-[#9263f1] mint:dark:text-[#9263f1]"
|
|
20
24
|
},
|
|
21
25
|
nextstepaction: {
|
|
22
|
-
icon: /* @__PURE__ */ o
|
|
26
|
+
icon: /* @__PURE__ */ t(o, { className: "mint:w-5 mint:h-5 mint:shrink-0 mint:text-[#616161] mint:dark:text-white" }),
|
|
27
|
+
className: "mint:bg-[#f9fafb] mint:border-[#d1d1d1] mint:text-[#141414] mint:dark:bg-[#141414] mint:dark:border-[#666666] mint:dark:text-white"
|
|
23
28
|
}
|
|
24
|
-
},
|
|
29
|
+
}, b = {
|
|
25
30
|
note: "Note",
|
|
26
31
|
tip: "Tip",
|
|
27
32
|
important: "Important",
|
|
@@ -29,22 +34,32 @@ const g = {
|
|
|
29
34
|
warning: "Warning",
|
|
30
35
|
nextstepaction: "Next step action"
|
|
31
36
|
};
|
|
32
|
-
function
|
|
33
|
-
const
|
|
34
|
-
return /* @__PURE__ */
|
|
37
|
+
function h({ type: n, children: e }) {
|
|
38
|
+
const i = f[n], a = b[n];
|
|
39
|
+
return /* @__PURE__ */ r(
|
|
35
40
|
"aside",
|
|
36
41
|
{
|
|
37
42
|
role: "note",
|
|
38
|
-
"aria-label":
|
|
39
|
-
className:
|
|
43
|
+
"aria-label": a,
|
|
44
|
+
className: l(
|
|
45
|
+
"mint:my-4 mint:flex mint:gap-2 mint:px-3 mint:py-2.5 mint:rounded-lg mint:border mint:overflow-hidden",
|
|
46
|
+
i.className
|
|
47
|
+
),
|
|
40
48
|
children: [
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
i.icon && /* @__PURE__ */ t(
|
|
50
|
+
"div",
|
|
51
|
+
{
|
|
52
|
+
className: "mint:flex mint:items-start mint:justify-center",
|
|
53
|
+
"aria-hidden": "true",
|
|
54
|
+
children: i.icon
|
|
55
|
+
}
|
|
56
|
+
),
|
|
57
|
+
/* @__PURE__ */ t("div", { className: "mint:text-sm mint:min-w-0 mint:w-full mint:prose mint:dark:prose-invert mint:[&>p:first-child]:font-semibold", children: e })
|
|
43
58
|
]
|
|
44
59
|
}
|
|
45
60
|
);
|
|
46
61
|
}
|
|
47
62
|
export {
|
|
48
|
-
|
|
63
|
+
h as Callout
|
|
49
64
|
};
|
|
50
65
|
//# sourceMappingURL=callouts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callouts.js","sources":["../../../src/components/content-components/callouts.tsx"],"sourcesContent":["import {\n Lightbulb20Regular,\n InfoFilled,\n Warning20Regular,\n DismissCircle20Regular,\n Info20Regular,\n} from \"@fluentui/react-icons\";\nimport
|
|
1
|
+
{"version":3,"file":"callouts.js","sources":["../../../src/components/content-components/callouts.tsx"],"sourcesContent":["import {\n Lightbulb20Regular,\n InfoFilled,\n Warning20Regular,\n DismissCircle20Regular,\n Info20Regular,\n} from \"@fluentui/react-icons\";\nimport { cn } from \"../../utils/cn\";\n\nexport type CalloutType =\n | \"note\"\n | \"tip\"\n | \"important\"\n | \"caution\"\n | \"warning\"\n | \"nextstepaction\";\n\ninterface CalloutProps {\n type: CalloutType;\n children: React.ReactNode;\n}\n\nconst calloutConfig: Record<\n CalloutType,\n {\n icon?: React.ReactNode;\n className: string;\n }\n> = {\n tip: {\n icon: <Lightbulb20Regular className=\"mint:w-5 mint:h-5 mint:shrink-0\" />,\n className:\n \"mint:bg-[#f1faf1] mint:border-[#9fd89f] mint:text-[#0c5e0c] mint:dark:bg-[#052505] mint:dark:border-[#54b054] mint:dark:text-[#54b054]\",\n },\n note: {\n icon: <Info20Regular className=\"mint:w-5 mint:h-5 mint:shrink-0\" />,\n className:\n \"mint:bg-[#f5f5f5] mint:border-[#d1d1d1] mint:text-[#242424] mint:dark:bg-[#141414] mint:dark:border-[#666666] mint:dark:text-white\",\n },\n warning: {\n icon: <Warning20Regular className=\"mint:w-5 mint:h-5 mint:shrink-0\" />,\n className:\n \"mint:bg-[#fff9f5] mint:border-[#fdcfb4] mint:text-[#8a3707] mint:dark:bg-[#4a1e04] mint:dark:border-[#de590b] mint:dark:text-[#faa06b]\",\n },\n caution: {\n icon: (\n <DismissCircle20Regular className=\"mint:w-5 mint:h-5 mint:shrink-0\" />\n ),\n className:\n \"mint:bg-[#fdf3f4] mint:border-[#eeacb2] mint:text-[#960b18] mint:dark:bg-[#3b0509] mint:dark:border-[#c50f1f] mint:dark:text-[#dc626d]\",\n },\n important: {\n icon: <Warning20Regular className=\"mint:w-5 mint:h-5 mint:shrink-0\" />,\n className:\n \"mint:bg-[#e1cefc] mint:border-[#8251ee] mint:text-[#643fb2] mint:dark:bg-[#1a1326] mint:dark:border-[#9263f1] mint:dark:text-[#9263f1]\",\n },\n nextstepaction: {\n icon: (\n <InfoFilled className=\"mint:w-5 mint:h-5 mint:shrink-0 mint:text-[#616161] mint:dark:text-white\" />\n ),\n className:\n \"mint:bg-[#f9fafb] mint:border-[#d1d1d1] mint:text-[#141414] mint:dark:bg-[#141414] mint:dark:border-[#666666] mint:dark:text-white\",\n },\n};\n\nconst calloutLabels: Record<CalloutType, string> = {\n note: \"Note\",\n tip: \"Tip\",\n important: \"Important\",\n caution: \"Caution\",\n warning: \"Warning\",\n nextstepaction: \"Next step action\",\n};\n\nexport function Callout({ type, children }: CalloutProps) {\n const config = calloutConfig[type];\n const label = calloutLabels[type];\n\n return (\n <aside\n role=\"note\"\n aria-label={label}\n className={cn(\n \"mint:my-4 mint:flex mint:gap-2 mint:px-3 mint:py-2.5 mint:rounded-lg mint:border mint:overflow-hidden\",\n config.className\n )}\n >\n {config.icon && (\n <div\n className=\"mint:flex mint:items-start mint:justify-center\"\n aria-hidden=\"true\"\n >\n {config.icon}\n </div>\n )}\n <div className=\"mint:text-sm mint:min-w-0 mint:w-full mint:prose mint:dark:prose-invert mint:[&>p:first-child]:font-semibold\">\n {children}\n </div>\n </aside>\n );\n}\n"],"names":["calloutConfig","jsx","Lightbulb20Regular","Info20Regular","Warning20Regular","DismissCircle20Regular","InfoFilled","calloutLabels","Callout","type","children","config","label","jsxs","cn"],"mappings":";;;AAsBA,MAAMA,IAMF;AAAA,EACF,KAAK;AAAA,IACH,MAAM,gBAAAC,EAACC,GAAA,EAAmB,WAAU,kCAAA,CAAkC;AAAA,IACtE,WACE;AAAA,EAAA;AAAA,EAEJ,MAAM;AAAA,IACJ,MAAM,gBAAAD,EAACE,GAAA,EAAc,WAAU,kCAAA,CAAkC;AAAA,IACjE,WACE;AAAA,EAAA;AAAA,EAEJ,SAAS;AAAA,IACP,MAAM,gBAAAF,EAACG,GAAA,EAAiB,WAAU,kCAAA,CAAkC;AAAA,IACpE,WACE;AAAA,EAAA;AAAA,EAEJ,SAAS;AAAA,IACP,MACE,gBAAAH,EAACI,GAAA,EAAuB,WAAU,kCAAA,CAAkC;AAAA,IAEtE,WACE;AAAA,EAAA;AAAA,EAEJ,WAAW;AAAA,IACT,MAAM,gBAAAJ,EAACG,GAAA,EAAiB,WAAU,kCAAA,CAAkC;AAAA,IACpE,WACE;AAAA,EAAA;AAAA,EAEJ,gBAAgB;AAAA,IACd,MACE,gBAAAH,EAACK,GAAA,EAAW,WAAU,2EAAA,CAA2E;AAAA,IAEnG,WACE;AAAA,EAAA;AAEN,GAEMC,IAA6C;AAAA,EACjD,MAAM;AAAA,EACN,KAAK;AAAA,EACL,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,gBAAgB;AAClB;AAEO,SAASC,EAAQ,EAAE,MAAAC,GAAM,UAAAC,KAA0B;AACxD,QAAMC,IAASX,EAAcS,CAAI,GAC3BG,IAAQL,EAAcE,CAAI;AAEhC,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAYD;AAAA,MACZ,WAAWE;AAAA,QACT;AAAA,QACAH,EAAO;AAAA,MAAA;AAAA,MAGR,UAAA;AAAA,QAAAA,EAAO,QACN,gBAAAV;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,eAAY;AAAA,YAEX,UAAAU,EAAO;AAAA,UAAA;AAAA,QAAA;AAAA,QAGZ,gBAAAV,EAAC,OAAA,EAAI,WAAU,gHACZ,UAAAS,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import v, { useState as y, useEffect as N } from "react";
|
|
3
|
+
import h from "prismjs";
|
|
4
4
|
import "prismjs/components/prism-javascript.js";
|
|
5
5
|
import "prismjs/components/prism-typescript.js";
|
|
6
6
|
import "prismjs/components/prism-python.js";
|
|
@@ -9,81 +9,108 @@ import "prismjs/components/prism-json.js";
|
|
|
9
9
|
import "prismjs/components/prism-markdown.js";
|
|
10
10
|
import "prismjs/components/prism-csharp.js";
|
|
11
11
|
import "prismjs/components/prism-powershell.js";
|
|
12
|
-
import { getNodeText as
|
|
13
|
-
import { ClipboardCheckmarkRegular as
|
|
12
|
+
import { getNodeText as j } from "../../utils/get-node-text.js";
|
|
13
|
+
import { ClipboardCheckmarkRegular as T, Copy20Regular as A } from "@fluentui/react-icons";
|
|
14
14
|
import { capitalize as R } from "../../utils/string.js";
|
|
15
|
-
import
|
|
15
|
+
import { cn as u } from "../../utils/cn.js";
|
|
16
16
|
function S() {
|
|
17
|
-
const [
|
|
18
|
-
return { isCopied:
|
|
17
|
+
const [e, r] = y(!1);
|
|
18
|
+
return { isCopied: e, copy: async (c) => {
|
|
19
19
|
try {
|
|
20
|
-
await navigator.clipboard.writeText(
|
|
21
|
-
} catch (
|
|
22
|
-
console.error("Failed to copy to clipboard:",
|
|
20
|
+
await navigator.clipboard.writeText(c), r(!0), setTimeout(() => r(!1), 2e3);
|
|
21
|
+
} catch (s) {
|
|
22
|
+
console.error("Failed to copy to clipboard:", s);
|
|
23
23
|
}
|
|
24
24
|
} };
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
children:
|
|
28
|
-
className:
|
|
29
|
-
fileName:
|
|
30
|
-
language:
|
|
26
|
+
function O({
|
|
27
|
+
children: e,
|
|
28
|
+
className: r,
|
|
29
|
+
fileName: m,
|
|
30
|
+
language: c
|
|
31
31
|
}) {
|
|
32
|
-
const [
|
|
33
|
-
var p,
|
|
34
|
-
if (typeof
|
|
32
|
+
const [s, b] = y(""), { isCopied: f, copy: _ } = S(), i = c || (r == null ? void 0 : r.replace(/^language-/, "")) || "text", a = j(e), k = !!m, x = v.useMemo(() => {
|
|
33
|
+
var p, g;
|
|
34
|
+
if (typeof e != "object" || e == null)
|
|
35
35
|
return !1;
|
|
36
|
-
const
|
|
37
|
-
for (const
|
|
38
|
-
if (typeof
|
|
39
|
-
const
|
|
40
|
-
for (const d of
|
|
41
|
-
if (typeof d == "object" && d != null && "props" in d && ((
|
|
36
|
+
const o = Array.isArray(e) ? e : [e];
|
|
37
|
+
for (const n of o)
|
|
38
|
+
if (typeof n == "object" && n != null && "props" in n && ((p = n.props) != null && p.children)) {
|
|
39
|
+
const w = Array.isArray(n.props.children) ? n.props.children : [n.props.children];
|
|
40
|
+
for (const d of w)
|
|
41
|
+
if (typeof d == "object" && d != null && "props" in d && ((g = d.props) != null && g.className))
|
|
42
42
|
return !0;
|
|
43
43
|
}
|
|
44
44
|
return !1;
|
|
45
|
-
}, [
|
|
46
|
-
|
|
47
|
-
if (!
|
|
45
|
+
}, [e]);
|
|
46
|
+
N(() => {
|
|
47
|
+
if (!x)
|
|
48
48
|
try {
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
} catch (
|
|
52
|
-
console.error("Failed to highlight code:",
|
|
49
|
+
const o = h.languages[i] || h.languages.plaintext, p = h.highlight(a, o, i);
|
|
50
|
+
b(p);
|
|
51
|
+
} catch (o) {
|
|
52
|
+
console.error("Failed to highlight code:", o), b(a);
|
|
53
53
|
}
|
|
54
|
-
}, [
|
|
55
|
-
const
|
|
56
|
-
|
|
54
|
+
}, [a, i, x]);
|
|
55
|
+
const C = () => {
|
|
56
|
+
_(a);
|
|
57
57
|
};
|
|
58
|
-
return /* @__PURE__ */
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
/* @__PURE__ */
|
|
64
|
-
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
-
"
|
|
58
|
+
return /* @__PURE__ */ l(
|
|
59
|
+
"div",
|
|
60
|
+
{
|
|
61
|
+
className: k ? "mint:flex mint:flex-col mint:gap-2 mint:mt-4 mint:mb-4 mint:border mint:border-[#e5e5e5] mint:dark:border-[#262626] mint:pt-2.5 mint:px-2 mint:pb-2 mint:rounded-xl mint:overflow-hidden" : void 0,
|
|
62
|
+
children: [
|
|
63
|
+
m && /* @__PURE__ */ t("span", { className: "mint:text-sm mint:font-medium mint:px-2", children: m }),
|
|
64
|
+
/* @__PURE__ */ l("div", { className: "not-prose mint:relative mint:rounded-xl mint:bg-[#f5f5f5] mint:dark:bg-[#141414]", children: [
|
|
65
|
+
/* @__PURE__ */ l("div", { className: "mint:flex mint:items-center mint:justify-between mint:px-3 mint:pt-2", children: [
|
|
66
|
+
/* @__PURE__ */ t("span", { className: "mint:text-xs mint:font-medium mint:text-[#737373] mint:dark:text-[#a3a3a3]", children: R(i) }),
|
|
67
|
+
/* @__PURE__ */ l("div", { className: "mint:relative", children: [
|
|
68
|
+
f && /* @__PURE__ */ t("div", { className: "mint:absolute mint:bottom-[calc(100%+0.5rem)] mint:left-1/2 mint:-translate-x-1/2 mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#171717] mint:dark:text-[#fafafa] mint:px-2.5 mint:py-1.5 mint:rounded-md mint:text-xs mint:font-medium mint:whitespace-nowrap mint:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)] mint:dark:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.3),0_2px_4px_-1px_rgba(0,0,0,0.2)] mint:z-10 mint:animate-[fadeIn_0.15s_ease-out] mint:after:content-[''] mint:after:absolute mint:after:top-full mint:after:left-1/2 mint:after:-translate-x-1/2 mint:after:w-0 mint:after:h-0 mint:after:border-l-[6px] mint:after:border-l-transparent mint:after:border-r-[6px] mint:after:border-r-transparent mint:after:border-t-[6px] mint:after:border-t-white mint:dark:after:border-t-[#1a1a1a]", children: "Copied!" }),
|
|
69
|
+
/* @__PURE__ */ t(
|
|
70
|
+
"button",
|
|
71
|
+
{
|
|
72
|
+
onClick: C,
|
|
73
|
+
className: "mint:flex mint:items-center mint:gap-1.5 mint:px-2 mint:py-1 mint:text-xs mint:text-[#737373] mint:dark:text-[#a3a3a3] mint:rounded mint:transition-colors mint:duration-150 mint:border-none mint:bg-transparent mint:cursor-pointer mint:hover:text-[#9263f1] mint:dark:hover:text-[#c9aaf9]",
|
|
74
|
+
"aria-label": f ? "Copied" : "Copy code",
|
|
75
|
+
children: f ? /* @__PURE__ */ t(T, { className: "mint:w-5 mint:h-5 mint:text-[#737373] mint:dark:text-[#a3a3a3]" }) : /* @__PURE__ */ t(A, { className: "mint:w-5 mint:h-5" })
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
] })
|
|
79
|
+
] }),
|
|
80
|
+
/* @__PURE__ */ t("div", { className: "code-scrollbar mint:overflow-x-auto", children: /* @__PURE__ */ t("pre", { className: "mint:px-3 mint:pb-3 mint:pt-2 mint:m-0 mint:whitespace-pre mint:text-sm", children: x ? /* @__PURE__ */ t(
|
|
81
|
+
"code",
|
|
67
82
|
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
83
|
+
className: u(
|
|
84
|
+
`language-${i}`,
|
|
85
|
+
"mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]"
|
|
86
|
+
),
|
|
87
|
+
children: e
|
|
72
88
|
}
|
|
73
|
-
)
|
|
89
|
+
) : s ? /* @__PURE__ */ t(
|
|
90
|
+
"code",
|
|
91
|
+
{
|
|
92
|
+
className: u(
|
|
93
|
+
`language-${i}`,
|
|
94
|
+
"mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]"
|
|
95
|
+
),
|
|
96
|
+
dangerouslySetInnerHTML: { __html: s }
|
|
97
|
+
}
|
|
98
|
+
) : /* @__PURE__ */ t(
|
|
99
|
+
"code",
|
|
100
|
+
{
|
|
101
|
+
className: u(
|
|
102
|
+
`language-${i}`,
|
|
103
|
+
"mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]"
|
|
104
|
+
),
|
|
105
|
+
children: a
|
|
106
|
+
}
|
|
107
|
+
) }) })
|
|
74
108
|
] })
|
|
75
|
-
]
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
{
|
|
79
|
-
className: `language-${t} ${o.code}`,
|
|
80
|
-
dangerouslySetInnerHTML: { __html: n }
|
|
81
|
-
}
|
|
82
|
-
) : /* @__PURE__ */ e("code", { className: `language-${t} ${o.code}`, children: i }) }) })
|
|
83
|
-
] })
|
|
84
|
-
] });
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
);
|
|
85
112
|
}
|
|
86
113
|
export {
|
|
87
|
-
|
|
114
|
+
O as CodeBlock
|
|
88
115
|
};
|
|
89
116
|
//# sourceMappingURL=code-block.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-block.js","sources":["../../../src/components/content-components/code-block.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport Prism from \"prismjs\";\nimport \"prismjs/components/prism-javascript.js\";\nimport \"prismjs/components/prism-typescript.js\";\nimport \"prismjs/components/prism-python.js\";\nimport \"prismjs/components/prism-bash.js\";\nimport \"prismjs/components/prism-json.js\";\nimport \"prismjs/components/prism-markdown.js\";\nimport \"prismjs/components/prism-csharp.js\";\nimport \"prismjs/components/prism-powershell.js\";\nimport { getNodeText } from \"../../utils/get-node-text\";\nimport {
|
|
1
|
+
{"version":3,"file":"code-block.js","sources":["../../../src/components/content-components/code-block.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport Prism from \"prismjs\";\nimport \"prismjs/components/prism-javascript.js\";\nimport \"prismjs/components/prism-typescript.js\";\nimport \"prismjs/components/prism-python.js\";\nimport \"prismjs/components/prism-bash.js\";\nimport \"prismjs/components/prism-json.js\";\nimport \"prismjs/components/prism-markdown.js\";\nimport \"prismjs/components/prism-csharp.js\";\nimport \"prismjs/components/prism-powershell.js\";\nimport { getNodeText } from \"../../utils/get-node-text\";\nimport {\n Copy20Regular,\n ClipboardCheckmarkRegular,\n} from \"@fluentui/react-icons\";\nimport { capitalize } from \"../../utils/string\";\nimport { cn } from \"../../utils/cn\";\n\ninterface CodeBlockProps {\n children: React.ReactNode;\n className?: string;\n language?: string;\n fileName?: string;\n}\n\nfunction useCopyToClipboard() {\n const [isCopied, setIsCopied] = useState(false);\n\n const copy = async (text: string) => {\n try {\n await navigator.clipboard.writeText(text);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n } catch (error) {\n console.error(\"Failed to copy to clipboard:\", error);\n }\n };\n\n return { isCopied, copy };\n}\n\nexport function CodeBlock({\n children,\n className,\n fileName,\n language,\n}: CodeBlockProps) {\n const [highlightedCode, setHighlightedCode] = useState<string>(\"\");\n const { isCopied, copy } = useCopyToClipboard();\n const lang = language || className?.replace(/^language-/, \"\") || \"text\";\n const codeText = getNodeText(children);\n const showContainer = !!fileName;\n\n const isSSRHighlighted = React.useMemo(() => {\n if (typeof children !== \"object\" || children == null) {\n return false;\n }\n\n const childrenArray = Array.isArray(children) ? children : [children];\n for (const child of childrenArray) {\n if (\n typeof child === \"object\" &&\n child != null &&\n \"props\" in child &&\n child.props?.children\n ) {\n const codeChildren = Array.isArray(child.props.children)\n ? child.props.children\n : [child.props.children];\n\n for (const codeChild of codeChildren) {\n if (\n typeof codeChild === \"object\" &&\n codeChild != null &&\n \"props\" in codeChild &&\n codeChild.props?.className\n ) {\n return true;\n }\n }\n }\n }\n return false;\n }, [children]);\n\n useEffect(() => {\n if (isSSRHighlighted) {\n return;\n }\n\n try {\n const grammar = Prism.languages[lang] || Prism.languages.plaintext;\n const html = Prism.highlight(codeText, grammar, lang);\n setHighlightedCode(html);\n } catch (error) {\n console.error(\"Failed to highlight code:\", error);\n setHighlightedCode(codeText);\n }\n }, [codeText, lang, isSSRHighlighted]);\n\n const handleCopy = () => {\n copy(codeText);\n };\n\n return (\n <div\n className={\n showContainer\n ? \"mint:flex mint:flex-col mint:gap-2 mint:mt-4 mint:mb-4 mint:border mint:border-[#e5e5e5] mint:dark:border-[#262626] mint:pt-2.5 mint:px-2 mint:pb-2 mint:rounded-xl mint:overflow-hidden\"\n : undefined\n }\n >\n {fileName && (\n <span className=\"mint:text-sm mint:font-medium mint:px-2\">\n {fileName}\n </span>\n )}\n <div className=\"not-prose mint:relative mint:rounded-xl mint:bg-[#f5f5f5] mint:dark:bg-[#141414]\">\n <div className=\"mint:flex mint:items-center mint:justify-between mint:px-3 mint:pt-2\">\n <span className=\"mint:text-xs mint:font-medium mint:text-[#737373] mint:dark:text-[#a3a3a3]\">\n {capitalize(lang)}\n </span>\n <div className=\"mint:relative\">\n {isCopied && (\n <div className=\"mint:absolute mint:bottom-[calc(100%+0.5rem)] mint:left-1/2 mint:-translate-x-1/2 mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#171717] mint:dark:text-[#fafafa] mint:px-2.5 mint:py-1.5 mint:rounded-md mint:text-xs mint:font-medium mint:whitespace-nowrap mint:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.1),0_2px_4px_-1px_rgba(0,0,0,0.06)] mint:dark:shadow-[0_4px_6px_-1px_rgba(0,0,0,0.3),0_2px_4px_-1px_rgba(0,0,0,0.2)] mint:z-10 mint:animate-[fadeIn_0.15s_ease-out] mint:after:content-[''] mint:after:absolute mint:after:top-full mint:after:left-1/2 mint:after:-translate-x-1/2 mint:after:w-0 mint:after:h-0 mint:after:border-l-[6px] mint:after:border-l-transparent mint:after:border-r-[6px] mint:after:border-r-transparent mint:after:border-t-[6px] mint:after:border-t-white mint:dark:after:border-t-[#1a1a1a]\">\n Copied!\n </div>\n )}\n <button\n onClick={handleCopy}\n className=\"mint:flex mint:items-center mint:gap-1.5 mint:px-2 mint:py-1 mint:text-xs mint:text-[#737373] mint:dark:text-[#a3a3a3] mint:rounded mint:transition-colors mint:duration-150 mint:border-none mint:bg-transparent mint:cursor-pointer mint:hover:text-[#9263f1] mint:dark:hover:text-[#c9aaf9]\"\n aria-label={isCopied ? \"Copied\" : \"Copy code\"}\n >\n {isCopied ? (\n <ClipboardCheckmarkRegular className=\"mint:w-5 mint:h-5 mint:text-[#737373] mint:dark:text-[#a3a3a3]\" />\n ) : (\n <Copy20Regular className=\"mint:w-5 mint:h-5\" />\n )}\n </button>\n </div>\n </div>\n <div className=\"code-scrollbar mint:overflow-x-auto\">\n <pre className=\"mint:px-3 mint:pb-3 mint:pt-2 mint:m-0 mint:whitespace-pre mint:text-sm\">\n {isSSRHighlighted ? (\n <code\n className={cn(\n `language-${lang}`,\n \"mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]\"\n )}\n >\n {children}\n </code>\n ) : highlightedCode ? (\n <code\n className={cn(\n `language-${lang}`,\n \"mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]\"\n )}\n dangerouslySetInnerHTML={{ __html: highlightedCode }}\n />\n ) : (\n <code\n className={cn(\n `language-${lang}`,\n \"mint:block mint:text-[#24292e] mint:dark:text-[#e6edf3]\"\n )}\n >\n {codeText}\n </code>\n )}\n </pre>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["useCopyToClipboard","isCopied","setIsCopied","useState","text","error","CodeBlock","children","className","fileName","language","highlightedCode","setHighlightedCode","copy","lang","codeText","getNodeText","showContainer","isSSRHighlighted","React","childrenArray","child","_a","codeChildren","codeChild","_b","useEffect","grammar","Prism","html","handleCopy","jsxs","jsx","capitalize","ClipboardCheckmarkRegular","Copy20Regular","cn"],"mappings":"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"}
|
|
@@ -1,36 +1,55 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { TableBody as
|
|
3
|
-
import
|
|
4
|
-
import { allComponents as
|
|
5
|
-
import { Link as
|
|
6
|
-
import { Heading as
|
|
7
|
-
import { Summary as
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { jsx as t, Fragment as a } from "react/jsx-runtime";
|
|
2
|
+
import { TableBody as s, TableHeader as d, TableRow as p, TableCell as b, TableHead as f, Table as u } from "./table/index.js";
|
|
3
|
+
import { cn as r } from "../../utils/cn.js";
|
|
4
|
+
import { allComponents as c } from "./all-components.js";
|
|
5
|
+
import { Link as h } from "./link.js";
|
|
6
|
+
import { Heading as o } from "./heading.js";
|
|
7
|
+
import { Summary as g, Details as k } from "./details/details.js";
|
|
8
|
+
function _(i = {}) {
|
|
9
|
+
const { LinkComponent: m } = i;
|
|
10
|
+
return {
|
|
11
|
+
h1: (e) => /* @__PURE__ */ t(o, { level: 1, ...e }),
|
|
12
|
+
h2: (e) => /* @__PURE__ */ t(o, { level: 2, ...e }),
|
|
13
|
+
h3: (e) => /* @__PURE__ */ t(o, { level: 3, ...e }),
|
|
14
|
+
h4: (e) => /* @__PURE__ */ t(o, { level: 4, ...e }),
|
|
15
|
+
h5: (e) => /* @__PURE__ */ t(o, { level: 5, ...e }),
|
|
16
|
+
h6: (e) => /* @__PURE__ */ t(o, { level: 6, ...e }),
|
|
17
|
+
code: ({ className: e, children: n, ...l }) => e ? n : /* @__PURE__ */ t(
|
|
18
|
+
"code",
|
|
19
|
+
{
|
|
20
|
+
className: r(
|
|
21
|
+
"not-prose mint:font-medium mint:font-mono mint:text-sm mint:bg-gray-100 mint:shadow-[0_0_0_1px_rgba(156,163,175,0.3)] mint:px-1.5 mint:py-0.5 mint:rounded mint:dark:bg-[#1f1f1f] mint:dark:shadow-[0_0_0_1px_rgba(55,65,81,0.5)]"
|
|
22
|
+
),
|
|
23
|
+
...l,
|
|
24
|
+
children: n
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
pre: ({ children: e }) => /* @__PURE__ */ t(a, { children: e }),
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
a: m ? (e) => /* @__PURE__ */ t(m, { ...e }) : h,
|
|
30
|
+
blockquote: (e) => /* @__PURE__ */ t(
|
|
31
|
+
"blockquote",
|
|
32
|
+
{
|
|
33
|
+
className: r(
|
|
34
|
+
"not-prose mint:border-l-4 mint:border-gray-200 mint:pl-6 mint:mb-4 mint:dark:border-l-white/20"
|
|
35
|
+
),
|
|
36
|
+
...e
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
table: u,
|
|
40
|
+
th: f,
|
|
41
|
+
td: b,
|
|
42
|
+
tr: p,
|
|
43
|
+
thead: d,
|
|
44
|
+
tbody: s,
|
|
45
|
+
details: k,
|
|
46
|
+
summary: g,
|
|
47
|
+
...c
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const q = _();
|
|
33
51
|
export {
|
|
34
|
-
|
|
52
|
+
_ as createDefaultComponents,
|
|
53
|
+
q as defaultComponents
|
|
35
54
|
};
|
|
36
55
|
//# sourceMappingURL=default-components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-components.js","sources":["../../../src/components/content-components/default-components.tsx"],"sourcesContent":["import { Details, Heading, Link, Summary, allComponents } from \".\";\nimport type { MDXComponents } from \"../../types\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./table\";\nimport
|
|
1
|
+
{"version":3,"file":"default-components.js","sources":["../../../src/components/content-components/default-components.tsx"],"sourcesContent":["import { Details, Heading, Link, Summary, allComponents } from \".\";\nimport type { MDXComponents, LinkComponent } from \"../../types\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./table\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface CreateDefaultComponentsOptions {\n LinkComponent?: LinkComponent;\n}\n\nexport function createDefaultComponents(\n options: CreateDefaultComponentsOptions = {}\n): MDXComponents {\n const { LinkComponent: CustomLink } = options;\n\n return {\n h1: (props) => <Heading level={1} {...props} />,\n h2: (props) => <Heading level={2} {...props} />,\n h3: (props) => <Heading level={3} {...props} />,\n h4: (props) => <Heading level={4} {...props} />,\n h5: (props) => <Heading level={5} {...props} />,\n h6: (props) => <Heading level={6} {...props} />,\n code: ({ className, children, ...props }) => {\n const isInline = !className;\n if (isInline) {\n return (\n <code\n className={cn(\n \"not-prose mint:font-medium mint:font-mono mint:text-sm mint:bg-gray-100 mint:shadow-[0_0_0_1px_rgba(156,163,175,0.3)] mint:px-1.5 mint:py-0.5 mint:rounded mint:dark:bg-[#1f1f1f] mint:dark:shadow-[0_0_0_1px_rgba(55,65,81,0.5)]\"\n )}\n {...props}\n >\n {children}\n </code>\n );\n }\n return children;\n },\n pre: ({ children }) => <>{children}</>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n a: CustomLink ? (props: any) => <CustomLink {...props} /> : Link,\n blockquote: (props) => (\n <blockquote\n className={cn(\n \"not-prose mint:border-l-4 mint:border-gray-200 mint:pl-6 mint:mb-4 mint:dark:border-l-white/20\"\n )}\n {...props}\n />\n ),\n table: Table,\n th: TableHead,\n td: TableCell,\n tr: TableRow,\n thead: TableHeader,\n tbody: TableBody,\n details: Details,\n summary: Summary,\n ...allComponents,\n };\n}\n\n// Export as default for backward compatibility\nexport const defaultComponents: MDXComponents = createDefaultComponents();\n"],"names":["createDefaultComponents","options","CustomLink","props","jsx","Heading","className","children","cn","Link","Table","TableHead","TableCell","TableRow","TableHeader","TableBody","Details","Summary","allComponents","defaultComponents"],"mappings":";;;;;;;AAgBO,SAASA,EACdC,IAA0C,IAC3B;AACf,QAAM,EAAE,eAAeC,EAAA,IAAeD;AAEtC,SAAO;AAAA,IACL,IAAI,CAACE,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,IAC7C,MAAM,CAAC,EAAE,WAAAG,GAAW,UAAAC,GAAU,GAAGJ,QACbG,IAaXC,IAVH,gBAAAH;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI;AAAA,UACT;AAAA,QAAA;AAAA,QAED,GAAGL;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAMT,KAAK,CAAC,EAAE,UAAAA,EAAA,6BAAkB,UAAAA,GAAS;AAAA;AAAA,IAEnC,GAAGL,IAAa,CAACC,wBAAgBD,GAAA,EAAY,GAAGC,GAAO,IAAKM;AAAA,IAC5D,YAAY,CAACN,MACX,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI;AAAA,UACT;AAAA,QAAA;AAAA,QAED,GAAGL;AAAA,MAAA;AAAA,IAAA;AAAA,IAGR,OAAOO;AAAA,IACP,IAAIC;AAAA,IACJ,IAAIC;AAAA,IACJ,IAAIC;AAAA,IACJ,OAAOC;AAAA,IACP,OAAOC;AAAA,IACP,SAASC;AAAA,IACT,SAASC;AAAA,IACT,GAAGC;AAAA,EAAA;AAEP;AAGO,MAAMC,IAAmCnB,EAAA;"}
|
|
@@ -1,42 +1,45 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { ChevronDown16Regular as
|
|
4
|
-
import
|
|
5
|
-
function
|
|
6
|
-
const [
|
|
7
|
-
(
|
|
8
|
-
),
|
|
9
|
-
(
|
|
1
|
+
import { jsxs as l, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import n, { useState as p } from "react";
|
|
3
|
+
import { ChevronDown16Regular as c } from "@fluentui/react-icons";
|
|
4
|
+
import { cn as f } from "../../../utils/cn.js";
|
|
5
|
+
function b({ children: e, open: r = !1 }) {
|
|
6
|
+
const [i, d] = p(r), m = n.Children.toArray(e).find(
|
|
7
|
+
(t) => n.isValidElement(t) && t.type === s
|
|
8
|
+
), a = n.Children.toArray(e).filter(
|
|
9
|
+
(t) => !(n.isValidElement(t) && t.type === s)
|
|
10
10
|
);
|
|
11
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ l(
|
|
12
12
|
"details",
|
|
13
13
|
{
|
|
14
|
-
open:
|
|
15
|
-
onToggle: (
|
|
16
|
-
className:
|
|
14
|
+
open: i,
|
|
15
|
+
onToggle: (t) => d(t.currentTarget.open),
|
|
16
|
+
className: "mint:my-4 mint:border mint:border-gray-200 mint:rounded-lg mint:overflow-hidden mint:dark:border-white/10",
|
|
17
17
|
children: [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{ isOpen:
|
|
18
|
+
m && n.isValidElement(m) && n.cloneElement(
|
|
19
|
+
m,
|
|
20
|
+
{ isOpen: i }
|
|
21
21
|
),
|
|
22
|
-
|
|
22
|
+
i && a.length > 0 && /* @__PURE__ */ o("div", { className: "mint:px-3 mint:py-2 mint:pb-4 mint:border-t mint:border-gray-200 mint:dark:border-t-white/10", children: a })
|
|
23
23
|
]
|
|
24
24
|
}
|
|
25
25
|
);
|
|
26
26
|
}
|
|
27
|
-
function
|
|
28
|
-
return /* @__PURE__ */
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
|
|
27
|
+
function s({ children: e, isOpen: r }) {
|
|
28
|
+
return /* @__PURE__ */ l("summary", { className: "mint:flex mint:items-center mint:gap-2 mint:px-3 mint:py-2 mint:cursor-pointer mint:list-none mint:text-sm mint:font-semibold mint:text-gray-900 mint:hover:bg-gray-50 mint:dark:text-white mint:dark:hover:bg-white/5", children: [
|
|
29
|
+
/* @__PURE__ */ o(
|
|
30
|
+
c,
|
|
31
31
|
{
|
|
32
|
-
className:
|
|
32
|
+
className: f(
|
|
33
|
+
"mint:transition-transform mint:duration-150 mint:shrink-0",
|
|
34
|
+
r ? "mint:rotate-0" : "mint:-rotate-90"
|
|
35
|
+
)
|
|
33
36
|
}
|
|
34
37
|
),
|
|
35
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */ o("span", { className: "mint:flex-1 not-prose", children: e })
|
|
36
39
|
] });
|
|
37
40
|
}
|
|
38
41
|
export {
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
b as Details,
|
|
43
|
+
s as Summary
|
|
41
44
|
};
|
|
42
45
|
//# sourceMappingURL=details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sources":["../../../../src/components/content-components/details/details.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { ChevronDown16Regular } from \"@fluentui/react-icons\";\nimport
|
|
1
|
+
{"version":3,"file":"details.js","sources":["../../../../src/components/content-components/details/details.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { ChevronDown16Regular } from \"@fluentui/react-icons\";\nimport { cn } from \"../../../utils/cn\";\n\ninterface DetailsProps {\n children: React.ReactNode;\n open?: boolean;\n}\n\nexport function Details({ children, open = false }: DetailsProps) {\n const [isOpen, setIsOpen] = useState(open);\n\n const summaryChild = React.Children.toArray(children).find(\n (child) => React.isValidElement(child) && child.type === Summary\n );\n\n const otherChildren = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === Summary)\n );\n\n return (\n <details\n open={isOpen}\n onToggle={(e) => setIsOpen(e.currentTarget.open)}\n className=\"mint:my-4 mint:border mint:border-gray-200 mint:rounded-lg mint:overflow-hidden mint:dark:border-white/10\"\n >\n {summaryChild &&\n React.isValidElement(summaryChild) &&\n React.cloneElement(\n summaryChild as React.ReactElement<\n SummaryProps & { isOpen?: boolean }\n >,\n { isOpen }\n )}\n {isOpen && otherChildren.length > 0 && (\n <div className=\"mint:px-3 mint:py-2 mint:pb-4 mint:border-t mint:border-gray-200 mint:dark:border-t-white/10\">\n {otherChildren}\n </div>\n )}\n </details>\n );\n}\n\ninterface SummaryProps {\n children: React.ReactNode;\n isOpen?: boolean;\n}\n\nexport function Summary({ children, isOpen }: SummaryProps) {\n return (\n <summary className=\"mint:flex mint:items-center mint:gap-2 mint:px-3 mint:py-2 mint:cursor-pointer mint:list-none mint:text-sm mint:font-semibold mint:text-gray-900 mint:hover:bg-gray-50 mint:dark:text-white mint:dark:hover:bg-white/5\">\n <ChevronDown16Regular\n className={cn(\n \"mint:transition-transform mint:duration-150 mint:shrink-0\",\n isOpen ? \"mint:rotate-0\" : \"mint:-rotate-90\"\n )}\n />\n <span className=\"mint:flex-1 not-prose\">{children}</span>\n </summary>\n );\n}\n"],"names":["Details","children","open","isOpen","setIsOpen","useState","summaryChild","React","child","Summary","otherChildren","jsxs","e","jsx","ChevronDown16Regular","cn"],"mappings":";;;;AASO,SAASA,EAAQ,EAAE,UAAAC,GAAU,MAAAC,IAAO,MAAuB;AAChE,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASH,CAAI,GAEnCI,IAAeC,EAAM,SAAS,QAAQN,CAAQ,EAAE;AAAA,IACpD,CAACO,MAAUD,EAAM,eAAeC,CAAK,KAAKA,EAAM,SAASC;AAAA,EAAA,GAGrDC,IAAgBH,EAAM,SAAS,QAAQN,CAAQ,EAAE;AAAA,IACrD,CAACO,MAAU,EAAED,EAAM,eAAeC,CAAK,KAAKA,EAAM,SAASC;AAAA,EAAA;AAG7D,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,UAAU,CAACS,MAAMR,EAAUQ,EAAE,cAAc,IAAI;AAAA,MAC/C,WAAU;AAAA,MAET,UAAA;AAAA,QAAAN,KACCC,EAAM,eAAeD,CAAY,KACjCC,EAAM;AAAA,UACJD;AAAA,UAGA,EAAE,QAAAH,EAAA;AAAA,QAAO;AAAA,QAEZA,KAAUO,EAAc,SAAS,uBAC/B,OAAA,EAAI,WAAU,gGACZ,UAAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAOO,SAASD,EAAQ,EAAE,UAAAR,GAAU,QAAAE,KAAwB;AAC1D,SACE,gBAAAQ,EAAC,WAAA,EAAQ,WAAU,0NACjB,UAAA;AAAA,IAAA,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAWC;AAAA,UACT;AAAA,UACAZ,IAAS,kBAAkB;AAAA,QAAA;AAAA,MAC7B;AAAA,IAAA;AAAA,IAEF,gBAAAU,EAAC,QAAA,EAAK,WAAU,yBAAyB,UAAAZ,EAAA,CAAS;AAAA,EAAA,GACpD;AAEJ;"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
const c = ({
|
|
2
|
+
const c = ({
|
|
3
|
+
id: o,
|
|
4
|
+
level: r,
|
|
5
|
+
children: t,
|
|
6
|
+
className: n = ""
|
|
7
|
+
}) => {
|
|
3
8
|
const e = `h${r}`;
|
|
4
9
|
return /* @__PURE__ */ s(e, { id: o, className: n, children: t });
|
|
5
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","sources":["../../../src/components/content-components/heading.tsx"],"sourcesContent":["import React from
|
|
1
|
+
{"version":3,"file":"heading.js","sources":["../../../src/components/content-components/heading.tsx"],"sourcesContent":["import React from \"react\";\n\nexport interface HeadingProps {\n id: string;\n level: 1 | 2 | 3 | 4 | 5 | 6;\n children: React.ReactNode;\n className?: string;\n}\n\nexport const Heading = ({\n id,\n level,\n children,\n className = \"\",\n}: HeadingProps) => {\n const Tag = `h${level}` as keyof JSX.IntrinsicElements;\n\n return (\n <Tag id={id} className={className}>\n {children}\n </Tag>\n );\n};\n"],"names":["Heading","id","level","children","className","Tag","jsx"],"mappings":";AASO,MAAMA,IAAU,CAAC;AAAA,EACtB,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AACd,MAAoB;AAClB,QAAMC,IAAM,IAAIH,CAAK;AAErB,SACE,gBAAAI,EAACD,GAAA,EAAI,IAAAJ,GAAQ,WAAAG,GACV,UAAAD,EAAA,CACH;AAEJ;"}
|