@mintlify/msft-sdk 1.1.0 → 1.1.2

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 (91) hide show
  1. package/dist/components/content-components/callouts.js +35 -20
  2. package/dist/components/content-components/callouts.js.map +1 -1
  3. package/dist/components/content-components/code-block.js +87 -60
  4. package/dist/components/content-components/code-block.js.map +1 -1
  5. package/dist/components/content-components/default-components.js +52 -33
  6. package/dist/components/content-components/default-components.js.map +1 -1
  7. package/dist/components/content-components/details/details.js +28 -25
  8. package/dist/components/content-components/details/details.js.map +1 -1
  9. package/dist/components/content-components/heading.js +6 -1
  10. package/dist/components/content-components/heading.js.map +1 -1
  11. package/dist/components/content-components/home.js +256 -163
  12. package/dist/components/content-components/home.js.map +1 -1
  13. package/dist/components/content-components/link.js +7 -7
  14. package/dist/components/content-components/link.js.map +1 -1
  15. package/dist/components/content-components/param-name.js +4 -5
  16. package/dist/components/content-components/param-name.js.map +1 -1
  17. package/dist/components/content-components/table/index.js +101 -67
  18. package/dist/components/content-components/table/index.js.map +1 -1
  19. package/dist/components/content-components/table/table-modal.js +31 -32
  20. package/dist/components/content-components/table/table-modal.js.map +1 -1
  21. package/dist/components/content-components/tabs/tabs.js +51 -46
  22. package/dist/components/content-components/tabs/tabs.js.map +1 -1
  23. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +39 -36
  24. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
  25. package/dist/components/mdx-renderer.js +16 -8
  26. package/dist/components/mdx-renderer.js.map +1 -1
  27. package/dist/components/nav-tree/dropdown-menu.js +40 -33
  28. package/dist/components/nav-tree/dropdown-menu.js.map +1 -1
  29. package/dist/components/nav-tree/index.js +122 -93
  30. package/dist/components/nav-tree/index.js.map +1 -1
  31. package/dist/components/nav-tree/mobile-nav.js +60 -41
  32. package/dist/components/nav-tree/mobile-nav.js.map +1 -1
  33. package/dist/components/page-context-menu.js +107 -90
  34. package/dist/components/page-context-menu.js.map +1 -1
  35. package/dist/components/page.js +108 -86
  36. package/dist/components/page.js.map +1 -1
  37. package/dist/components/plain-text-page.js +3 -4
  38. package/dist/components/plain-text-page.js.map +1 -1
  39. package/dist/components/toc/index.js +45 -42
  40. package/dist/components/toc/index.js.map +1 -1
  41. package/dist/context/components-context.js +17 -0
  42. package/dist/context/components-context.js.map +1 -0
  43. package/dist/index.d.ts +34 -5
  44. package/dist/index.js +109 -103
  45. package/dist/index.js.map +1 -1
  46. package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js +2732 -0
  47. package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  48. package/dist/styles.css +1 -1
  49. package/dist/utils/cn.js +9 -0
  50. package/dist/utils/cn.js.map +1 -0
  51. package/package.json +5 -1
  52. package/dist/components/content-components/callouts.module.css.js +0 -26
  53. package/dist/components/content-components/callouts.module.css.js.map +0 -1
  54. package/dist/components/content-components/code-block.module.css.js +0 -32
  55. package/dist/components/content-components/code-block.module.css.js.map +0 -1
  56. package/dist/components/content-components/default-components.module.css.js +0 -12
  57. package/dist/components/content-components/default-components.module.css.js.map +0 -1
  58. package/dist/components/content-components/details/details.module.css.js +0 -20
  59. package/dist/components/content-components/details/details.module.css.js.map +0 -1
  60. package/dist/components/content-components/home.module.css.js +0 -74
  61. package/dist/components/content-components/home.module.css.js.map +0 -1
  62. package/dist/components/content-components/link.module.css.js +0 -10
  63. package/dist/components/content-components/link.module.css.js.map +0 -1
  64. package/dist/components/content-components/param-name.module.css.js +0 -8
  65. package/dist/components/content-components/param-name.module.css.js.map +0 -1
  66. package/dist/components/content-components/table/table-modal.module.css.js +0 -18
  67. package/dist/components/content-components/table/table-modal.module.css.js.map +0 -1
  68. package/dist/components/content-components/table/table.module.css.js +0 -30
  69. package/dist/components/content-components/table/table.module.css.js.map +0 -1
  70. package/dist/components/content-components/tabs/tabs.module.css.js +0 -24
  71. package/dist/components/content-components/tabs/tabs.module.css.js.map +0 -1
  72. package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js +0 -14
  73. package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js.map +0 -1
  74. package/dist/components/mdx-renderer.module.css.js +0 -8
  75. package/dist/components/mdx-renderer.module.css.js.map +0 -1
  76. package/dist/components/nav-tree/dropdown-menu.module.css.js +0 -52
  77. package/dist/components/nav-tree/dropdown-menu.module.css.js.map +0 -1
  78. package/dist/components/nav-tree/mobile-nav.module.css.js +0 -22
  79. package/dist/components/nav-tree/mobile-nav.module.css.js.map +0 -1
  80. package/dist/components/nav-tree/nav-tree.module.css.js +0 -50
  81. package/dist/components/nav-tree/nav-tree.module.css.js.map +0 -1
  82. package/dist/components/page-context-menu.module.css.js +0 -42
  83. package/dist/components/page-context-menu.module.css.js.map +0 -1
  84. package/dist/components/page.module.css.js +0 -52
  85. package/dist/components/page.module.css.js.map +0 -1
  86. package/dist/components/plain-text-page.module.css.js +0 -10
  87. package/dist/components/plain-text-page.module.css.js.map +0 -1
  88. package/dist/components/prose.module.css.js +0 -8
  89. package/dist/components/prose.module.css.js.map +0 -1
  90. package/dist/components/toc/toc.module.css.js +0 -18
  91. package/dist/components/toc/toc.module.css.js.map +0 -1
@@ -1,27 +1,32 @@
1
- import { jsxs as s, jsx as o } from "react/jsx-runtime";
2
- import { InfoFilled as l, Warning20Regular as t, DismissCircle20Regular as r, Info20Regular as m, Lightbulb20Regular as u } from "@fluentui/react-icons";
3
- import n from "./callouts.module.css.js";
4
- import p from "../prose.module.css.js";
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__ */ o(u, { className: n.icon })
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__ */ o(m, { className: n.icon })
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__ */ o(t, { className: n.icon })
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__ */ o(r, { className: n.icon })
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__ */ o(t, { className: n.icon })
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(l, { className: n.icon })
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
- }, N = {
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 C({ type: i, children: c }) {
33
- const a = g[i], e = N[i];
34
- return /* @__PURE__ */ s(
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": e,
39
- className: `${n.callout} ${n[i]}`,
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
- a.icon && /* @__PURE__ */ o("div", { className: n.iconContainer, "aria-hidden": "true", children: a.icon }),
42
- /* @__PURE__ */ o("div", { className: `${n.content} ${p.prose}`, children: c })
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
- C as Callout
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 styles from \"./callouts.module.css\";\nimport proseStyles from \"../prose.module.css\";\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 }\n> = {\n tip: {\n icon: <Lightbulb20Regular className={styles.icon} />,\n },\n note: {\n icon: <Info20Regular className={styles.icon} />,\n },\n warning: {\n icon: <Warning20Regular className={styles.icon} />,\n },\n caution: {\n icon: <DismissCircle20Regular className={styles.icon} />,\n },\n important: {\n icon: <Warning20Regular className={styles.icon} />,\n },\n nextstepaction: {\n icon: <InfoFilled className={styles.icon} />,\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={`${styles.callout} ${styles[type]}`}\n >\n {config.icon && (\n <div className={styles.iconContainer} aria-hidden=\"true\">\n {config.icon}\n </div>\n )}\n <div className={`${styles.content} ${proseStyles.prose}`}>{children}</div>\n </aside>\n );\n}\n"],"names":["calloutConfig","jsx","Lightbulb20Regular","styles","Info20Regular","Warning20Regular","DismissCircle20Regular","InfoFilled","calloutLabels","Callout","type","children","config","label","jsxs","proseStyles"],"mappings":";;;;AAuBA,MAAMA,IAKF;AAAA,EACF,KAAK;AAAA,IACH,MAAM,gBAAAC,EAACC,GAAA,EAAmB,WAAWC,EAAO,KAAA,CAAM;AAAA,EAAA;AAAA,EAEpD,MAAM;AAAA,IACJ,MAAM,gBAAAF,EAACG,GAAA,EAAc,WAAWD,EAAO,KAAA,CAAM;AAAA,EAAA;AAAA,EAE/C,SAAS;AAAA,IACP,MAAM,gBAAAF,EAACI,GAAA,EAAiB,WAAWF,EAAO,KAAA,CAAM;AAAA,EAAA;AAAA,EAElD,SAAS;AAAA,IACP,MAAM,gBAAAF,EAACK,GAAA,EAAuB,WAAWH,EAAO,KAAA,CAAM;AAAA,EAAA;AAAA,EAExD,WAAW;AAAA,IACT,MAAM,gBAAAF,EAACI,GAAA,EAAiB,WAAWF,EAAO,KAAA,CAAM;AAAA,EAAA;AAAA,EAElD,gBAAgB;AAAA,IACd,MAAM,gBAAAF,EAACM,GAAA,EAAW,WAAWJ,EAAO,KAAA,CAAM;AAAA,EAAA;AAE9C,GAEMK,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,IAASZ,EAAcU,CAAI,GAC3BG,IAAQL,EAAcE,CAAI;AAEhC,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAYD;AAAA,MACZ,WAAW,GAAGV,EAAO,OAAO,IAAIA,EAAOO,CAAI,CAAC;AAAA,MAE3C,UAAA;AAAA,QAAAE,EAAO,0BACL,OAAA,EAAI,WAAWT,EAAO,eAAe,eAAY,QAC/C,UAAAS,EAAO,KAAA,CACV;AAAA,QAEF,gBAAAX,EAAC,OAAA,EAAI,WAAW,GAAGE,EAAO,OAAO,IAAIY,EAAY,KAAK,IAAK,UAAAJ,EAAA,CAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG1E;"}
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 m, jsx as e } from "react/jsx-runtime";
2
- import T, { useState as N, useEffect as j } from "react";
3
- import f from "prismjs";
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 A } from "../../utils/get-node-text.js";
13
- import { ClipboardCheckmarkRegular as k, Copy20Regular as I } from "@fluentui/react-icons";
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 o from "./code-block.module.css.js";
15
+ import { cn as u } from "../../utils/cn.js";
16
16
  function S() {
17
- const [r, c] = N(!1);
18
- return { isCopied: r, copy: async (h) => {
17
+ const [e, r] = y(!1);
18
+ return { isCopied: e, copy: async (c) => {
19
19
  try {
20
- await navigator.clipboard.writeText(h), c(!0), setTimeout(() => c(!1), 2e3);
21
- } catch (n) {
22
- console.error("Failed to copy to clipboard:", n);
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 K({
27
- children: r,
28
- className: c,
29
- fileName: l,
30
- language: h
26
+ function O({
27
+ children: e,
28
+ className: r,
29
+ fileName: m,
30
+ language: c
31
31
  }) {
32
- const [n, y] = N(""), { isCopied: u, copy: b } = S(), t = h || (c == null ? void 0 : c.replace(/^language-/, "")) || "text", i = A(r), v = !!l, g = T.useMemo(() => {
33
- var p, C;
34
- if (typeof r != "object" || r == null)
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 s = Array.isArray(r) ? r : [r];
37
- for (const a of s)
38
- if (typeof a == "object" && a != null && "props" in a && ((p = a.props) != null && p.children)) {
39
- const $ = Array.isArray(a.props.children) ? a.props.children : [a.props.children];
40
- for (const d of $)
41
- if (typeof d == "object" && d != null && "props" in d && ((C = d.props) != null && C.className))
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
- }, [r]);
46
- j(() => {
47
- if (!g)
45
+ }, [e]);
46
+ N(() => {
47
+ if (!x)
48
48
  try {
49
- const s = f.languages[t] || f.languages.plaintext, p = f.highlight(i, s, t);
50
- y(p);
51
- } catch (s) {
52
- console.error("Failed to highlight code:", s), y(i);
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
- }, [i, t, g]);
55
- const x = () => {
56
- b(i);
54
+ }, [a, i, x]);
55
+ const C = () => {
56
+ _(a);
57
57
  };
58
- return /* @__PURE__ */ m("div", { className: v ? o.container : void 0, children: [
59
- l && /* @__PURE__ */ e("span", { className: o.fileName, children: l }),
60
- /* @__PURE__ */ m("div", { className: `${o.codeWrapper} not-prose`, children: [
61
- /* @__PURE__ */ m("div", { className: o.header, children: [
62
- /* @__PURE__ */ e("span", { className: o.language, children: R(t) }),
63
- /* @__PURE__ */ m("div", { className: o.copyButtonWrapper, children: [
64
- u && /* @__PURE__ */ e("div", { className: o.tooltip, children: "Copied!" }),
65
- /* @__PURE__ */ e(
66
- "button",
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
- onClick: x,
69
- className: o.copyButton,
70
- "aria-label": u ? "Copied" : "Copy code",
71
- children: u ? /* @__PURE__ */ e(k, { className: o.copiedIcon }) : /* @__PURE__ */ e(I, { className: o.copyIcon })
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
- /* @__PURE__ */ e("div", { className: `${o.scrollContainer} code-scrollbar`, children: /* @__PURE__ */ e("pre", { className: o.pre, children: g ? /* @__PURE__ */ e("code", { className: `language-${t} ${o.code}`, children: r }) : n ? /* @__PURE__ */ e(
77
- "code",
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
- K as CodeBlock
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 { Copy20Regular, ClipboardCheckmarkRegular } from \"@fluentui/react-icons\";\nimport { capitalize } from \"../../utils/string\";\nimport styles from \"./code-block.module.css\";\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 className={showContainer ? styles.container : undefined}>\n {fileName && <span className={styles.fileName}>{fileName}</span>}\n <div className={`${styles.codeWrapper} not-prose`}>\n <div className={styles.header}>\n <span className={styles.language}>{capitalize(lang)}</span>\n <div className={styles.copyButtonWrapper}>\n {isCopied && (\n <div className={styles.tooltip}>\n Copied!\n </div>\n )}\n <button\n onClick={handleCopy}\n className={styles.copyButton}\n aria-label={isCopied ? \"Copied\" : \"Copy code\"}\n >\n {isCopied ? (\n <ClipboardCheckmarkRegular className={styles.copiedIcon} />\n ) : (\n <Copy20Regular className={styles.copyIcon} />\n )}\n </button>\n </div>\n </div>\n <div className={`${styles.scrollContainer} code-scrollbar`}>\n <pre className={styles.pre}>\n {isSSRHighlighted ? (\n <code className={`language-${lang} ${styles.code}`}>\n {children}\n </code>\n ) : highlightedCode ? (\n <code\n className={`language-${lang} ${styles.code}`}\n dangerouslySetInnerHTML={{ __html: highlightedCode }}\n />\n ) : (\n <code className={`language-${lang} ${styles.code}`}>\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","styles","jsx","jsxs","capitalize","ClipboardCheckmarkRegular","Copy20Regular"],"mappings":"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"}
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 l, Fragment as s } from "react/jsx-runtime";
2
- import { TableBody as m, TableHeader as i, TableRow as n, TableCell as p, TableHead as d, Table as c } from "./table/index.js";
3
- import o from "./default-components.module.css.js";
4
- import { allComponents as b } from "./all-components.js";
5
- import { Link as u } from "./link.js";
6
- import { Heading as a } from "./heading.js";
7
- import { Summary as f, Details as h } from "./details/details.js";
8
- const H = {
9
- h1: (e) => /* @__PURE__ */ l(a, { level: 1, ...e }),
10
- h2: (e) => /* @__PURE__ */ l(a, { level: 2, ...e }),
11
- h3: (e) => /* @__PURE__ */ l(a, { level: 3, ...e }),
12
- h4: (e) => /* @__PURE__ */ l(a, { level: 4, ...e }),
13
- h5: (e) => /* @__PURE__ */ l(a, { level: 5, ...e }),
14
- h6: (e) => /* @__PURE__ */ l(a, { level: 6, ...e }),
15
- code: ({ className: e, children: t, ...r }) => e ? t : /* @__PURE__ */ l("code", { className: `not-prose ${o.inlineCode}`, ...r, children: t }),
16
- pre: ({ children: e }) => /* @__PURE__ */ l(s, { children: e }),
17
- a: u,
18
- p: (e) => /* @__PURE__ */ l("p", { className: o.paragraph, ...e }),
19
- ul: (e) => /* @__PURE__ */ l("ul", { className: o.list, ...e }),
20
- ol: (e) => /* @__PURE__ */ l("ol", { className: o.orderedList, ...e }),
21
- li: (e) => /* @__PURE__ */ l("li", { className: o.listItem, ...e }),
22
- blockquote: (e) => /* @__PURE__ */ l("blockquote", { className: `not-prose ${o.blockquote}`, ...e }),
23
- table: c,
24
- th: d,
25
- td: p,
26
- tr: n,
27
- thead: i,
28
- tbody: m,
29
- details: h,
30
- summary: f,
31
- ...b
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
- H as defaultComponents
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 styles from \"./default-components.module.css\";\n\nexport const defaultComponents: MDXComponents = {\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 className={`not-prose ${styles.inlineCode}`} {...props}>\n {children}\n </code>\n );\n }\n return children;\n },\n pre: ({ children }) => <>{children}</>,\n a: Link,\n p: (props) => <p className={styles.paragraph} {...props} />,\n ul: (props) => <ul className={styles.list} {...props} />,\n ol: (props) => <ol className={styles.orderedList} {...props} />,\n li: (props) => <li className={styles.listItem} {...props} />,\n blockquote: (props) => (\n <blockquote className={`not-prose ${styles.blockquote}`} {...props} />\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"],"names":["defaultComponents","props","jsx","Heading","className","children","styles","Link","Table","TableHead","TableCell","TableRow","TableHeader","TableBody","Details","Summary","allComponents"],"mappings":";;;;;;;AAYO,MAAMA,IAAmC;AAAA,EAC9C,IAAI,CAACC,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,EAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,EAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,EAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,EAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,EAC7C,IAAI,CAACA,MAAU,gBAAAC,EAACC,KAAQ,OAAO,GAAI,GAAGF,GAAO;AAAA,EAC7C,MAAM,CAAC,EAAE,WAAAG,GAAW,UAAAC,GAAU,GAAGJ,QACbG,IAQXC,IALH,gBAAAH,EAAC,UAAK,WAAW,aAAaI,EAAO,UAAU,IAAK,GAAGL,GACpD,UAAAI,EAAA,CACH;AAAA,EAKN,KAAK,CAAC,EAAE,UAAAA,EAAA,6BAAkB,UAAAA,GAAS;AAAA,EACnC,GAAGE;AAAA,EACH,GAAG,CAACN,MAAU,gBAAAC,EAAC,OAAE,WAAWI,EAAO,WAAY,GAAGL,GAAO;AAAA,EACzD,IAAI,CAACA,MAAU,gBAAAC,EAAC,QAAG,WAAWI,EAAO,MAAO,GAAGL,GAAO;AAAA,EACtD,IAAI,CAACA,MAAU,gBAAAC,EAAC,QAAG,WAAWI,EAAO,aAAc,GAAGL,GAAO;AAAA,EAC7D,IAAI,CAACA,MAAU,gBAAAC,EAAC,QAAG,WAAWI,EAAO,UAAW,GAAGL,GAAO;AAAA,EAC1D,YAAY,CAACA,MACX,gBAAAC,EAAC,cAAA,EAAW,WAAW,aAAaI,EAAO,UAAU,IAAK,GAAGL,EAAA,CAAO;AAAA,EAEtE,OAAOO;AAAA,EACP,IAAIC;AAAA,EACJ,IAAIC;AAAA,EACJ,IAAIC;AAAA,EACJ,OAAOC;AAAA,EACP,OAAOC;AAAA,EACP,SAASC;AAAA,EACT,SAASC;AAAA,EACT,GAAGC;AACL;"}
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 c, jsx as l } from "react/jsx-runtime";
2
- import t, { useState as p } from "react";
3
- import { ChevronDown16Regular as u } from "@fluentui/react-icons";
4
- import n from "./details.module.css.js";
5
- function g({ children: s, open: r = !1 }) {
6
- const [o, d] = p(r), a = t.Children.toArray(s).find(
7
- (e) => t.isValidElement(e) && e.type === m
8
- ), i = t.Children.toArray(s).filter(
9
- (e) => !(t.isValidElement(e) && e.type === m)
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__ */ c(
11
+ return /* @__PURE__ */ l(
12
12
  "details",
13
13
  {
14
- open: o,
15
- onToggle: (e) => d(e.currentTarget.open),
16
- className: n.details,
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
- a && t.isValidElement(a) && t.cloneElement(
19
- a,
20
- { isOpen: o }
18
+ m && n.isValidElement(m) && n.cloneElement(
19
+ m,
20
+ { isOpen: i }
21
21
  ),
22
- o && i.length > 0 && /* @__PURE__ */ l("div", { className: n.body, children: i })
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 m({ children: s, isOpen: r }) {
28
- return /* @__PURE__ */ c("summary", { className: n.summary, children: [
29
- /* @__PURE__ */ l(
30
- u,
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: `${n.icon} ${r ? n.iconOpen : n.iconClosed}`
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__ */ l("span", { className: `${n.content} not-prose`, children: s })
38
+ /* @__PURE__ */ o("span", { className: "mint:flex-1 not-prose", children: e })
36
39
  ] });
37
40
  }
38
41
  export {
39
- g as Details,
40
- m as Summary
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 styles from \"./details.module.css\";\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={styles.details}\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={styles.body}>{otherChildren}</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={styles.summary}>\n <ChevronDown16Regular\n className={`${styles.icon} ${\n isOpen ? styles.iconOpen : styles.iconClosed\n }`}\n />\n <span className={`${styles.content} not-prose`}>{children}</span>\n </summary>\n );\n}\n"],"names":["Details","children","open","isOpen","setIsOpen","useState","summaryChild","React","child","Summary","otherChildren","jsxs","styles","jsx","ChevronDown16Regular"],"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,CAAC,MAAMC,EAAU,EAAE,cAAc,IAAI;AAAA,MAC/C,WAAWQ,EAAO;AAAA,MAEjB,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,WAAWE,EAAO,MAAO,UAAAF,EAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIpD;AAOO,SAASD,EAAQ,EAAE,UAAAR,GAAU,QAAAE,KAAwB;AAC1D,SACE,gBAAAQ,EAAC,WAAA,EAAQ,WAAWC,EAAO,SACzB,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAW,GAAGF,EAAO,IAAI,IACvBT,IAASS,EAAO,WAAWA,EAAO,UACpC;AAAA,MAAA;AAAA,IAAA;AAAA,sBAED,QAAA,EAAK,WAAW,GAAGA,EAAO,OAAO,cAAe,UAAAX,EAAA,CAAS;AAAA,EAAA,GAC5D;AAEJ;"}
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 = ({ id: o, level: r, children: t, className: n = "" }) => {
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 '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 = ({ id, level, children, className = '' }: 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};"],"names":["Heading","id","level","children","className","Tag","jsx"],"mappings":";AASO,MAAMA,IAAU,CAAC,EAAE,IAAAC,GAAI,OAAAC,GAAO,UAAAC,GAAU,WAAAC,IAAY,SAAuB;AAChF,QAAMC,IAAM,IAAIH,CAAK;AAErB,SACE,gBAAAI,EAACD,GAAA,EAAI,IAAAJ,GAAQ,WAAAG,GACV,UAAAD,EAAA,CACH;AAEJ;"}
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;"}