@hanzo/docs-base-ui 16.5.0 → 16.5.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 +3 -3
- package/css/aspen.css +39 -0
- package/css/black.css +39 -1
- package/css/catppuccin.css +49 -1
- package/css/dusk.css +47 -1
- package/css/emerald.css +39 -0
- package/css/generated/docs.css +455 -0
- package/css/generated/flux.css +419 -0
- package/css/generated/home.css +201 -0
- package/css/generated/notebook.css +492 -0
- package/css/generated/shared.css +1033 -0
- package/css/lib/base.css +217 -0
- package/css/lib/default-colors.css +51 -0
- package/css/lib/shiki.css +90 -0
- package/css/neutral.css +7 -1
- package/css/ocean.css +44 -1
- package/css/preset.css +6 -7
- package/css/purple.css +39 -1
- package/css/ruby.css +39 -0
- package/css/shadcn.css +36 -1
- package/css/solar.css +75 -1
- package/css/vitepress.css +65 -1
- package/dist/_virtual/_rolldown/runtime.js +18 -0
- package/dist/components/accordion.d.ts +1 -1
- package/dist/components/accordion.d.ts.map +1 -1
- package/dist/components/accordion.js +6 -6
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/banner.d.ts +2 -2
- package/dist/components/banner.d.ts.map +1 -1
- package/dist/components/banner.js +4 -4
- package/dist/components/banner.js.map +1 -1
- package/dist/components/callout.d.ts +5 -5
- package/dist/components/callout.d.ts.map +1 -1
- package/dist/components/callout.js +1 -1
- package/dist/components/callout.js.map +1 -1
- package/dist/components/card.d.ts +3 -3
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +2 -2
- package/dist/components/card.js.map +1 -1
- package/dist/components/codeblock.d.ts +7 -7
- package/dist/components/codeblock.d.ts.map +1 -1
- package/dist/components/codeblock.js +7 -7
- package/dist/components/codeblock.js.map +1 -1
- package/dist/components/dialog/search-algolia.d.ts +6 -6
- package/dist/components/dialog/search-algolia.d.ts.map +1 -1
- package/dist/components/dialog/search-algolia.js +7 -7
- package/dist/components/dialog/search-algolia.js.map +1 -1
- package/dist/components/dialog/search-default.d.ts +6 -6
- package/dist/components/dialog/search-default.d.ts.map +1 -1
- package/dist/components/dialog/search-default.js +7 -7
- package/dist/components/dialog/search-default.js.map +1 -1
- package/dist/components/dialog/search-orama.d.ts +6 -6
- package/dist/components/dialog/search-orama.d.ts.map +1 -1
- package/dist/components/dialog/search-orama.js +7 -7
- package/dist/components/dialog/search-orama.js.map +1 -1
- package/dist/components/dialog/search.d.ts +16 -16
- package/dist/components/dialog/search.d.ts.map +1 -1
- package/dist/components/dialog/search.js +14 -14
- package/dist/components/dialog/search.js.map +1 -1
- package/dist/components/dynamic-codeblock.core.d.ts +33 -0
- package/dist/components/dynamic-codeblock.core.d.ts.map +1 -0
- package/dist/components/dynamic-codeblock.core.js +66 -0
- package/dist/components/dynamic-codeblock.core.js.map +1 -0
- package/dist/components/dynamic-codeblock.d.ts +4 -28
- package/dist/components/dynamic-codeblock.d.ts.map +1 -1
- package/dist/components/dynamic-codeblock.js +9 -53
- package/dist/components/dynamic-codeblock.js.map +1 -1
- package/dist/components/files.d.ts.map +1 -1
- package/dist/components/files.js +2 -2
- package/dist/components/files.js.map +1 -1
- package/dist/components/github-info.d.ts +2 -2
- package/dist/components/github-info.d.ts.map +1 -1
- package/dist/components/github-info.js +1 -1
- package/dist/components/github-info.js.map +1 -1
- package/dist/components/heading.d.ts.map +1 -1
- package/dist/components/heading.js +1 -1
- package/dist/components/heading.js.map +1 -1
- package/dist/components/{image-zoom-CtfZieBH.css → image-zoom-DGvp66QF.css} +1 -1
- package/dist/components/{image-zoom-CtfZieBH.css.map → image-zoom-DGvp66QF.css.map} +1 -1
- package/dist/components/image-zoom.d.ts +3 -3
- package/dist/components/image-zoom.d.ts.map +1 -1
- package/dist/components/inline-toc.d.ts +2 -2
- package/dist/components/inline-toc.d.ts.map +1 -1
- package/dist/components/inline-toc.js +1 -1
- package/dist/components/inline-toc.js.map +1 -1
- package/dist/components/sidebar/base.d.ts +24 -22
- package/dist/components/sidebar/base.d.ts.map +1 -1
- package/dist/components/sidebar/base.js +11 -7
- package/dist/components/sidebar/base.js.map +1 -1
- package/dist/components/sidebar/link-item.d.ts +2 -2
- package/dist/components/sidebar/link-item.d.ts.map +1 -1
- package/dist/components/sidebar/link-item.js.map +1 -1
- package/dist/components/sidebar/page-tree.d.ts +2 -2
- package/dist/components/sidebar/page-tree.d.ts.map +1 -1
- package/dist/components/sidebar/page-tree.js +5 -5
- package/dist/components/sidebar/page-tree.js.map +1 -1
- package/dist/components/sidebar/tabs/dropdown.d.ts +2 -2
- package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
- package/dist/components/sidebar/tabs/dropdown.js +19 -19
- package/dist/components/sidebar/tabs/dropdown.js.map +1 -1
- package/dist/components/sidebar/tabs/index.d.ts.map +1 -1
- package/dist/components/sidebar/tabs/index.js.map +1 -1
- package/dist/components/steps.d.ts +3 -3
- package/dist/components/steps.d.ts.map +1 -1
- package/dist/components/tabs.d.ts +7 -7
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +2 -2
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/toc/clerk.d.ts +12 -1
- package/dist/components/toc/clerk.d.ts.map +1 -0
- package/dist/components/toc/clerk.js +106 -6
- package/dist/components/toc/clerk.js.map +1 -1
- package/dist/components/toc/default.d.ts +12 -1
- package/dist/components/toc/default.d.ts.map +1 -0
- package/dist/components/toc/default.js +34 -6
- package/dist/components/toc/default.js.map +1 -1
- package/dist/components/toc/index.d.ts +26 -1
- package/dist/components/toc/index.d.ts.map +1 -0
- package/dist/components/toc/index.js +76 -6
- package/dist/components/toc/index.js.map +1 -1
- package/dist/components/type-table.d.ts +2 -2
- package/dist/components/type-table.d.ts.map +1 -1
- package/dist/components/type-table.js +7 -7
- package/dist/components/type-table.js.map +1 -1
- package/dist/components/ui/accordion.d.ts +6 -6
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/collapsible.d.ts +5 -5
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +1 -1
- package/dist/components/ui/collapsible.js.map +1 -1
- package/dist/components/ui/navigation-menu.d.ts +7 -7
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +2 -2
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/popover.d.ts +3 -3
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/popover.js +2 -2
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/scroll-area.d.ts +4 -4
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +2 -2
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/tabs.d.ts +7 -7
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +4 -4
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/contexts/i18n.d.ts +60 -1
- package/dist/contexts/i18n.d.ts.map +1 -0
- package/dist/contexts/i18n.js +54 -6
- package/dist/contexts/i18n.js.map +1 -1
- package/dist/contexts/search.d.ts +70 -4
- package/dist/contexts/search.d.ts.map +1 -1
- package/dist/contexts/search.js +62 -6
- package/dist/contexts/search.js.map +1 -1
- package/dist/contexts/tree.d.ts +22 -1
- package/dist/contexts/tree.d.ts.map +1 -0
- package/dist/contexts/tree.js +36 -6
- package/dist/contexts/tree.js.map +1 -1
- package/dist/i18n.d.ts +14 -1
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +19 -2
- package/dist/i18n.js.map +1 -0
- package/dist/layouts/docs/client.d.ts +7 -7
- package/dist/layouts/docs/client.d.ts.map +1 -1
- package/dist/layouts/docs/client.js +4 -4
- package/dist/layouts/docs/client.js.map +1 -1
- package/dist/layouts/docs/index.d.ts +3 -3
- package/dist/layouts/docs/index.d.ts.map +1 -1
- package/dist/layouts/docs/index.js +13 -13
- package/dist/layouts/docs/index.js.map +1 -1
- package/dist/layouts/docs/page/client.d.ts +9 -7
- package/dist/layouts/docs/page/client.d.ts.map +1 -1
- package/dist/layouts/docs/page/client.js +24 -24
- package/dist/layouts/docs/page/client.js.map +1 -1
- package/dist/layouts/docs/page/index.d.ts +19 -8
- package/dist/layouts/docs/page/index.d.ts.map +1 -1
- package/dist/layouts/docs/page/index.js +16 -16
- package/dist/layouts/docs/page/index.js.map +1 -1
- package/dist/layouts/docs/sidebar.d.ts +20 -19
- package/dist/layouts/docs/sidebar.d.ts.map +1 -1
- package/dist/layouts/docs/sidebar.js +6 -6
- package/dist/layouts/docs/sidebar.js.map +1 -1
- package/dist/layouts/flux/index.d.ts +79 -0
- package/dist/layouts/flux/index.d.ts.map +1 -0
- package/dist/layouts/flux/index.js +168 -0
- package/dist/layouts/flux/index.js.map +1 -0
- package/dist/layouts/flux/page/client.d.ts +45 -0
- package/dist/layouts/flux/page/client.d.ts.map +1 -0
- package/dist/layouts/flux/page/client.js +255 -0
- package/dist/layouts/flux/page/client.js.map +1 -0
- package/dist/layouts/flux/page/index.d.ts +98 -0
- package/dist/layouts/flux/page/index.d.ts.map +1 -0
- package/dist/layouts/flux/page/index.js +76 -0
- package/dist/layouts/flux/page/index.js.map +1 -0
- package/dist/layouts/flux/sidebar.d.ts +59 -0
- package/dist/layouts/flux/sidebar.d.ts.map +1 -0
- package/dist/layouts/flux/sidebar.js +197 -0
- package/dist/layouts/flux/sidebar.js.map +1 -0
- package/dist/layouts/flux/tab-dropdown.d.ts +21 -0
- package/dist/layouts/flux/tab-dropdown.d.ts.map +1 -0
- package/dist/layouts/flux/tab-dropdown.js +96 -0
- package/dist/layouts/flux/tab-dropdown.js.map +1 -0
- package/dist/layouts/home/client.d.ts +3 -3
- package/dist/layouts/home/client.d.ts.map +1 -1
- package/dist/layouts/home/client.js +18 -36
- package/dist/layouts/home/client.js.map +1 -1
- package/dist/layouts/home/index.d.ts +2 -2
- package/dist/layouts/home/index.d.ts.map +1 -1
- package/dist/layouts/home/index.js +1 -1
- package/dist/layouts/home/index.js.map +1 -1
- package/dist/layouts/home/navbar.d.ts +7 -7
- package/dist/layouts/home/navbar.d.ts.map +1 -1
- package/dist/layouts/home/navbar.js +2 -2
- package/dist/layouts/home/navbar.js.map +1 -1
- package/dist/layouts/notebook/client.d.ts +9 -9
- package/dist/layouts/notebook/client.d.ts.map +1 -1
- package/dist/layouts/notebook/client.js +8 -8
- package/dist/layouts/notebook/client.js.map +1 -1
- package/dist/layouts/notebook/index.d.ts +2 -2
- package/dist/layouts/notebook/index.d.ts.map +1 -1
- package/dist/layouts/notebook/index.js +45 -46
- package/dist/layouts/notebook/index.js.map +1 -1
- package/dist/layouts/notebook/page/client.d.ts +9 -7
- package/dist/layouts/notebook/page/client.d.ts.map +1 -1
- package/dist/layouts/notebook/page/client.js +24 -24
- package/dist/layouts/notebook/page/client.js.map +1 -1
- package/dist/layouts/notebook/page/index.d.ts +19 -8
- package/dist/layouts/notebook/page/index.d.ts.map +1 -1
- package/dist/layouts/notebook/page/index.js +16 -16
- package/dist/layouts/notebook/page/index.js.map +1 -1
- package/dist/layouts/notebook/sidebar.d.ts +15 -14
- package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
- package/dist/layouts/notebook/sidebar.js +4 -4
- package/dist/layouts/notebook/sidebar.js.map +1 -1
- package/dist/layouts/shared/index.d.ts +13 -6
- package/dist/layouts/shared/index.d.ts.map +1 -1
- package/dist/layouts/shared/index.js +29 -2
- package/dist/layouts/shared/index.js.map +1 -1
- package/dist/layouts/shared/language-toggle.d.ts +2 -2
- package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
- package/dist/layouts/shared/language-toggle.js +4 -4
- package/dist/layouts/shared/language-toggle.js.map +1 -1
- package/dist/layouts/shared/search-toggle.d.ts +3 -3
- package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
- package/dist/layouts/shared/search-toggle.js +6 -6
- package/dist/layouts/shared/search-toggle.js.map +1 -1
- package/dist/layouts/shared/theme-toggle.d.ts +2 -2
- package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
- package/dist/layouts/shared/theme-toggle.js +7 -7
- package/dist/layouts/shared/theme-toggle.js.map +1 -1
- package/dist/mdx.d.ts +10 -10
- package/dist/mdx.d.ts.map +1 -1
- package/dist/mdx.js +2 -2
- package/dist/mdx.js.map +1 -1
- package/dist/mdx.server.d.ts +0 -1
- package/dist/mdx.server.d.ts.map +1 -1
- package/dist/og.d.ts +23 -1
- package/dist/og.d.ts.map +1 -0
- package/dist/og.js +69 -2
- package/dist/og.js.map +1 -0
- package/dist/page.d.ts +3 -3
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +5 -5
- package/dist/page.js.map +1 -1
- package/dist/provider/base.d.ts +4 -4
- package/dist/provider/base.d.ts.map +1 -1
- package/dist/provider/base.js +3 -3
- package/dist/provider/base.js.map +1 -1
- package/dist/provider/next.d.ts +3 -3
- package/dist/provider/next.d.ts.map +1 -1
- package/dist/provider/react-router.d.ts +3 -3
- package/dist/provider/react-router.d.ts.map +1 -1
- package/dist/provider/tanstack.d.ts +3 -3
- package/dist/provider/tanstack.d.ts.map +1 -1
- package/dist/provider/waku.d.ts +3 -3
- package/dist/provider/waku.d.ts.map +1 -1
- package/dist/style.css +194 -59
- package/dist/utils/cn.js +3 -0
- package/dist/utils/link-item.d.ts +86 -0
- package/dist/utils/link-item.d.ts.map +1 -0
- package/dist/utils/link-item.js +25 -0
- package/dist/utils/link-item.js.map +1 -0
- package/dist/utils/merge-refs.js +13 -0
- package/dist/utils/merge-refs.js.map +1 -0
- package/dist/utils/urls.js +17 -0
- package/dist/utils/urls.js.map +1 -0
- package/dist/utils/use-copy-button.d.ts +7 -1
- package/dist/utils/use-copy-button.d.ts.map +1 -0
- package/dist/utils/use-copy-button.js +29 -2
- package/dist/utils/use-copy-button.js.map +1 -0
- package/dist/utils/use-footer-items.d.ts +10 -1
- package/dist/utils/use-footer-items.d.ts.map +1 -0
- package/dist/utils/use-footer-items.js +27 -2
- package/dist/utils/use-footer-items.js.map +1 -0
- package/dist/utils/use-is-scroll-top.d.ts +9 -1
- package/dist/utils/use-is-scroll-top.d.ts.map +1 -0
- package/dist/utils/use-is-scroll-top.js +23 -2
- package/dist/utils/use-is-scroll-top.js.map +1 -0
- package/package.json +41 -25
- package/css/layouts/docs.css +0 -1
- package/css/layouts/home.css +0 -1
- package/css/layouts/notebook.css +0 -1
- package/dist/_virtual/rolldown_runtime.js +0 -36
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) {
|
|
6
|
+
__defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (!no_symbols) {
|
|
12
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { __exportAll };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Accordion as Accordion$1, AccordionItem } from "./ui/accordion.js";
|
|
2
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
2
|
import { ComponentProps, ReactNode } from "react";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/components/accordion.d.ts
|
|
6
6
|
declare function Accordions({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"mappings":";;;;;iBAgBgB,UAAA,CAAA;EACd,GAAA;EACA,SAAA;EACA,YAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,WAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiCd,SAAA,CAAA;EACd,KAAA;EACA,EAAA;EACA,KAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,IAAA,CAAK,cAAA,QAAsB,aAAA;EAC5B,KAAA,WAAgB,SAAA;EAChB,KAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { cn } from "../utils/cn.js";
|
|
4
|
+
import { useCopyButton } from "../utils/use-copy-button.js";
|
|
3
5
|
import { buttonVariants } from "./ui/button.js";
|
|
6
|
+
import { mergeRefs } from "../utils/merge-refs.js";
|
|
4
7
|
import { Accordion as Accordion$1, AccordionContent, AccordionHeader, AccordionItem, AccordionTrigger } from "./ui/accordion.js";
|
|
5
|
-
import {
|
|
8
|
+
import { useEffect, useRef, useState } from "react";
|
|
6
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
10
|
import { Check, Link } from "lucide-react";
|
|
8
|
-
import { useEffect, useRef, useState } from "react";
|
|
9
|
-
import { useCopyButton } from "@hanzo/docs-ui/hooks/use-copy-button";
|
|
10
|
-
import { mergeRefs } from "@hanzo/docs-ui/merge-refs";
|
|
11
11
|
|
|
12
12
|
//#region src/components/accordion.tsx
|
|
13
13
|
function Accordions({ ref, className, defaultValue, ...props }) {
|
|
@@ -20,8 +20,8 @@ function Accordions({ ref, className, defaultValue, ...props }) {
|
|
|
20
20
|
if (!element || id.length === 0) return;
|
|
21
21
|
const selected = document.getElementById(id);
|
|
22
22
|
if (!selected || !element.contains(selected)) return;
|
|
23
|
-
const value
|
|
24
|
-
if (value
|
|
23
|
+
const value = selected.getAttribute("data-accordion-value");
|
|
24
|
+
if (value) setValue((prev) => [value, ...prev]);
|
|
25
25
|
}, []);
|
|
26
26
|
return /* @__PURE__ */ jsx(Accordion$1, {
|
|
27
27
|
ref: composedRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","names":["
|
|
1
|
+
{"version":3,"file":"accordion.js","names":["Root","LinkIcon"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["'use client';\n\nimport { Check, Link as LinkIcon } from 'lucide-react';\nimport { ComponentProps, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { cn } from '@/utils/cn';\nimport { useCopyButton } from '@/utils/use-copy-button';\nimport { buttonVariants } from '@/components/ui/button';\nimport { mergeRefs } from '@/utils/merge-refs';\nimport {\n Accordion as Root,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n} from '@/components/ui/accordion';\n\nexport function Accordions({\n ref,\n className,\n defaultValue,\n ...props\n}: ComponentProps<typeof Root>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = mergeRefs(ref, rootRef);\n const [value, setValue] = useState<string[]>(defaultValue ?? []);\n\n useEffect(() => {\n const id = window.location.hash.substring(1);\n const element = rootRef.current;\n if (!element || id.length === 0) return;\n\n const selected = document.getElementById(id);\n if (!selected || !element.contains(selected)) return;\n const value = selected.getAttribute('data-accordion-value');\n\n if (value) setValue((prev) => [value, ...prev]);\n }, []);\n\n return (\n <Root\n ref={composedRef}\n value={value}\n onValueChange={setValue}\n className={(s) =>\n cn(\n 'divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card',\n typeof className === 'function' ? className(s) : className,\n )\n }\n {...props}\n />\n );\n}\n\nexport function Accordion({\n title,\n id,\n value = String(title),\n children,\n ...props\n}: Omit<ComponentProps<typeof AccordionItem>, 'value' | 'title'> & {\n title: string | ReactNode;\n value?: string;\n}) {\n return (\n <AccordionItem value={value} {...props}>\n <AccordionHeader id={id} data-accordion-value={value}>\n <AccordionTrigger>{title}</AccordionTrigger>\n {id ? <CopyButton id={id} /> : null}\n </AccordionHeader>\n <AccordionContent hiddenUntilFound>\n <div className=\"px-4 pb-2 text-[0.9375rem] prose-no-margin [&[hidden]:not([hidden='until-found'])]:hidden\">\n {children}\n </div>\n </AccordionContent>\n </AccordionItem>\n );\n}\n\nfunction CopyButton({ id }: { id: string }) {\n const [checked, onClick] = useCopyButton(() => {\n const url = new URL(window.location.href);\n url.hash = id;\n\n return navigator.clipboard.writeText(url.toString());\n });\n\n return (\n <button\n type=\"button\"\n aria-label=\"Copy Link\"\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'text-fd-muted-foreground me-2',\n }),\n )}\n onClick={onClick}\n >\n {checked ? <Check className=\"size-3.5\" /> : <LinkIcon className=\"size-3.5\" />}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAgB,WAAW,EACzB,KACA,WACA,cACA,GAAG,SAC2B;CAC9B,MAAM,UAAU,OAAuB,KAAK;CAC5C,MAAM,cAAc,UAAU,KAAK,QAAQ;CAC3C,MAAM,CAAC,OAAO,YAAY,SAAmB,gBAAgB,EAAE,CAAC;AAEhE,iBAAgB;EACd,MAAM,KAAK,OAAO,SAAS,KAAK,UAAU,EAAE;EAC5C,MAAM,UAAU,QAAQ;AACxB,MAAI,CAAC,WAAW,GAAG,WAAW,EAAG;EAEjC,MAAM,WAAW,SAAS,eAAe,GAAG;AAC5C,MAAI,CAAC,YAAY,CAAC,QAAQ,SAAS,SAAS,CAAE;EAC9C,MAAM,QAAQ,SAAS,aAAa,uBAAuB;AAE3D,MAAI,MAAO,WAAU,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9C,EAAE,CAAC;AAEN,QACE,oBAACA;EACC,KAAK;EACE;EACP,eAAe;EACf,YAAY,MACV,GACE,0EACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;EAEH,GAAI;GACJ;;AAIN,SAAgB,UAAU,EACxB,OACA,IACA,QAAQ,OAAO,MAAM,EACrB,UACA,GAAG,SAIF;AACD,QACE,qBAAC;EAAqB;EAAO,GAAI;aAC/B,qBAAC;GAAoB;GAAI,wBAAsB;cAC7C,oBAAC,8BAAkB,QAAyB,EAC3C,KAAK,oBAAC,cAAe,KAAM,GAAG;IACf,EAClB,oBAAC;GAAiB;aAChB,oBAAC;IAAI,WAAU;IACZ;KACG;IACW;GACL;;AAIpB,SAAS,WAAW,EAAE,MAAsB;CAC1C,MAAM,CAAC,SAAS,WAAW,oBAAoB;EAC7C,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,MAAI,OAAO;AAEX,SAAO,UAAU,UAAU,UAAU,IAAI,UAAU,CAAC;GACpD;AAEF,QACE,oBAAC;EACC,MAAK;EACL,cAAW;EACX,WAAW,GACT,eAAe;GACb,OAAO;GACP,WAAW;GACZ,CAAC,CACH;EACQ;YAER,UAAU,oBAAC,SAAM,WAAU,aAAa,GAAG,oBAACC,QAAS,WAAU,aAAa;GACtE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as react_jsx_runtime84 from "react/jsx-runtime";
|
|
2
1
|
import { HTMLAttributes } from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/banner.d.ts
|
|
5
5
|
type BannerVariant = 'rainbow' | 'normal';
|
|
@@ -29,7 +29,7 @@ declare function Banner({
|
|
|
29
29
|
* @defaultValue true
|
|
30
30
|
*/
|
|
31
31
|
changeLayout?: boolean;
|
|
32
|
-
}):
|
|
32
|
+
}): react_jsx_runtime0.JSX.Element | null;
|
|
33
33
|
//#endregion
|
|
34
34
|
export { Banner };
|
|
35
35
|
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","names":[],"sources":["../../src/components/banner.tsx"],"
|
|
1
|
+
{"version":3,"file":"banner.d.ts","names":[],"sources":["../../src/components/banner.tsx"],"mappings":";;;;KAOK,aAAA;AAAA,iBAEW,MAAA,CAAA;EACd,EAAA;EACA,OAAA;EACA,YAAA;EACA,MAAA;EACA,aAAA;EAAA,GAMG;AAAA,GACF,cAAA,CAAe,cAAA;;AAnB+C;;EAuB/D,MAAA;EAlBgB;;AAElB;EAqBE,OAAA,GAAU,aAAA;;;;EAKV,aAAA;EAtBA;;;;;EA6BA,YAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { cn } from "../utils/cn.js";
|
|
3
4
|
import { buttonVariants } from "./ui/button.js";
|
|
4
|
-
import { cn } from "@hanzo/docs-ui/cn";
|
|
5
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { X } from "lucide-react";
|
|
7
5
|
import { useEffect, useState } from "react";
|
|
6
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { X } from "lucide-react";
|
|
8
8
|
|
|
9
9
|
//#region src/components/banner.tsx
|
|
10
10
|
function Banner({ id, variant = "normal", changeLayout = true, height = "3rem", rainbowColors = [
|
|
@@ -49,7 +49,7 @@ function Banner({ id, variant = "normal", changeLayout = true, height = "3rem",
|
|
|
49
49
|
}
|
|
50
50
|
const maskImage = "linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)";
|
|
51
51
|
function flow({ colors }) {
|
|
52
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
52
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
53
53
|
className: "absolute inset-0 z-[-1]",
|
|
54
54
|
style: {
|
|
55
55
|
maskImage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","names":[],"sources":["../../src/components/banner.tsx"],"sourcesContent":["'use client';\n\nimport { type HTMLAttributes, useEffect, useState } from 'react';\nimport { X } from 'lucide-react';\nimport { cn } from '
|
|
1
|
+
{"version":3,"file":"banner.js","names":[],"sources":["../../src/components/banner.tsx"],"sourcesContent":["'use client';\n\nimport { type HTMLAttributes, useEffect, useState } from 'react';\nimport { X } from 'lucide-react';\nimport { cn } from '@/utils/cn';\nimport { buttonVariants } from '@/components/ui/button';\n\ntype BannerVariant = 'rainbow' | 'normal';\n\nexport function Banner({\n id,\n variant = 'normal',\n changeLayout = true,\n height = '3rem',\n rainbowColors = [\n 'rgba(0,149,255,0.56)',\n 'rgba(231,77,255,0.77)',\n 'rgba(255,0,0,0.73)',\n 'rgba(131,255,166,0.66)',\n ],\n ...props\n}: HTMLAttributes<HTMLDivElement> & {\n /**\n * @defaultValue 3rem\n */\n height?: string;\n\n /**\n * @defaultValue 'normal'\n */\n variant?: BannerVariant;\n\n /**\n * For rainbow variant only, customise the colors\n */\n rainbowColors?: string[];\n\n /**\n * Change Hanzo Docs layout styles\n *\n * @defaultValue true\n */\n changeLayout?: boolean;\n}) {\n const [open, setOpen] = useState(true);\n const globalKey = id ? `nd-banner-${id}` : null;\n\n useEffect(() => {\n if (globalKey) setOpen(localStorage.getItem(globalKey) !== 'true');\n }, [globalKey]);\n\n if (!open) return null;\n\n return (\n <div\n id={id}\n {...props}\n className={cn(\n 'sticky top-0 z-40 flex flex-row items-center justify-center px-4 text-center text-sm font-medium',\n variant === 'normal' && 'bg-fd-secondary',\n variant === 'rainbow' && 'bg-fd-background',\n !open && 'hidden',\n props.className,\n )}\n style={{\n height,\n }}\n >\n {changeLayout && open ? (\n <style>\n {globalKey\n ? `:root:not(.${globalKey}) { --fd-banner-height: ${height}; }`\n : `:root { --fd-banner-height: ${height}; }`}\n </style>\n ) : null}\n {globalKey ? <style>{`.${globalKey} #${id} { display: none; }`}</style> : null}\n {globalKey ? (\n <script\n dangerouslySetInnerHTML={{\n __html: `if (localStorage.getItem('${globalKey}') === 'true') document.documentElement.classList.add('${globalKey}');`,\n }}\n />\n ) : null}\n\n {variant === 'rainbow'\n ? flow({\n colors: rainbowColors,\n })\n : null}\n {props.children}\n {id ? (\n <button\n type=\"button\"\n aria-label=\"Close Banner\"\n onClick={() => {\n setOpen(false);\n if (globalKey) localStorage.setItem(globalKey, 'true');\n }}\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'absolute end-2 top-1/2 -translate-y-1/2 text-fd-muted-foreground/50',\n size: 'icon-sm',\n }),\n )}\n >\n <X />\n </button>\n ) : null}\n </div>\n );\n}\n\nconst maskImage =\n 'linear-gradient(to bottom,white,transparent), radial-gradient(circle at top center, white, transparent)';\n\nfunction flow({ colors }: { colors: string[] }) {\n return (\n <>\n <div\n className=\"absolute inset-0 z-[-1]\"\n style={\n {\n maskImage,\n maskComposite: 'intersect',\n animation: 'fd-moving-banner 20s linear infinite',\n backgroundImage: `repeating-linear-gradient(70deg, ${[...colors, colors[0]].map((color, i) => `${color} ${(i * 50) / colors.length}%`).join(', ')})`,\n backgroundSize: '200% 100%',\n filter: 'saturate(2)',\n } as object\n }\n />\n <style>\n {`@keyframes fd-moving-banner {\n from { background-position: 0% 0; }\n to { background-position: 100% 0; }\n }`}\n </style>\n </>\n );\n}\n"],"mappings":";;;;;;;;;AASA,SAAgB,OAAO,EACrB,IACA,UAAU,UACV,eAAe,MACf,SAAS,QACT,gBAAgB;CACd;CACA;CACA;CACA;CACD,EACD,GAAG,SAuBF;CACD,MAAM,CAAC,MAAM,WAAW,SAAS,KAAK;CACtC,MAAM,YAAY,KAAK,aAAa,OAAO;AAE3C,iBAAgB;AACd,MAAI,UAAW,SAAQ,aAAa,QAAQ,UAAU,KAAK,OAAO;IACjE,CAAC,UAAU,CAAC;AAEf,KAAI,CAAC,KAAM,QAAO;AAElB,QACE,qBAAC;EACK;EACJ,GAAI;EACJ,WAAW,GACT,oGACA,YAAY,YAAY,mBACxB,YAAY,aAAa,oBACzB,CAAC,QAAQ,UACT,MAAM,UACP;EACD,OAAO,EACL,QACD;;GAEA,gBAAgB,OACf,oBAAC,qBACE,YACG,cAAc,UAAU,0BAA0B,OAAO,OACzD,+BAA+B,OAAO,OACpC,GACN;GACH,YAAY,oBAAC,qBAAO,IAAI,UAAU,IAAI,GAAG,uBAA6B,GAAG;GACzE,YACC,oBAAC,YACC,yBAAyB,EACvB,QAAQ,6BAA6B,UAAU,yDAAyD,UAAU,MACnH,GACD,GACA;GAEH,YAAY,YACT,KAAK,EACH,QAAQ,eACT,CAAC,GACF;GACH,MAAM;GACN,KACC,oBAAC;IACC,MAAK;IACL,cAAW;IACX,eAAe;AACb,aAAQ,MAAM;AACd,SAAI,UAAW,cAAa,QAAQ,WAAW,OAAO;;IAExD,WAAW,GACT,eAAe;KACb,OAAO;KACP,WAAW;KACX,MAAM;KACP,CAAC,CACH;cAED,oBAAC,MAAI;KACE,GACP;;GACA;;AAIV,MAAM,YACJ;AAEF,SAAS,KAAK,EAAE,UAAgC;AAC9C,QACE,8CACE,oBAAC;EACC,WAAU;EACV,OACE;GACE;GACA,eAAe;GACf,WAAW;GACX,iBAAiB,oCAAoC,CAAC,GAAG,QAAQ,OAAO,GAAG,CAAC,KAAK,OAAO,MAAM,GAAG,MAAM,GAAI,IAAI,KAAM,OAAO,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC;GAClJ,gBAAgB;GAChB,QAAQ;GACT;GAEH,EACF,oBAAC,qBACE;;;cAIK,IACP"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as react_jsx_runtime11 from "react/jsx-runtime";
|
|
2
1
|
import { ComponentProps, ReactNode } from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/callout.d.ts
|
|
5
5
|
type CalloutType = 'info' | 'warn' | 'error' | 'success' | 'warning' | 'idea';
|
|
@@ -9,7 +9,7 @@ declare function Callout({
|
|
|
9
9
|
...props
|
|
10
10
|
}: {
|
|
11
11
|
title?: ReactNode;
|
|
12
|
-
} & Omit<CalloutContainerProps, 'title'>):
|
|
12
|
+
} & Omit<CalloutContainerProps, 'title'>): react_jsx_runtime0.JSX.Element;
|
|
13
13
|
interface CalloutContainerProps extends ComponentProps<'div'> {
|
|
14
14
|
/**
|
|
15
15
|
* @defaultValue info
|
|
@@ -27,17 +27,17 @@ declare function CalloutContainer({
|
|
|
27
27
|
className,
|
|
28
28
|
style,
|
|
29
29
|
...props
|
|
30
|
-
}: CalloutContainerProps):
|
|
30
|
+
}: CalloutContainerProps): react_jsx_runtime0.JSX.Element;
|
|
31
31
|
declare function CalloutTitle({
|
|
32
32
|
children,
|
|
33
33
|
className,
|
|
34
34
|
...props
|
|
35
|
-
}: ComponentProps<'p'>):
|
|
35
|
+
}: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
|
|
36
36
|
declare function CalloutDescription({
|
|
37
37
|
children,
|
|
38
38
|
className,
|
|
39
39
|
...props
|
|
40
|
-
}: ComponentProps<'p'>):
|
|
40
|
+
}: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
|
|
41
41
|
//#endregion
|
|
42
42
|
export { Callout, CalloutContainer, CalloutContainerProps, CalloutDescription, CalloutTitle, CalloutType };
|
|
43
43
|
//# sourceMappingURL=callout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callout.d.ts","names":[],"sources":["../../src/components/callout.tsx"],"
|
|
1
|
+
{"version":3,"file":"callout.d.ts","names":[],"sources":["../../src/components/callout.tsx"],"mappings":";;;;KAIY,WAAA;AAAA,iBAII,OAAA,CAAA;EACd,QAAA;EACA,KAAA;EAAA,GACG;AAAA;EACA,KAAA,GAAQ,SAAA;AAAA,IAAc,IAAA,CAAK,qBAAA,aAA+B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,UAS9C,qBAAA,SAA8B,cAAA;;;;EAI7C,IAAA,GAAO,WAAA;EAjBc;;;EAsBrB,IAAA,GAAO,SAAA;AAAA;AAAA,iBASO,gBAAA,CAAA;EACd,IAAA,EAAM,SAAA;EACN,IAAA;EACA,QAAA;EACA,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,qBAAA,GAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiCR,YAAA,CAAA;EAAe,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQnE,kBAAA,CAAA;EAAqB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callout.js","names":[],"sources":["../../src/components/callout.tsx"],"sourcesContent":["import { CircleCheck, CircleX, Info, Lightbulb, TriangleAlert } from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '
|
|
1
|
+
{"version":3,"file":"callout.js","names":[],"sources":["../../src/components/callout.tsx"],"sourcesContent":["import { CircleCheck, CircleX, Info, Lightbulb, TriangleAlert } from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { cn } from '@/utils/cn';\n\nexport type CalloutType = 'info' | 'warn' | 'error' | 'success' | 'warning' | 'idea';\n\nconst iconClass = 'size-5 -me-0.5 fill-(--callout-color) text-fd-card';\n\nexport function Callout({\n children,\n title,\n ...props\n}: { title?: ReactNode } & Omit<CalloutContainerProps, 'title'>) {\n return (\n <CalloutContainer {...props}>\n {title && <CalloutTitle>{title}</CalloutTitle>}\n <CalloutDescription>{children}</CalloutDescription>\n </CalloutContainer>\n );\n}\n\nexport interface CalloutContainerProps extends ComponentProps<'div'> {\n /**\n * @defaultValue info\n */\n type?: CalloutType;\n\n /**\n * Force an icon\n */\n icon?: ReactNode;\n}\n\nfunction resolveAlias(type: CalloutType) {\n if (type === 'warn') return 'warning';\n if ((type as unknown) === 'tip') return 'info';\n return type;\n}\n\nexport function CalloutContainer({\n type: inputType = 'info',\n icon,\n children,\n className,\n style,\n ...props\n}: CalloutContainerProps) {\n const type = resolveAlias(inputType);\n\n return (\n <div\n className={cn(\n 'flex gap-2 my-4 rounded-xl border bg-fd-card p-3 ps-1 text-sm text-fd-card-foreground shadow-md',\n className,\n )}\n style={\n {\n '--callout-color': `var(--color-fd-${type}, var(--color-fd-muted))`,\n ...style,\n } as object\n }\n {...props}\n >\n <div role=\"none\" className=\"w-0.5 bg-(--callout-color)/50 rounded-sm\" />\n {icon ??\n {\n info: <Info className={iconClass} />,\n warning: <TriangleAlert className={iconClass} />,\n error: <CircleX className={iconClass} />,\n success: <CircleCheck className={iconClass} />,\n idea: (\n <Lightbulb className=\"size-5 -me-0.5 fill-(--callout-color) text-(--callout-color)\" />\n ),\n }[type]}\n <div className=\"flex flex-col gap-2 min-w-0 flex-1\">{children}</div>\n </div>\n );\n}\n\nexport function CalloutTitle({ children, className, ...props }: ComponentProps<'p'>) {\n return (\n <p className={cn('font-medium my-0!', className)} {...props}>\n {children}\n </p>\n );\n}\n\nexport function CalloutDescription({ children, className, ...props }: ComponentProps<'p'>) {\n return (\n <div\n className={cn('text-fd-muted-foreground prose-no-margin empty:hidden', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;AAMA,MAAM,YAAY;AAElB,SAAgB,QAAQ,EACtB,UACA,OACA,GAAG,SAC4D;AAC/D,QACE,qBAAC;EAAiB,GAAI;aACnB,SAAS,oBAAC,0BAAc,QAAqB,EAC9C,oBAAC,sBAAoB,WAA8B;GAClC;;AAgBvB,SAAS,aAAa,MAAmB;AACvC,KAAI,SAAS,OAAQ,QAAO;AAC5B,KAAK,SAAqB,MAAO,QAAO;AACxC,QAAO;;AAGT,SAAgB,iBAAiB,EAC/B,MAAM,YAAY,QAClB,MACA,UACA,WACA,OACA,GAAG,SACqB;CACxB,MAAM,OAAO,aAAa,UAAU;AAEpC,QACE,qBAAC;EACC,WAAW,GACT,mGACA,UACD;EACD,OACE;GACE,mBAAmB,kBAAkB,KAAK;GAC1C,GAAG;GACJ;EAEH,GAAI;;GAEJ,oBAAC;IAAI,MAAK;IAAO,WAAU;KAA6C;GACvE,QACC;IACE,MAAM,oBAAC,QAAK,WAAW,YAAa;IACpC,SAAS,oBAAC,iBAAc,WAAW,YAAa;IAChD,OAAO,oBAAC,WAAQ,WAAW,YAAa;IACxC,SAAS,oBAAC,eAAY,WAAW,YAAa;IAC9C,MACE,oBAAC,aAAU,WAAU,iEAAiE;IAEzF,CAAC;GACJ,oBAAC;IAAI,WAAU;IAAsC;KAAe;;GAChE;;AAIV,SAAgB,aAAa,EAAE,UAAU,WAAW,GAAG,SAA8B;AACnF,QACE,oBAAC;EAAE,WAAW,GAAG,qBAAqB,UAAU;EAAE,GAAI;EACnD;GACC;;AAIR,SAAgB,mBAAmB,EAAE,UAAU,WAAW,GAAG,SAA8B;AACzF,QACE,oBAAC;EACC,WAAW,GAAG,yDAAyD,UAAU;EACjF,GAAI;EAEH;GACG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as react_jsx_runtime25 from "react/jsx-runtime";
|
|
2
1
|
import { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/components/card.d.ts
|
|
5
|
-
declare function Cards(props: HTMLAttributes<HTMLDivElement>):
|
|
5
|
+
declare function Cards(props: HTMLAttributes<HTMLDivElement>): react_jsx_runtime0.JSX.Element;
|
|
6
6
|
type CardProps = Omit<HTMLAttributes<HTMLElement>, 'title'> & {
|
|
7
7
|
icon?: ReactNode;
|
|
8
8
|
title: ReactNode;
|
|
@@ -15,7 +15,7 @@ declare function Card({
|
|
|
15
15
|
title,
|
|
16
16
|
description,
|
|
17
17
|
...props
|
|
18
|
-
}: CardProps):
|
|
18
|
+
}: CardProps): react_jsx_runtime0.JSX.Element;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { Card, CardProps, Cards };
|
|
21
21
|
//# sourceMappingURL=card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","names":[],"sources":["../../src/components/card.tsx"],"
|
|
1
|
+
{"version":3,"file":"card.d.ts","names":[],"sources":["../../src/components/card.tsx"],"mappings":";;;;iBAIgB,KAAA,CAAM,KAAA,EAAO,cAAA,CAAe,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQ/C,SAAA,GAAY,IAAA,CAAK,cAAA,CAAe,WAAA;EAC1C,IAAA,GAAO,SAAA;EACP,KAAA,EAAO,SAAA;EACP,WAAA,GAAc,SAAA;EAEd,IAAA;EACA,QAAA;AAAA;AAAA,iBAGc,IAAA,CAAA;EAAO,IAAA;EAAM,KAAA;EAAO,WAAA;EAAA,GAAgB;AAAA,GAAS,SAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/components/card.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { cn } from "@hanzo/docs-ui/cn";
|
|
1
|
+
import { cn } from "../utils/cn.js";
|
|
3
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Link from "@hanzo/docs-core/link";
|
|
4
4
|
|
|
5
5
|
//#region src/components/card.tsx
|
|
6
6
|
function Cards(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","names":[],"sources":["../../src/components/card.tsx"],"sourcesContent":["import Link from '@hanzo/docs-core/link';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { cn } from '
|
|
1
|
+
{"version":3,"file":"card.js","names":[],"sources":["../../src/components/card.tsx"],"sourcesContent":["import Link from '@hanzo/docs-core/link';\nimport type { HTMLAttributes, ReactNode } from 'react';\nimport { cn } from '@/utils/cn';\n\nexport function Cards(props: HTMLAttributes<HTMLDivElement>) {\n return (\n <div {...props} className={cn('grid grid-cols-2 gap-3 @container', props.className)}>\n {props.children}\n </div>\n );\n}\n\nexport type CardProps = Omit<HTMLAttributes<HTMLElement>, 'title'> & {\n icon?: ReactNode;\n title: ReactNode;\n description?: ReactNode;\n\n href?: string;\n external?: boolean;\n};\n\nexport function Card({ icon, title, description, ...props }: CardProps) {\n const E = props.href ? Link : 'div';\n\n return (\n <E\n {...props}\n data-card\n className={cn(\n 'block rounded-xl border bg-fd-card p-4 text-fd-card-foreground transition-colors @max-lg:col-span-full',\n props.href && 'hover:bg-fd-accent/80',\n props.className,\n )}\n >\n {icon ? (\n <div className=\"not-prose mb-2 w-fit shadow-md rounded-lg border bg-fd-muted p-1.5 text-fd-muted-foreground [&_svg]:size-4\">\n {icon}\n </div>\n ) : null}\n <h3 className=\"not-prose mb-1 text-sm font-medium\">{title}</h3>\n {description ? <p className=\"my-0! text-sm text-fd-muted-foreground\">{description}</p> : null}\n <div className=\"text-sm text-fd-muted-foreground prose-no-margin empty:hidden\">\n {props.children}\n </div>\n </E>\n );\n}\n"],"mappings":";;;;;AAIA,SAAgB,MAAM,OAAuC;AAC3D,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,qCAAqC,MAAM,UAAU;YAChF,MAAM;GACH;;AAaV,SAAgB,KAAK,EAAE,MAAM,OAAO,aAAa,GAAG,SAAoB;AAGtE,QACE,qBAHQ,MAAM,OAAO,OAAO;EAI1B,GAAI;EACJ;EACA,WAAW,GACT,0GACA,MAAM,QAAQ,yBACd,MAAM,UACP;;GAEA,OACC,oBAAC;IAAI,WAAU;cACZ;KACG,GACJ;GACJ,oBAAC;IAAG,WAAU;cAAsC;KAAW;GAC9D,cAAc,oBAAC;IAAE,WAAU;cAA0C;KAAgB,GAAG;GACzF,oBAAC;IAAI,WAAU;cACZ,MAAM;KACH;;GACJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs.js";
|
|
2
|
-
import * as react_jsx_runtime38 from "react/jsx-runtime";
|
|
3
2
|
import { ComponentProps, HTMLAttributes, ReactNode } from "react";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/components/codeblock.d.ts
|
|
6
6
|
interface CodeBlockProps extends ComponentProps<'figure'> {
|
|
@@ -36,7 +36,7 @@ interface CodeBlockProps extends ComponentProps<'figure'> {
|
|
|
36
36
|
children?: ReactNode;
|
|
37
37
|
}) => ReactNode;
|
|
38
38
|
}
|
|
39
|
-
declare function Pre(props: ComponentProps<'pre'>):
|
|
39
|
+
declare function Pre(props: ComponentProps<'pre'>): react_jsx_runtime0.JSX.Element;
|
|
40
40
|
declare function CodeBlock({
|
|
41
41
|
ref,
|
|
42
42
|
title,
|
|
@@ -47,22 +47,22 @@ declare function CodeBlock({
|
|
|
47
47
|
children,
|
|
48
48
|
Actions,
|
|
49
49
|
...props
|
|
50
|
-
}: CodeBlockProps):
|
|
50
|
+
}: CodeBlockProps): react_jsx_runtime0.JSX.Element;
|
|
51
51
|
declare function CodeBlockTabs({
|
|
52
52
|
ref,
|
|
53
53
|
className,
|
|
54
54
|
...props
|
|
55
|
-
}: ComponentProps<typeof Tabs>):
|
|
55
|
+
}: ComponentProps<typeof Tabs>): react_jsx_runtime0.JSX.Element;
|
|
56
56
|
declare function CodeBlockTabsList({
|
|
57
57
|
className,
|
|
58
58
|
...props
|
|
59
|
-
}: ComponentProps<typeof TabsList>):
|
|
59
|
+
}: ComponentProps<typeof TabsList>): react_jsx_runtime0.JSX.Element;
|
|
60
60
|
declare function CodeBlockTabsTrigger({
|
|
61
61
|
children,
|
|
62
62
|
className,
|
|
63
63
|
...props
|
|
64
|
-
}: ComponentProps<typeof TabsTrigger>):
|
|
65
|
-
declare function CodeBlockTab(props: ComponentProps<typeof TabsContent>):
|
|
64
|
+
}: ComponentProps<typeof TabsTrigger>): react_jsx_runtime0.JSX.Element;
|
|
65
|
+
declare function CodeBlockTab(props: ComponentProps<typeof TabsContent>): react_jsx_runtime0.JSX.Element;
|
|
66
66
|
//#endregion
|
|
67
67
|
export { CodeBlock, CodeBlockProps, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, Pre };
|
|
68
68
|
//# sourceMappingURL=codeblock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeblock.d.ts","names":[],"sources":["../../src/components/codeblock.tsx"],"
|
|
1
|
+
{"version":3,"file":"codeblock.d.ts","names":[],"sources":["../../src/components/codeblock.tsx"],"mappings":";;;;;UAkBiB,cAAA,SAAuB,cAAA;;;AAAxC;;;EAME,IAAA,GAAO,SAAA;EAgBwB;;;;;EAT/B,SAAA;EAboD;;;;;EAoBpD,cAAA;EAEA,aAAA,GAAgB,cAAA,CAAe,WAAA;EAAf;;;EAKhB,mBAAA;EAOA;;;EAFA,yBAAA;EAEA,OAAA,IAAW,KAAA;IAAS,SAAA;IAAoB,QAAA,GAAW,SAAA;EAAA,MAAgB,SAAA;AAAA;AAAA,iBAQrD,GAAA,CAAI,KAAA,EAAO,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQhC,SAAA,CAAA;EACd,GAAA;EACA,KAAA;EACA,SAAA;EACA,cAAA;EACA,IAAA;EACA,aAAA;EACA,QAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA4GD,aAAA,CAAA;EAAgB,GAAA;EAAK,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAsB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA+BvE,iBAAA,CAAA;EAAoB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAsB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgB1E,oBAAA,CAAA;EACd,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAkBrB,YAAA,CAAa,KAAA,EAAO,cAAA,QAAsB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { cn } from "../utils/cn.js";
|
|
4
|
+
import { useCopyButton } from "../utils/use-copy-button.js";
|
|
3
5
|
import { buttonVariants } from "./ui/button.js";
|
|
6
|
+
import { mergeRefs } from "../utils/merge-refs.js";
|
|
4
7
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs.js";
|
|
5
|
-
import {
|
|
8
|
+
import { createContext, use, useMemo, useRef } from "react";
|
|
6
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
10
|
import { Check, Clipboard } from "lucide-react";
|
|
8
|
-
import { createContext, use, useMemo, useRef } from "react";
|
|
9
|
-
import { useCopyButton } from "@hanzo/docs-ui/hooks/use-copy-button";
|
|
10
|
-
import { mergeRefs } from "@hanzo/docs-ui/merge-refs";
|
|
11
11
|
|
|
12
12
|
//#region src/components/codeblock.tsx
|
|
13
13
|
const TabsContext = createContext(null);
|
|
@@ -18,9 +18,9 @@ function Pre(props) {
|
|
|
18
18
|
children: props.children
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
-
function CodeBlock({ ref, title, allowCopy = true, keepBackground = false, icon, viewportProps = {}, children, Actions = (props
|
|
22
|
-
...props
|
|
23
|
-
className: cn("empty:hidden", props
|
|
21
|
+
function CodeBlock({ ref, title, allowCopy = true, keepBackground = false, icon, viewportProps = {}, children, Actions = (props) => /* @__PURE__ */ jsx("div", {
|
|
22
|
+
...props,
|
|
23
|
+
className: cn("empty:hidden", props.className)
|
|
24
24
|
}), ...props }) {
|
|
25
25
|
const inTab = use(TabsContext) !== null;
|
|
26
26
|
const areaRef = useRef(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeblock.js","names":[
|
|
1
|
+
{"version":3,"file":"codeblock.js","names":[],"sources":["../../src/components/codeblock.tsx"],"sourcesContent":["'use client';\nimport { Check, Clipboard } from 'lucide-react';\nimport {\n type ComponentProps,\n createContext,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n use,\n useMemo,\n useRef,\n} from 'react';\nimport { cn } from '@/utils/cn';\nimport { useCopyButton } from '@/utils/use-copy-button';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport { mergeRefs } from '@/utils/merge-refs';\n\nexport interface CodeBlockProps extends ComponentProps<'figure'> {\n /**\n * Icon of code block\n *\n * When passed as a string, it assumes the value is the HTML of icon\n */\n icon?: ReactNode;\n\n /**\n * Allow to copy code with copy button\n *\n * @defaultValue true\n */\n allowCopy?: boolean;\n\n /**\n * Keep original background color generated by Shiki or Rehype Code\n *\n * @defaultValue false\n */\n keepBackground?: boolean;\n\n viewportProps?: HTMLAttributes<HTMLElement>;\n\n /**\n * show line numbers\n */\n 'data-line-numbers'?: boolean;\n\n /**\n * @defaultValue 1\n */\n 'data-line-numbers-start'?: number;\n\n Actions?: (props: { className?: string; children?: ReactNode }) => ReactNode;\n}\n\nconst TabsContext = createContext<{\n containerRef: RefObject<HTMLDivElement | null>;\n nested: boolean;\n} | null>(null);\n\nexport function Pre(props: ComponentProps<'pre'>) {\n return (\n <pre {...props} className={cn('min-w-full w-max *:flex *:flex-col', props.className)}>\n {props.children}\n </pre>\n );\n}\n\nexport function CodeBlock({\n ref,\n title,\n allowCopy = true,\n keepBackground = false,\n icon,\n viewportProps = {},\n children,\n Actions = (props) => <div {...props} className={cn('empty:hidden', props.className)} />,\n ...props\n}: CodeBlockProps) {\n const inTab = use(TabsContext) !== null;\n const areaRef = useRef<HTMLDivElement>(null);\n\n return (\n <figure\n ref={ref}\n dir=\"ltr\"\n {...props}\n tabIndex={-1}\n className={cn(\n inTab ? 'bg-fd-secondary -mx-px -mb-px last:rounded-b-xl' : 'my-4 bg-fd-card rounded-xl',\n keepBackground && 'bg-(--shiki-light-bg) dark:bg-(--shiki-dark-bg)',\n\n 'shiki relative border shadow-sm not-prose overflow-hidden text-sm',\n props.className,\n )}\n >\n {title ? (\n <div className=\"flex text-fd-muted-foreground items-center gap-2 h-9.5 border-b px-4\">\n {typeof icon === 'string' ? (\n <div\n className=\"[&_svg]:size-3.5\"\n dangerouslySetInnerHTML={{\n __html: icon,\n }}\n />\n ) : (\n icon\n )}\n <figcaption className=\"flex-1 truncate\">{title}</figcaption>\n {Actions({\n className: '-me-2',\n children: allowCopy && <CopyButton containerRef={areaRef} />,\n })}\n </div>\n ) : (\n Actions({\n className:\n 'absolute top-2 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground',\n children: allowCopy && <CopyButton containerRef={areaRef} />,\n })\n )}\n <div\n ref={areaRef}\n {...viewportProps}\n role=\"region\"\n tabIndex={0}\n className={cn(\n 'text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring',\n viewportProps.className,\n )}\n style={\n {\n // space for toolbar\n '--padding-right': !title ? 'calc(var(--spacing) * 8)' : undefined,\n counterSet: props['data-line-numbers']\n ? `line ${Number(props['data-line-numbers-start'] ?? 1) - 1}`\n : undefined,\n ...viewportProps.style,\n } as object\n }\n >\n {children}\n </div>\n </figure>\n );\n}\n\nfunction CopyButton({\n className,\n containerRef,\n ...props\n}: ComponentProps<'button'> & {\n containerRef: RefObject<HTMLElement | null>;\n}) {\n const [checked, onClick] = useCopyButton(() => {\n const pre = containerRef.current?.getElementsByTagName('pre').item(0);\n if (!pre) return;\n\n const clone = pre.cloneNode(true) as HTMLElement;\n clone.querySelectorAll('.nd-copy-ignore').forEach((node) => {\n node.replaceWith('\\n');\n });\n\n void navigator.clipboard.writeText(clone.textContent ?? '');\n });\n\n return (\n <button\n type=\"button\"\n data-checked={checked || undefined}\n className={cn(\n buttonVariants({\n className: 'hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground',\n size: 'icon-xs',\n }),\n className,\n )}\n aria-label={checked ? 'Copied Text' : 'Copy Text'}\n onClick={onClick}\n {...props}\n >\n {checked ? <Check /> : <Clipboard />}\n </button>\n );\n}\n\nexport function CodeBlockTabs({ ref, className, ...props }: ComponentProps<typeof Tabs>) {\n const containerRef = useRef<HTMLDivElement>(null);\n const nested = use(TabsContext) !== null;\n\n return (\n <Tabs\n ref={mergeRefs(containerRef, ref)}\n {...props}\n className={(s) =>\n cn(\n 'bg-fd-card rounded-xl border',\n !nested && 'my-4',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n <TabsContext\n value={useMemo(\n () => ({\n containerRef,\n nested,\n }),\n [nested],\n )}\n >\n {props.children}\n </TabsContext>\n </Tabs>\n );\n}\n\nexport function CodeBlockTabsList({ className, ...props }: ComponentProps<typeof TabsList>) {\n return (\n <TabsList\n {...props}\n className={(s) =>\n cn(\n 'flex flex-row px-2 overflow-x-auto text-fd-muted-foreground',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n {props.children}\n </TabsList>\n );\n}\n\nexport function CodeBlockTabsTrigger({\n children,\n className,\n ...props\n}: ComponentProps<typeof TabsTrigger>) {\n return (\n <TabsTrigger\n {...props}\n className={(s) =>\n cn(\n 'relative group inline-flex text-sm font-medium text-nowrap items-center transition-colors gap-2 px-2 py-1.5 [&_svg]:size-3.5',\n s.active ? 'text-fd-primary' : 'hover:text-fd-accent-foreground',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n <div className=\"absolute inset-x-2 bottom-0 h-px group-data-[active]:bg-fd-primary\" />\n {children}\n </TabsTrigger>\n );\n}\n\nexport function CodeBlockTab(props: ComponentProps<typeof TabsContent>) {\n return <TabsContent {...props} />;\n}\n"],"mappings":";;;;;;;;;;;;AAuDA,MAAM,cAAc,cAGV,KAAK;AAEf,SAAgB,IAAI,OAA8B;AAChD,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,sCAAsC,MAAM,UAAU;YACjF,MAAM;GACH;;AAIV,SAAgB,UAAU,EACxB,KACA,OACA,YAAY,MACZ,iBAAiB,OACjB,MACA,gBAAgB,EAAE,EAClB,UACA,WAAW,UAAU,oBAAC;CAAI,GAAI;CAAO,WAAW,GAAG,gBAAgB,MAAM,UAAU;EAAI,EACvF,GAAG,SACc;CACjB,MAAM,QAAQ,IAAI,YAAY,KAAK;CACnC,MAAM,UAAU,OAAuB,KAAK;AAE5C,QACE,qBAAC;EACM;EACL,KAAI;EACJ,GAAI;EACJ,UAAU;EACV,WAAW,GACT,QAAQ,oDAAoD,8BAC5D,kBAAkB,mDAElB,qEACA,MAAM,UACP;aAEA,QACC,qBAAC;GAAI,WAAU;;IACZ,OAAO,SAAS,WACf,oBAAC;KACC,WAAU;KACV,yBAAyB,EACvB,QAAQ,MACT;MACD,GAEF;IAEF,oBAAC;KAAW,WAAU;eAAmB;MAAmB;IAC3D,QAAQ;KACP,WAAW;KACX,UAAU,aAAa,oBAAC,cAAW,cAAc,UAAW;KAC7D,CAAC;;IACE,GAEN,QAAQ;GACN,WACE;GACF,UAAU,aAAa,oBAAC,cAAW,cAAc,UAAW;GAC7D,CAAC,EAEJ,oBAAC;GACC,KAAK;GACL,GAAI;GACJ,MAAK;GACL,UAAU;GACV,WAAW,GACT,+KACA,cAAc,UACf;GACD,OACE;IAEE,mBAAmB,CAAC,QAAQ,6BAA6B;IACzD,YAAY,MAAM,uBACd,QAAQ,OAAO,MAAM,8BAA8B,EAAE,GAAG,MACxD;IACJ,GAAG,cAAc;IAClB;GAGF;IACG;GACC;;AAIb,SAAS,WAAW,EAClB,WACA,cACA,GAAG,SAGF;CACD,MAAM,CAAC,SAAS,WAAW,oBAAoB;EAC7C,MAAM,MAAM,aAAa,SAAS,qBAAqB,MAAM,CAAC,KAAK,EAAE;AACrE,MAAI,CAAC,IAAK;EAEV,MAAM,QAAQ,IAAI,UAAU,KAAK;AACjC,QAAM,iBAAiB,kBAAkB,CAAC,SAAS,SAAS;AAC1D,QAAK,YAAY,KAAK;IACtB;AAEF,EAAK,UAAU,UAAU,UAAU,MAAM,eAAe,GAAG;GAC3D;AAEF,QACE,oBAAC;EACC,MAAK;EACL,gBAAc,WAAW;EACzB,WAAW,GACT,eAAe;GACb,WAAW;GACX,MAAM;GACP,CAAC,EACF,UACD;EACD,cAAY,UAAU,gBAAgB;EAC7B;EACT,GAAI;YAEH,UAAU,oBAAC,UAAQ,GAAG,oBAAC,cAAY;GAC7B;;AAIb,SAAgB,cAAc,EAAE,KAAK,WAAW,GAAG,SAAsC;CACvF,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,SAAS,IAAI,YAAY,KAAK;AAEpC,QACE,oBAAC;EACC,KAAK,UAAU,cAAc,IAAI;EACjC,GAAI;EACJ,YAAY,MACV,GACE,gCACA,CAAC,UAAU,QACX,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;YAGH,oBAAC;GACC,OAAO,eACE;IACL;IACA;IACD,GACD,CAAC,OAAO,CACT;aAEA,MAAM;IACK;GACT;;AAIX,SAAgB,kBAAkB,EAAE,WAAW,GAAG,SAA0C;AAC1F,QACE,oBAAC;EACC,GAAI;EACJ,YAAY,MACV,GACE,+DACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;YAGF,MAAM;GACE;;AAIf,SAAgB,qBAAqB,EACnC,UACA,WACA,GAAG,SACkC;AACrC,QACE,qBAAC;EACC,GAAI;EACJ,YAAY,MACV,GACE,gIACA,EAAE,SAAS,oBAAoB,mCAC/B,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;aAGH,oBAAC,SAAI,WAAU,uEAAuE,EACrF;GACW;;AAIlB,SAAgB,aAAa,OAA2C;AACtE,QAAO,oBAAC,eAAY,GAAI,QAAS"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SearchLink, SharedProps, TagItem } from "../../contexts/search.js";
|
|
2
2
|
import "./search.js";
|
|
3
|
-
import * as react_jsx_runtime76 from "react/jsx-runtime";
|
|
4
3
|
import { ReactNode } from "react";
|
|
4
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
import { AlgoliaOptions } from "@hanzo/docs-core/search/client";
|
|
6
6
|
|
|
7
7
|
//#region src/components/dialog/search-algolia.d.ts
|
|
8
|
-
interface AlgoliaSearchDialogProps extends
|
|
8
|
+
interface AlgoliaSearchDialogProps extends SharedProps {
|
|
9
9
|
searchOptions: AlgoliaOptions;
|
|
10
|
-
links?:
|
|
10
|
+
links?: SearchLink[];
|
|
11
11
|
footer?: ReactNode;
|
|
12
12
|
defaultTag?: string;
|
|
13
|
-
tags?:
|
|
13
|
+
tags?: TagItem[];
|
|
14
14
|
/**
|
|
15
15
|
* Add the "Powered by Algolia" label, this is useful for free tier users
|
|
16
16
|
*
|
|
@@ -33,7 +33,7 @@ declare function AlgoliaSearchDialog({
|
|
|
33
33
|
links,
|
|
34
34
|
footer,
|
|
35
35
|
...props
|
|
36
|
-
}: AlgoliaSearchDialogProps):
|
|
36
|
+
}: AlgoliaSearchDialogProps): react_jsx_runtime0.JSX.Element;
|
|
37
37
|
//#endregion
|
|
38
38
|
export { AlgoliaSearchDialogProps, AlgoliaSearchDialog as default };
|
|
39
39
|
//# sourceMappingURL=search-algolia.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-algolia.d.ts","names":[],"sources":["../../../src/components/dialog/search-algolia.tsx"],"
|
|
1
|
+
{"version":3,"file":"search-algolia.d.ts","names":[],"sources":["../../../src/components/dialog/search-algolia.tsx"],"mappings":";;;;;;;UAuBiB,wBAAA,SAAiC,WAAA;EAChD,aAAA,EAAe,cAAA;EACf,KAAA,GAAQ,UAAA;EAER,MAAA,GAAS,SAAA;EAET,UAAA;EACA,IAAA,GAAO,OAAA;EANQ;;;;;EAaf,WAAA;EAd2D;;;;;EAqB3D,UAAA;AAAA;AAAA,iBAGsB,mBAAA,CAAA;EACtB,aAAA;EACA,IAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,KAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useI18n } from "../../contexts/i18n.js";
|
|
4
4
|
import { SearchDialog, SearchDialogClose, SearchDialogContent, SearchDialogFooter, SearchDialogHeader, SearchDialogIcon, SearchDialogInput, SearchDialogList, SearchDialogOverlay, TagsList, TagsListItem } from "./search.js";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
5
|
import { useMemo, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useOnChange } from "@hanzo/docs-core/utils/use-on-change";
|
|
8
8
|
import { useDocsSearch } from "@hanzo/docs-core/search/client";
|
|
9
9
|
|
|
10
10
|
//#region src/components/dialog/search-algolia.tsx
|
|
11
11
|
function AlgoliaSearchDialog({ searchOptions, tags = [], defaultTag, showAlgolia = false, allowClear = false, links = [], footer, ...props }) {
|
|
12
12
|
const [tag, setTag] = useState(defaultTag);
|
|
13
|
-
const { locale } =
|
|
13
|
+
const { locale } = useI18n();
|
|
14
14
|
const { search, setSearch, query } = useDocsSearch({
|
|
15
15
|
type: "algolia",
|
|
16
16
|
tag,
|
|
@@ -46,10 +46,10 @@ function AlgoliaSearchDialog({ searchOptions, tags = [], defaultTag, showAlgolia
|
|
|
46
46
|
tag,
|
|
47
47
|
onTagChange: setTag,
|
|
48
48
|
allowClear,
|
|
49
|
-
children: [tags.map((tag
|
|
50
|
-
value: tag
|
|
51
|
-
children: tag
|
|
52
|
-
}, tag
|
|
49
|
+
children: [tags.map((tag) => /* @__PURE__ */ jsx(TagsListItem, {
|
|
50
|
+
value: tag.value,
|
|
51
|
+
children: tag.name
|
|
52
|
+
}, tag.value)), label]
|
|
53
53
|
}) : label, footer] })
|
|
54
54
|
]
|
|
55
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-algolia.js","names":[
|
|
1
|
+
{"version":3,"file":"search-algolia.js","names":[],"sources":["../../../src/components/dialog/search-algolia.tsx"],"sourcesContent":["'use client';\n\nimport { type AlgoliaOptions, useDocsSearch } from '@hanzo/docs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from '@hanzo/docs-core/utils/use-on-change';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from '@hanzo/docs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\n\nexport interface AlgoliaSearchDialogProps extends SharedProps {\n searchOptions: AlgoliaOptions;\n links?: SearchLink[];\n\n footer?: ReactNode;\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Add the \"Powered by Algolia\" label, this is useful for free tier users\n *\n * @defaultValue false\n */\n showAlgolia?: boolean;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\nexport default function AlgoliaSearchDialog({\n searchOptions,\n tags = [],\n defaultTag,\n showAlgolia = false,\n allowClear = false,\n links = [],\n footer,\n ...props\n}: AlgoliaSearchDialogProps) {\n const [tag, setTag] = useState(defaultTag);\n const { locale } = useI18n();\n const { search, setSearch, query } = useDocsSearch({\n type: 'algolia',\n tag,\n locale,\n ...searchOptions,\n });\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n const label = showAlgolia && <AlgoliaTitle />;\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n </SearchDialogContent>\n <SearchDialogFooter>\n {tags.length > 0 ? (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n {label}\n </TagsList>\n ) : (\n label\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialog>\n );\n}\n\nfunction AlgoliaTitle() {\n return (\n <a\n href=\"https://algolia.com\"\n rel=\"noreferrer noopener\"\n className=\"ms-auto text-xs text-fd-muted-foreground\"\n >\n Search powered by Algolia\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;AA+CA,SAAwB,oBAAoB,EAC1C,eACA,OAAO,EAAE,EACT,YACA,cAAc,OACd,aAAa,OACb,QAAQ,EAAE,EACV,QACA,GAAG,SACwB;CAC3B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,EAAE,QAAQ,WAAW,UAAU,cAAc;EACjD,MAAM;EACN;EACA;EACA,GAAG;EACJ,CAAC;CACF,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;CAEF,MAAM,QAAQ,eAAe,oBAAC,iBAAe;AAE7C,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;;GACvF,oBAAC,wBAAsB;GACvB,qBAAC,kCACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF,EACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB,IAC3D;GACtB,qBAAC,iCACE,KAAK,SAAS,IACb,qBAAC;IAAc;IAAK,aAAa;IAAoB;eAClD,KAAK,KAAK,QACT,oBAAC;KAA6B,OAAO,IAAI;eACtC,IAAI;OADY,IAAI,MAER,CACf,EACD;KACQ,GAEX,OAED,UACkB;;GACR;;AAInB,SAAS,eAAe;AACtB,QACE,oBAAC;EACC,MAAK;EACL,KAAI;EACJ,WAAU;YACX;GAEG"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SearchLink, SharedProps, TagItem } from "../../contexts/search.js";
|
|
2
2
|
import "./search.js";
|
|
3
|
-
import * as react_jsx_runtime136 from "react/jsx-runtime";
|
|
4
3
|
import { ReactNode } from "react";
|
|
4
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
6
6
|
//#region src/components/dialog/search-default.d.ts
|
|
7
|
-
interface DefaultSearchDialogProps extends
|
|
8
|
-
links?:
|
|
7
|
+
interface DefaultSearchDialogProps extends SharedProps {
|
|
8
|
+
links?: SearchLink[];
|
|
9
9
|
/**
|
|
10
10
|
* @defaultValue 'fetch'
|
|
11
11
|
*/
|
|
12
12
|
type?: 'fetch' | 'static';
|
|
13
13
|
defaultTag?: string;
|
|
14
|
-
tags?:
|
|
14
|
+
tags?: TagItem[];
|
|
15
15
|
/**
|
|
16
16
|
* Search API URL
|
|
17
17
|
*/
|
|
@@ -38,7 +38,7 @@ declare function DefaultSearchDialog({
|
|
|
38
38
|
links,
|
|
39
39
|
footer,
|
|
40
40
|
...props
|
|
41
|
-
}: DefaultSearchDialogProps):
|
|
41
|
+
}: DefaultSearchDialogProps): react_jsx_runtime0.JSX.Element;
|
|
42
42
|
//#endregion
|
|
43
43
|
export { DefaultSearchDialogProps, DefaultSearchDialog as default };
|
|
44
44
|
//# sourceMappingURL=search-default.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-default.d.ts","names":[],"sources":["../../../src/components/dialog/search-default.tsx"],"
|
|
1
|
+
{"version":3,"file":"search-default.d.ts","names":[],"sources":["../../../src/components/dialog/search-default.tsx"],"mappings":";;;;;;UAuBiB,wBAAA,SAAiC,WAAA;EAChD,KAAA,GAAQ,UAAA;;AADV;;EAME,IAAA;EAEA,UAAA;EACA,IAAA,GAAO,OAAA;EAYE;;;EAPT,GAAA;EAdgD;;;EAmBhD,OAAA;EAEA,MAAA,GAAS,SAAA;EAZT;;;;;EAmBA,UAAA;AAAA;AAAA,iBAGsB,mBAAA,CAAA;EACtB,UAAA;EACA,IAAA;EACA,GAAA;EACA,OAAA;EACA,IAAA;EACA,UAAA;EACA,KAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useI18n } from "../../contexts/i18n.js";
|
|
4
4
|
import { SearchDialog, SearchDialogClose, SearchDialogContent, SearchDialogFooter, SearchDialogHeader, SearchDialogIcon, SearchDialogInput, SearchDialogList, SearchDialogOverlay, TagsList, TagsListItem } from "./search.js";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
5
|
import { useMemo, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { useOnChange } from "@hanzo/docs-core/utils/use-on-change";
|
|
8
8
|
import { useDocsSearch } from "@hanzo/docs-core/search/client";
|
|
9
9
|
|
|
10
10
|
//#region src/components/dialog/search-default.tsx
|
|
11
11
|
function DefaultSearchDialog({ defaultTag, tags = [], api, delayMs, type = "fetch", allowClear = false, links = [], footer, ...props }) {
|
|
12
|
-
const { locale } =
|
|
12
|
+
const { locale } = useI18n();
|
|
13
13
|
const [tag, setTag] = useState(defaultTag);
|
|
14
14
|
const { search, setSearch, query } = useDocsSearch(type === "fetch" ? {
|
|
15
15
|
type: "fetch",
|
|
@@ -52,10 +52,10 @@ function DefaultSearchDialog({ defaultTag, tags = [], api, delayMs, type = "fetc
|
|
|
52
52
|
tag,
|
|
53
53
|
onTagChange: setTag,
|
|
54
54
|
allowClear,
|
|
55
|
-
children: tags.map((tag
|
|
56
|
-
value: tag
|
|
57
|
-
children: tag
|
|
58
|
-
}, tag
|
|
55
|
+
children: tags.map((tag) => /* @__PURE__ */ jsx(TagsListItem, {
|
|
56
|
+
value: tag.value,
|
|
57
|
+
children: tag.name
|
|
58
|
+
}, tag.value))
|
|
59
59
|
}), footer] })
|
|
60
60
|
]
|
|
61
61
|
});
|