@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
package/src/components/icons.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { FileIcon } from 'lucide-react'
|
|
1
|
+
import { FileIcon, Loader } from 'lucide-react'
|
|
2
2
|
|
|
3
3
|
type IconProps = React.HTMLAttributes<SVGElement>
|
|
4
4
|
|
|
5
5
|
export const Icons = {
|
|
6
6
|
apple: (props: IconProps) => (
|
|
7
|
-
<svg
|
|
7
|
+
<svg aria-hidden="true" viewBox="0 0 24 24" {...props}>
|
|
8
8
|
<path
|
|
9
9
|
d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"
|
|
10
10
|
fill="currentColor"
|
|
@@ -12,7 +12,7 @@ export const Icons = {
|
|
|
12
12
|
</svg>
|
|
13
13
|
),
|
|
14
14
|
aria: (props: IconProps) => (
|
|
15
|
-
<svg
|
|
15
|
+
<svg aria-hidden="true" fill="currentColor" viewBox="0 0 24 24" {...props}>
|
|
16
16
|
<path d="M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" />
|
|
17
17
|
</svg>
|
|
18
18
|
),
|
|
@@ -34,7 +34,7 @@ export const Icons = {
|
|
|
34
34
|
</svg>
|
|
35
35
|
),
|
|
36
36
|
google: (props: IconProps) => (
|
|
37
|
-
<svg
|
|
37
|
+
<svg aria-hidden="true" viewBox="0 0 24 24" {...props}>
|
|
38
38
|
<path
|
|
39
39
|
d="M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
|
|
40
40
|
fill="currentColor"
|
|
@@ -66,7 +66,7 @@ export const Icons = {
|
|
|
66
66
|
</svg>
|
|
67
67
|
),
|
|
68
68
|
paypal: (props: IconProps) => (
|
|
69
|
-
<svg
|
|
69
|
+
<svg aria-hidden="true" viewBox="0 0 24 24" {...props}>
|
|
70
70
|
<path
|
|
71
71
|
d="M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z"
|
|
72
72
|
fill="currentColor"
|
|
@@ -98,20 +98,8 @@ export const Icons = {
|
|
|
98
98
|
/>
|
|
99
99
|
</svg>
|
|
100
100
|
),
|
|
101
|
-
spinner: (props: IconProps) => (
|
|
102
|
-
<
|
|
103
|
-
fill="none"
|
|
104
|
-
height="24"
|
|
105
|
-
stroke="currentColor"
|
|
106
|
-
strokeLinecap="round"
|
|
107
|
-
strokeLinejoin="round"
|
|
108
|
-
strokeWidth="2"
|
|
109
|
-
viewBox="0 0 24 24"
|
|
110
|
-
width="24"
|
|
111
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
112
|
-
{...props}>
|
|
113
|
-
<path d="M21 12a9 9 0 1 1-6.219-8.56" />
|
|
114
|
-
</svg>
|
|
101
|
+
spinner: ({ className, ...props }: IconProps) => (
|
|
102
|
+
<Loader className={className ? `animate-spin ${className}` : 'animate-spin'} {...props} />
|
|
115
103
|
),
|
|
116
104
|
tailwind: (props: IconProps) => (
|
|
117
105
|
<svg viewBox="0 0 24 24" {...props}>
|
|
@@ -126,9 +114,9 @@ export const Icons = {
|
|
|
126
114
|
<svg
|
|
127
115
|
data-darkreader-inline-fill=""
|
|
128
116
|
data-darkreader-inline-stroke=""
|
|
117
|
+
aria-hidden="true"
|
|
129
118
|
fill="currentColor"
|
|
130
119
|
height="200px"
|
|
131
|
-
role="img"
|
|
132
120
|
stroke="currentColor"
|
|
133
121
|
stroke-width="0"
|
|
134
122
|
style={
|
|
@@ -177,18 +165,18 @@ export const Icons = {
|
|
|
177
165
|
export function getIconForLanguageExtension(language: string) {
|
|
178
166
|
switch (language) {
|
|
179
167
|
case 'json':
|
|
180
|
-
return <Icons.json />
|
|
168
|
+
return <Icons.json aria-hidden="true" />
|
|
181
169
|
case 'css':
|
|
182
|
-
return <Icons.css className="fill-foreground" />
|
|
170
|
+
return <Icons.css aria-hidden="true" className="fill-foreground" />
|
|
183
171
|
case 'js':
|
|
184
172
|
case 'jsx':
|
|
185
173
|
case 'ts':
|
|
186
174
|
case 'tsx':
|
|
187
175
|
case 'typescript':
|
|
188
|
-
return <Icons.ts className="fill-foreground" />
|
|
176
|
+
return <Icons.ts aria-hidden="true" className="fill-foreground" />
|
|
189
177
|
case 'toml':
|
|
190
|
-
return <Icons.toml className="fill-foreground" />
|
|
178
|
+
return <Icons.toml aria-hidden="true" className="fill-foreground" />
|
|
191
179
|
default:
|
|
192
|
-
return <FileIcon />
|
|
180
|
+
return <FileIcon aria-hidden="true" />
|
|
193
181
|
}
|
|
194
182
|
}
|
package/src/components/index.ts
CHANGED
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import { useDocsConfig, useDocsEntries } from '@duck-docs/context'
|
|
4
|
+
import type { DocsEntry, TocEntry } from '@duck-docs/context/context.types'
|
|
5
|
+
import type { SidebarNavItem } from '@duck-docs/types/nav'
|
|
6
|
+
import { cn } from '@gentleduck/libs/cn'
|
|
7
|
+
import { Button } from '@gentleduck/registry-ui/button'
|
|
8
|
+
import {
|
|
9
|
+
CommandDialog,
|
|
10
|
+
CommandEmpty,
|
|
11
|
+
CommandInput,
|
|
12
|
+
CommandItem,
|
|
13
|
+
CommandList,
|
|
14
|
+
CommandShortcut,
|
|
15
|
+
useCommandListContext,
|
|
16
|
+
} from '@gentleduck/registry-ui/command'
|
|
17
|
+
import { Separator } from '@gentleduck/registry-ui/separator'
|
|
18
|
+
import { useKeyCommands } from '@gentleduck/vim/react'
|
|
19
|
+
import { useVirtualizer } from '@tanstack/react-virtual'
|
|
20
|
+
import { Circle, Command, CornerDownLeft, FileIcon, Moon, Sun } from 'lucide-react'
|
|
21
|
+
import lunr from 'lunr'
|
|
22
|
+
import { useRouter } from 'next/navigation'
|
|
23
|
+
import { useTheme } from 'next-themes'
|
|
24
|
+
import * as React from 'react'
|
|
25
|
+
|
|
26
|
+
// -- Types -------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
type FlattenedSidebarItem = {
|
|
29
|
+
href: string
|
|
30
|
+
title: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
type VirtualRow =
|
|
34
|
+
| { type: 'heading'; title: string }
|
|
35
|
+
| { type: 'item'; name: string; href: string; icon: React.ReactNode; action: () => void }
|
|
36
|
+
|
|
37
|
+
type ItemRow = VirtualRow & { type: 'item' }
|
|
38
|
+
|
|
39
|
+
type SearchableItem = {
|
|
40
|
+
groupTitle: string
|
|
41
|
+
id: string
|
|
42
|
+
leafTitle: string
|
|
43
|
+
name: string
|
|
44
|
+
segments: string
|
|
45
|
+
tocHeadings: string
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// -- Constants ---------------------------------------------------------------
|
|
49
|
+
|
|
50
|
+
const HEADING_HEIGHT = 32
|
|
51
|
+
const ITEM_HEIGHT = 36
|
|
52
|
+
|
|
53
|
+
// -- Helpers -----------------------------------------------------------------
|
|
54
|
+
|
|
55
|
+
function flattenSidebarItems(items: SidebarNavItem[], parentTitle = ''): FlattenedSidebarItem[] {
|
|
56
|
+
const flattened: FlattenedSidebarItem[] = []
|
|
57
|
+
|
|
58
|
+
for (const item of items) {
|
|
59
|
+
const title = parentTitle ? `${parentTitle} / ${item.title}` : item.title
|
|
60
|
+
|
|
61
|
+
if (item.href && !item.disabled) {
|
|
62
|
+
flattened.push({
|
|
63
|
+
href: item.href,
|
|
64
|
+
title,
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (item.items?.length) {
|
|
69
|
+
flattened.push(...flattenSidebarItems(item.items, title))
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return flattened
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function flattenTocTitles(entries?: TocEntry[]): string {
|
|
77
|
+
if (!entries || entries.length === 0) return ''
|
|
78
|
+
const titles: string[] = []
|
|
79
|
+
for (const entry of entries) {
|
|
80
|
+
titles.push(entry.title)
|
|
81
|
+
if (entry.items?.length) {
|
|
82
|
+
titles.push(flattenTocTitles(entry.items))
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return titles.join(' ')
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function findTocHeadings(docs: DocsEntry[] | undefined, href: string): string {
|
|
89
|
+
if (!docs || !href) return ''
|
|
90
|
+
const doc = docs.find((d) => d.permalink === href || d.slug === href)
|
|
91
|
+
return doc?.toc ? flattenTocTitles(doc.toc) : ''
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function buildSearchIndex(items: SearchableItem[]): lunr.Index {
|
|
95
|
+
return lunr(function () {
|
|
96
|
+
this.ref('id')
|
|
97
|
+
this.field('leafTitle', { boost: 10 })
|
|
98
|
+
this.field('name', { boost: 5 })
|
|
99
|
+
this.field('segments', { boost: 3 })
|
|
100
|
+
this.field('tocHeadings', { boost: 2 })
|
|
101
|
+
this.field('groupTitle', { boost: 1 })
|
|
102
|
+
|
|
103
|
+
this.pipeline.remove(lunr.stemmer)
|
|
104
|
+
this.searchPipeline.remove(lunr.stemmer)
|
|
105
|
+
|
|
106
|
+
for (const item of items) {
|
|
107
|
+
this.add(item)
|
|
108
|
+
}
|
|
109
|
+
})
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// -- CommandMenu -------------------------------------------------------------
|
|
113
|
+
|
|
114
|
+
export function CommandMenu() {
|
|
115
|
+
const router = useRouter()
|
|
116
|
+
const [open, setOpen] = React.useState(false)
|
|
117
|
+
const { setTheme } = useTheme()
|
|
118
|
+
const docsConfig = useDocsConfig()
|
|
119
|
+
const docsEntries = useDocsEntries()
|
|
120
|
+
const [selectedLabel, setSelectedLabel] = React.useState('')
|
|
121
|
+
|
|
122
|
+
const items = React.useMemo(
|
|
123
|
+
() => [
|
|
124
|
+
...docsConfig.sidebarNav.map((group) => ({
|
|
125
|
+
items: flattenSidebarItems(group.items ?? []).map((navItem) => ({
|
|
126
|
+
action: () => router.push(navItem.href),
|
|
127
|
+
href: navItem.href,
|
|
128
|
+
icon: <Circle aria-hidden="true" className="mr-2 h-3 w-3" />,
|
|
129
|
+
name: navItem.title,
|
|
130
|
+
})),
|
|
131
|
+
title: group.title,
|
|
132
|
+
})),
|
|
133
|
+
{
|
|
134
|
+
items: [
|
|
135
|
+
{
|
|
136
|
+
action: () => setTheme('light'),
|
|
137
|
+
href: '',
|
|
138
|
+
icon: <Sun aria-hidden="true" className="mr-2 h-4 w-4" />,
|
|
139
|
+
name: 'Light',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
action: () => setTheme('dark'),
|
|
143
|
+
href: '',
|
|
144
|
+
icon: <Moon aria-hidden="true" className="mr-2 h-4 w-4" />,
|
|
145
|
+
name: 'Dark',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
action: () => setTheme('system'),
|
|
149
|
+
href: '',
|
|
150
|
+
icon: <FileIcon aria-hidden="true" className="mr-2 h-4 w-4" />,
|
|
151
|
+
name: 'System',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
title: 'Theme',
|
|
155
|
+
},
|
|
156
|
+
],
|
|
157
|
+
[docsConfig.sidebarNav, router, setTheme],
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
const flatRows = React.useMemo<VirtualRow[]>(() => {
|
|
161
|
+
const rows: VirtualRow[] = []
|
|
162
|
+
for (const group of items) {
|
|
163
|
+
rows.push({ type: 'heading', title: group.title })
|
|
164
|
+
for (const item of group.items) {
|
|
165
|
+
rows.push({ type: 'item', name: item.name, href: item.href, icon: item.icon, action: item.action })
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return rows
|
|
169
|
+
}, [items])
|
|
170
|
+
|
|
171
|
+
const searchIndex = React.useMemo(() => {
|
|
172
|
+
const searchable: SearchableItem[] = []
|
|
173
|
+
|
|
174
|
+
for (const group of items) {
|
|
175
|
+
if (group.title === 'Theme') continue
|
|
176
|
+
for (const item of group.items) {
|
|
177
|
+
const segments = item.name.split(' / ')
|
|
178
|
+
const leafTitle = segments[segments.length - 1] ?? item.name
|
|
179
|
+
searchable.push({
|
|
180
|
+
groupTitle: group.title,
|
|
181
|
+
id: item.name,
|
|
182
|
+
leafTitle,
|
|
183
|
+
name: item.name,
|
|
184
|
+
segments: segments.join(' '),
|
|
185
|
+
tocHeadings: findTocHeadings(docsEntries, item.href),
|
|
186
|
+
})
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return searchable.length > 0 ? buildSearchIndex(searchable) : null
|
|
191
|
+
}, [items, docsEntries])
|
|
192
|
+
|
|
193
|
+
return (
|
|
194
|
+
<>
|
|
195
|
+
<Button
|
|
196
|
+
className={cn(
|
|
197
|
+
'relative h-8 w-full bg-muted/50 text-muted-foreground text-sm shadow-none md:w-40 lg:w-64 ltr:pr-2 rtl:pl-2 [&>div]:w-full [&>div]:justify-between',
|
|
198
|
+
)}
|
|
199
|
+
onClick={() => setOpen(true)}
|
|
200
|
+
size={'sm'}
|
|
201
|
+
variant="outline">
|
|
202
|
+
<span className="hidden lg:inline-flex">Search documentation...</span>
|
|
203
|
+
<span className="inline-flex lg:hidden">Search...</span>
|
|
204
|
+
<CommandShortcut
|
|
205
|
+
className="bg-secondary"
|
|
206
|
+
keys={'ctrl+k'}
|
|
207
|
+
onKeysPressed={() => {
|
|
208
|
+
setOpen((prev) => !prev)
|
|
209
|
+
}}>
|
|
210
|
+
<Command aria-hidden="true" className="!size-3" />
|
|
211
|
+
<span className="text-md">K</span>
|
|
212
|
+
</CommandShortcut>
|
|
213
|
+
</Button>
|
|
214
|
+
<CommandDialog onOpenChange={setOpen} open={open}>
|
|
215
|
+
<CommandInput autoFocus placeholder="Search..." />
|
|
216
|
+
<VirtualCommandList
|
|
217
|
+
flatRows={flatRows}
|
|
218
|
+
onClose={() => setOpen(false)}
|
|
219
|
+
onSelectedLabelChange={setSelectedLabel}
|
|
220
|
+
searchIndex={searchIndex}
|
|
221
|
+
/>
|
|
222
|
+
<CommandFooter selectedLabel={selectedLabel} />
|
|
223
|
+
</CommandDialog>
|
|
224
|
+
</>
|
|
225
|
+
)
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// -- VirtualCommandList ------------------------------------------------------
|
|
229
|
+
|
|
230
|
+
function VirtualCommandList({
|
|
231
|
+
flatRows,
|
|
232
|
+
onClose,
|
|
233
|
+
onSelectedLabelChange,
|
|
234
|
+
searchIndex,
|
|
235
|
+
}: {
|
|
236
|
+
flatRows: VirtualRow[]
|
|
237
|
+
onClose: () => void
|
|
238
|
+
onSelectedLabelChange: (label: string) => void
|
|
239
|
+
searchIndex: lunr.Index | null
|
|
240
|
+
}) {
|
|
241
|
+
const { search } = useCommandListContext({})
|
|
242
|
+
const scrollRef = React.useRef<HTMLDivElement>(null)
|
|
243
|
+
const [selectedIndex, setSelectedIndex] = React.useState(0)
|
|
244
|
+
|
|
245
|
+
const filteredRows = React.useMemo<VirtualRow[]>(() => {
|
|
246
|
+
if (!search) return flatRows
|
|
247
|
+
|
|
248
|
+
// Build score map from lunr results for doc items
|
|
249
|
+
let scoreMap: Map<string, number>
|
|
250
|
+
|
|
251
|
+
try {
|
|
252
|
+
if (!searchIndex) throw new Error('no index')
|
|
253
|
+
const sanitized = search.replace(/[:\*\~\+\-\^]/g, '\\$&')
|
|
254
|
+
const terms = sanitized.trim().split(/\s+/).filter(Boolean)
|
|
255
|
+
if (terms.length === 0) return flatRows
|
|
256
|
+
|
|
257
|
+
// Try wildcard prefix matching first (natural for incremental typing)
|
|
258
|
+
let results = searchIndex.search(terms.map((t) => `${t}*`).join(' '))
|
|
259
|
+
|
|
260
|
+
// Fuzzy fallback for typos
|
|
261
|
+
if (results.length === 0) {
|
|
262
|
+
results = searchIndex.search(terms.map((t) => `${t}~1`).join(' '))
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
scoreMap = new Map(results.map((r) => [r.ref, r.score]))
|
|
266
|
+
} catch {
|
|
267
|
+
// lunr threw on invalid syntax -- fall back to substring
|
|
268
|
+
const q = search.toLowerCase()
|
|
269
|
+
scoreMap = new Map(
|
|
270
|
+
flatRows
|
|
271
|
+
.filter((r): r is ItemRow => r.type === 'item' && r.name.toLowerCase().includes(q))
|
|
272
|
+
.map((r) => [r.name, 1]),
|
|
273
|
+
)
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
const query = search.toLowerCase()
|
|
277
|
+
const filtered: VirtualRow[] = []
|
|
278
|
+
let currentHeading: (VirtualRow & { type: 'heading' }) | null = null
|
|
279
|
+
let pendingItems: ItemRow[] = []
|
|
280
|
+
let isThemeGroup = false
|
|
281
|
+
|
|
282
|
+
const flushGroup = () => {
|
|
283
|
+
if (pendingItems.length > 0 && currentHeading) {
|
|
284
|
+
// Sort items within group by lunr score (highest first)
|
|
285
|
+
pendingItems.sort((a, b) => (scoreMap.get(b.name) ?? 0) - (scoreMap.get(a.name) ?? 0))
|
|
286
|
+
filtered.push(currentHeading)
|
|
287
|
+
filtered.push(...pendingItems)
|
|
288
|
+
}
|
|
289
|
+
pendingItems = []
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
for (const row of flatRows) {
|
|
293
|
+
if (row.type === 'heading') {
|
|
294
|
+
flushGroup()
|
|
295
|
+
currentHeading = row
|
|
296
|
+
isThemeGroup = row.title === 'Theme'
|
|
297
|
+
} else if (row.type === 'item') {
|
|
298
|
+
// Theme items use substring, doc items use lunr
|
|
299
|
+
const isMatch = isThemeGroup ? row.name.toLowerCase().includes(query) : scoreMap.has(row.name)
|
|
300
|
+
if (isMatch) {
|
|
301
|
+
pendingItems.push(row)
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
flushGroup()
|
|
306
|
+
|
|
307
|
+
return filtered
|
|
308
|
+
}, [flatRows, search, searchIndex])
|
|
309
|
+
|
|
310
|
+
// Extract only item rows for index-based navigation
|
|
311
|
+
const itemRows = React.useMemo<ItemRow[]>(
|
|
312
|
+
() => filteredRows.filter((r): r is ItemRow => r.type === 'item'),
|
|
313
|
+
[filteredRows],
|
|
314
|
+
)
|
|
315
|
+
|
|
316
|
+
// Reset selection when search/filter changes
|
|
317
|
+
React.useEffect(() => {
|
|
318
|
+
setSelectedIndex(0)
|
|
319
|
+
}, [search])
|
|
320
|
+
|
|
321
|
+
// Clamp selectedIndex to valid range
|
|
322
|
+
const clampedIndex = itemRows.length > 0 ? Math.min(selectedIndex, itemRows.length - 1) : -1
|
|
323
|
+
const selectedRow = clampedIndex >= 0 ? itemRows[clampedIndex] : null
|
|
324
|
+
|
|
325
|
+
// Sync selected label to parent for footer
|
|
326
|
+
React.useEffect(() => {
|
|
327
|
+
onSelectedLabelChange(selectedRow?.name ?? '')
|
|
328
|
+
}, [selectedRow?.name, onSelectedLabelChange])
|
|
329
|
+
|
|
330
|
+
// Find the index in filteredRows (including headings) for virtualizer scrolling
|
|
331
|
+
const selectedFilteredIndex = selectedRow ? filteredRows.indexOf(selectedRow) : -1
|
|
332
|
+
|
|
333
|
+
const virtualizer = useVirtualizer({
|
|
334
|
+
count: filteredRows.length,
|
|
335
|
+
getScrollElement: () => scrollRef.current,
|
|
336
|
+
estimateSize: (index) => (filteredRows[index]?.type === 'heading' ? HEADING_HEIGHT : ITEM_HEIGHT),
|
|
337
|
+
overscan: 5,
|
|
338
|
+
})
|
|
339
|
+
|
|
340
|
+
// Scroll virtualizer to selected item when it changes
|
|
341
|
+
React.useEffect(() => {
|
|
342
|
+
if (selectedFilteredIndex >= 0) {
|
|
343
|
+
virtualizer.scrollToIndex(selectedFilteredIndex, { align: 'auto' })
|
|
344
|
+
}
|
|
345
|
+
}, [selectedFilteredIndex, virtualizer])
|
|
346
|
+
|
|
347
|
+
// Keyboard navigation via capture-phase listener.
|
|
348
|
+
const stableRef = React.useRef({ itemRows, selectedRow, clampedIndex, onClose })
|
|
349
|
+
stableRef.current = { itemRows, selectedRow, clampedIndex, onClose }
|
|
350
|
+
|
|
351
|
+
React.useEffect(() => {
|
|
352
|
+
const handler = (e: KeyboardEvent) => {
|
|
353
|
+
const { itemRows: rows, selectedRow: selected, clampedIndex: idx, onClose: close } = stableRef.current
|
|
354
|
+
if (rows.length === 0 && e.key !== 'Escape') return
|
|
355
|
+
|
|
356
|
+
switch (e.key) {
|
|
357
|
+
case 'ArrowDown':
|
|
358
|
+
e.preventDefault()
|
|
359
|
+
setSelectedIndex((prev) => Math.min(prev + 1, rows.length - 1))
|
|
360
|
+
break
|
|
361
|
+
case 'ArrowUp':
|
|
362
|
+
e.preventDefault()
|
|
363
|
+
setSelectedIndex((prev) => Math.max(prev - 1, 0))
|
|
364
|
+
break
|
|
365
|
+
case 'Home':
|
|
366
|
+
e.preventDefault()
|
|
367
|
+
setSelectedIndex(0)
|
|
368
|
+
break
|
|
369
|
+
case 'End':
|
|
370
|
+
e.preventDefault()
|
|
371
|
+
setSelectedIndex(rows.length - 1)
|
|
372
|
+
break
|
|
373
|
+
case 'Enter':
|
|
374
|
+
e.preventDefault()
|
|
375
|
+
if (selected) {
|
|
376
|
+
close()
|
|
377
|
+
selected.action()
|
|
378
|
+
}
|
|
379
|
+
break
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
document.addEventListener('keydown', handler, true)
|
|
383
|
+
return () => document.removeEventListener('keydown', handler, true)
|
|
384
|
+
}, [])
|
|
385
|
+
|
|
386
|
+
const isEmpty = itemRows.length === 0
|
|
387
|
+
|
|
388
|
+
return (
|
|
389
|
+
<>
|
|
390
|
+
{isEmpty && <CommandEmpty>No results found.</CommandEmpty>}
|
|
391
|
+
<CommandList className="h-[390px] max-h-full w-full md:w-full" scrollRef={scrollRef}>
|
|
392
|
+
<div style={{ height: virtualizer.getTotalSize(), position: 'relative', width: '100%' }}>
|
|
393
|
+
{virtualizer.getVirtualItems().map((virtualRow) => {
|
|
394
|
+
const row = filteredRows[virtualRow.index]
|
|
395
|
+
const isSelected = row === selectedRow
|
|
396
|
+
return (
|
|
397
|
+
<div
|
|
398
|
+
key={virtualRow.key}
|
|
399
|
+
data-index={virtualRow.index}
|
|
400
|
+
ref={virtualizer.measureElement}
|
|
401
|
+
style={{
|
|
402
|
+
position: 'absolute',
|
|
403
|
+
top: 0,
|
|
404
|
+
left: 0,
|
|
405
|
+
width: '100%',
|
|
406
|
+
transform: `translateY(${virtualRow.start}px)`,
|
|
407
|
+
}}>
|
|
408
|
+
{row?.type === 'heading' ? (
|
|
409
|
+
<div
|
|
410
|
+
data-slot="command-group-heading"
|
|
411
|
+
className="px-2 py-1.5 font-medium text-muted-foreground text-sm">
|
|
412
|
+
{row.title}
|
|
413
|
+
</div>
|
|
414
|
+
) : (
|
|
415
|
+
<CommandItem
|
|
416
|
+
value={row?.name}
|
|
417
|
+
textValue={search ? `${row?.name} ${search}` : row?.name}
|
|
418
|
+
data-highlighted={isSelected ? '' : undefined}
|
|
419
|
+
aria-selected={isSelected}
|
|
420
|
+
onSelect={() => {
|
|
421
|
+
onClose()
|
|
422
|
+
row?.action()
|
|
423
|
+
}}
|
|
424
|
+
onPointerMove={() => {
|
|
425
|
+
const idx = itemRows.indexOf(row as ItemRow)
|
|
426
|
+
if (idx >= 0) setSelectedIndex(idx)
|
|
427
|
+
}}>
|
|
428
|
+
{row?.icon}
|
|
429
|
+
<span>{row?.name}</span>
|
|
430
|
+
</CommandItem>
|
|
431
|
+
)}
|
|
432
|
+
</div>
|
|
433
|
+
)
|
|
434
|
+
})}
|
|
435
|
+
</div>
|
|
436
|
+
</CommandList>
|
|
437
|
+
</>
|
|
438
|
+
)
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
// -- CommandFooter -----------------------------------------------------------
|
|
442
|
+
|
|
443
|
+
function CommandFooter({ selectedLabel }: { selectedLabel: string }) {
|
|
444
|
+
const docsConfig = useDocsConfig()
|
|
445
|
+
const sidebarItems = docsConfig.sidebarNav.flatMap((group) => flattenSidebarItems(group.items ?? []))
|
|
446
|
+
const selectedNavItem = sidebarItems.find((item) => item.title === selectedLabel)
|
|
447
|
+
useKeyCommands(
|
|
448
|
+
{
|
|
449
|
+
'ctrl+shift+c': {
|
|
450
|
+
description: 'Copy command',
|
|
451
|
+
execute: () => {
|
|
452
|
+
if (!selectedLabel) return
|
|
453
|
+
navigator.clipboard.writeText(`bunx @gentleduck/cli add ${selectedLabel.toLowerCase().replace(/ /g, '-')}`)
|
|
454
|
+
},
|
|
455
|
+
name: 'ctrl+shift+c',
|
|
456
|
+
},
|
|
457
|
+
},
|
|
458
|
+
{ preventDefault: true },
|
|
459
|
+
)
|
|
460
|
+
return (
|
|
461
|
+
<div className="hidden h-10 w-full items-center justify-between gap-4 border-t px-2 pt-2 lg:flex">
|
|
462
|
+
<div className="flex h-full w-full items-center justify-between gap-4">
|
|
463
|
+
{selectedLabel && (
|
|
464
|
+
<Button className={cn('px-2')} size={'sm'} variant={'outline'}>
|
|
465
|
+
<CornerDownLeft aria-hidden="true" />
|
|
466
|
+
<Separator className="m-0 h-4 p-0" orientation="vertical" />
|
|
467
|
+
{selectedLabel.split(' ')?.[0]}
|
|
468
|
+
</Button>
|
|
469
|
+
)}
|
|
470
|
+
{selectedLabel && selectedNavItem?.title ? (
|
|
471
|
+
<Button className={cn('px-2')} size={'sm'} variant={'outline'}>
|
|
472
|
+
<div className="flex items-center gap-1">
|
|
473
|
+
<Command aria-hidden="true" className="!size-3" />
|
|
474
|
+
<p className="text-md">C</p>
|
|
475
|
+
</div>
|
|
476
|
+
<Separator className="m-0 h-4 p-0" orientation="vertical" />
|
|
477
|
+
<div className="flex items-center gap-1">
|
|
478
|
+
<span>bunx @gentleduck/cli add</span>
|
|
479
|
+
<span className="text-blue-400">{selectedNavItem.title.split(' ')?.[0]?.toLowerCase()}</span>
|
|
480
|
+
</div>
|
|
481
|
+
</Button>
|
|
482
|
+
) : (
|
|
483
|
+
<p className="flex h-full w-full items-center justify-center whitespace-nowrap text-right text-muted-foreground text-sm">
|
|
484
|
+
<span className="whitespace-nowrap font-medium text-sm">Command palette</span> for the documentation
|
|
485
|
+
content.
|
|
486
|
+
</p>
|
|
487
|
+
)}
|
|
488
|
+
</div>
|
|
489
|
+
</div>
|
|
490
|
+
)
|
|
491
|
+
}
|
|
@@ -52,14 +52,14 @@ export function HeaderBrand({
|
|
|
52
52
|
return (
|
|
53
53
|
<Link className={cn('flex items-center gap-2 text-foreground', className)} href={href}>
|
|
54
54
|
<Image
|
|
55
|
-
alt=
|
|
55
|
+
alt={`${label} logo`}
|
|
56
56
|
className={cn('hidden h-6 w-6 dark:block', logoClassName)}
|
|
57
57
|
height={512}
|
|
58
58
|
src={logoDark}
|
|
59
59
|
width={512}
|
|
60
60
|
/>
|
|
61
61
|
<Image
|
|
62
|
-
alt=
|
|
62
|
+
alt={`${label} logo`}
|
|
63
63
|
className={cn('block h-6 w-6 dark:hidden', logoClassName)}
|
|
64
64
|
height={512}
|
|
65
65
|
src={logoLight}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
3
|
import { useSiteConfig } from '@duck-docs/context'
|
|
4
|
-
import { buttonVariants } from '@gentleduck/registry-ui
|
|
4
|
+
import { buttonVariants } from '@gentleduck/registry-ui/button'
|
|
5
5
|
import { HeartIcon, Mail } from 'lucide-react'
|
|
6
6
|
import Link from 'next/link'
|
|
7
7
|
|
|
@@ -20,6 +20,7 @@ export function SiteFooter() {
|
|
|
20
20
|
{authorUrl ? (
|
|
21
21
|
<a className="font-medium underline underline-offset-4" href={authorUrl} rel="noreferrer" target="_blank">
|
|
22
22
|
{authorName}
|
|
23
|
+
<span className="sr-only"> (opens in a new tab)</span>
|
|
23
24
|
</a>
|
|
24
25
|
) : (
|
|
25
26
|
<span className="font-medium">{authorName}</span>
|
|
@@ -33,6 +34,7 @@ export function SiteFooter() {
|
|
|
33
34
|
rel="noreferrer"
|
|
34
35
|
target="_blank">
|
|
35
36
|
GitHub
|
|
37
|
+
<span className="sr-only"> (opens in a new tab)</span>
|
|
36
38
|
</a>
|
|
37
39
|
.
|
|
38
40
|
</>
|
|
@@ -53,17 +55,18 @@ export function FooterButtons() {
|
|
|
53
55
|
<>
|
|
54
56
|
<Link
|
|
55
57
|
className={buttonVariants({ size: 'sm', variant: 'outline' })}
|
|
56
|
-
href=
|
|
58
|
+
href={siteConfig.links?.sponsor ?? 'https://opencollective.com/gentelduck'}
|
|
59
|
+
rel="noreferrer"
|
|
57
60
|
target="_blank">
|
|
58
|
-
<HeartIcon className="mr-2 h-4 w-4 fill-current text-red-600" />
|
|
61
|
+
<HeartIcon aria-hidden="true" className="mr-2 h-4 w-4 fill-current text-red-600" />
|
|
59
62
|
Sponsor
|
|
63
|
+
<span className="sr-only"> (opens in a new tab)</span>
|
|
60
64
|
</Link>
|
|
61
65
|
<Link
|
|
62
66
|
className={buttonVariants({ size: 'sm', variant: 'outline' })}
|
|
63
|
-
href={siteConfig.links?.email ? `mailto:${siteConfig.links.email}` : 'mailto:support@gentleduck.org'}
|
|
64
|
-
|
|
65
|
-
<
|
|
66
|
-
<span className="">Email</span>
|
|
67
|
+
href={siteConfig.links?.email ? `mailto:${siteConfig.links.email}` : 'mailto:support@gentleduck.org'}>
|
|
68
|
+
<Mail aria-hidden="true" />
|
|
69
|
+
<span>Email</span>
|
|
67
70
|
</Link>
|
|
68
71
|
</>
|
|
69
72
|
)
|