@hanzo/docs-radix-ui 16.4.3
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/LICENSE +21 -0
- package/README.md +5 -0
- package/css/black.css +1 -0
- package/css/catppuccin.css +1 -0
- package/css/dusk.css +1 -0
- package/css/layouts/docs.css +1 -0
- package/css/layouts/home.css +1 -0
- package/css/layouts/notebook.css +1 -0
- package/css/neutral.css +1 -0
- package/css/ocean.css +1 -0
- package/css/preset.css +89 -0
- package/css/purple.css +1 -0
- package/css/shadcn.css +1 -0
- package/css/solar.css +1 -0
- package/css/style.css +9 -0
- package/css/vitepress.css +1 -0
- package/dist/_virtual/rolldown_runtime.js +36 -0
- package/dist/components/accordion.d.ts +25 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +70 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/banner.d.ts +35 -0
- package/dist/components/banner.d.ts.map +1 -0
- package/dist/components/banner.js +70 -0
- package/dist/components/banner.js.map +1 -0
- package/dist/components/callout.d.ts +43 -0
- package/dist/components/callout.d.ts.map +1 -0
- package/dist/components/callout.js +63 -0
- package/dist/components/callout.js.map +1 -0
- package/dist/components/card.d.ts +21 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +41 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/codeblock.d.ts +63 -0
- package/dist/components/codeblock.d.ts.map +1 -0
- package/dist/components/codeblock.js +126 -0
- package/dist/components/codeblock.js.map +1 -0
- package/dist/components/dialog/search-algolia.d.ts +39 -0
- package/dist/components/dialog/search-algolia.d.ts.map +1 -0
- package/dist/components/dialog/search-algolia.js +68 -0
- package/dist/components/dialog/search-algolia.js.map +1 -0
- package/dist/components/dialog/search-default.d.ts +44 -0
- package/dist/components/dialog/search-default.d.ts.map +1 -0
- package/dist/components/dialog/search-default.js +66 -0
- package/dist/components/dialog/search-default.js.map +1 -0
- package/dist/components/dialog/search-orama.d.ts +46 -0
- package/dist/components/dialog/search-orama.d.ts.map +1 -0
- package/dist/components/dialog/search-orama.js +73 -0
- package/dist/components/dialog/search-orama.js.map +1 -0
- package/dist/components/dialog/search.d.ts +113 -0
- package/dist/components/dialog/search.d.ts.map +1 -0
- package/dist/components/dialog/search.js +271 -0
- package/dist/components/dialog/search.js.map +1 -0
- package/dist/components/dynamic-codeblock.d.ts +32 -0
- package/dist/components/dynamic-codeblock.d.ts.map +1 -0
- package/dist/components/dynamic-codeblock.js +66 -0
- package/dist/components/dynamic-codeblock.js.map +1 -0
- package/dist/components/files.d.ts +35 -0
- package/dist/components/files.d.ts.map +1 -0
- package/dist/components/files.js +44 -0
- package/dist/components/files.js.map +1 -0
- package/dist/components/github-info.d.ts +19 -0
- package/dist/components/github-info.d.ts.map +1 -0
- package/dist/components/github-info.js +68 -0
- package/dist/components/github-info.js.map +1 -0
- package/dist/components/heading.d.ts +15 -0
- package/dist/components/heading.d.ts.map +1 -0
- package/dist/components/heading.js +29 -0
- package/dist/components/heading.js.map +1 -0
- package/dist/components/image-zoom-CtfZieBH.css +80 -0
- package/dist/components/image-zoom-CtfZieBH.css.map +1 -0
- package/dist/components/image-zoom.css +77 -0
- package/dist/components/image-zoom.d.ts +25 -0
- package/dist/components/image-zoom.d.ts.map +1 -0
- package/dist/components/image-zoom.js +36 -0
- package/dist/components/image-zoom.js.map +1 -0
- package/dist/components/image-zoom2.js +1 -0
- package/dist/components/inline-toc.d.ts +16 -0
- package/dist/components/inline-toc.d.ts.map +1 -0
- package/dist/components/inline-toc.js +30 -0
- package/dist/components/inline-toc.js.map +1 -0
- package/dist/components/sidebar/base.d.ts +109 -0
- package/dist/components/sidebar/base.d.ts.map +1 -0
- package/dist/components/sidebar/base.js +262 -0
- package/dist/components/sidebar/base.js.map +1 -0
- package/dist/components/sidebar/link-item.d.ts +24 -0
- package/dist/components/sidebar/link-item.d.ts.map +1 -0
- package/dist/components/sidebar/link-item.js +33 -0
- package/dist/components/sidebar/link-item.js.map +1 -0
- package/dist/components/sidebar/page-tree.d.ts +30 -0
- package/dist/components/sidebar/page-tree.d.ts.map +1 -0
- package/dist/components/sidebar/page-tree.js +58 -0
- package/dist/components/sidebar/page-tree.js.map +1 -0
- package/dist/components/sidebar/tabs/dropdown.d.ts +20 -0
- package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -0
- package/dist/components/sidebar/tabs/dropdown.js +78 -0
- package/dist/components/sidebar/tabs/dropdown.js.map +1 -0
- package/dist/components/sidebar/tabs/index.d.ts +27 -0
- package/dist/components/sidebar/tabs/index.d.ts.map +1 -0
- package/dist/components/sidebar/tabs/index.js +49 -0
- package/dist/components/sidebar/tabs/index.js.map +1 -0
- package/dist/components/steps.d.ts +17 -0
- package/dist/components/steps.d.ts.map +1 -0
- package/dist/components/steps.js +19 -0
- package/dist/components/steps.js.map +1 -0
- package/dist/components/tabs.d.ts +52 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +101 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/toc/clerk.d.ts +1 -0
- package/dist/components/toc/clerk.js +12 -0
- package/dist/components/toc/clerk.js.map +1 -0
- package/dist/components/toc/default.d.ts +1 -0
- package/dist/components/toc/default.js +12 -0
- package/dist/components/toc/default.js.map +1 -0
- package/dist/components/toc/index.d.ts +1 -0
- package/dist/components/toc/index.js +12 -0
- package/dist/components/toc/index.js.map +1 -0
- package/dist/components/type-table.d.ts +39 -0
- package/dist/components/type-table.d.ts.map +1 -0
- package/dist/components/type-table.js +109 -0
- package/dist/components/type-table.js.map +1 -0
- package/dist/components/ui/accordion.d.ts +32 -0
- package/dist/components/ui/accordion.d.ts.map +1 -0
- package/dist/components/ui/accordion.js +46 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/button.d.ts +13 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/button.js +23 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/collapsible.d.ts +13 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/collapsible.js +27 -0
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +16 -0
- package/dist/components/ui/navigation-menu.d.ts.map +1 -0
- package/dist/components/ui/navigation-menu.js +44 -0
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/popover.d.ts +11 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/popover.js +24 -0
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +11 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.js +37 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +39 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tabs.js +81 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/contexts/i18n.d.ts +1 -0
- package/dist/contexts/i18n.js +12 -0
- package/dist/contexts/i18n.js.map +1 -0
- package/dist/contexts/search.d.ts +8 -0
- package/dist/contexts/search.d.ts.map +1 -0
- package/dist/contexts/search.js +12 -0
- package/dist/contexts/search.js.map +1 -0
- package/dist/contexts/tree.d.ts +1 -0
- package/dist/contexts/tree.js +12 -0
- package/dist/contexts/tree.js.map +1 -0
- package/dist/i18n.d.ts +1 -0
- package/dist/i18n.js +3 -0
- package/dist/layouts/docs/client.d.ts +32 -0
- package/dist/layouts/docs/client.d.ts.map +1 -0
- package/dist/layouts/docs/client.js +68 -0
- package/dist/layouts/docs/client.js.map +1 -0
- package/dist/layouts/docs/index.d.ts +60 -0
- package/dist/layouts/docs/index.d.ts.map +1 -0
- package/dist/layouts/docs/index.js +179 -0
- package/dist/layouts/docs/index.js.map +1 -0
- package/dist/layouts/docs/page/client.d.ts +46 -0
- package/dist/layouts/docs/page/client.d.ts.map +1 -0
- package/dist/layouts/docs/page/client.js +227 -0
- package/dist/layouts/docs/page/client.js.map +1 -0
- package/dist/layouts/docs/page/index.d.ts +94 -0
- package/dist/layouts/docs/page/index.d.ts.map +1 -0
- package/dist/layouts/docs/page/index.js +104 -0
- package/dist/layouts/docs/page/index.js.map +1 -0
- package/dist/layouts/docs/sidebar.d.ts +58 -0
- package/dist/layouts/docs/sidebar.d.ts.map +1 -0
- package/dist/layouts/docs/sidebar.js +147 -0
- package/dist/layouts/docs/sidebar.js.map +1 -0
- package/dist/layouts/home/client.d.ts +19 -0
- package/dist/layouts/home/client.d.ts.map +1 -0
- package/dist/layouts/home/client.js +262 -0
- package/dist/layouts/home/client.js.map +1 -0
- package/dist/layouts/home/index.d.ts +17 -0
- package/dist/layouts/home/index.d.ts.map +1 -0
- package/dist/layouts/home/index.js +25 -0
- package/dist/layouts/home/index.js.map +1 -0
- package/dist/layouts/home/navbar.d.ts +14 -0
- package/dist/layouts/home/navbar.d.ts.map +1 -0
- package/dist/layouts/home/navbar.js +38 -0
- package/dist/layouts/home/navbar.js.map +1 -0
- package/dist/layouts/notebook/client.d.ts +47 -0
- package/dist/layouts/notebook/client.d.ts.map +1 -0
- package/dist/layouts/notebook/client.js +159 -0
- package/dist/layouts/notebook/client.js.map +1 -0
- package/dist/layouts/notebook/index.d.ts +38 -0
- package/dist/layouts/notebook/index.d.ts.map +1 -0
- package/dist/layouts/notebook/index.js +219 -0
- package/dist/layouts/notebook/index.js.map +1 -0
- package/dist/layouts/notebook/page/client.d.ts +46 -0
- package/dist/layouts/notebook/page/client.d.ts.map +1 -0
- package/dist/layouts/notebook/page/client.js +227 -0
- package/dist/layouts/notebook/page/client.js.map +1 -0
- package/dist/layouts/notebook/page/index.d.ts +94 -0
- package/dist/layouts/notebook/page/index.d.ts.map +1 -0
- package/dist/layouts/notebook/page/index.js +104 -0
- package/dist/layouts/notebook/page/index.js.map +1 -0
- package/dist/layouts/notebook/sidebar.d.ts +63 -0
- package/dist/layouts/notebook/sidebar.d.ts.map +1 -0
- package/dist/layouts/notebook/sidebar.js +147 -0
- package/dist/layouts/notebook/sidebar.js.map +1 -0
- package/dist/layouts/shared/index.d.ts +69 -0
- package/dist/layouts/shared/index.d.ts.map +1 -0
- package/dist/layouts/shared/index.js +39 -0
- package/dist/layouts/shared/index.js.map +1 -0
- package/dist/layouts/shared/language-toggle.d.ts +10 -0
- package/dist/layouts/shared/language-toggle.d.ts.map +1 -0
- package/dist/layouts/shared/language-toggle.js +47 -0
- package/dist/layouts/shared/language-toggle.js.map +1 -0
- package/dist/layouts/shared/search-toggle.d.ts +23 -0
- package/dist/layouts/shared/search-toggle.d.ts.map +1 -0
- package/dist/layouts/shared/search-toggle.js +56 -0
- package/dist/layouts/shared/search-toggle.js.map +1 -0
- package/dist/layouts/shared/theme-toggle.d.ts +14 -0
- package/dist/layouts/shared/theme-toggle.d.ts.map +1 -0
- package/dist/layouts/shared/theme-toggle.js +62 -0
- package/dist/layouts/shared/theme-toggle.js.map +1 -0
- package/dist/mdx.d.ts +38 -0
- package/dist/mdx.d.ts.map +1 -0
- package/dist/mdx.js +74 -0
- package/dist/mdx.js.map +1 -0
- package/dist/mdx.server.d.ts +17 -0
- package/dist/mdx.server.d.ts.map +1 -0
- package/dist/mdx.server.js +23 -0
- package/dist/mdx.server.js.map +1 -0
- package/dist/og.d.ts +1 -0
- package/dist/og.js +3 -0
- package/dist/page.d.ts +37 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +38 -0
- package/dist/page.js.map +1 -0
- package/dist/provider/base.d.ts +50 -0
- package/dist/provider/base.d.ts.map +1 -0
- package/dist/provider/base.js +39 -0
- package/dist/provider/base.js.map +1 -0
- package/dist/provider/next.d.ts +22 -0
- package/dist/provider/next.d.ts.map +1 -0
- package/dist/provider/next.js +21 -0
- package/dist/provider/next.js.map +1 -0
- package/dist/provider/react-router.d.ts +22 -0
- package/dist/provider/react-router.d.ts.map +1 -0
- package/dist/provider/react-router.js +21 -0
- package/dist/provider/react-router.js.map +1 -0
- package/dist/provider/tanstack.d.ts +22 -0
- package/dist/provider/tanstack.d.ts.map +1 -0
- package/dist/provider/tanstack.js +21 -0
- package/dist/provider/tanstack.js.map +1 -0
- package/dist/provider/waku.d.ts +22 -0
- package/dist/provider/waku.d.ts.map +1 -0
- package/dist/provider/waku.js +21 -0
- package/dist/provider/waku.js.map +1 -0
- package/dist/style.css +3255 -0
- package/dist/utils/use-copy-button.d.ts +1 -0
- package/dist/utils/use-copy-button.js +3 -0
- package/dist/utils/use-footer-items.d.ts +1 -0
- package/dist/utils/use-footer-items.js +3 -0
- package/dist/utils/use-is-scroll-top.d.ts +1 -0
- package/dist/utils/use-is-scroll-top.js +3 -0
- package/package.json +149 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { buttonVariants } from "../../components/ui/button.js";
|
|
4
|
+
import { i18n_exports } from "../../contexts/i18n.js";
|
|
5
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../components/ui/popover.js";
|
|
6
|
+
import { cn } from "@hanzo/docs-ui/cn";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
|
|
9
|
+
//#region src/layouts/shared/language-toggle.tsx
|
|
10
|
+
function LanguageToggle(props) {
|
|
11
|
+
const context = (0, i18n_exports.useI18n)();
|
|
12
|
+
if (!context.locales) throw new Error("Missing `<I18nProvider />`");
|
|
13
|
+
return /* @__PURE__ */ jsxs(Popover, { children: [/* @__PURE__ */ jsx(PopoverTrigger, {
|
|
14
|
+
"aria-label": context.text.chooseLanguage,
|
|
15
|
+
...props,
|
|
16
|
+
className: cn(buttonVariants({
|
|
17
|
+
color: "ghost",
|
|
18
|
+
className: "gap-1.5 p-1.5"
|
|
19
|
+
}), props.className),
|
|
20
|
+
children: props.children
|
|
21
|
+
}), /* @__PURE__ */ jsxs(PopoverContent, {
|
|
22
|
+
className: "flex flex-col overflow-x-hidden p-0",
|
|
23
|
+
children: [/* @__PURE__ */ jsx("p", {
|
|
24
|
+
className: "mb-1 p-2 text-xs font-medium text-fd-muted-foreground",
|
|
25
|
+
children: context.text.chooseLanguage
|
|
26
|
+
}), context.locales.map((item) => /* @__PURE__ */ jsx("button", {
|
|
27
|
+
type: "button",
|
|
28
|
+
className: cn("p-2 text-start text-sm", item.locale === context.locale ? "bg-fd-primary/10 font-medium text-fd-primary" : "hover:bg-fd-accent hover:text-fd-accent-foreground"),
|
|
29
|
+
onClick: () => {
|
|
30
|
+
context.onChange?.(item.locale);
|
|
31
|
+
},
|
|
32
|
+
children: item.name
|
|
33
|
+
}, item.locale))]
|
|
34
|
+
})] });
|
|
35
|
+
}
|
|
36
|
+
function LanguageToggleText(props) {
|
|
37
|
+
const context = (0, i18n_exports.useI18n)();
|
|
38
|
+
const text = context.locales?.find((item) => item.locale === context.locale)?.name;
|
|
39
|
+
return /* @__PURE__ */ jsx("span", {
|
|
40
|
+
...props,
|
|
41
|
+
children: text
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { LanguageToggle, LanguageToggleText };
|
|
47
|
+
//# sourceMappingURL=language-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-toggle.js","names":[],"sources":["../../../src/layouts/shared/language-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { useI18n } from '@/contexts/i18n';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport { buttonVariants } from '@/components/ui/button';\n\nexport type LanguageSelectProps = ComponentProps<'button'>;\n\nexport function LanguageToggle(props: LanguageSelectProps): React.ReactElement {\n const context = useI18n();\n if (!context.locales) throw new Error('Missing `<I18nProvider />`');\n\n return (\n <Popover>\n <PopoverTrigger\n aria-label={context.text.chooseLanguage}\n {...props}\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'gap-1.5 p-1.5',\n }),\n props.className,\n )}\n >\n {props.children}\n </PopoverTrigger>\n <PopoverContent className=\"flex flex-col overflow-x-hidden p-0\">\n <p className=\"mb-1 p-2 text-xs font-medium text-fd-muted-foreground\">\n {context.text.chooseLanguage}\n </p>\n {context.locales.map((item) => (\n <button\n key={item.locale}\n type=\"button\"\n className={cn(\n 'p-2 text-start text-sm',\n item.locale === context.locale\n ? 'bg-fd-primary/10 font-medium text-fd-primary'\n : 'hover:bg-fd-accent hover:text-fd-accent-foreground',\n )}\n onClick={() => {\n context.onChange?.(item.locale);\n }}\n >\n {item.name}\n </button>\n ))}\n </PopoverContent>\n </Popover>\n );\n}\n\nexport function LanguageToggleText(props: ComponentProps<'span'>) {\n const context = useI18n();\n const text = context.locales?.find((item) => item.locale === context.locale)?.name;\n\n return <span {...props}>{text}</span>;\n}\n"],"mappings":";;;;;;;;;AASA,SAAgB,eAAe,OAAgD;CAC7E,MAAM,qCAAmB;AACzB,KAAI,CAAC,QAAQ,QAAS,OAAM,IAAI,MAAM,6BAA6B;AAEnE,QACE,qBAAC,sBACC,oBAAC;EACC,cAAY,QAAQ,KAAK;EACzB,GAAI;EACJ,WAAW,GACT,eAAe;GACb,OAAO;GACP,WAAW;GACZ,CAAC,EACF,MAAM,UACP;YAEA,MAAM;GACQ,EACjB,qBAAC;EAAe,WAAU;aACxB,oBAAC;GAAE,WAAU;aACV,QAAQ,KAAK;IACZ,EACH,QAAQ,QAAQ,KAAK,SACpB,oBAAC;GAEC,MAAK;GACL,WAAW,GACT,0BACA,KAAK,WAAW,QAAQ,SACpB,iDACA,qDACL;GACD,eAAe;AACb,YAAQ,WAAW,KAAK,OAAO;;aAGhC,KAAK;KAZD,KAAK,OAaH,CACT;GACa,IACT;;AAId,SAAgB,mBAAmB,OAA+B;CAChE,MAAM,qCAAmB;CACzB,MAAM,OAAO,QAAQ,SAAS,MAAM,SAAS,KAAK,WAAW,QAAQ,OAAO,EAAE;AAE9E,QAAO,oBAAC;EAAK,GAAI;YAAQ;GAAY"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ButtonProps } from "../../components/ui/button.js";
|
|
2
|
+
import * as react_jsx_runtime88 from "react/jsx-runtime";
|
|
3
|
+
import { ComponentProps } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/layouts/shared/search-toggle.d.ts
|
|
6
|
+
interface SearchToggleProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {
|
|
7
|
+
hideIfDisabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare function SearchToggle({
|
|
10
|
+
hideIfDisabled,
|
|
11
|
+
size,
|
|
12
|
+
color,
|
|
13
|
+
...props
|
|
14
|
+
}: SearchToggleProps): react_jsx_runtime88.JSX.Element | null;
|
|
15
|
+
declare function LargeSearchToggle({
|
|
16
|
+
hideIfDisabled,
|
|
17
|
+
...props
|
|
18
|
+
}: ComponentProps<'button'> & {
|
|
19
|
+
hideIfDisabled?: boolean;
|
|
20
|
+
}): react_jsx_runtime88.JSX.Element | null;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { LargeSearchToggle, SearchToggle };
|
|
23
|
+
//# sourceMappingURL=search-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/search-toggle.tsx"],"sourcesContent":[],"mappings":";;;;;UAQU,iBAAA,SAA0B,KAAK,oCAAoC;;;AAAnE,iBAIM,YAAA,CAJY;EAAA,cAAA;EAAA,IAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EASzB,iBATyB,CAAA,EASR,mBAAA,CAAA,GAAA,CAAA,OAAA,GATQ,IAAA;AAAa,iBAkCzB,iBAAA,CAlCyB;EAAA,cAAA;EAAA,GAAA;CAAA,EAqCtC,cArCsC,CAAA,QAAA,CAAA,GAAA;EAAL,cAAA,CAAA,EAAA,OAAA;CAAyC,CAAA,EAuC5E,mBAAA,CAAA,GAAA,CAAA,OAAA,GAvC4E,IAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { buttonVariants } from "../../components/ui/button.js";
|
|
4
|
+
import { i18n_exports } from "../../contexts/i18n.js";
|
|
5
|
+
import { search_exports } from "../../contexts/search.js";
|
|
6
|
+
import { cn } from "@hanzo/docs-ui/cn";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Search } from "lucide-react";
|
|
9
|
+
|
|
10
|
+
//#region src/layouts/shared/search-toggle.tsx
|
|
11
|
+
function SearchToggle({ hideIfDisabled, size = "icon-sm", color = "ghost", ...props }) {
|
|
12
|
+
const { setOpenSearch, enabled } = (0, search_exports.useSearchContext)();
|
|
13
|
+
if (hideIfDisabled && !enabled) return null;
|
|
14
|
+
return /* @__PURE__ */ jsx("button", {
|
|
15
|
+
type: "button",
|
|
16
|
+
className: cn(buttonVariants({
|
|
17
|
+
size,
|
|
18
|
+
color
|
|
19
|
+
}), props.className),
|
|
20
|
+
"data-search": "",
|
|
21
|
+
"aria-label": "Open Search",
|
|
22
|
+
onClick: () => {
|
|
23
|
+
setOpenSearch(true);
|
|
24
|
+
},
|
|
25
|
+
children: /* @__PURE__ */ jsx(Search, {})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function LargeSearchToggle({ hideIfDisabled, ...props }) {
|
|
29
|
+
const { enabled, hotKey, setOpenSearch } = (0, search_exports.useSearchContext)();
|
|
30
|
+
const { text } = (0, i18n_exports.useI18n)();
|
|
31
|
+
if (hideIfDisabled && !enabled) return null;
|
|
32
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
33
|
+
type: "button",
|
|
34
|
+
"data-search-full": "",
|
|
35
|
+
...props,
|
|
36
|
+
className: cn("inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground", props.className),
|
|
37
|
+
onClick: () => {
|
|
38
|
+
setOpenSearch(true);
|
|
39
|
+
},
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsx(Search, { className: "size-4" }),
|
|
42
|
+
text.search,
|
|
43
|
+
/* @__PURE__ */ jsx("div", {
|
|
44
|
+
className: "ms-auto inline-flex gap-0.5",
|
|
45
|
+
children: hotKey.map((k, i) => /* @__PURE__ */ jsx("kbd", {
|
|
46
|
+
className: "rounded-md border bg-fd-background px-1.5",
|
|
47
|
+
children: k.display
|
|
48
|
+
}, i))
|
|
49
|
+
})
|
|
50
|
+
]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { LargeSearchToggle, SearchToggle };
|
|
56
|
+
//# sourceMappingURL=search-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-toggle.js","names":[],"sources":["../../../src/layouts/shared/search-toggle.tsx"],"sourcesContent":["'use client';\nimport type { ComponentProps } from 'react';\nimport { Search } from 'lucide-react';\nimport { useSearchContext } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport { type ButtonProps, buttonVariants } from '@/components/ui/button';\n\ninterface SearchToggleProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {\n hideIfDisabled?: boolean;\n}\n\nexport function SearchToggle({\n hideIfDisabled,\n size = 'icon-sm',\n color = 'ghost',\n ...props\n}: SearchToggleProps) {\n const { setOpenSearch, enabled } = useSearchContext();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n className={cn(\n buttonVariants({\n size,\n color,\n }),\n props.className,\n )}\n data-search=\"\"\n aria-label=\"Open Search\"\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search />\n </button>\n );\n}\n\nexport function LargeSearchToggle({\n hideIfDisabled,\n ...props\n}: ComponentProps<'button'> & {\n hideIfDisabled?: boolean;\n}) {\n const { enabled, hotKey, setOpenSearch } = useSearchContext();\n const { text } = useI18n();\n if (hideIfDisabled && !enabled) return null;\n\n return (\n <button\n type=\"button\"\n data-search-full=\"\"\n {...props}\n className={cn(\n 'inline-flex items-center gap-2 rounded-lg border bg-fd-secondary/50 p-1.5 ps-2 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground',\n props.className,\n )}\n onClick={() => {\n setOpenSearch(true);\n }}\n >\n <Search className=\"size-4\" />\n {text.search}\n <div className=\"ms-auto inline-flex gap-0.5\">\n {hotKey.map((k, i) => (\n <kbd key={i} className=\"rounded-md border bg-fd-background px-1.5\">\n {k.display}\n </kbd>\n ))}\n </div>\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgB,aAAa,EAC3B,gBACA,OAAO,WACP,QAAQ,SACR,GAAG,SACiB;CACpB,MAAM,EAAE,eAAe,kDAA8B;AACrD,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,oBAAC;EACC,MAAK;EACL,WAAW,GACT,eAAe;GACb;GACA;GACD,CAAC,EACF,MAAM,UACP;EACD,eAAY;EACZ,cAAW;EACX,eAAe;AACb,iBAAc,KAAK;;YAGrB,oBAAC,WAAS;GACH;;AAIb,SAAgB,kBAAkB,EAChC,gBACA,GAAG,SAGF;CACD,MAAM,EAAE,SAAS,QAAQ,wDAAoC;CAC7D,MAAM,EAAE,oCAAkB;AAC1B,KAAI,kBAAkB,CAAC,QAAS,QAAO;AAEvC,QACE,qBAAC;EACC,MAAK;EACL,oBAAiB;EACjB,GAAI;EACJ,WAAW,GACT,wLACA,MAAM,UACP;EACD,eAAe;AACb,iBAAc,KAAK;;;GAGrB,oBAAC,UAAO,WAAU,WAAW;GAC5B,KAAK;GACN,oBAAC;IAAI,WAAU;cACZ,OAAO,KAAK,GAAG,MACd,oBAAC;KAAY,WAAU;eACpB,EAAE;OADK,EAEJ,CACN;KACE;;GACC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime92 from "react/jsx-runtime";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/layouts/shared/theme-toggle.d.ts
|
|
5
|
+
declare function ThemeToggle({
|
|
6
|
+
className,
|
|
7
|
+
mode,
|
|
8
|
+
...props
|
|
9
|
+
}: ComponentProps<'div'> & {
|
|
10
|
+
mode?: 'light-dark' | 'light-dark-system';
|
|
11
|
+
}): react_jsx_runtime92.JSX.Element;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { ThemeToggle };
|
|
14
|
+
//# sourceMappingURL=theme-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-toggle.d.ts","names":[],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":[],"mappings":";;;;iBAkBgB,WAAA;;;;GAIb;;IAEF,mBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "@hanzo/docs-ui/cn";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Airplay, Moon, Sun } from "lucide-react";
|
|
6
|
+
import { useEffect, useState } from "react";
|
|
7
|
+
import { cva } from "class-variance-authority";
|
|
8
|
+
import { useTheme } from "next-themes";
|
|
9
|
+
|
|
10
|
+
//#region src/layouts/shared/theme-toggle.tsx
|
|
11
|
+
const itemVariants = cva("size-6.5 rounded-full p-1.5 text-fd-muted-foreground", { variants: { active: {
|
|
12
|
+
true: "bg-fd-accent text-fd-accent-foreground",
|
|
13
|
+
false: "text-fd-muted-foreground"
|
|
14
|
+
} } });
|
|
15
|
+
const full = [
|
|
16
|
+
["light", Sun],
|
|
17
|
+
["dark", Moon],
|
|
18
|
+
["system", Airplay]
|
|
19
|
+
];
|
|
20
|
+
function ThemeToggle({ className, mode = "light-dark", ...props }) {
|
|
21
|
+
const { setTheme, theme, resolvedTheme } = useTheme();
|
|
22
|
+
const [mounted, setMounted] = useState(false);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
setMounted(true);
|
|
25
|
+
}, []);
|
|
26
|
+
const container = cn("inline-flex items-center rounded-full border p-1", className);
|
|
27
|
+
if (mode === "light-dark") {
|
|
28
|
+
const value$1 = mounted ? resolvedTheme : null;
|
|
29
|
+
return /* @__PURE__ */ jsx("button", {
|
|
30
|
+
className: container,
|
|
31
|
+
"aria-label": `Toggle Theme`,
|
|
32
|
+
onClick: () => setTheme(value$1 === "light" ? "dark" : "light"),
|
|
33
|
+
"data-theme-toggle": "",
|
|
34
|
+
children: full.map(([key, Icon]) => {
|
|
35
|
+
if (key === "system") return;
|
|
36
|
+
return /* @__PURE__ */ jsx(Icon, {
|
|
37
|
+
fill: "currentColor",
|
|
38
|
+
className: cn(itemVariants({ active: value$1 === key }))
|
|
39
|
+
}, key);
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const value = mounted ? theme : null;
|
|
44
|
+
return /* @__PURE__ */ jsx("div", {
|
|
45
|
+
className: container,
|
|
46
|
+
"data-theme-toggle": "",
|
|
47
|
+
...props,
|
|
48
|
+
children: full.map(([key, Icon]) => /* @__PURE__ */ jsx("button", {
|
|
49
|
+
"aria-label": key,
|
|
50
|
+
className: cn(itemVariants({ active: value === key })),
|
|
51
|
+
onClick: () => setTheme(key),
|
|
52
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
53
|
+
className: "size-full",
|
|
54
|
+
fill: "currentColor"
|
|
55
|
+
})
|
|
56
|
+
}, key))
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
//#endregion
|
|
61
|
+
export { ThemeToggle };
|
|
62
|
+
//# sourceMappingURL=theme-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-toggle.js","names":["value"],"sources":["../../../src/layouts/shared/theme-toggle.tsx"],"sourcesContent":["'use client';\nimport { cva } from 'class-variance-authority';\nimport { Airplay, Moon, Sun } from 'lucide-react';\nimport { useTheme } from 'next-themes';\nimport { ComponentProps, useEffect, useState } from 'react';\nimport { cn } from '@hanzo/docs-ui/cn';\n\nconst itemVariants = cva('size-6.5 rounded-full p-1.5 text-fd-muted-foreground', {\n variants: {\n active: {\n true: 'bg-fd-accent text-fd-accent-foreground',\n false: 'text-fd-muted-foreground',\n },\n },\n});\n\nconst full = [['light', Sun] as const, ['dark', Moon] as const, ['system', Airplay] as const];\n\nexport function ThemeToggle({\n className,\n mode = 'light-dark',\n ...props\n}: ComponentProps<'div'> & {\n mode?: 'light-dark' | 'light-dark-system';\n}) {\n const { setTheme, theme, resolvedTheme } = useTheme();\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const container = cn('inline-flex items-center rounded-full border p-1', className);\n\n if (mode === 'light-dark') {\n const value = mounted ? resolvedTheme : null;\n\n return (\n <button\n className={container}\n aria-label={`Toggle Theme`}\n onClick={() => setTheme(value === 'light' ? 'dark' : 'light')}\n data-theme-toggle=\"\"\n >\n {full.map(([key, Icon]) => {\n if (key === 'system') return;\n\n return (\n <Icon\n key={key}\n fill=\"currentColor\"\n className={cn(itemVariants({ active: value === key }))}\n />\n );\n })}\n </button>\n );\n }\n\n const value = mounted ? theme : null;\n\n return (\n <div className={container} data-theme-toggle=\"\" {...props}>\n {full.map(([key, Icon]) => (\n <button\n key={key}\n aria-label={key}\n className={cn(itemVariants({ active: value === key }))}\n onClick={() => setTheme(key)}\n >\n <Icon className=\"size-full\" fill=\"currentColor\" />\n </button>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAM,eAAe,IAAI,wDAAwD,EAC/E,UAAU,EACR,QAAQ;CACN,MAAM;CACN,OAAO;CACR,EACF,EACF,CAAC;AAEF,MAAM,OAAO;CAAC,CAAC,SAAS,IAAI;CAAW,CAAC,QAAQ,KAAK;CAAW,CAAC,UAAU,QAAQ;CAAU;AAE7F,SAAgB,YAAY,EAC1B,WACA,OAAO,cACP,GAAG,SAGF;CACD,MAAM,EAAE,UAAU,OAAO,kBAAkB,UAAU;CACrD,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;AAE7C,iBAAgB;AACd,aAAW,KAAK;IACf,EAAE,CAAC;CAEN,MAAM,YAAY,GAAG,oDAAoD,UAAU;AAEnF,KAAI,SAAS,cAAc;EACzB,MAAMA,UAAQ,UAAU,gBAAgB;AAExC,SACE,oBAAC;GACC,WAAW;GACX,cAAY;GACZ,eAAe,SAASA,YAAU,UAAU,SAAS,QAAQ;GAC7D,qBAAkB;aAEjB,KAAK,KAAK,CAAC,KAAK,UAAU;AACzB,QAAI,QAAQ,SAAU;AAEtB,WACE,oBAAC;KAEC,MAAK;KACL,WAAW,GAAG,aAAa,EAAE,QAAQA,YAAU,KAAK,CAAC,CAAC;OAFjD,IAGL;KAEJ;IACK;;CAIb,MAAM,QAAQ,UAAU,QAAQ;AAEhC,QACE,oBAAC;EAAI,WAAW;EAAW,qBAAkB;EAAG,GAAI;YACjD,KAAK,KAAK,CAAC,KAAK,UACf,oBAAC;GAEC,cAAY;GACZ,WAAW,GAAG,aAAa,EAAE,QAAQ,UAAU,KAAK,CAAC,CAAC;GACtD,eAAe,SAAS,IAAI;aAE5B,oBAAC;IAAK,WAAU;IAAY,MAAK;KAAiB;KAL7C,IAME,CACT;GACE"}
|
package/dist/mdx.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Callout, CalloutContainer, CalloutDescription, CalloutTitle } from "./components/callout.js";
|
|
2
|
+
import { Card, Cards } from "./components/card.js";
|
|
3
|
+
import { CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger } from "./components/codeblock.js";
|
|
4
|
+
import { createRelativeLink as createRelativeLink$1 } from "./mdx.server.js";
|
|
5
|
+
import * as react_jsx_runtime132 from "react/jsx-runtime";
|
|
6
|
+
import { AnchorHTMLAttributes, FC, HTMLAttributes, ImgHTMLAttributes, TableHTMLAttributes } from "react";
|
|
7
|
+
|
|
8
|
+
//#region src/mdx.d.ts
|
|
9
|
+
declare function Image(props: ImgHTMLAttributes<HTMLImageElement> & {
|
|
10
|
+
sizes?: string;
|
|
11
|
+
}): react_jsx_runtime132.JSX.Element;
|
|
12
|
+
declare function Table(props: TableHTMLAttributes<HTMLTableElement>): react_jsx_runtime132.JSX.Element;
|
|
13
|
+
declare const defaultMdxComponents: {
|
|
14
|
+
CodeBlockTab: typeof CodeBlockTab;
|
|
15
|
+
CodeBlockTabs: typeof CodeBlockTabs;
|
|
16
|
+
CodeBlockTabsList: typeof CodeBlockTabsList;
|
|
17
|
+
CodeBlockTabsTrigger: typeof CodeBlockTabsTrigger;
|
|
18
|
+
pre: (props: HTMLAttributes<HTMLPreElement>) => react_jsx_runtime132.JSX.Element;
|
|
19
|
+
Card: typeof Card;
|
|
20
|
+
Cards: typeof Cards;
|
|
21
|
+
a: FC<AnchorHTMLAttributes<HTMLAnchorElement>>;
|
|
22
|
+
img: typeof Image;
|
|
23
|
+
h1: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime132.JSX.Element;
|
|
24
|
+
h2: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime132.JSX.Element;
|
|
25
|
+
h3: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime132.JSX.Element;
|
|
26
|
+
h4: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime132.JSX.Element;
|
|
27
|
+
h5: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime132.JSX.Element;
|
|
28
|
+
h6: (props: HTMLAttributes<HTMLHeadingElement>) => react_jsx_runtime132.JSX.Element;
|
|
29
|
+
table: typeof Table;
|
|
30
|
+
Callout: typeof Callout;
|
|
31
|
+
CalloutContainer: typeof CalloutContainer;
|
|
32
|
+
CalloutTitle: typeof CalloutTitle;
|
|
33
|
+
CalloutDescription: typeof CalloutDescription;
|
|
34
|
+
};
|
|
35
|
+
declare const createRelativeLink: typeof createRelativeLink$1;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { createRelativeLink, defaultMdxComponents as default };
|
|
38
|
+
//# sourceMappingURL=mdx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx.d.ts","names":[],"sources":["../src/mdx.tsx"],"sourcesContent":[],"mappings":";;;;;;;;iBAsBS,KAAA,QACA,kBAAkB;;IAExB,oBAAA,CAAA,GAAA,CAAA;iBAYM,KAAA,QAAa,oBAAoB,oBAAiB,oBAAA,CAAA,GAAA,CAAA;AAjB3B,cAyB1B,oBAvBQ,EAAA;EACa,YAAA,EAAA,mBAAA;EAAlB,aAAA,EAAA,oBAAA;EAEN,iBAAA,EAAA,wBAAA;EAAA,oBAAA,EAAA,2BAAA;EAYM,GAAA,EAAA,CAAA,KAAK,EAaC,cAbD,CAagB,cAbhB,CAAA,EAAA,GAa+B,oBAAA,CAAA,GAAA,CAAA,OAb/B;EAA4B,IAAA,EAAA,WAAA;EAApB,KAAA,EAAA,YAAA;EAAqC,CAAA,EAoB9C,EApB8C,CAoB3C,oBApB2C,CAoBtB,iBApBsB,CAAA,CAAA;EAAA,GAAA,EAAA,YAAA;EAQrD,EAAA,EAAA,CAAA,KAAA,EAcQ,cAWb,CAX4B,kBAW5B,CAAA,EAAA,GAX+C,oBAAA,CAAA,GAAA,CAAA,OAW/C;cAVa,eAAe,wBAAmB,oBAAA,CAAA,GAAA,CAAA;cAClC,eAAe,wBAAmB,oBAAA,CAAA,GAAA,CAAA;cAClC,eAAe,wBAAmB,oBAAA,CAAA,GAAA,CAAA;cAClC,eAAe,wBAAmB,oBAAA,CAAA,GAAA,CAAA;EAblB,EAAA,EAAA,CAAA,KAAA,EAchB,cAdgB,CAcD,kBAdC,CAAA,EAAA,GAckB,oBAAA,CAAA,GAAA,CAAA,OAdlB;EAAf,KAAA,EAAA,YAAA;EAA8B,OAAA,EAAA,cAAA;;;EAOR,kBAAA,EAAA,yBAAA;CAArB;AAAH,cAeA,kBAfA,EAAA,OAiBZ,oBAjBY"}
|
package/dist/mdx.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Card, Cards } from "./components/card.js";
|
|
2
|
+
import { Callout, CalloutContainer, CalloutDescription, CalloutTitle } from "./components/callout.js";
|
|
3
|
+
import { Heading } from "./components/heading.js";
|
|
4
|
+
import { CodeBlock, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, Pre } from "./components/codeblock.js";
|
|
5
|
+
import Link from "@hanzo/docs-core/link";
|
|
6
|
+
import { Image } from "@hanzo/docs-core/framework";
|
|
7
|
+
import { cn } from "@hanzo/docs-ui/cn";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/mdx.tsx
|
|
11
|
+
function Image$1(props) {
|
|
12
|
+
return /* @__PURE__ */ jsx(Image, {
|
|
13
|
+
sizes: "(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px",
|
|
14
|
+
...props,
|
|
15
|
+
src: props.src,
|
|
16
|
+
className: cn("rounded-lg", props.className)
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function Table(props) {
|
|
20
|
+
return /* @__PURE__ */ jsx("div", {
|
|
21
|
+
className: "relative overflow-auto prose-no-margin my-6",
|
|
22
|
+
children: /* @__PURE__ */ jsx("table", { ...props })
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const defaultMdxComponents = {
|
|
26
|
+
CodeBlockTab,
|
|
27
|
+
CodeBlockTabs,
|
|
28
|
+
CodeBlockTabsList,
|
|
29
|
+
CodeBlockTabsTrigger,
|
|
30
|
+
pre: (props) => /* @__PURE__ */ jsx(CodeBlock, {
|
|
31
|
+
...props,
|
|
32
|
+
children: /* @__PURE__ */ jsx(Pre, { children: props.children })
|
|
33
|
+
}),
|
|
34
|
+
Card,
|
|
35
|
+
Cards,
|
|
36
|
+
a: Link,
|
|
37
|
+
img: Image$1,
|
|
38
|
+
h1: (props) => /* @__PURE__ */ jsx(Heading, {
|
|
39
|
+
as: "h1",
|
|
40
|
+
...props
|
|
41
|
+
}),
|
|
42
|
+
h2: (props) => /* @__PURE__ */ jsx(Heading, {
|
|
43
|
+
as: "h2",
|
|
44
|
+
...props
|
|
45
|
+
}),
|
|
46
|
+
h3: (props) => /* @__PURE__ */ jsx(Heading, {
|
|
47
|
+
as: "h3",
|
|
48
|
+
...props
|
|
49
|
+
}),
|
|
50
|
+
h4: (props) => /* @__PURE__ */ jsx(Heading, {
|
|
51
|
+
as: "h4",
|
|
52
|
+
...props
|
|
53
|
+
}),
|
|
54
|
+
h5: (props) => /* @__PURE__ */ jsx(Heading, {
|
|
55
|
+
as: "h5",
|
|
56
|
+
...props
|
|
57
|
+
}),
|
|
58
|
+
h6: (props) => /* @__PURE__ */ jsx(Heading, {
|
|
59
|
+
as: "h6",
|
|
60
|
+
...props
|
|
61
|
+
}),
|
|
62
|
+
table: Table,
|
|
63
|
+
Callout,
|
|
64
|
+
CalloutContainer,
|
|
65
|
+
CalloutTitle,
|
|
66
|
+
CalloutDescription
|
|
67
|
+
};
|
|
68
|
+
const createRelativeLink = () => {
|
|
69
|
+
throw new Error("`createRelativeLink` is only supported in Node.js environment");
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
//#endregion
|
|
73
|
+
export { createRelativeLink, defaultMdxComponents as default };
|
|
74
|
+
//# sourceMappingURL=mdx.js.map
|
package/dist/mdx.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx.js","names":["Image","FrameworkImage","createRelativeLink: typeof import('./mdx.server').createRelativeLink"],"sources":["../src/mdx.tsx"],"sourcesContent":["import Link from '@hanzo/docs-core/link';\nimport type {\n AnchorHTMLAttributes,\n FC,\n HTMLAttributes,\n ImgHTMLAttributes,\n TableHTMLAttributes,\n} from 'react';\nimport { Image as FrameworkImage } from '@hanzo/docs-core/framework';\nimport { Card, Cards } from '@/components/card';\nimport { Callout, CalloutContainer, CalloutDescription, CalloutTitle } from '@/components/callout';\nimport { Heading } from '@/components/heading';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport {\n CodeBlock,\n CodeBlockTab,\n CodeBlockTabs,\n CodeBlockTabsList,\n CodeBlockTabsTrigger,\n Pre,\n} from '@/components/codeblock';\n\nfunction Image(\n props: ImgHTMLAttributes<HTMLImageElement> & {\n sizes?: string;\n },\n) {\n return (\n <FrameworkImage\n sizes=\"(max-width: 768px) 100vw, (max-width: 1200px) 70vw, 900px\"\n {...props}\n src={props.src as unknown as string}\n className={cn('rounded-lg', props.className)}\n />\n );\n}\n\nfunction Table(props: TableHTMLAttributes<HTMLTableElement>) {\n return (\n <div className=\"relative overflow-auto prose-no-margin my-6\">\n <table {...props} />\n </div>\n );\n}\n\nconst defaultMdxComponents = {\n CodeBlockTab,\n CodeBlockTabs,\n CodeBlockTabsList,\n CodeBlockTabsTrigger,\n pre: (props: HTMLAttributes<HTMLPreElement>) => (\n <CodeBlock {...props}>\n <Pre>{props.children}</Pre>\n </CodeBlock>\n ),\n Card,\n Cards,\n a: Link as FC<AnchorHTMLAttributes<HTMLAnchorElement>>,\n img: Image,\n h1: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h1\" {...props} />,\n h2: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h2\" {...props} />,\n h3: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h3\" {...props} />,\n h4: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h4\" {...props} />,\n h5: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h5\" {...props} />,\n h6: (props: HTMLAttributes<HTMLHeadingElement>) => <Heading as=\"h6\" {...props} />,\n table: Table,\n Callout,\n CalloutContainer,\n CalloutTitle,\n CalloutDescription,\n};\n\nexport const createRelativeLink: typeof import('./mdx.server').createRelativeLink = () => {\n throw new Error('`createRelativeLink` is only supported in Node.js environment');\n};\n\nexport { defaultMdxComponents as default };\n"],"mappings":";;;;;;;;;;AAsBA,SAASA,QACP,OAGA;AACA,QACE,oBAACC;EACC,OAAM;EACN,GAAI;EACJ,KAAK,MAAM;EACX,WAAW,GAAG,cAAc,MAAM,UAAU;GAC5C;;AAIN,SAAS,MAAM,OAA8C;AAC3D,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC,WAAM,GAAI,QAAS;GAChB;;AAIV,MAAM,uBAAuB;CAC3B;CACA;CACA;CACA;CACA,MAAM,UACJ,oBAAC;EAAU,GAAI;YACb,oBAAC,iBAAK,MAAM,WAAe;GACjB;CAEd;CACA;CACA,GAAG;CACH,KAAKD;CACL,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,KAAK,UAA8C,oBAAC;EAAQ,IAAG;EAAK,GAAI;GAAS;CACjF,OAAO;CACP;CACA;CACA;CACA;CACD;AAED,MAAaE,2BAA6E;AACxF,OAAM,IAAI,MAAM,gEAAgE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import defaultMdxComponents from "./mdx.js";
|
|
2
|
+
import { ComponentProps, FC } from "react";
|
|
3
|
+
import { LoaderConfig, LoaderOutput, Page } from "@hanzo/docs-core/source";
|
|
4
|
+
|
|
5
|
+
//#region src/mdx.server.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Extend the default Link component to resolve relative file paths in `href`.
|
|
9
|
+
*
|
|
10
|
+
* @param page the current page
|
|
11
|
+
* @param source the source object
|
|
12
|
+
* @param OverrideLink The component to override from
|
|
13
|
+
*/
|
|
14
|
+
declare function createRelativeLink<C extends LoaderConfig>(source: LoaderOutput<C>, page: Page, OverrideLink?: FC<ComponentProps<'a'>>): FC<ComponentProps<'a'>>;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { createRelativeLink, defaultMdxComponents as default };
|
|
17
|
+
//# sourceMappingURL=mdx.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx.server.d.ts","names":[],"sources":["../src/mdx.server.tsx"],"sourcesContent":[],"mappings":";;;;;;;;AAWA;;;;;AAGmB,iBAHH,kBAGG,CAAA,UAH0B,YAG1B,CAAA,CAAA,MAAA,EAFT,YAES,CAFI,CAEJ,CAAA,EAAA,IAAA,EADX,IACW,EAAA,YAAA,CAAA,EAAH,EAAG,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAChB,EADgB,CACb,cADa,CAAA,GAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import defaultMdxComponents from "./mdx.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/mdx.server.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Extend the default Link component to resolve relative file paths in `href`.
|
|
7
|
+
*
|
|
8
|
+
* @param page the current page
|
|
9
|
+
* @param source the source object
|
|
10
|
+
* @param OverrideLink The component to override from
|
|
11
|
+
*/
|
|
12
|
+
function createRelativeLink(source, page, OverrideLink = defaultMdxComponents.a) {
|
|
13
|
+
return async function RelativeLink({ href, ...props }) {
|
|
14
|
+
return /* @__PURE__ */ jsx(OverrideLink, {
|
|
15
|
+
href: href ? source.resolveHref(href, page) : href,
|
|
16
|
+
...props
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { createRelativeLink, defaultMdxComponents as default };
|
|
23
|
+
//# sourceMappingURL=mdx.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mdx.server.js","names":[],"sources":["../src/mdx.server.tsx"],"sourcesContent":["import type { LoaderConfig, LoaderOutput, Page } from '@hanzo/docs-core/source';\nimport type { ComponentProps, FC } from 'react';\nimport defaultMdxComponents from '@/mdx';\n\n/**\n * Extend the default Link component to resolve relative file paths in `href`.\n *\n * @param page the current page\n * @param source the source object\n * @param OverrideLink The component to override from\n */\nexport function createRelativeLink<C extends LoaderConfig>(\n source: LoaderOutput<C>,\n page: Page,\n OverrideLink: FC<ComponentProps<'a'>> = defaultMdxComponents.a,\n): FC<ComponentProps<'a'>> {\n return async function RelativeLink({ href, ...props }) {\n return <OverrideLink href={href ? source.resolveHref(href, page) : href} {...props} />;\n };\n}\n\nexport { defaultMdxComponents as default };\n"],"mappings":";;;;;;;;;;;AAWA,SAAgB,mBACd,QACA,MACA,eAAwC,qBAAqB,GACpC;AACzB,QAAO,eAAe,aAAa,EAAE,MAAM,GAAG,SAAS;AACrD,SAAO,oBAAC;GAAa,MAAM,OAAO,OAAO,YAAY,MAAM,KAAK,GAAG;GAAM,GAAI;IAAS"}
|
package/dist/og.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@hanzo/docs-ui/og/next";
|
package/dist/og.js
ADDED
package/dist/page.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { PageBreadcrumb, PageLastUpdate } from "./layouts/docs/page/client.js";
|
|
2
|
+
import { DocsBody, DocsDescription, DocsPageProps as DocsPageProps$1, DocsTitle, EditOnGitHub } from "./layouts/docs/page/index.js";
|
|
3
|
+
import * as react_jsx_runtime14 from "react/jsx-runtime";
|
|
4
|
+
import { ComponentProps } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/page.d.ts
|
|
7
|
+
interface EditOnGitHubOptions extends Omit<ComponentProps<'a'>, 'href' | 'children'> {
|
|
8
|
+
owner: string;
|
|
9
|
+
repo: string;
|
|
10
|
+
/**
|
|
11
|
+
* SHA or ref (branch or tag) name.
|
|
12
|
+
*
|
|
13
|
+
* @defaultValue main
|
|
14
|
+
*/
|
|
15
|
+
sha?: string;
|
|
16
|
+
/**
|
|
17
|
+
* File path in the repo
|
|
18
|
+
*/
|
|
19
|
+
path: string;
|
|
20
|
+
}
|
|
21
|
+
interface DocsPageProps extends DocsPageProps$1 {
|
|
22
|
+
editOnGithub?: EditOnGitHubOptions;
|
|
23
|
+
lastUpdate?: Date | string | number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* For separate MDX page
|
|
27
|
+
*/
|
|
28
|
+
declare function withArticle(props: ComponentProps<'main'>): react_jsx_runtime14.JSX.Element;
|
|
29
|
+
declare function DocsPage({
|
|
30
|
+
lastUpdate,
|
|
31
|
+
editOnGithub,
|
|
32
|
+
children,
|
|
33
|
+
...props
|
|
34
|
+
}: DocsPageProps): react_jsx_runtime14.JSX.Element;
|
|
35
|
+
//#endregion
|
|
36
|
+
export { DocsBody, DocsDescription, DocsPage, DocsPageProps, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate, withArticle };
|
|
37
|
+
//# sourceMappingURL=page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.d.ts","names":[],"sources":["../src/page.tsx"],"sourcesContent":[],"mappings":";;;;;;UAkBU,mBAAA,SAA4B,KAAK;;;EAAjC;AAiBV;;;;EAAyD,GAAA,CAAA,EAAA,MAAA;EAQzC;AAQhB;;EAAuC,IAAA,EAAA,MAAA;;AAAoC,UAhB1D,aAAA,SAAsB,eAgBoC,CAAA;EAAa,YAAA,CAAA,EAfvE,mBAeuE;EAAA,UAAA,CAAA,EAdzE,IAcyE,GAAA,MAAA,GAAA,MAAA;;;;;iBARxE,WAAA,QAAmB,yBAAsB,mBAAA,CAAA,GAAA,CAAA;iBAQzC,QAAA;;;;;GAA2D,gBAAa,mBAAA,CAAA,GAAA,CAAA"}
|
package/dist/page.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { LayoutContext } from "./layouts/docs/client.js";
|
|
4
|
+
import { PageBreadcrumb, PageLastUpdate } from "./layouts/docs/page/client.js";
|
|
5
|
+
import { DocsBody, DocsDescription, DocsTitle, EditOnGitHub, page_exports } from "./layouts/docs/page/index.js";
|
|
6
|
+
import { page_exports as page_exports$1 } from "./layouts/notebook/page/index.js";
|
|
7
|
+
import { cn } from "@hanzo/docs-ui/cn";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { use } from "react";
|
|
10
|
+
|
|
11
|
+
//#region src/page.tsx
|
|
12
|
+
/**
|
|
13
|
+
* For separate MDX page
|
|
14
|
+
*/
|
|
15
|
+
function withArticle(props) {
|
|
16
|
+
return /* @__PURE__ */ jsx("main", {
|
|
17
|
+
...props,
|
|
18
|
+
className: cn("w-full max-w-[1400px] mx-auto px-4 py-12", props.className),
|
|
19
|
+
children: /* @__PURE__ */ jsx("article", {
|
|
20
|
+
className: "prose",
|
|
21
|
+
children: props.children
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function DocsPage({ lastUpdate, editOnGithub, children, ...props }) {
|
|
26
|
+
const { DocsPage: DocsPage$1, EditOnGitHub: EditOnGitHub$1, PageLastUpdate: PageLastUpdate$1 } = use(LayoutContext) ? page_exports : page_exports$1;
|
|
27
|
+
return /* @__PURE__ */ jsxs(DocsPage$1, {
|
|
28
|
+
...props,
|
|
29
|
+
children: [children, /* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: "flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden",
|
|
31
|
+
children: [editOnGithub && /* @__PURE__ */ jsx(EditOnGitHub$1, { href: `https://github.com/${editOnGithub.owner}/${editOnGithub.repo}/blob/${editOnGithub.sha}/${editOnGithub.path.startsWith("/") ? editOnGithub.path.slice(1) : editOnGithub.path}` }), lastUpdate && /* @__PURE__ */ jsx(PageLastUpdate$1, { date: new Date(lastUpdate) })]
|
|
32
|
+
})]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { DocsBody, DocsDescription, DocsPage, DocsTitle, EditOnGitHub, PageBreadcrumb, PageLastUpdate, withArticle };
|
|
38
|
+
//# sourceMappingURL=page.js.map
|
package/dist/page.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","names":["Docs","Notebook","DocsPage","EditOnGitHub","PageLastUpdate"],"sources":["../src/page.tsx"],"sourcesContent":["'use client';\nimport { type ComponentProps, use } from 'react';\nimport { cn } from '@hanzo/docs-ui/cn';\nimport * as Docs from './layouts/docs/page';\nimport * as Notebook from './layouts/notebook/page';\nimport { LayoutContext } from './layouts/docs/client';\n\n// TODO: remove this compat layer on v17\n\nexport {\n DocsDescription,\n DocsTitle,\n EditOnGitHub,\n DocsBody,\n PageBreadcrumb,\n PageLastUpdate,\n} from './layouts/docs/page';\n\ninterface EditOnGitHubOptions extends Omit<ComponentProps<'a'>, 'href' | 'children'> {\n owner: string;\n repo: string;\n\n /**\n * SHA or ref (branch or tag) name.\n *\n * @defaultValue main\n */\n sha?: string;\n\n /**\n * File path in the repo\n */\n path: string;\n}\n\nexport interface DocsPageProps extends Docs.DocsPageProps {\n editOnGithub?: EditOnGitHubOptions;\n lastUpdate?: Date | string | number;\n}\n\n/**\n * For separate MDX page\n */\nexport function withArticle(props: ComponentProps<'main'>) {\n return (\n <main {...props} className={cn('w-full max-w-[1400px] mx-auto px-4 py-12', props.className)}>\n <article className=\"prose\">{props.children}</article>\n </main>\n );\n}\n\nexport function DocsPage({ lastUpdate, editOnGithub, children, ...props }: DocsPageProps) {\n const docsLayoutCtx = use(LayoutContext);\n const { DocsPage, EditOnGitHub, PageLastUpdate } = docsLayoutCtx ? Docs : Notebook;\n\n return (\n <DocsPage {...props}>\n {children}\n <div className=\"flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden\">\n {editOnGithub && (\n <EditOnGitHub\n href={`https://github.com/${editOnGithub.owner}/${editOnGithub.repo}/blob/${editOnGithub.sha}/${editOnGithub.path.startsWith('/') ? editOnGithub.path.slice(1) : editOnGithub.path}`}\n />\n )}\n {lastUpdate && <PageLastUpdate date={new Date(lastUpdate)} />}\n </div>\n </DocsPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AA2CA,SAAgB,YAAY,OAA+B;AACzD,QACE,oBAAC;EAAK,GAAI;EAAO,WAAW,GAAG,4CAA4C,MAAM,UAAU;YACzF,oBAAC;GAAQ,WAAU;aAAS,MAAM;IAAmB;GAChD;;AAIX,SAAgB,SAAS,EAAE,YAAY,cAAc,UAAU,GAAG,SAAwB;CAExF,MAAM,EAAE,sBAAU,8BAAc,qCADV,IAAI,cAAc,GAC2BA,eAAOC;AAE1E,QACE,qBAACC;EAAS,GAAI;aACX,UACD,qBAAC;GAAI,WAAU;cACZ,gBACC,oBAACC,kBACC,MAAM,sBAAsB,aAAa,MAAM,GAAG,aAAa,KAAK,QAAQ,aAAa,IAAI,GAAG,aAAa,KAAK,WAAW,IAAI,GAAG,aAAa,KAAK,MAAM,EAAE,GAAG,aAAa,SAC9K,EAEH,cAAc,oBAACC,oBAAe,MAAM,IAAI,KAAK,WAAW,GAAI;IACzD;GACG"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DefaultSearchDialogProps } from "../components/dialog/search-default.js";
|
|
2
|
+
import * as react_jsx_runtime108 from "react/jsx-runtime";
|
|
3
|
+
import { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
4
|
+
import { I18nProviderProps } from "@hanzo/docs-ui/contexts/i18n";
|
|
5
|
+
import { ThemeProvider } from "next-themes";
|
|
6
|
+
import { SearchProviderProps } from "@hanzo/docs-ui/contexts/search";
|
|
7
|
+
|
|
8
|
+
//#region src/provider/base.d.ts
|
|
9
|
+
interface SearchOptions extends Omit<SearchProviderProps, 'options' | 'children'> {
|
|
10
|
+
options?: Partial<DefaultSearchDialogProps>;
|
|
11
|
+
/**
|
|
12
|
+
* Enable search functionality
|
|
13
|
+
*
|
|
14
|
+
* @defaultValue `true`
|
|
15
|
+
*/
|
|
16
|
+
enabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface RootProviderProps {
|
|
19
|
+
/**
|
|
20
|
+
* `dir` option for Radix UI
|
|
21
|
+
*/
|
|
22
|
+
dir?: 'rtl' | 'ltr';
|
|
23
|
+
/**
|
|
24
|
+
* @remarks `SearchProviderProps`
|
|
25
|
+
*/
|
|
26
|
+
search?: Partial<SearchOptions>;
|
|
27
|
+
/**
|
|
28
|
+
* Customise options of `next-themes`
|
|
29
|
+
*/
|
|
30
|
+
theme?: Partial<ComponentPropsWithoutRef<typeof ThemeProvider>> & {
|
|
31
|
+
/**
|
|
32
|
+
* Enable `next-themes`
|
|
33
|
+
*
|
|
34
|
+
* @defaultValue true
|
|
35
|
+
*/
|
|
36
|
+
enabled?: boolean;
|
|
37
|
+
};
|
|
38
|
+
i18n?: Omit<I18nProviderProps, 'children'>;
|
|
39
|
+
children?: ReactNode;
|
|
40
|
+
}
|
|
41
|
+
declare function RootProvider({
|
|
42
|
+
children,
|
|
43
|
+
dir,
|
|
44
|
+
theme,
|
|
45
|
+
search,
|
|
46
|
+
i18n
|
|
47
|
+
}: RootProviderProps): react_jsx_runtime108.JSX.Element;
|
|
48
|
+
//#endregion
|
|
49
|
+
export { RootProvider, RootProviderProps };
|
|
50
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","names":[],"sources":["../../src/provider/base.tsx"],"sourcesContent":[],"mappings":";;;;;;;;UASU,aAAA,SAAsB,KAAK;YACzB,QAAQ;;AAHsE;;;;EAE1D,OAAA,CAAA,EAAA,OAAA;;AAWf,UAAA,iBAAA,CAAiB;EASf;;;EAKD,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA;EAAR;;;EAWG,MAAA,CAAA,EAhBF,OAgBE,CAhBM,aAgBN,CAAA;EAAS;AAKtB;;EAEE,KAAA,CAAA,EAlBQ,OAkBR,CAlBgB,wBAkBhB,CAAA,OAlBgD,aAkBhD,CAAA,CAAA,GAAA;IACA;;;;;IAGkB,OAAA,CAAA,EAAA,OAAA;;SAbX,KAAK;aAED;;iBAKG,YAAA;;;;;;GAMb,oBAAiB,oBAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { lazy } from "react";
|
|
5
|
+
import { I18nProvider } from "@hanzo/docs-ui/contexts/i18n";
|
|
6
|
+
import { DirectionProvider } from "@radix-ui/react-direction";
|
|
7
|
+
import { ThemeProvider } from "next-themes";
|
|
8
|
+
import { SearchProvider } from "@hanzo/docs-ui/contexts/search";
|
|
9
|
+
|
|
10
|
+
//#region src/provider/base.tsx
|
|
11
|
+
const DefaultSearchDialog = lazy(() => import("../components/dialog/search-default.js"));
|
|
12
|
+
function RootProvider({ children, dir = "ltr", theme = {}, search, i18n }) {
|
|
13
|
+
let body = children;
|
|
14
|
+
if (search?.enabled !== false) body = /* @__PURE__ */ jsx(SearchProvider, {
|
|
15
|
+
SearchDialog: DefaultSearchDialog,
|
|
16
|
+
...search,
|
|
17
|
+
children: body
|
|
18
|
+
});
|
|
19
|
+
if (theme?.enabled !== false) body = /* @__PURE__ */ jsx(ThemeProvider, {
|
|
20
|
+
attribute: "class",
|
|
21
|
+
defaultTheme: "system",
|
|
22
|
+
enableSystem: true,
|
|
23
|
+
disableTransitionOnChange: true,
|
|
24
|
+
...theme,
|
|
25
|
+
children: body
|
|
26
|
+
});
|
|
27
|
+
if (i18n) body = /* @__PURE__ */ jsx(I18nProvider, {
|
|
28
|
+
...i18n,
|
|
29
|
+
children: body
|
|
30
|
+
});
|
|
31
|
+
return /* @__PURE__ */ jsx(DirectionProvider, {
|
|
32
|
+
dir,
|
|
33
|
+
children: body
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { RootProvider };
|
|
39
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","names":[],"sources":["../../src/provider/base.tsx"],"sourcesContent":["'use client';\n\nimport { type ComponentPropsWithoutRef, lazy, type ReactNode } from 'react';\nimport { DirectionProvider } from '@radix-ui/react-direction';\nimport type { DefaultSearchDialogProps } from '@/components/dialog/search-default';\nimport { ThemeProvider } from 'next-themes';\nimport { I18nProvider, type I18nProviderProps } from '@hanzo/docs-ui/contexts/i18n';\nimport { SearchProvider, type SearchProviderProps } from '@hanzo/docs-ui/contexts/search';\n\ninterface SearchOptions extends Omit<SearchProviderProps, 'options' | 'children'> {\n options?: Partial<DefaultSearchDialogProps>;\n\n /**\n * Enable search functionality\n *\n * @defaultValue `true`\n */\n enabled?: boolean;\n}\n\nexport interface RootProviderProps {\n /**\n * `dir` option for Radix UI\n */\n dir?: 'rtl' | 'ltr';\n\n /**\n * @remarks `SearchProviderProps`\n */\n search?: Partial<SearchOptions>;\n\n /**\n * Customise options of `next-themes`\n */\n theme?: Partial<ComponentPropsWithoutRef<typeof ThemeProvider>> & {\n /**\n * Enable `next-themes`\n *\n * @defaultValue true\n */\n enabled?: boolean;\n };\n\n i18n?: Omit<I18nProviderProps, 'children'>;\n\n children?: ReactNode;\n}\n\nconst DefaultSearchDialog = lazy(() => import('@/components/dialog/search-default'));\n\nexport function RootProvider({\n children,\n dir = 'ltr',\n theme = {},\n search,\n i18n,\n}: RootProviderProps) {\n let body = children;\n\n if (search?.enabled !== false)\n body = (\n <SearchProvider SearchDialog={DefaultSearchDialog} {...search}>\n {body}\n </SearchProvider>\n );\n\n if (theme?.enabled !== false)\n body = (\n <ThemeProvider\n attribute=\"class\"\n defaultTheme=\"system\"\n enableSystem\n disableTransitionOnChange\n {...theme}\n >\n {body}\n </ThemeProvider>\n );\n\n if (i18n) {\n body = <I18nProvider {...i18n}>{body}</I18nProvider>;\n }\n\n return <DirectionProvider dir={dir}>{body}</DirectionProvider>;\n}\n"],"mappings":";;;;;;;;;;AAgDA,MAAM,sBAAsB,WAAW,OAAO,0CAAsC;AAEpF,SAAgB,aAAa,EAC3B,UACA,MAAM,OACN,QAAQ,EAAE,EACV,QACA,QACoB;CACpB,IAAI,OAAO;AAEX,KAAI,QAAQ,YAAY,MACtB,QACE,oBAAC;EAAe,cAAc;EAAqB,GAAI;YACpD;GACc;AAGrB,KAAI,OAAO,YAAY,MACrB,QACE,oBAAC;EACC,WAAU;EACV,cAAa;EACb;EACA;EACA,GAAI;YAEH;GACa;AAGpB,KAAI,KACF,QAAO,oBAAC;EAAa,GAAI;YAAO;GAAoB;AAGtD,QAAO,oBAAC;EAAuB;YAAM;GAAyB"}
|