@mintlify/msft-sdk 0.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.
Files changed (126) hide show
  1. package/README.md +23 -0
  2. package/dist/components/content-components/all-components.js +27 -0
  3. package/dist/components/content-components/all-components.js.map +1 -0
  4. package/dist/components/content-components/callouts.js +50 -0
  5. package/dist/components/content-components/callouts.js.map +1 -0
  6. package/dist/components/content-components/callouts.module.css.js +26 -0
  7. package/dist/components/content-components/callouts.module.css.js.map +1 -0
  8. package/dist/components/content-components/code-block.js +86 -0
  9. package/dist/components/content-components/code-block.js.map +1 -0
  10. package/dist/components/content-components/code-block.module.css.js +28 -0
  11. package/dist/components/content-components/code-block.module.css.js.map +1 -0
  12. package/dist/components/content-components/default-components.js +36 -0
  13. package/dist/components/content-components/default-components.js.map +1 -0
  14. package/dist/components/content-components/default-components.module.css.js +12 -0
  15. package/dist/components/content-components/default-components.module.css.js.map +1 -0
  16. package/dist/components/content-components/details/details.js +42 -0
  17. package/dist/components/content-components/details/details.js.map +1 -0
  18. package/dist/components/content-components/details/details.module.css.js +20 -0
  19. package/dist/components/content-components/details/details.module.css.js.map +1 -0
  20. package/dist/components/content-components/heading.js +9 -0
  21. package/dist/components/content-components/heading.js.map +1 -0
  22. package/dist/components/content-components/link.js +23 -0
  23. package/dist/components/content-components/link.js.map +1 -0
  24. package/dist/components/content-components/link.module.css.js +10 -0
  25. package/dist/components/content-components/link.module.css.js.map +1 -0
  26. package/dist/components/content-components/param-name.js +9 -0
  27. package/dist/components/content-components/param-name.js.map +1 -0
  28. package/dist/components/content-components/param-name.module.css.js +8 -0
  29. package/dist/components/content-components/param-name.module.css.js.map +1 -0
  30. package/dist/components/content-components/table/index.js +122 -0
  31. package/dist/components/content-components/table/index.js.map +1 -0
  32. package/dist/components/content-components/table/table-modal.js +64 -0
  33. package/dist/components/content-components/table/table-modal.js.map +1 -0
  34. package/dist/components/content-components/table/table-modal.module.css.js +18 -0
  35. package/dist/components/content-components/table/table-modal.module.css.js.map +1 -0
  36. package/dist/components/content-components/table/table.module.css.js +30 -0
  37. package/dist/components/content-components/table/table.module.css.js.map +1 -0
  38. package/dist/components/content-components/tabs/tab.js +8 -0
  39. package/dist/components/content-components/tabs/tab.js.map +1 -0
  40. package/dist/components/content-components/tabs/tabs.js +87 -0
  41. package/dist/components/content-components/tabs/tabs.js.map +1 -0
  42. package/dist/components/content-components/tabs/tabs.module.css.js +24 -0
  43. package/dist/components/content-components/tabs/tabs.module.css.js.map +1 -0
  44. package/dist/components/content-components/zone-pivots/zone-pivot-context.js +52 -0
  45. package/dist/components/content-components/zone-pivots/zone-pivot-context.js.map +1 -0
  46. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +74 -0
  47. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -0
  48. package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js +14 -0
  49. package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js.map +1 -0
  50. package/dist/components/content-components/zone-pivots/zone-pivot.js +25 -0
  51. package/dist/components/content-components/zone-pivots/zone-pivot.js.map +1 -0
  52. package/dist/components/content-components/zone-pivots/zone-target.js +8 -0
  53. package/dist/components/content-components/zone-pivots/zone-target.js.map +1 -0
  54. package/dist/components/mdx-renderer.js +13 -0
  55. package/dist/components/mdx-renderer.js.map +1 -0
  56. package/dist/components/mdx-renderer.module.css.js +8 -0
  57. package/dist/components/mdx-renderer.module.css.js.map +1 -0
  58. package/dist/components/nav-tree/dropdown-menu.js +68 -0
  59. package/dist/components/nav-tree/dropdown-menu.js.map +1 -0
  60. package/dist/components/nav-tree/dropdown-menu.module.css.js +52 -0
  61. package/dist/components/nav-tree/dropdown-menu.module.css.js.map +1 -0
  62. package/dist/components/nav-tree/index.js +126 -0
  63. package/dist/components/nav-tree/index.js.map +1 -0
  64. package/dist/components/nav-tree/mobile-nav.js +60 -0
  65. package/dist/components/nav-tree/mobile-nav.js.map +1 -0
  66. package/dist/components/nav-tree/mobile-nav.module.css.js +22 -0
  67. package/dist/components/nav-tree/mobile-nav.module.css.js.map +1 -0
  68. package/dist/components/nav-tree/nav-tree.module.css.js +34 -0
  69. package/dist/components/nav-tree/nav-tree.module.css.js.map +1 -0
  70. package/dist/components/page-context-menu.js +123 -0
  71. package/dist/components/page-context-menu.js.map +1 -0
  72. package/dist/components/page-context-menu.module.css.js +42 -0
  73. package/dist/components/page-context-menu.module.css.js.map +1 -0
  74. package/dist/components/page.js +85 -0
  75. package/dist/components/page.js.map +1 -0
  76. package/dist/components/page.module.css.js +48 -0
  77. package/dist/components/page.module.css.js.map +1 -0
  78. package/dist/components/prose.module.css.js +8 -0
  79. package/dist/components/prose.module.css.js.map +1 -0
  80. package/dist/components/toc/index.js +65 -0
  81. package/dist/components/toc/index.js.map +1 -0
  82. package/dist/components/toc/pivot-aware-toc.js +23 -0
  83. package/dist/components/toc/pivot-aware-toc.js.map +1 -0
  84. package/dist/components/toc/toc.module.css.js +18 -0
  85. package/dist/components/toc/toc.module.css.js.map +1 -0
  86. package/dist/hooks/useMarkdownCopy.js +50 -0
  87. package/dist/hooks/useMarkdownCopy.js.map +1 -0
  88. package/dist/index.d.ts +313 -0
  89. package/dist/index.js +45 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/parser/convert-html-to-mdx.js +28 -0
  92. package/dist/parser/convert-html-to-mdx.js.map +1 -0
  93. package/dist/parser/serialize-mdx.js +36 -0
  94. package/dist/parser/serialize-mdx.js.map +1 -0
  95. package/dist/plugins/rehype/rehype-code-blocks.js +44 -0
  96. package/dist/plugins/rehype/rehype-code-blocks.js.map +1 -0
  97. package/dist/plugins/remark/remark-heading-ids.js +23 -0
  98. package/dist/plugins/remark/remark-heading-ids.js.map +1 -0
  99. package/dist/plugins/sanitize/rehype-callouts.js +32 -0
  100. package/dist/plugins/sanitize/rehype-callouts.js.map +1 -0
  101. package/dist/plugins/sanitize/rehype-details.js +18 -0
  102. package/dist/plugins/sanitize/rehype-details.js.map +1 -0
  103. package/dist/plugins/sanitize/rehype-heading-ids.js +22 -0
  104. package/dist/plugins/sanitize/rehype-heading-ids.js.map +1 -0
  105. package/dist/plugins/sanitize/rehype-param-name.js +11 -0
  106. package/dist/plugins/sanitize/rehype-param-name.js.map +1 -0
  107. package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js +29 -0
  108. package/dist/plugins/sanitize/rehype-pre-to-mdx-fence.js.map +1 -0
  109. package/dist/plugins/sanitize/rehype-remark.js +50 -0
  110. package/dist/plugins/sanitize/rehype-remark.js.map +1 -0
  111. package/dist/plugins/sanitize/rehype-table-align.js +52 -0
  112. package/dist/plugins/sanitize/rehype-table-align.js.map +1 -0
  113. package/dist/plugins/sanitize/rehype-tabs.js +51 -0
  114. package/dist/plugins/sanitize/rehype-tabs.js.map +1 -0
  115. package/dist/plugins/sanitize/rehype-zone-pivots.js +106 -0
  116. package/dist/plugins/sanitize/rehype-zone-pivots.js.map +1 -0
  117. package/dist/plugins/sanitize/remove-html-comments.js +17 -0
  118. package/dist/plugins/sanitize/remove-html-comments.js.map +1 -0
  119. package/dist/styles.css +1 -0
  120. package/dist/utils/get-node-text.js +5 -0
  121. package/dist/utils/get-node-text.js.map +1 -0
  122. package/dist/utils/rehype.js +17 -0
  123. package/dist/utils/rehype.js.map +1 -0
  124. package/dist/utils/string.js +5 -0
  125. package/dist/utils/string.js.map +1 -0
  126. package/package.json +90 -0
@@ -0,0 +1,48 @@
1
+ const n = "_pageContainer_1nz8v_1", t = "_sidebar_1nz8v_10", e = "_sidebarInner_1nz8v_32", o = "_mainWrapper_1nz8v_36", _ = "_mainContent_1nz8v_42", r = "_contentWrapper_1nz8v_66", c = "_tocSidebar_1nz8v_76", a = "_tocInner_1nz8v_94", i = "_tocHeader_1nz8v_102", s = "_tocIcon_1nz8v_109", d = "_tocTitle_1nz8v_119", v = "_contentArea_1nz8v_129", p = "_header_1nz8v_135", z = "_headerInner_1nz8v_139", C = "_headerContent_1nz8v_143", I = "_title_1nz8v_158", l = "_contextMenu_1nz8v_166", b = "_description_1nz8v_180", h = "_pivotContainer_1nz8v_189", m = "_pivotSelector_1nz8v_196", x = "_mdxContent_1nz8v_203", S = {
2
+ pageContainer: n,
3
+ sidebar: t,
4
+ sidebarInner: e,
5
+ mainWrapper: o,
6
+ mainContent: _,
7
+ contentWrapper: r,
8
+ tocSidebar: c,
9
+ tocInner: a,
10
+ tocHeader: i,
11
+ tocIcon: s,
12
+ tocTitle: d,
13
+ contentArea: v,
14
+ header: p,
15
+ headerInner: z,
16
+ headerContent: C,
17
+ title: I,
18
+ contextMenu: l,
19
+ description: b,
20
+ pivotContainer: h,
21
+ pivotSelector: m,
22
+ mdxContent: x
23
+ };
24
+ export {
25
+ v as contentArea,
26
+ r as contentWrapper,
27
+ l as contextMenu,
28
+ S as default,
29
+ b as description,
30
+ p as header,
31
+ C as headerContent,
32
+ z as headerInner,
33
+ _ as mainContent,
34
+ o as mainWrapper,
35
+ x as mdxContent,
36
+ n as pageContainer,
37
+ h as pivotContainer,
38
+ m as pivotSelector,
39
+ t as sidebar,
40
+ e as sidebarInner,
41
+ I as title,
42
+ i as tocHeader,
43
+ s as tocIcon,
44
+ a as tocInner,
45
+ c as tocSidebar,
46
+ d as tocTitle
47
+ };
48
+ //# sourceMappingURL=page.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ const s = "_prose_1ka1h_1", e = {
2
+ prose: s
3
+ };
4
+ export {
5
+ e as default,
6
+ s as prose
7
+ };
8
+ //# sourceMappingURL=prose.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,65 @@
1
+ import { jsx as g, jsxs as $ } from "react/jsx-runtime";
2
+ import { useState as N, useRef as E, useEffect as k } from "react";
3
+ import l from "./toc.module.css.js";
4
+ function F({ toc: s }) {
5
+ const [I, u] = N(""), o = E(!1), t = E();
6
+ return k(() => {
7
+ var h;
8
+ if (s.length === 0) return;
9
+ o.current = !1, t.current && clearTimeout(t.current);
10
+ const n = window.location.hash.slice(1);
11
+ n ? (u(n), o.current = !0, t.current = setTimeout(() => {
12
+ o.current = !1;
13
+ }, 1e3)) : u(((h = s[0]) == null ? void 0 : h.slug) || "");
14
+ const a = () => {
15
+ const r = window.location.hash.slice(1);
16
+ r && (u(r), o.current = !0, t.current && clearTimeout(t.current), t.current = setTimeout(() => {
17
+ o.current = !1;
18
+ }, 1e3));
19
+ }, e = document.getElementById("main-content"), R = () => {
20
+ var p, w;
21
+ if (!e) return (p = s[0]) == null ? void 0 : p.slug;
22
+ const r = window.getComputedStyle(document.documentElement), y = parseFloat(
23
+ r.getPropertyValue("--scroll-mt") || "0"
24
+ ), C = parseFloat(r.fontSize), L = y * C + 100, v = e.scrollTop, m = s.map((c) => {
25
+ const T = document.getElementById(c.slug);
26
+ if (!T) return null;
27
+ const S = T.getBoundingClientRect(), A = e.getBoundingClientRect(), B = S.top - A.top + v;
28
+ return { id: c.slug, top: B };
29
+ }).filter(Boolean);
30
+ if (m.length === 0) return (w = s[0]) == null ? void 0 : w.slug;
31
+ let f = m[0];
32
+ for (const c of m)
33
+ v + L >= c.top && (f = c);
34
+ return f == null ? void 0 : f.id;
35
+ }, i = () => {
36
+ if (o.current) return;
37
+ const r = R();
38
+ r && u(r);
39
+ };
40
+ window.addEventListener("hashchange", a), e ? e.addEventListener("scroll", i, {
41
+ passive: !0
42
+ }) : window.addEventListener("scroll", i, { passive: !0 });
43
+ let d;
44
+ return n || (d = setTimeout(i, 100)), () => {
45
+ d && clearTimeout(d), t.current && clearTimeout(t.current), window.removeEventListener("hashchange", a), e ? e.removeEventListener("scroll", i) : window.removeEventListener("scroll", i);
46
+ };
47
+ }, [s]), /* @__PURE__ */ g("ul", { className: l.list, children: s.map((n, a) => {
48
+ const e = I === n.slug;
49
+ return /* @__PURE__ */ $("li", { className: l.listItem, children: [
50
+ e && /* @__PURE__ */ g("div", { className: l.activeIndicator }),
51
+ /* @__PURE__ */ g(
52
+ "a",
53
+ {
54
+ href: `#${n.slug}`,
55
+ className: `${l.link} ${e ? l.linkActive : l.linkInactive}`,
56
+ children: n.title
57
+ }
58
+ )
59
+ ] }, `${n.slug}-${a}`);
60
+ }) });
61
+ }
62
+ export {
63
+ F as TableOfContents
64
+ };
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/toc/index.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport type { TocItem } from \"../../types\";\nimport styles from \"./toc.module.css\";\n\ninterface TableOfContentsProps {\n toc: TocItem[];\n}\n\nexport function TableOfContents({ toc }: TableOfContentsProps) {\n const [activeId, setActiveId] = useState(\"\");\n const ignoreScrollRef = useRef(false);\n const ignoreTimeoutRef = useRef<NodeJS.Timeout>();\n\n useEffect(() => {\n if (toc.length === 0) return;\n\n ignoreScrollRef.current = false;\n if (ignoreTimeoutRef.current) {\n clearTimeout(ignoreTimeoutRef.current);\n }\n\n const hash = window.location.hash.slice(1);\n if (hash) {\n setActiveId(hash);\n ignoreScrollRef.current = true;\n ignoreTimeoutRef.current = setTimeout(() => {\n ignoreScrollRef.current = false;\n }, 1000);\n } else {\n setActiveId(toc[0]?.slug || \"\");\n }\n\n const handleHashChange = () => {\n const hash = window.location.hash.slice(1);\n if (hash) {\n setActiveId(hash);\n ignoreScrollRef.current = true;\n if (ignoreTimeoutRef.current) {\n clearTimeout(ignoreTimeoutRef.current);\n }\n ignoreTimeoutRef.current = setTimeout(() => {\n ignoreScrollRef.current = false;\n }, 1000);\n }\n };\n\n const scrollContainer = document.getElementById(\"main-content\");\n\n const getActiveHeading = () => {\n if (!scrollContainer) return toc[0]?.slug;\n\n const style = window.getComputedStyle(document.documentElement);\n const scrollMtRem = parseFloat(\n style.getPropertyValue(\"--scroll-mt\") || \"0\"\n );\n const fontSize = parseFloat(style.fontSize);\n const scrollOffset = scrollMtRem * fontSize + 100;\n\n const scrollY = scrollContainer.scrollTop;\n\n const headingPositions = toc\n .map((item) => {\n const element = document.getElementById(item.slug);\n if (!element) return null;\n\n const rect = element.getBoundingClientRect();\n const containerRect = scrollContainer.getBoundingClientRect();\n const relativeTop = rect.top - containerRect.top + scrollY;\n\n return { id: item.slug, top: relativeTop };\n })\n .filter(Boolean) as Array<{ id: string; top: number }>;\n\n if (headingPositions.length === 0) return toc[0]?.slug;\n\n let currentHeading = headingPositions[0];\n for (const heading of headingPositions) {\n if (scrollY + scrollOffset >= heading.top) {\n currentHeading = heading;\n }\n }\n\n return currentHeading?.id;\n };\n\n const handleScroll = () => {\n if (ignoreScrollRef.current) return;\n\n const newActiveId = getActiveHeading();\n if (newActiveId) {\n setActiveId(newActiveId);\n }\n };\n\n window.addEventListener(\"hashchange\", handleHashChange);\n\n if (scrollContainer) {\n scrollContainer.addEventListener(\"scroll\", handleScroll, {\n passive: true,\n });\n } else {\n window.addEventListener(\"scroll\", handleScroll, { passive: true });\n }\n\n let timeoutId: NodeJS.Timeout | undefined;\n if (!hash) {\n timeoutId = setTimeout(handleScroll, 100);\n }\n\n return () => {\n if (timeoutId) clearTimeout(timeoutId);\n if (ignoreTimeoutRef.current) clearTimeout(ignoreTimeoutRef.current);\n window.removeEventListener(\"hashchange\", handleHashChange);\n if (scrollContainer) {\n scrollContainer.removeEventListener(\"scroll\", handleScroll);\n } else {\n window.removeEventListener(\"scroll\", handleScroll);\n }\n };\n }, [toc]);\n\n return (\n <ul className={styles.list}>\n {toc.map((item, index) => {\n const isActive = activeId === item.slug;\n return (\n <li key={`${item.slug}-${index}`} className={styles.listItem}>\n {isActive && <div className={styles.activeIndicator} />}\n <a\n href={`#${item.slug}`}\n className={`${styles.link} ${\n isActive ? styles.linkActive : styles.linkInactive\n }`}\n >\n {item.title}\n </a>\n </li>\n );\n })}\n </ul>\n );\n}\n"],"names":["TableOfContents","toc","activeId","setActiveId","useState","ignoreScrollRef","useRef","ignoreTimeoutRef","useEffect","hash","_a","handleHashChange","scrollContainer","getActiveHeading","style","scrollMtRem","fontSize","scrollOffset","scrollY","headingPositions","item","element","rect","containerRect","relativeTop","_b","currentHeading","heading","handleScroll","newActiveId","timeoutId","jsx","styles","index","isActive","jsxs"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { useMemo as c } from "react";
3
+ import { useZonePivotContext as m } from "../content-components/zone-pivots/zone-pivot-context.js";
4
+ import { TableOfContents as p } from "./index.js";
5
+ function x({ baseToc: t, pivotTocItems: r }) {
6
+ const { selectedPivots: n, groups: o } = m(), u = c(() => {
7
+ if (!r || Object.keys(r).length === 0)
8
+ return t;
9
+ const i = o[0];
10
+ if (!i)
11
+ return t;
12
+ const f = n[i.id];
13
+ if (!f)
14
+ return t;
15
+ const e = r[f];
16
+ return !e || e.length === 0 ? t : e;
17
+ }, [t, r, n, o]);
18
+ return /* @__PURE__ */ s(p, { toc: u });
19
+ }
20
+ export {
21
+ x as PivotAwareTOC
22
+ };
23
+ //# sourceMappingURL=pivot-aware-toc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pivot-aware-toc.js","sources":["../../../src/components/toc/pivot-aware-toc.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport type { TocItem } from \"../../types\";\nimport { useZonePivotContext } from \"../content-components/zone-pivots/zone-pivot-context\";\nimport { TableOfContents } from \"./index\";\n\ninterface PivotAwareTOCProps {\n baseToc: TocItem[];\n pivotTocItems?: Record<string, TocItem[]>;\n}\n\nexport function PivotAwareTOC({ baseToc, pivotTocItems }: PivotAwareTOCProps) {\n const { selectedPivots, groups } = useZonePivotContext();\n\n const toc = useMemo(() => {\n if (!pivotTocItems || Object.keys(pivotTocItems).length === 0) {\n return baseToc;\n }\n\n const firstGroup = groups[0];\n if (!firstGroup) {\n return baseToc;\n }\n\n const selectedPivotId = selectedPivots[firstGroup.id];\n if (!selectedPivotId) {\n return baseToc;\n }\n\n const pivotSpecificToc = pivotTocItems[selectedPivotId];\n if (!pivotSpecificToc || pivotSpecificToc.length === 0) {\n return baseToc;\n }\n\n return pivotSpecificToc;\n }, [baseToc, pivotTocItems, selectedPivots, groups]);\n\n return <TableOfContents toc={toc} />;\n}\n"],"names":["PivotAwareTOC","baseToc","pivotTocItems","selectedPivots","groups","useZonePivotContext","toc","useMemo","firstGroup","selectedPivotId","pivotSpecificToc","jsx","TableOfContents"],"mappings":";;;;AAUO,SAASA,EAAc,EAAE,SAAAC,GAAS,eAAAC,KAAqC;AAC5E,QAAM,EAAE,gBAAAC,GAAgB,QAAAC,EAAA,IAAWC,EAAA,GAE7BC,IAAMC,EAAQ,MAAM;AACxB,QAAI,CAACL,KAAiB,OAAO,KAAKA,CAAa,EAAE,WAAW;AAC1D,aAAOD;AAGT,UAAMO,IAAaJ,EAAO,CAAC;AAC3B,QAAI,CAACI;AACH,aAAOP;AAGT,UAAMQ,IAAkBN,EAAeK,EAAW,EAAE;AACpD,QAAI,CAACC;AACH,aAAOR;AAGT,UAAMS,IAAmBR,EAAcO,CAAe;AACtD,WAAI,CAACC,KAAoBA,EAAiB,WAAW,IAC5CT,IAGFS;AAAA,EACT,GAAG,CAACT,GAASC,GAAeC,GAAgBC,CAAM,CAAC;AAEnD,SAAO,gBAAAO,EAACC,KAAgB,KAAAN,GAAU;AACpC;"}
@@ -0,0 +1,18 @@
1
+ const t = "_list_sdpe2_1", i = "_listItem_sdpe2_14", n = "_activeIndicator_sdpe2_18", s = "_link_sdpe2_32", e = "_linkActive_sdpe2_40", c = "_linkInactive_sdpe2_48", _ = {
2
+ list: t,
3
+ listItem: i,
4
+ activeIndicator: n,
5
+ link: s,
6
+ linkActive: e,
7
+ linkInactive: c
8
+ };
9
+ export {
10
+ n as activeIndicator,
11
+ _ as default,
12
+ s as link,
13
+ e as linkActive,
14
+ c as linkInactive,
15
+ t as list,
16
+ i as listItem
17
+ };
18
+ //# sourceMappingURL=toc.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toc.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,50 @@
1
+ import { useEffect as c } from "react";
2
+ const i = ({
3
+ pathname: o,
4
+ onSuccess: t,
5
+ onFail: e
6
+ }) => {
7
+ a(o).then((r) => {
8
+ setTimeout(() => {
9
+ const n = new ClipboardItem({
10
+ "text/plain": new Blob([r], { type: "text/plain" })
11
+ });
12
+ navigator.clipboard.write([n]).then(t, e);
13
+ }, 0);
14
+ }).catch((r) => {
15
+ console.error("Failed to copy markdown:", r), e == null || e(r);
16
+ });
17
+ };
18
+ function s(o) {
19
+ c(() => {
20
+ const t = (e) => {
21
+ if ((e.metaKey || e.ctrlKey) && e.key === "c") {
22
+ const r = window.getSelection();
23
+ if (r && r.toString().length > 0)
24
+ return;
25
+ e.preventDefault(), i({
26
+ pathname: o
27
+ });
28
+ }
29
+ };
30
+ return window.addEventListener("keydown", t), () => window.removeEventListener("keydown", t);
31
+ }, [o]);
32
+ }
33
+ async function a(o) {
34
+ try {
35
+ const t = await fetch(`${o}.md`);
36
+ if (!t.ok)
37
+ throw new Error(
38
+ `Failed to fetch markdown: ${t.status} ${t.statusText}`
39
+ );
40
+ return await t.text();
41
+ } catch (t) {
42
+ return console.error("Error fetching markdown:", t), "";
43
+ }
44
+ }
45
+ export {
46
+ i as copyMarkdownToClipboard,
47
+ a as getPageMarkdown,
48
+ s as useMarkdownCopy
49
+ };
50
+ //# sourceMappingURL=useMarkdownCopy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarkdownCopy.js","sources":["../../src/hooks/useMarkdownCopy.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nexport interface CopyMarkdownOptions {\n pathname: string;\n onSuccess?: () => void;\n onFail?: (error: unknown) => void;\n}\n\nexport const copyMarkdownToClipboard = ({\n pathname,\n onSuccess,\n onFail,\n}: CopyMarkdownOptions) => {\n getPageMarkdown(pathname)\n .then((markdown) => {\n setTimeout(() => {\n const clipboardItem = new ClipboardItem({\n \"text/plain\": new Blob([markdown], { type: \"text/plain\" }),\n });\n void navigator.clipboard.write([clipboardItem]).then(onSuccess, onFail);\n }, 0);\n })\n .catch((error) => {\n console.error(\"Failed to copy markdown:\", error);\n onFail?.(error);\n });\n};\n\nexport function useMarkdownCopy(pathname: string) {\n useEffect(() => {\n const handleKeyPress = (e: KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === \"c\") {\n const selection = window.getSelection();\n if (selection && selection.toString().length > 0) {\n return;\n }\n e.preventDefault();\n copyMarkdownToClipboard({\n pathname,\n });\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyPress);\n return () => window.removeEventListener(\"keydown\", handleKeyPress);\n }, [pathname]);\n}\n\nexport async function getPageMarkdown(pathname: string): Promise<string> {\n try {\n const res = await fetch(`${pathname}.md`);\n\n if (!res.ok) {\n throw new Error(\n `Failed to fetch markdown: ${res.status} ${res.statusText}`\n );\n }\n\n return await res.text();\n } catch (error) {\n console.error(\"Error fetching markdown:\", error);\n return \"\";\n }\n}\n"],"names":["copyMarkdownToClipboard","pathname","onSuccess","onFail","getPageMarkdown","markdown","clipboardItem","error","useMarkdownCopy","useEffect","handleKeyPress","selection","res"],"mappings":";AAQO,MAAMA,IAA0B,CAAC;AAAA,EACtC,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AACF,MAA2B;AACzB,EAAAC,EAAgBH,CAAQ,EACrB,KAAK,CAACI,MAAa;AAClB,eAAW,MAAM;AACf,YAAMC,IAAgB,IAAI,cAAc;AAAA,QACtC,cAAc,IAAI,KAAK,CAACD,CAAQ,GAAG,EAAE,MAAM,aAAA,CAAc;AAAA,MAAA,CAC1D;AACD,MAAK,UAAU,UAAU,MAAM,CAACC,CAAa,CAAC,EAAE,KAAKJ,GAAWC,CAAM;AAAA,IACxE,GAAG,CAAC;AAAA,EACN,CAAC,EACA,MAAM,CAACI,MAAU;AAChB,YAAQ,MAAM,4BAA4BA,CAAK,GAC/CJ,KAAA,QAAAA,EAASI;AAAA,EACX,CAAC;AACL;AAEO,SAASC,EAAgBP,GAAkB;AAChD,EAAAQ,EAAU,MAAM;AACd,UAAMC,IAAiB,CAAC,MAAqB;AAC3C,WAAK,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,KAAK;AAC7C,cAAMC,IAAY,OAAO,aAAA;AACzB,YAAIA,KAAaA,EAAU,SAAA,EAAW,SAAS;AAC7C;AAEF,UAAE,eAAA,GACFX,EAAwB;AAAA,UACtB,UAAAC;AAAA,QAAA,CACD;AAAA,MACH;AAAA,IACF;AAEA,kBAAO,iBAAiB,WAAWS,CAAc,GAC1C,MAAM,OAAO,oBAAoB,WAAWA,CAAc;AAAA,EACnE,GAAG,CAACT,CAAQ,CAAC;AACf;AAEA,eAAsBG,EAAgBH,GAAmC;AACvE,MAAI;AACF,UAAMW,IAAM,MAAM,MAAM,GAAGX,CAAQ,KAAK;AAExC,QAAI,CAACW,EAAI;AACP,YAAM,IAAI;AAAA,QACR,6BAA6BA,EAAI,MAAM,IAAIA,EAAI,UAAU;AAAA,MAAA;AAI7D,WAAO,MAAMA,EAAI,KAAA;AAAA,EACnB,SAASL,GAAO;AACd,mBAAQ,MAAM,4BAA4BA,CAAK,GACxC;AAAA,EACT;AACF;"}
@@ -0,0 +1,313 @@
1
+ import { default as default_2 } from 'react';
2
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
3
+
4
+ export declare const allComponents: {
5
+ CodeBlock: typeof CodeBlock;
6
+ Heading: ({ id, level, children, className }: HeadingProps) => JSX_2.Element;
7
+ Link: typeof Link;
8
+ Callout: typeof Callout;
9
+ ZonePivot: typeof ZonePivot;
10
+ ZoneTarget: typeof ZoneTarget;
11
+ ParamName: typeof ParamName;
12
+ Tabs: typeof Tabs;
13
+ Tab: typeof Tab;
14
+ Details: typeof Details;
15
+ Summary: typeof Summary;
16
+ };
17
+
18
+ export declare function Callout({ type, children }: CalloutProps): JSX_2.Element;
19
+
20
+ declare interface CalloutProps {
21
+ type: CalloutType;
22
+ children: React.ReactNode;
23
+ }
24
+
25
+ declare type CalloutType = "note" | "tip" | "important" | "caution" | "warning" | "nextstepaction";
26
+
27
+ export declare function CodeBlock({ children, className, fileName, language, }: CodeBlockProps): JSX_2.Element;
28
+
29
+ declare interface CodeBlockProps {
30
+ children: default_2.ReactNode;
31
+ className?: string;
32
+ language?: string;
33
+ fileName?: string;
34
+ }
35
+
36
+ export declare function convertHtmlToMdx(html: string, options?: ConvertOptions): Promise<{
37
+ mdx: string;
38
+ mdxExtracts: MdxExtracts;
39
+ }>;
40
+
41
+ export declare interface ConvertOptions {
42
+ metadata?: Record<string, unknown>;
43
+ mdxExtracts?: MdxExtracts;
44
+ }
45
+
46
+ export declare interface CopyMarkdownOptions {
47
+ pathname: string;
48
+ onSuccess?: () => void;
49
+ onFail?: (error: unknown) => void;
50
+ }
51
+
52
+ export declare const copyMarkdownToClipboard: ({ pathname, onSuccess, onFail, }: CopyMarkdownOptions) => void;
53
+
54
+ export declare const defaultComponents: MDXComponents;
55
+
56
+ declare function Details({ children, open }: DetailsProps): JSX_2.Element;
57
+
58
+ declare interface DetailsProps {
59
+ children: default_2.ReactNode;
60
+ open?: boolean;
61
+ }
62
+
63
+ export declare function DocsPage({ payload, toc, navTree, dropdown, activeHref, theme, className, pathname, markdownContent, }: DocsPageProps): JSX_2.Element;
64
+
65
+ export declare interface DocsPageProps {
66
+ payload: PayloadData;
67
+ toc?: TocItem[];
68
+ navTree?: NavTreeData;
69
+ dropdown?: DropdownConfig;
70
+ activeHref?: string;
71
+ theme?: "light" | "dark";
72
+ className?: string;
73
+ pathname?: string;
74
+ markdownContent?: string;
75
+ }
76
+
77
+ export declare interface DropdownConfig {
78
+ title: string;
79
+ description: string;
80
+ icon?: default_2.ComponentType<{
81
+ className?: string;
82
+ }>;
83
+ color?: {
84
+ light?: string;
85
+ dark?: string;
86
+ };
87
+ items?: DropdownItem[];
88
+ }
89
+
90
+ export declare interface DropdownItem {
91
+ title: string;
92
+ href?: string;
93
+ description?: string;
94
+ icon?: default_2.ComponentType<{
95
+ className?: string;
96
+ }>;
97
+ }
98
+
99
+ export declare function DropdownMenu({ dropdown, isActive, activeHref, className, }: DropdownMenuProps): JSX_2.Element;
100
+
101
+ declare interface DropdownMenuProps {
102
+ dropdown: DropdownConfig;
103
+ isActive?: boolean;
104
+ activeHref?: string;
105
+ className?: string;
106
+ }
107
+
108
+ export declare function getPageMarkdown(pathname: string): Promise<string>;
109
+
110
+ export declare const Heading: ({ id, level, children, className }: HeadingProps) => JSX_2.Element;
111
+
112
+ declare interface HeadingProps {
113
+ id: string;
114
+ level: 1 | 2 | 3 | 4 | 5 | 6;
115
+ children: default_2.ReactNode;
116
+ className?: string;
117
+ }
118
+
119
+ export declare function Link({ href, children, className }: LinkProps): JSX_2.Element;
120
+
121
+ declare interface LinkProps {
122
+ href?: string;
123
+ children: default_2.ReactNode;
124
+ className?: string;
125
+ }
126
+
127
+ export declare interface MDXComponents {
128
+ h1?: default_2.ComponentType<any>;
129
+ h2?: default_2.ComponentType<any>;
130
+ h3?: default_2.ComponentType<any>;
131
+ h4?: default_2.ComponentType<any>;
132
+ h5?: default_2.ComponentType<any>;
133
+ h6?: default_2.ComponentType<any>;
134
+ code?: default_2.ComponentType<any>;
135
+ pre?: default_2.ComponentType<any>;
136
+ a?: default_2.ComponentType<any>;
137
+ p?: default_2.ComponentType<any>;
138
+ ul?: default_2.ComponentType<any>;
139
+ ol?: default_2.ComponentType<any>;
140
+ li?: default_2.ComponentType<any>;
141
+ blockquote?: default_2.ComponentType<any>;
142
+ table?: default_2.ComponentType<any>;
143
+ thead?: default_2.ComponentType<any>;
144
+ tbody?: default_2.ComponentType<any>;
145
+ tr?: default_2.ComponentType<any>;
146
+ td?: default_2.ComponentType<any>;
147
+ th?: default_2.ComponentType<any>;
148
+ details?: default_2.ComponentType<any>;
149
+ summary?: default_2.ComponentType<any>;
150
+ CodeBlock?: default_2.ComponentType<any>;
151
+ Callout?: default_2.ComponentType<any>;
152
+ ZonePivot?: default_2.ComponentType<any>;
153
+ ZoneTarget?: default_2.ComponentType<any>;
154
+ ParamName?: default_2.ComponentType<any>;
155
+ Tabs?: default_2.ComponentType<any>;
156
+ Tab?: default_2.ComponentType<any>;
157
+ }
158
+
159
+ export declare interface MdxExtracts {
160
+ zonePivotGroups?: ZonePivotGroup[];
161
+ pivotTocItems?: Record<string, TocItem[]>;
162
+ }
163
+
164
+ export declare function MDXRenderer({ children, components }: MDXRendererProps): JSX_2.Element;
165
+
166
+ declare interface MDXRendererProps {
167
+ children: default_2.ReactNode;
168
+ components?: MDXComponents;
169
+ }
170
+
171
+ export declare function MobileNavTree({ isOpen, setIsOpen, navTree, activeId, className, theme, dropdown, activeHref, }: MobileNavTreeProps): JSX_2.Element;
172
+
173
+ declare interface MobileNavTreeProps {
174
+ isOpen: boolean;
175
+ setIsOpen: (isOpen: boolean) => void;
176
+ navTree: NavTreeData;
177
+ activeId?: string;
178
+ className?: string;
179
+ theme?: "light" | "dark" | "system";
180
+ dropdown?: DropdownConfig;
181
+ activeHref?: string;
182
+ }
183
+
184
+ export declare interface NavItem {
185
+ href?: string;
186
+ toc_title: string;
187
+ children?: NavItem[];
188
+ expanded?: boolean;
189
+ icon?: default_2.ComponentType<{
190
+ className?: string;
191
+ }>;
192
+ }
193
+
194
+ export declare function NavTree({ navTree, activeId, className, dropdown, activeHref, theme, }: NavTreeProps): JSX_2.Element | null;
195
+
196
+ export declare interface NavTreeData {
197
+ items: NavItem[];
198
+ }
199
+
200
+ declare interface NavTreeProps {
201
+ navTree: NavTreeData;
202
+ activeId?: string;
203
+ className?: string;
204
+ dropdown?: DropdownConfig;
205
+ activeHref?: string;
206
+ theme?: "light" | "dark" | "system";
207
+ }
208
+
209
+ export declare const PageContextMenu: ({ className, pathname, markdownContent, onCopyMarkdown, onViewMarkdown, }: PageContextMenuProps) => JSX_2.Element;
210
+
211
+ export declare interface PageContextMenuProps {
212
+ className?: string;
213
+ pathname: string;
214
+ markdownContent?: string;
215
+ onCopyMarkdown?: () => void;
216
+ onViewMarkdown?: (pathname: string) => void;
217
+ }
218
+
219
+ declare function ParamName({ children }: ParamNameProps): JSX_2.Element;
220
+
221
+ declare interface ParamNameProps {
222
+ children: React.ReactNode;
223
+ }
224
+
225
+ export declare interface PayloadData {
226
+ content: string;
227
+ serializedContent: default_2.ComponentType;
228
+ title?: string;
229
+ description?: string;
230
+ metadata?: Record<string, unknown>;
231
+ mdxExtracts?: MdxExtracts;
232
+ }
233
+
234
+ export declare function serializeMdx(mdxString: string): Promise<default_2.ComponentType>;
235
+
236
+ declare function Summary({ children, isOpen }: SummaryProps): JSX_2.Element;
237
+
238
+ declare interface SummaryProps {
239
+ children: default_2.ReactNode;
240
+ isOpen?: boolean;
241
+ }
242
+
243
+ declare function Tab({ children }: TabProps): JSX_2.Element;
244
+
245
+ export declare function TableOfContents({ toc }: TableOfContentsProps): JSX_2.Element;
246
+
247
+ declare interface TableOfContentsProps {
248
+ toc: TocItem[];
249
+ }
250
+
251
+ declare interface TabProps {
252
+ title: string;
253
+ icon?: string;
254
+ children: default_2.ReactNode;
255
+ }
256
+
257
+ declare function Tabs({ children, defaultTab }: TabsProps): JSX_2.Element;
258
+
259
+ declare interface TabsProps {
260
+ children: default_2.ReactNode;
261
+ defaultTab?: number;
262
+ }
263
+
264
+ export declare interface TocItem {
265
+ title: string;
266
+ slug: string;
267
+ level: number;
268
+ children?: TocItem[];
269
+ }
270
+
271
+ export declare function useMarkdownCopy(pathname: string): void;
272
+
273
+ export declare function ZonePivot({ pivot, target, children }: ZonePivotProps): JSX_2.Element | null;
274
+
275
+ export declare interface ZonePivotGroup {
276
+ id: string;
277
+ title: string;
278
+ prompt: string;
279
+ pivots: Array<{
280
+ id: string;
281
+ title: string;
282
+ }>;
283
+ }
284
+
285
+ declare interface ZonePivotProps {
286
+ pivot: string;
287
+ target?: string;
288
+ children: default_2.ReactNode;
289
+ }
290
+
291
+ export declare function ZonePivotProvider({ groups, children, defaultPivots, }: ZonePivotProviderProps): JSX_2.Element;
292
+
293
+ declare interface ZonePivotProviderProps {
294
+ groups: ZonePivotGroup[];
295
+ children: default_2.ReactNode;
296
+ defaultPivots?: Record<string, string>;
297
+ }
298
+
299
+ export declare function ZonePivotSelector({ group, className, }: ZonePivotSelectorProps): JSX_2.Element;
300
+
301
+ declare interface ZonePivotSelectorProps {
302
+ group: ZonePivotGroup;
303
+ className?: string;
304
+ }
305
+
306
+ export declare function ZoneTarget({ target, children }: ZoneTargetProps): JSX_2.Element;
307
+
308
+ declare interface ZoneTargetProps {
309
+ target: string;
310
+ children: default_2.ReactNode;
311
+ }
312
+
313
+ export { }
package/dist/index.js ADDED
@@ -0,0 +1,45 @@
1
+ import { DocsPage as e } from "./components/page.js";
2
+ import { MDXRenderer as p } from "./components/mdx-renderer.js";
3
+ import { NavTree as x } from "./components/nav-tree/index.js";
4
+ import { TableOfContents as n } from "./components/toc/index.js";
5
+ import { PageContextMenu as d } from "./components/page-context-menu.js";
6
+ import { copyMarkdownToClipboard as i, getPageMarkdown as M, useMarkdownCopy as C } from "./hooks/useMarkdownCopy.js";
7
+ import { convertHtmlToMdx as P } from "./parser/convert-html-to-mdx.js";
8
+ import { serializeMdx as s } from "./parser/serialize-mdx.js";
9
+ import { CodeBlock as c } from "./components/content-components/code-block.js";
10
+ import { Heading as u } from "./components/content-components/heading.js";
11
+ import { Link as Z } from "./components/content-components/link.js";
12
+ import { Callout as D } from "./components/content-components/callouts.js";
13
+ import { ZonePivot as H } from "./components/content-components/zone-pivots/zone-pivot.js";
14
+ import { ZoneTarget as z } from "./components/content-components/zone-pivots/zone-target.js";
15
+ import { ZonePivotProvider as L } from "./components/content-components/zone-pivots/zone-pivot-context.js";
16
+ import { ZonePivotSelector as R } from "./components/content-components/zone-pivots/zone-pivot-selector.js";
17
+ import { allComponents as X } from "./components/content-components/all-components.js";
18
+ import { defaultComponents as j } from "./components/content-components/default-components.js";
19
+ import { DropdownMenu as A } from "./components/nav-tree/dropdown-menu.js";
20
+ import { MobileNavTree as F } from "./components/nav-tree/mobile-nav.js";
21
+ export {
22
+ D as Callout,
23
+ c as CodeBlock,
24
+ e as DocsPage,
25
+ A as DropdownMenu,
26
+ u as Heading,
27
+ Z as Link,
28
+ p as MDXRenderer,
29
+ F as MobileNavTree,
30
+ x as NavTree,
31
+ d as PageContextMenu,
32
+ n as TableOfContents,
33
+ H as ZonePivot,
34
+ L as ZonePivotProvider,
35
+ R as ZonePivotSelector,
36
+ z as ZoneTarget,
37
+ X as allComponents,
38
+ P as convertHtmlToMdx,
39
+ i as copyMarkdownToClipboard,
40
+ j as defaultComponents,
41
+ M as getPageMarkdown,
42
+ s as serializeMdx,
43
+ C as useMarkdownCopy
44
+ };
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,28 @@
1
+ import { unified as s } from "unified";
2
+ import p from "rehype-parse";
3
+ import i from "remark-mdx";
4
+ import a from "remark-gfm";
5
+ import f from "remark-stringify";
6
+ import { rehypeRemoveHtmlComments as u } from "../plugins/sanitize/remove-html-comments.js";
7
+ import { sanitizePreTags as n } from "../plugins/sanitize/rehype-pre-to-mdx-fence.js";
8
+ import { rehypeCallouts as c } from "../plugins/sanitize/rehype-callouts.js";
9
+ import { rehypeParamName as y } from "../plugins/sanitize/rehype-param-name.js";
10
+ import { rehypeTabs as h } from "../plugins/sanitize/rehype-tabs.js";
11
+ import { rehypeDetails as d } from "../plugins/sanitize/rehype-details.js";
12
+ import { rehypeHeadingIds as x } from "../plugins/sanitize/rehype-heading-ids.js";
13
+ import { rehypeZonePivots as l } from "../plugins/sanitize/rehype-zone-pivots.js";
14
+ import { rehypeRemark as g } from "../plugins/sanitize/rehype-remark.js";
15
+ async function I(o, r = {}) {
16
+ const e = r.mdxExtracts || {}, m = {
17
+ ...r,
18
+ mdxExtracts: e
19
+ }, t = await s().use(p).use(u).use(n).use(c).use(y).use(h).use(d).use(x).use(l, m).use(g).use(a).use(i).use(f).process(o);
20
+ return {
21
+ mdx: String(t),
22
+ mdxExtracts: e
23
+ };
24
+ }
25
+ export {
26
+ I as convertHtmlToMdx
27
+ };
28
+ //# sourceMappingURL=convert-html-to-mdx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-html-to-mdx.js","sources":["../../src/parser/convert-html-to-mdx.ts"],"sourcesContent":["import { unified } from \"unified\";\nimport rehypeParse from \"rehype-parse\";\nimport remarkMdx from \"remark-mdx\";\nimport remarkGfm from \"remark-gfm\";\nimport remarkStringify from \"remark-stringify\";\nimport type { ConvertOptions, MdxExtracts } from \"../types\";\nimport {\n sanitizePreTags,\n rehypeCallouts,\n rehypeParamName,\n rehypeTabs,\n rehypeDetails,\n rehypeHeadingIds,\n rehypeZonePivots,\n rehypeRemark,\n} from \"../plugins\";\nimport { rehypeRemoveHtmlComments } from \"../plugins/sanitize/remove-html-comments\";\n\nexport async function convertHtmlToMdx(\n html: string,\n options: ConvertOptions = {}\n): Promise<{ mdx: string; mdxExtracts: MdxExtracts }> {\n const mdxExtracts: MdxExtracts = options.mdxExtracts || {};\n\n const convertOptions: ConvertOptions = {\n ...options,\n mdxExtracts,\n };\n\n const processor = unified()\n .use(rehypeParse)\n .use(rehypeRemoveHtmlComments)\n .use(sanitizePreTags)\n .use(rehypeCallouts)\n .use(rehypeParamName)\n .use(rehypeTabs)\n .use(rehypeDetails)\n .use(rehypeHeadingIds)\n .use(rehypeZonePivots, convertOptions)\n .use(rehypeRemark)\n .use(remarkGfm)\n .use(remarkMdx)\n .use(remarkStringify);\n\n const result = await processor.process(html);\n\n return {\n mdx: String(result),\n mdxExtracts,\n };\n}\n"],"names":["convertHtmlToMdx","html","options","mdxExtracts","convertOptions","result","unified","rehypeParse","rehypeRemoveHtmlComments","sanitizePreTags","rehypeCallouts","rehypeParamName","rehypeTabs","rehypeDetails","rehypeHeadingIds","rehypeZonePivots","rehypeRemark","remarkGfm","remarkMdx","remarkStringify"],"mappings":";;;;;;;;;;;;;;AAkBA,eAAsBA,EACpBC,GACAC,IAA0B,IAC0B;AACpD,QAAMC,IAA2BD,EAAQ,eAAe,CAAA,GAElDE,IAAiC;AAAA,IACrC,GAAGF;AAAA,IACH,aAAAC;AAAA,EAAA,GAkBIE,IAAS,MAfGC,IACf,IAAIC,CAAW,EACf,IAAIC,CAAwB,EAC5B,IAAIC,CAAe,EACnB,IAAIC,CAAc,EAClB,IAAIC,CAAe,EACnB,IAAIC,CAAU,EACd,IAAIC,CAAa,EACjB,IAAIC,CAAgB,EACpB,IAAIC,GAAkBX,CAAc,EACpC,IAAIY,CAAY,EAChB,IAAIC,CAAS,EACb,IAAIC,CAAS,EACb,IAAIC,CAAe,EAES,QAAQlB,CAAI;AAE3C,SAAO;AAAA,IACL,KAAK,OAAOI,CAAM;AAAA,IAClB,aAAAF;AAAA,EAAA;AAEJ;"}