@gentleduck/docs 0.2.0 → 0.2.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/{arrow-CU5T6t_D-BA13FgoC.js → arrow--d9nzYrD-DznC9R7B.js} +1 -1
- package/dist/{arrow-CU5T6t_D-BA13FgoC.js.map → arrow--d9nzYrD-DznC9R7B.js.map} +1 -1
- package/dist/{callout-0BtCINKk.d.ts → callout-BHT13SBT.d.ts} +3 -3
- package/dist/{callout-0BtCINKk.d.ts.map → callout-BHT13SBT.d.ts.map} +1 -1
- package/dist/client.d.ts +31 -31
- package/dist/client.js +1 -1
- package/dist/{code-block-B0w93vdH.d.ts → code-block-BNulZGbf.d.ts} +3 -3
- package/dist/{code-block-B0w93vdH.d.ts.map → code-block-BNulZGbf.d.ts.map} +1 -1
- package/dist/{code-block-wrapper-CtCPXtO_.d.ts → code-block-wrapper-GksaoK4I.d.ts} +3 -3
- package/dist/{code-block-wrapper-CtCPXtO_.d.ts.map → code-block-wrapper-GksaoK4I.d.ts.map} +1 -1
- package/dist/{code-preview-D6FrTX1A.d.ts → code-preview-BzVRhHg8.d.ts} +3 -3
- package/dist/{code-preview-D6FrTX1A.d.ts.map → code-preview-BzVRhHg8.d.ts.map} +1 -1
- package/dist/{command-menu-C5eCuJ1p.js → command-menu-BH0DFAdg.js} +2 -2
- package/dist/{command-menu-C5eCuJ1p.js.map → command-menu-BH0DFAdg.js.map} +1 -1
- package/dist/command-menu-D3T3sLXZ.d.ts +7 -0
- package/dist/{command-menu-BvEJcMbM.d.ts.map → command-menu-D3T3sLXZ.d.ts.map} +1 -1
- package/dist/{component-preview-CHng68hR.d.ts → component-preview-CZkJsPr_.d.ts} +4 -4
- package/dist/{component-preview-CHng68hR.d.ts.map → component-preview-CZkJsPr_.d.ts.map} +1 -1
- package/dist/{component-source-CWOUfnWY.d.ts → component-source-D0Yfh8j5.d.ts} +3 -3
- package/dist/{component-source-CWOUfnWY.d.ts.map → component-source-D0Yfh8j5.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-copy-page.js +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/docs/index.js +1 -1
- package/dist/components/icons.d.ts +1 -1
- package/dist/components/index.d.ts +30 -30
- package/dist/components/index.js +1 -1
- package/dist/components/layouts/command-menu.d.ts +1 -1
- package/dist/components/layouts/command-menu.js +1 -1
- package/dist/components/layouts/index.d.ts +4 -4
- 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 +1 -1
- package/dist/components/layouts/site-header.js +1 -1
- package/dist/components/layouts/tailwind-indicator.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/index.js +1 -1
- package/dist/components/mdx/mdx-components/code/mermaid-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/mermaid-block.js +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/index.js +1 -1
- 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 +35 -35
- package/dist/components/mdx/mdx-components-base.d.ts.map +1 -1
- package/dist/components/mdx/mdx-components-base.js +1 -1
- package/dist/components/mdx/mdx-components-registry.d.ts +37 -37
- package/dist/components/mdx/mdx-components-registry.js +1 -1
- package/dist/components/mdx/mdx-components-ui.d.ts +17 -17
- package/dist/components/mdx/mdx-icons.d.ts +9 -9
- package/dist/components/mdx/mdx-icons.d.ts.map +1 -1
- package/dist/components/mdx/mdx.d.ts +1 -1
- package/dist/components/mdx/mdx.js +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/style-switcher.js +1 -1
- package/dist/{components-list-DNtDa4DQ.d.ts → components-list-vGd8Fril.d.ts} +3 -3
- package/dist/{components-list-DNtDa4DQ.d.ts.map → components-list-vGd8Fril.d.ts.map} +1 -1
- package/dist/context/context.d.ts +1 -1
- package/dist/context/index.d.ts +1 -1
- package/dist/{context-DdAZ5e6e.d.ts → context-Cd5lDJ0U.d.ts} +3 -3
- package/dist/{context-DdAZ5e6e.d.ts.map → context-Cd5lDJ0U.d.ts.map} +1 -1
- package/dist/{copy-button-DJt9b314.d.ts → copy-button-Dba6NMr7.d.ts} +3 -3
- package/dist/{copy-button-DJt9b314.d.ts.map → copy-button-Dba6NMr7.d.ts.map} +1 -1
- package/dist/{create-collection-S3CvffX1-DA20ZU15.js → create-collection-BGqkd0fl-BNg1clsw.js} +1 -1
- package/dist/{create-collection-S3CvffX1-DA20ZU15.js.map → create-collection-BGqkd0fl-BNg1clsw.js.map} +1 -1
- package/dist/{docs-copy-page-BjCHLC98.js → docs-copy-page-1xiveuoU.js} +2 -2
- package/dist/{docs-copy-page-BjCHLC98.js.map → docs-copy-page-1xiveuoU.js.map} +1 -1
- package/dist/{docs-copy-page-BP_9SFiu.d.ts → docs-copy-page-RX6QARJ5.d.ts} +3 -3
- package/dist/{docs-copy-page-BP_9SFiu.d.ts.map → docs-copy-page-RX6QARJ5.d.ts.map} +1 -1
- package/dist/{docs-pager-Cj_ihb89.d.ts → docs-pager-DVMWDPhR.d.ts} +4 -4
- package/dist/{docs-pager-Cj_ihb89.d.ts.map → docs-pager-DVMWDPhR.d.ts.map} +1 -1
- package/dist/{docs-sidebar-Dm8CCbmk.d.ts → docs-sidebar-BSYoPkLy.d.ts} +5 -5
- package/dist/{docs-sidebar-Dm8CCbmk.d.ts.map → docs-sidebar-BSYoPkLy.d.ts.map} +1 -1
- package/dist/{docs-toc-COvBB3xw.d.ts → docs-toc-RsQXR2mS.d.ts} +3 -3
- package/dist/{docs-toc-COvBB3xw.d.ts.map → docs-toc-RsQXR2mS.d.ts.map} +1 -1
- package/dist/{dropdown-menu-DYiM8COh.js → dropdown-menu-EhrY8joQ.js} +2 -2
- package/dist/{dropdown-menu-DYiM8COh.js.map → dropdown-menu-EhrY8joQ.js.map} +1 -1
- package/dist/{figcaption-block-lr2ii6n2.d.ts → figcaption-block-CYdmV289.d.ts} +3 -3
- package/dist/{figcaption-block-lr2ii6n2.d.ts.map → figcaption-block-CYdmV289.d.ts.map} +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/use-colors.d.ts +1 -1
- package/dist/icons-CvDgdAkn.d.ts +33 -0
- package/dist/{icons-DOc-gx0p.d.ts.map → icons-CvDgdAkn.d.ts.map} +1 -1
- package/dist/mdx-BesLYyDk.d.ts +12 -0
- package/dist/{mdx-BWQi54_m.d.ts.map → mdx-BesLYyDk.d.ts.map} +1 -1
- package/dist/{mdx-C5u2Zdyc.js → mdx-G8urwTrB.js} +2 -2
- package/dist/{mdx-C5u2Zdyc.js.map → mdx-G8urwTrB.js.map} +1 -1
- package/dist/{mdx-components-base-D4hUHZRR.js → mdx-components-base-DUpIRrmA.js} +2 -2
- package/dist/{mdx-components-base-D4hUHZRR.js.map → mdx-components-base-DUpIRrmA.js.map} +1 -1
- package/dist/mdx-components-registry-CSjc6phV.js +2 -0
- package/dist/{mdx-components-registry-Ceb39eRW.js.map → mdx-components-registry-CSjc6phV.js.map} +1 -1
- package/dist/{mermaid-block-CrmASB4s.js → mermaid-block-DKhLlt0H.js} +2 -2
- package/dist/{mermaid-block-CrmASB4s.js.map → mermaid-block-DKhLlt0H.js.map} +1 -1
- package/dist/{mermaid-block-C6-6cv5f.d.ts → mermaid-block-iLbOlW1I.d.ts} +3 -3
- package/dist/{mermaid-block-C6-6cv5f.d.ts.map → mermaid-block-iLbOlW1I.d.ts.map} +1 -1
- package/dist/mobile-nav-DUkWP5bc.d.ts +7 -0
- package/dist/mobile-nav-DUkWP5bc.d.ts.map +1 -0
- package/dist/mode-toggle-DUh08fnR.d.ts +7 -0
- package/dist/mode-toggle-DUh08fnR.d.ts.map +1 -0
- package/dist/{page-header-CS5XM1q2.d.ts → page-header-DEXQbaIe.d.ts} +6 -6
- package/dist/{page-header-CS5XM1q2.d.ts.map → page-header-DEXQbaIe.d.ts.map} +1 -1
- package/dist/{pre-block-Pa2SlBev.d.ts → pre-block-ikAAmqhJ.d.ts} +3 -3
- package/dist/{pre-block-Pa2SlBev.d.ts.map → pre-block-ikAAmqhJ.d.ts.map} +1 -1
- package/dist/{providers-6rBUIHJN.d.ts → providers-BzIQ_ple.d.ts} +3 -3
- package/dist/providers-BzIQ_ple.d.ts.map +1 -0
- package/dist/site-footer-CVdbW-iH.d.ts +8 -0
- package/dist/{site-footer-BigIDuKM.d.ts.map → site-footer-CVdbW-iH.d.ts.map} +1 -1
- package/dist/{site-header-ClW-bc7r.js → site-header-CezYgCur.js} +2 -2
- package/dist/{site-header-ClW-bc7r.js.map → site-header-CezYgCur.js.map} +1 -1
- package/dist/site-header-D5YXIh8W.d.ts +8 -0
- package/dist/{site-header-m-AqO8bm.d.ts.map → site-header-D5YXIh8W.d.ts.map} +1 -1
- package/dist/{style-switcher-e8-d3sUq.d.ts → style-switcher-Dw76cq4G.d.ts} +3 -3
- package/dist/{style-switcher-e8-d3sUq.d.ts.map → style-switcher-Dw76cq4G.d.ts.map} +1 -1
- package/dist/{style-switcher-Cvax_0P0.js → style-switcher-Vlmp2BW4.js} +2 -2
- package/dist/style-switcher-Vlmp2BW4.js.map +1 -0
- package/dist/{table-DOSBqDDt.d.ts → table-DAEx431W.d.ts} +6 -6
- package/dist/{table-DOSBqDDt.d.ts.map → table-DAEx431W.d.ts.map} +1 -1
- package/dist/{tabs-_OKB-QwX.d.ts → tabs-b9_P2R33.d.ts} +6 -6
- package/dist/{tabs-_OKB-QwX.d.ts.map → tabs-b9_P2R33.d.ts.map} +1 -1
- package/dist/tailwind-indicator-1FrmaX-H.d.ts +7 -0
- package/dist/{tailwind-indicator-pbpZIrz8.d.ts.map → tailwind-indicator-1FrmaX-H.d.ts.map} +1 -1
- package/dist/{typepography-1RFDvJqo.d.ts → typepography-BcmpY0se.d.ts} +13 -13
- package/dist/{typepography-1RFDvJqo.d.ts.map → typepography-BcmpY0se.d.ts.map} +1 -1
- package/dist/{use-colors-CCxJ3J6E.d.ts → use-colors-C2-6OWMC.d.ts} +2 -2
- package/dist/use-colors-C2-6OWMC.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/command-menu-BvEJcMbM.d.ts +0 -7
- package/dist/icons-DOc-gx0p.d.ts +0 -33
- package/dist/mdx-BWQi54_m.d.ts +0 -12
- package/dist/mdx-components-registry-Ceb39eRW.js +0 -2
- package/dist/mobile-nav-CFTIm8WK.d.ts +0 -7
- package/dist/mobile-nav-CFTIm8WK.d.ts.map +0 -1
- package/dist/mode-toggle-DazD3zuF.d.ts +0 -7
- package/dist/mode-toggle-DazD3zuF.d.ts.map +0 -1
- package/dist/providers-6rBUIHJN.d.ts.map +0 -1
- package/dist/site-footer-BigIDuKM.d.ts +0 -8
- package/dist/site-header-m-AqO8bm.d.ts +0 -8
- package/dist/style-switcher-Cvax_0P0.js.map +0 -1
- package/dist/tailwind-indicator-pbpZIrz8.d.ts +0 -7
- package/dist/use-colors-CCxJ3J6E.d.ts.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime93 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/mdx/mdx-components/code/figcaption-block.d.ts
|
|
4
4
|
declare function FigcaptionBlock({
|
|
5
5
|
children,
|
|
6
6
|
className,
|
|
7
7
|
...props
|
|
8
|
-
}: React.HTMLAttributes<HTMLDivElement>):
|
|
8
|
+
}: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime93.JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
export { FigcaptionBlock as t };
|
|
11
|
-
//# sourceMappingURL=figcaption-block-
|
|
11
|
+
//# sourceMappingURL=figcaption-block-CYdmV289.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figcaption-block-
|
|
1
|
+
{"version":3,"file":"figcaption-block-CYdmV289.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/figcaption-block.tsx"],"sourcesContent":[],"mappings":";;;iBAGgB,eAAA;;;;GAAmD,KAAA,CAAM,eAAe,kBAAe,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../colors-BFoVQHcV.js";
|
|
2
|
-
import { t as useColors } from "../use-colors-
|
|
2
|
+
import { t as useColors } from "../use-colors-C2-6OWMC.js";
|
|
3
3
|
import { t as useConfig } from "../use-config-CVGpN_gD.js";
|
|
4
4
|
import { t as useLiftMode } from "../use-lift-mode-GxKOrDG3.js";
|
|
5
5
|
import { t as useMetaColor } from "../use-meta-colors-Bl9VUeAa.js";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as react_jsx_runtime1 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_runtime1.JSX.Element;
|
|
7
|
+
aria: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
8
|
+
bash: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
9
|
+
css: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
10
|
+
gitHub: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
11
|
+
google: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
12
|
+
json: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
13
|
+
logo: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
14
|
+
npm: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
15
|
+
paypal: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
16
|
+
pnpm: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
17
|
+
radix: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
18
|
+
react: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
19
|
+
spinner: ({
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
23
|
+
tailwind: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
24
|
+
toml: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
25
|
+
ts: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
26
|
+
twitter: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
27
|
+
v0: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
28
|
+
yarn: (props: IconProps) => react_jsx_runtime1.JSX.Element;
|
|
29
|
+
};
|
|
30
|
+
declare function getIconForLanguageExtension(language: string): react_jsx_runtime1.JSX.Element;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { getIconForLanguageExtension as n, Icons as t };
|
|
33
|
+
//# sourceMappingURL=icons-CvDgdAkn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons-
|
|
1
|
+
{"version":3,"file":"icons-CvDgdAkn.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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime63 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_runtime63.JSX.Element;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { Mdx as t };
|
|
12
|
+
//# sourceMappingURL=mdx-BesLYyDk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-
|
|
1
|
+
{"version":3,"file":"mdx-BesLYyDk.d.ts","names":[],"sources":["../src/components/mdx/mdx.tsx"],"sourcesContent":[],"mappings":";;;UAKU,QAAA;;;AAAA,iBAIM,GAAA,CAJE;EAAA;AAAA,CAAA,EAIY,QAJZ,CAAA,EAIoB,mBAAA,CAAA,GAAA,CAAA,OAJpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./mdx-components-registry-
|
|
2
|
-
//# sourceMappingURL=mdx-
|
|
1
|
+
import{t as e}from"./mdx-components-registry-CSjc6phV.js";import{t}from"./mdx-runtime-DoXPlXz4.js";import{jsx as n}from"react/jsx-runtime";function r({code:r}){return n(`div`,{className:`mdx`,children:n(t(r),{components:e})})}export{r as t};
|
|
2
|
+
//# sourceMappingURL=mdx-G8urwTrB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-
|
|
1
|
+
{"version":3,"file":"mdx-G8urwTrB.js","names":[],"sources":["../src/components/mdx/mdx.tsx"],"sourcesContent":["'use client'\n\nimport { mdxComponents } from './mdx-components-registry'\nimport { useMDXComponent } from './mdx-runtime'\n\ninterface MdxProps {\n code: string\n}\n\nexport function Mdx({ code }: MdxProps) {\n const Component = useMDXComponent(code)\n\n return (\n <div className=\"mdx\">\n <Component components={mdxComponents} />\n </div>\n )\n}\n"],"mappings":"2IASA,SAAgB,EAAI,CAAE,QAAkB,CAGtC,OACE,EAAC,MAAA,CAAI,UAAU,eACb,EAJc,EAAgB,EAAK,CAAA,CAIxB,WAAY,EAAA,CAAiB,EACpC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./callout-aAkFztfL.js";import{t}from"./code-block-BgDMP6Nq.js";import{t as n}from"./code-block-wrapper-CqEjVT5Z.js";import{n as r}from"./component-preview-AFsWULeq.js";import{t as i}from"./figcaption-block-hcA7ZV1t.js";import{t as a}from"./component-source-DF57SjbQ.js";import{t as o}from"./mermaid-block-
|
|
2
|
-
//# sourceMappingURL=mdx-components-base-
|
|
1
|
+
import{t as e}from"./callout-aAkFztfL.js";import{t}from"./code-block-BgDMP6Nq.js";import{t as n}from"./code-block-wrapper-CqEjVT5Z.js";import{n as r}from"./component-preview-AFsWULeq.js";import{t as i}from"./figcaption-block-hcA7ZV1t.js";import{t as a}from"./component-source-DF57SjbQ.js";import{t as o}from"./mermaid-block-DKhLlt0H.js";import{t as s}from"./pre-block-BC2mRAfY.js";import{t as c}from"./components-list-BIYh-rVo.js";import{i as l,n as u,r as d,t as f}from"./table-CugT9kEw.js";import{i as p,n as m,r as h,t as g}from"./tabs-DWwPvmmz.js";import{a as _,c as v,d as y,i as b,l as x,n as S,o as C,r as w,s as T,t as E,u as D}from"./typepography-Bo-fCx4O.js";import{t as O}from"./mdx-icons-B7YaM2WW.js";import{cn as k}from"@gentleduck/libs/cn";import{jsx as A}from"react/jsx-runtime";import j from"next/image";const M={...O,a:E,blockquote:({className:e,...t})=>A(`blockquote`,{className:k(`mt-6 border-l-2 pl-6 italic`,e),...t}),Callout:e,CodeBlockWrapper:n,ComponentPreview:r,ComponentSource:a,ComponentsList:c,code:t,figcaption:i,h1:S,h2:w,h3:b,h4:_,h5:C,h6:T,hr:v,Image:j,img:({className:e,alt:t,...n})=>A(`img`,{alt:t,className:k(`rounded-md`,e),...n}),Link:x,LinkedCard:D,li:e=>A(`li`,{...e}),MermaidDiagram:o,ol:({className:e,...t})=>A(`ol`,{className:k(`my-6 ml-7 flex list-decimal flex-col gap-2`,e),...t}),p:y,pre:e=>e.__isMermaid__?A(o,{...e,className:`my-0 border-none [&_*]:border-none`}):A(s,{...e}),Step:({className:e,...t})=>A(`h3`,{className:k(`step scroll-m-20 font-heading font-semibold text-base tracking-tight`,e),...t}),Steps:({...e})=>A(`div`,{className:`[&>h3]:step steps mb-12 ml-4 border-l pl-8 [counter-reset:step]`,...e}),table:f,Tabs:g,TabsContent:m,TabsList:h,TabsTrigger:p,td:u,th:d,tr:l,ul:({className:e,...t})=>A(`ul`,{className:k(`my-6 ml-6 flex list-disc flex-col gap-2`,e),...t})};export{M as t};
|
|
2
|
+
//# sourceMappingURL=mdx-components-base-DUpIRrmA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-components-base-
|
|
1
|
+
{"version":3,"file":"mdx-components-base-DUpIRrmA.js","names":[],"sources":["../src/components/mdx/mdx-components-base.tsx"],"sourcesContent":["import { cn } from '@gentleduck/libs/cn'\nimport Image from 'next/image'\nimport type * as React from 'react'\nimport type { MdxComponentMap } from './mdx-component-registry.types'\nimport { Callout } from './mdx-components/callout'\nimport {\n CodeBlock,\n CodeBlockWrapper,\n ComponentPreview,\n ComponentSource,\n MermaidBlock,\n PreBlock,\n} from './mdx-components/code'\nimport { FigcaptionBlock } from './mdx-components/code/figcaption-block'\nimport { ComponentsList } from './mdx-components/components-list'\nimport { Table, TableCell, TableHeader, TableRow } from './mdx-components/table'\nimport { Tab, TabContent, TabList, TabTrigger } from './mdx-components/tabs'\nimport { A, H1, H2, H3, H4, H5, H6, Hr, LinkBlock, LinkedCard, P } from './mdx-components/typography'\nimport { mdxIcons } from './mdx-icons'\n\ntype PreRendererProps = React.ComponentProps<typeof PreBlock> & {\n __isMermaid__?: boolean\n}\n\nexport const mdxBaseComponents = {\n ...mdxIcons,\n a: A,\n blockquote: ({ className, ...props }: React.HTMLAttributes<HTMLElement>) => (\n <blockquote className={cn('mt-6 border-l-2 pl-6 italic', className)} {...props} />\n ),\n Callout,\n CodeBlockWrapper,\n ComponentPreview,\n ComponentSource,\n ComponentsList,\n code: CodeBlock,\n figcaption: FigcaptionBlock,\n h1: H1,\n h2: H2,\n h3: H3,\n h4: H4,\n h5: H5,\n h6: H6,\n hr: Hr,\n Image,\n img: ({ className, alt, ...props }: React.ImgHTMLAttributes<HTMLImageElement>) => (\n <img alt={alt} className={cn('rounded-md', className)} {...props} />\n ),\n Link: LinkBlock,\n LinkedCard,\n li: (props: React.HTMLAttributes<HTMLElement>) => <li {...props} />,\n MermaidDiagram: MermaidBlock,\n ol: ({ className, ...props }: React.HTMLAttributes<HTMLOListElement>) => (\n <ol className={cn('my-6 ml-7 flex list-decimal flex-col gap-2', className)} {...props} />\n ),\n p: P,\n pre: (props: PreRendererProps) => {\n if (props.__isMermaid__) {\n return <MermaidBlock {...props} className=\"my-0 border-none [&_*]:border-none\" />\n }\n\n return <PreBlock {...props} />\n },\n Step: ({ className, ...props }: React.ComponentProps<'h3'>) => (\n <h3 className={cn('step scroll-m-20 font-heading font-semibold text-base tracking-tight', className)} {...props} />\n ),\n Steps: ({ ...props }: React.ComponentProps<'div'>) => (\n <div className=\"[&>h3]:step steps mb-12 ml-4 border-l pl-8 [counter-reset:step]\" {...props} />\n ),\n table: Table,\n Tabs: Tab,\n TabsContent: TabContent,\n TabsList: TabList,\n TabsTrigger: TabTrigger,\n td: TableCell,\n th: TableHeader,\n tr: TableRow,\n ul: ({ className, ...props }: React.HTMLAttributes<HTMLUListElement>) => (\n <ul className={cn('my-6 ml-6 flex list-disc flex-col gap-2', className)} {...props} />\n ),\n} satisfies MdxComponentMap\n"],"mappings":"ozBAwBA,MAAa,EAAoB,CAC/B,GAAG,EACH,EAAG,EACH,YAAa,CAAE,YAAW,GAAG,KAC3B,EAAC,aAAA,CAAW,UAAW,EAAG,8BAA+B,EAAU,CAAE,GAAI,GAAS,CAEpF,UACA,mBACA,mBACA,kBACA,iBACA,KAAM,EACN,WAAY,EACZ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,QACA,KAAM,CAAE,YAAW,MAAK,GAAG,KACzB,EAAC,MAAA,CAAS,MAAK,UAAW,EAAG,aAAc,EAAU,CAAE,GAAI,GAAS,CAEtE,KAAM,EACN,aACA,GAAK,GAA6C,EAAC,KAAA,CAAG,GAAI,EAAA,CAAS,CACnE,eAAgB,EAChB,IAAK,CAAE,YAAW,GAAG,KACnB,EAAC,KAAA,CAAG,UAAW,EAAG,6CAA8C,EAAU,CAAE,GAAI,GAAS,CAE3F,EAAG,EACH,IAAM,GACA,EAAM,cACD,EAAC,EAAA,CAAa,GAAI,EAAO,UAAU,sCAAuC,CAG5E,EAAC,EAAA,CAAS,GAAI,EAAA,CAAS,CAEhC,MAAO,CAAE,YAAW,GAAG,KACrB,EAAC,KAAA,CAAG,UAAW,EAAG,uEAAwE,EAAU,CAAE,GAAI,GAAS,CAErH,OAAQ,CAAE,GAAG,KACX,EAAC,MAAA,CAAI,UAAU,kEAAkE,GAAI,GAAS,CAEhG,MAAO,EACP,KAAM,EACN,YAAa,EACb,SAAU,EACV,YAAa,EACb,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,IAAK,CAAE,YAAW,GAAG,KACnB,EAAC,KAAA,CAAG,UAAW,EAAG,0CAA2C,EAAU,CAAE,GAAI,GAAS,CAEzF"}
|
package/dist/{mdx-components-registry-Ceb39eRW.js.map → mdx-components-registry-CSjc6phV.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-components-registry-
|
|
1
|
+
{"version":3,"file":"mdx-components-registry-CSjc6phV.js","names":[],"sources":["../src/components/mdx/mdx-components-registry.ts"],"sourcesContent":["import type { MdxComponentMap } from './mdx-component-registry.types'\nimport { mdxBaseComponents } from './mdx-components-base'\nimport { mdxUiComponents } from './mdx-components-ui'\n\nexport const mdxComponents = {\n ...mdxBaseComponents,\n ...mdxUiComponents,\n} satisfies MdxComponentMap\n"],"mappings":"qGAIA,MAAa,EAAgB,CAC3B,GAAG,EACH,GAAG,EACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./slot-B-X2-pKU-DOhFF3E_.js";import{t as r}from"./button-BPQ9zanb.js";import{t as i}from"./dist-BEBzXlAF.js";import{a,d as o,l as s,n as c,o as l,p as u,t as d,u as f}from"./portal-BNuCvTAR-DDrsnIMA.js";import{t as p}from"./direction-B-anGbxM-BdqxtlGV.js";import{a as m,i as h,n as g,r as _}from"./arrow-
|
|
1
|
+
import{n as e,o as t,t as n}from"./slot-B-X2-pKU-DOhFF3E_.js";import{t as r}from"./button-BPQ9zanb.js";import{t as i}from"./dist-BEBzXlAF.js";import{a,d as o,l as s,n as c,o as l,p as u,t as d,u as f}from"./portal-BNuCvTAR-DDrsnIMA.js";import{t as p}from"./direction-B-anGbxM-BdqxtlGV.js";import{a as m,i as h,n as g,r as _}from"./arrow--d9nzYrD-DznC9R7B.js";import{n as v}from"./shared-utils-DqLwMUcj-Cs7um3C7.js";import{t as y}from"./separator-C2JodQpS.js";import{a as b,n as x,t as S}from"./dialog-WKxDI8AJ.js";import{t as C}from"./badge-lLTz8rjt.js";import{t as w}from"./visibility-hidden-CAHx9RLp-DoPUpniv.js";import{cn as T}from"@gentleduck/libs/cn";import*as E from"react";import{memo as D,useCallback as O,useEffect as k,useMemo as A,useRef as j,useState as M}from"react";import{jsx as N,jsxs as P}from"react/jsx-runtime";import{Loader as ee,Maximize2 as te,Minus as ne,Plus as F,RotateCcw as re}from"lucide-react";import{useTheme as ie}from"next-themes";const ae=i(`flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:relative [&>*]:hover:z-[1] [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1`,{defaultVariants:{orientation:`horizontal`},variants:{orientation:{horizontal:`
|
|
2
2
|
[&>*:not(:first-child)]:rounded-s-none
|
|
3
3
|
[&>*:not(:last-child)]:rounded-e-none
|
|
4
4
|
[&>*:nth-last-child(2):has(+span[aria-hidden])]:!rounded-e-md
|
|
@@ -9,4 +9,4 @@ flex-col
|
|
|
9
9
|
[&>*:not(:last-child)]:rounded-b-none
|
|
10
10
|
[&>*:not(:first-child)]:-mt-px
|
|
11
11
|
`}}}),oe=E.forwardRef(({className:e,orientation:t=`horizontal`,dir:n,...r},i)=>{let a=p(n);return N(`div`,{className:T(ae({orientation:t}),e),"data-orientation":t,"data-slot":`button-group`,dir:a,ref:i,role:`group`,...r})});oe.displayName=`ButtonGroup`;const se=E.forwardRef(({className:e,asChild:t=!1,...r},i)=>N(t?n:`div`,{className:T(`flex items-center gap-2 rounded-md border bg-muted px-4 font-medium text-sm shadow-xs [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none`,e),ref:i,...r}));se.displayName=`ButtonGroupText`;const ce=E.forwardRef(({className:e,orientation:t=`vertical`,...n},r)=>N(y,{className:T(`!m-0 relative self-stretch bg-input data-[orientation=vertical]:h-auto`,e),"data-slot":`button-group-separator`,orientation:t,ref:r,...n}));ce.displayName=`ButtonGroupSeparator`;const[I,le]=s(`Tooltip`,[h]),L=h(),R=`tooltip.open`;function ue(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function de(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function fe(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function pe(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),me(t)}function me(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}const z=`TooltipProvider`,[he,B]=I(z),ge=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=E.useRef(!0),s=E.useRef(!1),c=E.useRef(0);return E.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),N(he,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:E.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:E.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:E.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};ge.displayName=z;const V=`Tooltip`,[_e,H]=I(V),ve=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:s,delayDuration:c,dir:l}=e,u=B(V,e.__scopeTooltip),d=L(t),h=p(l),[g,_]=E.useState(null),v=f(),y=E.useRef(0),b=s??u.disableHoverableContent,x=c??u.delayDuration,S=E.useRef(!1),[C,w]=o({prop:r,defaultProp:i??!1,onChange:e=>{e?(u.onOpen(),document.dispatchEvent(new CustomEvent(R))):u.onClose(),a?.(e)},caller:V}),T=E.useMemo(()=>C?S.current?`delayed-open`:`instant-open`:`closed`,[C]),D=E.useCallback(()=>{window.clearTimeout(y.current),y.current=0,S.current=!1,w(!0)},[w]),O=E.useCallback(()=>{window.clearTimeout(y.current),y.current=0,w(!1)},[w]),k=E.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{S.current=!0,w(!0),y.current=0},x)},[x,w]);return E.useEffect(()=>()=>{y.current&&=(window.clearTimeout(y.current),0)},[]),N(m,{...d,children:N(_e,{scope:t,contentId:v,open:C,stateAttribute:T,trigger:g,onTriggerChange:_,onTriggerEnter:E.useCallback(()=>{u.isOpenDelayedRef.current?k():D()},[u.isOpenDelayedRef,k,D]),onTriggerLeave:E.useCallback(()=>{b?O():(window.clearTimeout(y.current),y.current=0)},[O,b]),onOpen:D,onClose:O,disableHoverableContent:b,dir:h,children:n})})};ve.displayName=V;const U=`TooltipPortal`,[ye,be]=I(U,{forceMount:void 0}),xe=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=H(U,t);return N(ye,{scope:t,forceMount:n,children:N(c,{present:n||a.open,children:N(d,{asChild:!0,container:i,children:r})})})};xe.displayName=U;const W=`TooltipContent`,[Se,Ce]=I(`Tooltip`,{isInside:!1}),G=E.forwardRef((e,t)=>{let n=be(W,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=H(W,e.__scopeTooltip);return N(c,{present:r||o.open,children:o.disableHoverableContent?N(K,{side:i,...a,ref:t}):N(we,{side:i,...a,ref:t})})});G.displayName=W;const we=E.forwardRef((e,n)=>{let r=H(W,e.__scopeTooltip),i=B(W,e.__scopeTooltip),a=E.useRef(null),o=t(n,a),[s,c]=E.useState(null),{trigger:l,onClose:u}=r,d=a.current,{onPointerInTransitChange:f}=i,p=E.useCallback(()=>{c(null),f(!1)},[f]),m=E.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=de(r,ue(r,n.getBoundingClientRect())),a=fe(t.getBoundingClientRect());c(pe([...i,...a])),f(!0)},[f]);return E.useEffect(()=>()=>p(),[p]),E.useEffect(()=>{if(l&&d){let e=e=>m(e,d),t=e=>m(e,l);return l.addEventListener(`pointerleave`,e),d.addEventListener(`pointerleave`,t),()=>{l.removeEventListener(`pointerleave`,e),d.removeEventListener(`pointerleave`,t)}}},[l,d,m,p]),E.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=l?.contains(t)||d?.contains(t),i=!v(n,s);r?p():i&&(p(),u())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[l,d,s,u,p]),N(K,{...e,ref:o})});we.displayName=`${W}Hoverable`;const Te=e(`TooltipContent`),K=E.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=H(W,n),u=L(n),{onClose:d}=l;return E.useEffect(()=>(document.addEventListener(R,d),()=>document.removeEventListener(R,d)),[d]),E.useEffect(()=>{if(l.trigger){let e=e=>{e.target?.contains(l.trigger)&&d()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]),N(a,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:P(g,{"data-slot":`tooltip-content`,"data-state":l.stateAttribute,dir:l.dir,...u,...c,ref:t,style:{...c.style,"--gentleduck-tooltip-content-transform-origin":`var(--gentleduck-popper-transform-origin)`,"--gentleduck-tooltip-content-available-width":`var(--gentleduck-popper-available-width)`,"--gentleduck-tooltip-content-available-height":`var(--gentleduck-popper-available-height)`,"--gentleduck-tooltip-trigger-width":`var(--gentleduck-popper-anchor-width)`,"--gentleduck-tooltip-trigger-height":`var(--gentleduck-popper-anchor-height)`},children:[N(Te,{children:r}),N(Se,{scope:n,isInside:!0,children:N(w,{id:l.contentId,role:`tooltip`,children:i||r})})]})})});K.displayName=`${W}Impl`;const Ee=`TooltipArrow`,De=E.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=L(n);return Ce(Ee,n).isInside?null:N(_,{"data-slot":`tooltip-arrow`,...i,...r,ref:t})});De.displayName=Ee;const q=`TooltipTrigger`,Oe=E.forwardRef((e,n)=>{let{__scopeTooltip:r,...i}=e,a=H(q,r),o=B(q,r),s=L(r),c=t(n,E.useRef(null),a.onTriggerChange),d=E.useRef(!1),f=E.useRef(!1),p=E.useCallback(()=>d.current=!1,[]);return E.useEffect(()=>()=>document.removeEventListener(`pointerup`,p),[p]),N(_,{asChild:!0,...s,children:N(u.button,{"data-slot":`tooltip-trigger`,"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,dir:a.dir,...i,ref:c,onPointerMove:l(e.onPointerMove,e=>{e.pointerType!==`touch`&&!f.current&&!o.isPointerInTransitRef.current&&(a.onTriggerEnter(),f.current=!0)}),onPointerLeave:l(e.onPointerLeave,()=>{a.onTriggerLeave(),f.current=!1}),onPointerDown:l(e.onPointerDown,()=>{a.open&&a.onClose(),d.current=!0,document.addEventListener(`pointerup`,p,{once:!0})}),onFocus:l(e.onFocus,()=>{d.current||a.onOpen()}),onBlur:l(e.onBlur,a.onClose),onClick:l(e.onClick,a.onClose)})})});Oe.displayName=q;const J=ge,Y=ve,X=Oe,Z=E.forwardRef(({className:e,sideOffset:t=4,...n},r)=>N(xe,{children:N(G,{ref:r,sideOffset:t,className:T(`fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 origin-(--gentleduck-tooltip-content-transform-origin) animate-in overflow-hidden rounded-md border bg-background px-3 py-1.5 text-base text-foreground data-[state=closed]:animate-out`,`transition-all transition-discrete duration-[200ms,150ms] ease-(--duck-motion-ease)`,e),...n})}));Z.displayName=G.displayName;const ke=.25,Ae=.1;function Q(e,t,n){return Math.max(t,Math.min(n,e))}const je=D(function({onZoomIn:e,onZoomOut:t,onReset:n,zoom:i,zoomInText:a=`Zoom in`,zoomOutText:o=`Zoom out`,resetText:s=`Reset view`}){return N(J,{children:P(oe,{"data-slot":`preview-panel-controls`,className:`rounded-md border bg-background/80 backdrop-blur-sm`,children:[P(Y,{children:[N(X,{asChild:!0,children:N(r,{variant:`ghost`,size:`icon-sm`,onClick:e,icon:N(F,{"aria-hidden":`true`}),"aria-label":a})}),N(Z,{children:a})]}),N(y,{orientation:`vertical`}),P(C,{variant:`secondary`,size:`sm`,className:`rounded-none tabular-nums`,children:[Math.round(i*100),`%`]}),N(y,{orientation:`vertical`}),P(Y,{children:[N(X,{asChild:!0,children:N(r,{variant:`ghost`,size:`icon-sm`,onClick:t,icon:N(ne,{"aria-hidden":`true`}),"aria-label":o})}),N(Z,{children:o})]}),N(y,{orientation:`vertical`}),P(Y,{children:[N(X,{asChild:!0,children:N(r,{variant:`ghost`,size:`icon-sm`,onClick:n,icon:N(re,{"aria-hidden":`true`}),"aria-label":s})}),N(Z,{children:s})]})]})})});function $({maxHeight:e,minZoom:t=.25,maxZoom:n=4,initialZoom:r=1,showControls:i=!0,html:a,children:o,className:s,style:c,onStateChange:l,syncState:u,dir:d,...f}){let m=j(null),h=j(null),g=j({zoom:r,x:0,y:0,dragging:!1,dragStartX:0,dragStartY:0,posStartX:0,posStartY:0,rafId:0,emitPending:!1,pinchDist:0,pinchZoom:r,willChangeTimer:0}),[_,v]=M(r),y=j(l);y.current=l;let b=O(()=>{g.current.emitPending&&(g.current.emitPending=!1,y.current?.({zoom:g.current.zoom,x:g.current.x,y:g.current.y}))},[]),x=O(()=>{g.current.emitPending=!0},[]),S=O(e=>{let t=h.current;if(!t)return;let{x:n,y:r,zoom:i}=g.current;t.style.transform=`translate3d(${n}px,${r}px,0) scale(${i})`,t.style.transition=e?`transform 0.15s ease-out`:`none`,t.style.willChange=`transform`,clearTimeout(g.current.willChangeTimer),g.current.willChangeTimer=window.setTimeout(()=>{h.current&&!g.current.dragging&&(h.current.style.willChange=`auto`)},200)},[]),C=O(()=>{g.current.rafId||(g.current.rafId=requestAnimationFrame(()=>{g.current.rafId=0,S(!1),b()}))},[S,b]),w=O(()=>v(g.current.zoom),[]);k(()=>{if(!u)return;let{zoom:e,x:t,y:n}=u;Math.abs(g.current.zoom-e)<.001&&Math.abs(g.current.x-t)<.5&&Math.abs(g.current.y-n)<.5||(g.current.zoom=e,g.current.x=t,g.current.y=n,S(!0),w())},[u,S,w]);let E=O(()=>{g.current.zoom=Q(g.current.zoom+ke,t,n),S(!0),w(),x(),b()},[S,w,x,b,t,n]),D=O(()=>{g.current.zoom=Q(g.current.zoom-ke,t,n),S(!0),w(),x(),b()},[S,w,x,b,t,n]),ee=O(()=>{g.current.zoom=r,g.current.x=0,g.current.y=0,S(!0),w(),x(),b()},[S,w,x,b,r]);k(()=>{let e=m.current;if(!e)return;let t=t=>{t.button===0&&(t.target.closest(`[data-slot="preview-panel-controls"]`)||(t.preventDefault(),e.setPointerCapture(t.pointerId),g.current.dragging=!0,g.current.dragStartX=t.clientX,g.current.dragStartY=t.clientY,g.current.posStartX=g.current.x,g.current.posStartY=g.current.y,e.style.cursor=`grabbing`))},n=e=>{g.current.dragging&&(g.current.x=g.current.posStartX+(e.clientX-g.current.dragStartX),g.current.y=g.current.posStartY+(e.clientY-g.current.dragStartY),x(),C())},r=t=>{g.current.dragging&&(g.current.dragging=!1,e.releasePointerCapture(t.pointerId),e.style.cursor=`grab`)},i=()=>{g.current.dragging&&(g.current.dragging=!1,e.style.cursor=`grab`)};return e.addEventListener(`pointerdown`,t),e.addEventListener(`pointermove`,n),e.addEventListener(`pointerup`,r),e.addEventListener(`pointerleave`,i),()=>{e.removeEventListener(`pointerdown`,t),e.removeEventListener(`pointermove`,n),e.removeEventListener(`pointerup`,r),e.removeEventListener(`pointerleave`,i)}},[x,C]),k(()=>{let e=m.current;if(!e)return;let r=e=>{e.preventDefault(),e.stopPropagation();let r=e.deltaY>0?-Ae:Ae;g.current.zoom=Q(g.current.zoom+r,t,n),x(),C(),w()};return e.addEventListener(`wheel`,r,{passive:!1}),()=>e.removeEventListener(`wheel`,r)},[x,C,w,t,n]),k(()=>{let e=m.current;if(!e)return;let r=e=>{let t=e.touches[0],n=e.touches[1];return Math.hypot(t.clientX-n.clientX,t.clientY-n.clientY)},i=e=>{e.touches.length===2&&(e.preventDefault(),g.current.pinchDist=r(e),g.current.pinchZoom=g.current.zoom)},a=e=>{if(e.touches.length===2){e.preventDefault();let i=r(e)/g.current.pinchDist;g.current.zoom=Q(g.current.pinchZoom*i,t,n),x(),C(),w()}};return e.addEventListener(`touchstart`,i,{passive:!1}),e.addEventListener(`touchmove`,a,{passive:!1}),()=>{e.removeEventListener(`touchstart`,i),e.removeEventListener(`touchmove`,a)}},[x,C,w,t,n]),k(()=>()=>{g.current.rafId&&cancelAnimationFrame(g.current.rafId),clearTimeout(g.current.willChangeTimer)},[]);let te=A(()=>a?{dangerouslySetInnerHTML:{__html:a}}:{children:o},[a,o]),ne=A(()=>({maxHeight:e,cursor:`grab`,touchAction:`none`}),[e]),F=p(d);return P(`div`,{"data-slot":`preview-panel`,className:T(`relative flex flex-col`,s),dir:F,style:c,...f,children:[i&&N(`div`,{className:`absolute end-3 top-3 z-10`,children:N(je,{onZoomIn:E,onZoomOut:D,onReset:ee,zoom:_})}),N(`div`,{ref:m,className:`flex flex-1 items-center justify-center overflow-hidden`,style:ne,children:N(`div`,{ref:h,className:`flex w-full items-center justify-center p-6`,style:Me,...te})})]})}const Me={transformOrigin:`center center`};function Ne({children:e,html:t,className:n,panelClassName:i,maxHeight:a,minZoom:o=.25,maxZoom:s=4,initialZoom:c=1,showControls:l=!0,syncPanels:u=!0,fullscreenText:d=`Open fullscreen`}){let[f,p]=M(void 0),m=j(!1),h=O(e=>{u&&(m.current||(m.current=!0,requestAnimationFrame(()=>{m.current=!1,p(e)})))},[u]),g=A(()=>t?{html:t}:{children:e},[t,e]),_=A(()=>T(`min-h-[70vh]`,i),[i]);return N(`div`,{className:T(`group relative`,n),children:P(`div`,{className:`relative overflow-hidden rounded-lg border bg-card`,children:[N($,{...g,maxHeight:a,minZoom:o,maxZoom:s,initialZoom:c,showControls:l,className:i,onStateChange:h,syncState:u?f:void 0}),N(J,{children:P(S,{children:[P(Y,{children:[N(X,{asChild:!0,children:N(b,{asChild:!0,children:N(r,{variant:`ghost`,size:`icon-sm`,icon:N(te,{"aria-hidden":`true`}),"aria-label":d,className:`absolute end-3 bottom-3 z-10 border bg-background/80 backdrop-blur-sm`})})}),N(Z,{children:d})]}),N(x,{className:`max-h-[85vh] max-w-[90vw] overflow-auto p-0`,children:N($,{...g,minZoom:o,maxZoom:s,initialZoom:c,showControls:l,className:_,onStateChange:h,syncState:u?f:void 0})})]})})]})})}function Pe(e){let t=e.chart||e.__rawString__||``,n=e.lightSvg||e.__mermaidLightSvg__||``,r=e.darkSvg||e.__mermaidDarkSvg__||``,{resolvedTheme:i}=ie(),[a,o]=M(!1);k(()=>{o(!0)},[]);let s=i===`dark`?r||n:n||r;return a?s?N(Ne,{html:s,maxHeight:`500px`,className:T(`my-6`,e.className),panelClassName:`[&_svg]:block [&_svg]:h-auto [&_svg]:max-h-full [&_svg]:w-full [&_svg]:max-w-full`,syncPanels:!0}):N(`pre`,{className:`my-6 overflow-auto rounded-lg border bg-muted p-4 text-muted-foreground text-sm`,children:t||`Mermaid diagram`}):N(`div`,{className:T(`my-6 flex h-[300px] items-center justify-center rounded-lg border bg-card`,e.className),role:`status`,children:P(`div`,{className:`flex flex-col items-center gap-3`,children:[N(ee,{"aria-hidden":`true`,className:`size-4 animate-spin opacity-50`}),N(`p`,{className:`text-muted-foreground text-sm`,children:`Loading diagram...`})]})})}export{Pe as t};
|
|
12
|
-
//# sourceMappingURL=mermaid-block-
|
|
12
|
+
//# sourceMappingURL=mermaid-block-DKhLlt0H.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid-block-CrmASB4s.js","names":["cva","React","useDirection","Slot","r","i","e","t","a","o","s","n","c","l","u","d","a","e","o","r","s","c","l","t","u","d","n","u","o","f","p","y","b","s","x","i","S","e","C","w","c","T","n","E","t","a","l","r","a","o","n","s","c","l","u","d","r","i","e","t","f","_","n","g","e","i","a","o","s","h","v","r","m","l","u","y","x","S","C","w","p","c","t","d","r","s","c","l","t","n","i","e","o","s","f","p","u","o","a","i","t","d","y","b","c","r","n","TooltipPrimitive.Provider","TooltipPrimitive.Root","TooltipPrimitive.Trigger","React","TooltipPrimitive.Portal","TooltipPrimitive.Content","ZoomControls","s","x","y","e","a","b","useDirection"],"sources":["../../registry-ui/src/button-group/button-group.constants.ts","../../registry-ui/src/button-group/button-group.tsx","../../duck-primitives/dist/tooltip.libs-D9TToaHI.js","../../duck-primitives/dist/provider-CkEPRPMg.js","../../duck-primitives/dist/tooltip-CgoajDQf.js","../../duck-primitives/dist/portal-DxI_3INm.js","../../duck-primitives/dist/tooltip/content.js","../../duck-primitives/dist/tooltip/arrow.js","../../duck-primitives/dist/tooltip/trigger.js","../../registry-ui/src/tooltip/tooltip.tsx","../../registry-ui/src/preview-panel/preview-panel.tsx","../../registry-ui/src/preview-panel/preview-panel-dialog.tsx","../src/components/mdx/mdx-components/code/mermaid-block.tsx"],"sourcesContent":["import { cva } from '@gentleduck/variants'\n\nexport const buttonGroupVariants = cva(\n \"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:relative [&>*]:hover:z-[1] [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n defaultVariants: {\n orientation: 'horizontal',\n },\n variants: {\n orientation: {\n horizontal: `\n[&>*:not(:first-child)]:rounded-s-none\n[&>*:not(:last-child)]:rounded-e-none\n[&>*:nth-last-child(2):has(+span[aria-hidden])]:!rounded-e-md\n[&>*:not(:first-child)]:-ms-px\n`,\n vertical: `\nflex-col\n[&>*:not(:first-child)]:rounded-t-none\n[&>*:not(:last-child)]:rounded-b-none\n[&>*:not(:first-child)]:-mt-px\n`,\n },\n },\n },\n)\n","import { cn } from '@gentleduck/libs/cn'\nimport { type Direction, useDirection } from '@gentleduck/primitives/direction'\nimport { Slot } from '@gentleduck/primitives/slot'\nimport type { VariantProps } from '@gentleduck/variants'\nimport * as React from 'react'\nimport { Separator } from '../separator'\nimport { buttonGroupVariants } from './button-group.constants'\n\nconst ButtonGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'> & VariantProps<typeof buttonGroupVariants>\n>(({ className, orientation = 'horizontal', dir, ...props }, ref) => {\n const direction = useDirection(dir as Direction)\n return (\n <div\n className={cn(buttonGroupVariants({ orientation }), className)}\n data-orientation={orientation}\n data-slot=\"button-group\"\n dir={direction}\n ref={ref}\n role=\"group\"\n {...props}\n />\n )\n})\nButtonGroup.displayName = 'ButtonGroup'\n\nconst ButtonGroupText = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'> & {\n asChild?: boolean\n }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-md border bg-muted px-4 font-medium text-sm shadow-xs [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n ref={ref}\n {...props}\n />\n )\n})\nButtonGroupText.displayName = 'ButtonGroupText'\n\nconst ButtonGroupSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n React.ComponentPropsWithoutRef<typeof Separator>\n>(({ className, orientation = 'vertical', ...props }, ref) => {\n return (\n <Separator\n className={cn('!m-0 relative self-stretch bg-input data-[orientation=vertical]:h-auto', className)}\n data-slot=\"button-group-separator\"\n orientation={orientation}\n ref={ref}\n {...props}\n />\n )\n})\nButtonGroupSeparator.displayName = 'ButtonGroupSeparator'\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText }\n","import{n as e}from\"./create-context-DVtxYIR4.js\";import{o as t}from\"./popper-DPbw2d-6.js\";const n=`Tooltip`,[r,i]=e(n,[t]),a=t(),o=`tooltip.open`;function s(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function c(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function l(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function u(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),d(t)}function d(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}export{s as a,l as c,i,a as l,o as n,u as o,r,c as s,n as t};","import{r as e}from\"./tooltip.libs-D9TToaHI.js\";import*as t from\"react\";import{jsx as n}from\"react/jsx-runtime\";const r=`TooltipProvider`,[i,a]=e(r),o=e=>{let{__scopeTooltip:r,delayDuration:a=700,skipDelayDuration:o=300,disableHoverableContent:s=!1,children:c}=e,l=t.useRef(!0),u=t.useRef(!1),d=t.useRef(0);return t.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),n(i,{scope:r,isOpenDelayedRef:l,delayDuration:a,onOpen:t.useCallback(()=>{window.clearTimeout(d.current),l.current=!1},[]),onClose:t.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,o)},[o]),isPointerInTransitRef:u,onPointerInTransitChange:t.useCallback(e=>{u.current=e},[]),disableHoverableContent:s,children:c})};o.displayName=r;export{i as n,a as r,o as t};","import{a as e}from\"./direction-B-anGbxM.js\";import{t}from\"./use-controllable-state-BZ2dV8Ma.js\";import{t as n}from\"./use-id-B-hswbEL.js\";import{n as r}from\"./popper-DPbw2d-6.js\";import{l as i,n as a,r as o}from\"./tooltip.libs-D9TToaHI.js\";import{r as s}from\"./provider-CkEPRPMg.js\";import*as c from\"react\";import{jsx as l}from\"react/jsx-runtime\";const u=`Tooltip`,[d,f]=o(u),p=o=>{let{__scopeTooltip:f,children:p,open:m,defaultOpen:h,onOpenChange:g,disableHoverableContent:_,delayDuration:v,dir:y}=o,b=s(u,o.__scopeTooltip),x=i(f),S=e(y),[C,w]=c.useState(null),T=n(),E=c.useRef(0),D=_??b.disableHoverableContent,O=v??b.delayDuration,k=c.useRef(!1),[A,j]=t({prop:m,defaultProp:h??!1,onChange:e=>{e?(b.onOpen(),document.dispatchEvent(new CustomEvent(a))):b.onClose(),g?.(e)},caller:u}),M=c.useMemo(()=>A?k.current?`delayed-open`:`instant-open`:`closed`,[A]),N=c.useCallback(()=>{window.clearTimeout(E.current),E.current=0,k.current=!1,j(!0)},[j]),P=c.useCallback(()=>{window.clearTimeout(E.current),E.current=0,j(!1)},[j]),F=c.useCallback(()=>{window.clearTimeout(E.current),E.current=window.setTimeout(()=>{k.current=!0,j(!0),E.current=0},O)},[O,j]);return c.useEffect(()=>()=>{E.current&&=(window.clearTimeout(E.current),0)},[]),l(r,{...x,children:l(d,{scope:f,contentId:T,open:A,stateAttribute:M,trigger:C,onTriggerChange:w,onTriggerEnter:c.useCallback(()=>{b.isOpenDelayedRef.current?F():N()},[b.isOpenDelayedRef,F,N]),onTriggerLeave:c.useCallback(()=>{D?P():(window.clearTimeout(E.current),E.current=0)},[P,D]),onOpen:N,onClose:P,disableHoverableContent:D,dir:S,children:p})})};p.displayName=u;export{d as n,f as r,p as t};","import{t as e}from\"./presence-Cky0bbMt.js\";import{t}from\"./portal-BNuCvTAR.js\";import{r as n}from\"./tooltip.libs-D9TToaHI.js\";import{r}from\"./tooltip-CgoajDQf.js\";import{jsx as i}from\"react/jsx-runtime\";const a=`TooltipPortal`,[o,s]=n(a,{forceMount:void 0}),c=n=>{let{__scopeTooltip:s,forceMount:c,children:l,container:u}=n,d=r(a,s);return i(o,{scope:s,forceMount:c,children:i(e,{present:c||d.open,children:i(t,{asChild:!0,container:u,children:l})})})};c.displayName=a;export{c as n,s as r,o as t};","import{n as e}from\"../compose-ref-qJpEeJiW.js\";import{i as t}from\"../slot-B-X2-pKU.js\";import\"../slot-GxcGorn9.js\";import\"../primitive-elements-Ds9SbVBa.js\";import\"../primitive-elements-BEtvps3A.js\";import\"../direction-B-anGbxM.js\";import\"../direction-D-TYz9YR.js\";import\"../use-layout-effect-DL9uVXpf.js\";import\"../use-controllable-state-BZ2dV8Ma.js\";import\"../use-id-B-hswbEL.js\";import\"../create-context-DVtxYIR4.js\";import\"../use-callback-ref-C2qx_J59.js\";import\"../use-escape-keydown-GftKCqL_.js\";import\"../dismissable-layer.libs-DrfpYCE2.js\";import{t as n}from\"../dismissable-layer-HqAWph8n.js\";import\"../branch-DJ2_KjzR.js\";import\"../dismissable-layer-D1FYSOrV.js\";import\"../use-state-machine-bFYmpuuC.js\";import\"../presence.libs-CY0WCRk9.js\";import{t as r}from\"../presence-Cky0bbMt.js\";import\"../presence-bdvK4NWt.js\";import\"../portal-BNuCvTAR.js\";import\"../portal-It4wL9NM.js\";import\"../arrow-BrV03AnI.js\";import\"../arrow-nGO6xQN1.js\";import\"../popper-DPbw2d-6.js\";import\"../anchor-D6VioBHE.js\";import\"../use-size-Bb6TshyC.js\";import{t as i}from\"../content-D-insCJ9.js\";import\"../arrow-CU5T6t_D.js\";import\"../popper-DLfEdcVv.js\";import{n as a}from\"../shared-utils-DqLwMUcj.js\";import{t as o}from\"../visibility-hidden-CAHx9RLp.js\";import\"../visibility-hidden-BVMjj0XZ.js\";import{a as s,c,l,n as u,o as d,r as f,s as p}from\"../tooltip.libs-D9TToaHI.js\";import{r as m}from\"../provider-CkEPRPMg.js\";import{r as h}from\"../tooltip-CgoajDQf.js\";import{r as g}from\"../portal-DxI_3INm.js\";import*as _ from\"react\";import{jsx as v,jsxs as y}from\"react/jsx-runtime\";const b=`TooltipContent`,[x,S]=f(`Tooltip`,{isInside:!1}),C=_.forwardRef((e,t)=>{let n=g(b,e.__scopeTooltip),{forceMount:i=n.forceMount,side:a=`top`,...o}=e,s=h(b,e.__scopeTooltip);return v(r,{present:i||s.open,children:s.disableHoverableContent?v(E,{side:a,...o,ref:t}):v(w,{side:a,...o,ref:t})})});C.displayName=b;const w=_.forwardRef((t,n)=>{let r=h(b,t.__scopeTooltip),i=m(b,t.__scopeTooltip),o=_.useRef(null),l=e(n,o),[u,f]=_.useState(null),{trigger:g,onClose:y}=r,x=o.current,{onPointerInTransitChange:S}=i,C=_.useCallback(()=>{f(null),S(!1)},[S]),w=_.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=p(r,s(r,n.getBoundingClientRect())),a=c(t.getBoundingClientRect());f(d([...i,...a])),S(!0)},[S]);return _.useEffect(()=>()=>C(),[C]),_.useEffect(()=>{if(g&&x){let e=e=>w(e,x),t=e=>w(e,g);return g.addEventListener(`pointerleave`,e),x.addEventListener(`pointerleave`,t),()=>{g.removeEventListener(`pointerleave`,e),x.removeEventListener(`pointerleave`,t)}}},[g,x,w,C]),_.useEffect(()=>{if(u){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=g?.contains(t)||x?.contains(t),i=!a(n,u);r?C():i&&(C(),y())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[g,x,u,y,C]),v(E,{...t,ref:l})});w.displayName=`${b}Hoverable`;const T=t(`TooltipContent`),E=_.forwardRef((e,t)=>{let{__scopeTooltip:r,children:a,\"aria-label\":s,onEscapeKeyDown:c,onPointerDownOutside:d,...f}=e,p=h(b,r),m=l(r),{onClose:g}=p;return _.useEffect(()=>(document.addEventListener(u,g),()=>document.removeEventListener(u,g)),[g]),_.useEffect(()=>{if(p.trigger){let e=e=>{e.target?.contains(p.trigger)&&g()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[p.trigger,g]),v(n,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:g,children:y(i,{\"data-slot\":`tooltip-content`,\"data-state\":p.stateAttribute,dir:p.dir,...m,...f,ref:t,style:{...f.style,\"--gentleduck-tooltip-content-transform-origin\":`var(--gentleduck-popper-transform-origin)`,\"--gentleduck-tooltip-content-available-width\":`var(--gentleduck-popper-available-width)`,\"--gentleduck-tooltip-content-available-height\":`var(--gentleduck-popper-available-height)`,\"--gentleduck-tooltip-trigger-width\":`var(--gentleduck-popper-anchor-width)`,\"--gentleduck-tooltip-trigger-height\":`var(--gentleduck-popper-anchor-height)`},children:[v(T,{children:a}),v(x,{scope:r,isInside:!0,children:v(o,{id:p.contentId,role:`tooltip`,children:s||a})})]})})});E.displayName=`${b}Impl`;export{C as TooltipContent,x as VisuallyHiddenContentContextProvider,S as useVisuallyHiddenContentContext};","import\"../compose-ref-qJpEeJiW.js\";import\"../slot-B-X2-pKU.js\";import\"../slot-GxcGorn9.js\";import\"../primitive-elements-Ds9SbVBa.js\";import\"../primitive-elements-BEtvps3A.js\";import\"../direction-B-anGbxM.js\";import\"../direction-D-TYz9YR.js\";import\"../use-layout-effect-DL9uVXpf.js\";import\"../use-controllable-state-BZ2dV8Ma.js\";import\"../use-id-B-hswbEL.js\";import\"../create-context-DVtxYIR4.js\";import\"../use-callback-ref-C2qx_J59.js\";import\"../use-escape-keydown-GftKCqL_.js\";import\"../dismissable-layer.libs-DrfpYCE2.js\";import\"../dismissable-layer-HqAWph8n.js\";import\"../branch-DJ2_KjzR.js\";import\"../dismissable-layer-D1FYSOrV.js\";import\"../use-state-machine-bFYmpuuC.js\";import\"../presence.libs-CY0WCRk9.js\";import\"../presence-Cky0bbMt.js\";import\"../presence-bdvK4NWt.js\";import\"../portal-BNuCvTAR.js\";import\"../portal-It4wL9NM.js\";import\"../arrow-BrV03AnI.js\";import\"../arrow-nGO6xQN1.js\";import\"../popper-DPbw2d-6.js\";import{t as e}from\"../anchor-D6VioBHE.js\";import\"../use-size-Bb6TshyC.js\";import\"../content-D-insCJ9.js\";import\"../arrow-CU5T6t_D.js\";import\"../popper-DLfEdcVv.js\";import\"../visibility-hidden-CAHx9RLp.js\";import\"../visibility-hidden-BVMjj0XZ.js\";import{l as t}from\"../tooltip.libs-D9TToaHI.js\";import\"../provider-CkEPRPMg.js\";import\"../tooltip-CgoajDQf.js\";import\"../portal-DxI_3INm.js\";import{useVisuallyHiddenContentContext as n}from\"./content.js\";import*as r from\"react\";import{jsx as i}from\"react/jsx-runtime\";const a=`TooltipArrow`,o=r.forwardRef((r,o)=>{let{__scopeTooltip:s,...c}=r,l=t(s);return n(a,s).isInside?null:i(e,{\"data-slot\":`tooltip-arrow`,...l,...c,ref:o})});o.displayName=a;export{o as TooltipArrow};","import{t as e}from\"../compose-event-handler-DeOCM8_f.js\";import{n as t}from\"../compose-ref-qJpEeJiW.js\";import\"../slot-B-X2-pKU.js\";import\"../slot-GxcGorn9.js\";import{t as n}from\"../primitive-elements-Ds9SbVBa.js\";import\"../primitive-elements-BEtvps3A.js\";import\"../direction-B-anGbxM.js\";import\"../direction-D-TYz9YR.js\";import\"../use-layout-effect-DL9uVXpf.js\";import\"../use-controllable-state-BZ2dV8Ma.js\";import\"../use-id-B-hswbEL.js\";import\"../create-context-DVtxYIR4.js\";import\"../use-callback-ref-C2qx_J59.js\";import\"../arrow-BrV03AnI.js\";import\"../arrow-nGO6xQN1.js\";import\"../popper-DPbw2d-6.js\";import{t as r}from\"../anchor-D6VioBHE.js\";import\"../use-size-Bb6TshyC.js\";import\"../content-D-insCJ9.js\";import\"../arrow-CU5T6t_D.js\";import\"../popper-DLfEdcVv.js\";import{l as i}from\"../tooltip.libs-D9TToaHI.js\";import{r as a}from\"../provider-CkEPRPMg.js\";import{r as o}from\"../tooltip-CgoajDQf.js\";import*as s from\"react\";import{jsx as c}from\"react/jsx-runtime\";const l=`TooltipTrigger`,u=s.forwardRef((u,d)=>{let{__scopeTooltip:f,...p}=u,m=o(l,f),h=a(l,f),g=i(f),_=t(d,s.useRef(null),m.onTriggerChange),v=s.useRef(!1),y=s.useRef(!1),b=s.useCallback(()=>v.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener(`pointerup`,b),[b]),c(r,{asChild:!0,...g,children:c(n.button,{\"data-slot\":`tooltip-trigger`,\"aria-describedby\":m.open?m.contentId:void 0,\"data-state\":m.stateAttribute,dir:m.dir,...p,ref:_,onPointerMove:e(u.onPointerMove,e=>{e.pointerType!==`touch`&&!y.current&&!h.isPointerInTransitRef.current&&(m.onTriggerEnter(),y.current=!0)}),onPointerLeave:e(u.onPointerLeave,()=>{m.onTriggerLeave(),y.current=!1}),onPointerDown:e(u.onPointerDown,()=>{m.open&&m.onClose(),v.current=!0,document.addEventListener(`pointerup`,b,{once:!0})}),onFocus:e(u.onFocus,()=>{v.current||m.onOpen()}),onBlur:e(u.onBlur,m.onClose),onClick:e(u.onClick,m.onClose)})})});u.displayName=l;export{u as TooltipTrigger};","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport * as TooltipPrimitive from '@gentleduck/primitives/tooltip'\nimport * as React from 'react'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ComponentRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 origin-(--gentleduck-tooltip-content-transform-origin) animate-in overflow-hidden rounded-md border bg-background px-3 py-1.5 text-base text-foreground data-[state=closed]:animate-out',\n 'transition-all transition-discrete duration-[200ms,150ms] ease-(--duck-motion-ease)',\n className,\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { type Direction, useDirection } from '@gentleduck/primitives/direction'\nimport { Minus, Plus, RotateCcw } from 'lucide-react'\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { Badge } from '../badge'\nimport { Button } from '../button'\nimport { ButtonGroup } from '../button-group'\nimport { Separator } from '../separator'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip'\nimport type { PreviewPanelProps } from './preview-panel.types'\n\nconst ZOOM_STEP_BUTTON = 0.25\nconst ZOOM_STEP_WHEEL = 0.1\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(max, value))\n}\n\nconst ZoomControls = memo(function ZoomControls({\n onZoomIn,\n onZoomOut,\n onReset,\n zoom,\n zoomInText = 'Zoom in',\n zoomOutText = 'Zoom out',\n resetText = 'Reset view',\n}: {\n onZoomIn: () => void\n onZoomOut: () => void\n onReset: () => void\n zoom: number\n zoomInText?: string\n zoomOutText?: string\n resetText?: string\n}) {\n return (\n <TooltipProvider>\n <ButtonGroup data-slot=\"preview-panel-controls\" className=\"rounded-md border bg-background/80 backdrop-blur-sm\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onZoomIn}\n icon={<Plus aria-hidden=\"true\" />}\n aria-label={zoomInText}\n />\n </TooltipTrigger>\n <TooltipContent>{zoomInText}</TooltipContent>\n </Tooltip>\n <Separator orientation=\"vertical\" />\n <Badge variant=\"secondary\" size=\"sm\" className=\"rounded-none tabular-nums\">\n {Math.round(zoom * 100)}%\n </Badge>\n <Separator orientation=\"vertical\" />\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onZoomOut}\n icon={<Minus aria-hidden=\"true\" />}\n aria-label={zoomOutText}\n />\n </TooltipTrigger>\n <TooltipContent>{zoomOutText}</TooltipContent>\n </Tooltip>\n <Separator orientation=\"vertical\" />\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onReset}\n icon={<RotateCcw aria-hidden=\"true\" />}\n aria-label={resetText}\n />\n </TooltipTrigger>\n <TooltipContent>{resetText}</TooltipContent>\n </Tooltip>\n </ButtonGroup>\n </TooltipProvider>\n )\n})\n\n// A generic pan-zoom container. Accepts children or an html string.\n// All transforms bypass React via direct DOM writes for zero re-renders\n// during continuous interactions (drag, wheel, pinch).\n\nfunction PreviewPanel({\n maxHeight,\n minZoom = 0.25,\n maxZoom = 4,\n initialZoom = 1,\n showControls = true,\n html,\n children,\n className,\n style,\n onStateChange,\n syncState,\n dir,\n ...rest\n}: PreviewPanelProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n\n // All mutable interaction state lives in a single ref object.\n // Nothing here triggers React re-renders.\n const s = useRef({\n zoom: initialZoom,\n x: 0,\n y: 0,\n dragging: false,\n dragStartX: 0,\n dragStartY: 0,\n posStartX: 0,\n posStartY: 0,\n rafId: 0,\n emitPending: false,\n pinchDist: 0,\n pinchZoom: initialZoom,\n willChangeTimer: 0,\n })\n\n // Only React state: the zoom label percentage\n const [displayZoom, setDisplayZoom] = useState(initialZoom)\n\n // Stable ref for the callback so effects never re-subscribe\n const onStateChangeRef = useRef(onStateChange)\n onStateChangeRef.current = onStateChange\n\n // Flush a pending state emission. Called from RAF or directly by button handlers.\n const flushEmit = useCallback(() => {\n if (!s.current.emitPending) return\n s.current.emitPending = false\n onStateChangeRef.current?.({\n zoom: s.current.zoom,\n x: s.current.x,\n y: s.current.y,\n })\n }, [])\n\n // Mark state as dirty so the next RAF tick emits it.\n // For continuous interactions (drag, wheel, pinch) this batches\n // multiple events into one React state update per frame.\n const markDirty = useCallback(() => {\n s.current.emitPending = true\n }, [])\n\n // Write transform directly to the DOM element.\n const applyTransform = useCallback((animate: boolean) => {\n const el = contentRef.current\n if (!el) return\n const { x, y, zoom } = s.current\n el.style.transform = `translate3d(${x}px,${y}px,0) scale(${zoom})`\n el.style.transition = animate ? 'transform 0.15s ease-out' : 'none'\n // GPU-composite during interaction, then clear so browser\n // re-rasterizes at the new zoom for crisp SVG text\n el.style.willChange = 'transform'\n clearTimeout(s.current.willChangeTimer)\n s.current.willChangeTimer = window.setTimeout(() => {\n if (contentRef.current && !s.current.dragging) {\n contentRef.current.style.willChange = 'auto'\n }\n }, 200)\n }, [])\n\n // Batch DOM writes behind a single requestAnimationFrame.\n // Also flushes any pending state emission in the same frame.\n const scheduleApply = useCallback(() => {\n if (s.current.rafId) return\n s.current.rafId = requestAnimationFrame(() => {\n s.current.rafId = 0\n applyTransform(false)\n flushEmit()\n })\n }, [applyTransform, flushEmit])\n\n const syncDisplay = useCallback(() => setDisplayZoom(s.current.zoom), [])\n\n // -- Sync from external state (receives changes from a paired panel) --\n\n useEffect(() => {\n if (!syncState) return\n const { zoom, x, y } = syncState\n // Epsilon check prevents applying our own emitted state back\n if (Math.abs(s.current.zoom - zoom) < 0.001 && Math.abs(s.current.x - x) < 0.5 && Math.abs(s.current.y - y) < 0.5)\n return\n s.current.zoom = zoom\n s.current.x = x\n s.current.y = y\n // Apply silently without emitting back to avoid ping-pong\n applyTransform(true)\n syncDisplay()\n }, [syncState, applyTransform, syncDisplay])\n\n // -- Button handlers (discrete, emit immediately) --\n\n const handleZoomIn = useCallback(() => {\n s.current.zoom = clamp(s.current.zoom + ZOOM_STEP_BUTTON, minZoom, maxZoom)\n applyTransform(true)\n syncDisplay()\n markDirty()\n flushEmit()\n }, [applyTransform, syncDisplay, markDirty, flushEmit, minZoom, maxZoom])\n\n const handleZoomOut = useCallback(() => {\n s.current.zoom = clamp(s.current.zoom - ZOOM_STEP_BUTTON, minZoom, maxZoom)\n applyTransform(true)\n syncDisplay()\n markDirty()\n flushEmit()\n }, [applyTransform, syncDisplay, markDirty, flushEmit, minZoom, maxZoom])\n\n const handleReset = useCallback(() => {\n s.current.zoom = initialZoom\n s.current.x = 0\n s.current.y = 0\n applyTransform(true)\n syncDisplay()\n markDirty()\n flushEmit()\n }, [applyTransform, syncDisplay, markDirty, flushEmit, initialZoom])\n\n // -- Pointer drag --\n\n useEffect(() => {\n const el = containerRef.current\n if (!el) return\n\n const onDown = (e: PointerEvent) => {\n if (e.button !== 0) return\n if ((e.target as HTMLElement).closest('[data-slot=\"preview-panel-controls\"]')) return\n e.preventDefault()\n el.setPointerCapture(e.pointerId)\n s.current.dragging = true\n s.current.dragStartX = e.clientX\n s.current.dragStartY = e.clientY\n s.current.posStartX = s.current.x\n s.current.posStartY = s.current.y\n el.style.cursor = 'grabbing'\n }\n\n const onMove = (e: PointerEvent) => {\n if (!s.current.dragging) return\n s.current.x = s.current.posStartX + (e.clientX - s.current.dragStartX)\n s.current.y = s.current.posStartY + (e.clientY - s.current.dragStartY)\n markDirty()\n scheduleApply()\n }\n\n const onUp = (e: PointerEvent) => {\n if (!s.current.dragging) return\n s.current.dragging = false\n el.releasePointerCapture(e.pointerId)\n el.style.cursor = 'grab'\n }\n\n const onLeave = () => {\n if (!s.current.dragging) return\n s.current.dragging = false\n el.style.cursor = 'grab'\n }\n\n el.addEventListener('pointerdown', onDown)\n el.addEventListener('pointermove', onMove)\n el.addEventListener('pointerup', onUp)\n el.addEventListener('pointerleave', onLeave)\n return () => {\n el.removeEventListener('pointerdown', onDown)\n el.removeEventListener('pointermove', onMove)\n el.removeEventListener('pointerup', onUp)\n el.removeEventListener('pointerleave', onLeave)\n }\n }, [markDirty, scheduleApply])\n\n // -- Wheel zoom (passive: false to preventDefault page scroll) --\n\n useEffect(() => {\n const el = containerRef.current\n if (!el) return\n\n const onWheel = (e: WheelEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const delta = e.deltaY > 0 ? -ZOOM_STEP_WHEEL : ZOOM_STEP_WHEEL\n s.current.zoom = clamp(s.current.zoom + delta, minZoom, maxZoom)\n markDirty()\n scheduleApply()\n syncDisplay()\n }\n\n el.addEventListener('wheel', onWheel, { passive: false })\n return () => el.removeEventListener('wheel', onWheel)\n }, [markDirty, scheduleApply, syncDisplay, minZoom, maxZoom])\n\n // -- Pinch to zoom (two-finger touch) --\n\n useEffect(() => {\n const el = containerRef.current\n if (!el) return\n\n const dist = (e: TouchEvent) => {\n const a = e.touches[0]!\n const b = e.touches[1]!\n return Math.hypot(a.clientX - b.clientX, a.clientY - b.clientY)\n }\n\n const onTouchStart = (e: TouchEvent) => {\n if (e.touches.length === 2) {\n e.preventDefault()\n s.current.pinchDist = dist(e)\n s.current.pinchZoom = s.current.zoom\n }\n }\n\n const onTouchMove = (e: TouchEvent) => {\n if (e.touches.length === 2) {\n e.preventDefault()\n const scale = dist(e) / s.current.pinchDist\n s.current.zoom = clamp(s.current.pinchZoom * scale, minZoom, maxZoom)\n markDirty()\n scheduleApply()\n syncDisplay()\n }\n }\n\n el.addEventListener('touchstart', onTouchStart, { passive: false })\n el.addEventListener('touchmove', onTouchMove, { passive: false })\n return () => {\n el.removeEventListener('touchstart', onTouchStart)\n el.removeEventListener('touchmove', onTouchMove)\n }\n }, [markDirty, scheduleApply, syncDisplay, minZoom, maxZoom])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (s.current.rafId) cancelAnimationFrame(s.current.rafId)\n clearTimeout(s.current.willChangeTimer)\n }\n }, [])\n\n // Stable content props - only changes when html/children identity changes\n const contentProps = useMemo(\n () => (html ? { dangerouslySetInnerHTML: { __html: html } } : { children }),\n [html, children],\n )\n\n // Stable inline style for the container\n const containerStyle = useMemo(\n () => ({ maxHeight, cursor: 'grab' as const, touchAction: 'none' as const }),\n [maxHeight],\n )\n const direction = useDirection(dir as Direction)\n\n return (\n <div\n data-slot=\"preview-panel\"\n className={cn('relative flex flex-col', className)}\n dir={direction}\n style={style}\n {...rest}>\n {showControls && (\n <div className=\"absolute end-3 top-3 z-10\">\n <ZoomControls onZoomIn={handleZoomIn} onZoomOut={handleZoomOut} onReset={handleReset} zoom={displayZoom} />\n </div>\n )}\n <div\n ref={containerRef}\n className=\"flex flex-1 items-center justify-center overflow-hidden\"\n style={containerStyle}>\n <div\n ref={contentRef}\n className=\"flex w-full items-center justify-center p-6\"\n style={CONTENT_STYLE}\n {...contentProps}\n />\n </div>\n </div>\n )\n}\n\nconst CONTENT_STYLE = { transformOrigin: 'center center' } as const\n\nexport { PreviewPanel, ZoomControls }\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { Maximize2 } from 'lucide-react'\nimport { useCallback, useMemo, useRef, useState } from 'react'\nimport { Button } from '../button'\nimport { Dialog, DialogContent, DialogTrigger } from '../dialog'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip'\nimport { PreviewPanel } from './preview-panel'\nimport type { PreviewPanelDialogProps, PreviewPanelState } from './preview-panel.types'\n\nfunction PreviewPanelDialog({\n children,\n html,\n className,\n panelClassName,\n maxHeight,\n minZoom = 0.25,\n maxZoom = 4,\n initialZoom = 1,\n showControls = true,\n syncPanels = true,\n fullscreenText = 'Open fullscreen',\n}: PreviewPanelDialogProps & { fullscreenText?: string }) {\n const [sharedState, setSharedState] = useState<PreviewPanelState | undefined>(undefined)\n\n // Ref tracks whether a state update is already scheduled this frame.\n // Prevents multiple setState calls per animation frame when both\n // panels emit state changes simultaneously.\n const pendingRef = useRef(false)\n\n const handleStateChange = useCallback(\n (state: PreviewPanelState) => {\n if (!syncPanels) return\n if (pendingRef.current) return\n pendingRef.current = true\n requestAnimationFrame(() => {\n pendingRef.current = false\n setSharedState(state)\n })\n },\n [syncPanels],\n )\n\n const contentProps = useMemo(() => (html ? { html } : { children }), [html, children])\n\n const dialogPanelClassName = useMemo(() => cn('min-h-[70vh]', panelClassName), [panelClassName])\n\n return (\n <div className={cn('group relative', className)}>\n <div className=\"relative overflow-hidden rounded-lg border bg-card\">\n <PreviewPanel\n {...contentProps}\n maxHeight={maxHeight}\n minZoom={minZoom}\n maxZoom={maxZoom}\n initialZoom={initialZoom}\n showControls={showControls}\n className={panelClassName}\n onStateChange={handleStateChange}\n syncState={syncPanels ? sharedState : undefined}\n />\n\n <TooltipProvider>\n <Dialog>\n <Tooltip>\n <TooltipTrigger asChild>\n <DialogTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n icon={<Maximize2 aria-hidden=\"true\" />}\n aria-label={fullscreenText}\n className=\"absolute end-3 bottom-3 z-10 border bg-background/80 backdrop-blur-sm\"\n />\n </DialogTrigger>\n </TooltipTrigger>\n <TooltipContent>{fullscreenText}</TooltipContent>\n </Tooltip>\n <DialogContent className=\"max-h-[85vh] max-w-[90vw] overflow-auto p-0\">\n <PreviewPanel\n {...contentProps}\n minZoom={minZoom}\n maxZoom={maxZoom}\n initialZoom={initialZoom}\n showControls={showControls}\n className={dialogPanelClassName}\n onStateChange={handleStateChange}\n syncState={syncPanels ? sharedState : undefined}\n />\n </DialogContent>\n </Dialog>\n </TooltipProvider>\n </div>\n </div>\n )\n}\n\nexport { PreviewPanelDialog }\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { PreviewPanelDialog } from '@gentleduck/registry-ui/preview-panel'\nimport { Loader } from 'lucide-react'\nimport { useTheme } from 'next-themes'\nimport { useEffect, useState } from 'react'\n\nexport interface MermaidBlockProps {\n chart?: string\n lightSvg?: string\n darkSvg?: string\n className?: string\n __mermaidLightSvg__?: string\n __mermaidDarkSvg__?: string\n __rawString__?: string\n [key: string]: unknown\n}\n\nexport function MermaidBlock(props: MermaidBlockProps) {\n const chart = props.chart || props.__rawString__ || ''\n const preLight = props.lightSvg || props.__mermaidLightSvg__ || ''\n const preDark = props.darkSvg || props.__mermaidDarkSvg__ || ''\n\n const { resolvedTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const currentSvg = resolvedTheme === 'dark' ? preDark || preLight : preLight || preDark\n\n if (!mounted) {\n return (\n <div\n className={cn('my-6 flex h-[300px] items-center justify-center rounded-lg border bg-card', props.className)}\n role=\"status\">\n <div className=\"flex flex-col items-center gap-3\">\n <Loader aria-hidden=\"true\" className=\"size-4 animate-spin opacity-50\" />\n <p className=\"text-muted-foreground text-sm\">Loading diagram...</p>\n </div>\n </div>\n )\n }\n\n if (!currentSvg) {\n return (\n <pre className=\"my-6 overflow-auto rounded-lg border bg-muted p-4 text-muted-foreground text-sm\">\n {chart || 'Mermaid diagram'}\n </pre>\n )\n }\n\n return (\n <PreviewPanelDialog\n html={currentSvg}\n maxHeight=\"500px\"\n className={cn('my-6', props.className)}\n panelClassName=\"[&_svg]:block [&_svg]:h-auto [&_svg]:max-h-full [&_svg]:w-full [&_svg]:max-w-full\"\n syncPanels\n />\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mermaid-block-DKhLlt0H.js","names":["cva","React","useDirection","Slot","r","i","e","t","a","o","s","n","c","l","u","d","a","e","o","r","s","c","l","t","u","d","n","u","o","f","p","y","b","s","x","i","S","e","C","w","c","T","n","E","t","a","l","r","a","o","n","s","c","l","u","d","r","i","e","t","f","_","n","g","e","i","a","o","s","h","v","r","m","l","u","y","x","S","C","w","p","c","t","d","r","s","c","l","t","n","i","e","o","s","f","p","u","o","a","i","t","d","y","b","c","r","n","TooltipPrimitive.Provider","TooltipPrimitive.Root","TooltipPrimitive.Trigger","React","TooltipPrimitive.Portal","TooltipPrimitive.Content","ZoomControls","s","x","y","e","a","b","useDirection"],"sources":["../../registry-ui/src/button-group/button-group.constants.ts","../../registry-ui/src/button-group/button-group.tsx","../../duck-primitives/dist/tooltip.libs-rROmFyKY.js","../../duck-primitives/dist/provider-pt0243pR.js","../../duck-primitives/dist/tooltip-B5nzNzcb.js","../../duck-primitives/dist/portal-CBeUnZtq.js","../../duck-primitives/dist/tooltip/content.js","../../duck-primitives/dist/tooltip/arrow.js","../../duck-primitives/dist/tooltip/trigger.js","../../registry-ui/src/tooltip/tooltip.tsx","../../registry-ui/src/preview-panel/preview-panel.tsx","../../registry-ui/src/preview-panel/preview-panel-dialog.tsx","../src/components/mdx/mdx-components/code/mermaid-block.tsx"],"sourcesContent":["import { cva } from '@gentleduck/variants'\n\nexport const buttonGroupVariants = cva(\n \"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:relative [&>*]:hover:z-[1] [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n defaultVariants: {\n orientation: 'horizontal',\n },\n variants: {\n orientation: {\n horizontal: `\n[&>*:not(:first-child)]:rounded-s-none\n[&>*:not(:last-child)]:rounded-e-none\n[&>*:nth-last-child(2):has(+span[aria-hidden])]:!rounded-e-md\n[&>*:not(:first-child)]:-ms-px\n`,\n vertical: `\nflex-col\n[&>*:not(:first-child)]:rounded-t-none\n[&>*:not(:last-child)]:rounded-b-none\n[&>*:not(:first-child)]:-mt-px\n`,\n },\n },\n },\n)\n","import { cn } from '@gentleduck/libs/cn'\nimport { type Direction, useDirection } from '@gentleduck/primitives/direction'\nimport { Slot } from '@gentleduck/primitives/slot'\nimport type { VariantProps } from '@gentleduck/variants'\nimport * as React from 'react'\nimport { Separator } from '../separator'\nimport { buttonGroupVariants } from './button-group.constants'\n\nconst ButtonGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'> & VariantProps<typeof buttonGroupVariants>\n>(({ className, orientation = 'horizontal', dir, ...props }, ref) => {\n const direction = useDirection(dir as Direction)\n return (\n <div\n className={cn(buttonGroupVariants({ orientation }), className)}\n data-orientation={orientation}\n data-slot=\"button-group\"\n dir={direction}\n ref={ref}\n role=\"group\"\n {...props}\n />\n )\n})\nButtonGroup.displayName = 'ButtonGroup'\n\nconst ButtonGroupText = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<'div'> & {\n asChild?: boolean\n }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-md border bg-muted px-4 font-medium text-sm shadow-xs [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n ref={ref}\n {...props}\n />\n )\n})\nButtonGroupText.displayName = 'ButtonGroupText'\n\nconst ButtonGroupSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n React.ComponentPropsWithoutRef<typeof Separator>\n>(({ className, orientation = 'vertical', ...props }, ref) => {\n return (\n <Separator\n className={cn('!m-0 relative self-stretch bg-input data-[orientation=vertical]:h-auto', className)}\n data-slot=\"button-group-separator\"\n orientation={orientation}\n ref={ref}\n {...props}\n />\n )\n})\nButtonGroupSeparator.displayName = 'ButtonGroupSeparator'\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText }\n","import{n as e}from\"./create-context-DVtxYIR4.js\";import{o as t}from\"./popper-afdoPAFC.js\";const n=`Tooltip`,[r,i]=e(n,[t]),a=t(),o=`tooltip.open`;function s(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function c(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function l(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function u(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),d(t)}function d(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}export{s as a,l as c,i,a as l,o as n,u as o,r,c as s,n as t};","import{r as e}from\"./tooltip.libs-rROmFyKY.js\";import*as t from\"react\";import{jsx as n}from\"react/jsx-runtime\";const r=`TooltipProvider`,[i,a]=e(r),o=e=>{let{__scopeTooltip:r,delayDuration:a=700,skipDelayDuration:o=300,disableHoverableContent:s=!1,children:c}=e,l=t.useRef(!0),u=t.useRef(!1),d=t.useRef(0);return t.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),n(i,{scope:r,isOpenDelayedRef:l,delayDuration:a,onOpen:t.useCallback(()=>{window.clearTimeout(d.current),l.current=!1},[]),onClose:t.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,o)},[o]),isPointerInTransitRef:u,onPointerInTransitChange:t.useCallback(e=>{u.current=e},[]),disableHoverableContent:s,children:c})};o.displayName=r;export{i as n,a as r,o as t};","import{a as e}from\"./direction-B-anGbxM.js\";import{t}from\"./use-controllable-state-BZ2dV8Ma.js\";import{t as n}from\"./use-id-B-hswbEL.js\";import{n as r}from\"./popper-afdoPAFC.js\";import{l as i,n as a,r as o}from\"./tooltip.libs-rROmFyKY.js\";import{r as s}from\"./provider-pt0243pR.js\";import*as c from\"react\";import{jsx as l}from\"react/jsx-runtime\";const u=`Tooltip`,[d,f]=o(u),p=o=>{let{__scopeTooltip:f,children:p,open:m,defaultOpen:h,onOpenChange:g,disableHoverableContent:_,delayDuration:v,dir:y}=o,b=s(u,o.__scopeTooltip),x=i(f),S=e(y),[C,w]=c.useState(null),T=n(),E=c.useRef(0),D=_??b.disableHoverableContent,O=v??b.delayDuration,k=c.useRef(!1),[A,j]=t({prop:m,defaultProp:h??!1,onChange:e=>{e?(b.onOpen(),document.dispatchEvent(new CustomEvent(a))):b.onClose(),g?.(e)},caller:u}),M=c.useMemo(()=>A?k.current?`delayed-open`:`instant-open`:`closed`,[A]),N=c.useCallback(()=>{window.clearTimeout(E.current),E.current=0,k.current=!1,j(!0)},[j]),P=c.useCallback(()=>{window.clearTimeout(E.current),E.current=0,j(!1)},[j]),F=c.useCallback(()=>{window.clearTimeout(E.current),E.current=window.setTimeout(()=>{k.current=!0,j(!0),E.current=0},O)},[O,j]);return c.useEffect(()=>()=>{E.current&&=(window.clearTimeout(E.current),0)},[]),l(r,{...x,children:l(d,{scope:f,contentId:T,open:A,stateAttribute:M,trigger:C,onTriggerChange:w,onTriggerEnter:c.useCallback(()=>{b.isOpenDelayedRef.current?F():N()},[b.isOpenDelayedRef,F,N]),onTriggerLeave:c.useCallback(()=>{D?P():(window.clearTimeout(E.current),E.current=0)},[P,D]),onOpen:N,onClose:P,disableHoverableContent:D,dir:S,children:p})})};p.displayName=u;export{d as n,f as r,p as t};","import{t as e}from\"./presence-Cky0bbMt.js\";import{t}from\"./portal-BNuCvTAR.js\";import{r as n}from\"./tooltip.libs-rROmFyKY.js\";import{r}from\"./tooltip-B5nzNzcb.js\";import{jsx as i}from\"react/jsx-runtime\";const a=`TooltipPortal`,[o,s]=n(a,{forceMount:void 0}),c=n=>{let{__scopeTooltip:s,forceMount:c,children:l,container:u}=n,d=r(a,s);return i(o,{scope:s,forceMount:c,children:i(e,{present:c||d.open,children:i(t,{asChild:!0,container:u,children:l})})})};c.displayName=a;export{c as n,s as r,o as t};","import{n as e}from\"../compose-ref-qJpEeJiW.js\";import{i as t}from\"../slot-B-X2-pKU.js\";import\"../slot-GxcGorn9.js\";import\"../primitive-elements-Ds9SbVBa.js\";import\"../primitive-elements-BEtvps3A.js\";import\"../direction-B-anGbxM.js\";import\"../direction-D-TYz9YR.js\";import\"../use-layout-effect-DL9uVXpf.js\";import\"../use-controllable-state-BZ2dV8Ma.js\";import\"../use-id-B-hswbEL.js\";import\"../create-context-DVtxYIR4.js\";import\"../use-callback-ref-C2qx_J59.js\";import\"../use-escape-keydown-GftKCqL_.js\";import\"../dismissable-layer.libs-DrfpYCE2.js\";import{t as n}from\"../dismissable-layer-HqAWph8n.js\";import\"../branch-DJ2_KjzR.js\";import\"../dismissable-layer-D1FYSOrV.js\";import\"../use-state-machine-bFYmpuuC.js\";import\"../presence.libs-CY0WCRk9.js\";import{t as r}from\"../presence-Cky0bbMt.js\";import\"../presence-bdvK4NWt.js\";import\"../portal-BNuCvTAR.js\";import\"../portal-It4wL9NM.js\";import\"../arrow-BrV03AnI.js\";import\"../arrow-nGO6xQN1.js\";import\"../popper-afdoPAFC.js\";import\"../anchor-DEFYqaRE.js\";import\"../use-size-_R4W0rMh.js\";import{t as i}from\"../content-Cll77IrS.js\";import\"../arrow--d9nzYrD.js\";import\"../popper-Crp7A7Et.js\";import{n as a}from\"../shared-utils-DqLwMUcj.js\";import{t as o}from\"../visibility-hidden-CAHx9RLp.js\";import\"../visibility-hidden-BVMjj0XZ.js\";import{a as s,c,l,n as u,o as d,r as f,s as p}from\"../tooltip.libs-rROmFyKY.js\";import{r as m}from\"../provider-pt0243pR.js\";import{r as h}from\"../tooltip-B5nzNzcb.js\";import{r as g}from\"../portal-CBeUnZtq.js\";import*as _ from\"react\";import{jsx as v,jsxs as y}from\"react/jsx-runtime\";const b=`TooltipContent`,[x,S]=f(`Tooltip`,{isInside:!1}),C=_.forwardRef((e,t)=>{let n=g(b,e.__scopeTooltip),{forceMount:i=n.forceMount,side:a=`top`,...o}=e,s=h(b,e.__scopeTooltip);return v(r,{present:i||s.open,children:s.disableHoverableContent?v(E,{side:a,...o,ref:t}):v(w,{side:a,...o,ref:t})})});C.displayName=b;const w=_.forwardRef((t,n)=>{let r=h(b,t.__scopeTooltip),i=m(b,t.__scopeTooltip),o=_.useRef(null),l=e(n,o),[u,f]=_.useState(null),{trigger:g,onClose:y}=r,x=o.current,{onPointerInTransitChange:S}=i,C=_.useCallback(()=>{f(null),S(!1)},[S]),w=_.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=p(r,s(r,n.getBoundingClientRect())),a=c(t.getBoundingClientRect());f(d([...i,...a])),S(!0)},[S]);return _.useEffect(()=>()=>C(),[C]),_.useEffect(()=>{if(g&&x){let e=e=>w(e,x),t=e=>w(e,g);return g.addEventListener(`pointerleave`,e),x.addEventListener(`pointerleave`,t),()=>{g.removeEventListener(`pointerleave`,e),x.removeEventListener(`pointerleave`,t)}}},[g,x,w,C]),_.useEffect(()=>{if(u){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=g?.contains(t)||x?.contains(t),i=!a(n,u);r?C():i&&(C(),y())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[g,x,u,y,C]),v(E,{...t,ref:l})});w.displayName=`${b}Hoverable`;const T=t(`TooltipContent`),E=_.forwardRef((e,t)=>{let{__scopeTooltip:r,children:a,\"aria-label\":s,onEscapeKeyDown:c,onPointerDownOutside:d,...f}=e,p=h(b,r),m=l(r),{onClose:g}=p;return _.useEffect(()=>(document.addEventListener(u,g),()=>document.removeEventListener(u,g)),[g]),_.useEffect(()=>{if(p.trigger){let e=e=>{e.target?.contains(p.trigger)&&g()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[p.trigger,g]),v(n,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:g,children:y(i,{\"data-slot\":`tooltip-content`,\"data-state\":p.stateAttribute,dir:p.dir,...m,...f,ref:t,style:{...f.style,\"--gentleduck-tooltip-content-transform-origin\":`var(--gentleduck-popper-transform-origin)`,\"--gentleduck-tooltip-content-available-width\":`var(--gentleduck-popper-available-width)`,\"--gentleduck-tooltip-content-available-height\":`var(--gentleduck-popper-available-height)`,\"--gentleduck-tooltip-trigger-width\":`var(--gentleduck-popper-anchor-width)`,\"--gentleduck-tooltip-trigger-height\":`var(--gentleduck-popper-anchor-height)`},children:[v(T,{children:a}),v(x,{scope:r,isInside:!0,children:v(o,{id:p.contentId,role:`tooltip`,children:s||a})})]})})});E.displayName=`${b}Impl`;export{C as TooltipContent,x as VisuallyHiddenContentContextProvider,S as useVisuallyHiddenContentContext};","import\"../compose-ref-qJpEeJiW.js\";import\"../slot-B-X2-pKU.js\";import\"../slot-GxcGorn9.js\";import\"../primitive-elements-Ds9SbVBa.js\";import\"../primitive-elements-BEtvps3A.js\";import\"../direction-B-anGbxM.js\";import\"../direction-D-TYz9YR.js\";import\"../use-layout-effect-DL9uVXpf.js\";import\"../use-controllable-state-BZ2dV8Ma.js\";import\"../use-id-B-hswbEL.js\";import\"../create-context-DVtxYIR4.js\";import\"../use-callback-ref-C2qx_J59.js\";import\"../use-escape-keydown-GftKCqL_.js\";import\"../dismissable-layer.libs-DrfpYCE2.js\";import\"../dismissable-layer-HqAWph8n.js\";import\"../branch-DJ2_KjzR.js\";import\"../dismissable-layer-D1FYSOrV.js\";import\"../use-state-machine-bFYmpuuC.js\";import\"../presence.libs-CY0WCRk9.js\";import\"../presence-Cky0bbMt.js\";import\"../presence-bdvK4NWt.js\";import\"../portal-BNuCvTAR.js\";import\"../portal-It4wL9NM.js\";import\"../arrow-BrV03AnI.js\";import\"../arrow-nGO6xQN1.js\";import\"../popper-afdoPAFC.js\";import{t as e}from\"../anchor-DEFYqaRE.js\";import\"../use-size-_R4W0rMh.js\";import\"../content-Cll77IrS.js\";import\"../arrow--d9nzYrD.js\";import\"../popper-Crp7A7Et.js\";import\"../visibility-hidden-CAHx9RLp.js\";import\"../visibility-hidden-BVMjj0XZ.js\";import{l as t}from\"../tooltip.libs-rROmFyKY.js\";import\"../provider-pt0243pR.js\";import\"../tooltip-B5nzNzcb.js\";import\"../portal-CBeUnZtq.js\";import{useVisuallyHiddenContentContext as n}from\"./content.js\";import*as r from\"react\";import{jsx as i}from\"react/jsx-runtime\";const a=`TooltipArrow`,o=r.forwardRef((r,o)=>{let{__scopeTooltip:s,...c}=r,l=t(s);return n(a,s).isInside?null:i(e,{\"data-slot\":`tooltip-arrow`,...l,...c,ref:o})});o.displayName=a;export{o as TooltipArrow};","import{t as e}from\"../compose-event-handler-DeOCM8_f.js\";import{n as t}from\"../compose-ref-qJpEeJiW.js\";import\"../slot-B-X2-pKU.js\";import\"../slot-GxcGorn9.js\";import{t as n}from\"../primitive-elements-Ds9SbVBa.js\";import\"../primitive-elements-BEtvps3A.js\";import\"../direction-B-anGbxM.js\";import\"../direction-D-TYz9YR.js\";import\"../use-layout-effect-DL9uVXpf.js\";import\"../use-controllable-state-BZ2dV8Ma.js\";import\"../use-id-B-hswbEL.js\";import\"../create-context-DVtxYIR4.js\";import\"../use-callback-ref-C2qx_J59.js\";import\"../arrow-BrV03AnI.js\";import\"../arrow-nGO6xQN1.js\";import\"../popper-afdoPAFC.js\";import{t as r}from\"../anchor-DEFYqaRE.js\";import\"../use-size-_R4W0rMh.js\";import\"../content-Cll77IrS.js\";import\"../arrow--d9nzYrD.js\";import\"../popper-Crp7A7Et.js\";import{l as i}from\"../tooltip.libs-rROmFyKY.js\";import{r as a}from\"../provider-pt0243pR.js\";import{r as o}from\"../tooltip-B5nzNzcb.js\";import*as s from\"react\";import{jsx as c}from\"react/jsx-runtime\";const l=`TooltipTrigger`,u=s.forwardRef((u,d)=>{let{__scopeTooltip:f,...p}=u,m=o(l,f),h=a(l,f),g=i(f),_=t(d,s.useRef(null),m.onTriggerChange),v=s.useRef(!1),y=s.useRef(!1),b=s.useCallback(()=>v.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener(`pointerup`,b),[b]),c(r,{asChild:!0,...g,children:c(n.button,{\"data-slot\":`tooltip-trigger`,\"aria-describedby\":m.open?m.contentId:void 0,\"data-state\":m.stateAttribute,dir:m.dir,...p,ref:_,onPointerMove:e(u.onPointerMove,e=>{e.pointerType!==`touch`&&!y.current&&!h.isPointerInTransitRef.current&&(m.onTriggerEnter(),y.current=!0)}),onPointerLeave:e(u.onPointerLeave,()=>{m.onTriggerLeave(),y.current=!1}),onPointerDown:e(u.onPointerDown,()=>{m.open&&m.onClose(),v.current=!0,document.addEventListener(`pointerup`,b,{once:!0})}),onFocus:e(u.onFocus,()=>{v.current||m.onOpen()}),onBlur:e(u.onBlur,m.onClose),onClick:e(u.onClick,m.onClose)})})});u.displayName=l;export{u as TooltipTrigger};","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport * as TooltipPrimitive from '@gentleduck/primitives/tooltip'\nimport * as React from 'react'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ComponentRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 origin-(--gentleduck-tooltip-content-transform-origin) animate-in overflow-hidden rounded-md border bg-background px-3 py-1.5 text-base text-foreground data-[state=closed]:animate-out',\n 'transition-all transition-discrete duration-[200ms,150ms] ease-(--duck-motion-ease)',\n className,\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { type Direction, useDirection } from '@gentleduck/primitives/direction'\nimport { Minus, Plus, RotateCcw } from 'lucide-react'\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { Badge } from '../badge'\nimport { Button } from '../button'\nimport { ButtonGroup } from '../button-group'\nimport { Separator } from '../separator'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip'\nimport type { PreviewPanelProps } from './preview-panel.types'\n\nconst ZOOM_STEP_BUTTON = 0.25\nconst ZOOM_STEP_WHEEL = 0.1\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.max(min, Math.min(max, value))\n}\n\nconst ZoomControls = memo(function ZoomControls({\n onZoomIn,\n onZoomOut,\n onReset,\n zoom,\n zoomInText = 'Zoom in',\n zoomOutText = 'Zoom out',\n resetText = 'Reset view',\n}: {\n onZoomIn: () => void\n onZoomOut: () => void\n onReset: () => void\n zoom: number\n zoomInText?: string\n zoomOutText?: string\n resetText?: string\n}) {\n return (\n <TooltipProvider>\n <ButtonGroup data-slot=\"preview-panel-controls\" className=\"rounded-md border bg-background/80 backdrop-blur-sm\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onZoomIn}\n icon={<Plus aria-hidden=\"true\" />}\n aria-label={zoomInText}\n />\n </TooltipTrigger>\n <TooltipContent>{zoomInText}</TooltipContent>\n </Tooltip>\n <Separator orientation=\"vertical\" />\n <Badge variant=\"secondary\" size=\"sm\" className=\"rounded-none tabular-nums\">\n {Math.round(zoom * 100)}%\n </Badge>\n <Separator orientation=\"vertical\" />\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onZoomOut}\n icon={<Minus aria-hidden=\"true\" />}\n aria-label={zoomOutText}\n />\n </TooltipTrigger>\n <TooltipContent>{zoomOutText}</TooltipContent>\n </Tooltip>\n <Separator orientation=\"vertical\" />\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n onClick={onReset}\n icon={<RotateCcw aria-hidden=\"true\" />}\n aria-label={resetText}\n />\n </TooltipTrigger>\n <TooltipContent>{resetText}</TooltipContent>\n </Tooltip>\n </ButtonGroup>\n </TooltipProvider>\n )\n})\n\n// A generic pan-zoom container. Accepts children or an html string.\n// All transforms bypass React via direct DOM writes for zero re-renders\n// during continuous interactions (drag, wheel, pinch).\n\nfunction PreviewPanel({\n maxHeight,\n minZoom = 0.25,\n maxZoom = 4,\n initialZoom = 1,\n showControls = true,\n html,\n children,\n className,\n style,\n onStateChange,\n syncState,\n dir,\n ...rest\n}: PreviewPanelProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n\n // All mutable interaction state lives in a single ref object.\n // Nothing here triggers React re-renders.\n const s = useRef({\n zoom: initialZoom,\n x: 0,\n y: 0,\n dragging: false,\n dragStartX: 0,\n dragStartY: 0,\n posStartX: 0,\n posStartY: 0,\n rafId: 0,\n emitPending: false,\n pinchDist: 0,\n pinchZoom: initialZoom,\n willChangeTimer: 0,\n })\n\n // Only React state: the zoom label percentage\n const [displayZoom, setDisplayZoom] = useState(initialZoom)\n\n // Stable ref for the callback so effects never re-subscribe\n const onStateChangeRef = useRef(onStateChange)\n onStateChangeRef.current = onStateChange\n\n // Flush a pending state emission. Called from RAF or directly by button handlers.\n const flushEmit = useCallback(() => {\n if (!s.current.emitPending) return\n s.current.emitPending = false\n onStateChangeRef.current?.({\n zoom: s.current.zoom,\n x: s.current.x,\n y: s.current.y,\n })\n }, [])\n\n // Mark state as dirty so the next RAF tick emits it.\n // For continuous interactions (drag, wheel, pinch) this batches\n // multiple events into one React state update per frame.\n const markDirty = useCallback(() => {\n s.current.emitPending = true\n }, [])\n\n // Write transform directly to the DOM element.\n const applyTransform = useCallback((animate: boolean) => {\n const el = contentRef.current\n if (!el) return\n const { x, y, zoom } = s.current\n el.style.transform = `translate3d(${x}px,${y}px,0) scale(${zoom})`\n el.style.transition = animate ? 'transform 0.15s ease-out' : 'none'\n // GPU-composite during interaction, then clear so browser\n // re-rasterizes at the new zoom for crisp SVG text\n el.style.willChange = 'transform'\n clearTimeout(s.current.willChangeTimer)\n s.current.willChangeTimer = window.setTimeout(() => {\n if (contentRef.current && !s.current.dragging) {\n contentRef.current.style.willChange = 'auto'\n }\n }, 200)\n }, [])\n\n // Batch DOM writes behind a single requestAnimationFrame.\n // Also flushes any pending state emission in the same frame.\n const scheduleApply = useCallback(() => {\n if (s.current.rafId) return\n s.current.rafId = requestAnimationFrame(() => {\n s.current.rafId = 0\n applyTransform(false)\n flushEmit()\n })\n }, [applyTransform, flushEmit])\n\n const syncDisplay = useCallback(() => setDisplayZoom(s.current.zoom), [])\n\n // -- Sync from external state (receives changes from a paired panel) --\n\n useEffect(() => {\n if (!syncState) return\n const { zoom, x, y } = syncState\n // Epsilon check prevents applying our own emitted state back\n if (Math.abs(s.current.zoom - zoom) < 0.001 && Math.abs(s.current.x - x) < 0.5 && Math.abs(s.current.y - y) < 0.5)\n return\n s.current.zoom = zoom\n s.current.x = x\n s.current.y = y\n // Apply silently without emitting back to avoid ping-pong\n applyTransform(true)\n syncDisplay()\n }, [syncState, applyTransform, syncDisplay])\n\n // -- Button handlers (discrete, emit immediately) --\n\n const handleZoomIn = useCallback(() => {\n s.current.zoom = clamp(s.current.zoom + ZOOM_STEP_BUTTON, minZoom, maxZoom)\n applyTransform(true)\n syncDisplay()\n markDirty()\n flushEmit()\n }, [applyTransform, syncDisplay, markDirty, flushEmit, minZoom, maxZoom])\n\n const handleZoomOut = useCallback(() => {\n s.current.zoom = clamp(s.current.zoom - ZOOM_STEP_BUTTON, minZoom, maxZoom)\n applyTransform(true)\n syncDisplay()\n markDirty()\n flushEmit()\n }, [applyTransform, syncDisplay, markDirty, flushEmit, minZoom, maxZoom])\n\n const handleReset = useCallback(() => {\n s.current.zoom = initialZoom\n s.current.x = 0\n s.current.y = 0\n applyTransform(true)\n syncDisplay()\n markDirty()\n flushEmit()\n }, [applyTransform, syncDisplay, markDirty, flushEmit, initialZoom])\n\n // -- Pointer drag --\n\n useEffect(() => {\n const el = containerRef.current\n if (!el) return\n\n const onDown = (e: PointerEvent) => {\n if (e.button !== 0) return\n if ((e.target as HTMLElement).closest('[data-slot=\"preview-panel-controls\"]')) return\n e.preventDefault()\n el.setPointerCapture(e.pointerId)\n s.current.dragging = true\n s.current.dragStartX = e.clientX\n s.current.dragStartY = e.clientY\n s.current.posStartX = s.current.x\n s.current.posStartY = s.current.y\n el.style.cursor = 'grabbing'\n }\n\n const onMove = (e: PointerEvent) => {\n if (!s.current.dragging) return\n s.current.x = s.current.posStartX + (e.clientX - s.current.dragStartX)\n s.current.y = s.current.posStartY + (e.clientY - s.current.dragStartY)\n markDirty()\n scheduleApply()\n }\n\n const onUp = (e: PointerEvent) => {\n if (!s.current.dragging) return\n s.current.dragging = false\n el.releasePointerCapture(e.pointerId)\n el.style.cursor = 'grab'\n }\n\n const onLeave = () => {\n if (!s.current.dragging) return\n s.current.dragging = false\n el.style.cursor = 'grab'\n }\n\n el.addEventListener('pointerdown', onDown)\n el.addEventListener('pointermove', onMove)\n el.addEventListener('pointerup', onUp)\n el.addEventListener('pointerleave', onLeave)\n return () => {\n el.removeEventListener('pointerdown', onDown)\n el.removeEventListener('pointermove', onMove)\n el.removeEventListener('pointerup', onUp)\n el.removeEventListener('pointerleave', onLeave)\n }\n }, [markDirty, scheduleApply])\n\n // -- Wheel zoom (passive: false to preventDefault page scroll) --\n\n useEffect(() => {\n const el = containerRef.current\n if (!el) return\n\n const onWheel = (e: WheelEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const delta = e.deltaY > 0 ? -ZOOM_STEP_WHEEL : ZOOM_STEP_WHEEL\n s.current.zoom = clamp(s.current.zoom + delta, minZoom, maxZoom)\n markDirty()\n scheduleApply()\n syncDisplay()\n }\n\n el.addEventListener('wheel', onWheel, { passive: false })\n return () => el.removeEventListener('wheel', onWheel)\n }, [markDirty, scheduleApply, syncDisplay, minZoom, maxZoom])\n\n // -- Pinch to zoom (two-finger touch) --\n\n useEffect(() => {\n const el = containerRef.current\n if (!el) return\n\n const dist = (e: TouchEvent) => {\n const a = e.touches[0]!\n const b = e.touches[1]!\n return Math.hypot(a.clientX - b.clientX, a.clientY - b.clientY)\n }\n\n const onTouchStart = (e: TouchEvent) => {\n if (e.touches.length === 2) {\n e.preventDefault()\n s.current.pinchDist = dist(e)\n s.current.pinchZoom = s.current.zoom\n }\n }\n\n const onTouchMove = (e: TouchEvent) => {\n if (e.touches.length === 2) {\n e.preventDefault()\n const scale = dist(e) / s.current.pinchDist\n s.current.zoom = clamp(s.current.pinchZoom * scale, minZoom, maxZoom)\n markDirty()\n scheduleApply()\n syncDisplay()\n }\n }\n\n el.addEventListener('touchstart', onTouchStart, { passive: false })\n el.addEventListener('touchmove', onTouchMove, { passive: false })\n return () => {\n el.removeEventListener('touchstart', onTouchStart)\n el.removeEventListener('touchmove', onTouchMove)\n }\n }, [markDirty, scheduleApply, syncDisplay, minZoom, maxZoom])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n if (s.current.rafId) cancelAnimationFrame(s.current.rafId)\n clearTimeout(s.current.willChangeTimer)\n }\n }, [])\n\n // Stable content props - only changes when html/children identity changes\n const contentProps = useMemo(\n () => (html ? { dangerouslySetInnerHTML: { __html: html } } : { children }),\n [html, children],\n )\n\n // Stable inline style for the container\n const containerStyle = useMemo(\n () => ({ maxHeight, cursor: 'grab' as const, touchAction: 'none' as const }),\n [maxHeight],\n )\n const direction = useDirection(dir as Direction)\n\n return (\n <div\n data-slot=\"preview-panel\"\n className={cn('relative flex flex-col', className)}\n dir={direction}\n style={style}\n {...rest}>\n {showControls && (\n <div className=\"absolute end-3 top-3 z-10\">\n <ZoomControls onZoomIn={handleZoomIn} onZoomOut={handleZoomOut} onReset={handleReset} zoom={displayZoom} />\n </div>\n )}\n <div\n ref={containerRef}\n className=\"flex flex-1 items-center justify-center overflow-hidden\"\n style={containerStyle}>\n <div\n ref={contentRef}\n className=\"flex w-full items-center justify-center p-6\"\n style={CONTENT_STYLE}\n {...contentProps}\n />\n </div>\n </div>\n )\n}\n\nconst CONTENT_STYLE = { transformOrigin: 'center center' } as const\n\nexport { PreviewPanel, ZoomControls }\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { Maximize2 } from 'lucide-react'\nimport { useCallback, useMemo, useRef, useState } from 'react'\nimport { Button } from '../button'\nimport { Dialog, DialogContent, DialogTrigger } from '../dialog'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../tooltip'\nimport { PreviewPanel } from './preview-panel'\nimport type { PreviewPanelDialogProps, PreviewPanelState } from './preview-panel.types'\n\nfunction PreviewPanelDialog({\n children,\n html,\n className,\n panelClassName,\n maxHeight,\n minZoom = 0.25,\n maxZoom = 4,\n initialZoom = 1,\n showControls = true,\n syncPanels = true,\n fullscreenText = 'Open fullscreen',\n}: PreviewPanelDialogProps & { fullscreenText?: string }) {\n const [sharedState, setSharedState] = useState<PreviewPanelState | undefined>(undefined)\n\n // Ref tracks whether a state update is already scheduled this frame.\n // Prevents multiple setState calls per animation frame when both\n // panels emit state changes simultaneously.\n const pendingRef = useRef(false)\n\n const handleStateChange = useCallback(\n (state: PreviewPanelState) => {\n if (!syncPanels) return\n if (pendingRef.current) return\n pendingRef.current = true\n requestAnimationFrame(() => {\n pendingRef.current = false\n setSharedState(state)\n })\n },\n [syncPanels],\n )\n\n const contentProps = useMemo(() => (html ? { html } : { children }), [html, children])\n\n const dialogPanelClassName = useMemo(() => cn('min-h-[70vh]', panelClassName), [panelClassName])\n\n return (\n <div className={cn('group relative', className)}>\n <div className=\"relative overflow-hidden rounded-lg border bg-card\">\n <PreviewPanel\n {...contentProps}\n maxHeight={maxHeight}\n minZoom={minZoom}\n maxZoom={maxZoom}\n initialZoom={initialZoom}\n showControls={showControls}\n className={panelClassName}\n onStateChange={handleStateChange}\n syncState={syncPanels ? sharedState : undefined}\n />\n\n <TooltipProvider>\n <Dialog>\n <Tooltip>\n <TooltipTrigger asChild>\n <DialogTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n icon={<Maximize2 aria-hidden=\"true\" />}\n aria-label={fullscreenText}\n className=\"absolute end-3 bottom-3 z-10 border bg-background/80 backdrop-blur-sm\"\n />\n </DialogTrigger>\n </TooltipTrigger>\n <TooltipContent>{fullscreenText}</TooltipContent>\n </Tooltip>\n <DialogContent className=\"max-h-[85vh] max-w-[90vw] overflow-auto p-0\">\n <PreviewPanel\n {...contentProps}\n minZoom={minZoom}\n maxZoom={maxZoom}\n initialZoom={initialZoom}\n showControls={showControls}\n className={dialogPanelClassName}\n onStateChange={handleStateChange}\n syncState={syncPanels ? sharedState : undefined}\n />\n </DialogContent>\n </Dialog>\n </TooltipProvider>\n </div>\n </div>\n )\n}\n\nexport { PreviewPanelDialog }\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { PreviewPanelDialog } from '@gentleduck/registry-ui/preview-panel'\nimport { Loader } from 'lucide-react'\nimport { useTheme } from 'next-themes'\nimport { useEffect, useState } from 'react'\n\nexport interface MermaidBlockProps {\n chart?: string\n lightSvg?: string\n darkSvg?: string\n className?: string\n __mermaidLightSvg__?: string\n __mermaidDarkSvg__?: string\n __rawString__?: string\n [key: string]: unknown\n}\n\nexport function MermaidBlock(props: MermaidBlockProps) {\n const chart = props.chart || props.__rawString__ || ''\n const preLight = props.lightSvg || props.__mermaidLightSvg__ || ''\n const preDark = props.darkSvg || props.__mermaidDarkSvg__ || ''\n\n const { resolvedTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n useEffect(() => {\n setMounted(true)\n }, [])\n\n const currentSvg = resolvedTheme === 'dark' ? preDark || preLight : preLight || preDark\n\n if (!mounted) {\n return (\n <div\n className={cn('my-6 flex h-[300px] items-center justify-center rounded-lg border bg-card', props.className)}\n role=\"status\">\n <div className=\"flex flex-col items-center gap-3\">\n <Loader aria-hidden=\"true\" className=\"size-4 animate-spin opacity-50\" />\n <p className=\"text-muted-foreground text-sm\">Loading diagram...</p>\n </div>\n </div>\n )\n }\n\n if (!currentSvg) {\n return (\n <pre className=\"my-6 overflow-auto rounded-lg border bg-muted p-4 text-muted-foreground text-sm\">\n {chart || 'Mermaid diagram'}\n </pre>\n )\n }\n\n return (\n <PreviewPanelDialog\n html={currentSvg}\n maxHeight=\"500px\"\n className={cn('my-6', props.className)}\n panelClassName=\"[&_svg]:block [&_svg]:h-auto [&_svg]:max-h-full [&_svg]:w-full [&_svg]:max-w-full\"\n syncPanels\n />\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime84 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/mdx/mdx-components/code/mermaid-block.d.ts
|
|
4
4
|
interface MermaidBlockProps {
|
|
@@ -11,7 +11,7 @@ interface MermaidBlockProps {
|
|
|
11
11
|
__rawString__?: string;
|
|
12
12
|
[key: string]: unknown;
|
|
13
13
|
}
|
|
14
|
-
declare function MermaidBlock(props: MermaidBlockProps):
|
|
14
|
+
declare function MermaidBlock(props: MermaidBlockProps): react_jsx_runtime84.JSX.Element;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { MermaidBlockProps as n, MermaidBlock as t };
|
|
17
|
-
//# sourceMappingURL=mermaid-block-
|
|
17
|
+
//# sourceMappingURL=mermaid-block-iLbOlW1I.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid-block-
|
|
1
|
+
{"version":3,"file":"mermaid-block-iLbOlW1I.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/code/mermaid-block.tsx"],"sourcesContent":[],"mappings":";;;UAQiB,iBAAA;;;EAAA,OAAA,CAAA,EAAA,MAAA;EAWD,SAAA,CAAA,EAAA,MAAY;;;;;;iBAAZ,YAAA,QAAoB,oBAAiB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-nav-DUkWP5bc.d.ts","names":[],"sources":["../src/components/mobile-nav.tsx"],"sourcesContent":[],"mappings":";;;iBAagB,SAAA,CAAA,GAAS,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as react_jsx_runtime22 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/mode-toggle.d.ts
|
|
4
|
+
declare function ModeSwitcher(): react_jsx_runtime22.JSX.Element;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { ModeSwitcher as t };
|
|
7
|
+
//# sourceMappingURL=mode-toggle-DUh08fnR.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-toggle-DUh08fnR.d.ts","names":[],"sources":["../src/components/mode-toggle.tsx"],"sourcesContent":[],"mappings":";;;iBAcgB,YAAA,CAAA,GAAY,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime24 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/components/page-header.d.ts
|
|
4
4
|
declare function PageHeader({
|
|
5
5
|
className,
|
|
6
6
|
children,
|
|
7
7
|
...props
|
|
8
|
-
}: React.ComponentProps<'section'>):
|
|
8
|
+
}: React.ComponentProps<'section'>): react_jsx_runtime24.JSX.Element;
|
|
9
9
|
declare function PageHeaderHeading({
|
|
10
10
|
className,
|
|
11
11
|
...props
|
|
12
|
-
}: React.ComponentProps<'h1'>):
|
|
12
|
+
}: React.ComponentProps<'h1'>): react_jsx_runtime24.JSX.Element;
|
|
13
13
|
declare function PageHeaderDescription({
|
|
14
14
|
className,
|
|
15
15
|
...props
|
|
16
|
-
}: React.ComponentProps<'p'>):
|
|
16
|
+
}: React.ComponentProps<'p'>): react_jsx_runtime24.JSX.Element;
|
|
17
17
|
declare function PageActions({
|
|
18
18
|
className,
|
|
19
19
|
...props
|
|
20
|
-
}: React.ComponentProps<'div'>):
|
|
20
|
+
}: React.ComponentProps<'div'>): react_jsx_runtime24.JSX.Element;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { PageHeaderHeading as i, PageHeader as n, PageHeaderDescription as r, PageActions as t };
|
|
23
|
-
//# sourceMappingURL=page-header-
|
|
23
|
+
//# sourceMappingURL=page-header-DEXQbaIe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header-
|
|
1
|
+
{"version":3,"file":"page-header-DEXQbaIe.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"}
|