@gentleduck/docs 0.0.1 → 0.0.12
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/button-Ao0Egplu.js +2 -0
- package/dist/button-Ao0Egplu.js.map +1 -0
- package/dist/callout-ChU_uu_5.js +2 -0
- package/dist/callout-ChU_uu_5.js.map +1 -0
- package/dist/callout-DlA6bFl6.d.ts +20 -0
- package/dist/callout-DlA6bFl6.d.ts.map +1 -0
- package/dist/{charts-DX0UohRi.js → charts-CvYC8d1e.js} +1 -1
- package/dist/{charts-DX0UohRi.js.map → charts-CvYC8d1e.js.map} +1 -1
- package/dist/{charts-hfCEZEQp.d.ts → charts-Cyick3Tp.d.ts} +1 -1
- package/dist/{charts-hfCEZEQp.d.ts.map → charts-Cyick3Tp.d.ts.map} +1 -1
- package/dist/chunk-BPpoHddQ-DLGSIJHp.js +2 -0
- package/dist/chunk-BPpoHddQ-DLGSIJHp.js.map +1 -0
- package/dist/client.d.ts +54 -52
- package/dist/client.js +1 -1
- package/dist/{code-block-CR2loi-i.d.ts → code-block-XZs_wNL_.d.ts} +3 -3
- package/dist/{code-block-CR2loi-i.d.ts.map → code-block-XZs_wNL_.d.ts.map} +1 -1
- package/dist/{code-block-DqFdGhI-.js → code-block-uesBcZgM.js} +1 -1
- package/dist/{code-block-DqFdGhI-.js.map → code-block-uesBcZgM.js.map} +1 -1
- package/dist/{code-block-wrapper-C8I0XMsN.d.ts → code-block-wrapper-I4wS1Zc_.d.ts} +3 -3
- package/dist/{code-block-wrapper-C8I0XMsN.d.ts.map → code-block-wrapper-I4wS1Zc_.d.ts.map} +1 -1
- package/dist/{code-block-wrapper-CCAw9mie.js → code-block-wrapper-XLG-BrIs.js} +1 -1
- package/dist/{code-block-wrapper-CCAw9mie.js.map → code-block-wrapper-XLG-BrIs.js.map} +1 -1
- package/dist/{code-preview-CeNXQxYN.d.ts → code-preview-CcHWOM40.d.ts} +3 -3
- package/dist/{code-preview-CeNXQxYN.d.ts.map → code-preview-CcHWOM40.d.ts.map} +1 -1
- package/dist/code-preview-DTVYDNkK.js +2 -0
- package/dist/code-preview-DTVYDNkK.js.map +1 -0
- package/dist/{colors-CpJMSMtf.d.ts → colors-BDTM1-gZ.d.ts} +1 -1
- package/dist/{colors-CpJMSMtf.d.ts.map → colors-BDTM1-gZ.d.ts.map} +1 -1
- package/dist/{colors-Ba_cRR6y.js → colors-BUDdXvJ2.js} +2 -2
- package/dist/{colors-Ba_cRR6y.js.map → colors-BUDdXvJ2.js.map} +1 -1
- package/dist/command-2PGkRCUM.js +2 -0
- package/dist/command-2PGkRCUM.js.map +1 -0
- package/dist/command-menu-BYWVu7O7.js +2 -0
- package/dist/{command-menu-BVebU1JI.js.map → command-menu-BYWVu7O7.js.map} +1 -1
- package/dist/command-menu-CC0hL6Nw.d.ts +7 -0
- package/dist/{command-menu-C8RLyuBe.d.ts.map → command-menu-CC0hL6Nw.d.ts.map} +1 -1
- package/dist/{component-preview-DknaF8TG.d.ts → component-preview-CFmX_yus.d.ts} +4 -4
- package/dist/{component-preview-DknaF8TG.d.ts.map → component-preview-CFmX_yus.d.ts.map} +1 -1
- package/dist/component-preview-InhzN4h1.js +2 -0
- package/dist/component-preview-InhzN4h1.js.map +1 -0
- package/dist/{component-source-IrGlRkUy.d.ts → component-source-B8bxXxtX.d.ts} +3 -3
- package/dist/{component-source-IrGlRkUy.d.ts.map → component-source-B8bxXxtX.d.ts.map} +1 -1
- package/dist/component-source-DtSz1ZSB.js +5 -0
- package/dist/{component-source-BCBDjfEb.js.map → component-source-DtSz1ZSB.js.map} +1 -1
- package/dist/components/copy-button/copy-button.d.ts +4 -3
- package/dist/components/copy-button/copy-button.js +1 -1
- package/dist/components/copy-button/copy-button.types.d.ts +3 -2
- package/dist/components/copy-button/index.d.ts +5 -4
- package/dist/components/copy-button/index.js +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 +3 -3
- package/dist/components/docs/docs-pager.js +1 -1
- package/dist/components/docs/docs-sidebar.d.ts +3 -3
- package/dist/components/docs/docs-sidebar.js +1 -1
- package/dist/components/docs/docs-toc.d.ts +3 -3
- package/dist/components/docs/docs-toc.js +1 -1
- package/dist/components/docs/index.d.ts +7 -7
- package/dist/components/docs/index.js +1 -1
- package/dist/components/icons.d.ts +1 -1
- package/dist/components/icons.js +1 -1
- package/dist/components/index.d.ts +46 -44
- package/dist/components/index.js +1 -1
- package/dist/components/layouts/command-menu/command-menu.d.ts +1 -1
- package/dist/components/layouts/command-menu/command-menu.js +1 -1
- package/dist/components/layouts/command-menu/index.d.ts +2 -2
- package/dist/components/layouts/command-menu/index.js +1 -1
- package/dist/components/layouts/index.d.ts +7 -7
- package/dist/components/layouts/index.js +1 -1
- package/dist/components/layouts/site-footer/index.d.ts +1 -1
- package/dist/components/layouts/site-footer/index.js +1 -1
- package/dist/components/layouts/site-header/header-shell.d.ts +1 -1
- package/dist/components/layouts/site-header/header-shell.js +1 -1
- package/dist/components/layouts/site-header/index.d.ts +2 -2
- package/dist/components/layouts/site-header/index.js +1 -1
- package/dist/components/layouts/tailwind-indicator/index.d.ts +1 -1
- package/dist/components/layouts/tailwind-indicator/index.js +1 -1
- package/dist/components/main-nav.d.ts +1 -1
- package/dist/components/main-nav.js +1 -1
- package/dist/components/mdx/mdx-components/callout.d.ts +1 -1
- package/dist/components/mdx/mdx-components/callout.js +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-wrapper.js +1 -1
- package/dist/components/mdx/mdx-components/code/code-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/code-block.js +1 -1
- package/dist/components/mdx/mdx-components/code/code-preview.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/code-preview.js +1 -1
- package/dist/components/mdx/mdx-components/code/component-preview.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/component-preview.js +1 -1
- package/dist/components/mdx/mdx-components/code/component-source.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/component-source.js +1 -1
- package/dist/components/mdx/mdx-components/code/figcaption-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/figcaption-block.js +1 -1
- package/dist/components/mdx/mdx-components/code/index.d.ts +12 -11
- package/dist/components/mdx/mdx-components/code/index.js +1 -1
- package/dist/components/mdx/mdx-components/code/mermaid-block.d.ts +2 -0
- package/dist/components/mdx/mdx-components/code/mermaid-block.js +1 -0
- package/dist/components/mdx/mdx-components/code/pre-block.d.ts +3 -3
- package/dist/components/mdx/mdx-components/code/pre-block.js +1 -1
- package/dist/components/mdx/mdx-components/code/span-block.d.ts +2 -2
- package/dist/components/mdx/mdx-components/components-list.d.ts +3 -3
- package/dist/components/mdx/mdx-components/components-list.js +1 -1
- package/dist/components/mdx/mdx-components/exalidraw.d.ts +2 -2
- package/dist/components/mdx/mdx-components/framework-docs.d.ts +1 -1
- package/dist/components/mdx/mdx-components/framework-docs.js +1 -1
- package/dist/components/mdx/mdx-components/index.d.ts +21 -20
- 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/table.js +1 -1
- package/dist/components/mdx/mdx-components/tabs.d.ts +1 -1
- package/dist/components/mdx/mdx-components/tabs.js +1 -1
- package/dist/components/mdx/mdx-components/typepography.d.ts +1 -1
- package/dist/components/mdx/mdx-components/typepography.js +1 -1
- package/dist/components/mdx/mdx-icons.d.ts +16 -0
- package/dist/components/mdx/mdx-icons.d.ts.map +1 -0
- package/dist/components/mdx/mdx-icons.js +1 -0
- 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/mobile-nav.js +1 -1
- package/dist/components/mode-toggle.d.ts +1 -1
- package/dist/components/mode-toggle.js +1 -1
- package/dist/components/page-header.d.ts +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/providers.d.ts +1 -1
- package/dist/components/providers.js +1 -1
- package/dist/components/themes/index.d.ts +3 -2
- package/dist/components/themes/index.js +1 -1
- package/dist/components/themes/style-switcher.d.ts +2 -1
- package/dist/components/themes/style-switcher.js +1 -1
- package/dist/components-list-DdQIzOWR.d.ts +12 -0
- package/dist/{components-list-ZLlUD-Nr.d.ts.map → components-list-DdQIzOWR.d.ts.map} +1 -1
- package/dist/{components-list-BCV3yN6H.js → components-list-DiOUxZd_.js} +2 -2
- package/dist/{components-list-BCV3yN6H.js.map → components-list-DiOUxZd_.js.map} +1 -1
- package/dist/context/context.d.ts +1 -1
- package/dist/context/context.js +1 -1
- package/dist/context/context.types.d.ts +1 -1
- package/dist/context/index.d.ts +3 -3
- package/dist/context/index.js +1 -1
- package/dist/{context-tLL-jUw_.d.ts → context-4HPOTFY3.d.ts} +4 -4
- package/dist/{context-tLL-jUw_.d.ts.map → context-4HPOTFY3.d.ts.map} +1 -1
- package/dist/{context-Bd4Sf8r8.js → context-CibrcgaK.js} +1 -1
- package/dist/{context-Bd4Sf8r8.js.map → context-CibrcgaK.js.map} +1 -1
- package/dist/{context.types-DgaGu8Ly.d.ts → context.types-KUK2rNdz.d.ts} +2 -2
- package/dist/{context.types-DgaGu8Ly.d.ts.map → context.types-KUK2rNdz.d.ts.map} +1 -1
- package/dist/{copy-button-Bh7DmVLN.d.ts → copy-button-CFc5QVLy.d.ts} +7 -8
- package/dist/copy-button-CFc5QVLy.d.ts.map +1 -0
- package/dist/copy-button-DZizVQ8G.js +2 -0
- package/dist/copy-button-DZizVQ8G.js.map +1 -0
- package/dist/copy-button.types-DDNr7hUc.d.ts +29 -0
- package/dist/copy-button.types-DDNr7hUc.d.ts.map +1 -0
- package/dist/dialog-BJXRFGlQ.js +31 -0
- package/dist/dialog-BJXRFGlQ.js.map +1 -0
- package/dist/dist-DfVBUGvk.js +2 -0
- package/dist/dist-DfVBUGvk.js.map +1 -0
- package/dist/{docs-copy-page-rZ3GkUUQ.d.ts → docs-copy-page-BM3zVUeL.d.ts} +3 -3
- package/dist/{docs-copy-page-rZ3GkUUQ.d.ts.map → docs-copy-page-BM3zVUeL.d.ts.map} +1 -1
- package/dist/{docs-copy-page-B1HSXqlm.js → docs-copy-page-DZDkcR09.js} +3 -3
- package/dist/{docs-copy-page-B1HSXqlm.js.map → docs-copy-page-DZDkcR09.js.map} +1 -1
- package/dist/{docs-pager-CLERxm13.d.ts → docs-pager-Doppai9B.d.ts} +6 -6
- package/dist/docs-pager-Doppai9B.d.ts.map +1 -0
- package/dist/docs-pager-Dr6dooWP.js +2 -0
- package/dist/docs-pager-Dr6dooWP.js.map +1 -0
- package/dist/{docs-sidebar-C4HMPDIN.d.ts → docs-sidebar-D0TOniBr.d.ts} +3 -3
- package/dist/{docs-sidebar-C4HMPDIN.d.ts.map → docs-sidebar-D0TOniBr.d.ts.map} +1 -1
- package/dist/{docs-sidebar-Cq7haHti.js → docs-sidebar-MtBCNnEG.js} +2 -2
- package/dist/{docs-sidebar-Cq7haHti.js.map → docs-sidebar-MtBCNnEG.js.map} +1 -1
- package/dist/docs-toc-BBsdEsY-.d.ts +13 -0
- package/dist/{docs-toc-B4_Znnrj.d.ts.map → docs-toc-BBsdEsY-.d.ts.map} +1 -1
- package/dist/{docs-toc-DfQz3sNZ.js → docs-toc-Czi8gMJf.js} +2 -2
- package/dist/{docs-toc-DfQz3sNZ.js.map → docs-toc-Czi8gMJf.js.map} +1 -1
- package/dist/drawer-DVVyDJ2D.js +8 -0
- package/dist/drawer-DVVyDJ2D.js.map +1 -0
- package/dist/dropdown-menu-Cf4PnvE4.js +2 -0
- package/dist/dropdown-menu-Cf4PnvE4.js.map +1 -0
- package/dist/{events-BKAEw9TQ.d.ts → events-CFVHB4m8.d.ts} +1 -1
- package/dist/{events-BKAEw9TQ.d.ts.map → events-CFVHB4m8.d.ts.map} +1 -1
- package/dist/{events-D55YvIRi.js → events-DHlTM_S_.js} +1 -1
- package/dist/{events-D55YvIRi.js.map → events-DHlTM_S_.js.map} +1 -1
- package/dist/figcaption-block-7FWvsSXj.js +2 -0
- package/dist/{figcaption-block-DWZhs-6i.js.map → figcaption-block-7FWvsSXj.js.map} +1 -1
- package/dist/{figcaption-block-B7CmTI6d.d.ts → figcaption-block-DAb2yFuu.d.ts} +3 -3
- package/dist/{figcaption-block-B7CmTI6d.d.ts.map → figcaption-block-DAb2yFuu.d.ts.map} +1 -1
- package/dist/{framework-docs-tYKaeYsi.d.ts → framework-docs-BdW8xpfl.d.ts} +3 -3
- package/dist/{framework-docs-tYKaeYsi.d.ts.map → framework-docs-BdW8xpfl.d.ts.map} +1 -1
- package/dist/framework-docs-BtCchZOF.js +2 -0
- package/dist/{framework-docs-ZYLz3BBy.js.map → framework-docs-BtCchZOF.js.map} +1 -1
- package/dist/{header-shell-CWHnv2ot.js → header-shell-BnhiboVH.js} +2 -2
- package/dist/{header-shell-CWHnv2ot.js.map → header-shell-BnhiboVH.js.map} +1 -1
- package/dist/{header-shell-BusaKA4C.d.ts → header-shell-ClRz98xF.d.ts} +6 -6
- package/dist/{header-shell-BusaKA4C.d.ts.map → header-shell-ClRz98xF.d.ts.map} +1 -1
- package/dist/hooks/index.d.ts +7 -7
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-colors.d.ts +2 -2
- package/dist/hooks/use-colors.js +1 -1
- package/dist/hooks/use-config.d.ts +1 -1
- package/dist/hooks/use-config.js +1 -1
- package/dist/hooks/use-lift-mode.d.ts +1 -1
- package/dist/hooks/use-lift-mode.js +1 -1
- package/dist/hooks/use-meta-colors.d.ts +1 -1
- package/dist/hooks/use-meta-colors.js +1 -1
- package/dist/hooks/use-mounted.d.ts +1 -1
- package/dist/hooks/use-mounted.js +1 -1
- package/dist/hooks/use-themes-config.d.ts +1 -1
- package/dist/hooks/use-themes-config.js +1 -1
- package/dist/{icons-BqnlXRgx.d.ts → icons-Bp6-jojO.d.ts} +1 -1
- package/dist/{icons-BqnlXRgx.d.ts.map → icons-Bp6-jojO.d.ts.map} +1 -1
- package/dist/{icons-bFf026bR.js → icons-CiCgiCYy.js} +2 -2
- package/dist/{icons-bFf026bR.js.map → icons-CiCgiCYy.js.map} +1 -1
- package/dist/index-C3il2ITv.d.ts +62 -0
- package/dist/index-C3il2ITv.d.ts.map +1 -0
- package/dist/index-C3ohDQzb.d.ts +8 -0
- package/dist/{index-BZ1Usw1L.d.ts.map → index-C3ohDQzb.d.ts.map} +1 -1
- package/dist/index-CtT0ECmz.d.ts +7 -0
- package/dist/{index-2mWOLEIP.d.ts.map → index-CtT0ECmz.d.ts.map} +1 -1
- package/dist/index-RKzQMpzp.d.ts +8 -0
- package/dist/{index-Bunxo_8h.d.ts.map → index-RKzQMpzp.d.ts.map} +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +1 -1
- package/dist/lib/charts.d.ts +1 -1
- package/dist/lib/charts.js +1 -1
- package/dist/lib/colors.d.ts +1 -1
- package/dist/lib/colors.js +1 -1
- package/dist/lib/events.d.ts +1 -1
- package/dist/lib/events.js +1 -1
- package/dist/lib/index.d.ts +5 -5
- package/dist/lib/index.js +1 -1
- package/dist/lib/registry-colors-data.js +1 -1
- package/dist/lib/registry-styles.d.ts +1 -1
- package/dist/lib/registry-styles.js +1 -1
- package/dist/lib/themes.d.ts +1 -1
- package/dist/lib/themes.js +1 -1
- package/dist/lib/utils.d.ts +1 -1
- package/dist/lib/utils.js +1 -1
- package/dist/{main-nav-SathVgSN.d.ts → main-nav-Cg6YiDTj.d.ts} +1 -1
- package/dist/main-nav-Cg6YiDTj.d.ts.map +1 -0
- package/dist/{main-nav-Df2pgQUs.js → main-nav-Ci0i9b05.js} +2 -2
- package/dist/{main-nav-Df2pgQUs.js.map → main-nav-Ci0i9b05.js.map} +1 -1
- package/dist/mdx-BytZ4deL.js +2 -0
- package/dist/mdx-BytZ4deL.js.map +1 -0
- package/dist/{mdx-CBnfwESR.d.ts → mdx-CKRU84WS.d.ts} +1 -1
- package/dist/mdx-CKRU84WS.d.ts.map +1 -0
- package/dist/mdx-icons-BH4zLUw0.js +2 -0
- package/dist/mdx-icons-BH4zLUw0.js.map +1 -0
- package/dist/mermaid-block-BlCALvQ4.js +13 -0
- package/dist/mermaid-block-BlCALvQ4.js.map +1 -0
- package/dist/mermaid-block-RZuwdJvz.d.ts +17 -0
- package/dist/mermaid-block-RZuwdJvz.d.ts.map +1 -0
- package/dist/{metadata-plugin-Ag61IUUu.d.ts → metadata-plugin-OKcE6Xsj.d.ts} +2 -2
- package/dist/metadata-plugin-OKcE6Xsj.d.ts.map +1 -0
- package/dist/{metadata-plugin-Mc8lCfYT.js → metadata-plugin-tEixstEj.js} +1 -1
- package/dist/{metadata-plugin-Mc8lCfYT.js.map → metadata-plugin-tEixstEj.js.map} +1 -1
- package/dist/mobile-nav-BAkYO55-.js +2 -0
- package/dist/mobile-nav-BAkYO55-.js.map +1 -0
- package/dist/{mobile-nav-hEfoD2ld.d.ts → mobile-nav-BcRCNOB4.d.ts} +1 -1
- package/dist/mobile-nav-BcRCNOB4.d.ts.map +1 -0
- package/dist/mode-toggle-BFNnk0Th.js +2 -0
- package/dist/{mode-toggle-CGGAaMUK.js.map → mode-toggle-BFNnk0Th.js.map} +1 -1
- package/dist/mode-toggle-DkjhxUcC.d.ts +7 -0
- package/dist/mode-toggle-DkjhxUcC.d.ts.map +1 -0
- package/dist/mount-CNbhMJe--D9ALOndF.js +2 -0
- package/dist/mount-CNbhMJe--D9ALOndF.js.map +1 -0
- package/dist/{nav-0JAtUIst.d.ts → nav-B2NAfb21.d.ts} +1 -1
- package/dist/{nav-0JAtUIst.d.ts.map → nav-B2NAfb21.d.ts.map} +1 -1
- package/dist/{page-header-Brw3423H.d.ts → page-header-BFaGrxuP.d.ts} +6 -6
- package/dist/{page-header-Brw3423H.d.ts.map → page-header-BFaGrxuP.d.ts.map} +1 -1
- package/dist/{page-header-BGKsl1LK.js → page-header-D8n3yXQF.js} +1 -1
- package/dist/{page-header-BGKsl1LK.js.map → page-header-D8n3yXQF.js.map} +1 -1
- package/dist/popover-DBuHxfGT.js +2 -0
- package/dist/popover-DBuHxfGT.js.map +1 -0
- package/dist/{pre-block-CTP3z9eq.d.ts → pre-block-BiGutzz_.d.ts} +6 -6
- package/dist/{pre-block-CTP3z9eq.d.ts.map → pre-block-BiGutzz_.d.ts.map} +1 -1
- package/dist/pre-block-C2YQ_YU_.js +2 -0
- package/dist/{pre-block-BThyCz1h.js.map → pre-block-C2YQ_YU_.js.map} +1 -1
- package/dist/presence-DKRzzG6_-DV_YtF92.js +2 -0
- package/dist/presence-DKRzzG6_-DV_YtF92.js.map +1 -0
- package/dist/{providers-fDpVqSs8.js → providers-CFfgRc3G.js} +1 -1
- package/dist/{providers-fDpVqSs8.js.map → providers-CFfgRc3G.js.map} +1 -1
- package/dist/{providers-BU3xm7I4.d.ts → providers-Df2oImJ-.d.ts} +3 -3
- package/dist/providers-Df2oImJ-.d.ts.map +1 -0
- package/dist/{registry-colors-data-FyxAihEQ.js → registry-colors-data-tROJGGvk.js} +1 -1
- package/dist/{registry-colors-data-FyxAihEQ.js.map → registry-colors-data-tROJGGvk.js.map} +1 -1
- package/dist/{registry-styles-Cm1HpC4C.js → registry-styles-Bby12FIz.js} +1 -1
- package/dist/{registry-styles-Cm1HpC4C.js.map → registry-styles-Bby12FIz.js.map} +1 -1
- package/dist/{registry-styles-WvCGd0xY.d.ts → registry-styles-DACce7ra.d.ts} +1 -1
- package/dist/{registry-styles-WvCGd0xY.d.ts.map → registry-styles-DACce7ra.d.ts.map} +1 -1
- package/dist/rehype-mermaid-gkaeJtqn.js +17 -0
- package/dist/rehype-mermaid-gkaeJtqn.js.map +1 -0
- package/dist/rehype-mermaid-kjf2DmAC.d.ts +7 -0
- package/dist/rehype-mermaid-kjf2DmAC.d.ts.map +1 -0
- package/dist/rehype-npm-command-C7BP6nqi.d.ts +7 -0
- package/dist/rehype-npm-command-C7BP6nqi.d.ts.map +1 -0
- package/dist/{velite/rehype-npm-command.js → rehype-npm-command-O7ik2lKv.js} +2 -2
- package/dist/rehype-npm-command-O7ik2lKv.js.map +1 -0
- package/dist/{rehype-pre-block-source-Bz3-G4tr.js → rehype-pre-block-source-D8t3NCnT.js} +1 -1
- package/dist/{rehype-pre-block-source-Bz3-G4tr.js.map → rehype-pre-block-source-D8t3NCnT.js.map} +1 -1
- package/dist/{rehype-pre-block-source-Le9z9RN8.d.ts → rehype-pre-block-source-zKoXg4aL.d.ts} +2 -2
- package/dist/{rehype-pre-block-source-Le9z9RN8.d.ts.map → rehype-pre-block-source-zKoXg4aL.d.ts.map} +1 -1
- package/dist/{rehype-title-C1q6PbyG.js → rehype-title-TRUGszot.js} +1 -1
- package/dist/{rehype-title-C1q6PbyG.js.map → rehype-title-TRUGszot.js.map} +1 -1
- package/dist/{rehype-title-Dwt_OKnR.d.ts → rehype-title-umwuNb2D.d.ts} +2 -2
- package/dist/rehype-title-umwuNb2D.d.ts.map +1 -0
- package/dist/scroll-area-Bj8-58Fz.js +2 -0
- package/dist/scroll-area-Bj8-58Fz.js.map +1 -0
- package/dist/separator-t0JrmyLj.js +2 -0
- package/dist/separator-t0JrmyLj.js.map +1 -0
- package/dist/site-footer-BZQcOAVy.js +2 -0
- package/dist/site-footer-BZQcOAVy.js.map +1 -0
- package/dist/site-header-BT02DWt0.js +2 -0
- package/dist/site-header-BT02DWt0.js.map +1 -0
- package/dist/style-switcher-BvF4n8f4.js +2 -0
- package/dist/style-switcher-BvF4n8f4.js.map +1 -0
- package/dist/style-switcher-CJ7Z244x.d.ts +25 -0
- package/dist/style-switcher-CJ7Z244x.d.ts.map +1 -0
- package/dist/styles/base.css +2 -5
- package/dist/styles/docs.css +2 -34
- package/dist/styles/mdx.css +1 -9
- package/dist/{table-Sc60jiil.js → table-Cu1wFi9V.js} +2 -2
- package/dist/table-Cu1wFi9V.js.map +1 -0
- package/dist/{table-B1hJe5kw.d.ts → table-DAVFXCAf.d.ts} +1 -1
- package/dist/table-DAVFXCAf.d.ts.map +1 -0
- package/dist/tabs-Cvy3-KIA.js +2 -0
- package/dist/{tabs-KvYm5au9.js.map → tabs-Cvy3-KIA.js.map} +1 -1
- package/dist/tabs-jsmxQQW0.js +2 -0
- package/dist/tabs-jsmxQQW0.js.map +1 -0
- package/dist/tabs-qOB1npti.d.ts +68 -0
- package/dist/tabs-qOB1npti.d.ts.map +1 -0
- package/dist/{tailwind-indicator-CV2jUfip.js → tailwind-indicator-Dt4Bfpta.js} +1 -1
- package/dist/{tailwind-indicator-CV2jUfip.js.map → tailwind-indicator-Dt4Bfpta.js.map} +1 -1
- package/dist/{themes-dv8YVpXg.d.ts → themes-Ba683LGu.d.ts} +1 -1
- package/dist/{themes-dv8YVpXg.d.ts.map → themes-Ba683LGu.d.ts.map} +1 -1
- package/dist/{themes-DsvojWlq.js → themes-BzMklu0h.js} +2 -2
- package/dist/{themes-DsvojWlq.js.map → themes-BzMklu0h.js.map} +1 -1
- package/dist/{typepography-Btk-lJ3O.js → typepography-CLdrb7_b.js} +1 -1
- package/dist/{typepography-Btk-lJ3O.js.map → typepography-CLdrb7_b.js.map} +1 -1
- package/dist/{typepography-B_jjjv9F.d.ts → typepography-b9NEdPeR.d.ts} +13 -13
- package/dist/{typepography-B_jjjv9F.d.ts.map → typepography-b9NEdPeR.d.ts.map} +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/nav.d.ts +1 -1
- package/dist/types/unist.d.ts +1 -1
- package/dist/{unist-Bs-H_R8g.d.ts → unist-DN6buKAy.d.ts} +5 -1
- package/dist/unist-DN6buKAy.d.ts.map +1 -0
- package/dist/{use-colors-JhoQAYK2.js → use-colors-BSOymnQG.js} +2 -2
- package/dist/{use-colors-JhoQAYK2.js.map → use-colors-BSOymnQG.js.map} +1 -1
- package/dist/{use-colors-CeiLGCjZ.d.ts → use-colors-tvFBbu3S.d.ts} +2 -2
- package/dist/use-colors-tvFBbu3S.d.ts.map +1 -0
- package/dist/{use-config-D1zkiIbf.js → use-config-DViAkW1f.js} +1 -1
- package/dist/{use-config-D1zkiIbf.js.map → use-config-DViAkW1f.js.map} +1 -1
- package/dist/{use-config-CFygUPAg.d.ts → use-config-DlgXRPaN.d.ts} +4 -4
- package/dist/{use-config-CFygUPAg.d.ts.map → use-config-DlgXRPaN.d.ts.map} +1 -1
- package/dist/{use-lift-mode-Dya2HcpU.js → use-lift-mode-CqcC0vis.js} +1 -1
- package/dist/{use-lift-mode-Dya2HcpU.js.map → use-lift-mode-CqcC0vis.js.map} +1 -1
- package/dist/{use-lift-mode-IpZRia0D.d.ts → use-lift-mode-DEELjsRA.d.ts} +1 -1
- package/dist/use-lift-mode-DEELjsRA.d.ts.map +1 -0
- package/dist/{use-meta-colors-BhIhFzvx.js → use-meta-colors-B7HIXaHI.js} +2 -2
- package/dist/{use-meta-colors-BhIhFzvx.js.map → use-meta-colors-B7HIXaHI.js.map} +1 -1
- package/dist/{use-meta-colors-C8OegAZO.d.ts → use-meta-colors-CkNbJTgD.d.ts} +1 -1
- package/dist/use-meta-colors-CkNbJTgD.d.ts.map +1 -0
- package/dist/{use-mounted-D25Cx8rc.d.ts → use-mounted-BtOuPtMk.d.ts} +1 -1
- package/dist/use-mounted-BtOuPtMk.d.ts.map +1 -0
- package/dist/{use-mounted-SpB3P6Vt.js → use-mounted-gdBJPRp0.js} +1 -1
- package/dist/{use-mounted-SpB3P6Vt.js.map → use-mounted-gdBJPRp0.js.map} +1 -1
- package/dist/{use-themes-config-Bo-JZDNU.js → use-themes-config-BRcxOF-M.js} +2 -2
- package/dist/{use-themes-config-Bo-JZDNU.js.map → use-themes-config-BRcxOF-M.js.map} +1 -1
- package/dist/use-themes-config-Dtk_egkh.d.ts +14 -0
- package/dist/use-themes-config-Dtk_egkh.d.ts.map +1 -0
- package/dist/{utils-NjSy-iOL.js → utils-Ck5VSddf.js} +1 -1
- package/dist/{utils-NjSy-iOL.js.map → utils-Ck5VSddf.js.map} +1 -1
- package/dist/{utils-CMPpWmbv.d.ts → utils-gls3XPIE.d.ts} +1 -1
- package/dist/{utils-CMPpWmbv.d.ts.map → utils-gls3XPIE.d.ts.map} +1 -1
- package/dist/velite/config.d.ts.map +1 -1
- package/dist/velite/config.js +1 -1
- package/dist/velite/config.js.map +1 -1
- package/dist/velite/index.d.ts +8 -7
- package/dist/velite/index.js +1 -1
- package/dist/velite/plugins/index.d.ts +8 -6
- package/dist/velite/plugins/index.js +1 -1
- package/dist/velite/plugins/metadata-plugin.d.ts +3 -3
- package/dist/velite/plugins/metadata-plugin.js +1 -1
- package/dist/velite/plugins/rehype-mermaid.d.ts +4 -0
- package/dist/velite/plugins/rehype-mermaid.js +1 -0
- package/dist/velite/plugins/rehype-npm-command.d.ts +4 -0
- package/dist/velite/plugins/rehype-npm-command.js +1 -0
- package/dist/velite/plugins/rehype-pre-block-source.d.ts +3 -3
- package/dist/velite/plugins/rehype-pre-block-source.js +1 -1
- package/dist/velite/plugins/rehype-title.d.ts +3 -3
- package/dist/velite/plugins/rehype-title.js +1 -1
- package/package.json +5 -11
- package/src/components/copy-button/copy-button.tsx +2 -2
- package/src/components/docs/docs-pager.tsx +8 -4
- package/src/components/docs/docs-sidebar.tsx +1 -0
- package/src/components/layouts/site-header/index.tsx +4 -1
- package/src/components/mdx/mdx-components/callout.tsx +11 -4
- package/src/components/mdx/mdx-components/code/component-preview.tsx +1 -10
- package/src/components/mdx/mdx-components/code/index.ts +1 -0
- package/src/components/mdx/mdx-components/code/mermaid-block.tsx +62 -0
- package/src/components/mdx/mdx-components/table.tsx +2 -5
- package/src/components/mdx/mdx-icons.ts +11 -0
- package/src/components/mdx/mdx.tsx +17 -2
- package/src/components/mobile-nav.tsx +1 -3
- package/src/styles/base.css +2 -5
- package/src/styles/docs.css +2 -34
- package/src/styles/mdx.css +1 -9
- package/src/types/unist.ts +4 -0
- package/src/velite/config.ts +2 -2
- package/src/velite/index.ts +0 -1
- package/src/velite/plugins/index.ts +2 -0
- package/src/velite/plugins/rehype-mermaid.ts +227 -0
- package/dist/callout-CFw8zUIz.js +0 -2
- package/dist/callout-CFw8zUIz.js.map +0 -1
- package/dist/callout-VcT2d48I.d.ts +0 -17
- package/dist/callout-VcT2d48I.d.ts.map +0 -1
- package/dist/code-preview-cIvw8qyg.js +0 -2
- package/dist/code-preview-cIvw8qyg.js.map +0 -1
- package/dist/command-menu-BVebU1JI.js +0 -2
- package/dist/command-menu-C8RLyuBe.d.ts +0 -7
- package/dist/component-preview-CL6guE-v.js +0 -2
- package/dist/component-preview-CL6guE-v.js.map +0 -1
- package/dist/component-source-BCBDjfEb.js +0 -5
- package/dist/components-list-ZLlUD-Nr.d.ts +0 -12
- package/dist/copy-button-Bh7DmVLN.d.ts.map +0 -1
- package/dist/copy-button-D50DXq56.js +0 -2
- package/dist/copy-button-D50DXq56.js.map +0 -1
- package/dist/copy-button.types-D6D1XKDN.d.ts +0 -19
- package/dist/copy-button.types-D6D1XKDN.d.ts.map +0 -1
- package/dist/docs-pager-2p2cKZcg.js +0 -2
- package/dist/docs-pager-2p2cKZcg.js.map +0 -1
- package/dist/docs-pager-CLERxm13.d.ts.map +0 -1
- package/dist/docs-toc-B4_Znnrj.d.ts +0 -13
- package/dist/figcaption-block-DWZhs-6i.js +0 -2
- package/dist/framework-docs-ZYLz3BBy.js +0 -2
- package/dist/index-2mWOLEIP.d.ts +0 -7
- package/dist/index-BZ1Usw1L.d.ts +0 -8
- package/dist/index-Bunxo_8h.d.ts +0 -8
- package/dist/main-nav-SathVgSN.d.ts.map +0 -1
- package/dist/mdx-CBnfwESR.d.ts.map +0 -1
- package/dist/mdx-cqn1ggXI.js +0 -2
- package/dist/mdx-cqn1ggXI.js.map +0 -1
- package/dist/metadata-plugin-Ag61IUUu.d.ts.map +0 -1
- package/dist/mobile-nav-DRQtHK-O.js +0 -2
- package/dist/mobile-nav-DRQtHK-O.js.map +0 -1
- package/dist/mobile-nav-hEfoD2ld.d.ts.map +0 -1
- package/dist/mode-toggle-BcPx4Vfk.d.ts +0 -7
- package/dist/mode-toggle-BcPx4Vfk.d.ts.map +0 -1
- package/dist/mode-toggle-CGGAaMUK.js +0 -2
- package/dist/pre-block-BThyCz1h.js +0 -2
- package/dist/providers-BU3xm7I4.d.ts.map +0 -1
- package/dist/rehype-title-Dwt_OKnR.d.ts.map +0 -1
- package/dist/site-footer-CsUC-l-l.js +0 -2
- package/dist/site-footer-CsUC-l-l.js.map +0 -1
- package/dist/site-header-Bi3-9Kl3.js +0 -2
- package/dist/site-header-Bi3-9Kl3.js.map +0 -1
- package/dist/style-switcher-BXEGTMW2.d.ts +0 -12
- package/dist/style-switcher-BXEGTMW2.d.ts.map +0 -1
- package/dist/style-switcher-CpcMcuwL.js +0 -2
- package/dist/style-switcher-CpcMcuwL.js.map +0 -1
- package/dist/table-B1hJe5kw.d.ts.map +0 -1
- package/dist/table-Sc60jiil.js.map +0 -1
- package/dist/tabs-DWxNPhgN.d.ts +0 -23
- package/dist/tabs-DWxNPhgN.d.ts.map +0 -1
- package/dist/tabs-KvYm5au9.js +0 -2
- package/dist/unist-Bs-H_R8g.d.ts.map +0 -1
- package/dist/use-colors-CeiLGCjZ.d.ts.map +0 -1
- package/dist/use-lift-mode-IpZRia0D.d.ts.map +0 -1
- package/dist/use-meta-colors-C8OegAZO.d.ts.map +0 -1
- package/dist/use-mounted-D25Cx8rc.d.ts.map +0 -1
- package/dist/use-themes-config-DfQCuhPn.d.ts +0 -14
- package/dist/use-themes-config-DfQCuhPn.d.ts.map +0 -1
- package/dist/velite/rehype-npm-command.d.ts +0 -8
- package/dist/velite/rehype-npm-command.d.ts.map +0 -1
- package/dist/velite/rehype-npm-command.js.map +0 -1
- /package/dist/{code-Cz75Womb.js → code-CRijMbf8.js} +0 -0
- /package/dist/{command-menu-7HTBKVxd.js → command-menu-DJNwkpf0.js} +0 -0
- /package/dist/{context-BoqMzqgD.js → context-DAoDXLlH.js} +0 -0
- /package/dist/{context.types-8c0sgn5Q.js → context.types-XX-41b7E.js} +0 -0
- /package/dist/{copy-button-DpLK4Hc9.js → copy-button-BKOhlef4.js} +0 -0
- /package/dist/{copy-button.types-ZXpoKEH1.js → copy-button.types-B9s047di.js} +0 -0
- /package/dist/{docs-B9qhW8T2.js → docs-BXWvl6Zg.js} +0 -0
- /package/dist/{index-BwEOYyLd.d.ts → index-2DqdDmQN.d.ts} +0 -0
- /package/dist/{index-CJOkJMYm.d.ts → index-CGglgRYd.d.ts} +0 -0
- /package/dist/{index-Cp46Zvz-.d.ts → index-CX84Uo3j.d.ts} +0 -0
- /package/dist/{index-CsVdkYso.d.ts → index-DOo6j0yP.d.ts} +0 -0
- /package/dist/{index-DIk3-d3u.d.ts → index-DUfvqU8v.d.ts} +0 -0
- /package/dist/{index-LAzYY5Wa.d.ts → index-DlpwrdjG.d.ts} +0 -0
- /package/dist/{index-k586z2Y3.d.ts → index-DxmiBoAj.d.ts} +0 -0
- /package/dist/{index-mj9Ys67i.d.ts → index-DzZbxTJ5.d.ts} +0 -0
- /package/dist/{index-otwxHF3U.d.ts → index-MPFNOj9E.d.ts} +0 -0
- /package/dist/{layouts-hVp-aKom.js → layouts-MJSz-Ia5.js} +0 -0
- /package/dist/{mdx-components-BoD1jTr7.js → mdx-components-Bvz2OZPf.js} +0 -0
- /package/dist/{nav-6wUjcK0K.js → nav-CVNxjtXM.js} +0 -0
- /package/dist/{themes-Dg5GgDgK.js → themes-k-j3m6gv.js} +0 -0
- /package/dist/{unist-DpNAVhDX.js → unist-C_C48flD.js} +0 -0
- /package/src/velite/{rehype-npm-command.ts → plugins/rehype-npm-command.ts} +0 -0
package/src/velite/config.ts
CHANGED
|
@@ -8,8 +8,7 @@ import { codeImport } from 'remark-code-import'
|
|
|
8
8
|
import remarkGfm from 'remark-gfm'
|
|
9
9
|
import type { Pluggable } from 'unified'
|
|
10
10
|
import { defineConfig, s, type ZodMeta } from 'velite'
|
|
11
|
-
import { rehypePreBlockSource, rehypeTitle, rhypeMetadataPlugin } from './plugins'
|
|
12
|
-
import { rehypeNpmCommand } from './rehype-npm-command'
|
|
11
|
+
import { rehypeMermaid, rehypeNpmCommand, rehypePreBlockSource, rehypeTitle, rhypeMetadataPlugin } from './plugins'
|
|
13
12
|
import { cleanTocItems } from './utils'
|
|
14
13
|
|
|
15
14
|
export type DocsVeliteConfigOptions = {
|
|
@@ -105,6 +104,7 @@ export function createDocsVeliteConfig({
|
|
|
105
104
|
],
|
|
106
105
|
rehypeTitle,
|
|
107
106
|
rehypePreBlockSource,
|
|
107
|
+
rehypeMermaid,
|
|
108
108
|
rehypeNpmCommand,
|
|
109
109
|
// @ts-ignore
|
|
110
110
|
[rehypeAutolinkHeadings, { properties: { ariaLabel: 'Link to section', className: ['subheading-anchor'] } }],
|
package/src/velite/index.ts
CHANGED
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process'
|
|
2
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs'
|
|
3
|
+
import { tmpdir } from 'node:os'
|
|
4
|
+
import { join } from 'node:path'
|
|
5
|
+
import type { UnistNode, UnistTree } from '@duck-docs/types'
|
|
6
|
+
import type { Nodes } from 'hast'
|
|
7
|
+
import { toString } from 'hast-util-to-string'
|
|
8
|
+
import { visit } from 'unist-util-visit'
|
|
9
|
+
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Helpers
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
function isMermaidCode(node: UnistNode): boolean {
|
|
15
|
+
const codeChild = node.children?.[0]
|
|
16
|
+
if (!codeChild || codeChild.type !== 'element' || codeChild.tagName !== 'code') return false
|
|
17
|
+
const dataLang = codeChild.properties?.['data-language']
|
|
18
|
+
const classes = codeChild.properties?.className
|
|
19
|
+
return dataLang === 'mermaid' || (Array.isArray(classes) && classes.includes('language-mermaid'))
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Safely extract a string value from an mdxJsxAttribute. */
|
|
23
|
+
function extractAttrValue(attr: any): string | null {
|
|
24
|
+
if (!attr?.value) return null
|
|
25
|
+
if (typeof attr.value === 'string') return attr.value
|
|
26
|
+
if (attr.value?.type === 'mdxJsxAttributeValueExpression') {
|
|
27
|
+
try {
|
|
28
|
+
// eslint-disable-next-line no-new-func
|
|
29
|
+
return new Function('return ' + attr.value.value)()
|
|
30
|
+
} catch {
|
|
31
|
+
return null
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return null
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Create an mdxJsxAttribute with an expression value (properly escaped). */
|
|
38
|
+
function makeJsxStringAttr(name: string, value: string) {
|
|
39
|
+
return {
|
|
40
|
+
type: 'mdxJsxAttribute',
|
|
41
|
+
name,
|
|
42
|
+
value: {
|
|
43
|
+
type: 'mdxJsxAttributeValueExpression',
|
|
44
|
+
value: JSON.stringify(value),
|
|
45
|
+
data: {
|
|
46
|
+
estree: {
|
|
47
|
+
type: 'Program',
|
|
48
|
+
sourceType: 'module',
|
|
49
|
+
body: [
|
|
50
|
+
{
|
|
51
|
+
type: 'ExpressionStatement',
|
|
52
|
+
expression: { type: 'Literal', value, raw: JSON.stringify(value) },
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
comments: [],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// ---------------------------------------------------------------------------
|
|
63
|
+
// Headless Chromium renderer - produces pixel-perfect SVGs using a real browser
|
|
64
|
+
// ---------------------------------------------------------------------------
|
|
65
|
+
|
|
66
|
+
/** Find the system Chromium / Chrome binary. */
|
|
67
|
+
function findChromium(): string {
|
|
68
|
+
for (const bin of ['chromium', 'google-chrome-stable', 'google-chrome', 'chromium-browser']) {
|
|
69
|
+
try {
|
|
70
|
+
const p = execSync(`which ${bin}`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim()
|
|
71
|
+
if (p) return p
|
|
72
|
+
} catch {
|
|
73
|
+
/* next */
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
throw new Error('[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.')
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
let chromiumPath: string | null = null
|
|
80
|
+
|
|
81
|
+
function buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {
|
|
82
|
+
return `<!DOCTYPE html><html><head>
|
|
83
|
+
<script type="module">
|
|
84
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
|
85
|
+
const diagrams = ${JSON.stringify(diagrams)};
|
|
86
|
+
const results = {};
|
|
87
|
+
for (const d of diagrams) {
|
|
88
|
+
try {
|
|
89
|
+
mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });
|
|
90
|
+
const { svg } = await mermaid.render(d.id, d.source);
|
|
91
|
+
results[d.id] = svg;
|
|
92
|
+
} catch (e) {
|
|
93
|
+
results[d.id] = '';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
document.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));
|
|
97
|
+
</script></head><body></body></html>`
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async function renderSvgBatch(
|
|
101
|
+
diagrams: { source: string; id: string; theme: 'default' | 'dark' }[],
|
|
102
|
+
): Promise<Record<string, string>> {
|
|
103
|
+
if (!chromiumPath) chromiumPath = findChromium()
|
|
104
|
+
|
|
105
|
+
const dir = mkdtempSync(join(tmpdir(), 'mermaid-'))
|
|
106
|
+
try {
|
|
107
|
+
const htmlFile = join(dir, 'render.html')
|
|
108
|
+
writeFileSync(htmlFile, buildRenderHtml(diagrams))
|
|
109
|
+
|
|
110
|
+
const output = execSync(
|
|
111
|
+
`"${chromiumPath}" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom "file://${htmlFile}"`,
|
|
112
|
+
{ timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
const titleMatch = output.match(/<title>DONE:([\s\S]*?)<\/title>/)
|
|
116
|
+
if (!titleMatch) throw new Error('Chromium did not produce output')
|
|
117
|
+
|
|
118
|
+
const json = decodeURIComponent(escape(Buffer.from(titleMatch[1]!, 'base64').toString('binary')))
|
|
119
|
+
const results: Record<string, string> = JSON.parse(json)
|
|
120
|
+
|
|
121
|
+
// Make SVGs responsive
|
|
122
|
+
for (const [id, svg] of Object.entries(results)) {
|
|
123
|
+
if (svg) {
|
|
124
|
+
results[id] = svg.replace(/\bwidth="[\d.]+"/, 'width="100%"')
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return results
|
|
129
|
+
} finally {
|
|
130
|
+
rmSync(dir, { recursive: true, force: true })
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// ---------------------------------------------------------------------------
|
|
135
|
+
// Plugin
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
|
|
138
|
+
export function rehypeMermaid() {
|
|
139
|
+
return async (tree: UnistTree) => {
|
|
140
|
+
// Two kinds of entries: code-fence <pre> blocks and <MermaidDiagram> JSX elements
|
|
141
|
+
type CodeFenceEntry = { kind: 'fence'; node: UnistNode; pre: UnistNode; source: string }
|
|
142
|
+
type JsxEntry = { kind: 'jsx'; node: UnistNode; source: string }
|
|
143
|
+
type Entry = CodeFenceEntry | JsxEntry
|
|
144
|
+
|
|
145
|
+
const entries: Entry[] = []
|
|
146
|
+
|
|
147
|
+
visit(tree, (node: UnistNode) => {
|
|
148
|
+
// 1. <MermaidDiagram chart={`...`} /> JSX elements
|
|
149
|
+
if ((node as any).type === 'mdxJsxFlowElement' && (node as any).name === 'MermaidDiagram') {
|
|
150
|
+
const attrs = (node as any).attributes || []
|
|
151
|
+
const chartAttr = attrs.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'chart')
|
|
152
|
+
const chart = extractAttrValue(chartAttr)
|
|
153
|
+
if (chart) {
|
|
154
|
+
entries.push({ kind: 'jsx', node, source: chart.trim() })
|
|
155
|
+
}
|
|
156
|
+
return
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// 2. rehypePrettyCode wrapper div (dual themes, two pre elements)
|
|
160
|
+
if (
|
|
161
|
+
node.type === 'element' &&
|
|
162
|
+
node.tagName === 'div' &&
|
|
163
|
+
node.properties &&
|
|
164
|
+
'data-rehype-pretty-code-fragment' in node.properties
|
|
165
|
+
) {
|
|
166
|
+
const pres = (node.children || []).filter((c: UnistNode) => c.type === 'element' && c.tagName === 'pre')
|
|
167
|
+
const mPre = pres.find((c: UnistNode) => isMermaidCode(c))
|
|
168
|
+
if (!mPre) return
|
|
169
|
+
const src = (mPre.properties?.__rawString__ as string) || toString(mPre as Nodes)
|
|
170
|
+
if (src) entries.push({ kind: 'fence', node, pre: mPre, source: src.trim() })
|
|
171
|
+
return
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// 3. Standalone <pre>
|
|
175
|
+
if (node.type === 'element' && node.tagName === 'pre' && isMermaidCode(node)) {
|
|
176
|
+
const src = (node.properties?.__rawString__ as string) || toString(node as Nodes)
|
|
177
|
+
if (src) entries.push({ kind: 'fence', node, pre: node, source: src.trim() })
|
|
178
|
+
}
|
|
179
|
+
})
|
|
180
|
+
|
|
181
|
+
if (entries.length === 0) return
|
|
182
|
+
|
|
183
|
+
// Build all diagrams in a single Chromium invocation (both themes)
|
|
184
|
+
const diagrams: { source: string; id: string; theme: 'default' | 'dark' }[] = []
|
|
185
|
+
for (let i = 0; i < entries.length; i++) {
|
|
186
|
+
const src = entries[i]!.source
|
|
187
|
+
diagrams.push({ source: src, id: `ml${i}`, theme: 'default' })
|
|
188
|
+
diagrams.push({ source: src, id: `md${i}`, theme: 'dark' })
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
let results: Record<string, string> = {}
|
|
192
|
+
try {
|
|
193
|
+
results = await renderSvgBatch(diagrams)
|
|
194
|
+
} catch (err) {
|
|
195
|
+
console.warn(`[rehype-mermaid] Build-time render failed:`, (err as Error).message)
|
|
196
|
+
return
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
for (let i = 0; i < entries.length; i++) {
|
|
200
|
+
const entry = entries[i]!
|
|
201
|
+
const lightSvg = results[`ml${i}`] || ''
|
|
202
|
+
const darkSvg = results[`md${i}`] || ''
|
|
203
|
+
|
|
204
|
+
if (!lightSvg && !darkSvg) {
|
|
205
|
+
console.warn(`[rehype-mermaid] No SVG produced for diagram ${i}`)
|
|
206
|
+
continue
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (entry.kind === 'jsx') {
|
|
210
|
+
const attrs = (entry.node as any).attributes || []
|
|
211
|
+
if (lightSvg) attrs.push(makeJsxStringAttr('lightSvg', lightSvg))
|
|
212
|
+
if (darkSvg) attrs.push(makeJsxStringAttr('darkSvg', darkSvg))
|
|
213
|
+
;(entry.node as any).attributes = attrs
|
|
214
|
+
} else {
|
|
215
|
+
if (entry.node !== entry.pre) {
|
|
216
|
+
entry.node.children = [entry.pre]
|
|
217
|
+
}
|
|
218
|
+
entry.pre.properties = {
|
|
219
|
+
...entry.pre.properties,
|
|
220
|
+
__isMermaid__: true,
|
|
221
|
+
__mermaidLightSvg__: lightSvg,
|
|
222
|
+
__mermaidDarkSvg__: darkSvg,
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
package/dist/callout-CFw8zUIz.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Alert as n,AlertDescription as r,AlertTitle as i}from"@gentleduck/registry-ui-duckui/alert";function a({title:a,children:o,icon:s,...c}){return t(n,{...c,children:[s&&e(`span`,{className:`mr-4 text-2xl`,children:s}),a&&e(i,{children:a}),e(r,{children:o})]})}export{a as t};
|
|
2
|
-
//# sourceMappingURL=callout-CFw8zUIz.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"callout-CFw8zUIz.js","names":[],"sources":["../src/components/mdx/mdx-components/callout.tsx"],"sourcesContent":["import { Alert, AlertDescription, AlertTitle } from '@gentleduck/registry-ui-duckui/alert'\n\ninterface CalloutProps {\n icon?: string\n title?: string\n children?: React.ReactNode\n}\n\nexport function Callout({ title, children, icon, ...props }: CalloutProps) {\n return (\n <Alert {...props}>\n {icon && <span className=\"mr-4 text-2xl\">{icon}</span>}\n {title && <AlertTitle>{title}</AlertTitle>}\n <AlertDescription>{children}</AlertDescription>\n </Alert>\n )\n}\n"],"mappings":"qJAQA,SAAgB,EAAQ,CAAE,QAAO,WAAU,OAAM,GAAG,GAAuB,CACzE,OACE,EAAC,EAAA,CAAM,GAAI,YACR,GAAQ,EAAC,OAAA,CAAK,UAAU,yBAAiB,GAAY,CACrD,GAAS,EAAC,EAAA,CAAA,SAAY,EAAA,CAAmB,CAC1C,EAAC,EAAA,CAAkB,WAAA,CAA4B,GACzC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime42 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/mdx/mdx-components/callout.d.ts
|
|
4
|
-
interface CalloutProps {
|
|
5
|
-
icon?: string;
|
|
6
|
-
title?: string;
|
|
7
|
-
children?: React.ReactNode;
|
|
8
|
-
}
|
|
9
|
-
declare function Callout({
|
|
10
|
-
title,
|
|
11
|
-
children,
|
|
12
|
-
icon,
|
|
13
|
-
...props
|
|
14
|
-
}: CalloutProps): react_jsx_runtime42.JSX.Element;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { Callout as t };
|
|
17
|
-
//# sourceMappingURL=callout-VcT2d48I.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"callout-VcT2d48I.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/callout.tsx"],"sourcesContent":[],"mappings":";;;UAEU,YAAA;;;EAAA,QAAA,CAAA,EAGG,KAAA,CAAM,SAHG;AAMtB;AAA0B,iBAAV,OAAA,CAAU;EAAA,KAAA;EAAA,QAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAAmC,YAAnC,CAAA,EAA+C,mBAAA,CAAA,GAAA,CAAA,OAA/C"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./icons-bFf026bR.js";import{t}from"./use-lift-mode-Dya2HcpU.js";import{cn as n}from"@gentleduck/libs/cn";import r from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";import{ResizableHandle as o,ResizablePanel as s,ResizablePanelGroup as c}from"@gentleduck/registry-ui-duckui/resizable";import{Tabs as l,TabsContent as u}from"@gentleduck/registry-ui-duckui/tabs";function d({block:d}){let{isLiftMode:f}=t(d.name),[p,m]=r.useState(!0),h=r.useRef(null);return a(l,{className:`relative grid w-full scroll-m-20 gap-4`,defaultValue:`preview`,id:d.name,style:{"--container-height":d.container?.height},children:[i(u,{className:`relative after:absolute after:inset-0 after:right-3 after:z-0 after:rounded-lg after:bg-muted`,value:`preview`,children:a(c,{className:`relative z-10`,direction:`horizontal`,children:[a(s,{className:n(`relative rounded-lg border bg-background`,f?`border-border/50`:`border-border`),defaultSize:100,minSize:30,ref:h,children:[p?a(`div`,{className:`absolute inset-0 z-10 flex h-[--container-height] w-full items-center justify-center gap-2 bg-background text-muted-foreground text-sm`,children:[i(e.spinner,{className:`h-4 w-4 animate-spin`}),`Loading...`]}):null,i(`iframe`,{allowTransparency:!0,className:`chunk-mode relative z-20 w-full bg-background`,height:d.container?.height??450,onLoad:()=>{m(!1)},src:`/blocks/${d.name}`})]}),i(o,{className:n(`relative hidden w-3 bg-transparent p-0 after:absolute after:top-1/2 after:right-0 after:h-8 after:w-[6px] after:translate-x-[-1px] after:-translate-y-1/2 after:rounded-full after:bg-border after:transition-all after:hover:h-10 sm:block`,f&&`invisible`)}),i(s,{defaultSize:0,minSize:0})]})}),i(u,{value:`code`,children:i(`div`,{className:`w-full overflow-hidden rounded-md [&_pre]:my-0 [&_pre]:h-[--container-height] [&_pre]:overflow-auto [&_pre]:whitespace-break-spaces [&_pre]:p-6 [&_pre]:font-mono [&_pre]:text-sm [&_pre]:leading-relaxed`,dangerouslySetInnerHTML:{__html:d.highlightedCode},"data-rehype-pretty-code-fragment":!0})})]})}export{d as t};
|
|
2
|
-
//# sourceMappingURL=code-preview-cIvw8qyg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-preview-cIvw8qyg.js","names":[],"sources":["../src/components/mdx/mdx-components/code/code-preview.tsx"],"sourcesContent":["'use client'\n\nimport { Icons } from '@duck-docs/components/icons'\nimport { useLiftMode } from '@duck-docs/hooks/use-lift-mode'\nimport { cn } from '@gentleduck/libs/cn'\nimport { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@gentleduck/registry-ui-duckui/resizable'\nimport { Tabs, TabsContent } from '@gentleduck/registry-ui-duckui/tabs'\nimport React from 'react'\nimport type { ImperativePanelHandle } from 'react-resizable-panels'\n\ntype Block = {\n name: string\n container?: {\n height?: number\n }\n highlightedCode: string\n}\n\nexport function CodePreview({ block }: { block: Block & { hasLiftMode: boolean } }) {\n const { isLiftMode } = useLiftMode(block.name)\n const [isLoading, setIsLoading] = React.useState(true)\n const ref = React.useRef<ImperativePanelHandle>(null)\n\n return (\n <Tabs\n className=\"relative grid w-full scroll-m-20 gap-4\"\n defaultValue=\"preview\"\n id={block.name}\n style={\n {\n '--container-height': block.container?.height,\n } as React.CSSProperties\n }>\n <TabsContent\n className=\"relative after:absolute after:inset-0 after:right-3 after:z-0 after:rounded-lg after:bg-muted\"\n value=\"preview\">\n <ResizablePanelGroup className=\"relative z-10\" direction=\"horizontal\">\n <ResizablePanel\n className={cn(\n 'relative rounded-lg border bg-background',\n isLiftMode ? 'border-border/50' : 'border-border',\n )}\n defaultSize={100}\n minSize={30}\n ref={ref}>\n {isLoading ? (\n <div className=\"absolute inset-0 z-10 flex h-[--container-height] w-full items-center justify-center gap-2 bg-background text-muted-foreground text-sm\">\n <Icons.spinner className=\"h-4 w-4 animate-spin\" />\n Loading...\n </div>\n ) : null}\n <iframe\n allowTransparency\n className=\"chunk-mode relative z-20 w-full bg-background\"\n height={block.container?.height ?? 450}\n onLoad={() => {\n setIsLoading(false)\n }}\n src={`/blocks/${block.name}`}\n />\n </ResizablePanel>\n <ResizableHandle\n className={cn(\n 'relative hidden w-3 bg-transparent p-0 after:absolute after:top-1/2 after:right-0 after:h-8 after:w-[6px] after:translate-x-[-1px] after:-translate-y-1/2 after:rounded-full after:bg-border after:transition-all after:hover:h-10 sm:block',\n isLiftMode && 'invisible',\n )}\n />\n <ResizablePanel defaultSize={0} minSize={0} />\n </ResizablePanelGroup>\n </TabsContent>\n <TabsContent value=\"code\">\n <div\n className=\"w-full overflow-hidden rounded-md [&_pre]:my-0 [&_pre]:h-[--container-height] [&_pre]:overflow-auto [&_pre]:whitespace-break-spaces [&_pre]:p-6 [&_pre]:font-mono [&_pre]:text-sm [&_pre]:leading-relaxed\"\n dangerouslySetInnerHTML={{ __html: block.highlightedCode }}\n data-rehype-pretty-code-fragment\n />\n </TabsContent>\n </Tabs>\n )\n}\n"],"mappings":"uYAkBA,SAAgB,EAAY,CAAE,SAAsD,CAClF,GAAM,CAAE,cAAe,EAAY,EAAM,KAAK,CACxC,CAAC,EAAW,GAAgB,EAAM,SAAS,GAAK,CAChD,EAAM,EAAM,OAA8B,KAAK,CAErD,OACE,EAAC,EAAA,CACC,UAAU,yCACV,aAAa,UACb,GAAI,EAAM,KACV,MACE,CACE,qBAAsB,EAAM,WAAW,OACxC,WAEH,EAAC,EAAA,CACC,UAAU,gGACV,MAAM,mBACN,EAAC,EAAA,CAAoB,UAAU,gBAAgB,UAAU,uBACvD,EAAC,EAAA,CACC,UAAW,EACT,2CACA,EAAa,mBAAqB,gBACnC,CACD,YAAa,IACb,QAAS,GACJ,gBACJ,EACC,EAAC,MAAA,CAAI,UAAU,mJACb,EAAC,EAAM,QAAA,CAAQ,UAAU,uBAAA,CAAyB,CAAA,aAAA,EAE9C,CACJ,KACJ,EAAC,SAAA,CACC,kBAAA,GACA,UAAU,gDACV,OAAQ,EAAM,WAAW,QAAU,IACnC,WAAc,CACZ,EAAa,GAAM,EAErB,IAAK,WAAW,EAAM,QACtB,CAAA,EACa,CACjB,EAAC,EAAA,CACC,UAAW,EACT,8OACA,GAAc,YACf,CAAA,CACD,CACF,EAAC,EAAA,CAAe,YAAa,EAAG,QAAS,GAAK,GAC1B,EACV,CACd,EAAC,EAAA,CAAY,MAAM,gBACjB,EAAC,MAAA,CACC,UAAU,4MACV,wBAAyB,CAAE,OAAQ,EAAM,gBAAiB,CAC1D,mCAAA,IACA,EACU,CAAA,EACT"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./context-Bd4Sf8r8.js";import{cn as t}from"@gentleduck/libs/cn";import{Button as n}from"@gentleduck/registry-ui-duckui/button";import{Circle as r,Command as i,CornerDownLeft as a,FileIcon as o,Moon as s,Sun as c}from"lucide-react";import*as l from"react";import{Fragment as u,jsx as d,jsxs as f}from"react/jsx-runtime";import{Separator as p}from"@gentleduck/registry-ui-duckui/separator";import{useRouter as m}from"next/navigation";import{CommandDialog as h,CommandEmpty as g,CommandGroup as _,CommandInput as v,CommandItem as y,CommandList as b,CommandSeparator as x,CommandShortcut as S,useCommandRefsContext as C}from"@gentleduck/registry-ui-duckui/command";import{useKeyCommands as w}from"@gentleduck/vim/react";import{useTheme as T}from"next-themes";function E(){let a=m(),[p,C]=l.useState(!1),{setTheme:w}=T(),E=e(),O=l.useRef(null),k=[...E.sidebarNav.map(e=>({items:e.items?.map(e=>({action:()=>a.push(e.href),icon:d(r,{className:`mr-2 h-3 w-3`}),name:e.title})),title:e.title})),{items:[{action:()=>w(`light`),icon:d(c,{className:`mr-2 h-4 w-4`}),name:`Light`},{action:()=>w(`dark`),icon:d(s,{className:`mr-2 h-4 w-4`}),name:`Dark`},{action:()=>w(`system`),icon:d(o,{className:`mr-2 h-4 w-4`}),name:`System`}],title:`Theme`}];return f(u,{children:[f(n,{className:t(`relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64 ltr:pr-2 rtl:pl-2 [&>div]:w-full [&>div]:justify-between`),onClick:()=>C(!0),size:`sm`,variant:`outline`,children:[d(`span`,{className:`hidden lg:inline-flex`,children:`Search documentation...`}),d(`span`,{className:`inline-flex lg:hidden`,children:`Search...`}),f(S,{className:`bg-secondary`,keys:`ctrl+k`,onKeysPressed:()=>{C(!p),window.event?.preventDefault()},children:[d(i,{className:`!size-3`}),d(`span`,{className:`text-md`,children:`K`})]})]}),f(h,{onOpenChange:C,open:p,children:[d(v,{autoFocus:!0,placeholder:`Search...`}),d(g,{children:`No results found.`}),d(b,{className:`h-[550px] max-h-full w-90 md:w-full`,children:k.map((e,t)=>f(l.Fragment,{children:[d(_,{heading:e.title,children:e.items?.map(e=>f(y,{id:e.name,onClick:()=>{C(!1),e.action(),O.current?.scrollTo(0,0),O.current?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`start`})},children:[e.icon,d(`span`,{children:e.name})]},e.name))}),t!==k.length-1&&d(x,{})]},e.title))}),d(D,{})]})]})}function D(){let{selectedItem:r}=C(),o=e().sidebarNav.flatMap(e=>e.items??[]).find(e=>e.title===r?.innerText);return w({"ctrl+shift+c":{description:`Copy command`,execute:()=>navigator.clipboard.writeText(`pnpm dlx @gentleduck/cli add `+r?.innerText.toLowerCase().replace(/ /g,`-`)),name:`ctrl+shift+c`}}),d(`div`,{className:`hidden w-full items-center justify-between gap-4 border-t px-2 pt-2 lg:flex`,children:f(`div`,{className:`flex w-full items-center justify-between gap-4`,children:[r?.innerText&&f(n,{className:t(`px-2`),size:`sm`,variant:`outline`,children:[d(a,{}),d(p,{className:`m-0 h-4 p-0`,orientation:`vertical`}),r?.innerText]}),r?.innerText&&o?.title?f(n,{className:t(`px-2`),size:`sm`,variant:`outline`,children:[f(`div`,{className:`flex items-center gap-1`,children:[d(i,{className:`!size-3`}),d(`p`,{className:`text-md`,children:`C`})]}),d(p,{className:`m-0 h-4 p-0`,orientation:`vertical`}),f(`div`,{className:`flex items-center gap-1`,children:[d(`span`,{children:`pnpm dlx @gentleduck/cli add`}),d(`span`,{className:`text-blue-400`,children:o.title.toLowerCase()})]})]}):f(`p`,{className:`my-auto h-fit w-full whitespace-nowrap text-right text-muted-foreground text-sm`,children:[d(`span`,{className:`whitespace-nowrap font-medium text-sm`,children:`Command palette`}),` for the documentation content.`]})]})})}export{E as t};
|
|
2
|
-
//# sourceMappingURL=command-menu-BVebU1JI.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime58 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/command-menu/command-menu.d.ts
|
|
4
|
-
declare function CommandMenu(): react_jsx_runtime58.JSX.Element;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { CommandMenu as t };
|
|
7
|
-
//# sourceMappingURL=command-menu-C8RLyuBe.d.ts.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./copy-button-D50DXq56.js";import{a as t}from"./context-Bd4Sf8r8.js";import{t as n}from"./icons-bFf026bR.js";import{cn as r}from"@gentleduck/libs/cn";import{Button as i}from"@gentleduck/registry-ui-duckui/button";import{Crown as a}from"lucide-react";import*as o from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{Tabs as l,TabsContent as u,TabsList as d,TabsTrigger as f}from"@gentleduck/registry-ui-duckui/tabs";function p({name:i,children:a,className:p,extractClassname:g,extractedClassNames:_,align:v=`center`,description:y,hideCode:b=!1,showSettings:x=!1,...S}){let C=o.Children.toArray(a)[0],w=t(),T=o.useMemo(()=>{if(!w)return s(`p`,{className:`text-muted-foreground text-sm`,children:`Registry index is not configured for this docs app.`});let e=w[i]?.component;return e?s(e,{}):c(`p`,{className:`text-muted-foreground text-sm`,children:[`Component `,s(`code`,{className:`relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm`,children:i}),` `,`not found in registry.`]})},[i,w]),E=o.useMemo(()=>{if(C?.props[`data-rehype-pretty-code-fragment`]!==void 0){let e=o.Children.toArray(C.props.children);return e[1]?.props?.value||e[1]?.props?.__rawString__||null}},[C]);return s(`div`,{className:r(`group relative my-4 flex flex-col [&_div[data-slot="placeholder"]]:h-[512px]`,p),...S,children:c(l,{className:`relative mr-auto w-full`,defaultValue:`preview`,children:[s(`div`,{className:`flex items-center justify-between`,children:!b&&s(d,{className:`w-full justify-start overflow-x-auto rounded-none border-b bg-transparent p-0 [&_button]:shadow-none`,children:h.map((e,t)=>s(f,{className:`cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none [&_input]:focus-visible:shadow-none [&_input]:focus-visible:ring-transparent [&_input]:focus-visible:ring-offset-0`,value:e.value,children:e.name},t))})}),c(u,{className:`relative min-w-2/5 rounded-md border`,value:`preview`,children:[c(`div`,{className:`absolute flex w-full items-center justify-between p-4`,children:[s(`span`,{className:`text-muted-foreground text-sm`}),s(`div`,{className:`flex items-center gap-2`,children:s(e,{value:E,variant:`outline`})})]}),s(`div`,{className:r(`preview flex h-[500px] w-full justify-center overflow-auto p-10`,{"items-center":v===`center`,"items-end":v===`end`,"items-start":v===`start`}),"duck-preview":``,children:s(o.Suspense,{fallback:c(`div`,{className:`flex w-full items-center justify-center text-muted-foreground text-sm`,children:[s(n.spinner,{className:`mr-2 h-4 w-4 animate-spin`}),`Loading...`]}),children:T})})]}),s(u,{className:`[&_[data-rehype-pretty-code-fragment]]:!m-0 relative mt-2 [&>div>div>button]:top-3 [&>div>div>button]:right-3 [&>div>div]:mb-0 [&>div]:rounded-lg [&>div]:border [&>div]:bg-muted/40 [&_pre]:h-[502px]`,value:`code`,children:C}),s(m,{})]})})}const m=()=>c(u,{className:`relative overflow-hidden`,value:`build`,children:[s(`div`,{className:`h-[500px] overflow-hidden rounded-lg`,children:s(`img`,{alt:`build`,className:`object-cover`,src:`/builder.png`})}),s(`div`,{className:`absolute inset-0 top-0 left-0 flex h-[500px] flex-col items-center justify-center gap-4 rounded-md bg-zinc-700/10 px-4 py-2 backdrop-blur-sm dark:bg-zinc-700/50`,children:s(`div`,{className:`flex items-center gap-4`,children:c(i,{className:`rounded-sm font-bold`,size:`sm`,children:[s(a,{}),s(`span`,{children:`Coming soon`})]})})})]}),h=[{name:`Preview`,value:`preview`},{name:`Code`,value:`code`}];export{p as n,h as r,m as t};
|
|
2
|
-
//# sourceMappingURL=component-preview-CL6guE-v.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component-preview-CL6guE-v.js","names":["React","Button"],"sources":["../src/components/mdx/mdx-components/code/component-preview.tsx"],"sourcesContent":["'use client'\n\nimport { CopyButton } from '@duck-docs/components/copy-button'\nimport { Icons } from '@duck-docs/components/icons'\nimport { useRegistryIndex } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport { Button } from '@gentleduck/registry-ui-duckui/button'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui-duckui/tabs'\nimport { Crown } from 'lucide-react'\nimport * as React from 'react'\n\ninterface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n extractClassname?: boolean\n extractedClassNames?: string\n align?: 'center' | 'start' | 'end'\n description?: string\n hideCode?: boolean\n showSettings?: boolean\n}\n\nexport function ComponentPreview({\n name,\n children,\n className,\n extractClassname,\n extractedClassNames,\n align = 'center',\n description,\n hideCode = false,\n showSettings = false,\n ...props\n}: ComponentPreviewProps) {\n const Codes = React.Children.toArray(children) as React.ReactElement[]\n const Code = Codes[0]\n const registryIndex = useRegistryIndex()\n\n const Preview = React.useMemo(() => {\n if (!registryIndex) {\n return <p className=\"text-muted-foreground text-sm\">Registry index is not configured for this docs app.</p>\n }\n\n const Component = registryIndex[name]?.component\n\n if (!Component) {\n return (\n <p className=\"text-muted-foreground text-sm\">\n Component <code className=\"relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm\">{name}</code>{' '}\n not found in registry.\n </p>\n )\n }\n\n return <Component />\n }, [name, registryIndex])\n\n const codeString = React.useMemo(() => {\n if (\n // ! FIX:\n // @ts-ignore 'Code.props' is of type 'unknown'.ts(18046)\n typeof Code?.props['data-rehype-pretty-code-fragment'] !== 'undefined'\n ) {\n const Button = React.Children.toArray(\n // ! FIX:\n // @ts-expect-error Property 'children' does not exist on type '{}'.ts(2339)\n Code.props.children,\n ) as React.ReactElement[]\n // ! FIX:\n // @ts-expect-error Property '__rawString__' does not exist on type '{}'.ts(2339)\n return Button[1]?.props?.value || Button[1]?.props?.__rawString__ || null\n }\n }, [Code])\n\n return (\n <div\n className={cn('group relative my-4 flex flex-col [&_div[data-slot=\"placeholder\"]]:h-[512px]', className)}\n {...props}>\n <Tabs className=\"relative mr-auto w-full\" defaultValue=\"preview\">\n <div className=\"flex items-center justify-between\">\n {!hideCode && (\n <TabsList className=\"w-full justify-start overflow-x-auto rounded-none border-b bg-transparent p-0 [&_button]:shadow-none\">\n {TABS.map((tab, idx) => (\n <TabsTrigger\n className=\"cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none [&_input]:focus-visible:shadow-none [&_input]:focus-visible:ring-transparent [&_input]:focus-visible:ring-offset-0\"\n key={idx}\n value={tab.value}>\n {tab.name}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n </div>\n <TabsContent className=\"relative min-w-2/5 rounded-md border\" value=\"preview\">\n <div className=\"absolute flex w-full items-center justify-between p-4\">\n <span className=\"text-muted-foreground text-sm\">{}</span>\n <div className=\"flex items-center gap-2\">\n <CopyButton value={codeString} variant=\"outline\" />\n </div>\n </div>\n <div\n className={cn('preview flex h-[500px] w-full justify-center overflow-auto p-10', {\n 'items-center': align === 'center',\n 'items-end': align === 'end',\n 'items-start': align === 'start',\n })}\n duck-preview=\"\">\n <React.Suspense\n fallback={\n <div className=\"flex w-full items-center justify-center text-muted-foreground text-sm\">\n <Icons.spinner className=\"mr-2 h-4 w-4 animate-spin\" />\n Loading...\n </div>\n }>\n {Preview}\n </React.Suspense>\n </div>\n </TabsContent>\n <TabsContent\n className=\"[&_[data-rehype-pretty-code-fragment]]:!m-0 relative mt-2 [&>div>div>button]:top-3 [&>div>div>button]:right-3 [&>div>div]:mb-0 [&>div]:rounded-lg [&>div]:border [&>div]:bg-muted/40 [&_pre]:h-[502px]\"\n value=\"code\">\n {Code}\n </TabsContent>\n <BuildTab />\n </Tabs>\n </div>\n )\n}\n\nexport const BuildTab = () => {\n return (\n <TabsContent className=\"relative overflow-hidden\" value=\"build\">\n <div className=\"h-[500px] overflow-hidden rounded-lg\">\n <img alt=\"build\" className=\"object-cover\" src=\"/builder.png\" />\n </div>\n\n <div className=\"absolute inset-0 top-0 left-0 flex h-[500px] flex-col items-center justify-center gap-4 rounded-md bg-zinc-700/10 px-4 py-2 backdrop-blur-sm dark:bg-zinc-700/50\">\n <div className=\"flex items-center gap-4\">\n <Button className=\"rounded-sm font-bold\" size={'sm'}>\n <Crown />\n <span>Coming soon</span>\n </Button>\n </div>\n </div>\n </TabsContent>\n )\n}\n\nexport const TABS = [\n {\n name: 'Preview',\n value: 'preview',\n },\n {\n name: 'Code',\n value: 'code',\n },\n // {\n // name: 'Benchmark',\n // value: 'benchmark',\n // },\n]\n"],"mappings":"kcAqBA,SAAgB,EAAiB,CAC/B,OACA,WACA,YACA,mBACA,sBACA,QAAQ,SACR,cACA,WAAW,GACX,eAAe,GACf,GAAG,GACqB,CAExB,IAAM,EADQA,EAAM,SAAS,QAAQ,EAAS,CAC3B,GACb,EAAgB,GAAkB,CAElC,EAAUA,EAAM,YAAc,CAClC,GAAI,CAAC,EACH,OAAO,EAAC,IAAA,CAAE,UAAU,yCAAgC,uDAAuD,CAG7G,IAAM,EAAY,EAAc,IAAO,UAWvC,OATK,EASE,EAAC,EAAA,EAAA,CAAY,CAPhB,EAAC,IAAA,CAAE,UAAU,0CAAgC,aACjC,EAAC,OAAA,CAAK,UAAU,+EAAuE,GAAY,CAAC,IAAI,2BAEhH,EAKP,CAAC,EAAM,EAAc,CAAC,CAEnB,EAAaA,EAAM,YAAc,CACrC,GAGS,GAAM,MAAM,sCAAwC,OAC3D,CACA,IAAMC,EAASD,EAAM,SAAS,QAG5B,EAAK,MAAM,SACZ,CAGD,OAAOC,EAAO,IAAI,OAAO,OAASA,EAAO,IAAI,OAAO,eAAiB,OAEtE,CAAC,EAAK,CAAC,CAEV,OACE,EAAC,MAAA,CACC,UAAW,EAAG,+EAAgF,EAAU,CACxG,GAAI,WACJ,EAAC,EAAA,CAAK,UAAU,0BAA0B,aAAa,oBACrD,EAAC,MAAA,CAAI,UAAU,6CACZ,CAAC,GACA,EAAC,EAAA,CAAS,UAAU,gHACjB,EAAK,KAAK,EAAK,IACd,EAAC,EAAA,CACC,UAAU,iRAEV,MAAO,EAAI,eACV,EAAI,MAFA,EAGO,CACd,EACO,EAET,CACN,EAAC,EAAA,CAAY,UAAU,uCAAuC,MAAM,oBAClE,EAAC,MAAA,CAAI,UAAU,kEACb,EAAC,OAAA,CAAK,UAAU,gCAAA,CAAyC,CACzD,EAAC,MAAA,CAAI,UAAU,mCACb,EAAC,EAAA,CAAW,MAAO,EAAY,QAAQ,WAAY,EAC/C,CAAA,EACF,CACN,EAAC,MAAA,CACC,UAAW,EAAG,kEAAmE,CAC/E,eAAgB,IAAU,SAC1B,YAAa,IAAU,MACvB,cAAe,IAAU,QAC1B,CAAC,CACF,eAAa,YACb,EAACD,EAAM,SAAA,CACL,SACE,EAAC,MAAA,CAAI,UAAU,kFACb,EAAC,EAAM,QAAA,CAAQ,UAAU,4BAAA,CAA8B,CAAA,aAAA,EAEnD,UAEP,GACc,EACb,CAAA,EACM,CACd,EAAC,EAAA,CACC,UAAU,yMACV,MAAM,gBACL,GACW,CACd,EAAC,EAAA,EAAA,CAAW,GACP,EACH,CAIV,MAAa,MAET,EAAC,EAAA,CAAY,UAAU,2BAA2B,MAAM,kBACtD,EAAC,MAAA,CAAI,UAAU,gDACb,EAAC,MAAA,CAAI,IAAI,QAAQ,UAAU,eAAe,IAAI,gBAAiB,EAC3D,CAEN,EAAC,MAAA,CAAI,UAAU,4KACb,EAAC,MAAA,CAAI,UAAU,mCACb,EAAC,EAAA,CAAO,UAAU,uBAAuB,KAAM,eAC7C,EAAC,EAAA,EAAA,CAAQ,CACT,EAAC,OAAA,CAAA,SAAK,cAAA,CAAkB,CAAA,EACjB,EACL,EACF,CAAA,EACM,CAIL,EAAO,CAClB,CACE,KAAM,UACN,MAAO,UACR,CACD,CACE,KAAM,OACN,MAAO,OACR,CAKF"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./figcaption-block-DWZhs-6i.js";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{Separator as r}from"@gentleduck/registry-ui-duckui/separator";import{Tabs as i,TabsContent as a,TabsList as o,TabsTrigger as s}from"@gentleduck/registry-ui-duckui/tabs";function c({children:c,className:l,...u}){if(!c.length)return c;let d=String(c[0].props.children[0].props.__rawString__).split(`
|
|
2
|
-
`)[0]?.replace(`//`,``);return n(i,{className:`rounded-md border border-border bg-muted/40`,defaultValue:d,children:[t(o,{className:`w-[622px] justify-start overflow-x-auto bg-transparent px-2 py-2`,children:c.map((e,n)=>{let r=String(e.props.children[0].props.__rawString__).split(`
|
|
3
|
-
`)[0]?.replace(`//`,``);return t(s,{className:`aria-[selected='true']:bg-muted`,value:r,children:r},n)})}),t(r,{}),c.map((r,i)=>{let o=String(r.props.children[0].props.__rawString__).split(`
|
|
4
|
-
`)[0]?.replace(`//`,``);return n(a,{className:`relative m-0 bg-transparent focus-visible:shadow-none focus-visible:outline-none focus-visible:ring-0 [&>div>div>button]:top-1 [&>div>div>button]:right-1 [&>div>div]:m-0`,value:o,children:[t(e,{children:o}),r]},i)})]})}export{c as t};
|
|
5
|
-
//# sourceMappingURL=component-source-BCBDjfEb.js.map
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { r as DocsEntry } from "./context.types-DgaGu8Ly.js";
|
|
2
|
-
import * as react_jsx_runtime43 from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
//#region src/components/mdx/mdx-components/components-list.d.ts
|
|
5
|
-
declare function ComponentsList({
|
|
6
|
-
components
|
|
7
|
-
}: {
|
|
8
|
-
components?: DocsEntry[];
|
|
9
|
-
}): react_jsx_runtime43.JSX.Element;
|
|
10
|
-
//#endregion
|
|
11
|
-
export { ComponentsList as t };
|
|
12
|
-
//# sourceMappingURL=components-list-ZLlUD-Nr.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button-Bh7DmVLN.d.ts","names":[],"sources":["../src/components/copy-button/copy-button.tsx"],"sourcesContent":[],"mappings":";;;;;iBAesB,uBAAA,wBAA+C,QAAK;iBAO1D,UAAA;;;;;;GAAqE,kBAAe,mBAAA,CAAA,GAAA,CAAA;iBAmCpF,kBAAA;;;;;GAA+D,0BAAuB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./events-D55YvIRi.js";import{cn as t}from"@gentleduck/libs/cn";import{Button as n}from"@gentleduck/registry-ui-duckui/button";import{DropdownMenu as r,DropdownMenuContent as i,DropdownMenuItem as a,DropdownMenuTrigger as o}from"@gentleduck/registry-ui-duckui/dropdown-menu";import{CheckIcon as s,ClipboardIcon as c,Copy as l}from"lucide-react";import*as u from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";async function p(t,n){navigator.clipboard.writeText(t),n&&e(n)}function m({value:e,className:r,variant:i=`ghost`,event:a,...o}){let[c,f]=u.useState(!1);return u.useEffect(()=>{setTimeout(()=>{f(!1)},3e3)},[c]),d(n,{"aria-label":`Copy`,className:t(`[&_svg]:!size-3.5 z-50 size-7 rounded-sm shadow-none`,r),icon:d(c?s:l,{}),onClick:()=>{p(e,a?{name:a,properties:{code:e}}:void 0),f(!0)},size:`icon`,variant:i,...o})}function h({value:e,classNames:l,className:m,...h}){let[g,_]=u.useState(!1);u.useEffect(()=>{setTimeout(()=>{_(!1)},2e3)},[g]);let v=u.useCallback(e=>{p(e),_(!0)},[]);return f(r,{placement:`bottom-end`,children:[d(o,{asChild:!0,children:d(n,{className:t(`!size-6.5 relative z-50 [&_svg]:w-3.5`,m),icon:d(g?s:c,{}),size:`icon`,variant:`outline`,...h})}),f(i,{children:[d(a,{onClick:()=>v(e),children:`Component`}),d(a,{onClick:()=>v(l),children:`Classname`})]})]})}export{h as n,p as r,m as t};
|
|
2
|
-
//# sourceMappingURL=copy-button-D50DXq56.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button-D50DXq56.js","names":["React","value"],"sources":["../src/components/copy-button/copy-button.tsx"],"sourcesContent":["'use client'\n\nimport { type Event, trackEvent } from '@duck-docs/lib/events'\nimport { cn } from '@gentleduck/libs/cn'\nimport { Button } from '@gentleduck/registry-ui-duckui/button'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@gentleduck/registry-ui-duckui/dropdown-menu'\nimport { CheckIcon, ClipboardIcon, Copy } from 'lucide-react'\nimport * as React from 'react'\nimport type { CopyButtonProps, CopyWithClassNamesProps } from './copy-button.types'\n\nexport async function copyToClipboardWithMeta(value: string, event?: Event) {\n navigator.clipboard.writeText(value)\n if (event) {\n trackEvent(event)\n }\n}\n\nexport function CopyButton({ value, className, variant = 'ghost', event, ...props }: CopyButtonProps) {\n const [hasCopied, setHasCopied] = React.useState(false)\n\n React.useEffect(() => {\n setTimeout(() => {\n setHasCopied(false)\n }, 3000)\n }, [hasCopied])\n\n return (\n <Button\n aria-label=\"Copy\"\n className={cn('[&_svg]:!size-3.5 z-50 size-7 rounded-sm shadow-none', className)}\n icon={hasCopied ? <CheckIcon /> : <Copy />}\n onClick={() => {\n copyToClipboardWithMeta(\n value,\n event\n ? {\n name: event,\n properties: {\n code: value,\n },\n }\n : undefined,\n )\n setHasCopied(true)\n }}\n size=\"icon\"\n variant={variant}\n {...props}\n />\n )\n}\n\nexport function CopyWithClassNames({ value, classNames, className, ...props }: CopyWithClassNamesProps) {\n const [hasCopied, setHasCopied] = React.useState(false)\n\n React.useEffect(() => {\n setTimeout(() => {\n setHasCopied(false)\n }, 2000)\n }, [hasCopied])\n\n const copyToClipboard = React.useCallback((value: string) => {\n copyToClipboardWithMeta(value)\n setHasCopied(true)\n }, [])\n\n return (\n <DropdownMenu placement=\"bottom-end\">\n <DropdownMenuTrigger asChild>\n <Button\n className={cn('!size-6.5 relative z-50 [&_svg]:w-3.5', className)}\n icon={hasCopied ? <CheckIcon /> : <ClipboardIcon />}\n size=\"icon\"\n variant=\"outline\"\n {...props}></Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuItem onClick={() => copyToClipboard(value)}>Component</DropdownMenuItem>\n <DropdownMenuItem onClick={() => copyToClipboard(classNames)}>Classname</DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n"],"mappings":"qbAeA,eAAsB,EAAwB,EAAe,EAAe,CAC1E,UAAU,UAAU,UAAU,EAAM,CAChC,GACF,EAAW,EAAM,CAIrB,SAAgB,EAAW,CAAE,QAAO,YAAW,UAAU,QAAS,QAAO,GAAG,GAA0B,CACpG,GAAM,CAAC,EAAW,GAAgBA,EAAM,SAAS,GAAM,CAQvD,OANA,EAAM,cAAgB,CACpB,eAAiB,CACf,EAAa,GAAM,EAClB,IAAK,EACP,CAAC,EAAU,CAAC,CAGb,EAAC,EAAA,CACC,aAAW,OACX,UAAW,EAAG,uDAAwD,EAAU,CAChF,KAAkB,EAAZ,EAAa,EAAgB,EAAhB,EAAA,CAAuB,CAC1C,YAAe,CACb,EACE,EACA,EACI,CACE,KAAM,EACN,WAAY,CACV,KAAM,EACP,CACF,CACD,IAAA,GACL,CACD,EAAa,GAAK,EAEpB,KAAK,OACI,UACT,GAAI,GACJ,CAIN,SAAgB,EAAmB,CAAE,QAAO,aAAY,YAAW,GAAG,GAAkC,CACtG,GAAM,CAAC,EAAW,GAAgBA,EAAM,SAAS,GAAM,CAEvD,EAAM,cAAgB,CACpB,eAAiB,CACf,EAAa,GAAM,EAClB,IAAK,EACP,CAAC,EAAU,CAAC,CAEf,IAAM,EAAkBA,EAAM,YAAa,GAAkB,CAC3D,EAAwBC,EAAM,CAC9B,EAAa,GAAK,EACjB,EAAE,CAAC,CAEN,OACE,EAAC,EAAA,CAAa,UAAU,uBACtB,EAAC,EAAA,CAAoB,QAAA,YACnB,EAAC,EAAA,CACC,UAAW,EAAG,wCAAyC,EAAU,CACjE,KAAkB,EAAZ,EAAa,EAAgB,EAAhB,EAAA,CAAgC,CACnD,KAAK,OACL,QAAQ,UACR,GAAI,GAAgB,EACF,CACtB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,CAAiB,YAAe,EAAgB,EAAM,UAAE,aAA4B,CACrF,EAAC,EAAA,CAAiB,YAAe,EAAgB,EAAW,UAAE,aAA4B,CAAA,CAAA,CACtE,CAAA,EACT"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { t as Event } from "./events-BKAEw9TQ.js";
|
|
2
|
-
import * as _gentleduck_registry_ui_duckui_button0 from "@gentleduck/registry-ui-duckui/button";
|
|
3
|
-
import * as _gentleduck_registry_ui_duckui_dropdown_menu0 from "@gentleduck/registry-ui-duckui/dropdown-menu";
|
|
4
|
-
import * as React$1 from "react";
|
|
5
|
-
|
|
6
|
-
//#region src/components/copy-button/copy-button.types.d.ts
|
|
7
|
-
type DropdownMenuTriggerProps = React$1.ComponentPropsWithoutRef<typeof _gentleduck_registry_ui_duckui_dropdown_menu0.DropdownMenuTrigger>;
|
|
8
|
-
type CopyWithClassNamesProps = DropdownMenuTriggerProps & {
|
|
9
|
-
value: string;
|
|
10
|
-
classNames: string;
|
|
11
|
-
className?: string;
|
|
12
|
-
};
|
|
13
|
-
type CopyButtonProps = _gentleduck_registry_ui_duckui_button0.ButtonProps & {
|
|
14
|
-
value: string;
|
|
15
|
-
event?: Event['name'];
|
|
16
|
-
};
|
|
17
|
-
//#endregion
|
|
18
|
-
export { CopyWithClassNamesProps as n, DropdownMenuTriggerProps as r, CopyButtonProps as t };
|
|
19
|
-
//# sourceMappingURL=copy-button.types-D6D1XKDN.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy-button.types-D6D1XKDN.d.ts","names":[],"sources":["../src/components/copy-button/copy-button.types.ts"],"sourcesContent":[],"mappings":";;;;;;KAGY,wBAAA,GAA2B,OAAA,CAAM,gCAAT,6CAAA,CAC4B;KAGpD,uBAAA,GAA0B;;;EAJ1B,SAAA,CAAA,EAAA,MAAA;AAIZ,CAAA;AAMY,KAAA,eAAA,GAAe,sCAAA,CAAmD,WAAA,GAE/D;;UAAL"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./context-Bd4Sf8r8.js";import{cn as t}from"@gentleduck/libs/cn";import{buttonVariants as n}from"@gentleduck/registry-ui-duckui/button";import{ArrowLeft as r,ArrowRight as i,ChevronLeft as a,ChevronRight as o}from"lucide-react";import{jsx as s,jsxs as c}from"react/jsx-runtime";import l from"next/link";function u({doc:r}){let i=f(r,e());return i?c(`div`,{className:`flex flex-row items-center justify-between`,children:[i?.prev?.href&&c(l,{className:t(n({className:`flex items-center`,variant:`outline`})),href:i.prev.href,children:[s(a,{className:`mr-2 size-4`}),s(`span`,{children:i.prev.title})]}),i?.next?.href&&c(l,{className:t(n({className:`flex items-center`,variant:`outline`})),href:i.next.href,children:[s(`span`,{children:i.next.title}),s(o,{className:`ml-2 size-4`})]})]}):null}function d({doc:a}){let o=f(a,e());return o?c(`div`,{className:`flex flex-row items-center justify-between`,children:[o?.prev?.href&&s(l,{className:t(n({className:`[&>svg]:!size-4 size-8 items-center`,size:`sm`,variant:`secondary`})),href:o.prev.href,children:s(r,{})}),o?.next?.href&&s(l,{className:t(n({className:`[&>svg]:!size-4 ml-2 size-8 items-center`,size:`sm`,variant:`secondary`})),href:o.next.href,children:s(i,{})})]}):null}function f(e,t){let n=[null,...p((e.title.startsWith(`/docs/charts`)?t.chartsNav:t.sidebarNav)??[]),null],r=n.findIndex(t=>t?.href?.includes(e.slug??e.title)),i=r===0?null:n[r-1];return{next:r===n.length-1?null:n[r+1],prev:i}}function p(e){return e.reduce((e,t)=>e.concat(t.items?.length?p(t.items):t),[]).filter(e=>!e?.disabled)}export{f as i,d as n,p as r,u as t};
|
|
2
|
-
//# sourceMappingURL=docs-pager-2p2cKZcg.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs-pager-2p2cKZcg.js","names":[],"sources":["../src/components/docs/docs-pager.tsx"],"sourcesContent":["'use client'\n\nimport { type DocsConfig, useDocsConfig } from '@duck-docs/context'\nimport type { NavItem, NavItemWithChildren } from '@duck-docs/types/nav'\nimport { cn } from '@gentleduck/libs/cn'\nimport { buttonVariants } from '@gentleduck/registry-ui-duckui/button'\nimport { ArrowLeft, ArrowRight, ChevronLeft, ChevronRight } from 'lucide-react'\nimport Link from 'next/link'\n\ninterface DocsPagerProps {\n doc: {\n slug?: string\n title: string\n }\n}\n\nexport function DocsPagerBottom({ doc }: DocsPagerProps) {\n const docsConfig = useDocsConfig()\n const pager = getPagerForDoc(doc, docsConfig)\n\n if (!pager) {\n return null\n }\n\n return (\n <div className=\"flex flex-row items-center justify-between\">\n {pager?.prev?.href && (\n <Link\n className={cn(\n buttonVariants({\n className: 'flex items-center',\n variant: 'outline',\n }),\n )}\n href={pager.prev.href}>\n <ChevronLeft className=\"mr-2 size-4\" />\n <span>{pager.prev.title}</span>\n </Link>\n )}\n {pager?.next?.href && (\n <Link\n className={cn(\n buttonVariants({\n className: 'flex items-center',\n variant: 'outline',\n }),\n )}\n href={pager.next.href}>\n <span>{pager.next.title}</span>\n <ChevronRight className=\"ml-2 size-4\" />\n </Link>\n )}\n </div>\n )\n}\nexport function DocsPagerTop({ doc }: DocsPagerProps) {\n const docsConfig = useDocsConfig()\n const pager = getPagerForDoc(doc, docsConfig)\n\n if (!pager) {\n return null\n }\n\n return (\n <div className=\"flex flex-row items-center justify-between\">\n {pager?.prev?.href && (\n <Link\n className={cn(\n buttonVariants({\n className: '[&>svg]:!size-4 size-8 items-center',\n size: 'sm',\n variant: 'secondary',\n }),\n )}\n href={pager.prev.href}>\n <ArrowLeft />\n </Link>\n )}\n {pager?.next?.href && (\n <Link\n className={cn(\n buttonVariants({\n className: '[&>svg]:!size-4 ml-2 size-8 items-center',\n size: 'sm',\n variant: 'secondary',\n }),\n )}\n href={pager.next.href}>\n <ArrowRight />\n </Link>\n )}\n </div>\n )\n}\n\nexport function getPagerForDoc(doc: DocsPagerProps['doc'], docsConfig: DocsConfig) {\n const nav = doc.title.startsWith('/docs/charts') ? docsConfig.chartsNav : docsConfig.sidebarNav\n const flattenedLinks = [null, ...flatten(nav ?? []), null]\n const activeIndex = flattenedLinks.findIndex((link) => link?.href?.includes(doc.slug ?? doc.title))\n const prev = activeIndex !== 0 ? flattenedLinks[activeIndex - 1] : null\n const next = activeIndex !== flattenedLinks.length - 1 ? flattenedLinks[activeIndex + 1] : null\n return {\n next,\n prev,\n }\n}\n\nexport function flatten(links: NavItemWithChildren[]): NavItem[] {\n return links\n .reduce<NavItem[]>((flat, link) => {\n return flat.concat(link.items?.length ? flatten(link.items) : link)\n }, [])\n .filter((link) => !link?.disabled)\n}\n"],"mappings":"iUAgBA,SAAgB,EAAgB,CAAE,OAAuB,CAEvD,IAAM,EAAQ,EAAe,EADV,GAAe,CACW,CAM7C,OAJK,EAKH,EAAC,MAAA,CAAI,UAAU,uDACZ,GAAO,MAAM,MACZ,EAAC,EAAA,CACC,UAAW,EACT,EAAe,CACb,UAAW,oBACX,QAAS,UACV,CAAC,CACH,CACD,KAAM,EAAM,KAAK,eACjB,EAAC,EAAA,CAAY,UAAU,cAAA,CAAgB,CACvC,EAAC,OAAA,CAAA,SAAM,EAAM,KAAK,MAAA,CAAa,CAAA,EAC1B,CAER,GAAO,MAAM,MACZ,EAAC,EAAA,CACC,UAAW,EACT,EAAe,CACb,UAAW,oBACX,QAAS,UACV,CAAC,CACH,CACD,KAAM,EAAM,KAAK,eACjB,EAAC,OAAA,CAAA,SAAM,EAAM,KAAK,MAAA,CAAa,CAC/B,EAAC,EAAA,CAAa,UAAU,cAAA,CAAgB,CAAA,EACnC,CAAA,EAEL,CA/BC,KAkCX,SAAgB,EAAa,CAAE,OAAuB,CAEpD,IAAM,EAAQ,EAAe,EADV,GAAe,CACW,CAM7C,OAJK,EAKH,EAAC,MAAA,CAAI,UAAU,uDACZ,GAAO,MAAM,MACZ,EAAC,EAAA,CACC,UAAW,EACT,EAAe,CACb,UAAW,sCACX,KAAM,KACN,QAAS,YACV,CAAC,CACH,CACD,KAAM,EAAM,KAAK,cACjB,EAAC,EAAA,EAAA,CAAY,EACR,CAER,GAAO,MAAM,MACZ,EAAC,EAAA,CACC,UAAW,EACT,EAAe,CACb,UAAW,2CACX,KAAM,KACN,QAAS,YACV,CAAC,CACH,CACD,KAAM,EAAM,KAAK,cACjB,EAAC,EAAA,EAAA,CAAa,EACT,CAAA,EAEL,CA/BC,KAmCX,SAAgB,EAAe,EAA4B,EAAwB,CAEjF,IAAM,EAAiB,CAAC,KAAM,GAAG,GADrB,EAAI,MAAM,WAAW,eAAe,CAAG,EAAW,UAAY,EAAW,aACrC,EAAE,CAAC,CAAE,KAAK,CACpD,EAAc,EAAe,UAAW,GAAS,GAAM,MAAM,SAAS,EAAI,MAAQ,EAAI,MAAM,CAAC,CAC7F,EAAO,IAAgB,EAAsC,KAAlC,EAAe,EAAc,GAE9D,MAAO,CACL,KAFW,IAAgB,EAAe,OAAS,EAAsC,KAAlC,EAAe,EAAc,GAGpF,OACD,CAGH,SAAgB,EAAQ,EAAyC,CAC/D,OAAO,EACJ,QAAmB,EAAM,IACjB,EAAK,OAAO,EAAK,OAAO,OAAS,EAAQ,EAAK,MAAM,CAAG,EAAK,CAClE,EAAE,CAAC,CACL,OAAQ,GAAS,CAAC,GAAM,SAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs-pager-CLERxm13.d.ts","names":[],"sources":["../src/components/docs/docs-pager.tsx"],"sourcesContent":[],"mappings":";;;;;UASU,cAAA;;;IAAA,KAAA,EAAA,MAAc;EAOR,CAAA;;AAAyB,iBAAzB,eAAA,CAAyB;EAAA;AAAA,CAAA,EAAA,cAAA,CAAA,EAAc,mBAAA,CAAA,GAAA,CAAA,OAAA,GAAd,IAAA;AAAc,iBAuCvC,YAAA,CAvCuC;EAAA;AAAA,CAAA,EAuCjB,cAvCiB,CAAA,EAuCH,mBAAA,CAAA,GAAA,CAAA,OAAA,GAvCG,IAAA;AAAA,iBA+EvC,cAAA,CA/EuC,GAAA,EA+EnB,cA/EmB,CAAA,KAAA,CAAA,EAAA,UAAA,EA+EgB,UA/EhB,CAAA,EAAA;EAuCvC,IAAA,SAAA,GAAY,IAAA,GAAA,SAAA;EAAG,IAAA,SAAA,GAAA,IAAA,GAAA,SAAA;CAAO;AAAc,iBAoDpC,OAAA,CApDoC,KAAA,EAoDrB,mBApDqB,EAAA,CAAA,EAoDG,OApDH,EAAA"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { o as TocEntry } from "./context.types-DgaGu8Ly.js";
|
|
2
|
-
import * as react_jsx_runtime36 from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
//#region src/components/docs/docs-toc.d.ts
|
|
5
|
-
interface TocProps {
|
|
6
|
-
toc: TocEntry[];
|
|
7
|
-
}
|
|
8
|
-
declare function DashboardTableOfContents({
|
|
9
|
-
toc
|
|
10
|
-
}: TocProps): react_jsx_runtime36.JSX.Element | null;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { DashboardTableOfContents as t };
|
|
13
|
-
//# sourceMappingURL=docs-toc-B4_Znnrj.d.ts.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./icons-bFf026bR.js";import{cn as t}from"@gentleduck/libs/cn";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";import{Separator as a}from"@gentleduck/registry-ui-duckui/separator";function o({children:o,className:s,...c}){let l=e(o?.toString().split(`.`).pop()??`terminal`);return i(n,{children:[r(`figcaption`,{...c,className:`rounded-lg p-2`,children:i(`div`,{className:t(s,`flex items-center gap-2 font-mono text-muted-foreground text-sm ltr:pl-1.5 rtl:pr-1.5 [&_svg]:h-4 [&_svg]:w-4`),children:[l,o]})}),r(a,{})]})}export{o as t};
|
|
2
|
-
//# sourceMappingURL=figcaption-block-DWZhs-6i.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./context-Bd4Sf8r8.js";import{t}from"./mdx-cqn1ggXI.js";import{jsx as n}from"react/jsx-runtime";function r({...r}){let i=(e()??[]).find(e=>e.slug===`/docs/installation/${r.data}`);return i?.content?n(t,{code:i.content}):null}export{r as t};
|
|
2
|
-
//# sourceMappingURL=framework-docs-ZYLz3BBy.js.map
|
package/dist/index-2mWOLEIP.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime67 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/tailwind-indicator/index.d.ts
|
|
4
|
-
declare function TailwindIndicator(): react_jsx_runtime67.JSX.Element | null;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { TailwindIndicator as t };
|
|
7
|
-
//# sourceMappingURL=index-2mWOLEIP.d.ts.map
|
package/dist/index-BZ1Usw1L.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime59 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/site-footer/index.d.ts
|
|
4
|
-
declare function SiteFooter(): react_jsx_runtime59.JSX.Element;
|
|
5
|
-
declare function FooterButtons(): react_jsx_runtime59.JSX.Element;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { SiteFooter as n, FooterButtons as t };
|
|
8
|
-
//# sourceMappingURL=index-BZ1Usw1L.d.ts.map
|
package/dist/index-Bunxo_8h.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime65 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/layouts/site-header/index.d.ts
|
|
4
|
-
declare function SiteHeader(): react_jsx_runtime65.JSX.Element;
|
|
5
|
-
declare function FontStyleButton(): react_jsx_runtime65.JSX.Element;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { SiteHeader as n, FontStyleButton as t };
|
|
8
|
-
//# sourceMappingURL=index-Bunxo_8h.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-nav-SathVgSN.d.ts","names":[],"sources":["../src/components/main-nav.tsx"],"sourcesContent":[],"mappings":";;;iBAQgB,OAAA,CAAA,GAAO,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-CBnfwESR.d.ts","names":[],"sources":["../src/components/mdx/mdx.tsx"],"sourcesContent":[],"mappings":";;;UA0FU,QAAA;;AA/E6B;AAmFvB,iBAAA,GAAA,CAAG;EAAA;AAAA,CAAA,EAAW,QAAX,CAAA,EAAmB,OAAA,CAAA,GAAA,CAAA,OAAnB"}
|
package/dist/mdx-cqn1ggXI.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./callout-CFw8zUIz.js";import{t}from"./code-block-DqFdGhI-.js";import{t as n}from"./code-block-wrapper-CCAw9mie.js";import{n as r}from"./component-preview-CL6guE-v.js";import{t as i}from"./figcaption-block-DWZhs-6i.js";import{t as a}from"./component-source-BCBDjfEb.js";import{t as o}from"./pre-block-BThyCz1h.js";import{t as s}from"./components-list-BCV3yN6H.js";import{i as c,n as l,r as u,t as d}from"./table-Sc60jiil.js";import{i as f,n as p,r as m,t as h}from"./tabs-KvYm5au9.js";import{a as g,c as _,d as v,i as y,l as b,n as x,o as S,r as C,s as w,t as T,u as E}from"./typepography-Btk-lJ3O.js";import{cn as D}from"@gentleduck/libs/cn";import{Button as O}from"@gentleduck/registry-ui-duckui/button";import k,{jsx as A}from"react/jsx-runtime";import j from"next/image";import{Accordion as M,AccordionContent as N,AccordionItem as P,AccordionTrigger as F}from"@gentleduck/registry-ui-duckui/accordion";import{Alert as I,AlertDescription as L,AlertTitle as R}from"@gentleduck/registry-ui-duckui/alert";import{AspectRatio as z}from"@gentleduck/registry-ui-duckui/aspect-ratio";import{Badge as B}from"@gentleduck/registry-ui-duckui/badge";import{Kbd as V}from"@gentleduck/registry-ui-duckui/kbd";const H=e=>Function(e)({...k}).default,U={Accordion:M,AccordionContent:N,AccordionItem:P,AccordionTrigger:F,Alert:I,AlertDescription:L,AlertTitle:R,AspectRatio:z,a:T,Badge:B,Button:O,blockquote:({className:e,...t})=>A(`blockquote`,{className:D(`mt-6 border-l-2 pl-6 italic`,e),...t}),Callout:e,CodeBlockWrapper:n,ComponentPreview:r,ComponentSource:a,ComponentsList:s,code:t,figcaption:i,h1:x,h2:C,h3:y,h4:g,h5:S,h6:w,hr:_,Image:j,img:({className:e,alt:t,...n})=>A(`img`,{alt:t,className:D(`rounded-md`,e),...n}),Kbd:V,Link:b,LinkedCard:E,li:({className:e,...t})=>A(`li`,{className:D(`mt-2`,e),...t}),ol:({className:e,...t})=>A(`ol`,{className:D(`my-6 ml-6 list-decimal`,e),...t}),p:v,pre:o,Step:({className:e,...t})=>A(`h3`,{className:D(`step scroll-m-20 font-heading font-semibold text-xl tracking-tight`,e),...t}),Steps:({...e})=>A(`div`,{className:`[&>h3]:step steps mb-12 ml-4 border-l pl-8 [counter-reset:step]`,...e}),Tabs:h,TabsContent:p,TabsList:m,TabsTrigger:f,table:d,td:l,th:u,tr:c,ul:({className:e,...t})=>A(`ul`,{className:D(`my-6 ml-6 list-disc`,e),...t})};function W({code:e}){return A(`div`,{className:`mdx`,children:A(H(e),{components:U})})}export{W as t};
|
|
2
|
-
//# sourceMappingURL=mdx-cqn1ggXI.js.map
|
package/dist/mdx-cqn1ggXI.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-cqn1ggXI.js","names":[],"sources":["../src/components/mdx/mdx.tsx"],"sourcesContent":["'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@gentleduck/registry-ui-duckui/accordion'\nimport { Alert, AlertDescription, AlertTitle } from '@gentleduck/registry-ui-duckui/alert'\nimport { AspectRatio } from '@gentleduck/registry-ui-duckui/aspect-ratio'\nimport { Badge } from '@gentleduck/registry-ui-duckui/badge'\nimport { Button } from '@gentleduck/registry-ui-duckui/button'\nimport { Kbd } from '@gentleduck/registry-ui-duckui/kbd'\nimport Image from 'next/image'\nimport type * as React from 'react'\nimport runtime from 'react/jsx-runtime'\nimport { Callout } from './mdx-components/callout'\nimport { CodeBlock, CodeBlockWrapper, ComponentPreview, ComponentSource, PreBlock } 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/typepography'\n\nconst useMDXComponent = (code: string) => {\n const fn = new Function(code)\n return fn({ ...runtime }).default\n}\n\nconst components = {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n Alert,\n AlertDescription,\n AlertTitle,\n AspectRatio,\n a: A,\n Badge,\n Button,\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 // span: SpanBlock,\n Image,\n img: ({ className, alt, ...props }: React.ImgHTMLAttributes<HTMLImageElement>) => (\n <img alt={alt} className={cn('rounded-md', className)} {...props} />\n ),\n Kbd: Kbd,\n Link: LinkBlock,\n LinkedCard,\n li: ({ className, ...props }: React.HTMLAttributes<HTMLElement>) => (\n <li className={cn('mt-2', className)} {...props} />\n ),\n ol: ({ className, ...props }: React.HTMLAttributes<HTMLOListElement>) => (\n <ol className={cn('my-6 ml-6 list-decimal', className)} {...props} />\n ),\n p: P,\n pre: PreBlock,\n Step: ({ className, ...props }: React.ComponentProps<'h3'>) => (\n <h3 className={cn('step scroll-m-20 font-heading font-semibold text-xl tracking-tight', className)} {...props} />\n ),\n Steps: ({ ...props }) => (\n <div className=\"[&>h3]:step steps mb-12 ml-4 border-l pl-8 [counter-reset:step]\" {...props} />\n ),\n Tabs: Tab,\n TabsContent: TabContent,\n TabsList: TabList,\n TabsTrigger: TabTrigger,\n table: Table,\n td: TableCell,\n th: TableHeader,\n tr: TableRow,\n ul: ({ className, ...props }: React.HTMLAttributes<HTMLUListElement>) => (\n <ul className={cn('my-6 ml-6 list-disc', className)} {...props} />\n ),\n // FrameworkDocs,\n}\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={components} />\n </div>\n )\n}\n"],"mappings":"isCAoBA,MAAM,EAAmB,GACR,SAAS,EAAK,CACnB,CAAE,GAAG,EAAS,CAAC,CAAC,QAGtB,EAAa,CACjB,YACA,mBACA,gBACA,mBACA,QACA,mBACA,aACA,cACA,EAAG,EACH,QACA,SACA,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,EAEJ,QACA,KAAM,CAAE,YAAW,MAAK,GAAG,KACzB,EAAC,MAAA,CAAS,MAAK,UAAW,EAAG,aAAc,EAAU,CAAE,GAAI,GAAS,CAEjE,MACL,KAAM,EACN,aACA,IAAK,CAAE,YAAW,GAAG,KACnB,EAAC,KAAA,CAAG,UAAW,EAAG,OAAQ,EAAU,CAAE,GAAI,GAAS,CAErD,IAAK,CAAE,YAAW,GAAG,KACnB,EAAC,KAAA,CAAG,UAAW,EAAG,yBAA0B,EAAU,CAAE,GAAI,GAAS,CAEvE,EAAG,EACH,IAAK,EACL,MAAO,CAAE,YAAW,GAAG,KACrB,EAAC,KAAA,CAAG,UAAW,EAAG,qEAAsE,EAAU,CAAE,GAAI,GAAS,CAEnH,OAAQ,CAAE,GAAG,KACX,EAAC,MAAA,CAAI,UAAU,kEAAkE,GAAI,GAAS,CAEhG,KAAM,EACN,YAAa,EACb,SAAU,EACV,YAAa,EACb,MAAO,EACP,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,IAAK,CAAE,YAAW,GAAG,KACnB,EAAC,KAAA,CAAG,UAAW,EAAG,sBAAuB,EAAU,CAAE,GAAI,GAAS,CAGrE,CAMD,SAAgB,EAAI,CAAE,QAAkB,CAGtC,OACE,EAAC,MAAA,CAAI,UAAU,eACb,EAJc,EAAgB,EAAK,CAAA,CAIZ,aAAA,CAAc,EACjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-plugin-Ag61IUUu.d.ts","names":[],"sources":["../src/velite/plugins/metadata-plugin.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,mBAAA,CAAA,UACA,cAAY"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./context-Bd4Sf8r8.js";import{cn as t}from"@gentleduck/libs/cn";import{Button as n}from"@gentleduck/registry-ui-duckui/button";import{PanelsTopLeft as r}from"lucide-react";import*as i from"react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import s from"next/link";import{useRouter as c}from"next/navigation";import{Drawer as l,DrawerContent as u,DrawerTrigger as d}from"@gentleduck/registry-ui-duckui/drawer";import{ScrollArea as f}from"@gentleduck/registry-ui-duckui/scroll-area";function p(){let[t,s]=i.useState(!1),c=e();return o(l,{onOpenChange:s,open:t,children:[a(d,{asChild:!0,children:a(n,{className:`mr-2 px-0 text-base hover:bg-transparent focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0 md:hidden`,icon:a(r,{}),size:`icon`,variant:`ghost`})}),a(u,{className:`pr-0 pb-4`,children:a(f,{children:o(`div`,{className:`hide-scroll my-4 h-[calc(100vh-8rem)] pb-10 pl-6`,children:[a(`div`,{className:`flex flex-col space-y-3`,children:c.mainNav?.map(e=>e.href&&a(m,{href:e.href,onOpenChange:s,children:e.title},e.href))}),a(`div`,{className:`flex flex-col space-y-2`,children:c.sidebarNav.map((e,t)=>o(`div`,{className:`flex flex-col space-y-3 pt-6`,children:[a(`h4`,{className:`font-medium`,children:e.title}),e?.items?.length&&e.items.map(e=>a(i.Fragment,{children:!e.disabled&&(e.href?o(m,{className:`text-muted-foreground`,href:e.href,onOpenChange:s,children:[e.title,e.label&&a(`span`,{className:`ml-2 rounded-md bg-primary px-1.5 py-0.5 text-accent text-xs leading-none no-underline group-hover:no-underline`,children:e.label})]}):e.title)},e.href))]},t))})]})})})]})}function m({href:e,onOpenChange:n,className:r,children:i,...o}){let l=c();return a(s,{className:t(r),href:e,onClick:()=>{l.push(e.toString()),n?.(!1)},...o,children:i})}export{p as t};
|
|
2
|
-
//# sourceMappingURL=mobile-nav-DRQtHK-O.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-nav-DRQtHK-O.js","names":["React","item"],"sources":["../src/components/mobile-nav.tsx"],"sourcesContent":["'use client'\n\nimport { useDocsConfig } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport { Button } from '@gentleduck/registry-ui-duckui/button'\nimport { Drawer, DrawerContent, DrawerTrigger } from '@gentleduck/registry-ui-duckui/drawer'\nimport { ScrollArea } from '@gentleduck/registry-ui-duckui/scroll-area'\nimport { PanelsTopLeft } from 'lucide-react'\nimport Link, { type LinkProps } from 'next/link'\nimport { useRouter } from 'next/navigation'\nimport * as React from 'react'\n\nexport function MobileNav() {\n const [open, setOpen] = React.useState(false)\n const docsConfig = useDocsConfig()\n\n return (\n <Drawer onOpenChange={setOpen} open={open}>\n <DrawerTrigger asChild>\n <Button\n className=\"mr-2 px-0 text-base hover:bg-transparent focus-visible:bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0 md:hidden\"\n icon={<PanelsTopLeft />}\n size={'icon'}\n variant=\"ghost\"></Button>\n </DrawerTrigger>\n <DrawerContent className=\"pr-0 pb-4\">\n <ScrollArea>\n <div className=\"hide-scroll my-4 h-[calc(100vh-8rem)] pb-10 pl-6\">\n <div className=\"flex flex-col space-y-3\">\n {docsConfig.mainNav?.map(\n (item) =>\n item.href && (\n <MobileLink href={item.href} key={item.href} onOpenChange={setOpen}>\n {item.title}\n </MobileLink>\n ),\n )}\n </div>\n <div className=\"flex flex-col space-y-2\">\n {docsConfig.sidebarNav.map((item, index) => (\n <div className=\"flex flex-col space-y-3 pt-6\" key={index}>\n <h4 className=\"font-medium\">{item.title}</h4>\n {item?.items?.length &&\n item.items.map((item) => (\n <React.Fragment key={item.href}>\n {!item.disabled &&\n (item.href ? (\n <MobileLink className=\"text-muted-foreground\" href={item.href} onOpenChange={setOpen}>\n {item.title}\n {item.label && (\n <span className=\"ml-2 rounded-md bg-primary px-1.5 py-0.5 text-accent text-xs leading-none no-underline group-hover:no-underline\">\n {item.label}\n </span>\n )}\n </MobileLink>\n ) : (\n item.title\n ))}\n </React.Fragment>\n ))}\n </div>\n ))}\n </div>\n </div>\n </ScrollArea>\n </DrawerContent>\n </Drawer>\n )\n}\n\ninterface MobileLinkProps extends LinkProps {\n onOpenChange?: (open: boolean) => void\n children: React.ReactNode\n className?: string\n}\n\nfunction MobileLink({ href, onOpenChange, className, children, ...props }: MobileLinkProps) {\n const router = useRouter()\n return (\n <Link\n className={cn(className)}\n href={href}\n onClick={() => {\n router.push(href.toString())\n onOpenChange?.(false)\n }}\n {...props}>\n {children}\n </Link>\n )\n}\n"],"mappings":"2fAYA,SAAgB,GAAY,CAC1B,GAAM,CAAC,EAAM,GAAWA,EAAM,SAAS,GAAM,CACvC,EAAa,GAAe,CAElC,OACE,EAAC,EAAA,CAAO,aAAc,EAAe,iBACnC,EAAC,EAAA,CAAc,QAAA,YACb,EAAC,EAAA,CACC,UAAU,mIACV,KAAM,EAAC,EAAA,EAAA,CAAgB,CACvB,KAAM,OACN,QAAQ,SAAiB,EACb,CAChB,EAAC,EAAA,CAAc,UAAU,qBACvB,EAAC,EAAA,CAAA,SACC,EAAC,MAAA,CAAI,UAAU,6DACb,EAAC,MAAA,CAAI,UAAU,mCACZ,EAAW,SAAS,IAClB,GACC,EAAK,MACH,EAAC,EAAA,CAAW,KAAM,EAAK,KAAsB,aAAc,WACxD,EAAK,OAD0B,EAAK,KAE1B,CAElB,EACG,CACN,EAAC,MAAA,CAAI,UAAU,mCACZ,EAAW,WAAW,KAAK,EAAM,IAChC,EAAC,MAAA,CAAI,UAAU,yCACb,EAAC,KAAA,CAAG,UAAU,uBAAe,EAAK,OAAW,CAC5C,GAAM,OAAO,QACZ,EAAK,MAAM,IAAK,GACd,EAACA,EAAM,SAAA,CAAA,SACJ,CAACC,EAAK,WACJA,EAAK,KACJ,EAAC,EAAA,CAAW,UAAU,wBAAwB,KAAMA,EAAK,KAAM,aAAc,YAC1EA,EAAK,MACLA,EAAK,OACJ,EAAC,OAAA,CAAK,UAAU,2HACbA,EAAK,OACD,CAAA,EAEE,CAEbA,EAAK,OAAA,CAZUA,EAAK,KAcT,CACjB,CAAA,EAnB6C,EAoB7C,CACN,EACE,CAAA,EACF,CAAA,CACK,EACC,CAAA,EACT,CAUb,SAAS,EAAW,CAAE,OAAM,eAAc,YAAW,WAAU,GAAG,GAA0B,CAC1F,IAAM,EAAS,GAAW,CAC1B,OACE,EAAC,EAAA,CACC,UAAW,EAAG,EAAU,CAClB,OACN,YAAe,CACb,EAAO,KAAK,EAAK,UAAU,CAAC,CAC5B,IAAe,GAAM,EAEvB,GAAI,EACH,YACI"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-nav-hEfoD2ld.d.ts","names":[],"sources":["../src/components/mobile-nav.tsx"],"sourcesContent":[],"mappings":";;;iBAYgB,SAAA,CAAA,GAAS,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime73 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/components/mode-toggle.d.ts
|
|
4
|
-
declare function ModeSwitcher(): react_jsx_runtime73.JSX.Element;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { ModeSwitcher as t };
|
|
7
|
-
//# sourceMappingURL=mode-toggle-BcPx4Vfk.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mode-toggle-BcPx4Vfk.d.ts","names":[],"sources":["../src/components/mode-toggle.tsx"],"sourcesContent":[],"mappings":";;;iBAcgB,YAAA,CAAA,GAAY,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./context-Bd4Sf8r8.js";import{t}from"./use-meta-colors-BhIhFzvx.js";import{Button as n}from"@gentleduck/registry-ui-duckui/button";import{MoonIcon as r,SunIcon as i}from"lucide-react";import*as a from"react";import{Fragment as o,jsx as s,jsxs as c}from"react/jsx-runtime";import{useTheme as l}from"next-themes";const u={dark:`#000000`,light:`#ffffff`};function d(){let{setTheme:d,resolvedTheme:f}=l(),{setMetaColor:p}=t(),m=e().metaThemeColors??u,h=a.useCallback(()=>{d(f===`dark`?`light`:`dark`),p(f===`dark`?m.light:m.dark)},[f,d,p]);return s(n,{"aria-label":`toggle theme`,className:`group/toggle`,icon:c(o,{children:[s(i,{className:`hidden [html.dark_&]:block`}),s(r,{className:`hidden [html.light_&]:block`})]}),onClick:h,size:`icon`,variant:`ghost`})}export{d as t};
|
|
2
|
-
//# sourceMappingURL=mode-toggle-CGGAaMUK.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./copy-button-D50DXq56.js";import{cn as t}from"@gentleduck/libs/cn";import{Terminal as n}from"lucide-react";import{Fragment as r,jsx as i,jsxs as a}from"react/jsx-runtime";import{Separator as o}from"@gentleduck/registry-ui-duckui/separator";import{Tabs as s,TabsContent as c,TabsList as l,TabsTrigger as u}from"@gentleduck/registry-ui-duckui/tabs";function d({className:n,__rawString__:o,__npmCommand__:s,__yarnCommand__:c,__pnpmCommand__:l,__bunCommand__:u,__withMeta__:d,__event__:p,__title__:m,children:h,...g}){return i(`div`,{"data-theme":g[`data-theme`],children:s&&c&&l&&u?i(f,{__bunCommand__:u,__npmCommand__:s,__pnpmCommand__:l,__yarnCommand__:c,...g}):a(r,{children:[o&&!s&&i(e,{className:t(`absolute top-2 right-2 bg-muted [&_svg]:text-muted-foreground`,d&&`top-16`),event:p,value:o,variant:`outline`}),i(`pre`,{className:t(`max-h-[650px] overflow-auto rounded-lg py-4 focus-visible:shadow-none focus-visible:outline-none`,n),...g,children:h})]})})}function f({__npmCommand__:r,__yarnCommand__:d,__pnpmCommand__:f,__bunCommand__:p}){let m={__bunCommand__:p,__npmCommand__:r,__pnpmCommand__:f,__yarnCommand__:d};return a(s,{className:`rounded-md`,defaultValue:`__npmCommand__`,children:[a(l,{className:`w-fit justify-start bg-transparent py-2`,children:[i(`div`,{className:`flex size-4 flex-col items-center justify-center bg-foreground/65 ltr:mr-2 ltr:ml-3 rtl:mr-3 rtl:ml-2`,children:i(n,{className:`size-4 text-background`})}),Object.keys(m).map((e,t)=>i(u,{className:`aria-[selected='true']:bg-muted`,value:e,children:e.replace(`__`,``).replace(`Command`,``).replace(`__`,``)},t))]}),i(o,{}),Object.entries(m).map(([n,r],o)=>a(c,{className:`[&_pre]:max-w-[620px] [&_pre]:overflow-auto`,value:n,children:[i(e,{className:t(`absolute top-1.5 right-1.5 border-none bg-transparent [&_svg]:size-5 [&_svg]:text-muted-foreground`),value:r,variant:`outline`}),i(`pre`,{className:`p-4 pt-2 text-muted-foreground text-sm focus-visible:shadow-none focus-visible:outline-none`,children:r})]},o))]})}export{f as n,d as t};
|
|
2
|
-
//# sourceMappingURL=pre-block-BThyCz1h.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"providers-BU3xm7I4.d.ts","names":[],"sources":["../src/components/providers.tsx"],"sourcesContent":[],"mappings":";;;;iBAOgB,eAAA;;;GAAsC,qBAAkB,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-title-Dwt_OKnR.d.ts","names":[],"sources":["../src/velite/plugins/rehype-title.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,WAAA,CAAA,UACA"}
|