@gentleduck/docs 0.0.13 → 0.0.16
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/alert-DXO4N8gL.js +2 -0
- package/dist/alert-DXO4N8gL.js.map +1 -0
- package/dist/arrow-CU5T6t_D-BA13FgoC.js +2 -0
- package/dist/arrow-CU5T6t_D-BA13FgoC.js.map +1 -0
- package/dist/badge-BaSJ_om8.js +2 -0
- package/dist/badge-BaSJ_om8.js.map +1 -0
- package/dist/button-BPQ9zanb.js +2 -0
- package/dist/button-BPQ9zanb.js.map +1 -0
- package/dist/callout-2UaufBMG.d.ts +24 -0
- package/dist/callout-2UaufBMG.d.ts.map +1 -0
- package/dist/callout-DkKMc7na.js +2 -0
- package/dist/callout-DkKMc7na.js.map +1 -0
- package/dist/{charts-CvYC8d1e.js → charts-B7Xy2hnG.js} +1 -1
- package/dist/{charts-CvYC8d1e.js.map → charts-B7Xy2hnG.js.map} +1 -1
- package/dist/{charts-Cyick3Tp.d.ts → charts-D4Uj_gtE.d.ts} +1 -1
- package/dist/{charts-Cyick3Tp.d.ts.map → charts-D4Uj_gtE.d.ts.map} +1 -1
- package/dist/client.d.ts +53 -54
- package/dist/client.js +1 -1
- package/dist/{code-block-BNW0BxR6.d.ts → code-block-DAy3JZ6j.d.ts} +3 -3
- package/dist/{code-block-BNW0BxR6.d.ts.map → code-block-DAy3JZ6j.d.ts.map} +1 -1
- package/dist/{code-block-uesBcZgM.js → code-block-DzuzMGMr.js} +1 -1
- package/dist/{code-block-uesBcZgM.js.map → code-block-DzuzMGMr.js.map} +1 -1
- package/dist/{code-block-wrapper-XLG-BrIs.js → code-block-wrapper-BNMwGoo7.js} +1 -1
- package/dist/{code-block-wrapper-XLG-BrIs.js.map → code-block-wrapper-BNMwGoo7.js.map} +1 -1
- package/dist/{code-block-wrapper-B0GrI7hb.d.ts → code-block-wrapper-Uomy0XJY.d.ts} +3 -3
- package/dist/{code-block-wrapper-B0GrI7hb.d.ts.map → code-block-wrapper-Uomy0XJY.d.ts.map} +1 -1
- package/dist/code-preview-CosZjiht.js +2 -0
- package/dist/code-preview-CosZjiht.js.map +1 -0
- package/dist/{code-preview-D5Og4Jk3.d.ts → code-preview-DMjl8mgw.d.ts} +3 -3
- package/dist/{code-preview-D5Og4Jk3.d.ts.map → code-preview-DMjl8mgw.d.ts.map} +1 -1
- package/dist/{colors-BDTM1-gZ.d.ts → colors-Cx-Rmxum.d.ts} +1 -1
- package/dist/{colors-BDTM1-gZ.d.ts.map → colors-Cx-Rmxum.d.ts.map} +1 -1
- package/dist/{colors-BUDdXvJ2.js → colors-IvpyMpg7.js} +2 -2
- package/dist/{colors-BUDdXvJ2.js.map → colors-IvpyMpg7.js.map} +1 -1
- package/dist/command-menu-BY4dKRHx.js +2 -0
- package/dist/command-menu-BY4dKRHx.js.map +1 -0
- package/dist/command-menu-LHgyNFdE.d.ts +7 -0
- package/dist/command-menu-LHgyNFdE.d.ts.map +1 -0
- package/dist/{component-preview-D2UaIsBZ.d.ts → component-preview-BHW7X6pM.d.ts} +4 -4
- package/dist/component-preview-BHW7X6pM.d.ts.map +1 -0
- package/dist/component-preview-g-CoGwuu.js +2 -0
- package/dist/component-preview-g-CoGwuu.js.map +1 -0
- package/dist/component-source-BhZijwev.js +3 -0
- package/dist/component-source-BhZijwev.js.map +1 -0
- package/dist/component-source-C4Ul_ToZ.d.ts +16 -0
- package/dist/component-source-C4Ul_ToZ.d.ts.map +1 -0
- package/dist/components/copy-button.d.ts +4 -0
- package/dist/components/copy-button.js +1 -0
- 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 +45 -46
- package/dist/components/index.js +1 -1
- package/dist/components/layouts/command-menu.d.ts +2 -0
- package/dist/components/layouts/command-menu.js +1 -0
- package/dist/components/layouts/{site-header/header-shell.d.ts → header-shell.d.ts} +1 -1
- package/dist/components/layouts/header-shell.js +1 -0
- package/dist/components/layouts/index.d.ts +6 -7
- package/dist/components/layouts/index.js +1 -1
- package/dist/components/layouts/site-footer.d.ts +2 -0
- package/dist/components/layouts/site-footer.js +1 -0
- package/dist/components/layouts/site-header.d.ts +3 -0
- package/dist/components/layouts/site-header.js +1 -0
- package/dist/components/layouts/tailwind-indicator.d.ts +2 -0
- package/dist/components/layouts/tailwind-indicator.js +1 -0
- package/dist/components/main-nav.d.ts +1 -1
- package/dist/components/main-nav.js +1 -1
- package/dist/components/mdx/mdx-component-registry.types.d.ts +8 -0
- package/dist/components/mdx/mdx-component-registry.types.d.ts.map +1 -0
- 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 +15 -12
- package/dist/components/mdx/mdx-components/code/index.js +1 -1
- package/dist/components/mdx/mdx-components/code/mermaid-block.d.ts +1 -1
- package/dist/components/mdx/mdx-components/code/mermaid-block.js +1 -1
- package/dist/components/mdx/mdx-components/code/pre-block/index.d.ts +7 -0
- package/dist/components/mdx/mdx-components/code/pre-block/index.js +1 -0
- package/dist/components/mdx/mdx-components/code/pre-block/pre-block.d.ts +6 -0
- package/dist/components/mdx/mdx-components/code/pre-block/pre-block.js +1 -0
- package/dist/components/mdx/mdx-components/code/pre-block/shell-command.d.ts +14 -0
- package/dist/components/mdx/mdx-components/code/pre-block/shell-command.d.ts.map +1 -0
- package/dist/components/mdx/mdx-components/code/pre-block/shell-command.js +1 -0
- package/dist/components/mdx/mdx-components/code/pre-block/types.d.ts +5 -0
- package/dist/components/mdx/mdx-components/code/span-block.d.ts +2 -2
- package/dist/components/mdx/mdx-components/code/span-block.d.ts.map +1 -1
- 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/index.d.ts +24 -21
- 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-components/typography.d.ts +3 -0
- package/dist/components/mdx/mdx-components/typography.js +1 -0
- package/dist/components/mdx/mdx-components-base.d.ts +119 -0
- package/dist/components/mdx/mdx-components-base.d.ts.map +1 -0
- package/dist/components/mdx/mdx-components-base.js +1 -0
- package/dist/components/mdx/mdx-components-registry.d.ts +171 -0
- package/dist/components/mdx/mdx-components-registry.d.ts.map +1 -0
- package/dist/components/mdx/mdx-components-registry.js +1 -0
- package/dist/components/mdx/mdx-components-ui.d.ts +50 -0
- package/dist/components/mdx/mdx-components-ui.d.ts.map +1 -0
- package/dist/components/mdx/mdx-components-ui.js +1 -0
- package/dist/components/mdx/mdx-icons.d.ts +9 -9
- package/dist/components/mdx/mdx-icons.d.ts.map +1 -1
- package/dist/components/mdx/mdx-icons.js +1 -1
- package/dist/components/mdx/mdx-runtime.d.ts +11 -0
- package/dist/components/mdx/mdx-runtime.d.ts.map +1 -0
- package/dist/components/mdx/mdx-runtime.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/style-switcher.d.ts +2 -0
- package/dist/components/style-switcher.js +1 -0
- package/dist/components-list-C67E8feA.d.ts +12 -0
- package/dist/{components-list-VYl4HAYt.d.ts.map → components-list-C67E8feA.d.ts.map} +1 -1
- package/dist/{components-list-DiOUxZd_.js → components-list-Cg9ggVyv.js} +2 -2
- package/dist/{components-list-DiOUxZd_.js.map → components-list-Cg9ggVyv.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-C656KJNk.d.ts → context-Boqhj3tq.d.ts} +4 -4
- package/dist/{context-C656KJNk.d.ts.map → context-Boqhj3tq.d.ts.map} +1 -1
- package/dist/{context-CibrcgaK.js → context-Bu-bPlyW.js} +1 -1
- package/dist/{context-CibrcgaK.js.map → context-Bu-bPlyW.js.map} +1 -1
- package/dist/{context.types-KUK2rNdz.d.ts → context.types-pTQ85uw2.d.ts} +6 -2
- package/dist/context.types-pTQ85uw2.d.ts.map +1 -0
- package/dist/copy-button-BKx55olo.d.ts +20 -0
- package/dist/copy-button-BKx55olo.d.ts.map +1 -0
- package/dist/copy-button-Ccbj3Omt.js +2 -0
- package/dist/copy-button-Ccbj3Omt.js.map +1 -0
- package/dist/create-collection-S3CvffX1-DA20ZU15.js +2 -0
- package/dist/create-collection-S3CvffX1-DA20ZU15.js.map +1 -0
- package/dist/dialog-68QLl2rI.js +4 -0
- package/dist/dialog-68QLl2rI.js.map +1 -0
- package/dist/direction-B-anGbxM-BdqxtlGV.js +2 -0
- package/dist/direction-B-anGbxM-BdqxtlGV.js.map +1 -0
- package/dist/{dist-DfVBUGvk.js → dist-BEBzXlAF.js} +1 -1
- package/dist/{dist-DfVBUGvk.js.map → dist-BEBzXlAF.js.map} +1 -1
- package/dist/{docs-copy-page-BEtbT7qX.d.ts → docs-copy-page-BZuaAwiB.d.ts} +3 -3
- package/dist/docs-copy-page-BZuaAwiB.d.ts.map +1 -0
- package/dist/docs-copy-page-QXgUbioW.js +2 -0
- package/dist/docs-copy-page-QXgUbioW.js.map +1 -0
- package/dist/{docs-pager-BFx4yEm-.d.ts → docs-pager-D2ekv5NL.d.ts} +6 -6
- package/dist/{docs-pager-BFx4yEm-.d.ts.map → docs-pager-D2ekv5NL.d.ts.map} +1 -1
- package/dist/docs-pager-mprD1O3r.js +2 -0
- package/dist/docs-pager-mprD1O3r.js.map +1 -0
- package/dist/docs-sidebar-C0yQ6ZWj.d.ts +43 -0
- package/dist/docs-sidebar-C0yQ6ZWj.d.ts.map +1 -0
- package/dist/docs-sidebar-DY2ybOuM.js +2 -0
- package/dist/docs-sidebar-DY2ybOuM.js.map +1 -0
- package/dist/docs-toc-Bjmkbd6l.js +2 -0
- package/dist/docs-toc-Bjmkbd6l.js.map +1 -0
- package/dist/docs-toc-D-hn1gA2.d.ts +13 -0
- package/dist/docs-toc-D-hn1gA2.d.ts.map +1 -0
- package/dist/drawer-kwSiurIF.js +8 -0
- package/dist/drawer-kwSiurIF.js.map +1 -0
- package/dist/{events-CFVHB4m8.d.ts → events-CQ5HMYtp.d.ts} +1 -1
- package/dist/{events-CFVHB4m8.d.ts.map → events-CQ5HMYtp.d.ts.map} +1 -1
- package/dist/{events-DHlTM_S_.js → events-Tn9hD65k.js} +1 -1
- package/dist/{events-DHlTM_S_.js.map → events-Tn9hD65k.js.map} +1 -1
- package/dist/{figcaption-block-DfyvzBoz.d.ts → figcaption-block-Ccf4yBMy.d.ts} +3 -3
- package/dist/figcaption-block-Ccf4yBMy.d.ts.map +1 -0
- package/dist/figcaption-block-RFNt1OSv.js +2 -0
- package/dist/figcaption-block-RFNt1OSv.js.map +1 -0
- package/dist/hast-properties-C103K0PZ.js +2 -0
- package/dist/hast-properties-C103K0PZ.js.map +1 -0
- package/dist/{header-shell-DG6EtZSb.d.ts → header-shell-BYafp8lR.d.ts} +7 -7
- package/dist/header-shell-BYafp8lR.d.ts.map +1 -0
- package/dist/{header-shell-BnhiboVH.js → header-shell-PLI5ZAwI.js} +2 -2
- package/dist/header-shell-PLI5ZAwI.js.map +1 -0
- 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-B8awNAgi.d.ts +33 -0
- package/dist/icons-B8awNAgi.d.ts.map +1 -0
- package/dist/icons-dASZ3daW.js +2 -0
- package/dist/icons-dASZ3daW.js.map +1 -0
- package/dist/index-B94w2qPS.d.ts +17 -0
- package/dist/index-B94w2qPS.d.ts.map +1 -0
- package/dist/{index-C2_c9Mqo.d.ts → index-CdFFVx85.d.ts} +5 -13
- package/dist/index-CdFFVx85.d.ts.map +1 -0
- package/dist/index.d.ts +12 -11
- 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 +6 -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/list-navigation-LJg-1TD2-DsfZPowW.js +2 -0
- package/dist/list-navigation-LJg-1TD2-DsfZPowW.js.map +1 -0
- package/dist/main-nav-Ctrj2x2N.d.ts +7 -0
- package/dist/main-nav-Ctrj2x2N.d.ts.map +1 -0
- package/dist/mdx-B4bzoDDs.d.ts +12 -0
- package/dist/mdx-B4bzoDDs.d.ts.map +1 -0
- package/dist/mdx-CpGlQTio.js +2 -0
- package/dist/mdx-CpGlQTio.js.map +1 -0
- package/dist/mdx-components-base-ByG7D4Kc.js +2 -0
- package/dist/mdx-components-base-ByG7D4Kc.js.map +1 -0
- package/dist/mdx-components-registry-H3xD8Epe.js +2 -0
- package/dist/mdx-components-registry-H3xD8Epe.js.map +1 -0
- package/dist/mdx-components-ui-Cp73cCYd.js +2 -0
- package/dist/mdx-components-ui-Cp73cCYd.js.map +1 -0
- package/dist/{mdx-icons-BH4zLUw0.js → mdx-icons-Duo8BbOA.js} +1 -1
- package/dist/{mdx-icons-BH4zLUw0.js.map → mdx-icons-Duo8BbOA.js.map} +1 -1
- package/dist/mdx-runtime-BeG80qPS.js +2 -0
- package/dist/mdx-runtime-BeG80qPS.js.map +1 -0
- package/dist/mdx-runtime-DjYaVtmv.d.ts +23 -0
- package/dist/mdx-runtime-DjYaVtmv.d.ts.map +1 -0
- package/dist/mermaid-block-BfbjIpjJ.js +12 -0
- package/dist/mermaid-block-BfbjIpjJ.js.map +1 -0
- package/dist/{mermaid-block-DOJ68HFE.d.ts → mermaid-block-C3dgb4nS.d.ts} +3 -3
- package/dist/{mermaid-block-DOJ68HFE.d.ts.map → mermaid-block-C3dgb4nS.d.ts.map} +1 -1
- package/dist/metadata-plugin-BL84sQM5.d.ts +8 -0
- package/dist/metadata-plugin-BL84sQM5.d.ts.map +1 -0
- package/dist/metadata-plugin-DA7OesoA.js +2 -0
- package/dist/metadata-plugin-DA7OesoA.js.map +1 -0
- package/dist/metadata-utils-C_8CcvsG.js +2 -0
- package/dist/metadata-utils-C_8CcvsG.js.map +1 -0
- package/dist/mobile-nav-BwxnYQIS.d.ts +7 -0
- package/dist/mobile-nav-BwxnYQIS.d.ts.map +1 -0
- package/dist/mobile-nav-rBOCLILt.js +2 -0
- package/dist/mobile-nav-rBOCLILt.js.map +1 -0
- package/dist/mode-toggle-DTIF2o7F.d.ts +7 -0
- package/dist/mode-toggle-DTIF2o7F.d.ts.map +1 -0
- package/dist/mode-toggle-DhgB9p1I.js +2 -0
- package/dist/mode-toggle-DhgB9p1I.js.map +1 -0
- package/dist/mount-CoAqNcc6.js +2 -0
- package/dist/mount-CoAqNcc6.js.map +1 -0
- package/dist/{nav-B2NAfb21.d.ts → nav-B0m_RJfC.d.ts} +3 -1
- package/dist/nav-B0m_RJfC.d.ts.map +1 -0
- package/dist/{page-header-D8n3yXQF.js → page-header-TUu9iNwc.js} +1 -1
- package/dist/{page-header-D8n3yXQF.js.map → page-header-TUu9iNwc.js.map} +1 -1
- package/dist/{page-header-h4wXUkUH.d.ts → page-header-raOcAxSb.d.ts} +6 -6
- package/dist/{page-header-h4wXUkUH.d.ts.map → page-header-raOcAxSb.d.ts.map} +1 -1
- package/dist/portal-BNuCvTAR-DDrsnIMA.js +2 -0
- package/dist/portal-BNuCvTAR-DDrsnIMA.js.map +1 -0
- package/dist/pre-block-Bt_9UuCv.js +2 -0
- package/dist/pre-block-Bt_9UuCv.js.map +1 -0
- package/dist/pre-block-MqyNpmYa.d.ts +19 -0
- package/dist/pre-block-MqyNpmYa.d.ts.map +1 -0
- package/dist/providers-BlEJC-ZF.js +2 -0
- package/dist/providers-BlEJC-ZF.js.map +1 -0
- package/dist/{providers-Do13WJMr.d.ts → providers-CxZdaO7_.d.ts} +3 -3
- package/dist/providers-CxZdaO7_.d.ts.map +1 -0
- package/dist/{registry-colors-data-tROJGGvk.js → registry-colors-data-C5Xv_bOz.js} +1 -1
- package/dist/{registry-colors-data-tROJGGvk.js.map → registry-colors-data-C5Xv_bOz.js.map} +1 -1
- package/dist/{registry-styles-DACce7ra.d.ts → registry-styles-Boe9P1LO.d.ts} +1 -1
- package/dist/{registry-styles-DACce7ra.d.ts.map → registry-styles-Boe9P1LO.d.ts.map} +1 -1
- package/dist/{registry-styles-Bby12FIz.js → registry-styles-DwoJ9Qa9.js} +1 -1
- package/dist/{registry-styles-Bby12FIz.js.map → registry-styles-DwoJ9Qa9.js.map} +1 -1
- package/dist/{rehype-mermaid-gkaeJtqn.js → rehype-mermaid-Ctag2Ywx.js} +1 -1
- package/dist/{rehype-mermaid-gkaeJtqn.js.map → rehype-mermaid-Ctag2Ywx.js.map} +1 -1
- package/dist/{rehype-mermaid-kjf2DmAC.d.ts → rehype-mermaid-DPZ6UzOu.d.ts} +2 -2
- package/dist/rehype-mermaid-DPZ6UzOu.d.ts.map +1 -0
- package/dist/rehype-npm-command-0W5WqcQY.js +2 -0
- package/dist/rehype-npm-command-0W5WqcQY.js.map +1 -0
- package/dist/{rehype-npm-command-C7BP6nqi.d.ts → rehype-npm-command-khRZrj_X.d.ts} +2 -2
- package/dist/rehype-npm-command-khRZrj_X.d.ts.map +1 -0
- package/dist/{rehype-pre-block-source-zKoXg4aL.d.ts → rehype-pre-block-source-0UyWe2hh.d.ts} +2 -2
- package/dist/rehype-pre-block-source-0UyWe2hh.d.ts.map +1 -0
- package/dist/rehype-pre-block-source-paX7yPQ4.js +2 -0
- package/dist/rehype-pre-block-source-paX7yPQ4.js.map +1 -0
- package/dist/{rehype-title-TRUGszot.js → rehype-title-CB9V-h9I.js} +1 -1
- package/dist/{rehype-title-TRUGszot.js.map → rehype-title-CB9V-h9I.js.map} +1 -1
- package/dist/{rehype-title-umwuNb2D.d.ts → rehype-title-CTj31zR2.d.ts} +2 -2
- package/dist/rehype-title-CTj31zR2.d.ts.map +1 -0
- package/dist/scroll-area-DwfrxxQ_.js +2 -0
- package/dist/scroll-area-DwfrxxQ_.js.map +1 -0
- package/dist/separator-BL4VUMvX.js +2 -0
- package/dist/separator-BL4VUMvX.js.map +1 -0
- package/dist/shared-utils-DqLwMUcj-Cs7um3C7.js +2 -0
- package/dist/shared-utils-DqLwMUcj-Cs7um3C7.js.map +1 -0
- package/dist/shell-command-BQkaAnLc.js +2 -0
- package/dist/shell-command-BQkaAnLc.js.map +1 -0
- package/dist/site-footer-Dh_aYkTp.d.ts +8 -0
- package/dist/site-footer-Dh_aYkTp.d.ts.map +1 -0
- package/dist/site-footer-DoVwgNqf.js +2 -0
- package/dist/site-footer-DoVwgNqf.js.map +1 -0
- package/dist/site-header-BiFOBrXI.js +2 -0
- package/dist/site-header-BiFOBrXI.js.map +1 -0
- package/dist/site-header-C77EADsW.d.ts +8 -0
- package/dist/site-header-C77EADsW.d.ts.map +1 -0
- package/dist/slot-B-X2-pKU-DOhFF3E_.js +2 -0
- package/dist/slot-B-X2-pKU-DOhFF3E_.js.map +1 -0
- package/dist/style-switcher--saWXPVm.js +2 -0
- package/dist/style-switcher--saWXPVm.js.map +1 -0
- package/dist/style-switcher-BCCh5sxc.d.ts +15 -0
- package/dist/style-switcher-BCCh5sxc.d.ts.map +1 -0
- package/dist/styles/base.css +12 -12
- package/dist/styles/docs.css +14 -1
- package/dist/styles/mdx-base.css +27 -0
- package/dist/styles/mdx-code.css +142 -0
- package/dist/styles/mdx-extensions.css +3 -0
- package/dist/styles/mdx-typography.css +27 -0
- package/dist/styles/mdx.css +4 -197
- package/dist/table-E1lSNeuD.js +2 -0
- package/dist/table-E1lSNeuD.js.map +1 -0
- package/dist/table-tgo1Zoi5.d.ts +22 -0
- package/dist/table-tgo1Zoi5.d.ts.map +1 -0
- package/dist/tabs-Bi5DkOoD.d.ts +43 -0
- package/dist/tabs-Bi5DkOoD.d.ts.map +1 -0
- package/dist/{tabs-Cvy3-KIA.js → tabs-BonSZ_0a.js} +2 -2
- package/dist/tabs-BonSZ_0a.js.map +1 -0
- package/dist/tabs-CrZf6_5d.js +2 -0
- package/dist/tabs-CrZf6_5d.js.map +1 -0
- package/dist/tailwind-indicator-C2nO7EAI.d.ts +7 -0
- package/dist/tailwind-indicator-C2nO7EAI.d.ts.map +1 -0
- package/dist/{tailwind-indicator-Dt4Bfpta.js → tailwind-indicator-z53_j-ZR.js} +1 -1
- package/dist/tailwind-indicator-z53_j-ZR.js.map +1 -0
- package/dist/{themes-BzMklu0h.js → themes-DSmnGG_O.js} +2 -2
- package/dist/{themes-BzMklu0h.js.map → themes-DSmnGG_O.js.map} +1 -1
- package/dist/{themes-Ba683LGu.d.ts → themes-M1nDuQoV.d.ts} +1 -1
- package/dist/{themes-Ba683LGu.d.ts.map → themes-M1nDuQoV.d.ts.map} +1 -1
- package/dist/{typepography-BdIMY3Y2.d.ts → typepography-Bb4KzfVL.d.ts} +13 -13
- package/dist/{typepography-BdIMY3Y2.d.ts.map → typepography-Bb4KzfVL.d.ts.map} +1 -1
- package/dist/{typepography-CLdrb7_b.js → typepography-Bn-ZmO71.js} +1 -1
- package/dist/{typepography-CLdrb7_b.js.map → typepography-Bn-ZmO71.js.map} +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/mdx-runtime.d.ts +2 -0
- package/dist/types/nav.d.ts +1 -1
- package/dist/types/unist.d.ts +2 -1
- package/dist/types-DsWNixhq.d.ts +14 -0
- package/dist/types-DsWNixhq.d.ts.map +1 -0
- package/dist/typography-BcEByhvR.js +0 -0
- package/dist/unist-Dtu3x3-k.js +0 -0
- package/dist/unist-q3NIH9ya.d.ts +29 -0
- package/dist/unist-q3NIH9ya.d.ts.map +1 -0
- package/dist/{use-colors-BSOymnQG.js → use-colors-BiVXxR31.js} +2 -2
- package/dist/{use-colors-BSOymnQG.js.map → use-colors-BiVXxR31.js.map} +1 -1
- package/dist/{use-colors-tvFBbu3S.d.ts → use-colors-CBAXuqtP.d.ts} +2 -2
- package/dist/use-colors-CBAXuqtP.d.ts.map +1 -0
- package/dist/{use-config-DlgXRPaN.d.ts → use-config-3gNoFPn6.d.ts} +2 -2
- package/dist/{use-config-DlgXRPaN.d.ts.map → use-config-3gNoFPn6.d.ts.map} +1 -1
- package/dist/{use-config-DViAkW1f.js → use-config-CkoOe8Fw.js} +1 -1
- package/dist/{use-config-DViAkW1f.js.map → use-config-CkoOe8Fw.js.map} +1 -1
- package/dist/{use-lift-mode-CqcC0vis.js → use-lift-mode-CRK6jO9I.js} +1 -1
- package/dist/{use-lift-mode-CqcC0vis.js.map → use-lift-mode-CRK6jO9I.js.map} +1 -1
- package/dist/{use-lift-mode-DEELjsRA.d.ts → use-lift-mode-DAQuqoIt.d.ts} +1 -1
- package/dist/use-lift-mode-DAQuqoIt.d.ts.map +1 -0
- package/dist/{use-meta-colors-CkNbJTgD.d.ts → use-meta-colors-Dlzg21A8.d.ts} +1 -1
- package/dist/use-meta-colors-Dlzg21A8.d.ts.map +1 -0
- package/dist/{use-meta-colors-B7HIXaHI.js → use-meta-colors-ye3z03RL.js} +2 -2
- package/dist/{use-meta-colors-B7HIXaHI.js.map → use-meta-colors-ye3z03RL.js.map} +1 -1
- package/dist/{use-mounted-gdBJPRp0.js → use-mounted-Bi7J0dBb.js} +1 -1
- package/dist/{use-mounted-gdBJPRp0.js.map → use-mounted-Bi7J0dBb.js.map} +1 -1
- package/dist/{use-mounted-BtOuPtMk.d.ts → use-mounted-CqC1Le-n.d.ts} +1 -1
- package/dist/use-mounted-CqC1Le-n.d.ts.map +1 -0
- package/dist/{use-themes-config-Dtk_egkh.d.ts → use-themes-config-DfxLBbQI.d.ts} +2 -2
- package/dist/{use-themes-config-Dtk_egkh.d.ts.map → use-themes-config-DfxLBbQI.d.ts.map} +1 -1
- package/dist/{use-themes-config-BRcxOF-M.js → use-themes-config-t4NBMHl1.js} +2 -2
- package/dist/{use-themes-config-BRcxOF-M.js.map → use-themes-config-t4NBMHl1.js.map} +1 -1
- package/dist/{utils-gls3XPIE.d.ts → utils-BGWVtLBe.d.ts} +1 -1
- package/dist/utils-BGWVtLBe.d.ts.map +1 -0
- package/dist/utils-CN0aIGfJ.js +2 -0
- package/dist/utils-CN0aIGfJ.js.map +1 -0
- package/dist/velite/browser.d.ts +2 -1
- package/dist/velite/browser.d.ts.map +1 -1
- package/dist/velite/browser.js +1 -1
- package/dist/velite/browser.js.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 -8
- package/dist/velite/index.js +1 -1
- package/dist/velite/plugins/hast-properties.d.ts +9 -0
- package/dist/velite/plugins/hast-properties.d.ts.map +1 -0
- package/dist/velite/plugins/hast-properties.js +1 -0
- package/dist/velite/plugins/index.d.ts +8 -8
- package/dist/velite/plugins/index.js +1 -1
- package/dist/velite/plugins/metadata-plugin.d.ts +4 -4
- package/dist/velite/plugins/metadata-plugin.js +1 -1
- package/dist/velite/plugins/metadata-utils.d.ts +9 -0
- package/dist/velite/plugins/metadata-utils.d.ts.map +1 -0
- package/dist/velite/plugins/metadata-utils.js +1 -0
- package/dist/velite/plugins/rehype-mermaid.d.ts +3 -3
- package/dist/velite/plugins/rehype-mermaid.js +1 -1
- package/dist/velite/plugins/rehype-npm-command.d.ts +3 -3
- package/dist/velite/plugins/rehype-npm-command.js +1 -1
- 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/dist/visibility-hidden-CAHx9RLp-CN32k1Im.js +2 -0
- package/dist/visibility-hidden-CAHx9RLp-CN32k1Im.js.map +1 -0
- package/package.json +28 -30
- package/src/client.ts +0 -0
- package/src/components/copy-button.tsx +54 -0
- package/src/components/docs/docs-copy-page.tsx +161 -46
- package/src/components/docs/docs-pager.tsx +22 -12
- package/src/components/docs/docs-sidebar.tsx +194 -29
- package/src/components/docs/docs-toc.tsx +233 -56
- package/src/components/docs/index.ts +0 -0
- package/src/components/icons.tsx +13 -25
- package/src/components/index.ts +1 -1
- package/src/components/layouts/command-menu.tsx +491 -0
- package/src/components/layouts/{site-header/header-shell.tsx → header-shell.tsx} +2 -2
- package/src/components/layouts/{site-footer/index.tsx → site-footer.tsx} +10 -7
- package/src/components/layouts/site-header.tsx +178 -0
- package/src/components/main-nav.tsx +3 -2
- package/src/components/mdx/ARCHITECTURE.md +61 -0
- package/src/components/mdx/mdx-component-registry.types.ts +5 -0
- package/src/components/mdx/mdx-components/callout.tsx +29 -9
- package/src/components/mdx/mdx-components/code/code-preview.tsx +11 -8
- package/src/components/mdx/mdx-components/code/component-preview.tsx +59 -27
- package/src/components/mdx/mdx-components/code/component-source.tsx +49 -21
- package/src/components/mdx/mdx-components/code/figcaption-block.tsx +2 -8
- package/src/components/mdx/mdx-components/code/mermaid-block.tsx +5 -3
- package/src/components/mdx/mdx-components/code/pre-block/index.ts +1 -0
- package/src/components/mdx/mdx-components/code/pre-block/pre-block.tsx +52 -0
- package/src/components/mdx/mdx-components/code/{pre-block.tsx → pre-block/shell-command.tsx} +4 -58
- package/src/components/mdx/mdx-components/code/pre-block/types.ts +10 -0
- package/src/components/mdx/mdx-components/components-list.tsx +0 -0
- package/src/components/mdx/mdx-components/index.ts +1 -2
- package/src/components/mdx/mdx-components/table.tsx +36 -27
- package/src/components/mdx/mdx-components/tabs.tsx +5 -2
- package/src/components/mdx/mdx-components/typography.tsx +1 -0
- package/src/components/mdx/mdx-components-base.tsx +81 -0
- package/src/components/mdx/mdx-components-registry.ts +8 -0
- package/src/components/mdx/mdx-components-ui.tsx +21 -0
- package/src/components/mdx/mdx-icons.ts +0 -0
- package/src/components/mdx/mdx-runtime.ts +10 -0
- package/src/components/mdx/mdx.tsx +3 -103
- package/src/components/mobile-nav.tsx +57 -22
- package/src/components/mode-toggle.tsx +4 -4
- package/src/components/providers.tsx +0 -1
- package/src/components/{themes/style-switcher.tsx → style-switcher.tsx} +5 -2
- package/src/context/context.tsx +0 -0
- package/src/context/context.types.ts +4 -0
- package/src/context/index.ts +0 -0
- package/src/hooks/index.ts +0 -0
- package/src/lib/index.ts +0 -0
- package/src/lib/registry-styles.ts +0 -0
- package/src/lib/utils.ts +7 -1
- package/src/styles/base.css +12 -12
- package/src/styles/docs.css +14 -1
- package/src/styles/mdx-base.css +27 -0
- package/src/styles/mdx-code.css +142 -0
- package/src/styles/mdx-extensions.css +3 -0
- package/src/styles/mdx-typography.css +27 -0
- package/src/styles/mdx.css +4 -197
- package/src/types/index.ts +1 -0
- package/src/types/mdx-runtime.ts +21 -0
- package/src/types/nav.ts +2 -0
- package/src/types/unist.ts +5 -19
- package/src/velite/browser.ts +1 -0
- package/src/velite/config.ts +56 -38
- package/src/velite/index.ts +0 -0
- package/src/velite/plugins/hast-properties.ts +12 -0
- package/src/velite/plugins/index.ts +0 -0
- package/src/velite/plugins/metadata-plugin.ts +14 -11
- package/src/velite/plugins/metadata-utils.ts +14 -0
- package/src/velite/plugins/rehype-mermaid.ts +0 -0
- package/src/velite/plugins/rehype-npm-command.ts +24 -22
- package/src/velite/plugins/rehype-pre-block-source.ts +6 -4
- package/src/velite/plugins/rehype-title.ts +0 -0
- package/src/velite/utils.ts +0 -0
- package/dist/button-Ao0Egplu.js +0 -2
- package/dist/button-Ao0Egplu.js.map +0 -1
- package/dist/callout-C1MveMtC.d.ts +0 -20
- package/dist/callout-C1MveMtC.d.ts.map +0 -1
- package/dist/callout-ChU_uu_5.js +0 -2
- package/dist/callout-ChU_uu_5.js.map +0 -1
- package/dist/chunk-BPpoHddQ-DLGSIJHp.js +0 -2
- package/dist/chunk-BPpoHddQ-DLGSIJHp.js.map +0 -1
- package/dist/code-preview-DTVYDNkK.js +0 -2
- package/dist/code-preview-DTVYDNkK.js.map +0 -1
- package/dist/command-2PGkRCUM.js +0 -2
- package/dist/command-2PGkRCUM.js.map +0 -1
- package/dist/command-menu-Db8sDulu.js +0 -2
- package/dist/command-menu-Db8sDulu.js.map +0 -1
- package/dist/command-menu-DtpwoKe8.d.ts +0 -7
- package/dist/command-menu-DtpwoKe8.d.ts.map +0 -1
- package/dist/component-preview-D2UaIsBZ.d.ts.map +0 -1
- package/dist/component-preview-InhzN4h1.js +0 -2
- package/dist/component-preview-InhzN4h1.js.map +0 -1
- package/dist/component-source-CLa1Z_vJ.d.ts +0 -17
- package/dist/component-source-CLa1Z_vJ.d.ts.map +0 -1
- package/dist/component-source-DtSz1ZSB.js +0 -5
- package/dist/component-source-DtSz1ZSB.js.map +0 -1
- package/dist/components/copy-button/copy-button.d.ts +0 -5
- package/dist/components/copy-button/copy-button.js +0 -1
- package/dist/components/copy-button/copy-button.types.d.ts +0 -4
- package/dist/components/copy-button/index.d.ts +0 -6
- package/dist/components/copy-button/index.js +0 -1
- package/dist/components/layouts/command-menu/command-menu.d.ts +0 -2
- package/dist/components/layouts/command-menu/command-menu.js +0 -1
- package/dist/components/layouts/command-menu/index.d.ts +0 -3
- package/dist/components/layouts/command-menu/index.js +0 -1
- package/dist/components/layouts/site-footer/index.d.ts +0 -2
- package/dist/components/layouts/site-footer/index.js +0 -1
- package/dist/components/layouts/site-header/header-shell.js +0 -1
- package/dist/components/layouts/site-header/index.d.ts +0 -3
- package/dist/components/layouts/site-header/index.js +0 -1
- package/dist/components/layouts/tailwind-indicator/index.d.ts +0 -2
- package/dist/components/layouts/tailwind-indicator/index.js +0 -1
- package/dist/components/mdx/mdx-components/code/pre-block.d.ts +0 -4
- package/dist/components/mdx/mdx-components/code/pre-block.js +0 -1
- package/dist/components/mdx/mdx-components/framework-docs.d.ts +0 -2
- package/dist/components/mdx/mdx-components/framework-docs.js +0 -1
- package/dist/components/themes/index.d.ts +0 -4
- package/dist/components/themes/index.js +0 -1
- package/dist/components/themes/style-switcher.d.ts +0 -3
- package/dist/components/themes/style-switcher.js +0 -1
- package/dist/components-list-VYl4HAYt.d.ts +0 -12
- package/dist/context.types-KUK2rNdz.d.ts.map +0 -1
- package/dist/copy-button-DSpL6XPh.d.ts +0 -21
- package/dist/copy-button-DSpL6XPh.d.ts.map +0 -1
- package/dist/copy-button-DZizVQ8G.js +0 -2
- package/dist/copy-button-DZizVQ8G.js.map +0 -1
- package/dist/copy-button.types-CGEbiMXO.d.ts +0 -29
- package/dist/copy-button.types-CGEbiMXO.d.ts.map +0 -1
- package/dist/dialog-BJXRFGlQ.js +0 -31
- package/dist/dialog-BJXRFGlQ.js.map +0 -1
- package/dist/docs-copy-page-BEtbT7qX.d.ts.map +0 -1
- package/dist/docs-copy-page-DZDkcR09.js +0 -3
- package/dist/docs-copy-page-DZDkcR09.js.map +0 -1
- package/dist/docs-pager-Dr6dooWP.js +0 -2
- package/dist/docs-pager-Dr6dooWP.js.map +0 -1
- package/dist/docs-sidebar-CWDyV0Rj.d.ts +0 -30
- package/dist/docs-sidebar-CWDyV0Rj.d.ts.map +0 -1
- package/dist/docs-sidebar-MtBCNnEG.js +0 -2
- package/dist/docs-sidebar-MtBCNnEG.js.map +0 -1
- package/dist/docs-toc-B7RS1k0Z.d.ts +0 -13
- package/dist/docs-toc-B7RS1k0Z.d.ts.map +0 -1
- package/dist/docs-toc-Czi8gMJf.js +0 -2
- package/dist/docs-toc-Czi8gMJf.js.map +0 -1
- package/dist/drawer-DVVyDJ2D.js +0 -8
- package/dist/drawer-DVVyDJ2D.js.map +0 -1
- package/dist/dropdown-menu-Cf4PnvE4.js +0 -2
- package/dist/dropdown-menu-Cf4PnvE4.js.map +0 -1
- package/dist/figcaption-block-7FWvsSXj.js +0 -2
- package/dist/figcaption-block-7FWvsSXj.js.map +0 -1
- package/dist/figcaption-block-DfyvzBoz.d.ts.map +0 -1
- package/dist/framework-docs-BQx_CG7u.js +0 -2
- package/dist/framework-docs-BQx_CG7u.js.map +0 -1
- package/dist/framework-docs-BuqO4yKf.d.ts +0 -13
- package/dist/framework-docs-BuqO4yKf.d.ts.map +0 -1
- package/dist/header-shell-BnhiboVH.js.map +0 -1
- package/dist/header-shell-DG6EtZSb.d.ts.map +0 -1
- package/dist/icons-Bp6-jojO.d.ts +0 -30
- package/dist/icons-Bp6-jojO.d.ts.map +0 -1
- package/dist/icons-CiCgiCYy.js +0 -2
- package/dist/icons-CiCgiCYy.js.map +0 -1
- package/dist/index-BgMLDj-T.d.ts +0 -8
- package/dist/index-BgMLDj-T.d.ts.map +0 -1
- package/dist/index-Bler93Rv.d.ts +0 -7
- package/dist/index-Bler93Rv.d.ts.map +0 -1
- package/dist/index-C2_c9Mqo.d.ts.map +0 -1
- package/dist/index-DWZV2KV9.d.ts +0 -8
- package/dist/index-DWZV2KV9.d.ts.map +0 -1
- package/dist/main-nav-Ci0i9b05.js +0 -2
- package/dist/main-nav-Ci0i9b05.js.map +0 -1
- package/dist/main-nav-DdJSFX9R.d.ts +0 -7
- package/dist/main-nav-DdJSFX9R.d.ts.map +0 -1
- package/dist/mdx-Bc39yJEk.js +0 -2
- package/dist/mdx-Bc39yJEk.js.map +0 -1
- package/dist/mdx-CKRU84WS.d.ts +0 -12
- package/dist/mdx-CKRU84WS.d.ts.map +0 -1
- package/dist/mermaid-block-BlCALvQ4.js +0 -13
- package/dist/mermaid-block-BlCALvQ4.js.map +0 -1
- package/dist/metadata-plugin-OKcE6Xsj.d.ts +0 -7
- package/dist/metadata-plugin-OKcE6Xsj.d.ts.map +0 -1
- package/dist/metadata-plugin-tEixstEj.js +0 -2
- package/dist/metadata-plugin-tEixstEj.js.map +0 -1
- package/dist/mobile-nav-BAkYO55-.js +0 -2
- package/dist/mobile-nav-BAkYO55-.js.map +0 -1
- package/dist/mobile-nav-wLU7upp-.d.ts +0 -7
- package/dist/mobile-nav-wLU7upp-.d.ts.map +0 -1
- package/dist/mode-toggle-B4gU5bK6.d.ts +0 -7
- package/dist/mode-toggle-B4gU5bK6.d.ts.map +0 -1
- package/dist/mode-toggle-BFNnk0Th.js +0 -2
- package/dist/mode-toggle-BFNnk0Th.js.map +0 -1
- package/dist/mount-CNbhMJe--D9ALOndF.js +0 -2
- package/dist/mount-CNbhMJe--D9ALOndF.js.map +0 -1
- package/dist/nav-B2NAfb21.d.ts.map +0 -1
- package/dist/popover-DBuHxfGT.js +0 -2
- package/dist/popover-DBuHxfGT.js.map +0 -1
- package/dist/pre-block-C2YQ_YU_.js +0 -2
- package/dist/pre-block-C2YQ_YU_.js.map +0 -1
- package/dist/pre-block-DMxLF2Tm.d.ts +0 -33
- package/dist/pre-block-DMxLF2Tm.d.ts.map +0 -1
- package/dist/presence-DKRzzG6_-DV_YtF92.js +0 -2
- package/dist/presence-DKRzzG6_-DV_YtF92.js.map +0 -1
- package/dist/providers-CFfgRc3G.js +0 -2
- package/dist/providers-CFfgRc3G.js.map +0 -1
- package/dist/providers-Do13WJMr.d.ts.map +0 -1
- package/dist/rehype-mermaid-kjf2DmAC.d.ts.map +0 -1
- package/dist/rehype-npm-command-C7BP6nqi.d.ts.map +0 -1
- package/dist/rehype-npm-command-O7ik2lKv.js +0 -2
- package/dist/rehype-npm-command-O7ik2lKv.js.map +0 -1
- package/dist/rehype-pre-block-source-D8t3NCnT.js +0 -2
- package/dist/rehype-pre-block-source-D8t3NCnT.js.map +0 -1
- package/dist/rehype-pre-block-source-zKoXg4aL.d.ts.map +0 -1
- package/dist/rehype-title-umwuNb2D.d.ts.map +0 -1
- package/dist/scroll-area-Bj8-58Fz.js +0 -2
- package/dist/scroll-area-Bj8-58Fz.js.map +0 -1
- package/dist/separator-t0JrmyLj.js +0 -2
- package/dist/separator-t0JrmyLj.js.map +0 -1
- package/dist/site-footer-BZQcOAVy.js +0 -2
- package/dist/site-footer-BZQcOAVy.js.map +0 -1
- package/dist/site-header-DH4ChrKl.js +0 -2
- package/dist/site-header-DH4ChrKl.js.map +0 -1
- package/dist/style-switcher-BvF4n8f4.js +0 -2
- package/dist/style-switcher-BvF4n8f4.js.map +0 -1
- package/dist/style-switcher-gHkRCCrl.d.ts +0 -25
- package/dist/style-switcher-gHkRCCrl.d.ts.map +0 -1
- package/dist/table-Cu1wFi9V.js +0 -2
- package/dist/table-Cu1wFi9V.js.map +0 -1
- package/dist/table-DAVFXCAf.d.ts +0 -10
- package/dist/table-DAVFXCAf.d.ts.map +0 -1
- package/dist/tabs-33zMuIHi.d.ts +0 -68
- package/dist/tabs-33zMuIHi.d.ts.map +0 -1
- package/dist/tabs-Cvy3-KIA.js.map +0 -1
- package/dist/tabs-jsmxQQW0.js +0 -2
- package/dist/tabs-jsmxQQW0.js.map +0 -1
- package/dist/tailwind-indicator-Dt4Bfpta.js.map +0 -1
- package/dist/unist-DN6buKAy.d.ts +0 -44
- package/dist/unist-DN6buKAy.d.ts.map +0 -1
- package/dist/use-colors-tvFBbu3S.d.ts.map +0 -1
- package/dist/use-lift-mode-DEELjsRA.d.ts.map +0 -1
- package/dist/use-meta-colors-CkNbJTgD.d.ts.map +0 -1
- package/dist/use-mounted-BtOuPtMk.d.ts.map +0 -1
- package/dist/utils-Ck5VSddf.js +0 -2
- package/dist/utils-Ck5VSddf.js.map +0 -1
- package/dist/utils-gls3XPIE.d.ts.map +0 -1
- package/src/components/copy-button/copy-button.tsx +0 -88
- package/src/components/copy-button/copy-button.types.ts +0 -17
- package/src/components/copy-button/index.ts +0 -2
- package/src/components/layouts/command-menu/command-menu.tsx +0 -166
- package/src/components/layouts/command-menu/index.ts +0 -1
- package/src/components/layouts/site-header/index.tsx +0 -127
- package/src/components/mdx/mdx-components/framework-docs.tsx +0 -20
- package/src/components/themes/index.ts +0 -1
- /package/dist/{code-CRijMbf8.js → code-B8oMaOlf.js} +0 -0
- /package/dist/{command-menu-DJNwkpf0.js → components/mdx/mdx-component-registry.types.js} +0 -0
- /package/dist/components/{copy-button/copy-button.types.js → mdx/mdx-components/code/pre-block/types.js} +0 -0
- /package/dist/{context-DAoDXLlH.js → context-BC4O8IkN.js} +0 -0
- /package/dist/{context.types-XX-41b7E.js → context.types-xqn674mu.js} +0 -0
- /package/dist/{copy-button-BKOhlef4.js → direction-BgdQqJSh.js} +0 -0
- /package/dist/{copy-button.types-B9s047di.js → docs-BxKlMynn.js} +0 -0
- /package/dist/{index-2DqdDmQN.d.ts → index-2ODhJ4PF.d.ts} +0 -0
- /package/dist/{index-CGglgRYd.d.ts → index-BCvK1fdV.d.ts} +0 -0
- /package/dist/{index-CX84Uo3j.d.ts → index-BOXZdgrl.d.ts} +0 -0
- /package/dist/{index-DOo6j0yP.d.ts → index-CDXWDYLH.d.ts} +0 -0
- /package/dist/{index-DUfvqU8v.d.ts → index-CEmd2iJF.d.ts} +0 -0
- /package/dist/{index-DlpwrdjG.d.ts → index-CMgWXPTi.d.ts} +0 -0
- /package/dist/{index-DxmiBoAj.d.ts → index-J4eIjbSW.d.ts} +0 -0
- /package/dist/{index-DzZbxTJ5.d.ts → index-PiDlmF8F.d.ts} +0 -0
- /package/dist/{docs-BXWvl6Zg.js → layouts-CZzkzPUj.js} +0 -0
- /package/dist/{layouts-MJSz-Ia5.js → mdx-components-DVXN21iW.js} +0 -0
- /package/dist/{mdx-components-Bvz2OZPf.js → mdx-runtime-8ZPauNCe.js} +0 -0
- /package/dist/{nav-CVNxjtXM.js → nav-n66GykpT.js} +0 -0
- /package/dist/{themes-k-j3m6gv.js → pre-block-B4y5yM69.js} +0 -0
- /package/dist/{unist-C_C48flD.js → types/mdx-runtime.js} +0 -0
- /package/dist/{index-MPFNOj9E.d.ts → typography-BjwZeImL.d.ts} +0 -0
- /package/src/components/layouts/{tailwind-indicator/index.tsx → tailwind-indicator.tsx} +0 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { MainNav } from '@duck-docs/components/main-nav'
|
|
4
|
+
import { ModeSwitcher } from '@duck-docs/components/mode-toggle'
|
|
5
|
+
import { useSiteConfig } from '@duck-docs/context'
|
|
6
|
+
import { cn } from '@gentleduck/libs/cn'
|
|
7
|
+
import { buttonVariants } from '@gentleduck/registry-ui/button'
|
|
8
|
+
import { useAtom } from 'jotai'
|
|
9
|
+
import { atomWithStorage } from 'jotai/utils'
|
|
10
|
+
import { CaseUpper, Github, Twitter, Type } from 'lucide-react'
|
|
11
|
+
import Link from 'next/link'
|
|
12
|
+
import React from 'react'
|
|
13
|
+
import { HeaderContainer, HeaderRoot } from './header-shell'
|
|
14
|
+
|
|
15
|
+
const CommandMenu = React.lazy(() =>
|
|
16
|
+
import('@duck-docs/components/layouts/command-menu').then((m) => ({ default: m.CommandMenu })),
|
|
17
|
+
)
|
|
18
|
+
const MobileNav = React.lazy(() => import('@duck-docs/components/mobile-nav').then((m) => ({ default: m.MobileNav })))
|
|
19
|
+
|
|
20
|
+
export function SiteHeader() {
|
|
21
|
+
const siteConfig = useSiteConfig()
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<HeaderRoot className="border-border/50 border-b bg-background/95 backdrop-blur-sm supports-[backdrop-filter]:bg-background/70">
|
|
25
|
+
<HeaderContainer>
|
|
26
|
+
<MainNav />
|
|
27
|
+
<React.Suspense fallback={null}>
|
|
28
|
+
<MobileNav />
|
|
29
|
+
</React.Suspense>
|
|
30
|
+
<div className="flex flex-1 items-center justify-between space-x-2 md:justify-end">
|
|
31
|
+
<div className="w-full flex-1 md:w-auto md:flex-none">
|
|
32
|
+
<React.Suspense
|
|
33
|
+
fallback={
|
|
34
|
+
<div
|
|
35
|
+
className={cn(
|
|
36
|
+
buttonVariants({ size: 'sm', variant: 'outline' }),
|
|
37
|
+
'relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64',
|
|
38
|
+
)}>
|
|
39
|
+
<span className="hidden lg:inline-flex">Search documentation...</span>
|
|
40
|
+
<span className="inline-flex lg:hidden">Search...</span>
|
|
41
|
+
</div>
|
|
42
|
+
}>
|
|
43
|
+
<CommandMenu />
|
|
44
|
+
</React.Suspense>
|
|
45
|
+
</div>
|
|
46
|
+
<nav aria-label="Social and settings" className="flex items-center">
|
|
47
|
+
<GitHubStarsButton />
|
|
48
|
+
<FontStyleButton />
|
|
49
|
+
{siteConfig.links?.discord ? (
|
|
50
|
+
<Link
|
|
51
|
+
aria-label="Discord (opens in a new tab)"
|
|
52
|
+
href={siteConfig.links.discord}
|
|
53
|
+
rel="noreferrer"
|
|
54
|
+
target="_blank">
|
|
55
|
+
<div
|
|
56
|
+
className={cn(
|
|
57
|
+
buttonVariants({
|
|
58
|
+
size: 'icon',
|
|
59
|
+
variant: 'ghost',
|
|
60
|
+
}),
|
|
61
|
+
)}>
|
|
62
|
+
<svg
|
|
63
|
+
aria-hidden="true"
|
|
64
|
+
className="size-4"
|
|
65
|
+
fill="currentColor"
|
|
66
|
+
viewBox="0 0 24 24"
|
|
67
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
68
|
+
<path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.095 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z" />
|
|
69
|
+
</svg>
|
|
70
|
+
</div>
|
|
71
|
+
</Link>
|
|
72
|
+
) : null}
|
|
73
|
+
{siteConfig.links?.twitter ? (
|
|
74
|
+
<Link
|
|
75
|
+
aria-label="Twitter (opens in a new tab)"
|
|
76
|
+
href={siteConfig.links.twitter}
|
|
77
|
+
rel="noreferrer"
|
|
78
|
+
target="_blank">
|
|
79
|
+
<div
|
|
80
|
+
className={cn(
|
|
81
|
+
buttonVariants({
|
|
82
|
+
size: 'icon',
|
|
83
|
+
variant: 'ghost',
|
|
84
|
+
}),
|
|
85
|
+
)}>
|
|
86
|
+
<Twitter aria-hidden="true" />
|
|
87
|
+
</div>
|
|
88
|
+
</Link>
|
|
89
|
+
) : null}
|
|
90
|
+
<ModeSwitcher />
|
|
91
|
+
</nav>
|
|
92
|
+
</div>
|
|
93
|
+
</HeaderContainer>
|
|
94
|
+
</HeaderRoot>
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function GitHubStarsButton() {
|
|
99
|
+
const [stars, setStars] = React.useState<number | null>(null)
|
|
100
|
+
const siteConfig = useSiteConfig()
|
|
101
|
+
const repoFromUrl = siteConfig.links?.github?.replace('https://github.com/', '').replace(/\/$/, '')
|
|
102
|
+
const repo = siteConfig.githubRepo ?? repoFromUrl
|
|
103
|
+
|
|
104
|
+
React.useEffect(() => {
|
|
105
|
+
async function fetchStars() {
|
|
106
|
+
try {
|
|
107
|
+
if (!repo) {
|
|
108
|
+
return
|
|
109
|
+
}
|
|
110
|
+
const res = await fetch(`https://api.github.com/repos/${repo}`)
|
|
111
|
+
if (!res.ok) return
|
|
112
|
+
const data = await res.json()
|
|
113
|
+
if (typeof data.stargazers_count === 'number') {
|
|
114
|
+
setStars(data.stargazers_count)
|
|
115
|
+
}
|
|
116
|
+
} catch (err) {
|
|
117
|
+
console.error('Failed to fetch stars:', err)
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
fetchStars()
|
|
121
|
+
}, [])
|
|
122
|
+
|
|
123
|
+
if (!siteConfig.links?.github) {
|
|
124
|
+
return null
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return (
|
|
128
|
+
<Link
|
|
129
|
+
aria-label="GitHub (opens in a new tab)"
|
|
130
|
+
href={siteConfig.links.github}
|
|
131
|
+
rel="noopener noreferrer"
|
|
132
|
+
target="_blank">
|
|
133
|
+
<div
|
|
134
|
+
className={cn(
|
|
135
|
+
buttonVariants({
|
|
136
|
+
className: 'size-auto h-8 w-16 font-medium text-sm',
|
|
137
|
+
size: 'icon',
|
|
138
|
+
variant: 'ghost',
|
|
139
|
+
}),
|
|
140
|
+
)}>
|
|
141
|
+
<Github aria-hidden="true" />
|
|
142
|
+
{stars !== null ? stars.toLocaleString() : '...'}
|
|
143
|
+
</div>
|
|
144
|
+
</Link>
|
|
145
|
+
)
|
|
146
|
+
}
|
|
147
|
+
const fontAtom = atomWithStorage('fontType', 'mono')
|
|
148
|
+
|
|
149
|
+
export function FontStyleButton() {
|
|
150
|
+
const [fontType, setFontType] = useAtom(fontAtom)
|
|
151
|
+
const firstRender = React.useRef(true)
|
|
152
|
+
|
|
153
|
+
React.useEffect(() => {
|
|
154
|
+
if (firstRender.current) {
|
|
155
|
+
firstRender.current = false
|
|
156
|
+
return
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const family =
|
|
160
|
+
fontType === 'sans'
|
|
161
|
+
? 'var(--font-geist-sans, "Montserrat"), sans-serif'
|
|
162
|
+
: 'var(--font-geist-mono, "Geist Mono"), monospace'
|
|
163
|
+
|
|
164
|
+
document.documentElement.style.setProperty('font-family', family, 'important')
|
|
165
|
+
}, [fontType])
|
|
166
|
+
|
|
167
|
+
return (
|
|
168
|
+
<button
|
|
169
|
+
aria-label={fontType === 'mono' ? 'Switch to sans-serif font' : 'Switch to monospace font'}
|
|
170
|
+
className={cn(buttonVariants({ size: 'icon', variant: 'ghost' }))}
|
|
171
|
+
onClick={() => setFontType(fontType === 'mono' ? 'sans' : 'mono')}
|
|
172
|
+
type="button">
|
|
173
|
+
{fontType === 'mono' ? <Type aria-hidden="true" /> : <CaseUpper aria-hidden="true" />}
|
|
174
|
+
</button>
|
|
175
|
+
)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export { HeaderBrand, HeaderContainer, HeaderRoot, HeaderSection } from './header-shell'
|
|
@@ -4,7 +4,7 @@ import { useDocsConfig } from '@duck-docs/context'
|
|
|
4
4
|
import { cn } from '@gentleduck/libs/cn'
|
|
5
5
|
import Link from 'next/link'
|
|
6
6
|
import { usePathname } from 'next/navigation'
|
|
7
|
-
import { HeaderBrand } from './layouts/site-header
|
|
7
|
+
import { HeaderBrand } from './layouts/site-header'
|
|
8
8
|
|
|
9
9
|
export function MainNav() {
|
|
10
10
|
const pathname = usePathname()
|
|
@@ -14,9 +14,10 @@ export function MainNav() {
|
|
|
14
14
|
<div className="mr-4 hidden md:flex">
|
|
15
15
|
<HeaderBrand className="mr-4 lg:mr-6" />
|
|
16
16
|
{mainNav?.length ? (
|
|
17
|
-
<nav className="flex items-center gap-4 text-sm xl:gap-6">
|
|
17
|
+
<nav aria-label="Main" className="flex items-center gap-4 text-sm xl:gap-6">
|
|
18
18
|
{mainNav.map((item) => (
|
|
19
19
|
<Link
|
|
20
|
+
aria-current={pathname === item.href ? 'page' : undefined}
|
|
20
21
|
className={cn(
|
|
21
22
|
'font-medium transition-colors hover:text-foreground/80',
|
|
22
23
|
pathname === item.href ? 'text-foreground' : 'text-foreground/80',
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# MDX Architecture
|
|
2
|
+
|
|
3
|
+
This directory contains the runtime rendering layer for docs MDX content.
|
|
4
|
+
|
|
5
|
+
## Key Modules
|
|
6
|
+
|
|
7
|
+
1. `mdx.tsx`
|
|
8
|
+
- Thin public entrypoint.
|
|
9
|
+
- Compiles MDX runtime code and renders it with the composed component registry.
|
|
10
|
+
|
|
11
|
+
2. `mdx-runtime.ts`
|
|
12
|
+
- Runtime loader helper (`useMDXComponent`).
|
|
13
|
+
- Keeps `new Function(...)` handling isolated from UI component composition.
|
|
14
|
+
|
|
15
|
+
3. `mdx-components-registry.ts`
|
|
16
|
+
- Final composed MDX component map.
|
|
17
|
+
- Merges base content components and UI-facing primitives.
|
|
18
|
+
|
|
19
|
+
4. `mdx-components-base.tsx`
|
|
20
|
+
- Core markdown/mdx renderers (typography, code/pre, table, tabs, callouts, media).
|
|
21
|
+
- Includes MDX-specific wrappers (`pre`, `Steps`, `Step`, etc.).
|
|
22
|
+
|
|
23
|
+
5. `mdx-components-ui.tsx`
|
|
24
|
+
- Optional UI primitives exposed directly in MDX content.
|
|
25
|
+
- Keeps registry-ui dependencies isolated from base markdown semantics.
|
|
26
|
+
|
|
27
|
+
6. `mdx-components/`
|
|
28
|
+
- Leaf render components used by the base registry.
|
|
29
|
+
- `code/pre-block/` is organized for maintainable command/code block behavior.
|
|
30
|
+
|
|
31
|
+
7. `src/styles/mdx*.css`
|
|
32
|
+
- `mdx.css` is a compatibility barrel file.
|
|
33
|
+
- Style layers are split into:
|
|
34
|
+
- `mdx-base.css`
|
|
35
|
+
- `mdx-typography.css`
|
|
36
|
+
- `mdx-code.css`
|
|
37
|
+
- `mdx-extensions.css`
|
|
38
|
+
|
|
39
|
+
## Velite/Rehype Metadata Flow
|
|
40
|
+
|
|
41
|
+
Plugin metadata is typed in `src/types/mdx-runtime.ts` and applied by:
|
|
42
|
+
- `src/velite/plugins/metadata-plugin.ts`
|
|
43
|
+
- `src/velite/plugins/rehype-pre-block-source.ts`
|
|
44
|
+
- `src/velite/plugins/rehype-npm-command.ts`
|
|
45
|
+
|
|
46
|
+
Use `hast-properties.ts` helpers when adding new plugin metadata to avoid ad hoc object shape mutations.
|
|
47
|
+
|
|
48
|
+
## Extension Rules
|
|
49
|
+
|
|
50
|
+
1. Add new MDX-level visual behavior in `mdx-components-base.tsx` unless it is a generic UI primitive.
|
|
51
|
+
2. Add UI primitives in `mdx-components-ui.tsx`, then compose via registry.
|
|
52
|
+
3. Keep `mdx.tsx` thin; avoid adding renderer internals there.
|
|
53
|
+
4. Any new plugin metadata must be represented in `src/types/mdx-runtime.ts` first.
|
|
54
|
+
|
|
55
|
+
## Testing Conventions
|
|
56
|
+
|
|
57
|
+
1. Keep plugin/AST tests in `tests/velite/plugins/**`.
|
|
58
|
+
2. Keep runtime component composition tests in `tests/components/mdx/**`.
|
|
59
|
+
3. Validate package sources with `bun run check-types`.
|
|
60
|
+
4. Validate tests with `bun run check-types:test`.
|
|
61
|
+
5. Execute runtime regressions with `bun run test`.
|
|
@@ -1,17 +1,37 @@
|
|
|
1
1
|
import { cn } from '@gentleduck/libs/cn'
|
|
2
|
-
import { Alert, AlertDescription, AlertTitle } from '@gentleduck/registry-ui
|
|
2
|
+
import { Alert, AlertDescription, AlertTitle } from '@gentleduck/registry-ui/alert'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
type CalloutTone = 'default' | 'info' | 'warning' | 'deprecated'
|
|
5
|
+
|
|
6
|
+
const CALLOUT_TONE_CLASSES: Record<CalloutTone, string> = {
|
|
7
|
+
default: '',
|
|
8
|
+
info: 'border-sky-300/80 bg-gradient-to-br from-cyan-50 to-sky-50 text-sky-950 dark:border-sky-900 dark:from-cyan-950/35 dark:to-sky-950/30 dark:text-sky-100 [&_svg]:text-sky-600 dark:[&_svg]:text-sky-300',
|
|
9
|
+
warning:
|
|
10
|
+
'border-yellow-300/80 bg-gradient-to-br from-yellow-50 to-amber-50 text-yellow-950 dark:border-yellow-900 dark:from-yellow-950/35 dark:to-amber-950/30 dark:text-yellow-100 [&_svg]:text-yellow-600 dark:[&_svg]:text-yellow-300',
|
|
11
|
+
deprecated:
|
|
12
|
+
'border-rose-300/85 bg-gradient-to-br from-rose-50 to-pink-50 text-rose-950 dark:border-rose-900 dark:from-rose-950/40 dark:to-pink-950/30 dark:text-rose-100 [&_svg]:text-rose-600 dark:[&_svg]:text-rose-300',
|
|
10
13
|
}
|
|
11
14
|
|
|
12
|
-
export function Callout({
|
|
15
|
+
export function Callout({
|
|
16
|
+
title,
|
|
17
|
+
children,
|
|
18
|
+
icon,
|
|
19
|
+
tone,
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: React.ComponentPropsWithoutRef<typeof Alert> & {
|
|
23
|
+
icon?: React.ReactNode
|
|
24
|
+
tone?: CalloutTone
|
|
25
|
+
}) {
|
|
13
26
|
return (
|
|
14
|
-
<Alert
|
|
27
|
+
<Alert
|
|
28
|
+
className={cn(
|
|
29
|
+
'my-6',
|
|
30
|
+
icon && 'grid-cols-[calc(var(--spacing)*4)_1fr] gap-x-3',
|
|
31
|
+
CALLOUT_TONE_CLASSES[tone ?? 'default'],
|
|
32
|
+
className,
|
|
33
|
+
)}
|
|
34
|
+
{...props}>
|
|
15
35
|
{icon && (
|
|
16
36
|
<span className="row-span-2 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:translate-y-0.5 [&_svg]:text-current">
|
|
17
37
|
{icon}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import { Icons } from '@duck-docs/components/icons'
|
|
4
4
|
import { useLiftMode } from '@duck-docs/hooks/use-lift-mode'
|
|
5
5
|
import { cn } from '@gentleduck/libs/cn'
|
|
6
|
-
import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@gentleduck/registry-ui
|
|
7
|
-
import { Tabs, TabsContent } from '@gentleduck/registry-ui
|
|
6
|
+
import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@gentleduck/registry-ui/resizable'
|
|
7
|
+
import { Tabs, TabsContent } from '@gentleduck/registry-ui/tabs'
|
|
8
8
|
import React from 'react'
|
|
9
|
-
import type {
|
|
9
|
+
import type { PanelImperativeHandle } from 'react-resizable-panels'
|
|
10
10
|
|
|
11
11
|
type Block = {
|
|
12
12
|
name: string
|
|
@@ -19,7 +19,7 @@ type Block = {
|
|
|
19
19
|
export function CodePreview({ block }: { block: Block & { hasLiftMode: boolean } }) {
|
|
20
20
|
const { isLiftMode } = useLiftMode(block.name)
|
|
21
21
|
const [isLoading, setIsLoading] = React.useState(true)
|
|
22
|
-
const ref = React.useRef<
|
|
22
|
+
const ref = React.useRef<PanelImperativeHandle>(null)
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
25
|
<Tabs
|
|
@@ -34,7 +34,7 @@ export function CodePreview({ block }: { block: Block & { hasLiftMode: boolean }
|
|
|
34
34
|
<TabsContent
|
|
35
35
|
className="relative after:absolute after:inset-0 after:right-3 after:z-0 after:rounded-lg after:bg-muted"
|
|
36
36
|
value="preview">
|
|
37
|
-
<ResizablePanelGroup className="relative z-10"
|
|
37
|
+
<ResizablePanelGroup className="relative z-10" orientation="horizontal">
|
|
38
38
|
<ResizablePanel
|
|
39
39
|
className={cn(
|
|
40
40
|
'relative rounded-lg border bg-background',
|
|
@@ -42,10 +42,12 @@ export function CodePreview({ block }: { block: Block & { hasLiftMode: boolean }
|
|
|
42
42
|
)}
|
|
43
43
|
defaultSize={100}
|
|
44
44
|
minSize={30}
|
|
45
|
-
|
|
45
|
+
panelRef={ref}>
|
|
46
46
|
{isLoading ? (
|
|
47
|
-
<div
|
|
48
|
-
|
|
47
|
+
<div
|
|
48
|
+
className="absolute inset-0 z-10 flex h-[--container-height] w-full items-center justify-center gap-2 bg-background text-muted-foreground text-sm"
|
|
49
|
+
role="status">
|
|
50
|
+
<Icons.spinner aria-hidden="true" className="h-4 w-4 animate-spin" />
|
|
49
51
|
Loading...
|
|
50
52
|
</div>
|
|
51
53
|
) : null}
|
|
@@ -57,6 +59,7 @@ export function CodePreview({ block }: { block: Block & { hasLiftMode: boolean }
|
|
|
57
59
|
setIsLoading(false)
|
|
58
60
|
}}
|
|
59
61
|
src={`/blocks/${block.name}`}
|
|
62
|
+
title={`Preview of ${block.name}`}
|
|
60
63
|
/>
|
|
61
64
|
</ResizablePanel>
|
|
62
65
|
<ResizableHandle
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import { CopyButton } from '@duck-docs/components/copy-button'
|
|
4
|
+
import { Icons } from '@duck-docs/components/icons'
|
|
4
5
|
import { useRegistryIndex } from '@duck-docs/context'
|
|
5
6
|
import { cn } from '@gentleduck/libs/cn'
|
|
6
|
-
import { Button } from '@gentleduck/registry-ui
|
|
7
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui
|
|
7
|
+
import { Button } from '@gentleduck/registry-ui/button'
|
|
8
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui/tabs'
|
|
8
9
|
import { Crown } from 'lucide-react'
|
|
9
10
|
import * as React from 'react'
|
|
10
11
|
|
|
@@ -18,6 +19,35 @@ interface ComponentPreviewProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
18
19
|
showSettings?: boolean
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
type CodeFragmentProps = {
|
|
23
|
+
'data-rehype-pretty-code-fragment'?: unknown
|
|
24
|
+
children?: React.ReactNode
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type CopyValueProps = {
|
|
28
|
+
__rawString__?: string
|
|
29
|
+
value?: string
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function getCodeStringFromFragment(codeNode: React.ReactElement | undefined): string | null {
|
|
33
|
+
if (!codeNode || !React.isValidElement<CodeFragmentProps>(codeNode)) {
|
|
34
|
+
return null
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (typeof codeNode.props['data-rehype-pretty-code-fragment'] === 'undefined') {
|
|
38
|
+
return null
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const fragmentChildren = React.Children.toArray(codeNode.props.children)
|
|
42
|
+
const copyNode = fragmentChildren[1]
|
|
43
|
+
|
|
44
|
+
if (!copyNode || !React.isValidElement<CopyValueProps>(copyNode)) {
|
|
45
|
+
return null
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return copyNode.props.value ?? copyNode.props.__rawString__ ?? null
|
|
49
|
+
}
|
|
50
|
+
|
|
21
51
|
export function ComponentPreview({
|
|
22
52
|
name,
|
|
23
53
|
children,
|
|
@@ -36,17 +66,22 @@ export function ComponentPreview({
|
|
|
36
66
|
|
|
37
67
|
const Preview = React.useMemo(() => {
|
|
38
68
|
if (!registryIndex) {
|
|
39
|
-
return
|
|
69
|
+
return (
|
|
70
|
+
<div className="flex h-full w-full items-center justify-center text-muted-foreground text-sm">
|
|
71
|
+
Registry index is not configured for this docs app.
|
|
72
|
+
</div>
|
|
73
|
+
)
|
|
40
74
|
}
|
|
41
75
|
|
|
42
76
|
const Component = registryIndex[name]?.component
|
|
43
77
|
|
|
44
78
|
if (!Component) {
|
|
45
79
|
return (
|
|
46
|
-
<
|
|
47
|
-
Component
|
|
48
|
-
|
|
49
|
-
|
|
80
|
+
<div className="flex h-full w-full items-center justify-center text-muted-foreground text-sm">
|
|
81
|
+
Component{' '}
|
|
82
|
+
<code className="relative mx-1 rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm">{name}</code> not
|
|
83
|
+
found in registry.
|
|
84
|
+
</div>
|
|
50
85
|
)
|
|
51
86
|
}
|
|
52
87
|
|
|
@@ -54,20 +89,7 @@ export function ComponentPreview({
|
|
|
54
89
|
}, [name, registryIndex])
|
|
55
90
|
|
|
56
91
|
const codeString = React.useMemo(() => {
|
|
57
|
-
|
|
58
|
-
// ! FIX:
|
|
59
|
-
// @ts-ignore 'Code.props' is of type 'unknown'.ts(18046)
|
|
60
|
-
typeof Code?.props['data-rehype-pretty-code-fragment'] !== 'undefined'
|
|
61
|
-
) {
|
|
62
|
-
const Button = React.Children.toArray(
|
|
63
|
-
// ! FIX:
|
|
64
|
-
// @ts-expect-error Property 'children' does not exist on type '{}'.ts(2339)
|
|
65
|
-
Code.props.children,
|
|
66
|
-
) as React.ReactElement[]
|
|
67
|
-
// ! FIX:
|
|
68
|
-
// @ts-expect-error Property '__rawString__' does not exist on type '{}'.ts(2339)
|
|
69
|
-
return Button[1]?.props?.value || Button[1]?.props?.__rawString__ || null
|
|
70
|
-
}
|
|
92
|
+
return getCodeStringFromFragment(Code)
|
|
71
93
|
}, [Code])
|
|
72
94
|
|
|
73
95
|
return (
|
|
@@ -80,7 +102,7 @@ export function ComponentPreview({
|
|
|
80
102
|
<TabsList className="w-full justify-start overflow-x-auto rounded-none border-b bg-transparent p-0 [&_button]:shadow-none">
|
|
81
103
|
{TABS.map((tab, idx) => (
|
|
82
104
|
<TabsTrigger
|
|
83
|
-
className="cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none
|
|
105
|
+
className="cursor-pointer rounded-none border-b-[2px] border-b-transparent px-12 py-2 [&[aria-selected='true']]:border-b-primary [&[aria-selected='true']]:shadow-none"
|
|
84
106
|
key={idx}
|
|
85
107
|
value={tab.value}>
|
|
86
108
|
{tab.name}
|
|
@@ -90,20 +112,30 @@ export function ComponentPreview({
|
|
|
90
112
|
)}
|
|
91
113
|
</div>
|
|
92
114
|
<TabsContent className="relative min-w-2/5 rounded-md border" value="preview">
|
|
93
|
-
<div className="absolute flex w-full items-center justify-between p-
|
|
115
|
+
<div className="absolute flex w-full items-center justify-between p-3">
|
|
94
116
|
<span className="text-muted-foreground text-sm">{}</span>
|
|
95
117
|
<div className="flex items-center gap-2">
|
|
96
|
-
<CopyButton value={codeString} variant="outline" />
|
|
118
|
+
<CopyButton value={codeString ?? ''} variant="outline" />
|
|
97
119
|
</div>
|
|
98
120
|
</div>
|
|
99
121
|
<div
|
|
100
|
-
className={cn('preview flex h-[
|
|
122
|
+
className={cn('preview flex h-[502px] w-full justify-center overflow-auto p-10', {
|
|
101
123
|
'items-center': align === 'center',
|
|
102
124
|
'items-end': align === 'end',
|
|
103
125
|
'items-start': align === 'start',
|
|
104
126
|
})}
|
|
105
127
|
duck-preview="">
|
|
106
|
-
|
|
128
|
+
<React.Suspense
|
|
129
|
+
fallback={
|
|
130
|
+
<div
|
|
131
|
+
className="flex h-full w-full items-center justify-center gap-2 text-muted-foreground text-sm"
|
|
132
|
+
role="status">
|
|
133
|
+
<Icons.spinner aria-hidden="true" className="h-4 w-4 animate-spin" />
|
|
134
|
+
Loading...
|
|
135
|
+
</div>
|
|
136
|
+
}>
|
|
137
|
+
{Preview}
|
|
138
|
+
</React.Suspense>
|
|
107
139
|
</div>
|
|
108
140
|
</TabsContent>
|
|
109
141
|
<TabsContent
|
|
@@ -127,7 +159,7 @@ export const BuildTab = () => {
|
|
|
127
159
|
<div className="absolute inset-0 top-0 left-0 flex h-[500px] flex-col items-center justify-center gap-4 rounded-md bg-zinc-700/10 px-4 py-2 backdrop-blur-sm dark:bg-zinc-700/50">
|
|
128
160
|
<div className="flex items-center gap-4">
|
|
129
161
|
<Button className="rounded-sm font-bold" size={'sm'}>
|
|
130
|
-
<Crown />
|
|
162
|
+
<Crown aria-hidden="true" />
|
|
131
163
|
<span>Coming soon</span>
|
|
132
164
|
</Button>
|
|
133
165
|
</div>
|
|
@@ -1,32 +1,62 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
3
|
+
import { Icons } from '@duck-docs/components/icons'
|
|
4
|
+
import { cn } from '@gentleduck/libs/cn'
|
|
5
|
+
import { Separator } from '@gentleduck/registry-ui/separator'
|
|
6
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@gentleduck/registry-ui/tabs'
|
|
7
|
+
import * as React from 'react'
|
|
6
8
|
import { FigcaptionBlock } from './figcaption-block'
|
|
7
9
|
|
|
8
10
|
interface ComponentSourceProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
9
|
-
children
|
|
10
|
-
|
|
11
|
+
children?: React.ReactNode
|
|
12
|
+
path?: string
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getChildLabel(child: React.ReactNode): string {
|
|
16
|
+
return (
|
|
17
|
+
String((child as any).props?.children?.[0]?.props?.__rawString__ ?? '')
|
|
18
|
+
.split('\n')[0]
|
|
19
|
+
?.replace('//', '')
|
|
20
|
+
.trim() || 'source'
|
|
21
|
+
)
|
|
11
22
|
}
|
|
12
23
|
|
|
13
|
-
/** NOTE: the props are not used */
|
|
14
24
|
export function ComponentSource({ children, className, ...props }: ComponentSourceProps) {
|
|
15
|
-
|
|
16
|
-
|
|
25
|
+
const items = React.Children.toArray(children)
|
|
26
|
+
|
|
27
|
+
if (items.length === 0) {
|
|
28
|
+
return (
|
|
29
|
+
<div
|
|
30
|
+
className="flex h-24 w-full items-center justify-center gap-2 rounded-md border border-border bg-muted/40 text-muted-foreground text-sm"
|
|
31
|
+
role="status">
|
|
32
|
+
<Icons.spinner aria-hidden="true" className="h-4 w-4 animate-spin" />
|
|
33
|
+
Loading...
|
|
34
|
+
</div>
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Single file -- render just the code block, no wrapper
|
|
39
|
+
if (items.length === 1) {
|
|
40
|
+
const value = getChildLabel(items[0])
|
|
41
|
+
return (
|
|
42
|
+
<div className="relative m-0 mt-2 shrink-0 list-none rounded-lg border bg-muted/40 ring-offset-background focus-visible:shadow-none focus-visible:outline-none focus-visible:outline-hidden focus-visible:ring-0 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 [&>div>div>button]:top-2 [&>div>div>button]:right-2 [&>div>div]:m-0 [&>div]:static [&>div]:my-0 [&>div]:border-none [&>div]:bg-transparent">
|
|
43
|
+
<FigcaptionBlock>{value}</FigcaptionBlock>
|
|
44
|
+
{items[0]}
|
|
45
|
+
</div>
|
|
46
|
+
)
|
|
17
47
|
}
|
|
18
48
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
?.replace('//', '') as string
|
|
49
|
+
// Multiple files -- render with tabs
|
|
50
|
+
const defaultValue = getChildLabel(items[0])
|
|
22
51
|
|
|
23
52
|
return (
|
|
24
|
-
<Tabs
|
|
53
|
+
<Tabs
|
|
54
|
+
className={cn('rounded-md border border-border bg-muted/40', className)}
|
|
55
|
+
{...props}
|
|
56
|
+
defaultValue={defaultValue}>
|
|
25
57
|
<TabsList className="w-[622px] justify-start overflow-x-auto bg-transparent px-2 py-2">
|
|
26
|
-
{
|
|
27
|
-
const value =
|
|
28
|
-
.split('\n')[0]
|
|
29
|
-
?.replace('//', '') as string
|
|
58
|
+
{items.map((item, idx) => {
|
|
59
|
+
const value = getChildLabel(item)
|
|
30
60
|
return (
|
|
31
61
|
<TabsTrigger className="aria-[selected='true']:bg-muted" key={idx} value={value}>
|
|
32
62
|
{value}
|
|
@@ -35,13 +65,11 @@ export function ComponentSource({ children, className, ...props }: ComponentSour
|
|
|
35
65
|
})}
|
|
36
66
|
</TabsList>
|
|
37
67
|
<Separator />
|
|
38
|
-
{
|
|
39
|
-
const value =
|
|
40
|
-
.split('\n')[0]
|
|
41
|
-
?.replace('//', '') as string
|
|
68
|
+
{items.map((item, idx) => {
|
|
69
|
+
const value = getChildLabel(item)
|
|
42
70
|
return (
|
|
43
71
|
<TabsContent
|
|
44
|
-
className="relative m-0 bg-transparent focus-visible:shadow-none focus-visible:outline-none focus-visible:ring-0 [&>div>div>button]:top-
|
|
72
|
+
className="relative m-0 bg-transparent focus-visible:shadow-none focus-visible:outline-none focus-visible:ring-0 [&>div>div>button]:top-2 [&>div>div>button]:right-2 [&>div>div]:m-0"
|
|
45
73
|
key={idx}
|
|
46
74
|
value={value}>
|
|
47
75
|
<FigcaptionBlock>{value}</FigcaptionBlock>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { getIconForLanguageExtension } from '@duck-docs/components/icons'
|
|
2
2
|
import { cn } from '@gentleduck/libs/cn'
|
|
3
|
-
import { Separator } from '@gentleduck/registry-ui-duckui/separator'
|
|
4
3
|
|
|
5
4
|
export function FigcaptionBlock({ children, className, ...props }: React.HTMLAttributes<HTMLDivElement>) {
|
|
6
5
|
const language = children?.toString().split('.').pop() ?? 'terminal'
|
|
@@ -9,17 +8,12 @@ export function FigcaptionBlock({ children, className, ...props }: React.HTMLAtt
|
|
|
9
8
|
|
|
10
9
|
return (
|
|
11
10
|
<>
|
|
12
|
-
<figcaption
|
|
13
|
-
<div
|
|
14
|
-
className={cn(
|
|
15
|
-
className,
|
|
16
|
-
'flex items-center gap-2 font-mono text-muted-foreground text-sm ltr:pl-1.5 rtl:pr-1.5 [&_svg]:h-4 [&_svg]:w-4',
|
|
17
|
-
)}>
|
|
11
|
+
<figcaption className={cn('border-border border-b p-3', className)} {...props}>
|
|
12
|
+
<div className="flex items-center gap-2 font-mono text-muted-foreground text-sm ltr:pl-1.5 rtl:pr-1.5 [&_svg]:h-4 [&_svg]:w-4">
|
|
18
13
|
{Icon}
|
|
19
14
|
{children}
|
|
20
15
|
</div>
|
|
21
16
|
</figcaption>
|
|
22
|
-
<Separator />
|
|
23
17
|
</>
|
|
24
18
|
)
|
|
25
19
|
}
|