@gentleduck/docs 0.0.16 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{callout-2UaufBMG.d.ts → callout-CpRp0hs1.d.ts} +3 -3
- package/dist/{callout-2UaufBMG.d.ts.map → callout-CpRp0hs1.d.ts.map} +1 -1
- package/dist/client.d.ts +32 -32
- package/dist/client.js +1 -1
- package/dist/{code-block-DAy3JZ6j.d.ts → code-block-CvkRo03f.d.ts} +3 -3
- package/dist/code-block-CvkRo03f.d.ts.map +1 -0
- package/dist/{code-block-wrapper-Uomy0XJY.d.ts → code-block-wrapper-BkCgtNmx.d.ts} +3 -3
- package/dist/{code-block-wrapper-Uomy0XJY.d.ts.map → code-block-wrapper-BkCgtNmx.d.ts.map} +1 -1
- package/dist/{code-preview-DMjl8mgw.d.ts → code-preview-BJfDdIF3.d.ts} +3 -3
- package/dist/{code-preview-DMjl8mgw.d.ts.map → code-preview-BJfDdIF3.d.ts.map} +1 -1
- package/dist/command-menu-BteUvSP4.d.ts +7 -0
- package/dist/{command-menu-LHgyNFdE.d.ts.map → command-menu-BteUvSP4.d.ts.map} +1 -1
- package/dist/{component-preview-BHW7X6pM.d.ts → component-preview-CpawLgxl.d.ts} +4 -4
- package/dist/{component-preview-BHW7X6pM.d.ts.map → component-preview-CpawLgxl.d.ts.map} +1 -1
- package/dist/{component-source-C4Ul_ToZ.d.ts → component-source-5yXtLqFU.d.ts} +3 -3
- package/dist/{component-source-C4Ul_ToZ.d.ts.map → component-source-5yXtLqFU.d.ts.map} +1 -1
- package/dist/components/copy-button.d.ts +1 -1
- package/dist/components/docs/docs-copy-page.d.ts +1 -1
- package/dist/components/docs/docs-pager.d.ts +2 -2
- package/dist/components/docs/docs-sidebar.d.ts +2 -2
- package/dist/components/docs/docs-toc.d.ts +2 -2
- package/dist/components/docs/index.d.ts +5 -5
- package/dist/components/icons.d.ts +1 -1
- package/dist/components/index.d.ts +32 -32
- package/dist/components/index.js +1 -1
- package/dist/components/layouts/command-menu.d.ts +1 -1
- package/dist/components/layouts/header-shell.d.ts +1 -1
- package/dist/components/layouts/index.d.ts +5 -5
- package/dist/components/layouts/index.js +1 -1
- package/dist/components/layouts/site-footer.d.ts +1 -1
- package/dist/components/layouts/site-header.d.ts +2 -2
- package/dist/components/layouts/site-header.js +1 -1
- package/dist/components/layouts/tailwind-indicator.d.ts +1 -1
- package/dist/components/main-nav.d.ts +1 -1
- package/dist/components/main-nav.js +1 -1
- package/dist/components/mdx/mdx-components/callout.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/code-block-wrapper.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/code-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/code-preview.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/component-preview.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/component-source.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/figcaption-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/index.d.ts +8 -8
- package/dist/components/mdx/mdx-components/code/mermaid-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/pre-block/index.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/pre-block/pre-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/pre-block/shell-command.d.ts +2 -2
- package/dist/components/mdx/mdx-components/code/span-block.d.ts +2 -2
- package/dist/components/mdx/mdx-components/components-list.d.ts +2 -2
- package/dist/components/mdx/mdx-components/exalidraw.d.ts +2 -2
- package/dist/components/mdx/mdx-components/index.d.ts +14 -14
- package/dist/components/mdx/mdx-components/table.d.ts +1 -1
- package/dist/components/mdx/mdx-components/tabs.d.ts +1 -1
- package/dist/components/mdx/mdx-components/typepography.d.ts +1 -1
- package/dist/components/mdx/mdx-components/typography.d.ts +1 -1
- package/dist/components/mdx/mdx-components-base.d.ts +23 -23
- package/dist/components/mdx/mdx-components-registry.d.ts +50 -50
- package/dist/components/mdx/mdx-components-ui.d.ts +17 -17
- package/dist/components/mdx/mdx.d.ts +1 -1
- package/dist/components/mobile-nav.d.ts +1 -1
- package/dist/components/mode-toggle.d.ts +1 -1
- package/dist/components/page-header.d.ts +1 -1
- package/dist/components/providers.d.ts +1 -1
- package/dist/components/style-switcher.d.ts +1 -1
- package/dist/{components-list-C67E8feA.d.ts → components-list-JYB1Djx7.d.ts} +3 -3
- package/dist/{components-list-C67E8feA.d.ts.map → components-list-JYB1Djx7.d.ts.map} +1 -1
- package/dist/context/context.d.ts +1 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/{context-Boqhj3tq.d.ts → context-CC0ZL6KV.d.ts} +3 -3
- package/dist/{context-Boqhj3tq.d.ts.map → context-CC0ZL6KV.d.ts.map} +1 -1
- package/dist/{copy-button-BKx55olo.d.ts → copy-button-DTBIjulx.d.ts} +3 -3
- package/dist/{copy-button-BKx55olo.d.ts.map → copy-button-DTBIjulx.d.ts.map} +1 -1
- package/dist/{docs-copy-page-BZuaAwiB.d.ts → docs-copy-page-ChwVPYc1.d.ts} +3 -3
- package/dist/{docs-copy-page-BZuaAwiB.d.ts.map → docs-copy-page-ChwVPYc1.d.ts.map} +1 -1
- package/dist/{docs-pager-D2ekv5NL.d.ts → docs-pager-BnHLEkBw.d.ts} +4 -4
- package/dist/{docs-pager-D2ekv5NL.d.ts.map → docs-pager-BnHLEkBw.d.ts.map} +1 -1
- package/dist/{docs-sidebar-C0yQ6ZWj.d.ts → docs-sidebar-DJN5g6Ur.d.ts} +5 -5
- package/dist/{docs-sidebar-C0yQ6ZWj.d.ts.map → docs-sidebar-DJN5g6Ur.d.ts.map} +1 -1
- package/dist/{docs-toc-D-hn1gA2.d.ts → docs-toc-Bqz0glt_.d.ts} +3 -3
- package/dist/{docs-toc-D-hn1gA2.d.ts.map → docs-toc-Bqz0glt_.d.ts.map} +1 -1
- package/dist/{figcaption-block-Ccf4yBMy.d.ts → figcaption-block-D1bs7L2Q.d.ts} +3 -3
- package/dist/{figcaption-block-Ccf4yBMy.d.ts.map → figcaption-block-D1bs7L2Q.d.ts.map} +1 -1
- package/dist/{header-shell-BYafp8lR.d.ts → header-shell-BEh1FcJj.d.ts} +6 -6
- package/dist/{header-shell-BYafp8lR.d.ts.map → header-shell-BEh1FcJj.d.ts.map} +1 -1
- package/dist/icons-Svr12EIY.d.ts +33 -0
- package/dist/icons-Svr12EIY.d.ts.map +1 -0
- package/dist/main-nav-Bs_3aIa9.d.ts +7 -0
- package/dist/main-nav-Bs_3aIa9.d.ts.map +1 -0
- package/dist/mdx-BjKd-lr3.d.ts +12 -0
- package/dist/{mdx-B4bzoDDs.d.ts.map → mdx-BjKd-lr3.d.ts.map} +1 -1
- package/dist/{mermaid-block-C3dgb4nS.d.ts → mermaid-block-Bl37eU5v.d.ts} +3 -3
- package/dist/{mermaid-block-C3dgb4nS.d.ts.map → mermaid-block-Bl37eU5v.d.ts.map} +1 -1
- package/dist/mobile-nav-DMiJRcRb.d.ts +7 -0
- package/dist/mobile-nav-DMiJRcRb.d.ts.map +1 -0
- package/dist/mode-toggle-CvStvAZ_.d.ts +7 -0
- package/dist/mode-toggle-CvStvAZ_.d.ts.map +1 -0
- package/dist/{page-header-raOcAxSb.d.ts → page-header-CCOOtADG.d.ts} +6 -6
- package/dist/page-header-CCOOtADG.d.ts.map +1 -0
- package/dist/{pre-block-MqyNpmYa.d.ts → pre-block-CWu93Zw5.d.ts} +3 -3
- package/dist/{pre-block-MqyNpmYa.d.ts.map → pre-block-CWu93Zw5.d.ts.map} +1 -1
- package/dist/{providers-CxZdaO7_.d.ts → providers-CPondy8d.d.ts} +3 -3
- package/dist/providers-CPondy8d.d.ts.map +1 -0
- package/dist/rehype-mermaid-Be9A3aSw.js +17 -0
- package/dist/rehype-mermaid-Be9A3aSw.js.map +1 -0
- package/dist/rehype-mermaid-DPZ6UzOu.d.ts.map +1 -1
- package/dist/site-footer-BRyt4-dx.d.ts +8 -0
- package/dist/{site-footer-Dh_aYkTp.d.ts.map → site-footer-BRyt4-dx.d.ts.map} +1 -1
- package/dist/site-header-C4ynyWai.d.ts +8 -0
- package/dist/site-header-C4ynyWai.d.ts.map +1 -0
- package/dist/site-header-aYzXrGgF.js +2 -0
- package/dist/site-header-aYzXrGgF.js.map +1 -0
- package/dist/{style-switcher-BCCh5sxc.d.ts → style-switcher-B3PdHXf8.d.ts} +3 -3
- package/dist/{style-switcher-BCCh5sxc.d.ts.map → style-switcher-B3PdHXf8.d.ts.map} +1 -1
- package/dist/{table-tgo1Zoi5.d.ts → table-czuTmeyb.d.ts} +6 -6
- package/dist/{table-tgo1Zoi5.d.ts.map → table-czuTmeyb.d.ts.map} +1 -1
- package/dist/{tabs-Bi5DkOoD.d.ts → tabs-lu27pQCB.d.ts} +6 -6
- package/dist/{tabs-Bi5DkOoD.d.ts.map → tabs-lu27pQCB.d.ts.map} +1 -1
- package/dist/tailwind-indicator-xsIX1AXQ.d.ts +7 -0
- package/dist/{tailwind-indicator-C2nO7EAI.d.ts.map → tailwind-indicator-xsIX1AXQ.d.ts.map} +1 -1
- package/dist/{typepography-Bb4KzfVL.d.ts → typepography-lU2xNaSb.d.ts} +13 -13
- package/dist/{typepography-Bb4KzfVL.d.ts.map → typepography-lU2xNaSb.d.ts.map} +1 -1
- package/dist/velite/config.d.ts.map +1 -1
- package/dist/velite/config.js +1 -1
- package/dist/velite/config.js.map +1 -1
- package/dist/velite/index.js +1 -1
- package/dist/velite/plugins/index.js +1 -1
- package/dist/velite/plugins/rehype-mermaid.js +1 -1
- package/package.json +3 -2
- package/src/components/layouts/site-header.tsx +1 -1
- package/src/index.css +3 -0
- package/src/velite/config.ts +5 -1
- package/src/velite/plugins/rehype-mermaid.ts +17 -2
- package/dist/code-block-DAy3JZ6j.d.ts.map +0 -1
- package/dist/command-menu-LHgyNFdE.d.ts +0 -7
- package/dist/icons-B8awNAgi.d.ts +0 -33
- package/dist/icons-B8awNAgi.d.ts.map +0 -1
- package/dist/main-nav-Ctrj2x2N.d.ts +0 -7
- package/dist/main-nav-Ctrj2x2N.d.ts.map +0 -1
- package/dist/mdx-B4bzoDDs.d.ts +0 -12
- package/dist/mobile-nav-BwxnYQIS.d.ts +0 -7
- package/dist/mobile-nav-BwxnYQIS.d.ts.map +0 -1
- package/dist/mode-toggle-DTIF2o7F.d.ts +0 -7
- package/dist/mode-toggle-DTIF2o7F.d.ts.map +0 -1
- package/dist/page-header-raOcAxSb.d.ts.map +0 -1
- package/dist/providers-CxZdaO7_.d.ts.map +0 -1
- package/dist/rehype-mermaid-Ctag2Ywx.js +0 -17
- package/dist/rehype-mermaid-Ctag2Ywx.js.map +0 -1
- package/dist/site-footer-Dh_aYkTp.d.ts +0 -8
- package/dist/site-header-BiFOBrXI.js +0 -2
- package/dist/site-header-BiFOBrXI.js.map +0 -1
- package/dist/site-header-C77EADsW.d.ts +0 -8
- package/dist/site-header-C77EADsW.d.ts.map +0 -1
- package/dist/tailwind-indicator-C2nO7EAI.d.ts +0 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React$2 from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime46 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region ../registry-ui/src/tabs/tabs.d.ts
|
|
5
5
|
|
|
@@ -25,19 +25,19 @@ declare const TabsContent: React$2.ForwardRefExoticComponent<Omit<React$2.HTMLPr
|
|
|
25
25
|
declare function Tab({
|
|
26
26
|
className,
|
|
27
27
|
...props
|
|
28
|
-
}: React.ComponentProps<typeof Tabs>):
|
|
28
|
+
}: React.ComponentProps<typeof Tabs>): react_jsx_runtime46.JSX.Element;
|
|
29
29
|
declare function TabList({
|
|
30
30
|
className,
|
|
31
31
|
...props
|
|
32
|
-
}: React.ComponentProps<typeof TabsList>):
|
|
32
|
+
}: React.ComponentProps<typeof TabsList>): react_jsx_runtime46.JSX.Element;
|
|
33
33
|
declare function TabTrigger({
|
|
34
34
|
className,
|
|
35
35
|
...props
|
|
36
|
-
}: React.ComponentProps<typeof TabsTrigger>):
|
|
36
|
+
}: React.ComponentProps<typeof TabsTrigger>): react_jsx_runtime46.JSX.Element;
|
|
37
37
|
declare function TabContent({
|
|
38
38
|
className,
|
|
39
39
|
...props
|
|
40
|
-
}: React.ComponentProps<typeof TabsContent>):
|
|
40
|
+
}: React.ComponentProps<typeof TabsContent>): react_jsx_runtime46.JSX.Element;
|
|
41
41
|
//#endregion
|
|
42
42
|
export { TabTrigger as i, TabContent as n, TabList as r, Tab as t };
|
|
43
|
-
//# sourceMappingURL=tabs-
|
|
43
|
+
//# sourceMappingURL=tabs-lu27pQCB.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-
|
|
1
|
+
{"version":3,"file":"tabs-lu27pQCB.d.ts","names":[],"sources":["../../registry-ui/src/tabs/tabs.tsx","../src/components/mdx/mdx-components/tabs.tsx"],"sourcesContent":[],"mappings":";;;;;AAuBmC,UAAlB,SAAA,SAAkB,IAAA,CAAK,OAAA,CAAM,SAAX,CAAqB,cAArB,CAAA,EAAA,cAAA,GAAA,KAAA,CAAA,CAAA;EAAI,KAAA,CAAA,EAAA,MAAA;EAMjC,YAgBL,CAAA,EAAA,MAAA;EAhBS,aAAA,CAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;cAAJ,IAAI,EAAA,OAAA,CAAA,yBAAA,CAAA,SAAA,GAAA,OAAA,CAAA,aAAA,CAAA,cAAA,CAAA,CAAA;AAAA,UAmBO,aAAA,SAAsB,IAnB7B,CAmBkC,OAAA,CAAM,SAnBxC,CAmBkD,cAnBlD,CAAA,EAAA,KAAA,GAAA,MAAA,CAAA,CAAA;AAmBV,cAEM,QAFyB,EAEjB,OAAA,CAAA,yBAFiB,CAEjB,aAFiB,GAEjB,OAAA,CAAA,aAFiB,CAEjB,cAFiB,CAAA,CAAA;AAA6B,UAgB3C,gBAAA,SAAyB,IAhBkB,CAgBb,OAAA,CAAM,SAhBO,CAgBG,iBAhBH,CAAA,EAAA,KAAA,GAAA,OAAA,CAAA,CAAA;EAAhB,KAAM,EAAA,MAAA;EAAX,cAAA,CAAA,EAAA,OAAA;;AAAwD,cAqBzF,WARJ,EAQe,OAAA,CAAA,yBARf,CAQe,gBARf,GAQe,OAAA,CAAA,aARf,CAQe,iBARf,CAAA,CAAA;cA+CI,WA1DQ,EA0DG,OAAA,CAAA,yBA1DH,CA0DG,IA1DH,CA0DG,OAAA,CAAA,SA1DH,CA0DG,cA1DH,CAAA,EAAA,KAAA,CAAA,GAAA;EAAA,KAAA,EAAA,MAAA;EAAA,UAAA,CAAA,EAAA,OAAA;CAAA,wBAAA,eAAA,CAAA,CAAA;;;iBC/CE,GAAA;;;GAA6B,KAAA,CAAM,sBAAsB,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAI9D,OAAA;;;GAAiC,KAAA,CAAM,sBAAsB,YAAS,mBAAA,CAAA,GAAA,CAAA;iBAKtE,UAAA;;;GAAoC,KAAA,CAAM,sBAAsB,eAAY,mBAAA,CAAA,GAAA,CAAA;ADW3E,iBCCD,UAAA,CDDW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,ECCyB,KAAA,CAAM,cDD/B,CAAA,OCCqD,WDDrD,CAAA,CAAA,ECCiE,mBAAA,CAAA,GAAA,CAAA,ODDjE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as react_jsx_runtime36 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/layouts/tailwind-indicator.d.ts
|
|
4
|
+
declare function TailwindIndicator(): react_jsx_runtime36.JSX.Element | null;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { TailwindIndicator as t };
|
|
7
|
+
//# sourceMappingURL=tailwind-indicator-xsIX1AXQ.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-indicator-
|
|
1
|
+
{"version":3,"file":"tailwind-indicator-xsIX1AXQ.d.ts","names":[],"sources":["../src/components/layouts/tailwind-indicator.tsx"],"sourcesContent":[],"mappings":";;;iBAAgB,iBAAA,CAAA,GAAiB,mBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime50 from "react/jsx-runtime";
|
|
3
3
|
import Link from "next/link";
|
|
4
4
|
|
|
5
5
|
//#region src/components/mdx/mdx-components/typepography.d.ts
|
|
@@ -9,46 +9,46 @@ interface ParagraphProps extends React.HTMLAttributes<HTMLParagraphElement> {}
|
|
|
9
9
|
declare function H1({
|
|
10
10
|
className,
|
|
11
11
|
...props
|
|
12
|
-
}: HeadingProps):
|
|
12
|
+
}: HeadingProps): react_jsx_runtime50.JSX.Element;
|
|
13
13
|
declare function H2({
|
|
14
14
|
className,
|
|
15
15
|
...props
|
|
16
|
-
}: HeadingProps):
|
|
16
|
+
}: HeadingProps): react_jsx_runtime50.JSX.Element;
|
|
17
17
|
declare function H3({
|
|
18
18
|
className,
|
|
19
19
|
...props
|
|
20
|
-
}: HeadingProps):
|
|
20
|
+
}: HeadingProps): react_jsx_runtime50.JSX.Element;
|
|
21
21
|
declare function H4({
|
|
22
22
|
className,
|
|
23
23
|
...props
|
|
24
|
-
}: HeadingProps):
|
|
24
|
+
}: HeadingProps): react_jsx_runtime50.JSX.Element;
|
|
25
25
|
declare function H5({
|
|
26
26
|
className,
|
|
27
27
|
...props
|
|
28
|
-
}: HeadingProps):
|
|
28
|
+
}: HeadingProps): react_jsx_runtime50.JSX.Element;
|
|
29
29
|
declare function H6({
|
|
30
30
|
className,
|
|
31
31
|
...props
|
|
32
|
-
}: HeadingProps):
|
|
32
|
+
}: HeadingProps): react_jsx_runtime50.JSX.Element;
|
|
33
33
|
declare function A({
|
|
34
34
|
className,
|
|
35
35
|
...props
|
|
36
|
-
}: AnchorProps):
|
|
36
|
+
}: AnchorProps): react_jsx_runtime50.JSX.Element;
|
|
37
37
|
declare function P({
|
|
38
38
|
className,
|
|
39
39
|
...props
|
|
40
|
-
}: ParagraphProps):
|
|
40
|
+
}: ParagraphProps): react_jsx_runtime50.JSX.Element;
|
|
41
41
|
declare function LinkBlock({
|
|
42
42
|
className,
|
|
43
43
|
...props
|
|
44
|
-
}: React.ComponentProps<typeof Link>):
|
|
44
|
+
}: React.ComponentProps<typeof Link>): react_jsx_runtime50.JSX.Element;
|
|
45
45
|
declare function LinkedCard({
|
|
46
46
|
className,
|
|
47
47
|
...props
|
|
48
|
-
}: React.ComponentProps<typeof Link>):
|
|
48
|
+
}: React.ComponentProps<typeof Link>): react_jsx_runtime50.JSX.Element;
|
|
49
49
|
declare function Hr({
|
|
50
50
|
...props
|
|
51
|
-
}: React.HTMLAttributes<HTMLHRElement>):
|
|
51
|
+
}: React.HTMLAttributes<HTMLHRElement>): react_jsx_runtime50.JSX.Element;
|
|
52
52
|
//#endregion
|
|
53
53
|
export { H4 as a, Hr as c, P as d, H3 as i, LinkBlock as l, H1 as n, H5 as o, H2 as r, H6 as s, A as t, LinkedCard as u };
|
|
54
|
-
//# sourceMappingURL=typepography-
|
|
54
|
+
//# sourceMappingURL=typepography-lU2xNaSb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typepography-
|
|
1
|
+
{"version":3,"file":"typepography-lU2xNaSb.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/typepography.tsx"],"sourcesContent":[],"mappings":";;;;;UAIU,YAAA,SAAqB,KAAA,CAAM,eAAe;UAC1C,WAAA,SAAoB,KAAA,CAAM,eAAe,oBAHrB;AAEqB,UAEzC,cAAA,SAAuB,KAAA,CAAM,cADT,CACwB,oBADJ,CAAA,CAAA,CAAA;AAGlC,iBAAA,EAAA,CAAE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAA0B,YAA1B,CAAA,EAAsC,mBAAA,CAAA,GAAA,CAAA,OAAtC;AAAG,iBAIL,EAAA,CAJK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAIuB,YAJvB,CAAA,EAImC,mBAAA,CAAA,GAAA,CAAA,OAJnC;AAAuB,iBAgB5B,EAAA,CAhB4B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgBA,YAhBA,CAAA,EAgBY,mBAAA,CAAA,GAAA,CAAA,OAhBZ;AAAY,iBAsBxC,EAAA,CAtBwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAsBZ,YAtBY,CAAA,EAsBA,mBAAA,CAAA,GAAA,CAAA,OAtBA;AAAA,iBA4BxC,EAAA,CA5BwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4BZ,YA5BY,CAAA,EA4BA,mBAAA,CAAA,GAAA,CAAA,OA5BA;AAIxC,iBA4BA,EAAA,CA5BE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4B0B,YA5B1B,CAAA,EA4BsC,mBAAA,CAAA,GAAA,CAAA,OA5BtC;AAAG,iBAgCL,CAAA,CAhCK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgCsB,WAhCtB,CAAA,EAgCiC,mBAAA,CAAA,GAAA,CAAA,OAhCjC;AAAuB,iBAoC5B,CAAA,CApC4B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoCD,cApCC,CAAA,EAoCa,mBAAA,CAAA,GAAA,CAAA,OApCb;AAAY,iBAwCxC,SAAA,CAxCwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwCL,KAAA,CAAM,cAxCD,CAAA,OAwCuB,IAxCvB,CAAA,CAAA,EAwC4B,mBAAA,CAAA,GAAA,CAAA,OAxC5B;AAAA,iBA2CxC,UAAA,CA3CwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2CJ,KAAA,CAAM,cA3CF,CAAA,OA2CwB,IA3CxB,CAAA,CAAA,EA2C6B,mBAAA,CAAA,GAAA,CAAA,OA3C7B;AAYxC,iBA2CA,EAAA,CA3CE;EAAA,GAAA;AAAA,CAAA,EA2Ce,KAAA,CAAM,cA3CrB,CA2CoC,aA3CpC,CAAA,CAAA,EA2CkD,mBAAA,CAAA,GAAA,CAAA,OA3ClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/velite/config.ts"],"sourcesContent":[],"mappings":";;;KAaY,uBAAA;;EAAA,aAAA,CAAA,EAEM,SAFN,EAAuB;EAEjB,mBAAA,CAAA,EACM,SADN,EAAA;EACM,aAAA,CAAA,EACN,SADM,EAAA;EACN,mBAAA,CAAA,EACM,SADN,EAAA;CACM;AAAS,
|
|
1
|
+
{"version":3,"file":"config.d.ts","names":[],"sources":["../../src/velite/config.ts"],"sourcesContent":[],"mappings":";;;KAaY,uBAAA;;EAAA,aAAA,CAAA,EAEM,SAFN,EAAuB;EAEjB,mBAAA,CAAA,EACM,SADN,EAAA;EACM,aAAA,CAAA,EACN,SADM,EAAA;EACN,mBAAA,CAAA,EACM,SADN,EAAA;CACM;AAAS,iBA4DjB,sBAAA,CA5DiB;EAAA,WAAA;EAAA,aAAA;EAAA,mBAAA;EAAA,aAAA;EAAA;AAAA,CAAA,CAAA,EAkE9B,uBAlE8B,CAAA,EAAA,GAAA;AA4DjB,cA6DH,gBA7DyB,EAAA,GAAA"}
|
package/dist/velite/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"../metadata-plugin-DA7OesoA.js";import{t}from"../rehype-mermaid-
|
|
1
|
+
import{t as e}from"../metadata-plugin-DA7OesoA.js";import{t}from"../rehype-mermaid-Be9A3aSw.js";import{t as n}from"../rehype-npm-command-0W5WqcQY.js";import{t as r}from"../rehype-pre-block-source-paX7yPQ4.js";import{t as i}from"../rehype-title-CB9V-h9I.js";import"./plugins/index.js";import{cleanTocItems as a}from"./utils.js";import o from"rehype-autolink-headings";import s from"rehype-pretty-code";import c from"rehype-slug";import{codeImport as l}from"remark-code-import";import u from"remark-gfm";import{createHighlighter as d}from"shiki";import{defineConfig as f,s as p}from"velite";function m({rehypePlugins:a=[],rehypePluginsBefore:l=[]}){return[...l,c,e,[s,{getHighlighter:d,onVisitHighlightedLine(e){e.properties||={},e.properties.className||(e.properties.className=[]),e.properties.className.push(`line--highlighted`)},onVisitHighlightedWord(e){e.properties.className=[`word--highlighted`]},onVisitLine(e){e.children?.length===0&&(e.children=[{type:`text`,value:` `}])},theme:{dark:`catppuccin-mocha`,light:`github-light`}}],i,r,t,n,[o,{properties:{ariaLabel:`Link to section`,className:[`subheading-anchor`]}}],...a]}function h({remarkPlugins:e=[],remarkPluginsBefore:t=[]}){return[...t,u,l,...e]}function g({docsPattern:e=`docs/**/*.mdx`,rehypePlugins:t=[],rehypePluginsBefore:n=[],remarkPlugins:r=[],remarkPluginsBefore:i=[]}={}){return f({collections:{docs:{name:`Docs`,pattern:e,schema:p.object({body:p.mdx(),component:p.boolean().default(!1),content:p.markdown(),description:p.string(),excerpt:p.excerpt(),links:p.object({api:p.string().optional(),doc:p.string().optional()}).optional(),metadata:p.metadata(),title:p.string().max(99),toc:p.toc()}).transform((e,{path:t,meta:n})=>{let r=n;return{...e,contentType:r.path.split(`.`).pop(),flattenedPath:r.path.split(`/`).slice(-2,-1).join(`/`).replace(/\.mdx$/,``),permalink:r.path.replace(/^.*docs\//,``).replace(/\.mdx$/,``),slug:r.path.split(`docs/`).pop()?.replace(/\.mdx$/,``).replace(/^\/+/,``)?`docs/${r.path.split(`docs/`).pop()?.replace(/\.mdx$/,``).replace(/^\/+/,``)}`:`docs`,sourceFileDir:r.path.split(`/`).slice(-3,-1).join(`/`),sourceFileName:r.path.split(`/`).pop(),sourceFilePath:t,toc:a(e.toc)}})}},mdx:{rehypePlugins:m({rehypePlugins:t,rehypePluginsBefore:n}),remarkPlugins:h({remarkPlugins:r,remarkPluginsBefore:i})}})}const _=g();export{g as createDocsVeliteConfig,_ as docsVeliteConfig};
|
|
2
2
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":[],"sources":["../../src/velite/config.ts"],"sourcesContent":["import type { UnistNode } from '@duck-docs/types'\nimport
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../src/velite/config.ts"],"sourcesContent":["import type { UnistNode } from '@duck-docs/types'\nimport rehypeAutolinkHeadings from 'rehype-autolink-headings'\n// @ts-ignore\nimport rehypePrettyCode from 'rehype-pretty-code'\nimport rehypeSlug from 'rehype-slug'\nimport { codeImport } from 'remark-code-import'\nimport remarkGfm from 'remark-gfm'\nimport { createHighlighter as getHighlighter } from 'shiki'\nimport type { Pluggable } from 'unified'\nimport { defineConfig, s, type ZodMeta } from 'velite'\nimport { rehypeMermaid, rehypeMetadataPlugin, rehypeNpmCommand, rehypePreBlockSource, rehypeTitle } from './plugins'\nimport { cleanTocItems } from './utils'\n\nexport type DocsVeliteConfigOptions = {\n docsPattern?: string\n rehypePlugins?: Pluggable[]\n rehypePluginsBefore?: Pluggable[]\n remarkPlugins?: Pluggable[]\n remarkPluginsBefore?: Pluggable[]\n}\n\nfunction buildDefaultRehypePlugins({\n rehypePlugins = [],\n rehypePluginsBefore = [],\n}: Pick<DocsVeliteConfigOptions, 'rehypePlugins' | 'rehypePluginsBefore'>): Pluggable[] {\n return [\n ...rehypePluginsBefore,\n // 1) Structural transforms.\n // @ts-ignore\n rehypeSlug,\n rehypeMetadataPlugin,\n // 2) Syntax highlighting.\n [\n rehypePrettyCode,\n {\n getHighlighter,\n onVisitHighlightedLine(node: UnistNode) {\n // @ts-ignore\n if (!node.properties) node.properties = {}\n // @ts-ignore\n if (!node.properties.className) node.properties.className = []\n // @ts-ignore\n node.properties.className.push('line--highlighted')\n },\n onVisitHighlightedWord(node: UnistNode) {\n // @ts-ignore\n node.properties.className = ['word--highlighted']\n },\n onVisitLine(node: UnistNode) {\n if (node.children?.length === 0) {\n node.children = [{ type: 'text', value: ' ' }]\n }\n },\n theme: {\n dark: 'catppuccin-mocha',\n light: 'github-light',\n },\n },\n ],\n // 3) Post-highlight enrichments and specialized transforms.\n rehypeTitle,\n rehypePreBlockSource,\n rehypeMermaid,\n rehypeNpmCommand,\n // 4) Heading links for docs navigation.\n // @ts-ignore\n [rehypeAutolinkHeadings, { properties: { ariaLabel: 'Link to section', className: ['subheading-anchor'] } }],\n ...rehypePlugins,\n ]\n}\n\nfunction buildDefaultRemarkPlugins({\n remarkPlugins = [],\n remarkPluginsBefore = [],\n}: Pick<DocsVeliteConfigOptions, 'remarkPlugins' | 'remarkPluginsBefore'>): Pluggable[] {\n return [...remarkPluginsBefore, remarkGfm, codeImport, ...remarkPlugins]\n}\n\nexport function createDocsVeliteConfig({\n docsPattern = 'docs/**/*.mdx',\n rehypePlugins = [],\n rehypePluginsBefore = [],\n remarkPlugins = [],\n remarkPluginsBefore = [],\n}: DocsVeliteConfigOptions = {}) {\n return defineConfig({\n collections: {\n docs: {\n name: 'Docs',\n pattern: docsPattern,\n schema: s\n .object({\n body: s.mdx(),\n component: s.boolean().default(false),\n content: s.markdown(),\n description: s.string(),\n excerpt: s.excerpt(),\n links: s.object({ api: s.string().optional(), doc: s.string().optional() }).optional(),\n metadata: s.metadata(),\n title: s.string().max(99),\n toc: s.toc(),\n })\n .transform((data, { path, meta }) => {\n const _meta = meta as ZodMeta & { path: string }\n return {\n ...data,\n contentType: _meta.path.split('.').pop(),\n flattenedPath: _meta.path\n .split('/')\n .slice(-2, -1)\n .join('/')\n .replace(/\\.mdx$/, ''),\n permalink: _meta.path.replace(/^.*docs\\//, '').replace(/\\.mdx$/, ''),\n slug: _meta.path\n .split('docs/')\n .pop()\n ?.replace(/\\.mdx$/, '')\n .replace(/^\\/+/, '')\n ? `docs/${_meta.path\n .split('docs/')\n .pop()\n ?.replace(/\\.mdx$/, '')\n .replace(/^\\/+/, '')}`\n : 'docs',\n sourceFileDir: _meta.path.split('/').slice(-3, -1).join('/'),\n sourceFileName: _meta.path.split('/').pop(),\n sourceFilePath: path,\n toc: cleanTocItems(data.toc),\n }\n }),\n },\n },\n mdx: {\n rehypePlugins: buildDefaultRehypePlugins({ rehypePlugins, rehypePluginsBefore }),\n remarkPlugins: buildDefaultRemarkPlugins({ remarkPlugins, remarkPluginsBefore }),\n },\n }) as any\n}\n\nexport const docsVeliteConfig = createDocsVeliteConfig()\n"],"mappings":"6kBAqBA,SAAS,EAA0B,CACjC,gBAAgB,EAAE,CAClB,sBAAsB,EAAE,EAC8D,CACtF,MAAO,CACL,GAAG,EAGH,EACA,EAEA,CACE,EACA,CACE,eAAA,EACA,uBAAuB,EAAiB,CAEtC,AAAsB,EAAK,aAAa,EAAE,CAErC,EAAK,WAAW,YAAW,EAAK,WAAW,UAAY,EAAE,EAE9D,EAAK,WAAW,UAAU,KAAK,oBAAoB,EAErD,uBAAuB,EAAiB,CAEtC,EAAK,WAAW,UAAY,CAAC,oBAAoB,EAEnD,YAAY,EAAiB,CACvB,EAAK,UAAU,SAAW,IAC5B,EAAK,SAAW,CAAC,CAAE,KAAM,OAAQ,MAAO,IAAK,CAAC,GAGlD,MAAO,CACL,KAAM,mBACN,MAAO,eACR,CACF,CACF,CAED,EACA,EACA,EACA,EAGA,CAAC,EAAwB,CAAE,WAAY,CAAE,UAAW,kBAAmB,UAAW,CAAC,oBAAoB,CAAE,CAAE,CAAC,CAC5G,GAAG,EACJ,CAGH,SAAS,EAA0B,CACjC,gBAAgB,EAAE,CAClB,sBAAsB,EAAE,EAC8D,CACtF,MAAO,CAAC,GAAG,EAAqB,EAAW,EAAY,GAAG,EAAc,CAG1E,SAAgB,EAAuB,CACrC,cAAc,gBACd,gBAAgB,EAAE,CAClB,sBAAsB,EAAE,CACxB,gBAAgB,EAAE,CAClB,sBAAsB,EAAE,EACG,EAAE,CAAE,CAC/B,OAAO,EAAa,CAClB,YAAa,CACX,KAAM,CACJ,KAAM,OACN,QAAS,EACT,OAAQ,EACL,OAAO,CACN,KAAM,EAAE,KAAK,CACb,UAAW,EAAE,SAAS,CAAC,QAAQ,GAAM,CACrC,QAAS,EAAE,UAAU,CACrB,YAAa,EAAE,QAAQ,CACvB,QAAS,EAAE,SAAS,CACpB,MAAO,EAAE,OAAO,CAAE,IAAK,EAAE,QAAQ,CAAC,UAAU,CAAE,IAAK,EAAE,QAAQ,CAAC,UAAU,CAAE,CAAC,CAAC,UAAU,CACtF,SAAU,EAAE,UAAU,CACtB,MAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,CACzB,IAAK,EAAE,KAAK,CACb,CAAC,CACD,WAAW,EAAM,CAAE,OAAM,UAAW,CACnC,IAAM,EAAQ,EACd,MAAO,CACL,GAAG,EACH,YAAa,EAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CACxC,cAAe,EAAM,KAClB,MAAM,IAAI,CACV,MAAM,GAAI,GAAG,CACb,KAAK,IAAI,CACT,QAAQ,SAAU,GAAG,CACxB,UAAW,EAAM,KAAK,QAAQ,YAAa,GAAG,CAAC,QAAQ,SAAU,GAAG,CACpE,KAAM,EAAM,KACT,MAAM,QAAQ,CACd,KAAK,EACJ,QAAQ,SAAU,GAAG,CACtB,QAAQ,OAAQ,GAAG,CAClB,QAAQ,EAAM,KACX,MAAM,QAAQ,CACd,KAAK,EACJ,QAAQ,SAAU,GAAG,CACtB,QAAQ,OAAQ,GAAG,GACtB,OACJ,cAAe,EAAM,KAAK,MAAM,IAAI,CAAC,MAAM,GAAI,GAAG,CAAC,KAAK,IAAI,CAC5D,eAAgB,EAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAC3C,eAAgB,EAChB,IAAK,EAAc,EAAK,IAAI,CAC7B,EACD,CACL,CACF,CACD,IAAK,CACH,cAAe,EAA0B,CAAE,gBAAe,sBAAqB,CAAC,CAChF,cAAe,EAA0B,CAAE,gBAAe,sBAAqB,CAAC,CACjF,CACF,CAAC,CAGJ,MAAa,EAAmB,GAAwB"}
|
package/dist/velite/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"../metadata-plugin-DA7OesoA.js";import{t as n}from"../rehype-mermaid-
|
|
1
|
+
import{n as e,t}from"../metadata-plugin-DA7OesoA.js";import{t as n}from"../rehype-mermaid-Be9A3aSw.js";import{t as r}from"../rehype-npm-command-0W5WqcQY.js";import{t as i}from"../rehype-pre-block-source-paX7yPQ4.js";import{t as a}from"../rehype-title-CB9V-h9I.js";import"./plugins/index.js";import{cleanTocItems as o}from"./utils.js";import{createDocsVeliteConfig as s,docsVeliteConfig as c}from"./config.js";export{o as cleanTocItems,s as createDocsVeliteConfig,c as docsVeliteConfig,n as rehypeMermaid,t as rehypeMetadataPlugin,r as rehypeNpmCommand,i as rehypePreBlockSource,a as rehypeTitle,e as rhypeMetadataPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"../../metadata-plugin-DA7OesoA.js";import{t as n}from"../../rehype-mermaid-
|
|
1
|
+
import{n as e,t}from"../../metadata-plugin-DA7OesoA.js";import{t as n}from"../../rehype-mermaid-Be9A3aSw.js";import{t as r}from"../../rehype-npm-command-0W5WqcQY.js";import{t as i}from"../../rehype-pre-block-source-paX7yPQ4.js";import{t as a}from"../../rehype-title-CB9V-h9I.js";export{n as rehypeMermaid,t as rehypeMetadataPlugin,r as rehypeNpmCommand,i as rehypePreBlockSource,a as rehypeTitle,e as rhypeMetadataPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"../../rehype-mermaid-
|
|
1
|
+
import{t as e}from"../../rehype-mermaid-Be9A3aSw.js";export{e as rehypeMermaid};
|
package/package.json
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
"node": ">=22.0.0"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@shikijs/compat": "^2.5.0",
|
|
8
7
|
"@tanstack/react-virtual": "^3.13.19",
|
|
9
8
|
"@types/unist": "^3.0.3",
|
|
10
9
|
"aria-hidden": "^1.2.6",
|
|
@@ -19,6 +18,7 @@
|
|
|
19
18
|
"remark": "^15.0.1",
|
|
20
19
|
"remark-code-import": "^1.2.0",
|
|
21
20
|
"remark-gfm": "^4.0.0",
|
|
21
|
+
"shiki": "^2.5.0",
|
|
22
22
|
"tabbable": "6.2.0",
|
|
23
23
|
"tw-animate-css": "^1.2.4",
|
|
24
24
|
"unified": "^11.0.5",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"react-resizable-panels": "^4.7.0",
|
|
50
50
|
"rimraf": "^6.0.1",
|
|
51
51
|
"tailwind-merge": "^3.4.0",
|
|
52
|
+
"tailwindcss": "^4.2.0",
|
|
52
53
|
"tsdown": "0.18.3",
|
|
53
54
|
"typescript": "5.9.3"
|
|
54
55
|
},
|
|
@@ -163,5 +164,5 @@
|
|
|
163
164
|
},
|
|
164
165
|
"type": "module",
|
|
165
166
|
"types": "./dist/index.d.ts",
|
|
166
|
-
"version": "0.
|
|
167
|
+
"version": "0.1.1"
|
|
167
168
|
}
|
|
@@ -21,7 +21,7 @@ export function SiteHeader() {
|
|
|
21
21
|
const siteConfig = useSiteConfig()
|
|
22
22
|
|
|
23
23
|
return (
|
|
24
|
-
<HeaderRoot className="border-border/
|
|
24
|
+
<HeaderRoot className="border-border/40 border-b bg-background/40 backdrop-blur-md supports-[backdrop-filter]:bg-transparent">
|
|
25
25
|
<HeaderContainer>
|
|
26
26
|
<MainNav />
|
|
27
27
|
<React.Suspense fallback={null}>
|
package/src/index.css
ADDED
package/src/velite/config.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { UnistNode } from '@duck-docs/types'
|
|
2
|
-
import { getHighlighter } from '@shikijs/compat'
|
|
3
2
|
import rehypeAutolinkHeadings from 'rehype-autolink-headings'
|
|
4
3
|
// @ts-ignore
|
|
5
4
|
import rehypePrettyCode from 'rehype-pretty-code'
|
|
6
5
|
import rehypeSlug from 'rehype-slug'
|
|
7
6
|
import { codeImport } from 'remark-code-import'
|
|
8
7
|
import remarkGfm from 'remark-gfm'
|
|
8
|
+
import { createHighlighter as getHighlighter } from 'shiki'
|
|
9
9
|
import type { Pluggable } from 'unified'
|
|
10
10
|
import { defineConfig, s, type ZodMeta } from 'velite'
|
|
11
11
|
import { rehypeMermaid, rehypeMetadataPlugin, rehypeNpmCommand, rehypePreBlockSource, rehypeTitle } from './plugins'
|
|
@@ -35,6 +35,10 @@ function buildDefaultRehypePlugins({
|
|
|
35
35
|
{
|
|
36
36
|
getHighlighter,
|
|
37
37
|
onVisitHighlightedLine(node: UnistNode) {
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
if (!node.properties) node.properties = {}
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
if (!node.properties.className) node.properties.className = []
|
|
38
42
|
// @ts-ignore
|
|
39
43
|
node.properties.className.push('line--highlighted')
|
|
40
44
|
},
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execSync } from 'node:child_process'
|
|
2
2
|
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs'
|
|
3
|
+
import { createRequire } from 'node:module'
|
|
3
4
|
import { tmpdir } from 'node:os'
|
|
4
5
|
import { join } from 'node:path'
|
|
5
6
|
import type { UnistNode, UnistTree } from '@duck-docs/types'
|
|
@@ -78,10 +79,24 @@ function findChromium(): string {
|
|
|
78
79
|
|
|
79
80
|
let chromiumPath: string | null = null
|
|
80
81
|
|
|
82
|
+
function resolveMermaidPath(): string {
|
|
83
|
+
try {
|
|
84
|
+
const req = createRequire(import.meta.url)
|
|
85
|
+
const pkgPath = req.resolve('mermaid/package.json')
|
|
86
|
+
return join(pkgPath, '..', 'dist', 'mermaid.esm.min.mjs')
|
|
87
|
+
} catch {
|
|
88
|
+
return ''
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
81
92
|
function buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {
|
|
93
|
+
const localMermaid = resolveMermaidPath()
|
|
94
|
+
const mermaidSrc = localMermaid
|
|
95
|
+
? `file://${localMermaid}`
|
|
96
|
+
: 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'
|
|
82
97
|
return `<!DOCTYPE html><html><head>
|
|
83
98
|
<script type="module">
|
|
84
|
-
import mermaid from '
|
|
99
|
+
import mermaid from '${mermaidSrc}';
|
|
85
100
|
const diagrams = ${JSON.stringify(diagrams)};
|
|
86
101
|
const results = {};
|
|
87
102
|
for (const d of diagrams) {
|
|
@@ -108,7 +123,7 @@ async function renderSvgBatch(
|
|
|
108
123
|
writeFileSync(htmlFile, buildRenderHtml(diagrams))
|
|
109
124
|
|
|
110
125
|
const output = execSync(
|
|
111
|
-
`"${chromiumPath}" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom "file://${htmlFile}"`,
|
|
126
|
+
`"${chromiumPath}" --headless --disable-gpu --no-sandbox --allow-file-access-from-files --virtual-time-budget=15000 --dump-dom "file://${htmlFile}"`,
|
|
112
127
|
{ timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },
|
|
113
128
|
)
|
|
114
129
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block-DAy3JZ6j.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/code-block.tsx"],"sourcesContent":[],"mappings":";;;UAEU,SAAA,SAAkB,KAAA,CAAM,eAAe;;;AAAvC,iBAIM,SAAA,CAJiC;EAAA,SAArB;EAAA,aAAM;EAAA,GAAc;AAAA,CAAA,EAIkB,SAJlB,CAAA,EAI2B,mBAAA,CAAA,GAAA,CAAA,OAJ3B"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime39 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/command-menu.d.ts
|
|
4
|
-
declare function CommandMenu(): react_jsx_runtime39.JSX.Element;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { CommandMenu as t };
|
|
7
|
-
//# sourceMappingURL=command-menu-LHgyNFdE.d.ts.map
|
package/dist/icons-B8awNAgi.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/icons.d.ts
|
|
4
|
-
type IconProps = React.HTMLAttributes<SVGElement>;
|
|
5
|
-
declare const Icons: {
|
|
6
|
-
apple: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
7
|
-
aria: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
8
|
-
bash: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
9
|
-
css: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
10
|
-
gitHub: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
11
|
-
google: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
12
|
-
json: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
13
|
-
logo: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
14
|
-
npm: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
15
|
-
paypal: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
16
|
-
pnpm: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
17
|
-
radix: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
18
|
-
react: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
19
|
-
spinner: ({
|
|
20
|
-
className,
|
|
21
|
-
...props
|
|
22
|
-
}: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
23
|
-
tailwind: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
24
|
-
toml: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
25
|
-
ts: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
26
|
-
twitter: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
27
|
-
v0: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
28
|
-
yarn: (props: IconProps) => react_jsx_runtime4.JSX.Element;
|
|
29
|
-
};
|
|
30
|
-
declare function getIconForLanguageExtension(language: string): react_jsx_runtime4.JSX.Element;
|
|
31
|
-
//#endregion
|
|
32
|
-
export { getIconForLanguageExtension as n, Icons as t };
|
|
33
|
-
//# sourceMappingURL=icons-B8awNAgi.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icons-B8awNAgi.d.ts","names":[],"sources":["../src/components/icons.tsx"],"sourcesContent":[],"mappings":";;;KAEK,SAAA,GAAY,KAAA,CAAM,eAAe;cAEzB;iBACI,cAAS,kBAAA,CAAA,GAAA,CAAA;EAHrB,IAAA,EAAA,CAAA,KAAS,EAWE,SAXF,EAAwB,GAWb,kBAAA,CAAA,GAAA,CAAA,OAXY;EAExB,IAAA,EAAA,CAAA,KA8JZ,EAhJe,SAgJf,EAAA,GAhJwB,kBAAA,CAAA,GAAA,CAAA,OAgJxB;EA7JgB,GAAA,EAAA,CAAA,KAAA,EAkBF,SAlBE,EAAA,GAkBO,kBAAA,CAAA,GAAA,CAAA,OAlBP;EAAS,MAAA,EAAA,CAAA,KAAA,EAuBR,SAvBQ,EAAA,GAuBC,kBAAA,CAAA,GAAA,CAAA,OAvBD;EAQV,MAAA,EAAA,CAAA,KAAA,EAsBE,SAtBF,EAAA,GAsBW,kBAAA,CAAA,GAAA,CAAA,OAtBX;EAAS,IAAA,EAAA,CAAA,KAAA,EA8BT,SA9BS,EAAA,GA8BA,kBAAA,CAAA,GAAA,CAAA,OA9BA;EAKT,IAAA,EAAA,CAAA,KAAA,EAiCA,SAjCA,EAAA,GAiCS,kBAAA,CAAA,GAAA,CAAA,OAjCT;EAAS,GAAA,EAAA,CAAA,KAAA,EAyCV,SAzCU,EAAA,GAyCD,kBAAA,CAAA,GAAA,CAAA,OAzCC;EAKV,MAAA,EAAA,CAAA,KAAA,EA4CG,SA5CH,EAAA,GA4CY,kBAAA,CAAA,GAAA,CAAA,OA5CZ;EAAS,IAAA,EAAA,CAAA,KAAA,EAoDR,SApDQ,EAAA,GAoDC,kBAAA,CAAA,GAAA,CAAA,OApDD;EAKN,KAAA,EAAA,CAAA,KAAA,EAuDD,SAvDC,EAAA,GAuDQ,kBAAA,CAAA,GAAA,CAAA,OAvDR;EAAS,KAAA,EAAA,CAAA,KAAA,EAgEV,SAhEU,EAAA,GAgED,kBAAA,CAAA,GAAA,CAAA,OAhEC;EAOT,OAAA,EAAA,CAAA;IAAA,SAAA;IAAA,GAAA;EAAA,CAAA,EAiEmB,SAjEnB,EAAA,GAiE4B,kBAAA,CAAA,GAAA,CAAA,OAjE5B;EAAS,QAAA,EAAA,CAAA,KAAA,EAoEP,SApEO,EAAA,GAoEE,kBAAA,CAAA,GAAA,CAAA,OApEF;EAQX,IAAA,EAAA,CAAA,KAAA,EAqEA,SArEA,EAAA,GAqES,kBAAA,CAAA,GAAA,CAAA,OArET;EAAS,EAAA,EAAA,CAAA,KAAA,EA2FX,SA3FW,EAAA,GA2FF,kBAAA,CAAA,GAAA,CAAA,OA3FE;EAQT,OAAA,EAAA,CAAA,KAAA,EAwFG,SAxFH,EAAA,GAwFY,kBAAA,CAAA,GAAA,CAAA,OAxFZ;EAAS,EAAA,EAAA,CAAA,KAAA,EA6FX,SA7FW,EAAA,GA6FF,kBAAA,CAAA,GAAA,CAAA,OA7FE;EAQV,IAAA,EAAA,CAAA,KAAA,EA+FC,SA/FD,EAAA,GA+FU,kBAAA,CAAA,GAAA,CAAA,OA/FV;CAAS;AAQN,iBAiGF,2BAAA,CAjGE,QAAA,EAAA,MAAA,CAAA,EAiG0C,kBAAA,CAAA,GAAA,CAAA,OAjG1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-nav-Ctrj2x2N.d.ts","names":[],"sources":["../src/components/main-nav.tsx"],"sourcesContent":[],"mappings":";;;iBAQgB,OAAA,CAAA,GAAO,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/mdx-B4bzoDDs.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime60 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/mdx/mdx.d.ts
|
|
4
|
-
interface MdxProps {
|
|
5
|
-
code: string;
|
|
6
|
-
}
|
|
7
|
-
declare function Mdx({
|
|
8
|
-
code
|
|
9
|
-
}: MdxProps): react_jsx_runtime60.JSX.Element;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { Mdx as t };
|
|
12
|
-
//# sourceMappingURL=mdx-B4bzoDDs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-nav-BwxnYQIS.d.ts","names":[],"sources":["../src/components/mobile-nav.tsx"],"sourcesContent":[],"mappings":";;;iBAagB,SAAA,CAAA,GAAS,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime27 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/mode-toggle.d.ts
|
|
4
|
-
declare function ModeSwitcher(): react_jsx_runtime27.JSX.Element;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { ModeSwitcher as t };
|
|
7
|
-
//# sourceMappingURL=mode-toggle-DTIF2o7F.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mode-toggle-DTIF2o7F.d.ts","names":[],"sources":["../src/components/mode-toggle.tsx"],"sourcesContent":[],"mappings":";;;iBAcgB,YAAA,CAAA,GAAY,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-header-raOcAxSb.d.ts","names":[],"sources":["../src/components/page-header.tsx"],"sourcesContent":[],"mappings":";;;iBAES,UAAA;;;;GAA8C,KAAA,CAAM,4BAAyB,mBAAA,CAAA,GAAA,CAAA;iBAY7E,iBAAA;;;GAA2C,KAAA,CAAM,uBAAoB,mBAAA,CAAA,GAAA,CAAA;iBAYrE,qBAAA;;;GAA+C,KAAA,CAAM,sBAAmB,mBAAA,CAAA,GAAA,CAAA;AAxBK,iBA8B7E,WAAA,CA9BU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA8B2B,KAAA,CAAM,cA9BjC,CAAA,KAAA,CAAA,CAAA,EA8BsD,mBAAA,CAAA,GAAA,CAAA,OA9BtD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providers-CxZdaO7_.d.ts","names":[],"sources":["../src/components/providers.tsx"],"sourcesContent":[],"mappings":";;;;iBAMgB,eAAA;;;GAAsC,qBAAkB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import{visit as e}from"unist-util-visit";import{execSync as t}from"node:child_process";import{mkdtempSync as n,rmSync as r,writeFileSync as i}from"node:fs";import{tmpdir as a}from"node:os";import{join as o}from"node:path";import{toString as s}from"hast-util-to-string";function c(e){let t=e.children?.[0];if(!t||t.type!==`element`||t.tagName!==`code`)return!1;let n=t.properties?.[`data-language`],r=t.properties?.className;return n===`mermaid`||Array.isArray(r)&&r.includes(`language-mermaid`)}function l(e){if(!e?.value)return null;if(typeof e.value==`string`)return e.value;if(e.value?.type===`mdxJsxAttributeValueExpression`)try{return Function(`return `+e.value.value)()}catch{return null}return null}function u(e,t){return{type:`mdxJsxAttribute`,name:e,value:{type:`mdxJsxAttributeValueExpression`,value:JSON.stringify(t),data:{estree:{type:`Program`,sourceType:`module`,body:[{type:`ExpressionStatement`,expression:{type:`Literal`,value:t,raw:JSON.stringify(t)}}],comments:[]}}}}}function d(){for(let e of[`chromium`,`google-chrome-stable`,`google-chrome`,`chromium-browser`])try{let n=t(`which ${e}`,{encoding:`utf-8`,stdio:[`pipe`,`pipe`,`pipe`]}).trim();if(n)return n}catch{}throw Error(`[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.`)}let f=null;function p(e){return`<!DOCTYPE html><html><head>
|
|
2
|
-
<script type="module">
|
|
3
|
-
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
|
4
|
-
const diagrams = ${JSON.stringify(e)};
|
|
5
|
-
const results = {};
|
|
6
|
-
for (const d of diagrams) {
|
|
7
|
-
try {
|
|
8
|
-
mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });
|
|
9
|
-
const { svg } = await mermaid.render(d.id, d.source);
|
|
10
|
-
results[d.id] = svg;
|
|
11
|
-
} catch (e) {
|
|
12
|
-
results[d.id] = '';
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
document.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));
|
|
16
|
-
<\/script></head><body></body></html>`}async function m(e){f||=d();let s=n(o(a(),`mermaid-`));try{let n=o(s,`render.html`);i(n,p(e));let r=t(`"${f}" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom "file://${n}"`,{timeout:6e4,encoding:`utf-8`,maxBuffer:50*1024*1024,stdio:[`pipe`,`pipe`,`pipe`]}).match(/<title>DONE:([\s\S]*?)<\/title>/);if(!r)throw Error(`Chromium did not produce output`);let a=decodeURIComponent(escape(Buffer.from(r[1],`base64`).toString(`binary`))),c=JSON.parse(a);for(let[e,t]of Object.entries(c))t&&(c[e]=t.replace(/\bwidth="[\d.]+"/,`width="100%"`));return c}finally{r(s,{recursive:!0,force:!0})}}function h(){return async t=>{let n=[];if(e(t,e=>{if(e.type===`mdxJsxFlowElement`&&e.name===`MermaidDiagram`){let t=l((e.attributes||[]).find(e=>e.type===`mdxJsxAttribute`&&e.name===`chart`));t&&n.push({kind:`jsx`,node:e,source:t.trim()});return}if(e.type===`element`&&e.tagName===`div`&&e.properties&&`data-rehype-pretty-code-fragment`in e.properties){let t=(e.children||[]).filter(e=>e.type===`element`&&e.tagName===`pre`).find(e=>c(e));if(!t)return;let r=t.properties?.__rawString__||s(t);r&&n.push({kind:`fence`,node:e,pre:t,source:r.trim()});return}if(e.type===`element`&&e.tagName===`pre`&&c(e)){let t=e.properties?.__rawString__||s(e);t&&n.push({kind:`fence`,node:e,pre:e,source:t.trim()})}}),n.length===0)return;let r=[];for(let e=0;e<n.length;e++){let t=n[e].source;r.push({source:t,id:`ml${e}`,theme:`default`}),r.push({source:t,id:`md${e}`,theme:`dark`})}let i={};try{i=await m(r)}catch(e){console.warn(`[rehype-mermaid] Build-time render failed:`,e.message);return}for(let e=0;e<n.length;e++){let t=n[e],r=i[`ml${e}`]||``,a=i[`md${e}`]||``;if(!r&&!a){console.warn(`[rehype-mermaid] No SVG produced for diagram ${e}`);continue}if(t.kind===`jsx`){let e=t.node.attributes||[];r&&e.push(u(`lightSvg`,r)),a&&e.push(u(`darkSvg`,a)),t.node.attributes=e}else t.node!==t.pre&&(t.node.children=[t.pre]),t.pre.properties={...t.pre.properties,__isMermaid__:!0,__mermaidLightSvg__:r,__mermaidDarkSvg__:a}}}}export{h as t};
|
|
17
|
-
//# sourceMappingURL=rehype-mermaid-Ctag2Ywx.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-mermaid-Ctag2Ywx.js","names":["chromiumPath: string | null","results: Record<string, string>","entries: Entry[]","diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]"],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\nimport { mkdtempSync, rmSync, writeFileSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport type { UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction isMermaidCode(node: UnistNode): boolean {\n const codeChild = node.children?.[0]\n if (!codeChild || codeChild.type !== 'element' || codeChild.tagName !== 'code') return false\n const dataLang = codeChild.properties?.['data-language']\n const classes = codeChild.properties?.className\n return dataLang === 'mermaid' || (Array.isArray(classes) && classes.includes('language-mermaid'))\n}\n\n/** Safely extract a string value from an mdxJsxAttribute. */\nfunction extractAttrValue(attr: any): string | null {\n if (!attr?.value) return null\n if (typeof attr.value === 'string') return attr.value\n if (attr.value?.type === 'mdxJsxAttributeValueExpression') {\n try {\n // eslint-disable-next-line no-new-func\n return new Function('return ' + attr.value.value)()\n } catch {\n return null\n }\n }\n return null\n}\n\n/** Create an mdxJsxAttribute with an expression value (properly escaped). */\nfunction makeJsxStringAttr(name: string, value: string) {\n return {\n type: 'mdxJsxAttribute',\n name,\n value: {\n type: 'mdxJsxAttributeValueExpression',\n value: JSON.stringify(value),\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n body: [\n {\n type: 'ExpressionStatement',\n expression: { type: 'Literal', value, raw: JSON.stringify(value) },\n },\n ],\n comments: [],\n },\n },\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Headless Chromium renderer - produces pixel-perfect SVGs using a real browser\n// ---------------------------------------------------------------------------\n\n/** Find the system Chromium / Chrome binary. */\nfunction findChromium(): string {\n for (const bin of ['chromium', 'google-chrome-stable', 'google-chrome', 'chromium-browser']) {\n try {\n const p = execSync(`which ${bin}`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim()\n if (p) return p\n } catch {\n /* next */\n }\n }\n throw new Error('[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.')\n}\n\nlet chromiumPath: string | null = null\n\nfunction buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {\n return `<!DOCTYPE html><html><head>\n<script type=\"module\">\nimport mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';\nconst diagrams = ${JSON.stringify(diagrams)};\nconst results = {};\nfor (const d of diagrams) {\n try {\n mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });\n const { svg } = await mermaid.render(d.id, d.source);\n results[d.id] = svg;\n } catch (e) {\n results[d.id] = '';\n }\n}\ndocument.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));\n</script></head><body></body></html>`\n}\n\nasync function renderSvgBatch(\n diagrams: { source: string; id: string; theme: 'default' | 'dark' }[],\n): Promise<Record<string, string>> {\n if (!chromiumPath) chromiumPath = findChromium()\n\n const dir = mkdtempSync(join(tmpdir(), 'mermaid-'))\n try {\n const htmlFile = join(dir, 'render.html')\n writeFileSync(htmlFile, buildRenderHtml(diagrams))\n\n const output = execSync(\n `\"${chromiumPath}\" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom \"file://${htmlFile}\"`,\n { timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },\n )\n\n const titleMatch = output.match(/<title>DONE:([\\s\\S]*?)<\\/title>/)\n if (!titleMatch) throw new Error('Chromium did not produce output')\n\n const json = decodeURIComponent(escape(Buffer.from(titleMatch[1]!, 'base64').toString('binary')))\n const results: Record<string, string> = JSON.parse(json)\n\n // Make SVGs responsive\n for (const [id, svg] of Object.entries(results)) {\n if (svg) {\n results[id] = svg.replace(/\\bwidth=\"[\\d.]+\"/, 'width=\"100%\"')\n }\n }\n\n return results\n } finally {\n rmSync(dir, { recursive: true, force: true })\n }\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport function rehypeMermaid() {\n return async (tree: UnistTree) => {\n // Two kinds of entries: code-fence <pre> blocks and <MermaidDiagram> JSX elements\n type CodeFenceEntry = { kind: 'fence'; node: UnistNode; pre: UnistNode; source: string }\n type JsxEntry = { kind: 'jsx'; node: UnistNode; source: string }\n type Entry = CodeFenceEntry | JsxEntry\n\n const entries: Entry[] = []\n\n visit(tree, (node: UnistNode) => {\n // 1. <MermaidDiagram chart={`...`} /> JSX elements\n if ((node as any).type === 'mdxJsxFlowElement' && (node as any).name === 'MermaidDiagram') {\n const attrs = (node as any).attributes || []\n const chartAttr = attrs.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'chart')\n const chart = extractAttrValue(chartAttr)\n if (chart) {\n entries.push({ kind: 'jsx', node, source: chart.trim() })\n }\n return\n }\n\n // 2. rehypePrettyCode wrapper div (dual themes, two pre elements)\n if (\n node.type === 'element' &&\n node.tagName === 'div' &&\n node.properties &&\n 'data-rehype-pretty-code-fragment' in node.properties\n ) {\n const pres = (node.children || []).filter((c: UnistNode) => c.type === 'element' && c.tagName === 'pre')\n const mPre = pres.find((c: UnistNode) => isMermaidCode(c))\n if (!mPre) return\n const src = (mPre.properties?.__rawString__ as string) || toString(mPre as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: mPre, source: src.trim() })\n return\n }\n\n // 3. Standalone <pre>\n if (node.type === 'element' && node.tagName === 'pre' && isMermaidCode(node)) {\n const src = (node.properties?.__rawString__ as string) || toString(node as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: node, source: src.trim() })\n }\n })\n\n if (entries.length === 0) return\n\n // Build all diagrams in a single Chromium invocation (both themes)\n const diagrams: { source: string; id: string; theme: 'default' | 'dark' }[] = []\n for (let i = 0; i < entries.length; i++) {\n const src = entries[i]!.source\n diagrams.push({ source: src, id: `ml${i}`, theme: 'default' })\n diagrams.push({ source: src, id: `md${i}`, theme: 'dark' })\n }\n\n let results: Record<string, string> = {}\n try {\n results = await renderSvgBatch(diagrams)\n } catch (err) {\n console.warn(`[rehype-mermaid] Build-time render failed:`, (err as Error).message)\n return\n }\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n const lightSvg = results[`ml${i}`] || ''\n const darkSvg = results[`md${i}`] || ''\n\n if (!lightSvg && !darkSvg) {\n console.warn(`[rehype-mermaid] No SVG produced for diagram ${i}`)\n continue\n }\n\n if (entry.kind === 'jsx') {\n const attrs = (entry.node as any).attributes || []\n if (lightSvg) attrs.push(makeJsxStringAttr('lightSvg', lightSvg))\n if (darkSvg) attrs.push(makeJsxStringAttr('darkSvg', darkSvg))\n ;(entry.node as any).attributes = attrs\n } else {\n if (entry.node !== entry.pre) {\n entry.node.children = [entry.pre]\n }\n entry.pre.properties = {\n ...entry.pre.properties,\n __isMermaid__: true,\n __mermaidLightSvg__: lightSvg,\n __mermaidDarkSvg__: darkSvg,\n }\n }\n }\n }\n}\n"],"mappings":"6QAaA,SAAS,EAAc,EAA0B,CAC/C,IAAM,EAAY,EAAK,WAAW,GAClC,GAAI,CAAC,GAAa,EAAU,OAAS,WAAa,EAAU,UAAY,OAAQ,MAAO,GACvF,IAAM,EAAW,EAAU,aAAa,iBAClC,EAAU,EAAU,YAAY,UACtC,OAAO,IAAa,WAAc,MAAM,QAAQ,EAAQ,EAAI,EAAQ,SAAS,mBAAmB,CAIlG,SAAS,EAAiB,EAA0B,CAClD,GAAI,CAAC,GAAM,MAAO,OAAO,KACzB,GAAI,OAAO,EAAK,OAAU,SAAU,OAAO,EAAK,MAChD,GAAI,EAAK,OAAO,OAAS,iCACvB,GAAI,CAEF,OAAW,SAAS,UAAY,EAAK,MAAM,MAAM,EAAE,MAC7C,CACN,OAAO,KAGX,OAAO,KAIT,SAAS,EAAkB,EAAc,EAAe,CACtD,MAAO,CACL,KAAM,kBACN,OACA,MAAO,CACL,KAAM,iCACN,MAAO,KAAK,UAAU,EAAM,CAC5B,KAAM,CACJ,OAAQ,CACN,KAAM,UACN,WAAY,SACZ,KAAM,CACJ,CACE,KAAM,sBACN,WAAY,CAAE,KAAM,UAAW,QAAO,IAAK,KAAK,UAAU,EAAM,CAAE,CACnE,CACF,CACD,SAAU,EAAE,CACb,CACF,CACF,CACF,CAQH,SAAS,GAAuB,CAC9B,IAAK,IAAM,IAAO,CAAC,WAAY,uBAAwB,gBAAiB,mBAAmB,CACzF,GAAI,CACF,IAAM,EAAI,EAAS,SAAS,IAAO,CAAE,SAAU,QAAS,MAAO,CAAC,OAAQ,OAAQ,OAAO,CAAE,CAAC,CAAC,MAAM,CACjG,GAAI,EAAG,OAAO,OACR,EAIV,MAAU,MAAM,uFAAuF,CAGzG,IAAIA,EAA8B,KAElC,SAAS,EAAgB,EAA+E,CACtG,MAAO;;;mBAGU,KAAK,UAAU,EAAS,CAAC;;;;;;;;;;;;uCAe5C,eAAe,EACb,EACiC,CACjC,AAAmB,IAAe,GAAc,CAEhD,IAAM,EAAM,EAAY,EAAK,GAAQ,CAAE,WAAW,CAAC,CACnD,GAAI,CACF,IAAM,EAAW,EAAK,EAAK,cAAc,CACzC,EAAc,EAAU,EAAgB,EAAS,CAAC,CAOlD,IAAM,EALS,EACb,IAAI,EAAa,yFAAyF,EAAS,GACnH,CAAE,QAAS,IAAO,SAAU,QAAS,UAAW,GAAK,KAAO,KAAM,MAAO,CAAC,OAAQ,OAAQ,OAAO,CAAE,CACpG,CAEyB,MAAM,kCAAkC,CAClE,GAAI,CAAC,EAAY,MAAU,MAAM,kCAAkC,CAEnE,IAAM,EAAO,mBAAmB,OAAO,OAAO,KAAK,EAAW,GAAK,SAAS,CAAC,SAAS,SAAS,CAAC,CAAC,CAC3FC,EAAkC,KAAK,MAAM,EAAK,CAGxD,IAAK,GAAM,CAAC,EAAI,KAAQ,OAAO,QAAQ,EAAQ,CACzC,IACF,EAAQ,GAAM,EAAI,QAAQ,mBAAoB,eAAe,EAIjE,OAAO,SACC,CACR,EAAO,EAAK,CAAE,UAAW,GAAM,MAAO,GAAM,CAAC,EAQjD,SAAgB,GAAgB,CAC9B,OAAO,KAAO,IAAoB,CAMhC,IAAMC,EAAmB,EAAE,CAoC3B,GAlCA,EAAM,EAAO,GAAoB,CAE/B,GAAK,EAAa,OAAS,qBAAwB,EAAa,OAAS,iBAAkB,CAGzF,IAAM,EAAQ,GAFC,EAAa,YAAc,EAAE,EACpB,KAAM,GAAW,EAAE,OAAS,mBAAqB,EAAE,OAAS,QAAQ,CACnD,CACrC,GACF,EAAQ,KAAK,CAAE,KAAM,MAAO,OAAM,OAAQ,EAAM,MAAM,CAAE,CAAC,CAE3D,OAIF,GACE,EAAK,OAAS,WACd,EAAK,UAAY,OACjB,EAAK,YACL,qCAAsC,EAAK,WAC3C,CAEA,IAAM,GADQ,EAAK,UAAY,EAAE,EAAE,OAAQ,GAAiB,EAAE,OAAS,WAAa,EAAE,UAAY,MAAM,CACtF,KAAM,GAAiB,EAAc,EAAE,CAAC,CAC1D,GAAI,CAAC,EAAM,OACX,IAAM,EAAO,EAAK,YAAY,eAA4B,EAAS,EAAc,CAC7E,GAAK,EAAQ,KAAK,CAAE,KAAM,QAAS,OAAM,IAAK,EAAM,OAAQ,EAAI,MAAM,CAAE,CAAC,CAC7E,OAIF,GAAI,EAAK,OAAS,WAAa,EAAK,UAAY,OAAS,EAAc,EAAK,CAAE,CAC5E,IAAM,EAAO,EAAK,YAAY,eAA4B,EAAS,EAAc,CAC7E,GAAK,EAAQ,KAAK,CAAE,KAAM,QAAS,OAAM,IAAK,EAAM,OAAQ,EAAI,MAAM,CAAE,CAAC,GAE/E,CAEE,EAAQ,SAAW,EAAG,OAG1B,IAAMC,EAAwE,EAAE,CAChF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,IAAM,EAAM,EAAQ,GAAI,OACxB,EAAS,KAAK,CAAE,OAAQ,EAAK,GAAI,KAAK,IAAK,MAAO,UAAW,CAAC,CAC9D,EAAS,KAAK,CAAE,OAAQ,EAAK,GAAI,KAAK,IAAK,MAAO,OAAQ,CAAC,CAG7D,IAAIF,EAAkC,EAAE,CACxC,GAAI,CACF,EAAU,MAAM,EAAe,EAAS,OACjC,EAAK,CACZ,QAAQ,KAAK,6CAA+C,EAAc,QAAQ,CAClF,OAGF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,IAAM,EAAQ,EAAQ,GAChB,EAAW,EAAQ,KAAK,MAAQ,GAChC,EAAU,EAAQ,KAAK,MAAQ,GAErC,GAAI,CAAC,GAAY,CAAC,EAAS,CACzB,QAAQ,KAAK,gDAAgD,IAAI,CACjE,SAGF,GAAI,EAAM,OAAS,MAAO,CACxB,IAAM,EAAS,EAAM,KAAa,YAAc,EAAE,CAC9C,GAAU,EAAM,KAAK,EAAkB,WAAY,EAAS,CAAC,CAC7D,GAAS,EAAM,KAAK,EAAkB,UAAW,EAAQ,CAAC,CAC5D,EAAM,KAAa,WAAa,OAE9B,EAAM,OAAS,EAAM,MACvB,EAAM,KAAK,SAAW,CAAC,EAAM,IAAI,EAEnC,EAAM,IAAI,WAAa,CACrB,GAAG,EAAM,IAAI,WACb,cAAe,GACf,oBAAqB,EACrB,mBAAoB,EACrB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime40 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/site-footer.d.ts
|
|
4
|
-
declare function SiteFooter(): react_jsx_runtime40.JSX.Element;
|
|
5
|
-
declare function FooterButtons(): react_jsx_runtime40.JSX.Element;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { SiteFooter as n, FooterButtons as t };
|
|
8
|
-
//# sourceMappingURL=site-footer-Dh_aYkTp.d.ts.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./button-BPQ9zanb.js";import{n as t,o as n}from"./context-Bu-bPlyW.js";import{t as r}from"./mode-toggle-DhgB9p1I.js";import{n as i,r as a,t as o}from"./header-shell-PLI5ZAwI.js";import{cn as s}from"@gentleduck/libs/cn";import c from"react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{CaseUpper as d,Github as f,Twitter as p,Type as m}from"lucide-react";import{usePathname as h}from"next/navigation";import g from"next/link";import{useAtom as _}from"jotai";import{atomWithStorage as v}from"jotai/utils";function y(){let e=h(),{mainNav:n}=t();return u(`div`,{className:`mr-4 hidden md:flex`,children:[l(o,{className:`mr-4 lg:mr-6`}),n?.length?l(`nav`,{"aria-label":`Main`,className:`flex items-center gap-4 text-sm xl:gap-6`,children:n.map(t=>l(g,{"aria-current":e===t.href?`page`:void 0,className:s(`font-medium transition-colors hover:text-foreground/80`,e===t.href?`text-foreground`:`text-foreground/80`),href:t.href??`#`,children:t.title},t.href??t.title))}):null]})}const b=c.lazy(()=>import(`./components/layouts/command-menu.js`).then(e=>({default:e.CommandMenu}))),x=c.lazy(()=>import(`./components/mobile-nav.js`).then(e=>({default:e.MobileNav})));function S(){let t=n();return l(a,{className:`border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70`,children:u(i,{children:[l(y,{}),l(c.Suspense,{fallback:null,children:l(x,{})}),u(`div`,{className:`flex flex-1 items-center justify-between space-x-2 md:justify-end`,children:[l(`div`,{className:`w-full flex-1 md:w-auto md:flex-none`,children:l(c.Suspense,{fallback:u(`div`,{className:s(e({size:`sm`,variant:`outline`}),`relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64`),children:[l(`span`,{className:`hidden lg:inline-flex`,children:`Search documentation...`}),l(`span`,{className:`inline-flex lg:hidden`,children:`Search...`})]}),children:l(b,{})})}),u(`nav`,{"aria-label":`Social and settings`,className:`flex items-center`,children:[l(C,{}),l(T,{}),t.links?.discord?l(g,{"aria-label":`Discord (opens in a new tab)`,href:t.links.discord,rel:`noreferrer`,target:`_blank`,children:l(`div`,{className:s(e({size:`icon`,variant:`ghost`})),children:l(`svg`,{"aria-hidden":`true`,className:`size-4`,fill:`currentColor`,viewBox:`0 0 24 24`,xmlns:`http://www.w3.org/2000/svg`,children:l(`path`,{d:`M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})})})}):null,t.links?.twitter?l(g,{"aria-label":`Twitter (opens in a new tab)`,href:t.links.twitter,rel:`noreferrer`,target:`_blank`,children:l(`div`,{className:s(e({size:`icon`,variant:`ghost`})),children:l(p,{"aria-hidden":`true`})})}):null,l(r,{})]})]})]})})}function C(){let[t,r]=c.useState(null),i=n(),a=i.links?.github?.replace(`https://github.com/`,``).replace(/\/$/,``),o=i.githubRepo??a;return c.useEffect(()=>{async function e(){try{if(!o)return;let e=await fetch(`https://api.github.com/repos/${o}`);if(!e.ok)return;let t=await e.json();typeof t.stargazers_count==`number`&&r(t.stargazers_count)}catch(e){console.error(`Failed to fetch stars:`,e)}}e()},[]),i.links?.github?l(g,{"aria-label":`GitHub (opens in a new tab)`,href:i.links.github,rel:`noopener noreferrer`,target:`_blank`,children:u(`div`,{className:s(e({className:`size-auto h-8 w-16 font-medium text-sm`,size:`icon`,variant:`ghost`})),children:[l(f,{"aria-hidden":`true`}),t===null?`...`:t.toLocaleString()]})}):null}const w=v(`fontType`,`mono`);function T(){let[t,n]=_(w),r=c.useRef(!0);return c.useEffect(()=>{if(r.current){r.current=!1;return}let e=t===`sans`?`var(--font-geist-sans, "Montserrat"), sans-serif`:`var(--font-geist-mono, "Geist Mono"), monospace`;document.documentElement.style.setProperty(`font-family`,e,`important`)},[t]),l(`button`,{"aria-label":t===`mono`?`Switch to sans-serif font`:`Switch to monospace font`,className:s(e({size:`icon`,variant:`ghost`})),onClick:()=>n(t===`mono`?`sans`:`mono`),type:`button`,children:l(t===`mono`?m:d,{"aria-hidden":`true`})})}export{S as n,y as r,T as t};
|
|
2
|
-
//# sourceMappingURL=site-header-BiFOBrXI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-header-BiFOBrXI.js","names":["Link","Link"],"sources":["../src/components/main-nav.tsx","../src/components/layouts/site-header.tsx"],"sourcesContent":["'use client'\n\nimport { useDocsConfig } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport { HeaderBrand } from './layouts/site-header'\n\nexport function MainNav() {\n const pathname = usePathname()\n const { mainNav } = useDocsConfig()\n\n return (\n <div className=\"mr-4 hidden md:flex\">\n <HeaderBrand className=\"mr-4 lg:mr-6\" />\n {mainNav?.length ? (\n <nav aria-label=\"Main\" className=\"flex items-center gap-4 text-sm xl:gap-6\">\n {mainNav.map((item) => (\n <Link\n aria-current={pathname === item.href ? 'page' : undefined}\n className={cn(\n 'font-medium transition-colors hover:text-foreground/80',\n pathname === item.href ? 'text-foreground' : 'text-foreground/80',\n )}\n href={item.href ?? '#'}\n key={item.href ?? item.title}>\n {item.title}\n </Link>\n ))}\n </nav>\n ) : null}\n </div>\n )\n}\n","'use client'\n\nimport { MainNav } from '@duck-docs/components/main-nav'\nimport { ModeSwitcher } from '@duck-docs/components/mode-toggle'\nimport { useSiteConfig } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport { buttonVariants } from '@gentleduck/registry-ui/button'\nimport { useAtom } from 'jotai'\nimport { atomWithStorage } from 'jotai/utils'\nimport { CaseUpper, Github, Twitter, Type } from 'lucide-react'\nimport Link from 'next/link'\nimport React from 'react'\nimport { HeaderContainer, HeaderRoot } from './header-shell'\n\nconst CommandMenu = React.lazy(() =>\n import('@duck-docs/components/layouts/command-menu').then((m) => ({ default: m.CommandMenu })),\n)\nconst MobileNav = React.lazy(() => import('@duck-docs/components/mobile-nav').then((m) => ({ default: m.MobileNav })))\n\nexport function SiteHeader() {\n const siteConfig = useSiteConfig()\n\n return (\n <HeaderRoot className=\"border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70\">\n <HeaderContainer>\n <MainNav />\n <React.Suspense fallback={null}>\n <MobileNav />\n </React.Suspense>\n <div className=\"flex flex-1 items-center justify-between space-x-2 md:justify-end\">\n <div className=\"w-full flex-1 md:w-auto md:flex-none\">\n <React.Suspense\n fallback={\n <div\n className={cn(\n buttonVariants({ size: 'sm', variant: 'outline' }),\n 'relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64',\n )}>\n <span className=\"hidden lg:inline-flex\">Search documentation...</span>\n <span className=\"inline-flex lg:hidden\">Search...</span>\n </div>\n }>\n <CommandMenu />\n </React.Suspense>\n </div>\n <nav aria-label=\"Social and settings\" className=\"flex items-center\">\n <GitHubStarsButton />\n <FontStyleButton />\n {siteConfig.links?.discord ? (\n <Link\n aria-label=\"Discord (opens in a new tab)\"\n href={siteConfig.links.discord}\n rel=\"noreferrer\"\n target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <svg\n aria-hidden=\"true\"\n className=\"size-4\"\n fill=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z\" />\n </svg>\n </div>\n </Link>\n ) : null}\n {siteConfig.links?.twitter ? (\n <Link\n aria-label=\"Twitter (opens in a new tab)\"\n href={siteConfig.links.twitter}\n rel=\"noreferrer\"\n target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <Twitter aria-hidden=\"true\" />\n </div>\n </Link>\n ) : null}\n <ModeSwitcher />\n </nav>\n </div>\n </HeaderContainer>\n </HeaderRoot>\n )\n}\n\nfunction GitHubStarsButton() {\n const [stars, setStars] = React.useState<number | null>(null)\n const siteConfig = useSiteConfig()\n const repoFromUrl = siteConfig.links?.github?.replace('https://github.com/', '').replace(/\\/$/, '')\n const repo = siteConfig.githubRepo ?? repoFromUrl\n\n React.useEffect(() => {\n async function fetchStars() {\n try {\n if (!repo) {\n return\n }\n const res = await fetch(`https://api.github.com/repos/${repo}`)\n if (!res.ok) return\n const data = await res.json()\n if (typeof data.stargazers_count === 'number') {\n setStars(data.stargazers_count)\n }\n } catch (err) {\n console.error('Failed to fetch stars:', err)\n }\n }\n fetchStars()\n }, [])\n\n if (!siteConfig.links?.github) {\n return null\n }\n\n return (\n <Link\n aria-label=\"GitHub (opens in a new tab)\"\n href={siteConfig.links.github}\n rel=\"noopener noreferrer\"\n target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n className: 'size-auto h-8 w-16 font-medium text-sm',\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <Github aria-hidden=\"true\" />\n {stars !== null ? stars.toLocaleString() : '...'}\n </div>\n </Link>\n )\n}\nconst fontAtom = atomWithStorage('fontType', 'mono')\n\nexport function FontStyleButton() {\n const [fontType, setFontType] = useAtom(fontAtom)\n const firstRender = React.useRef(true)\n\n React.useEffect(() => {\n if (firstRender.current) {\n firstRender.current = false\n return\n }\n\n const family =\n fontType === 'sans'\n ? 'var(--font-geist-sans, \"Montserrat\"), sans-serif'\n : 'var(--font-geist-mono, \"Geist Mono\"), monospace'\n\n document.documentElement.style.setProperty('font-family', family, 'important')\n }, [fontType])\n\n return (\n <button\n aria-label={fontType === 'mono' ? 'Switch to sans-serif font' : 'Switch to monospace font'}\n className={cn(buttonVariants({ size: 'icon', variant: 'ghost' }))}\n onClick={() => setFontType(fontType === 'mono' ? 'sans' : 'mono')}\n type=\"button\">\n {fontType === 'mono' ? <Type aria-hidden=\"true\" /> : <CaseUpper aria-hidden=\"true\" />}\n </button>\n )\n}\n\nexport { HeaderBrand, HeaderContainer, HeaderRoot, HeaderSection } from './header-shell'\n"],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/site-header.d.ts
|
|
4
|
-
declare function SiteHeader(): react_jsx_runtime1.JSX.Element;
|
|
5
|
-
declare function FontStyleButton(): react_jsx_runtime1.JSX.Element;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { SiteHeader as n, FontStyleButton as t };
|
|
8
|
-
//# sourceMappingURL=site-header-C77EADsW.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-header-C77EADsW.d.ts","names":[],"sources":["../src/components/layouts/site-header.tsx"],"sourcesContent":[],"mappings":";;;iBAmBgB,UAAA,CAAA,GAAU,kBAAA,CAAA,GAAA,CAAA;iBAiIV,eAAA,CAAA,GAAe,kBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime81 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/tailwind-indicator.d.ts
|
|
4
|
-
declare function TailwindIndicator(): react_jsx_runtime81.JSX.Element | null;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { TailwindIndicator as t };
|
|
7
|
-
//# sourceMappingURL=tailwind-indicator-C2nO7EAI.d.ts.map
|