@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-styles-
|
|
1
|
+
{"version":3,"file":"registry-styles-DACce7ra.d.ts","names":[],"sources":["../src/lib/registry-styles.ts"],"sourcesContent":[],"mappings":";cAAa;EAAA,SAKH,KAAA,EAAA,SAAA;EAEE,SAAK,IAAA,EAAA,SAAW;;KAAhB,KAAA,WAAgB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{visit as e}from"unist-util-visit";import{execSync as t}from"node:child_process";import{mkdtempSync as n,rmSync as r,writeFileSync as i}from"node:fs";import{tmpdir as a}from"node:os";import{join as o}from"node:path";import{toString as s}from"hast-util-to-string";function c(e){let t=e.children?.[0];if(!t||t.type!==`element`||t.tagName!==`code`)return!1;let n=t.properties?.[`data-language`],r=t.properties?.className;return n===`mermaid`||Array.isArray(r)&&r.includes(`language-mermaid`)}function l(e){if(!e?.value)return null;if(typeof e.value==`string`)return e.value;if(e.value?.type===`mdxJsxAttributeValueExpression`)try{return Function(`return `+e.value.value)()}catch{return null}return null}function u(e,t){return{type:`mdxJsxAttribute`,name:e,value:{type:`mdxJsxAttributeValueExpression`,value:JSON.stringify(t),data:{estree:{type:`Program`,sourceType:`module`,body:[{type:`ExpressionStatement`,expression:{type:`Literal`,value:t,raw:JSON.stringify(t)}}],comments:[]}}}}}function d(){for(let e of[`chromium`,`google-chrome-stable`,`google-chrome`,`chromium-browser`])try{let n=t(`which ${e}`,{encoding:`utf-8`,stdio:[`pipe`,`pipe`,`pipe`]}).trim();if(n)return n}catch{}throw Error(`[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.`)}let f=null;function p(e){return`<!DOCTYPE html><html><head>
|
|
2
|
+
<script type="module">
|
|
3
|
+
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
|
|
4
|
+
const diagrams = ${JSON.stringify(e)};
|
|
5
|
+
const results = {};
|
|
6
|
+
for (const d of diagrams) {
|
|
7
|
+
try {
|
|
8
|
+
mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });
|
|
9
|
+
const { svg } = await mermaid.render(d.id, d.source);
|
|
10
|
+
results[d.id] = svg;
|
|
11
|
+
} catch (e) {
|
|
12
|
+
results[d.id] = '';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
document.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));
|
|
16
|
+
<\/script></head><body></body></html>`}async function m(e){f||=d();let s=n(o(a(),`mermaid-`));try{let n=o(s,`render.html`);i(n,p(e));let r=t(`"${f}" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom "file://${n}"`,{timeout:6e4,encoding:`utf-8`,maxBuffer:50*1024*1024,stdio:[`pipe`,`pipe`,`pipe`]}).match(/<title>DONE:([\s\S]*?)<\/title>/);if(!r)throw Error(`Chromium did not produce output`);let a=decodeURIComponent(escape(Buffer.from(r[1],`base64`).toString(`binary`))),c=JSON.parse(a);for(let[e,t]of Object.entries(c))t&&(c[e]=t.replace(/\bwidth="[\d.]+"/,`width="100%"`));return c}finally{r(s,{recursive:!0,force:!0})}}function h(){return async t=>{let n=[];if(e(t,e=>{if(e.type===`mdxJsxFlowElement`&&e.name===`MermaidDiagram`){let t=l((e.attributes||[]).find(e=>e.type===`mdxJsxAttribute`&&e.name===`chart`));t&&n.push({kind:`jsx`,node:e,source:t.trim()});return}if(e.type===`element`&&e.tagName===`div`&&e.properties&&`data-rehype-pretty-code-fragment`in e.properties){let t=(e.children||[]).filter(e=>e.type===`element`&&e.tagName===`pre`).find(e=>c(e));if(!t)return;let r=t.properties?.__rawString__||s(t);r&&n.push({kind:`fence`,node:e,pre:t,source:r.trim()});return}if(e.type===`element`&&e.tagName===`pre`&&c(e)){let t=e.properties?.__rawString__||s(e);t&&n.push({kind:`fence`,node:e,pre:e,source:t.trim()})}}),n.length===0)return;let r=[];for(let e=0;e<n.length;e++){let t=n[e].source;r.push({source:t,id:`ml${e}`,theme:`default`}),r.push({source:t,id:`md${e}`,theme:`dark`})}let i={};try{i=await m(r)}catch(e){console.warn(`[rehype-mermaid] Build-time render failed:`,e.message);return}for(let e=0;e<n.length;e++){let t=n[e],r=i[`ml${e}`]||``,a=i[`md${e}`]||``;if(!r&&!a){console.warn(`[rehype-mermaid] No SVG produced for diagram ${e}`);continue}if(t.kind===`jsx`){let e=t.node.attributes||[];r&&e.push(u(`lightSvg`,r)),a&&e.push(u(`darkSvg`,a)),t.node.attributes=e}else t.node!==t.pre&&(t.node.children=[t.pre]),t.pre.properties={...t.pre.properties,__isMermaid__:!0,__mermaidLightSvg__:r,__mermaidDarkSvg__:a}}}}export{h as t};
|
|
17
|
+
//# sourceMappingURL=rehype-mermaid-gkaeJtqn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehype-mermaid-gkaeJtqn.js","names":["chromiumPath: string | null","results: Record<string, string>","entries: Entry[]","diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]"],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":["import { execSync } from 'node:child_process'\nimport { mkdtempSync, rmSync, writeFileSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join } from 'node:path'\nimport type { UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction isMermaidCode(node: UnistNode): boolean {\n const codeChild = node.children?.[0]\n if (!codeChild || codeChild.type !== 'element' || codeChild.tagName !== 'code') return false\n const dataLang = codeChild.properties?.['data-language']\n const classes = codeChild.properties?.className\n return dataLang === 'mermaid' || (Array.isArray(classes) && classes.includes('language-mermaid'))\n}\n\n/** Safely extract a string value from an mdxJsxAttribute. */\nfunction extractAttrValue(attr: any): string | null {\n if (!attr?.value) return null\n if (typeof attr.value === 'string') return attr.value\n if (attr.value?.type === 'mdxJsxAttributeValueExpression') {\n try {\n // eslint-disable-next-line no-new-func\n return new Function('return ' + attr.value.value)()\n } catch {\n return null\n }\n }\n return null\n}\n\n/** Create an mdxJsxAttribute with an expression value (properly escaped). */\nfunction makeJsxStringAttr(name: string, value: string) {\n return {\n type: 'mdxJsxAttribute',\n name,\n value: {\n type: 'mdxJsxAttributeValueExpression',\n value: JSON.stringify(value),\n data: {\n estree: {\n type: 'Program',\n sourceType: 'module',\n body: [\n {\n type: 'ExpressionStatement',\n expression: { type: 'Literal', value, raw: JSON.stringify(value) },\n },\n ],\n comments: [],\n },\n },\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Headless Chromium renderer - produces pixel-perfect SVGs using a real browser\n// ---------------------------------------------------------------------------\n\n/** Find the system Chromium / Chrome binary. */\nfunction findChromium(): string {\n for (const bin of ['chromium', 'google-chrome-stable', 'google-chrome', 'chromium-browser']) {\n try {\n const p = execSync(`which ${bin}`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim()\n if (p) return p\n } catch {\n /* next */\n }\n }\n throw new Error('[rehype-mermaid] No Chromium/Chrome binary found. Install chromium or google-chrome.')\n}\n\nlet chromiumPath: string | null = null\n\nfunction buildRenderHtml(diagrams: { source: string; id: string; theme: 'default' | 'dark' }[]): string {\n return `<!DOCTYPE html><html><head>\n<script type=\"module\">\nimport mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';\nconst diagrams = ${JSON.stringify(diagrams)};\nconst results = {};\nfor (const d of diagrams) {\n try {\n mermaid.initialize({ startOnLoad: false, theme: d.theme, fontFamily: 'sans-serif', securityLevel: 'loose' });\n const { svg } = await mermaid.render(d.id, d.source);\n results[d.id] = svg;\n } catch (e) {\n results[d.id] = '';\n }\n}\ndocument.title = 'DONE:' + btoa(unescape(encodeURIComponent(JSON.stringify(results))));\n</script></head><body></body></html>`\n}\n\nasync function renderSvgBatch(\n diagrams: { source: string; id: string; theme: 'default' | 'dark' }[],\n): Promise<Record<string, string>> {\n if (!chromiumPath) chromiumPath = findChromium()\n\n const dir = mkdtempSync(join(tmpdir(), 'mermaid-'))\n try {\n const htmlFile = join(dir, 'render.html')\n writeFileSync(htmlFile, buildRenderHtml(diagrams))\n\n const output = execSync(\n `\"${chromiumPath}\" --headless --disable-gpu --no-sandbox --virtual-time-budget=15000 --dump-dom \"file://${htmlFile}\"`,\n { timeout: 60000, encoding: 'utf-8', maxBuffer: 50 * 1024 * 1024, stdio: ['pipe', 'pipe', 'pipe'] },\n )\n\n const titleMatch = output.match(/<title>DONE:([\\s\\S]*?)<\\/title>/)\n if (!titleMatch) throw new Error('Chromium did not produce output')\n\n const json = decodeURIComponent(escape(Buffer.from(titleMatch[1]!, 'base64').toString('binary')))\n const results: Record<string, string> = JSON.parse(json)\n\n // Make SVGs responsive\n for (const [id, svg] of Object.entries(results)) {\n if (svg) {\n results[id] = svg.replace(/\\bwidth=\"[\\d.]+\"/, 'width=\"100%\"')\n }\n }\n\n return results\n } finally {\n rmSync(dir, { recursive: true, force: true })\n }\n}\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nexport function rehypeMermaid() {\n return async (tree: UnistTree) => {\n // Two kinds of entries: code-fence <pre> blocks and <MermaidDiagram> JSX elements\n type CodeFenceEntry = { kind: 'fence'; node: UnistNode; pre: UnistNode; source: string }\n type JsxEntry = { kind: 'jsx'; node: UnistNode; source: string }\n type Entry = CodeFenceEntry | JsxEntry\n\n const entries: Entry[] = []\n\n visit(tree, (node: UnistNode) => {\n // 1. <MermaidDiagram chart={`...`} /> JSX elements\n if ((node as any).type === 'mdxJsxFlowElement' && (node as any).name === 'MermaidDiagram') {\n const attrs = (node as any).attributes || []\n const chartAttr = attrs.find((a: any) => a.type === 'mdxJsxAttribute' && a.name === 'chart')\n const chart = extractAttrValue(chartAttr)\n if (chart) {\n entries.push({ kind: 'jsx', node, source: chart.trim() })\n }\n return\n }\n\n // 2. rehypePrettyCode wrapper div (dual themes, two pre elements)\n if (\n node.type === 'element' &&\n node.tagName === 'div' &&\n node.properties &&\n 'data-rehype-pretty-code-fragment' in node.properties\n ) {\n const pres = (node.children || []).filter((c: UnistNode) => c.type === 'element' && c.tagName === 'pre')\n const mPre = pres.find((c: UnistNode) => isMermaidCode(c))\n if (!mPre) return\n const src = (mPre.properties?.__rawString__ as string) || toString(mPre as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: mPre, source: src.trim() })\n return\n }\n\n // 3. Standalone <pre>\n if (node.type === 'element' && node.tagName === 'pre' && isMermaidCode(node)) {\n const src = (node.properties?.__rawString__ as string) || toString(node as Nodes)\n if (src) entries.push({ kind: 'fence', node, pre: node, source: src.trim() })\n }\n })\n\n if (entries.length === 0) return\n\n // Build all diagrams in a single Chromium invocation (both themes)\n const diagrams: { source: string; id: string; theme: 'default' | 'dark' }[] = []\n for (let i = 0; i < entries.length; i++) {\n const src = entries[i]!.source\n diagrams.push({ source: src, id: `ml${i}`, theme: 'default' })\n diagrams.push({ source: src, id: `md${i}`, theme: 'dark' })\n }\n\n let results: Record<string, string> = {}\n try {\n results = await renderSvgBatch(diagrams)\n } catch (err) {\n console.warn(`[rehype-mermaid] Build-time render failed:`, (err as Error).message)\n return\n }\n\n for (let i = 0; i < entries.length; i++) {\n const entry = entries[i]!\n const lightSvg = results[`ml${i}`] || ''\n const darkSvg = results[`md${i}`] || ''\n\n if (!lightSvg && !darkSvg) {\n console.warn(`[rehype-mermaid] No SVG produced for diagram ${i}`)\n continue\n }\n\n if (entry.kind === 'jsx') {\n const attrs = (entry.node as any).attributes || []\n if (lightSvg) attrs.push(makeJsxStringAttr('lightSvg', lightSvg))\n if (darkSvg) attrs.push(makeJsxStringAttr('darkSvg', darkSvg))\n ;(entry.node as any).attributes = attrs\n } else {\n if (entry.node !== entry.pre) {\n entry.node.children = [entry.pre]\n }\n entry.pre.properties = {\n ...entry.pre.properties,\n __isMermaid__: true,\n __mermaidLightSvg__: lightSvg,\n __mermaidDarkSvg__: darkSvg,\n }\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { r as UnistTree } from "./unist-DN6buKAy.js";
|
|
2
|
+
|
|
3
|
+
//#region src/velite/plugins/rehype-mermaid.d.ts
|
|
4
|
+
declare function rehypeMermaid(): (tree: UnistTree) => Promise<void>;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { rehypeMermaid as t };
|
|
7
|
+
//# sourceMappingURL=rehype-mermaid-kjf2DmAC.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehype-mermaid-kjf2DmAC.d.ts","names":[],"sources":["../src/velite/plugins/rehype-mermaid.ts"],"sourcesContent":[],"mappings":";;;iBAyIgB,aAAA,CAAA,UACM,cAAS"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { r as UnistTree } from "./unist-DN6buKAy.js";
|
|
2
|
+
|
|
3
|
+
//#region src/velite/plugins/rehype-npm-command.d.ts
|
|
4
|
+
declare function rehypeNpmCommand(): (tree: UnistTree) => void;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { rehypeNpmCommand as t };
|
|
7
|
+
//# sourceMappingURL=rehype-npm-command-C7BP6nqi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehype-npm-command-C7BP6nqi.d.ts","names":[],"sources":["../src/velite/plugins/rehype-npm-command.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,gBAAA,CAAA,UACA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{visit as e}from"unist-util-visit";function t(){return t=>{e(t,e=>{if(!(e.type!==`element`||e?.tagName!==`pre`)){if(e.properties?.__rawString__?.startsWith(`npm install`)){let t=e.properties?.__rawString__;e.properties.__npmCommand__=t,e.properties.__yarnCommand__=t.replace(`npm install`,`yarn add`),e.properties.__pnpmCommand__=t.replace(`npm install`,`pnpm add`),e.properties.__bunCommand__=t.replace(`npm install`,`bun add`)}if(e.properties?.__rawString__?.startsWith(`npx create-`)){let t=e.properties?.__rawString__;e.properties.__npmCommand__=t,e.properties.__yarnCommand__=t.replace(`npx create-`,`yarn create `),e.properties.__pnpmCommand__=t.replace(`npx create-`,`pnpm create `),e.properties.__bunCommand__=t.replace(`npx`,`bunx --bun`)}if(e.properties?.__rawString__?.startsWith(`npx`)&&!e.properties?.__rawString__?.startsWith(`npx create-`)){let t=e.properties?.__rawString__;e.properties.__npmCommand__=t,e.properties.__yarnCommand__=t.replace(`npx`,`yarn dlx`),e.properties.__pnpmCommand__=t.replace(`npx`,`pnpm dlx`),e.properties.__bunCommand__=t.replace(`npx`,`bunx --bun`)}}})}}export{t
|
|
2
|
-
//# sourceMappingURL=rehype-npm-command.js.map
|
|
1
|
+
import{visit as e}from"unist-util-visit";function t(){return t=>{e(t,e=>{if(!(e.type!==`element`||e?.tagName!==`pre`)){if(e.properties?.__rawString__?.startsWith(`npm install`)){let t=e.properties?.__rawString__;e.properties.__npmCommand__=t,e.properties.__yarnCommand__=t.replace(`npm install`,`yarn add`),e.properties.__pnpmCommand__=t.replace(`npm install`,`pnpm add`),e.properties.__bunCommand__=t.replace(`npm install`,`bun add`)}if(e.properties?.__rawString__?.startsWith(`npx create-`)){let t=e.properties?.__rawString__;e.properties.__npmCommand__=t,e.properties.__yarnCommand__=t.replace(`npx create-`,`yarn create `),e.properties.__pnpmCommand__=t.replace(`npx create-`,`pnpm create `),e.properties.__bunCommand__=t.replace(`npx`,`bunx --bun`)}if(e.properties?.__rawString__?.startsWith(`npx`)&&!e.properties?.__rawString__?.startsWith(`npx create-`)){let t=e.properties?.__rawString__;e.properties.__npmCommand__=t,e.properties.__yarnCommand__=t.replace(`npx`,`yarn dlx`),e.properties.__pnpmCommand__=t.replace(`npx`,`pnpm dlx`),e.properties.__bunCommand__=t.replace(`npx`,`bunx --bun`)}}})}}export{t};
|
|
2
|
+
//# sourceMappingURL=rehype-npm-command-O7ik2lKv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehype-npm-command-O7ik2lKv.js","names":[],"sources":["../src/velite/plugins/rehype-npm-command.ts"],"sourcesContent":["import type { UnistNode, UnistTree } from '@duck-docs/types'\nimport { visit } from 'unist-util-visit'\n\nexport function rehypeNpmCommand() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node.type !== 'element' || node?.tagName !== 'pre') {\n return\n }\n\n // npm install.\n if (node.properties?.['__rawString__']?.startsWith('npm install')) {\n const npmCommand = node.properties?.['__rawString__']\n node.properties['__npmCommand__'] = npmCommand\n node.properties['__yarnCommand__'] = npmCommand.replace('npm install', 'yarn add')\n node.properties['__pnpmCommand__'] = npmCommand.replace('npm install', 'pnpm add')\n node.properties['__bunCommand__'] = npmCommand.replace('npm install', 'bun add')\n }\n\n // npx create.\n if (node.properties?.['__rawString__']?.startsWith('npx create-')) {\n const npmCommand = node.properties?.['__rawString__']\n node.properties['__npmCommand__'] = npmCommand\n node.properties['__yarnCommand__'] = npmCommand.replace('npx create-', 'yarn create ')\n node.properties['__pnpmCommand__'] = npmCommand.replace('npx create-', 'pnpm create ')\n node.properties['__bunCommand__'] = npmCommand.replace('npx', 'bunx --bun')\n }\n\n // npx.\n if (\n node.properties?.['__rawString__']?.startsWith('npx') &&\n !node.properties?.['__rawString__']?.startsWith('npx create-')\n ) {\n const npmCommand = node.properties?.['__rawString__']\n node.properties['__npmCommand__'] = npmCommand\n node.properties['__yarnCommand__'] = npmCommand.replace('npx', 'yarn dlx')\n node.properties['__pnpmCommand__'] = npmCommand.replace('npx', 'pnpm dlx')\n node.properties['__bunCommand__'] = npmCommand.replace('npx', 'bunx --bun')\n }\n })\n }\n}\n"],"mappings":"yCAGA,SAAgB,GAAmB,CACjC,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC3B,OAAK,OAAS,WAAa,GAAM,UAAY,OAKjD,IAAI,EAAK,YAAa,eAAkB,WAAW,cAAc,CAAE,CACjE,IAAM,EAAa,EAAK,YAAa,cACrC,EAAK,WAAW,eAAoB,EACpC,EAAK,WAAW,gBAAqB,EAAW,QAAQ,cAAe,WAAW,CAClF,EAAK,WAAW,gBAAqB,EAAW,QAAQ,cAAe,WAAW,CAClF,EAAK,WAAW,eAAoB,EAAW,QAAQ,cAAe,UAAU,CAIlF,GAAI,EAAK,YAAa,eAAkB,WAAW,cAAc,CAAE,CACjE,IAAM,EAAa,EAAK,YAAa,cACrC,EAAK,WAAW,eAAoB,EACpC,EAAK,WAAW,gBAAqB,EAAW,QAAQ,cAAe,eAAe,CACtF,EAAK,WAAW,gBAAqB,EAAW,QAAQ,cAAe,eAAe,CACtF,EAAK,WAAW,eAAoB,EAAW,QAAQ,MAAO,aAAa,CAI7E,GACE,EAAK,YAAa,eAAkB,WAAW,MAAM,EACrD,CAAC,EAAK,YAAa,eAAkB,WAAW,cAAc,CAC9D,CACA,IAAM,EAAa,EAAK,YAAa,cACrC,EAAK,WAAW,eAAoB,EACpC,EAAK,WAAW,gBAAqB,EAAW,QAAQ,MAAO,WAAW,CAC1E,EAAK,WAAW,gBAAqB,EAAW,QAAQ,MAAO,WAAW,CAC1E,EAAK,WAAW,eAAoB,EAAW,QAAQ,MAAO,aAAa,IAE7E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{visit as e}from"unist-util-visit";import{toString as t}from"hast-util-to-string";function n(){return n=>{e(n,e=>{if(e?.type===`element`&&e?.tagName===`div`&&e?.properties){if(!(`data-rehype-pretty-code-fragment`in e.properties))return;e.children?.forEach(e=>{e?.type===`element`&&e?.tagName===`pre`&&(e.properties={...e?.properties,__rawString__:t(e)})})}})}}export{n as t};
|
|
2
|
-
//# sourceMappingURL=rehype-pre-block-source-
|
|
2
|
+
//# sourceMappingURL=rehype-pre-block-source-D8t3NCnT.js.map
|
package/dist/{rehype-pre-block-source-Bz3-G4tr.js.map → rehype-pre-block-source-D8t3NCnT.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-pre-block-source-
|
|
1
|
+
{"version":3,"file":"rehype-pre-block-source-D8t3NCnT.js","names":[],"sources":["../src/velite/plugins/rehype-pre-block-source.ts"],"sourcesContent":["import type { UnistNode, UnistTree } from '@duck-docs/types'\nimport type { Nodes } from 'hast'\nimport { toString } from 'hast-util-to-string'\nimport { visit } from 'unist-util-visit'\n\nexport function rehypePreBlockSource() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node?.type === 'element' && node?.tagName === 'div' && node?.properties) {\n if (!('data-rehype-pretty-code-fragment' in node.properties)) {\n return\n }\n\n node.children?.forEach((child: UnistNode) => {\n if (child?.type === 'element' && child?.tagName === 'pre') {\n child.properties = {\n ...child?.properties,\n __rawString__: toString(child as Nodes),\n }\n }\n })\n }\n })\n }\n}\n"],"mappings":"wFAKA,SAAgB,GAAuB,CACrC,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC/B,GAAI,GAAM,OAAS,WAAa,GAAM,UAAY,OAAS,GAAM,WAAY,CAC3E,GAAI,EAAE,qCAAsC,EAAK,YAC/C,OAGF,EAAK,UAAU,QAAS,GAAqB,CACvC,GAAO,OAAS,WAAa,GAAO,UAAY,QAClD,EAAM,WAAa,CACjB,GAAG,GAAO,WACV,cAAe,EAAS,EAAe,CACxC,GAEH,GAEJ"}
|
package/dist/{rehype-pre-block-source-Le9z9RN8.d.ts → rehype-pre-block-source-zKoXg4aL.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as UnistTree } from "./unist-
|
|
1
|
+
import { r as UnistTree } from "./unist-DN6buKAy.js";
|
|
2
2
|
|
|
3
3
|
//#region src/velite/plugins/rehype-pre-block-source.d.ts
|
|
4
4
|
declare function rehypePreBlockSource(): (tree: UnistTree) => void;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { rehypePreBlockSource as t };
|
|
7
|
-
//# sourceMappingURL=rehype-pre-block-source-
|
|
7
|
+
//# sourceMappingURL=rehype-pre-block-source-zKoXg4aL.d.ts.map
|
package/dist/{rehype-pre-block-source-Le9z9RN8.d.ts.map → rehype-pre-block-source-zKoXg4aL.d.ts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-pre-block-source-
|
|
1
|
+
{"version":3,"file":"rehype-pre-block-source-zKoXg4aL.d.ts","names":[],"sources":["../src/velite/plugins/rehype-pre-block-source.ts"],"sourcesContent":[],"mappings":";;;iBAKgB,oBAAA,CAAA,UACA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{visit as e}from"unist-util-visit";function t(){return t=>{e(t,e=>{if(e?.type===`element`&&e?.tagName===`div`&&e?.properties){if(!(`data-rehype-pretty-code-fragment`in e.properties))return;e.children?.forEach(e=>{e.type===`element`&&e.tagName===`div`&&Object.keys(e.properties??{}).includes(`data-rehype-pretty-code-title`)&&(e.tagName=`figcaption`)})}})}}export{t};
|
|
2
|
-
//# sourceMappingURL=rehype-title-
|
|
2
|
+
//# sourceMappingURL=rehype-title-TRUGszot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehype-title-
|
|
1
|
+
{"version":3,"file":"rehype-title-TRUGszot.js","names":[],"sources":["../src/velite/plugins/rehype-title.ts"],"sourcesContent":["import type { UnistNode, UnistTree } from '@duck-docs/types'\nimport { visit } from 'unist-util-visit'\n\nexport function rehypeTitle() {\n return (tree: UnistTree) => {\n visit(tree, (node: UnistNode) => {\n if (node?.type === 'element' && node?.tagName === 'div' && node?.properties) {\n if (!('data-rehype-pretty-code-fragment' in node.properties)) {\n return\n }\n\n node.children?.forEach((child: UnistNode) => {\n if (\n child.type === 'element' &&\n child.tagName === 'div' &&\n Object.keys(child.properties ?? {}).includes('data-rehype-pretty-code-title')\n ) {\n child.tagName = 'figcaption'\n }\n })\n }\n })\n }\n}\n"],"mappings":"yCAGA,SAAgB,GAAc,CAC5B,MAAQ,IAAoB,CAC1B,EAAM,EAAO,GAAoB,CAC/B,GAAI,GAAM,OAAS,WAAa,GAAM,UAAY,OAAS,GAAM,WAAY,CAC3E,GAAI,EAAE,qCAAsC,EAAK,YAC/C,OAGF,EAAK,UAAU,QAAS,GAAqB,CAEzC,EAAM,OAAS,WACf,EAAM,UAAY,OAClB,OAAO,KAAK,EAAM,YAAc,EAAE,CAAC,CAAC,SAAS,gCAAgC,GAE7E,EAAM,QAAU,eAElB,GAEJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as UnistTree } from "./unist-
|
|
1
|
+
import { r as UnistTree } from "./unist-DN6buKAy.js";
|
|
2
2
|
|
|
3
3
|
//#region src/velite/plugins/rehype-title.d.ts
|
|
4
4
|
declare function rehypeTitle(): (tree: UnistTree) => void;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { rehypeTitle as t };
|
|
7
|
-
//# sourceMappingURL=rehype-title-
|
|
7
|
+
//# sourceMappingURL=rehype-title-umwuNb2D.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rehype-title-umwuNb2D.d.ts","names":[],"sources":["../src/velite/plugins/rehype-title.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,WAAA,CAAA,UACA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cn as e}from"@gentleduck/libs/cn";import{jsx as t}from"react/jsx-runtime";const n=({children:n,className:r,viewportClassName:i,style:a,...o})=>t(`div`,{className:e(`relative overflow-hidden`,r),style:a,...o,"data-slot":`scroll-area`,children:t(`div`,{className:e(`scrollbar-none h-full w-full overflow-auto`,i),children:n})});export{n as t};
|
|
2
|
+
//# sourceMappingURL=scroll-area-Bj8-58Fz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scroll-area-Bj8-58Fz.js","names":[],"sources":["../../registry-ui-duckui/src/scroll-area/scroll-area.tsx"],"sourcesContent":["import { cn } from '@gentleduck/libs/cn'\nimport type * as React from 'react'\n\ninterface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement> {\n viewportClassName?: string\n}\n\nconst ScrollArea = ({ children, className, viewportClassName, style, ...props }: ScrollAreaProps) => {\n return (\n <div className={cn('relative overflow-hidden', className)} style={style} {...props} data-slot=\"scroll-area\">\n <div className={cn('scrollbar-none h-full w-full overflow-auto', viewportClassName)}>{children}</div>\n </div>\n )\n}\n\nexport { ScrollArea }\n"],"mappings":"iFAOA,MAAM,GAAc,CAAE,WAAU,YAAW,oBAAmB,QAAO,GAAG,KAEpE,EAAC,MAAA,CAAI,UAAW,EAAG,2BAA4B,EAAU,CAAS,QAAO,GAAI,EAAO,YAAU,uBAC5F,EAAC,MAAA,CAAI,UAAW,EAAG,6CAA8C,EAAkB,CAAG,YAAe,EACjG"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{cn as e}from"@gentleduck/libs/cn";import{jsx as t}from"react/jsx-runtime";const n=({className:n,orientation:r=`horizontal`,ref:i,...a})=>t(`hr`,{"aria-orientation":r,className:e(`shrink-0 bg-border`,r===`horizontal`?`h-[1px] w-full`:`min-h-full w-[1px]`,n),ref:i,...a,"data-slot":`separator`});export{n as t};
|
|
2
|
+
//# sourceMappingURL=separator-t0JrmyLj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"separator-t0JrmyLj.js","names":[],"sources":["../../registry-ui-duckui/src/separator/separator.tsx"],"sourcesContent":["'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport type * as React from 'react'\n\nconst Separator = ({\n className,\n orientation = 'horizontal',\n ref,\n ...props\n}: React.HTMLProps<HTMLHRElement> & {\n className?: string\n orientation?: 'horizontal' | 'vertical'\n}) => (\n <hr\n aria-orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'min-h-full w-[1px]',\n className,\n )}\n ref={ref}\n {...props}\n data-slot=\"separator\"\n />\n)\n\nexport { Separator }\n"],"mappings":"iFAKA,MAAM,GAAa,CACjB,YACA,cAAc,aACd,MACA,GAAG,KAKH,EAAC,KAAA,CACC,mBAAkB,EAClB,UAAW,EACT,qBACA,IAAgB,aAAe,iBAAmB,qBAClD,EACD,CACI,MACL,GAAI,EACJ,YAAU,aACV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./button-Ao0Egplu.js";import{o as t}from"./context-CibrcgaK.js";import{Fragment as n,jsx as r,jsxs as i}from"react/jsx-runtime";import{HeartIcon as a,Mail as o}from"lucide-react";import s from"next/link";function c(){let e=t(),a=e.author?.name??e.name,o=e.author?.url??e.links?.twitter,s=e.links?.github;return r(`footer`,{className:`w-full border-t py-6 md:px-8 md:py-0`,children:i(`div`,{className:`container mx-auto flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row`,children:[r(`div`,{className:`flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row`,children:i(`p`,{className:`text-balance text-center text-muted-foreground text-sm leading-loose md:text-left`,children:[`Built by`,` `,o?r(`a`,{className:`font-medium underline underline-offset-4`,href:o,rel:`noreferrer`,target:`_blank`,children:a}):r(`span`,{className:`font-medium`,children:a}),s?i(n,{children:[`. The source code is available on`,` `,r(`a`,{className:`font-medium underline underline-offset-4`,href:s,rel:`noreferrer`,target:`_blank`,children:`GitHub`}),`.`]}):null]})}),r(`div`,{className:`hidden items-center gap-4 md:flex`,children:r(l,{})})]})})}function l(){let c=t();return i(n,{children:[i(s,{className:e({size:`sm`,variant:`outline`}),href:`https://github.com/sponsors/wildduck2`,target:`_blank`,children:[r(a,{className:`mr-2 h-4 w-4 fill-current text-red-600`}),`Sponsor`]}),i(s,{className:e({size:`sm`,variant:`outline`}),href:c.links?.email?`mailto:${c.links.email}`:`mailto:support@gentleduck.org`,target:`_blank`,children:[r(o,{}),r(`span`,{className:``,children:`Email`})]})]})}export{c as n,l as t};
|
|
2
|
+
//# sourceMappingURL=site-footer-BZQcOAVy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-footer-BZQcOAVy.js","names":["Link"],"sources":["../src/components/layouts/site-footer/index.tsx"],"sourcesContent":["'use client'\n\nimport { useSiteConfig } from '@duck-docs/context'\nimport { buttonVariants } from '@gentleduck/registry-ui-duckui/button'\nimport { HeartIcon, Mail } from 'lucide-react'\nimport Link from 'next/link'\n\nexport function SiteFooter() {\n const siteConfig = useSiteConfig()\n const authorName = siteConfig.author?.name ?? siteConfig.name\n const authorUrl = siteConfig.author?.url ?? siteConfig.links?.twitter\n const githubUrl = siteConfig.links?.github\n\n return (\n <footer className=\"w-full border-t py-6 md:px-8 md:py-0\">\n <div className=\"container mx-auto flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row\">\n <div className=\"flex flex-col items-center justify-between gap-4 md:h-24 md:flex-row\">\n <p className=\"text-balance text-center text-muted-foreground text-sm leading-loose md:text-left\">\n Built by{' '}\n {authorUrl ? (\n <a className=\"font-medium underline underline-offset-4\" href={authorUrl} rel=\"noreferrer\" target=\"_blank\">\n {authorName}\n </a>\n ) : (\n <span className=\"font-medium\">{authorName}</span>\n )}\n {githubUrl ? (\n <>\n . The source code is available on{' '}\n <a\n className=\"font-medium underline underline-offset-4\"\n href={githubUrl}\n rel=\"noreferrer\"\n target=\"_blank\">\n GitHub\n </a>\n .\n </>\n ) : null}\n </p>\n </div>\n <div className=\"hidden items-center gap-4 md:flex\">\n <FooterButtons />\n </div>\n </div>\n </footer>\n )\n}\n\nexport function FooterButtons() {\n const siteConfig = useSiteConfig()\n return (\n <>\n <Link\n className={buttonVariants({ size: 'sm', variant: 'outline' })}\n href=\"https://github.com/sponsors/wildduck2\"\n target=\"_blank\">\n <HeartIcon className=\"mr-2 h-4 w-4 fill-current text-red-600\" />\n Sponsor\n </Link>\n <Link\n className={buttonVariants({ size: 'sm', variant: 'outline' })}\n href={siteConfig.links?.email ? `mailto:${siteConfig.links.email}` : 'mailto:support@gentleduck.org'}\n target=\"_blank\">\n <Mail />\n <span className=\"\">Email</span>\n </Link>\n </>\n )\n}\n"],"mappings":"+NAOA,SAAgB,GAAa,CAC3B,IAAM,EAAa,GAAe,CAC5B,EAAa,EAAW,QAAQ,MAAQ,EAAW,KACnD,EAAY,EAAW,QAAQ,KAAO,EAAW,OAAO,QACxD,EAAY,EAAW,OAAO,OAEpC,OACE,EAAC,SAAA,CAAO,UAAU,gDAChB,EAAC,MAAA,CAAI,UAAU,mGACb,EAAC,MAAA,CAAI,UAAU,gFACb,EAAC,IAAA,CAAE,UAAU,8FAAoF,WACtF,IACR,EACC,EAAC,IAAA,CAAE,UAAU,2CAA2C,KAAM,EAAW,IAAI,aAAa,OAAO,kBAC9F,GACC,CAEJ,EAAC,OAAA,CAAK,UAAU,uBAAe,GAAkB,CAElD,EACC,EAAA,EAAA,CAAA,SAAA,CAAE,oCACkC,IAClC,EAAC,IAAA,CACC,UAAU,2CACV,KAAM,EACN,IAAI,aACJ,OAAO,kBAAS,UAEd,OAEH,CACD,OACF,EACA,CACN,EAAC,MAAA,CAAI,UAAU,6CACb,EAAC,EAAA,EAAA,CAAgB,EACb,CAAA,EACF,EACC,CAIb,SAAgB,GAAgB,CAC9B,IAAM,EAAa,GAAe,CAClC,OACE,EAAA,EAAA,CAAA,SAAA,CACE,EAACA,EAAAA,CACC,UAAW,EAAe,CAAE,KAAM,KAAM,QAAS,UAAW,CAAC,CAC7D,KAAK,wCACL,OAAO,mBACP,EAAC,EAAA,CAAU,UAAU,yCAAA,CAA2C,CAAA,UAAA,EAE3D,CACP,EAACA,EAAAA,CACC,UAAW,EAAe,CAAE,KAAM,KAAM,QAAS,UAAW,CAAC,CAC7D,KAAM,EAAW,OAAO,MAAQ,UAAU,EAAW,MAAM,QAAU,gCACrE,OAAO,mBACP,EAAC,EAAA,EAAA,CAAO,CACR,EAAC,OAAA,CAAK,UAAU,YAAG,SAAY,CAAA,EAC1B,CAAA,CAAA,CACN"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./button-Ao0Egplu.js";import{o as t}from"./context-CibrcgaK.js";import{t as n}from"./command-menu-BYWVu7O7.js";import{n as r,r as i}from"./header-shell-BnhiboVH.js";import{t as a}from"./main-nav-Ci0i9b05.js";import{t as o}from"./mobile-nav-BAkYO55-.js";import{t as s}from"./mode-toggle-BFNnk0Th.js";import{cn as c}from"@gentleduck/libs/cn";import l from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{CaseUpper as f,Github as p,Twitter as m,Type as h}from"lucide-react";import g from"next/link";import{useAtom as _}from"jotai";import{atomWithStorage as v}from"jotai/utils";function y(){let l=t();return u(i,{className:`border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70`,children:d(r,{children:[u(a,{}),u(o,{}),d(`div`,{className:`flex flex-1 items-center justify-between space-x-2 md:justify-end`,children:[u(`div`,{className:`w-full flex-1 md:w-auto md:flex-none`,children:u(n,{})}),d(`nav`,{className:`flex items-center`,children:[u(b,{}),u(S,{}),l.links?.twitter?u(g,{"aria-label":`Twitter`,href:l.links.twitter,rel:`noreferrer`,target:`_blank`,children:u(`div`,{className:c(e({size:`icon`,variant:`ghost`})),children:u(m,{})})}):null,u(s,{})]})]})]})})}function b(){let[n,r]=l.useState(null),i=t(),a=i.links?.github?.replace(`https://github.com/`,``).replace(/\/$/,``),o=i.githubRepo??a;return l.useEffect(()=>{async function e(){try{if(!o)return;r((await(await fetch(`https://api.github.com/repos/${o}`)).json()).stargazers_count)}catch(e){console.error(`Failed to fetch stars:`,e)}}e()},[]),i.links?.github?u(g,{"aria-label":`GitHub`,href:i.links.github,rel:`noopener noreferrer`,target:`_blank`,children:d(`div`,{className:c(e({className:`size-auto h-8 w-16 font-medium text-sm`,size:`icon`,variant:`ghost`})),children:[u(p,{}),n===null?`...`:n.toLocaleString()]})}):null}const x=v(`fontType`,`mono`);function S(){let[t,n]=_(x),r=l.useRef(!0);return l.useEffect(()=>{if(r.current){r.current=!1;return}let e=t===`sans`?`var(--font-geist-sans, "Montserrat"), sans-serif`:`var(--font-geist-mono, "Geist Mono"), monospace`;document.documentElement.style.setProperty(`font-family`,e,`important`)},[t]),u(`div`,{className:c(e({size:`icon`,variant:`ghost`})),onClick:()=>n(t===`mono`?`sans`:`mono`),children:u(t===`mono`?h:f,{})})}export{y as n,S as t};
|
|
2
|
+
//# sourceMappingURL=site-header-BT02DWt0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-header-BT02DWt0.js","names":["Link"],"sources":["../src/components/layouts/site-header/index.tsx"],"sourcesContent":["'use client'\n\nimport { CommandMenu } from '@duck-docs/components/layouts/command-menu'\nimport { MainNav } from '@duck-docs/components/main-nav'\nimport { MobileNav } from '@duck-docs/components/mobile-nav'\nimport { ModeSwitcher } from '@duck-docs/components/mode-toggle'\nimport { useSiteConfig } from '@duck-docs/context'\nimport { cn } from '@gentleduck/libs/cn'\nimport { buttonVariants } from '@gentleduck/registry-ui-duckui/button'\nimport { useAtom } from 'jotai'\nimport { atomWithStorage } from 'jotai/utils'\nimport { CaseUpper, Github, Twitter, Type } from 'lucide-react'\nimport Link from 'next/link'\nimport React from 'react'\nimport { HeaderContainer, HeaderRoot } from './header-shell'\n\nexport function SiteHeader() {\n const siteConfig = useSiteConfig()\n\n return (\n <HeaderRoot className=\"border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70\">\n <HeaderContainer>\n <MainNav />\n <MobileNav />\n <div className=\"flex flex-1 items-center justify-between space-x-2 md:justify-end\">\n <div className=\"w-full flex-1 md:w-auto md:flex-none\">\n <CommandMenu />\n </div>\n <nav className=\"flex items-center\">\n <GitHubStarsButton />\n <FontStyleButton />\n {siteConfig.links?.twitter ? (\n <Link aria-label=\"Twitter\" href={siteConfig.links.twitter} rel=\"noreferrer\" target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <Twitter />\n </div>\n </Link>\n ) : null}\n <ModeSwitcher />\n </nav>\n </div>\n </HeaderContainer>\n </HeaderRoot>\n )\n}\n\nfunction GitHubStarsButton() {\n const [stars, setStars] = React.useState<number | null>(null)\n const siteConfig = useSiteConfig()\n const repoFromUrl = siteConfig.links?.github?.replace('https://github.com/', '').replace(/\\/$/, '')\n const repo = siteConfig.githubRepo ?? repoFromUrl\n\n React.useEffect(() => {\n async function fetchStars() {\n try {\n if (!repo) {\n return\n }\n const res = await fetch(`https://api.github.com/repos/${repo}`)\n const data = await res.json()\n setStars(data.stargazers_count)\n } catch (err) {\n console.error('Failed to fetch stars:', err)\n }\n }\n fetchStars()\n }, [])\n\n if (!siteConfig.links?.github) {\n return null\n }\n\n return (\n <Link aria-label=\"GitHub\" href={siteConfig.links.github} rel=\"noopener noreferrer\" target=\"_blank\">\n <div\n className={cn(\n buttonVariants({\n className: 'size-auto h-8 w-16 font-medium text-sm',\n size: 'icon',\n variant: 'ghost',\n }),\n )}>\n <Github />\n {stars !== null ? stars.toLocaleString() : '...'}\n </div>\n </Link>\n )\n}\nconst fontAtom = atomWithStorage('fontType', 'mono')\n\nexport function FontStyleButton() {\n const [fontType, setFontType] = useAtom(fontAtom)\n const firstRender = React.useRef(true)\n\n React.useEffect(() => {\n if (firstRender.current) {\n firstRender.current = false\n return\n }\n\n const family =\n fontType === 'sans'\n ? 'var(--font-geist-sans, \"Montserrat\"), sans-serif'\n : 'var(--font-geist-mono, \"Geist Mono\"), monospace'\n\n document.documentElement.style.setProperty('font-family', family, 'important')\n }, [fontType])\n\n return (\n <div\n className={cn(buttonVariants({ size: 'icon', variant: 'ghost' }))}\n onClick={() => setFontType(fontType === 'mono' ? 'sans' : 'mono')}>\n {fontType === 'mono' ? <Type /> : <CaseUpper />}\n </div>\n )\n}\n\nexport { HeaderBrand, HeaderContainer, HeaderRoot, HeaderSection } from './header-shell'\n"],"mappings":"imBAgBA,SAAgB,GAAa,CAC3B,IAAM,EAAa,GAAe,CAElC,OACE,EAAC,EAAA,CAAW,UAAU,mHACpB,EAAC,EAAA,CAAA,SAAA,CACC,EAAC,EAAA,EAAA,CAAU,CACX,EAAC,EAAA,EAAA,CAAY,CACb,EAAC,MAAA,CAAI,UAAU,8EACb,EAAC,MAAA,CAAI,UAAU,gDACb,EAAC,EAAA,EAAA,CAAc,EACX,CACN,EAAC,MAAA,CAAI,UAAU,8BACb,EAAC,EAAA,EAAA,CAAoB,CACrB,EAAC,EAAA,EAAA,CAAkB,CAClB,EAAW,OAAO,QACjB,EAACA,EAAAA,CAAK,aAAW,UAAU,KAAM,EAAW,MAAM,QAAS,IAAI,aAAa,OAAO,kBACjF,EAAC,MAAA,CACC,UAAW,EACT,EAAe,CACb,KAAM,OACN,QAAS,QACV,CAAC,CACH,UACD,EAAC,EAAA,EAAA,CAAU,EACP,EACD,CACL,KACJ,EAAC,EAAA,EAAA,CAAe,GACZ,CAAA,EACF,GACU,EACP,CAIjB,SAAS,GAAoB,CAC3B,GAAM,CAAC,EAAO,GAAY,EAAM,SAAwB,KAAK,CACvD,EAAa,GAAe,CAC5B,EAAc,EAAW,OAAO,QAAQ,QAAQ,sBAAuB,GAAG,CAAC,QAAQ,MAAO,GAAG,CAC7F,EAAO,EAAW,YAAc,EAsBtC,OApBA,EAAM,cAAgB,CACpB,eAAe,GAAa,CAC1B,GAAI,CACF,GAAI,CAAC,EACH,OAIF,GADa,MADD,MAAM,MAAM,gCAAgC,IAAO,EACxC,MAAM,EACf,iBAAiB,OACxB,EAAK,CACZ,QAAQ,MAAM,yBAA0B,EAAI,EAGhD,GAAY,EACX,EAAE,CAAC,CAED,EAAW,OAAO,OAKrB,EAACA,EAAAA,CAAK,aAAW,SAAS,KAAM,EAAW,MAAM,OAAQ,IAAI,sBAAsB,OAAO,kBACxF,EAAC,MAAA,CACC,UAAW,EACT,EAAe,CACb,UAAW,yCACX,KAAM,OACN,QAAS,QACV,CAAC,CACH,WACD,EAAC,EAAA,EAAA,CAAS,CACT,IAAU,KAAgC,MAAzB,EAAM,gBAAgB,CAAG,EACvC,EACD,CAhBA,KAmBX,MAAM,EAAW,EAAgB,WAAY,OAAO,CAEpD,SAAgB,GAAkB,CAChC,GAAM,CAAC,EAAU,GAAe,EAAQ,EAAS,CAC3C,EAAc,EAAM,OAAO,GAAK,CAgBtC,OAdA,EAAM,cAAgB,CACpB,GAAI,EAAY,QAAS,CACvB,EAAY,QAAU,GACtB,OAGF,IAAM,EACJ,IAAa,OACT,mDACA,kDAEN,SAAS,gBAAgB,MAAM,YAAY,cAAe,EAAQ,YAAY,EAC7E,CAAC,EAAS,CAAC,CAGZ,EAAC,MAAA,CACC,UAAW,EAAG,EAAe,CAAE,KAAM,OAAQ,QAAS,QAAS,CAAC,CAAC,CACjE,YAAe,EAAY,IAAa,OAAS,OAAS,OAAO,UAC1C,EAAtB,IAAa,OAAU,EAAW,EAAX,EAAA,CAAuB,EAC3C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,t}from"./button-Ao0Egplu.js";import{i as n,n as r,r as i,t as a}from"./popover-DBuHxfGT.js";import{d as o,f as s,u as c}from"./command-2PGkRCUM.js";import{t as l}from"./use-config-DViAkW1f.js";import{t as u}from"./registry-styles-Bby12FIz.js";import{cn as d}from"@gentleduck/libs/cn";import*as f from"react";import p from"react";import{jsx as m,jsxs as h}from"react/jsx-runtime";import{CheckIcon as g,ChevronDown as _,ChevronUp as v}from"lucide-react";function y(e,t,n,r){p.useEffect(()=>{if(!e||!r.current)return;let i=r.current,a=i.parentElement?.querySelector(`[duck-select-scroll-down-button]`),o=i.parentElement?.querySelector(`[duck-select-scroll-up-button]`);if(!a||!o)return;let s=null,c=()=>{if(!t.current||!n.current)return;let e=t.current.findIndex(e=>e.id===n.current?.id);if(e===-1)return;let r=Math.min(e+1,t.current.length-1);n.current=t.current[r],i.scrollTop=n.current.offsetTop-i.clientHeight/2},l=()=>{if(!t.current||!n.current)return;let e=t.current.findIndex(e=>e.id===n.current?.id);if(e===-1)return;let r=Math.max(e-1,0);n.current=t.current[r],i.scrollTop=n.current.offsetTop-i.clientHeight/2},u=e=>{d(),e(),s=setInterval(e,40)},d=()=>{s&&=(clearInterval(s),null)},f=()=>u(c),p=d,m=()=>u(l),h=d;return a.addEventListener(`mouseenter`,f),a.addEventListener(`mouseleave`,p),o.addEventListener(`mouseenter`,m),o.addEventListener(`mouseleave`,h),()=>{a.removeEventListener(`mouseenter`,f),a.removeEventListener(`mouseleave`,p),o.removeEventListener(`mouseenter`,m),o.removeEventListener(`mouseleave`,h),d()}},[e,t,n,r])}function b(e,t,n,r,i,a,c,l,u,d){let f=n.current?.querySelectorAll(`[duck-select-item]`),p=n.current?.querySelectorAll(`[duck-select-group]`);if(i.current=Array.from(f??[]),t.current=Array.from(p??[]),i.current=i.current.filter(e=>!(e.hasAttribute(`aria-disabled`)||e.getAttribute(`aria-disabled`)===`true`)),!r.current){let e=null;e=l?i.current.find(e=>e.getAttribute(`value`)===l||e.getAttribute(`data-value`)===l)??null:d?i.current.find(e=>e.getAttribute(`value`)===d||e.getAttribute(`data-value`)===d)??null:i.current?.[0]??null,e&&(r.current=e,a(e))}for(let t=0;t<i.current?.length;t++){let n=i.current[t];(r.current?.getAttribute(`value`)===n.getAttribute(`value`)||n.getAttribute(`data-value`)===l)&&e&&s(n),r.current||o(n),n.onclick=()=>{r.current=n,a(n),u(n.getAttribute(`value`)),c(!1);for(let e=0;e<i.current?.length;e++){let t=i.current[e];o(t)}}}}const x=f.createContext(null);function S(){let e=f.useContext(x);if(e===null)throw Error(`useSelectContext must be used within a SelectProvider`);return e}function C({children:e,scrollable:t=!1,value:r,onValueChange:i=()=>{},defaultValue:a=``}){let{open:o,setOpen:s}=n(),l=f.useRef(null),u=f.useRef(null),d=f.useRef([]),[p,h]=f.useState(null),g=f.useRef([]),_=f.useRef(null),v=r??``;return f.useEffect(()=>{_.current=null,h(null)},[r,a]),f.useEffect(()=>{let e=window.setTimeout(()=>{b(o,d,u,_,g,h,s,v,i,a)},0);return()=>window.clearTimeout(e)},[o,v,a,s,i]),y(o,g,_,u),c({containerRef:u,itemsRef:g,open:o,originalItemsRef:g,selectedItem:p,setSelectedItem:e=>{_.current=e}}),m(x.Provider,{value:{contentRef:u,groupsRef:d,itemsRef:g,open:o,scrollable:t,selectedItem:p,triggerRef:l,value:p?.getAttribute(`value`)??(v||a)},children:m(`div`,{children:e})})}function w({children:e,onValueChange:t,contextMenu:n,defaultValue:r,value:i,...o}){return m(a,{...o,contextMenu:n,matchWidth:!0,children:m(C,{...o,defaultValue:r,onValueChange:t,value:i,children:e})})}function T({children:t,className:n,customIndicator:r,ref:a,...o}){let{triggerRef:s}=S();return h(i,{...o,className:d(e({variant:`outline`}),`w-full justify-between text-base`,n),"data-slot":`select-trigger`,"duck-select-trigger":``,ref:s,children:[t,m(`span`,{className:`[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground [&>svg]:duration-300`,children:r||m(_,{className:`-mr-1`})})]})}function E({children:e,className:t,...n}){let{scrollable:i,contentRef:a}=S();return h(r,{className:d(`w-auto px-1.5 [&>div]:w-full`,i?`py-0`:`py-1`,t),"data-slot":`select-content`,"duck-select-content":``,...n,children:[i&&m(A,{}),m(`div`,{className:d(i&&`max-h-[450px] overflow-y-scroll`),"data-slot":`select-content-scrollable`,"duck-select-content-scrollable":``,ref:a,children:e}),i&&m(j,{})]})}function D({className:e,children:t,placeholder:n,...r}){let{value:i}=S();return m(`div`,{className:d(`relative flex select-none items-center gap-2 truncate rounded-xs text-sm outline-hidden`,e),...r,"data-slot":`select-value`,"duck-select-value":``,children:i.length>0?i:m(`span`,{className:`text-muted-foreground`,children:n})})}function O({children:e,value:t,className:n,disabled:r,ref:i,...a}){let{value:o,selectedItem:s}=S(),c=f.useId();return h(`li`,{"aria-haspopup":`dialog`,id:c,popoverTarget:c,popoverTargetAction:`hide`,ref:i,role:`checkbox`,...a,"aria-disabled":r,className:d(`relative flex flex w-full cursor-default cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1 text-sm outline-hidden transition-color duration-300 will-change-300 hover:bg-muted hover:text-accent-foreground data-[selected=true]:text-accent-foreground [&[aria-selected]]:bg-muted`,r&&`pointer-events-none opacity-50`),"data-slot":`select-item`,"data-value":t,"duck-select-item":``,value:t,children:[m(`div`,{className:d(`relative flex select-none items-center gap-2 truncate rounded-xs text-sm outline-hidden`,n),children:e}),(o.length>0?o:s?.getAttribute(`data-value`))===String(t)&&m(`span`,{className:`absolute flex items-center justify-center transition-none duration-0 ltr:right-2 ltr:pl-2 rtl:left-2 rtl:pr-2`,"data-slot":`select-indicator`,"duck-select-indicator":``,id:`select-indicator`,children:m(g,{className:`!size-3.5 shrink-0`})})]})}function k({children:e,className:n,scrollDown:r,...i}){return m(t,{className:d(`sticky z-50 w-full cursor-default cursor-pointer rounded-none bg-background p-0 [&>div]:justify-center`,r?`bottom-0`:``,n),size:`sm`,variant:`nothing`,...i,"data-slot":`select-scroll-up-button`,"duck-select-scroll-button":``,children:m(r?_:v,{className:`shrink-0`})})}function A(e){return m(k,{...e,"data-slot":`select-scroll-up-button`,"duck-select-scroll-up-button":``,scrollDown:!1})}function j(e){return m(k,{...e,"data-slot":`select-scroll-down-button`,"duck-select-scroll-down-button":``,scrollDown:!0})}function M({className:e,...t}){let[n,r]=l();return h(w,{onValueChange:(e=>r({...n,style:e})),value:n.style,children:[h(T,{className:d(`h-7 w-[145px] text-xs [&_svg]:h-4 [&_svg]:w-4`,e),...t,children:[m(`span`,{className:`text-muted-foreground`,children:`Style: `}),m(D,{placeholder:`Select style`})]}),m(E,{children:u.map(e=>m(O,{className:`text-xs`,value:e.name,children:e.label},e.name))})]})}export{M as t};
|
|
2
|
+
//# sourceMappingURL=style-switcher-BvF4n8f4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-switcher-BvF4n8f4.js","names":["intervalId: NodeJS.Timeout | null","item: HTMLLIElement | null","i","item","React","usePopoverContext"],"sources":["../../registry-ui-duckui/src/select/select.hooks.ts","../../registry-ui-duckui/src/select/select.libs.ts","../../registry-ui-duckui/src/select/select.tsx","../src/components/themes/style-switcher.tsx"],"sourcesContent":["import React from 'react'\n\nexport function useSelectScroll(\n open: boolean,\n itemsRef: React.RefObject<HTMLLIElement[]>,\n selectedItemRef: React.RefObject<HTMLLIElement | null>,\n contentRef: React.RefObject<HTMLDivElement | null>, // make sure this is the scrollable div, not the dialog\n) {\n React.useEffect(() => {\n if (!open || !contentRef.current) return\n\n const scrollContainer = contentRef.current\n const keyDown = scrollContainer.parentElement?.querySelector<HTMLButtonElement>('[duck-select-scroll-down-button]')\n const keyUp = scrollContainer.parentElement?.querySelector<HTMLButtonElement>('[duck-select-scroll-up-button]')\n\n if (!keyDown || !keyUp) return\n\n let intervalId: NodeJS.Timeout | null = null\n\n const moveSelectionDown = () => {\n if (!itemsRef.current || !selectedItemRef.current) return\n\n const currentIndex = itemsRef.current.findIndex((item) => item.id === selectedItemRef.current?.id)\n if (currentIndex === -1) return\n\n const nextIndex = Math.min(currentIndex + 1, itemsRef.current.length - 1)\n selectedItemRef.current = itemsRef.current[nextIndex] as HTMLLIElement\n\n // Instead of scrollIntoView, scroll only inside the container\n scrollContainer.scrollTop = selectedItemRef.current.offsetTop - scrollContainer.clientHeight / 2\n }\n\n const moveSelectionUp = () => {\n if (!itemsRef.current || !selectedItemRef.current) return\n\n const currentIndex = itemsRef.current.findIndex((item) => item.id === selectedItemRef.current?.id)\n if (currentIndex === -1) return\n\n const prevIndex = Math.max(currentIndex - 1, 0)\n selectedItemRef.current = itemsRef.current[prevIndex] as HTMLLIElement\n\n scrollContainer.scrollTop = selectedItemRef.current.offsetTop - scrollContainer.clientHeight / 2\n }\n\n const startInterval = (fn: () => void) => {\n stopInterval()\n fn()\n intervalId = setInterval(fn, 40)\n }\n\n const stopInterval = () => {\n if (intervalId) {\n clearInterval(intervalId)\n intervalId = null\n }\n }\n\n // Store references so removeEventListener works\n const handleDownEnter = () => startInterval(moveSelectionDown)\n const handleDownLeave = stopInterval\n const handleUpEnter = () => startInterval(moveSelectionUp)\n const handleUpLeave = stopInterval\n\n keyDown.addEventListener('mouseenter', handleDownEnter)\n keyDown.addEventListener('mouseleave', handleDownLeave)\n keyUp.addEventListener('mouseenter', handleUpEnter)\n keyUp.addEventListener('mouseleave', handleUpLeave)\n\n return () => {\n keyDown.removeEventListener('mouseenter', handleDownEnter)\n keyDown.removeEventListener('mouseleave', handleDownLeave)\n keyUp.removeEventListener('mouseenter', handleUpEnter)\n keyUp.removeEventListener('mouseleave', handleUpLeave)\n stopInterval()\n }\n }, [open, itemsRef, selectedItemRef, contentRef])\n}\n","import { dstyleItem, styleItem } from '../command'\n\nexport function initRefs(\n open: boolean,\n groupsRef: React.RefObject<HTMLUListElement[] | null>,\n contentRef: React.RefObject<HTMLDivElement | null>,\n selectedItemRef: React.RefObject<HTMLLIElement | null>,\n itemsRef: React.RefObject<HTMLLIElement[]>,\n setSelectedItem: (item: HTMLLIElement) => void,\n onOpenChange: (open: boolean) => void,\n value: string,\n onValueChange: (value: string) => void,\n defaultValue: string,\n) {\n const items = contentRef.current?.querySelectorAll('[duck-select-item]') as never as HTMLLIElement[]\n const groups = contentRef.current?.querySelectorAll('[duck-select-group]') as never as HTMLUListElement[]\n\n itemsRef.current = Array.from(items ?? [])\n groupsRef.current = Array.from(groups ?? [])\n\n itemsRef.current = itemsRef.current.filter(\n (item) => !(item.hasAttribute('aria-disabled') || item.getAttribute('aria-disabled') === 'true'),\n )\n\n // Select initial item:\n if (!selectedItemRef.current) {\n let item: HTMLLIElement | null = null\n\n if (value) {\n item =\n itemsRef.current.find((el) => el.getAttribute('value') === value || el.getAttribute('data-value') === value) ??\n null\n } else if (defaultValue) {\n item =\n itemsRef.current.find(\n (el) => el.getAttribute('value') === defaultValue || el.getAttribute('data-value') === defaultValue,\n ) ?? null\n } else {\n item = itemsRef.current?.[0] ?? null\n }\n\n if (item) {\n selectedItemRef.current = item\n setSelectedItem(item)\n }\n }\n\n for (let i = 0; i < itemsRef.current?.length; i++) {\n const item = itemsRef.current[i] as HTMLLIElement\n if (\n (selectedItemRef.current?.getAttribute('value') === item.getAttribute('value') ||\n item.getAttribute('data-value') === value) &&\n open\n ) {\n styleItem(item)\n }\n\n if (!selectedItemRef.current) {\n dstyleItem(item)\n }\n\n item.onclick = () => {\n selectedItemRef.current = item\n setSelectedItem(item)\n onValueChange(item.getAttribute('value') as string)\n onOpenChange(false)\n\n for (let i = 0; i < itemsRef.current?.length; i++) {\n const item = itemsRef.current[i] as HTMLLIElement\n dstyleItem(item)\n }\n }\n }\n}\n","'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { usePopoverContext } from '@gentleduck/primitives/popover'\nimport { CheckIcon, ChevronDown, ChevronUp } from 'lucide-react'\nimport * as React from 'react'\nimport { Button, buttonVariants } from '../button'\nimport { useHandleKeyDown } from '../command'\nimport { Popover, PopoverContent, PopoverTrigger } from '../popover'\nimport { useSelectScroll } from './select.hooks'\nimport { initRefs } from './select.libs'\nimport type { SelectContextType } from './select.types'\n\nexport const SelectContext = React.createContext<SelectContextType | null>(null)\nexport function useSelectContext() {\n const context = React.useContext(SelectContext)\n if (context === null) {\n throw new Error('useSelectContext must be used within a SelectProvider')\n }\n return context\n}\n\nfunction SelectWrapper({\n children,\n scrollable = false,\n value,\n onValueChange = () => {},\n defaultValue = '',\n}: {\n children: React.ReactNode\n scrollable?: boolean\n value?: string\n onValueChange?: (value: string) => void\n defaultValue?: string\n}) {\n const { open, setOpen: onOpenChange } = usePopoverContext()\n\n const triggerRef = React.useRef<HTMLButtonElement | null>(null)\n const contentRef = React.useRef<HTMLDivElement | null>(null)\n const groupsRef = React.useRef<HTMLUListElement[]>([])\n const [selectedItem, setSelectedItem] = React.useState<HTMLLIElement | null>(null)\n const itemsRef = React.useRef<HTMLLIElement[]>([])\n const selectedItemRef = React.useRef<HTMLLIElement | null>(null)\n const selectValue = value ?? ''\n\n React.useEffect(() => {\n selectedItemRef.current = null\n setSelectedItem(null)\n }, [value, defaultValue])\n\n React.useEffect(() => {\n const timeoutId = window.setTimeout(() => {\n initRefs(\n open,\n groupsRef,\n contentRef,\n selectedItemRef,\n itemsRef,\n setSelectedItem,\n onOpenChange,\n selectValue,\n onValueChange,\n defaultValue,\n )\n }, 0)\n\n return () => window.clearTimeout(timeoutId)\n }, [open, selectValue, defaultValue, onOpenChange, onValueChange])\n\n useSelectScroll(open, itemsRef, selectedItemRef, contentRef)\n useHandleKeyDown({\n containerRef: contentRef,\n itemsRef,\n open,\n originalItemsRef: itemsRef,\n selectedItem,\n setSelectedItem: (item) => {\n selectedItemRef.current = item\n },\n })\n\n return (\n <SelectContext.Provider\n value={{\n contentRef,\n groupsRef,\n itemsRef,\n open,\n scrollable,\n selectedItem,\n triggerRef: triggerRef,\n value: selectedItem?.getAttribute('value') ?? (selectValue || defaultValue),\n }}>\n <div>{children}</div>\n </SelectContext.Provider>\n )\n}\n\nfunction Select({\n children,\n onValueChange,\n contextMenu,\n defaultValue,\n value,\n ...props\n}: React.ComponentPropsWithRef<typeof Popover> & {\n defaultValue?: string\n value?: string\n onValueChange?: (value: string) => void\n scrollable?: boolean\n}) {\n return (\n <Popover {...props} contextMenu={contextMenu} matchWidth>\n <SelectWrapper {...props} defaultValue={defaultValue} onValueChange={onValueChange} value={value}>\n {children}\n </SelectWrapper>\n </Popover>\n )\n}\n\nfunction SelectTrigger({\n children,\n className,\n customIndicator,\n ref,\n ...props\n}: React.ComponentPropsWithRef<typeof PopoverTrigger> & { customIndicator?: React.ReactNode }) {\n const { triggerRef } = useSelectContext()\n return (\n <PopoverTrigger\n {...props}\n className={cn(buttonVariants({ variant: 'outline' }), 'w-full justify-between text-base', className)}\n data-slot=\"select-trigger\"\n duck-select-trigger=\"\"\n ref={triggerRef as never}>\n {children}\n <span className=\"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground [&>svg]:duration-300\">\n {customIndicator ? customIndicator : <ChevronDown className=\"-mr-1\" />}\n </span>\n </PopoverTrigger>\n )\n}\n\nfunction SelectContent({ children, className, ...props }: React.ComponentPropsWithRef<typeof PopoverContent>) {\n const { scrollable, contentRef } = useSelectContext()\n return (\n <PopoverContent\n className={cn('w-auto px-1.5 [&>div]:w-full', scrollable ? 'py-0' : 'py-1', className)}\n data-slot=\"select-content\"\n duck-select-content=\"\"\n {...props}>\n {scrollable && <SelectScrollUpButton />}\n <div\n className={cn(scrollable && 'max-h-[450px] overflow-y-scroll')}\n data-slot=\"select-content-scrollable\"\n duck-select-content-scrollable=\"\"\n ref={contentRef}>\n {children}\n </div>\n {scrollable && <SelectScrollDownButton />}\n </PopoverContent>\n )\n}\n\nfunction SelectGroup({ children, ...props }: React.HTMLProps<HTMLUListElement>) {\n return <ul {...props}>{children}</ul>\n}\n\nfunction SelectValue({\n className,\n children,\n placeholder,\n ...props\n}: Omit<React.HTMLProps<HTMLDivElement>, 'placeholder'> & {\n placeholder?: string | number\n}) {\n const { value } = useSelectContext()\n return (\n <div\n className={cn(\n 'relative flex select-none items-center gap-2 truncate rounded-xs text-sm outline-hidden',\n className,\n )}\n {...props}\n data-slot=\"select-value\"\n duck-select-value=\"\">\n {value.length > 0 ? value : <span className=\"text-muted-foreground\">{placeholder}</span>}\n </div>\n )\n}\n\nfunction SelectLabel({ htmlFor, children, className, ref, ...props }: React.HTMLProps<HTMLLabelElement>) {\n return (\n <label\n className={cn('px-2 text-muted-foreground text-sm', className)}\n htmlFor={htmlFor}\n ref={ref}\n {...props}\n data-slot=\"select-label\"\n duck-select-label=\"\">\n {children}\n </label>\n )\n}\n\nfunction SelectItem({\n children,\n value,\n className,\n disabled,\n ref,\n ...props\n}: Omit<React.HTMLProps<HTMLLIElement>, 'value'> & { value: string }) {\n const { value: _value, selectedItem } = useSelectContext()\n const id = React.useId()\n\n return (\n <li\n aria-haspopup=\"dialog\"\n id={id}\n popoverTarget={id}\n popoverTargetAction=\"hide\"\n ref={ref}\n role=\"checkbox\"\n {...props}\n aria-disabled={disabled}\n className={cn(\n 'relative flex flex w-full cursor-default cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1 text-sm outline-hidden transition-color duration-300 will-change-300 hover:bg-muted hover:text-accent-foreground data-[selected=true]:text-accent-foreground [&[aria-selected]]:bg-muted',\n disabled && 'pointer-events-none opacity-50',\n )}\n data-slot=\"select-item\"\n data-value={value}\n duck-select-item=\"\"\n value={value}>\n <div\n className={cn(\n 'relative flex select-none items-center gap-2 truncate rounded-xs text-sm outline-hidden',\n className,\n )}>\n {children}\n </div>\n {(_value.length > 0 ? _value : selectedItem?.getAttribute('data-value')) === String(value) && (\n <span\n className=\"absolute flex items-center justify-center transition-none duration-0 ltr:right-2 ltr:pl-2 rtl:left-2 rtl:pr-2\"\n data-slot=\"select-indicator\"\n duck-select-indicator=\"\"\n id=\"select-indicator\">\n <CheckIcon className=\"!size-3.5 shrink-0\" />\n </span>\n )}\n </li>\n )\n}\n\nfunction SelectSeparator({ children, className, ref, ...props }: React.HTMLProps<HTMLDivElement>) {\n return (\n <div\n className={cn('-mx-1 my-1 h-px bg-muted', className)}\n ref={ref}\n {...props}\n data-slot=\"select-separator\"\n duck-select-separator=\"\"\n />\n )\n}\n\nfunction SelectScrollButton({\n children,\n className,\n scrollDown,\n ...props\n}: React.ComponentPropsWithRef<typeof Button> & { scrollDown?: boolean }) {\n return (\n <Button\n className={cn(\n 'sticky z-50 w-full cursor-default cursor-pointer rounded-none bg-background p-0 [&>div]:justify-center',\n scrollDown ? 'bottom-0' : '',\n className,\n )}\n size=\"sm\"\n variant=\"nothing\"\n {...props}\n data-slot=\"select-scroll-up-button\"\n duck-select-scroll-button=\"\">\n {scrollDown ? <ChevronDown className=\"shrink-0\" /> : <ChevronUp className=\"shrink-0\" />}\n </Button>\n )\n}\n\nfunction SelectScrollUpButton(props: React.ComponentPropsWithRef<typeof Button>) {\n return (\n <SelectScrollButton\n {...props}\n data-slot=\"select-scroll-up-button\"\n duck-select-scroll-up-button=\"\"\n scrollDown={false}\n />\n )\n}\n\nfunction SelectScrollDownButton(props: React.ComponentPropsWithRef<typeof Button>) {\n return (\n <SelectScrollButton\n {...props}\n data-slot=\"select-scroll-down-button\"\n duck-select-scroll-down-button=\"\"\n scrollDown={true}\n />\n )\n}\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","'use client'\n\nimport { useConfig } from '@duck-docs/hooks/use-config'\nimport { type Style, styles } from '@duck-docs/lib/registry-styles'\nimport { cn } from '@gentleduck/libs/cn'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@gentleduck/registry-ui-duckui/select'\nimport type * as React from 'react'\n\nexport function StyleSwitcher({ className, ...props }: React.ComponentPropsWithoutRef<typeof SelectTrigger>) {\n const [config, setConfig] = useConfig()\n\n return (\n <Select\n onValueChange={\n ((value: Style['name']) =>\n setConfig({\n ...config,\n style: value,\n })) as never\n }\n value={config.style}>\n <SelectTrigger className={cn('h-7 w-[145px] text-xs [&_svg]:h-4 [&_svg]:w-4', className)} {...props}>\n <span className=\"text-muted-foreground\">Style: </span>\n <SelectValue placeholder=\"Select style\" />\n </SelectTrigger>\n <SelectContent>\n {styles.map((style) => (\n <SelectItem className=\"text-xs\" key={style.name} value={style.name}>\n {style.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { t as PopoverTrigger } from "./index-C3il2ITv.js";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import * as react_jsx_runtime86 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region ../registry-ui-duckui/src/select/select.d.ts
|
|
7
|
+
|
|
8
|
+
declare function SelectTrigger({
|
|
9
|
+
children,
|
|
10
|
+
className,
|
|
11
|
+
customIndicator,
|
|
12
|
+
ref,
|
|
13
|
+
...props
|
|
14
|
+
}: React$1.ComponentPropsWithRef<typeof PopoverTrigger> & {
|
|
15
|
+
customIndicator?: React$1.ReactNode;
|
|
16
|
+
}): react_jsx_runtime86.JSX.Element;
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/components/themes/style-switcher.d.ts
|
|
19
|
+
declare function StyleSwitcher({
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: React$1.ComponentPropsWithoutRef<typeof SelectTrigger>): react_jsx_runtime86.JSX.Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { StyleSwitcher as t };
|
|
25
|
+
//# sourceMappingURL=style-switcher-CJ7Z244x.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-switcher-CJ7Z244x.d.ts","names":[],"sources":["../../registry-ui-duckui/src/select/select.tsx","../src/components/themes/style-switcher.tsx"],"sourcesContent":[],"mappings":";;;;;;;iBAwHS,aAAA,CAMA;EAAA,QAAA;EAAA,SAAA;EAAA,eAAA;EAAA,GAAA;EAAA,GAAA;CAAA,EAAN,OAAA,CAAM,qBAAA,CAAA,OAA6B,cAA7B,CAAA,GAAA;EAAmE,eAAM,CAAA,EAAN,OAAA,CAAM,SAAA;CAAW,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,OAAA;;;iBCtH7E,aAAA;;;GAAuC,OAAA,CAAM,gCAAgC,iBAAc,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/styles/base.css
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--font-sans-geist: "Geist", "Adjusted Arial Fallback";
|
|
3
|
-
--font-mono-geist: "Geist Mono", monospace, "Adjusted Lucida Sans Typewriter Fallback";
|
|
4
|
-
|
|
5
2
|
--background: oklch(1 0 0);
|
|
6
3
|
--foreground: oklch(0.141 0.005 285.823);
|
|
7
4
|
--card: oklch(1 0 0);
|
|
@@ -100,8 +97,8 @@
|
|
|
100
97
|
@theme inline {
|
|
101
98
|
--breakpoint-3xl: 1600px;
|
|
102
99
|
--breakpoint-4xl: 2000px;
|
|
103
|
-
--font-sans: "
|
|
104
|
-
--font-mono:
|
|
100
|
+
--font-sans: var(--font-geist-sans, "Montserrat"), sans-serif;
|
|
101
|
+
--font-mono: var(--font-geist-mono, "Geist Mono"), monospace;
|
|
105
102
|
--radius: 0.5rem;
|
|
106
103
|
|
|
107
104
|
--color-background: var(--background);
|
package/dist/styles/docs.css
CHANGED
|
@@ -4,38 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
@custom-variant dark (&:is(.dark *));
|
|
6
6
|
|
|
7
|
-
@font-face {
|
|
8
|
-
font-family: "Adjusted Lucida Sans Typewriter Fallback";
|
|
9
|
-
src: local("Lucida Sans Typewriter");
|
|
10
|
-
size-adjust: 119%;
|
|
11
|
-
ascent-override: 86%;
|
|
12
|
-
descent-override: 16%;
|
|
13
|
-
line-gap-override: 30%;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
@font-face {
|
|
17
|
-
font-family: "Adjusted Arial Fallback";
|
|
18
|
-
src: local("Arial");
|
|
19
|
-
size-adjust: 99%;
|
|
20
|
-
ascent-override: 101%;
|
|
21
|
-
descent-override: 26%;
|
|
22
|
-
line-gap-override: 0%;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@font-face {
|
|
26
|
-
font-family: "Geist";
|
|
27
|
-
font-weight: 100 900;
|
|
28
|
-
font-display: swap;
|
|
29
|
-
src: url(/fonts/Geist-VF.woff2) format("woff2");
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@font-face {
|
|
33
|
-
font-family: "Geist Mono";
|
|
34
|
-
font-weight: 100 900;
|
|
35
|
-
font-display: swap;
|
|
36
|
-
src: url(/fonts/GeistMono-VF.woff2) format("woff2");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
7
|
@theme {
|
|
40
8
|
--animate-shine: shine 8s ease-in-out infinite;
|
|
41
9
|
|
|
@@ -63,11 +31,11 @@
|
|
|
63
31
|
}
|
|
64
32
|
|
|
65
33
|
.font-sans {
|
|
66
|
-
font-family: var(--font-sans
|
|
34
|
+
font-family: var(--font-geist-sans, "Montserrat"), sans-serif !important;
|
|
67
35
|
}
|
|
68
36
|
|
|
69
37
|
.font-mono {
|
|
70
|
-
font-family: var(--font-mono
|
|
38
|
+
font-family: var(--font-geist-mono, "Geist Mono"), monospace !important;
|
|
71
39
|
}
|
|
72
40
|
|
|
73
41
|
::-webkit-scrollbar {
|
package/dist/styles/mdx.css
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
@font-face {
|
|
2
|
-
font-family: "JetBrains Mono";
|
|
3
|
-
font-weight: 100 900;
|
|
4
|
-
font-display: swap;
|
|
5
|
-
src: url(/fonts/JetBrainsMono-VF.woff2) format("woff2");
|
|
6
|
-
}
|
|
7
|
-
|
|
8
1
|
@layer components {
|
|
9
2
|
code,
|
|
10
3
|
code > * > *,
|
|
@@ -13,7 +6,6 @@
|
|
|
13
6
|
pre {
|
|
14
7
|
font-family: var(--font-mono);
|
|
15
8
|
font-style: normal;
|
|
16
|
-
font-weight: 600;
|
|
17
9
|
font-optical-sizing: auto;
|
|
18
10
|
}
|
|
19
11
|
|
|
@@ -61,7 +53,7 @@
|
|
|
61
53
|
text-align: right;
|
|
62
54
|
content: counter(line);
|
|
63
55
|
counter-increment: line;
|
|
64
|
-
@apply text-
|
|
56
|
+
@apply text-accent-foreground text-xs;
|
|
65
57
|
}
|
|
66
58
|
|
|
67
59
|
[data-rehype-pretty-code-fragment] .line--highlighted,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"@gentleduck/libs/cn";import{jsx as t}from"react/jsx-runtime";const n=({className:n,...r})=>t(`div`,{className:`my-6 w-full rounded-lg border`,children:t(`table`,{className:e(`relative w-full
|
|
2
|
-
//# sourceMappingURL=table-
|
|
1
|
+
import{cn as e}from"@gentleduck/libs/cn";import{jsx as t}from"react/jsx-runtime";const n=({className:n,...r})=>t(`div`,{className:`my-6 w-full overflow-x-auto rounded-lg border`,children:t(`table`,{className:e(`relative w-full border-none text-sm [&_tbody_tr:last-child]:border-b-0`,n),...r})}),r=({className:n,...r})=>t(`tr`,{className:e(`m-0 border-b`,n),...r}),i=({className:n,...r})=>t(`th`,{className:e(`px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right`,n),...r}),a=({className:n,...r})=>t(`td`,{className:e(`whitespace-nowrap px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right`,n),...r});export{r as i,a as n,i as r,n as t};
|
|
2
|
+
//# sourceMappingURL=table-Cu1wFi9V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-Cu1wFi9V.js","names":["Table: FC<React.HTMLAttributes<HTMLTableElement>>","TableRow: FC<React.HTMLAttributes<HTMLTableRowElement>>","TableHeader: FC<React.HTMLAttributes<HTMLTableCellElement>>","TableCell: FC<React.HTMLAttributes<HTMLTableCellElement>>"],"sources":["../src/components/mdx/mdx-components/table.tsx"],"sourcesContent":["import { cn } from '@gentleduck/libs/cn'\nimport type { FC } from 'react'\n\nexport const Table: FC<React.HTMLAttributes<HTMLTableElement>> = ({ className, ...props }) => (\n <div className=\"my-6 w-full overflow-x-auto rounded-lg border\">\n <table\n className={cn('relative w-full border-none text-sm [&_tbody_tr:last-child]:border-b-0', className)}\n {...props}\n />\n </div>\n)\n\nexport const TableRow: FC<React.HTMLAttributes<HTMLTableRowElement>> = ({ className, ...props }) => (\n <tr className={cn('m-0 border-b', className)} {...props} />\n)\n\nexport const TableHeader: FC<React.HTMLAttributes<HTMLTableCellElement>> = ({ className, ...props }) => (\n <th\n className={cn('px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right', className)}\n {...props}\n />\n)\n\nexport const TableCell: FC<React.HTMLAttributes<HTMLTableCellElement>> = ({ className, ...props }) => (\n <td\n className={cn(\n 'whitespace-nowrap px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right',\n className,\n )}\n {...props}\n />\n)\n"],"mappings":"iFAGA,MAAaA,GAAqD,CAAE,YAAW,GAAG,KAChF,EAAC,MAAA,CAAI,UAAU,yDACb,EAAC,QAAA,CACC,UAAW,EAAG,yEAA0E,EAAU,CAClG,GAAI,GACJ,EACE,CAGKC,GAA2D,CAAE,YAAW,GAAG,KACtF,EAAC,KAAA,CAAG,UAAW,EAAG,eAAgB,EAAU,CAAE,GAAI,GAAS,CAGhDC,GAA+D,CAAE,YAAW,GAAG,KAC1F,EAAC,KAAA,CACC,UAAW,EAAG,0FAA2F,EAAU,CACnH,GAAI,GACJ,CAGSC,GAA6D,CAAE,YAAW,GAAG,KACxF,EAAC,KAAA,CACC,UAAW,EACT,kGACA,EACD,CACD,GAAI,GACJ"}
|
|
@@ -7,4 +7,4 @@ declare const TableHeader: FC<React.HTMLAttributes<HTMLTableCellElement>>;
|
|
|
7
7
|
declare const TableCell: FC<React.HTMLAttributes<HTMLTableCellElement>>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { TableRow as i, TableCell as n, TableHeader as r, Table as t };
|
|
10
|
-
//# sourceMappingURL=table-
|
|
10
|
+
//# sourceMappingURL=table-DAVFXCAf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-DAVFXCAf.d.ts","names":[],"sources":["../src/components/mdx/mdx-components/table.tsx"],"sourcesContent":[],"mappings":";;;cAGa,OAAO,GAAG,KAAA,CAAM,eAAe;cAS/B,UAAU,GAAG,KAAA,CAAM,eAAe;AATlC,cAaA,WANZ,EAMyB,EANzB,CAM4B,KAAA,CAAM,cANlC,CAMiD,oBANjD,CAAA,CAAA;AAP2C,cAoB/B,SApB+B,EAoBpB,EApBoB,CAoBjB,KAAA,CAAM,cApBW,CAoBI,oBApBJ,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,n as t,r as n,t as r}from"./tabs-jsmxQQW0.js";import{cn as i}from"@gentleduck/libs/cn";import{jsx as a}from"react/jsx-runtime";function o({className:e,...t}){return a(r,{className:i(`relative mt-6 w-full`,e),...t})}function s({className:e,...t}){return a(n,{className:i(`w-full justify-start rounded-none border-b bg-transparent p-0`,e),...t})}function c({className:t,...n}){return a(e,{className:i(`cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 font-semibold [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none`,t),...n})}function l({className:e,...n}){return a(t,{className:i(`relative [&_h3.font-heading]:font-semibold [&_h3.font-heading]:text-base`,e),...n})}export{c as i,l as n,s as r,o as t};
|
|
2
|
+
//# sourceMappingURL=tabs-Cvy3-KIA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-
|
|
1
|
+
{"version":3,"file":"tabs-Cvy3-KIA.js","names":[],"sources":["../src/components/mdx/mdx-components/tabs.tsx"],"sourcesContent":["import { cn } from '@gentleduck/libs/cn'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui-duckui/tabs'\n\nexport function Tab({ className, ...props }: React.ComponentProps<typeof Tabs>) {\n return <Tabs className={cn('relative mt-6 w-full', className)} {...props} />\n}\n\nexport function TabList({ className, ...props }: React.ComponentProps<typeof TabsList>) {\n return (\n <TabsList className={cn('w-full justify-start rounded-none border-b bg-transparent p-0', className)} {...props} />\n )\n}\nexport function TabTrigger({ className, ...props }: React.ComponentProps<typeof TabsTrigger>) {\n return (\n <TabsTrigger\n className={cn(\n \"cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 font-semibold [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport function TabContent({ className, ...props }: React.ComponentProps<typeof TabsContent>) {\n return (\n <TabsContent\n className={cn('relative [&_h3.font-heading]:font-semibold [&_h3.font-heading]:text-base', className)}\n {...props}\n />\n )\n}\n"],"mappings":"6IAGA,SAAgB,EAAI,CAAE,YAAW,GAAG,GAA4C,CAC9E,OAAO,EAAC,EAAA,CAAK,UAAW,EAAG,uBAAwB,EAAU,CAAE,GAAI,GAAS,CAG9E,SAAgB,EAAQ,CAAE,YAAW,GAAG,GAAgD,CACtF,OACE,EAAC,EAAA,CAAS,UAAW,EAAG,gEAAiE,EAAU,CAAE,GAAI,GAAS,CAGtH,SAAgB,EAAW,CAAE,YAAW,GAAG,GAAmD,CAC5F,OACE,EAAC,EAAA,CACC,UAAW,EACT,4KACA,EACD,CACD,GAAI,GACJ,CAIN,SAAgB,EAAW,CAAE,YAAW,GAAG,GAAmD,CAC5F,OACE,EAAC,EAAA,CACC,UAAW,EAAG,2EAA4E,EAAU,CACpG,GAAI,GACJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./mount-CNbhMJe--D9ALOndF.js";import{cn as t}from"@gentleduck/libs/cn";import*as n from"react";import{jsx as r,jsxs as i}from"react/jsx-runtime";function a(){let e=n.useContext(o);if(e===null)throw Error(`useTabs must be used within a TabsList`);return e}const o=n.createContext(null);function s({value:e,defaultValue:t,onValueChange:i,...a}){let[s,c]=n.useState(t??e??``);return n.useEffect(()=>{i&&i(s)},[s]),r(o.Provider,{value:{activeItem:s,setActiveItem:c},children:r(`div`,{...a,"aria-orientation":`vertical`,"data-slot":`tabs`,"duck-tabs":``,role:`tablist`})})}const c=({className:e,ref:n,...i})=>r(`ul`,{className:t(`inline-flex w-fit items-center justify-center gap-2 rounded-md bg-muted p-1 text-muted-foreground`,e),ref:n,...i,"data-slot":`tabs-list`,"duck-tabs-list":``}),l=({className:e,children:o,defaultChecked:s,onClick:c,value:l,disabled:u,ref:d,...f})=>{let{setActiveItem:p,activeItem:m}=a(),h=l===m;return n.useEffect(()=>{s&&p(l)},[s]),i(`li`,{"aria-selected":h,className:t(`relative inline-flex h-[29.04px] items-center justify-center whitespace-nowrap rounded-sm px-3 font-medium text-sm ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,h&&`bg-background text-foreground shadow-sm`,u&&`pointer-events-none opacity-50`,e),"data-value":l,id:`tab-${l}`,ref:d,...f,"data-slot":`tabs-trigger`,"duck-tabs-trigger":``,children:[r(`input`,{checked:h,className:`absolute inset-0 appearance-none rounded-md ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,defaultChecked:s,disabled:u,id:l,name:`tab`,onChange:()=>p(l),type:`radio`,value:l}),r(`label`,{className:`flex items-center gap-2 font-medium`,htmlFor:l,children:o})]})},u=({children:i,forceMount:o=!1,className:s,value:c,ref:l,...u})=>{let{activeItem:d}=a(),f=n.useRef(null);return r(`div`,{"aria-hidden":d!==c,className:t(`mt-2 shrink-0 list-none ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,d===c?`h-auto opacity-100`:`h-0 opacity-0`,s),"data-value":c,"duck-tabs-content":``,hidden:d!==c,ref:f,role:`tabpanel`,tabIndex:-1,...u,"data-slot":`tabs-content`,children:r(e,{forceMount:o,open:d===c,ref:null,children:i})})};export{l as i,u as n,c as r,s as t};
|
|
2
|
+
//# sourceMappingURL=tabs-jsmxQQW0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-jsmxQQW0.js","names":["React","MountMinimal"],"sources":["../../registry-ui-duckui/src/tabs/tabs.tsx"],"sourcesContent":["'use client'\n\nimport { cn } from '@gentleduck/libs/cn'\nimport { MountMinimal } from '@gentleduck/primitives/mount'\nimport * as React from 'react'\n\nexport function useTabs() {\n const context = React.useContext(TabsContext)\n if (context === null) {\n throw new Error('useTabs must be used within a TabsList')\n }\n return context\n}\n\nexport interface TabsContextProps {\n activeItem: string\n setActiveItem: React.Dispatch<React.SetStateAction<string>>\n}\n\nconst TabsContext = React.createContext<TabsContextProps | null>(null)\n\nexport interface TabsProps extends Omit<React.HTMLProps<HTMLDivElement>, 'defaultValue'> {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n}\n\nfunction Tabs({ value, defaultValue, onValueChange, ...props }: TabsProps) {\n const [activeItem, setActiveItem] = React.useState<string>(defaultValue ?? value ?? '')\n\n React.useEffect(() => {\n if (onValueChange) onValueChange(activeItem)\n }, [activeItem])\n\n return (\n <TabsContext.Provider value={{ activeItem, setActiveItem }}>\n <div {...props} aria-orientation=\"vertical\" data-slot=\"tabs\" duck-tabs=\"\" role=\"tablist\" />\n </TabsContext.Provider>\n )\n}\n\nexport interface TabsListProps extends React.HTMLProps<HTMLUListElement> {}\nconst TabsList = ({ className, ref, ...props }: TabsListProps) => (\n <ul\n className={cn(\n 'inline-flex w-fit items-center justify-center gap-2 rounded-md bg-muted p-1 text-muted-foreground',\n className,\n )}\n ref={ref}\n {...props}\n data-slot=\"tabs-list\"\n duck-tabs-list=\"\"\n />\n)\n\nexport interface TabsTriggerProps extends React.HTMLProps<HTMLLIElement> {\n value: string\n defaultChecked?: boolean\n}\n\nconst TabsTrigger = ({\n className,\n children,\n defaultChecked,\n onClick,\n value,\n disabled,\n ref,\n ...props\n}: TabsTriggerProps) => {\n const { setActiveItem, activeItem } = useTabs()\n const isActive = value === activeItem\n\n React.useEffect(() => {\n if (defaultChecked) setActiveItem(value)\n }, [defaultChecked])\n\n return (\n <li\n aria-selected={isActive}\n className={cn(\n 'relative inline-flex h-[29.04px] items-center justify-center whitespace-nowrap rounded-sm px-3 font-medium text-sm ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n isActive && 'bg-background text-foreground shadow-sm',\n disabled && 'pointer-events-none opacity-50',\n className,\n )}\n data-value={value}\n id={`tab-${value}`}\n ref={ref}\n {...props}\n data-slot=\"tabs-trigger\"\n duck-tabs-trigger=\"\">\n <input\n checked={isActive}\n className=\"absolute inset-0 appearance-none rounded-md ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\"\n defaultChecked={defaultChecked}\n disabled={disabled}\n id={value}\n name=\"tab\"\n onChange={() => setActiveItem(value)}\n type=\"radio\"\n value={value}\n />\n <label className=\"flex items-center gap-2 font-medium\" htmlFor={value}>\n {children}\n </label>\n </li>\n )\n}\n\nconst TabsContent = ({\n children,\n forceMount = false,\n className,\n value,\n ref,\n ...props\n}: React.HTMLProps<HTMLDivElement> & {\n value: string\n forceMount?: boolean\n}) => {\n const { activeItem } = useTabs()\n const localRef = React.useRef<HTMLDivElement>(null)\n\n return (\n <div\n aria-hidden={activeItem !== value}\n className={cn(\n 'mt-2 shrink-0 list-none ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n activeItem === value ? 'h-auto opacity-100' : 'h-0 opacity-0',\n className,\n )}\n data-value={value}\n duck-tabs-content=\"\"\n hidden={activeItem !== value}\n ref={localRef}\n role=\"tabpanel\"\n tabIndex={-1}\n {...props}\n data-slot=\"tabs-content\">\n <MountMinimal forceMount={forceMount} open={activeItem === value} ref={null}>\n {children}\n </MountMinimal>\n </div>\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n"],"mappings":"oKAMA,SAAgB,GAAU,CACxB,IAAM,EAAUA,EAAM,WAAW,EAAY,CAC7C,GAAI,IAAY,KACd,MAAU,MAAM,yCAAyC,CAE3D,OAAO,EAQT,MAAM,EAAcA,EAAM,cAAuC,KAAK,CAQtE,SAAS,EAAK,CAAE,QAAO,eAAc,gBAAe,GAAG,GAAoB,CACzE,GAAM,CAAC,EAAY,GAAiBA,EAAM,SAAiB,GAAgB,GAAS,GAAG,CAMvF,OAJA,EAAM,cAAgB,CAChB,GAAe,EAAc,EAAW,EAC3C,CAAC,EAAW,CAAC,CAGd,EAAC,EAAY,SAAA,CAAS,MAAO,CAAE,aAAY,gBAAe,UACxD,EAAC,MAAA,CAAI,GAAI,EAAO,mBAAiB,WAAW,YAAU,OAAO,YAAU,GAAG,KAAK,WAAY,EACtE,CAK3B,MAAM,GAAY,CAAE,YAAW,MAAK,GAAG,KACrC,EAAC,KAAA,CACC,UAAW,EACT,oGACA,EACD,CACI,MACL,GAAI,EACJ,YAAU,YACV,iBAAe,IACf,CAQE,GAAe,CACnB,YACA,WACA,iBACA,UACA,QACA,WACA,MACA,GAAG,KACmB,CACtB,GAAM,CAAE,gBAAe,cAAe,GAAS,CACzC,EAAW,IAAU,EAM3B,OAJA,EAAM,cAAgB,CAChB,GAAgB,EAAc,EAAM,EACvC,CAAC,EAAe,CAAC,CAGlB,EAAC,KAAA,CACC,gBAAe,EACf,UAAW,EACT,+PACA,GAAY,0CACZ,GAAY,iCACZ,EACD,CACD,aAAY,EACZ,GAAI,OAAO,IACN,MACL,GAAI,EACJ,YAAU,eACV,oBAAkB,aAClB,EAAC,QAAA,CACC,QAAS,EACT,UAAU,yKACM,iBACN,WACV,GAAI,EACJ,KAAK,MACL,aAAgB,EAAc,EAAM,CACpC,KAAK,QACE,SACP,CACF,EAAC,QAAA,CAAM,UAAU,sCAAsC,QAAS,EAC7D,YACK,CAAA,EACL,EAIH,GAAe,CACnB,WACA,aAAa,GACb,YACA,QACA,MACA,GAAG,KAIC,CACJ,GAAM,CAAE,cAAe,GAAS,CAC1B,EAAWA,EAAM,OAAuB,KAAK,CAEnD,OACE,EAAC,MAAA,CACC,cAAa,IAAe,EAC5B,UAAW,EACT,uJACA,IAAe,EAAQ,qBAAuB,gBAC9C,EACD,CACD,aAAY,EACZ,oBAAkB,GAClB,OAAQ,IAAe,EACvB,IAAK,EACL,KAAK,WACL,SAAU,GACV,GAAI,EACJ,YAAU,wBACV,EAACC,EAAAA,CAAyB,aAAY,KAAM,IAAe,EAAO,IAAK,KACpE,YACY,EACX"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as React$2 from "react";
|
|
2
|
+
import * as react_jsx_runtime96 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region ../registry-ui-duckui/src/tabs/tabs.d.ts
|
|
5
|
+
|
|
6
|
+
interface TabsProps extends Omit<React$2.HTMLProps<HTMLDivElement>, 'defaultValue'> {
|
|
7
|
+
value?: string;
|
|
8
|
+
defaultValue?: string;
|
|
9
|
+
onValueChange?: (value: string) => void;
|
|
10
|
+
}
|
|
11
|
+
declare function Tabs({
|
|
12
|
+
value,
|
|
13
|
+
defaultValue,
|
|
14
|
+
onValueChange,
|
|
15
|
+
...props
|
|
16
|
+
}: TabsProps): react_jsx_runtime96.JSX.Element;
|
|
17
|
+
interface TabsListProps extends React$2.HTMLProps<HTMLUListElement> {}
|
|
18
|
+
declare const TabsList: ({
|
|
19
|
+
className,
|
|
20
|
+
ref,
|
|
21
|
+
...props
|
|
22
|
+
}: TabsListProps) => react_jsx_runtime96.JSX.Element;
|
|
23
|
+
interface TabsTriggerProps extends React$2.HTMLProps<HTMLLIElement> {
|
|
24
|
+
value: string;
|
|
25
|
+
defaultChecked?: boolean;
|
|
26
|
+
}
|
|
27
|
+
declare const TabsTrigger: ({
|
|
28
|
+
className,
|
|
29
|
+
children,
|
|
30
|
+
defaultChecked,
|
|
31
|
+
onClick,
|
|
32
|
+
value,
|
|
33
|
+
disabled,
|
|
34
|
+
ref,
|
|
35
|
+
...props
|
|
36
|
+
}: TabsTriggerProps) => react_jsx_runtime96.JSX.Element;
|
|
37
|
+
declare const TabsContent: ({
|
|
38
|
+
children,
|
|
39
|
+
forceMount,
|
|
40
|
+
className,
|
|
41
|
+
value,
|
|
42
|
+
ref,
|
|
43
|
+
...props
|
|
44
|
+
}: React$2.HTMLProps<HTMLDivElement> & {
|
|
45
|
+
value: string;
|
|
46
|
+
forceMount?: boolean;
|
|
47
|
+
}) => react_jsx_runtime96.JSX.Element;
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/components/mdx/mdx-components/tabs.d.ts
|
|
50
|
+
declare function Tab({
|
|
51
|
+
className,
|
|
52
|
+
...props
|
|
53
|
+
}: React.ComponentProps<typeof Tabs>): react_jsx_runtime96.JSX.Element;
|
|
54
|
+
declare function TabList({
|
|
55
|
+
className,
|
|
56
|
+
...props
|
|
57
|
+
}: React.ComponentProps<typeof TabsList>): react_jsx_runtime96.JSX.Element;
|
|
58
|
+
declare function TabTrigger({
|
|
59
|
+
className,
|
|
60
|
+
...props
|
|
61
|
+
}: React.ComponentProps<typeof TabsTrigger>): react_jsx_runtime96.JSX.Element;
|
|
62
|
+
declare function TabContent({
|
|
63
|
+
className,
|
|
64
|
+
...props
|
|
65
|
+
}: React.ComponentProps<typeof TabsContent>): react_jsx_runtime96.JSX.Element;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { TabTrigger as i, TabContent as n, TabList as r, Tab as t };
|
|
68
|
+
//# sourceMappingURL=tabs-qOB1npti.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs-qOB1npti.d.ts","names":[],"sources":["../../registry-ui-duckui/src/tabs/tabs.tsx","../src/components/mdx/mdx-components/tabs.tsx"],"sourcesContent":[],"mappings":";;;;;AAqBwC,UAAvB,SAAA,SAAkB,IAAW,CAAN,OAAA,CAAM,SAAA,CAAU,cAAV,CAAA,EAAA,cAAA,CAAA,CAAA;EAAX,KAAA,CAAA,EAAA,MAAA;EAAI,YAAA,CAAA,EAAA,MAAA;EAM9B,aAAI,CAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;iBAAJ,IAAA,CAAc;EAAA,KAAA;EAAA,YAAA;EAAA,aAAA;EAAA,GAAA;AAAA,CAAA,EAAyC,SAAzC,CAAA,EAAkD,mBAAA,CAAA,GAAA,CAAA,OAAlD;AAAc,UAcpB,aAAA,SAAsB,OAAA,CAAM,SAdR,CAckB,gBAdlB,CAAA,CAAA;cAe/B,QAfmE,EAAA,CAAA;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAezB,aAfyB,EAAA,GAeZ,mBAAA,CAAA,GAAA,CAAA,OAfY;AAAA,UA4BxD,gBAAA,SAAyB,OAAA,CAAM,SA5ByB,CA4Bf,aA5Be,CAAA,CAAA;EAcxD,KAAA,EAAA,MAAA;EACX,cAWL,CAAA,EAAA,OAAA;;cAOK,WAlBY,EAAA,CAAA;EAAA,SAAA;EAAA,QAAA;EAAA,cAAA;EAAA,OAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EA2Bf,gBA3Be,EAAA,GA2BC,mBAAA,CAAA,GAAA,CAAA,OA3BD;cAoEZ,WApE0C,EAAA,CAAA;EAAA,QAAA;EAAA,UAAA;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;EAAA,GAAA;AAahD,CAbgD,EA2E7C,OAAA,CAAM,SA3EuC,CA2E7B,cA3E6B,CAAA,GAAA;EAAa,KAAA,EAAA,MAAA;EAW5D,UAAA,CAAA,EAAA,OAAA;AAED,CAAA,EAAA,GAiEC,mBAAA,CAAA,GAAA,CAAA,OAjEyD;;;iBCpD1C,GAAA;;;GAA6B,KAAA,CAAM,sBAAsB,QAAK,mBAAA,CAAA,GAAA,CAAA;iBAI9D,OAAA;;;GAAiC,KAAA,CAAM,sBAAsB,YAAS,mBAAA,CAAA,GAAA,CAAA;iBAKtE,UAAA;;;GAAoC,KAAA,CAAM,sBAAsB,eAAY,mBAAA,CAAA,GAAA,CAAA;ADS3E,iBCGD,UAAA,CDHW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,ECGyB,KAAA,CAAM,cDH/B,CAAA,OCGqD,WDHrD,CAAA,CAAA,ECGiE,mBAAA,CAAA,GAAA,CAAA,ODHjE"}
|