@hanzo/radix 16.3.1

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.
Files changed (216) hide show
  1. package/README.md +5 -0
  2. package/css/black.css +1 -0
  3. package/css/catppuccin.css +1 -0
  4. package/css/dusk.css +1 -0
  5. package/css/layouts/docs.css +1 -0
  6. package/css/layouts/home.css +1 -0
  7. package/css/layouts/notebook.css +1 -0
  8. package/css/neutral.css +1 -0
  9. package/css/ocean.css +1 -0
  10. package/css/preset.css +91 -0
  11. package/css/purple.css +1 -0
  12. package/css/shadcn.css +1 -0
  13. package/css/solar.css +1 -0
  14. package/css/style.css +9 -0
  15. package/css/vitepress.css +1 -0
  16. package/dist/components/accordion.d.ts +8 -0
  17. package/dist/components/accordion.d.ts.map +1 -0
  18. package/dist/components/accordion.js +43 -0
  19. package/dist/components/banner.d.ts +24 -0
  20. package/dist/components/banner.d.ts.map +1 -0
  21. package/dist/components/banner.js +54 -0
  22. package/dist/components/callout.d.ts +19 -0
  23. package/dist/components/callout.d.ts.map +1 -0
  24. package/dist/components/callout.js +34 -0
  25. package/dist/components/card.d.ts +11 -0
  26. package/dist/components/card.d.ts.map +1 -0
  27. package/dist/components/card.js +10 -0
  28. package/dist/components/codeblock.d.ts +42 -0
  29. package/dist/components/codeblock.d.ts.map +1 -0
  30. package/dist/components/codeblock.js +68 -0
  31. package/dist/components/dialog/search-algolia.d.ts +25 -0
  32. package/dist/components/dialog/search-algolia.d.ts.map +1 -0
  33. package/dist/components/dialog/search-algolia.js +35 -0
  34. package/dist/components/dialog/search-default.d.ts +29 -0
  35. package/dist/components/dialog/search-default.d.ts.map +1 -0
  36. package/dist/components/dialog/search-default.js +40 -0
  37. package/dist/components/dialog/search-orama.d.ts +30 -0
  38. package/dist/components/dialog/search-orama.d.ts.map +1 -0
  39. package/dist/components/dialog/search-orama.js +40 -0
  40. package/dist/components/dialog/search.d.ts +72 -0
  41. package/dist/components/dialog/search.d.ts.map +1 -0
  42. package/dist/components/dialog/search.js +192 -0
  43. package/dist/components/dynamic-codeblock.d.ts +21 -0
  44. package/dist/components/dynamic-codeblock.d.ts.map +1 -0
  45. package/dist/components/dynamic-codeblock.js +33 -0
  46. package/dist/components/files.d.ts +19 -0
  47. package/dist/components/files.d.ts.map +1 -0
  48. package/dist/components/files.js +18 -0
  49. package/dist/components/github-info.d.ts +8 -0
  50. package/dist/components/github-info.d.ts.map +1 -0
  51. package/dist/components/github-info.js +53 -0
  52. package/dist/components/heading.d.ts +8 -0
  53. package/dist/components/heading.d.ts.map +1 -0
  54. package/dist/components/heading.js +9 -0
  55. package/dist/components/image-zoom.css +77 -0
  56. package/dist/components/image-zoom.d.ts +16 -0
  57. package/dist/components/image-zoom.d.ts.map +1 -0
  58. package/dist/components/image-zoom.js +23 -0
  59. package/dist/components/inline-toc.d.ts +8 -0
  60. package/dist/components/inline-toc.d.ts.map +1 -0
  61. package/dist/components/inline-toc.js +10 -0
  62. package/dist/components/sidebar/base.d.ts +72 -0
  63. package/dist/components/sidebar/base.d.ts.map +1 -0
  64. package/dist/components/sidebar/base.js +186 -0
  65. package/dist/components/sidebar/link-item.d.ts +11 -0
  66. package/dist/components/sidebar/link-item.d.ts.map +1 -0
  67. package/dist/components/sidebar/link-item.js +13 -0
  68. package/dist/components/sidebar/page-tree.d.ts +19 -0
  69. package/dist/components/sidebar/page-tree.d.ts.map +1 -0
  70. package/dist/components/sidebar/page-tree.js +34 -0
  71. package/dist/components/sidebar/tabs/dropdown.d.ts +11 -0
  72. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -0
  73. package/dist/components/sidebar/tabs/dropdown.js +34 -0
  74. package/dist/components/sidebar/tabs/index.d.ts +21 -0
  75. package/dist/components/sidebar/tabs/index.d.ts.map +1 -0
  76. package/dist/components/sidebar/tabs/index.js +49 -0
  77. package/dist/components/steps.d.ts +8 -0
  78. package/dist/components/steps.d.ts.map +1 -0
  79. package/dist/components/steps.js +7 -0
  80. package/dist/components/tabs.d.ts +31 -0
  81. package/dist/components/tabs.d.ts.map +1 -0
  82. package/dist/components/tabs.js +64 -0
  83. package/dist/components/toc/clerk.d.ts +2 -0
  84. package/dist/components/toc/clerk.d.ts.map +1 -0
  85. package/dist/components/toc/clerk.js +1 -0
  86. package/dist/components/toc/default.d.ts +2 -0
  87. package/dist/components/toc/default.d.ts.map +1 -0
  88. package/dist/components/toc/default.js +1 -0
  89. package/dist/components/toc/index.d.ts +2 -0
  90. package/dist/components/toc/index.d.ts.map +1 -0
  91. package/dist/components/toc/index.js +1 -0
  92. package/dist/components/type-table.d.ts +32 -0
  93. package/dist/components/type-table.d.ts.map +1 -0
  94. package/dist/components/type-table.js +28 -0
  95. package/dist/components/ui/accordion.d.ts +8 -0
  96. package/dist/components/ui/accordion.d.ts.map +1 -0
  97. package/dist/components/ui/accordion.js +20 -0
  98. package/dist/components/ui/button.d.ts +8 -0
  99. package/dist/components/ui/button.d.ts.map +1 -0
  100. package/dist/components/ui/button.js +20 -0
  101. package/dist/components/ui/collapsible.d.ts +9 -0
  102. package/dist/components/ui/collapsible.d.ts.map +1 -0
  103. package/dist/components/ui/collapsible.js +17 -0
  104. package/dist/components/ui/navigation-menu.d.ts +13 -0
  105. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  106. package/dist/components/ui/navigation-menu.js +17 -0
  107. package/dist/components/ui/popover.d.ts +8 -0
  108. package/dist/components/ui/popover.d.ts.map +1 -0
  109. package/dist/components/ui/popover.js +11 -0
  110. package/dist/components/ui/scroll-area.d.ts +8 -0
  111. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  112. package/dist/components/ui/scroll-area.js +11 -0
  113. package/dist/components/ui/tabs.d.ts +21 -0
  114. package/dist/components/ui/tabs.d.ts.map +1 -0
  115. package/dist/components/ui/tabs.js +79 -0
  116. package/dist/contexts/i18n.d.ts +2 -0
  117. package/dist/contexts/i18n.d.ts.map +1 -0
  118. package/dist/contexts/i18n.js +2 -0
  119. package/dist/contexts/search.d.ts +2 -0
  120. package/dist/contexts/search.d.ts.map +1 -0
  121. package/dist/contexts/search.js +2 -0
  122. package/dist/contexts/tree.d.ts +2 -0
  123. package/dist/contexts/tree.d.ts.map +1 -0
  124. package/dist/contexts/tree.js +2 -0
  125. package/dist/i18n.d.ts +2 -0
  126. package/dist/i18n.d.ts.map +1 -0
  127. package/dist/i18n.js +1 -0
  128. package/dist/layouts/docs/client.d.ts +15 -0
  129. package/dist/layouts/docs/client.d.ts.map +1 -0
  130. package/dist/layouts/docs/client.js +41 -0
  131. package/dist/layouts/docs/index.d.ts +36 -0
  132. package/dist/layouts/docs/index.d.ts.map +1 -0
  133. package/dist/layouts/docs/index.js +69 -0
  134. package/dist/layouts/docs/page/client.d.ts +24 -0
  135. package/dist/layouts/docs/page/client.d.ts.map +1 -0
  136. package/dist/layouts/docs/page/client.js +119 -0
  137. package/dist/layouts/docs/page/index.d.ts +58 -0
  138. package/dist/layouts/docs/page/index.d.ts.map +1 -0
  139. package/dist/layouts/docs/page/index.js +51 -0
  140. package/dist/layouts/docs/sidebar.d.ts +17 -0
  141. package/dist/layouts/docs/sidebar.d.ts.map +1 -0
  142. package/dist/layouts/docs/sidebar.js +94 -0
  143. package/dist/layouts/home/client.d.ts +6 -0
  144. package/dist/layouts/home/client.d.ts.map +1 -0
  145. package/dist/layouts/home/client.js +113 -0
  146. package/dist/layouts/home/index.d.ts +12 -0
  147. package/dist/layouts/home/index.d.ts.map +1 -0
  148. package/dist/layouts/home/index.js +8 -0
  149. package/dist/layouts/home/navbar.d.ts +7 -0
  150. package/dist/layouts/home/navbar.d.ts.map +1 -0
  151. package/dist/layouts/home/navbar.js +16 -0
  152. package/dist/layouts/notebook/client.d.ts +23 -0
  153. package/dist/layouts/notebook/client.d.ts.map +1 -0
  154. package/dist/layouts/notebook/client.js +104 -0
  155. package/dist/layouts/notebook/index.d.ts +34 -0
  156. package/dist/layouts/notebook/index.d.ts.map +1 -0
  157. package/dist/layouts/notebook/index.js +92 -0
  158. package/dist/layouts/notebook/page/client.d.ts +24 -0
  159. package/dist/layouts/notebook/page/client.d.ts.map +1 -0
  160. package/dist/layouts/notebook/page/client.js +119 -0
  161. package/dist/layouts/notebook/page/index.d.ts +58 -0
  162. package/dist/layouts/notebook/page/index.d.ts.map +1 -0
  163. package/dist/layouts/notebook/page/index.js +51 -0
  164. package/dist/layouts/notebook/sidebar.d.ts +17 -0
  165. package/dist/layouts/notebook/sidebar.d.ts.map +1 -0
  166. package/dist/layouts/notebook/sidebar.js +91 -0
  167. package/dist/layouts/shared/index.d.ts +57 -0
  168. package/dist/layouts/shared/index.d.ts.map +1 -0
  169. package/dist/layouts/shared/index.js +23 -0
  170. package/dist/layouts/shared/language-toggle.d.ts +5 -0
  171. package/dist/layouts/shared/language-toggle.d.ts.map +1 -0
  172. package/dist/layouts/shared/language-toggle.js +24 -0
  173. package/dist/layouts/shared/search-toggle.d.ts +11 -0
  174. package/dist/layouts/shared/search-toggle.d.ts.map +1 -0
  175. package/dist/layouts/shared/search-toggle.js +27 -0
  176. package/dist/layouts/shared/theme-toggle.d.ts +5 -0
  177. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -0
  178. package/dist/layouts/shared/theme-toggle.js +38 -0
  179. package/dist/mdx.d.ts +33 -0
  180. package/dist/mdx.d.ts.map +1 -0
  181. package/dist/mdx.js +40 -0
  182. package/dist/mdx.server.d.ts +13 -0
  183. package/dist/mdx.server.d.ts.map +1 -0
  184. package/dist/mdx.server.js +15 -0
  185. package/dist/og.d.ts +2 -0
  186. package/dist/og.d.ts.map +1 -0
  187. package/dist/og.js +1 -0
  188. package/dist/page.d.ts +27 -0
  189. package/dist/page.d.ts.map +1 -0
  190. package/dist/page.js +22 -0
  191. package/dist/provider/base.d.ts +40 -0
  192. package/dist/provider/base.d.ts.map +1 -0
  193. package/dist/provider/base.js +19 -0
  194. package/dist/provider/next.d.ts +14 -0
  195. package/dist/provider/next.d.ts.map +1 -0
  196. package/dist/provider/next.js +7 -0
  197. package/dist/provider/react-router.d.ts +14 -0
  198. package/dist/provider/react-router.d.ts.map +1 -0
  199. package/dist/provider/react-router.js +7 -0
  200. package/dist/provider/tanstack.d.ts +14 -0
  201. package/dist/provider/tanstack.d.ts.map +1 -0
  202. package/dist/provider/tanstack.js +7 -0
  203. package/dist/provider/waku.d.ts +14 -0
  204. package/dist/provider/waku.d.ts.map +1 -0
  205. package/dist/provider/waku.js +7 -0
  206. package/dist/style.css +3246 -0
  207. package/dist/utils/use-copy-button.d.ts +2 -0
  208. package/dist/utils/use-copy-button.d.ts.map +1 -0
  209. package/dist/utils/use-copy-button.js +1 -0
  210. package/dist/utils/use-footer-items.d.ts +2 -0
  211. package/dist/utils/use-footer-items.d.ts.map +1 -0
  212. package/dist/utils/use-footer-items.js +1 -0
  213. package/dist/utils/use-is-scroll-top.d.ts +2 -0
  214. package/dist/utils/use-is-scroll-top.d.ts.map +1 -0
  215. package/dist/utils/use-is-scroll-top.js +1 -0
  216. package/package.json +155 -0
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function Steps({ children }) {
3
+ return _jsx("div", { className: "fd-steps", children: children });
4
+ }
5
+ export function Step({ children }) {
6
+ return _jsx("div", { className: "fd-step", children: children });
7
+ }
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import { type ComponentProps, type ReactNode } from 'react';
3
+ import * as Unstyled from './ui/tabs.js';
4
+ export interface TabsProps extends Omit<ComponentProps<typeof Unstyled.Tabs>, 'value' | 'onValueChange'> {
5
+ /**
6
+ * Use simple mode instead of advanced usage as documented in https://radix-ui.com/primitives/docs/components/tabs.
7
+ */
8
+ items?: string[];
9
+ /**
10
+ * Shortcut for `defaultValue` when `items` is provided.
11
+ *
12
+ * @defaultValue 0
13
+ */
14
+ defaultIndex?: number;
15
+ /**
16
+ * Additional label in tabs list when `items` is provided.
17
+ */
18
+ label?: ReactNode;
19
+ }
20
+ export declare const TabsList: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-tabs").TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
21
+ export declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-tabs").TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
22
+ export declare function Tabs({ ref, className, items, label, defaultIndex, defaultValue, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
23
+ export interface TabProps extends Omit<ComponentProps<typeof Unstyled.TabsContent>, 'value'> {
24
+ /**
25
+ * Value of tab, detect from index if unspecified.
26
+ */
27
+ value?: string;
28
+ }
29
+ export declare function Tab({ value, ...props }: TabProps): import("react/jsx-runtime").JSX.Element;
30
+ export declare function TabsContent({ value, className, ...props }: ComponentProps<typeof Unstyled.TabsContent>): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/components/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AAItC,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,EACpC,OAAO,GAAG,eAAe,CAC1B;IACC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAaD,eAAO,MAAM,QAAQ,wKAYnB,CAAC;AAGH,eAAO,MAAM,WAAW,iLAYtB,CAAC;AAGH,wBAAgB,IAAI,CAAC,EACnB,GAAG,EACH,SAAS,EACT,KAAK,EACL,KAAK,EACL,YAAgB,EAChB,YAAmE,EACnE,GAAG,KAAK,EACT,EAAE,SAAS,2CAqCX;AAED,MAAM,WAAW,QAAS,SAAQ,IAAI,CACpC,cAAc,CAAC,OAAO,QAAQ,CAAC,WAAW,CAAC,EAC3C,OAAO,CACR;IACC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,QAAQ,2CAgBhD;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,QAAQ,CAAC,WAAW,CAAC,2CAc7C"}
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { createContext, useContext, useEffect, useId, useMemo, useState, } from 'react';
5
+ import { cn } from '@hanzo/ui/cn';
6
+ import * as Unstyled from './ui/tabs.js';
7
+ const TabsContext = createContext(null);
8
+ function useTabContext() {
9
+ const ctx = useContext(TabsContext);
10
+ if (!ctx)
11
+ throw new Error('You must wrap your component in <Tabs>');
12
+ return ctx;
13
+ }
14
+ export const TabsList = React.forwardRef((props, ref) => (_jsx(Unstyled.TabsList, { ref: ref, ...props, className: cn('flex gap-3.5 text-fd-secondary-foreground overflow-x-auto px-4 not-prose', props.className) })));
15
+ TabsList.displayName = 'TabsList';
16
+ export const TabsTrigger = React.forwardRef((props, ref) => (_jsx(Unstyled.TabsTrigger, { ref: ref, ...props, className: cn('inline-flex items-center gap-2 whitespace-nowrap text-fd-muted-foreground border-b border-transparent py-2 text-sm font-medium transition-colors [&_svg]:size-4 hover:text-fd-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-fd-primary data-[state=active]:text-fd-primary', props.className) })));
17
+ TabsTrigger.displayName = 'TabsTrigger';
18
+ export function Tabs({ ref, className, items, label, defaultIndex = 0, defaultValue = items ? escapeValue(items[defaultIndex]) : undefined, ...props }) {
19
+ const [value, setValue] = useState(defaultValue);
20
+ const collection = useMemo(() => [], []);
21
+ return (_jsxs(Unstyled.Tabs, { ref: ref, className: cn('flex flex-col overflow-hidden rounded-xl border bg-fd-secondary my-4', className), value: value, onValueChange: (v) => {
22
+ if (items && !items.some((item) => escapeValue(item) === v))
23
+ return;
24
+ setValue(v);
25
+ }, ...props, children: [items && (_jsxs(TabsList, { children: [label && (_jsx("span", { className: "text-sm font-medium my-auto me-auto", children: label })), items.map((item) => (_jsx(TabsTrigger, { value: escapeValue(item), children: item }, item)))] })), _jsx(TabsContext.Provider, { value: useMemo(() => ({ items, collection }), [collection, items]), children: props.children })] }));
26
+ }
27
+ export function Tab({ value, ...props }) {
28
+ const { items } = useTabContext();
29
+ const resolved = value ??
30
+ // eslint-disable-next-line react-hooks/rules-of-hooks -- `value` is not supposed to change
31
+ items?.at(useCollectionIndex());
32
+ if (!resolved)
33
+ throw new Error('Failed to resolve tab `value`, please pass a `value` prop to the Tab component.');
34
+ return (_jsx(TabsContent, { value: escapeValue(resolved), ...props, children: props.children }));
35
+ }
36
+ export function TabsContent({ value, className, ...props }) {
37
+ return (_jsx(Unstyled.TabsContent, { value: value, forceMount: true, className: cn('p-4 text-[0.9375rem] bg-fd-background rounded-xl outline-none prose-no-margin data-[state=inactive]:hidden [&>figure:only-child]:-m-4 [&>figure:only-child]:border-none', className), ...props, children: props.children }));
38
+ }
39
+ /**
40
+ * Inspired by Headless UI.
41
+ *
42
+ * Return the index of children, this is made possible by registering the order of render from children using React context.
43
+ * This is supposed by work with pre-rendering & pure client-side rendering.
44
+ */
45
+ function useCollectionIndex() {
46
+ const key = useId();
47
+ const { collection } = useTabContext();
48
+ useEffect(() => {
49
+ return () => {
50
+ const idx = collection.indexOf(key);
51
+ if (idx !== -1)
52
+ collection.splice(idx, 1);
53
+ };
54
+ }, [key, collection]);
55
+ if (!collection.includes(key))
56
+ collection.push(key);
57
+ return collection.indexOf(key);
58
+ }
59
+ /**
60
+ * only escape whitespaces in values in simple mode
61
+ */
62
+ function escapeValue(v) {
63
+ return v.toLowerCase().replace(/\s/, '-');
64
+ }
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/components/toc/clerk';
2
+ //# sourceMappingURL=clerk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clerk.d.ts","sourceRoot":"","sources":["../../../src/components/toc/clerk.tsx"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from '@hanzo/ui/components/toc/clerk';
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/components/toc/default';
2
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/components/toc/default.tsx"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from '@hanzo/ui/components/toc/default';
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/components/toc/index';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toc/index.tsx"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from '@hanzo/ui/components/toc/index';
@@ -0,0 +1,32 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface ParameterNode {
3
+ name: string;
4
+ description: ReactNode;
5
+ }
6
+ export interface TypeNode {
7
+ /**
8
+ * Additional description of the field
9
+ */
10
+ description?: ReactNode;
11
+ /**
12
+ * type signature (short)
13
+ */
14
+ type: ReactNode;
15
+ /**
16
+ * type signature (full)
17
+ */
18
+ typeDescription?: ReactNode;
19
+ /**
20
+ * Optional `href` for the type
21
+ */
22
+ typeDescriptionLink?: string;
23
+ default?: ReactNode;
24
+ required?: boolean;
25
+ deprecated?: boolean;
26
+ parameters?: ParameterNode[];
27
+ returns?: ReactNode;
28
+ }
29
+ export declare function TypeTable({ type }: {
30
+ type: Record<string, TypeNode>;
31
+ }): import("react/jsx-runtime").JSX.Element;
32
+ //# sourceMappingURL=type-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-table.d.ts","sourceRoot":"","sources":["../../src/components/type-table.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAOjD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;IAEhB;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAYD,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;CAAE,2CAYrE"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { ChevronDown } from '@hanzo/ui/icons';
4
+ import Link from '@hanzo/docs/link';
5
+ import { cva } from 'class-variance-authority';
6
+ import { cn } from '@hanzo/ui/cn';
7
+ import { useState } from 'react';
8
+ import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from '../components/ui/collapsible.js';
9
+ const keyVariants = cva('text-fd-primary', {
10
+ variants: {
11
+ deprecated: {
12
+ true: 'line-through text-fd-primary/50',
13
+ },
14
+ },
15
+ });
16
+ const fieldVariants = cva('text-fd-muted-foreground not-prose pe-2');
17
+ export function TypeTable({ type }) {
18
+ return (_jsxs("div", { className: "@container flex flex-col p-1 bg-fd-card text-fd-card-foreground rounded-2xl border my-6 text-sm overflow-hidden", children: [_jsxs("div", { className: "flex font-medium items-center px-3 py-1 not-prose text-fd-muted-foreground", children: [_jsx("p", { className: "w-[25%]", children: "Prop" }), _jsx("p", { className: "@max-xl:hidden", children: "Type" })] }), Object.entries(type).map(([key, value]) => (_jsx(Item, { name: key, item: value }, key)))] }));
19
+ }
20
+ function Item({ name, item: { parameters = [], description, required = false, deprecated, typeDescription, default: defaultValue, type, typeDescriptionLink, returns, }, }) {
21
+ const [open, setOpen] = useState(false);
22
+ return (_jsxs(Collapsible, { open: open, onOpenChange: setOpen, className: cn('rounded-xl border overflow-hidden transition-all', open
23
+ ? 'shadow-sm bg-fd-background not-last:mb-2'
24
+ : 'border-transparent'), children: [_jsxs(CollapsibleTrigger, { className: "relative flex flex-row items-center w-full group text-start px-3 py-2 not-prose hover:bg-fd-accent", children: [_jsxs("code", { className: cn(keyVariants({
25
+ deprecated,
26
+ className: 'min-w-fit w-[25%] font-medium pe-2',
27
+ })), children: [name, !required && '?'] }), typeDescriptionLink ? (_jsx(Link, { href: typeDescriptionLink, className: "underline @max-xl:hidden", children: type })) : (_jsx("span", { className: "@max-xl:hidden", children: type })), _jsx(ChevronDown, { className: "absolute end-2 size-4 text-fd-muted-foreground transition-transform group-data-[state=open]:rotate-180" })] }), _jsx(CollapsibleContent, { children: _jsxs("div", { className: "grid grid-cols-[1fr_3fr] gap-y-4 text-sm p-3 overflow-auto fd-scroll-container border-t", children: [_jsx("div", { className: "text-sm prose col-span-full prose-no-margin empty:hidden", children: description }), typeDescription && (_jsxs(_Fragment, { children: [_jsx("p", { className: cn(fieldVariants()), children: "Type" }), _jsx("p", { className: "my-auto not-prose", children: typeDescription })] })), defaultValue && (_jsxs(_Fragment, { children: [_jsx("p", { className: cn(fieldVariants()), children: "Default" }), _jsx("p", { className: "my-auto not-prose", children: defaultValue })] })), parameters.length > 0 && (_jsxs(_Fragment, { children: [_jsx("p", { className: cn(fieldVariants()), children: "Parameters" }), _jsx("div", { className: "flex flex-col gap-2", children: parameters.map((param) => (_jsxs("div", { className: "inline-flex items-center flex-wrap gap-1", children: [_jsxs("p", { className: "font-medium not-prose text-nowrap", children: [param.name, " -"] }), _jsx("div", { className: "text-sm prose prose-no-margin", children: param.description })] }, param.name))) })] })), returns && (_jsxs(_Fragment, { children: [_jsx("p", { className: cn(fieldVariants()), children: "Returns" }), _jsx("div", { className: "my-auto text-sm prose prose-no-margin", children: returns })] }))] }) })] }));
28
+ }
@@ -0,0 +1,8 @@
1
+ import * as Primitive from '@radix-ui/react-accordion';
2
+ import { type ComponentProps } from 'react';
3
+ export declare function Accordion({ className, ...props }: ComponentProps<typeof Primitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function AccordionItem({ className, children, ...props }: ComponentProps<typeof Primitive.Item>): import("react/jsx-runtime").JSX.Element;
5
+ export declare function AccordionHeader({ className, children, ...props }: ComponentProps<typeof Primitive.Header>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function AccordionTrigger({ className, children, ...props }: ComponentProps<typeof Primitive.Trigger>): import("react/jsx-runtime").JSX.Element;
7
+ export declare function AccordionContent({ className, children, ...props }: ComponentProps<typeof Primitive.Content>): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/components/ui/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,2CAUvC;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,2CAMvC;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,2CAYzC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,2CAa1C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,2CAY1C"}
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as Primitive from '@radix-ui/react-accordion';
4
+ import { ChevronRight } from '@hanzo/ui/icons';
5
+ import { cn } from '@hanzo/ui/cn';
6
+ export function Accordion({ className, ...props }) {
7
+ return (_jsx(Primitive.Root, { className: cn('divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card', className), ...props }));
8
+ }
9
+ export function AccordionItem({ className, children, ...props }) {
10
+ return (_jsx(Primitive.Item, { className: cn('scroll-m-24', className), ...props, children: children }));
11
+ }
12
+ export function AccordionHeader({ className, children, ...props }) {
13
+ return (_jsx(Primitive.Header, { className: cn('not-prose flex flex-row items-center text-fd-card-foreground font-medium has-focus-visible:bg-fd-accent', className), ...props, children: children }));
14
+ }
15
+ export function AccordionTrigger({ className, children, ...props }) {
16
+ return (_jsxs(Primitive.Trigger, { className: cn('group flex flex-1 items-center gap-2 px-3 py-2.5 text-start focus-visible:outline-none', className), ...props, children: [_jsx(ChevronRight, { className: "size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]:rotate-90" }), children] }));
17
+ }
18
+ export function AccordionContent({ className, children, ...props }) {
19
+ return (_jsx(Primitive.Content, { className: cn('overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down', className), ...props, children: children }));
20
+ }
@@ -0,0 +1,8 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const buttonVariants: (props?: ({
3
+ variant?: "primary" | "outline" | "ghost" | "secondary" | null | undefined;
4
+ color?: "primary" | "outline" | "ghost" | "secondary" | null | undefined;
5
+ size?: "icon" | "sm" | "icon-sm" | "icon-xs" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export type ButtonProps = VariantProps<typeof buttonVariants>;
8
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAUlE,eAAO,MAAM,cAAc;;;;8EAe1B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { cva } from 'class-variance-authority';
2
+ const variants = {
3
+ primary: 'bg-fd-primary text-fd-primary-foreground hover:bg-fd-primary/80',
4
+ outline: 'border hover:bg-fd-accent hover:text-fd-accent-foreground',
5
+ ghost: 'hover:bg-fd-accent hover:text-fd-accent-foreground',
6
+ secondary: 'border bg-fd-secondary text-fd-secondary-foreground hover:bg-fd-accent hover:text-fd-accent-foreground',
7
+ };
8
+ export const buttonVariants = cva('inline-flex items-center justify-center rounded-md p-2 text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring', {
9
+ variants: {
10
+ variant: variants,
11
+ // fumadocs use `color` instead of `variant`
12
+ color: variants,
13
+ size: {
14
+ sm: 'gap-1 px-2 py-1.5 text-xs',
15
+ icon: 'p-1.5 [&_svg]:size-5',
16
+ 'icon-sm': 'p-1.5 [&_svg]:size-4.5',
17
+ 'icon-xs': 'p-1 [&_svg]:size-4',
18
+ },
19
+ },
20
+ });
@@ -0,0 +1,9 @@
1
+ import * as Primitive from '@radix-ui/react-collapsible';
2
+ declare const Collapsible: import("react").ForwardRefExoticComponent<Primitive.CollapsibleProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ declare const CollapsibleTrigger: import("react").ForwardRefExoticComponent<Primitive.CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
4
+ declare const CollapsibleContent: import("react").ForwardRefExoticComponent<Omit<Primitive.CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
6
+ export type CollapsibleProps = Primitive.CollapsibleProps;
7
+ export type CollapsibleContentProps = Primitive.CollapsibleContentProps;
8
+ export type CollapsibleTriggerProps = Primitive.CollapsibleTriggerProps;
9
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,6BAA6B,CAAC;AAIzD,QAAA,MAAM,WAAW,uHAAiB,CAAC;AAEnC,QAAA,MAAM,kBAAkB,iIAA+B,CAAC;AAExD,QAAA,MAAM,kBAAkB,2LAwBtB,CAAC;AAIH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;AAC1D,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,uBAAuB,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,uBAAuB,CAAC"}
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as Primitive from '@radix-ui/react-collapsible';
4
+ import { forwardRef, useEffect, useState } from 'react';
5
+ import { cn } from '@hanzo/ui/cn';
6
+ const Collapsible = Primitive.Root;
7
+ const CollapsibleTrigger = Primitive.CollapsibleTrigger;
8
+ const CollapsibleContent = forwardRef(({ children, ...props }, ref) => {
9
+ const [mounted, setMounted] = useState(false);
10
+ useEffect(() => {
11
+ setMounted(true);
12
+ }, []);
13
+ return (_jsx(Primitive.CollapsibleContent, { ref: ref, ...props, className: cn('overflow-hidden', mounted &&
14
+ 'data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down', props.className), children: children }));
15
+ });
16
+ CollapsibleContent.displayName = Primitive.CollapsibleContent.displayName;
17
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import * as Primitive from '@radix-ui/react-navigation-menu';
3
+ export type NavigationMenuContentProps = Primitive.NavigationMenuContentProps;
4
+ export type NavigationMenuTriggerProps = Primitive.NavigationMenuTriggerProps;
5
+ declare const NavigationMenu: React.ForwardRefExoticComponent<Primitive.NavigationMenuProps & React.RefAttributes<HTMLElement>>;
6
+ declare const NavigationMenuList: React.ForwardRefExoticComponent<Primitive.NavigationMenuListProps & React.RefAttributes<HTMLUListElement>>;
7
+ declare const NavigationMenuItem: React.ForwardRefExoticComponent<Omit<Primitive.NavigationMenuItemProps & React.RefAttributes<HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
8
+ declare const NavigationMenuTrigger: React.ForwardRefExoticComponent<Omit<Primitive.NavigationMenuTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
9
+ declare const NavigationMenuContent: React.ForwardRefExoticComponent<Omit<Primitive.NavigationMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const NavigationMenuLink: React.ForwardRefExoticComponent<Primitive.NavigationMenuLinkProps & React.RefAttributes<HTMLAnchorElement>>;
11
+ declare const NavigationMenuViewport: React.ForwardRefExoticComponent<Omit<Primitive.NavigationMenuViewportProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuViewport, };
13
+ //# sourceMappingURL=navigation-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/navigation-menu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,SAAS,MAAM,iCAAiC,CAAC;AAG7D,MAAM,MAAM,0BAA0B,GAAG,SAAS,CAAC,0BAA0B,CAAC;AAC9E,MAAM,MAAM,0BAA0B,GAAG,SAAS,CAAC,0BAA0B,CAAC;AAE9E,QAAA,MAAM,cAAc,mGAAiB,CAAC;AAEtC,QAAA,MAAM,kBAAkB,4GAAiB,CAAC;AAE1C,QAAA,MAAM,kBAAkB,2JAWtB,CAAC;AAIH,QAAA,MAAM,qBAAqB,sKAWzB,CAAC;AAGH,QAAA,MAAM,qBAAqB,gKAYzB,CAAC;AAGH,QAAA,MAAM,kBAAkB,6GAAiB,CAAC;AAE1C,QAAA,MAAM,sBAAsB,iKAa1B,CAAC;AAGH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,GACvB,CAAC"}
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import * as Primitive from '@radix-ui/react-navigation-menu';
5
+ import { cn } from '@hanzo/ui/cn';
6
+ const NavigationMenu = Primitive.Root;
7
+ const NavigationMenuList = Primitive.List;
8
+ const NavigationMenuItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsx(Primitive.NavigationMenuItem, { ref: ref, className: cn('list-none', className), ...props, children: children })));
9
+ NavigationMenuItem.displayName = Primitive.NavigationMenuItem.displayName;
10
+ const NavigationMenuTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsx(Primitive.Trigger, { ref: ref, className: cn('data-[state=open]:bg-fd-accent/50', className), ...props, children: children })));
11
+ NavigationMenuTrigger.displayName = Primitive.Trigger.displayName;
12
+ const NavigationMenuContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(Primitive.Content, { ref: ref, className: cn('absolute inset-x-0 top-0 overflow-auto fd-scroll-container max-h-[80svh] data-[motion=from-end]:animate-fd-enterFromRight data-[motion=from-start]:animate-fd-enterFromLeft data-[motion=to-end]:animate-fd-exitToRight data-[motion=to-start]:animate-fd-exitToLeft', className), ...props })));
13
+ NavigationMenuContent.displayName = Primitive.Content.displayName;
14
+ const NavigationMenuLink = Primitive.Link;
15
+ const NavigationMenuViewport = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: "flex w-full justify-center", children: _jsx(Primitive.Viewport, { ...props, className: cn('relative h-(--radix-navigation-menu-viewport-height) w-full origin-[top_center] overflow-hidden transition-[width,height] duration-300 data-[state=closed]:animate-fd-nav-menu-out data-[state=open]:animate-fd-nav-menu-in', className) }) })));
16
+ NavigationMenuViewport.displayName = Primitive.Viewport.displayName;
17
+ export { NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuViewport, };
@@ -0,0 +1,8 @@
1
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
2
+ import * as React from 'react';
3
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ declare const PopoverClose: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ export { Popover, PopoverTrigger, PopoverContent, PopoverClose };
8
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/components/ui/popover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,OAAO,yCAAwB,CAAC;AAEtC,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAEhD,QAAA,MAAM,cAAc,gKAiBlB,CAAC;AAGH,QAAA,MAAM,YAAY,8GAAgC,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
4
+ import * as React from 'react';
5
+ import { cn } from '@hanzo/ui/cn';
6
+ const Popover = PopoverPrimitive.Root;
7
+ const PopoverTrigger = PopoverPrimitive.Trigger;
8
+ const PopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, side: "bottom", className: cn('z-50 origin-(--radix-popover-content-transform-origin) overflow-y-auto max-h-(--radix-popover-content-available-height) min-w-[240px] max-w-[98vw] rounded-xl border bg-fd-popover/60 backdrop-blur-lg p-2 text-sm text-fd-popover-foreground shadow-lg focus-visible:outline-none data-[state=closed]:animate-fd-popover-out data-[state=open]:animate-fd-popover-in', className), ...props }) })));
9
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
10
+ const PopoverClose = PopoverPrimitive.PopoverClose;
11
+ export { Popover, PopoverTrigger, PopoverContent, PopoverClose };
@@ -0,0 +1,8 @@
1
+ import * as Primitive from '@radix-ui/react-scroll-area';
2
+ import * as React from 'react';
3
+ declare const ScrollArea: React.ForwardRefExoticComponent<Omit<Primitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const ScrollViewport: React.ForwardRefExoticComponent<Omit<Primitive.ScrollAreaViewportProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const ScrollBar: React.ForwardRefExoticComponent<Omit<Primitive.ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ export { ScrollArea, ScrollBar, ScrollViewport };
7
+ export type ScrollAreaProps = Primitive.ScrollAreaProps;
8
+ //# sourceMappingURL=scroll-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../src/components/ui/scroll-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,6BAA6B,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,UAAU,qJAcd,CAAC;AAIH,QAAA,MAAM,cAAc,6JAWlB,CAAC;AAIH,QAAA,MAAM,SAAS,8JAiBb,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;AACjD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Primitive from '@radix-ui/react-scroll-area';
3
+ import * as React from 'react';
4
+ import { cn } from '@hanzo/ui/cn';
5
+ const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(Primitive.Root, { ref: ref, type: "scroll", className: cn('overflow-hidden', className), ...props, children: [children, _jsx(Primitive.Corner, {}), _jsx(ScrollBar, { orientation: "vertical" })] })));
6
+ ScrollArea.displayName = Primitive.Root.displayName;
7
+ const ScrollViewport = React.forwardRef(({ className, children, ...props }, ref) => (_jsx(Primitive.Viewport, { ref: ref, className: cn('size-full rounded-[inherit]', className), ...props, children: children })));
8
+ ScrollViewport.displayName = Primitive.Viewport.displayName;
9
+ const ScrollBar = React.forwardRef(({ className, orientation = 'vertical', ...props }, ref) => (_jsx(Primitive.Scrollbar, { ref: ref, orientation: orientation, className: cn('flex select-none data-[state=hidden]:animate-fd-fade-out', orientation === 'vertical' && 'h-full w-1.5', orientation === 'horizontal' && 'h-1.5 flex-col', className), ...props, children: _jsx(Primitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-fd-border" }) })));
10
+ ScrollBar.displayName = Primitive.Scrollbar.displayName;
11
+ export { ScrollArea, ScrollBar, ScrollViewport };
@@ -0,0 +1,21 @@
1
+ import { type ComponentProps } from 'react';
2
+ import * as Primitive from '@radix-ui/react-tabs';
3
+ export interface TabsProps extends ComponentProps<typeof Primitive.Tabs> {
4
+ /**
5
+ * Identifier for Sharing value of tabs
6
+ */
7
+ groupId?: string;
8
+ /**
9
+ * Enable persistent
10
+ */
11
+ persist?: boolean;
12
+ /**
13
+ * If true, updates the URL hash based on the tab's id
14
+ */
15
+ updateAnchor?: boolean;
16
+ }
17
+ export declare const TabsList: import("react").ForwardRefExoticComponent<Primitive.TabsListProps & import("react").RefAttributes<HTMLDivElement>>;
18
+ export declare const TabsTrigger: import("react").ForwardRefExoticComponent<Primitive.TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
19
+ export declare function Tabs({ ref, groupId, persist, updateAnchor, defaultValue, value: _value, onValueChange: _onValueChange, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function TabsContent({ value, ...props }: ComponentProps<typeof Primitive.TabsContent>): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/ui/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAMlD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC;IACtE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAYD,eAAO,MAAM,QAAQ,oHAAqB,CAAC;AAE3C,eAAO,MAAM,WAAW,0HAAwB,CAAC;AAEjD,wBAAgB,IAAI,CAAC,EACnB,GAAG,EACH,OAAO,EACP,OAAe,EACf,YAAoB,EACpB,YAAY,EACZ,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,cAAc,EAC7B,GAAG,KAAK,EACT,EAAE,SAAS,2CAqEX;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,SAAS,CAAC,WAAW,CAAC,2CAY9C"}
@@ -0,0 +1,79 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, use, useEffectEvent, useLayoutEffect, useMemo, useRef, useState, } from 'react';
4
+ import * as Primitive from '@radix-ui/react-tabs';
5
+ import { mergeRefs } from '@hanzo/ui/merge-refs';
6
+ const listeners = new Map();
7
+ const TabsContext = createContext(null);
8
+ function useTabContext() {
9
+ const ctx = use(TabsContext);
10
+ if (!ctx)
11
+ throw new Error('You must wrap your component in <Tabs>');
12
+ return ctx;
13
+ }
14
+ export const TabsList = Primitive.TabsList;
15
+ export const TabsTrigger = Primitive.TabsTrigger;
16
+ export function Tabs({ ref, groupId, persist = false, updateAnchor = false, defaultValue, value: _value, onValueChange: _onValueChange, ...props }) {
17
+ const tabsRef = useRef(null);
18
+ const valueToIdMap = useMemo(() => new Map(), []);
19
+ const [value, setValue] = _value === undefined
20
+ ? // eslint-disable-next-line react-hooks/rules-of-hooks -- not supposed to change controlled/uncontrolled
21
+ useState(defaultValue)
22
+ : // eslint-disable-next-line react-hooks/rules-of-hooks -- not supposed to change controlled/uncontrolled
23
+ [_value, useEffectEvent((v) => _onValueChange?.(v))];
24
+ useLayoutEffect(() => {
25
+ if (!groupId)
26
+ return;
27
+ let previous = sessionStorage.getItem(groupId);
28
+ if (persist)
29
+ previous ?? (previous = localStorage.getItem(groupId));
30
+ if (previous)
31
+ setValue(previous);
32
+ const groupListeners = listeners.get(groupId) ?? new Set();
33
+ groupListeners.add(setValue);
34
+ listeners.set(groupId, groupListeners);
35
+ return () => {
36
+ groupListeners.delete(setValue);
37
+ };
38
+ }, [groupId, persist, setValue]);
39
+ useLayoutEffect(() => {
40
+ const hash = window.location.hash.slice(1);
41
+ if (!hash)
42
+ return;
43
+ for (const [value, id] of valueToIdMap.entries()) {
44
+ if (id === hash) {
45
+ setValue(value);
46
+ tabsRef.current?.scrollIntoView();
47
+ break;
48
+ }
49
+ }
50
+ }, [setValue, valueToIdMap]);
51
+ return (_jsx(Primitive.Tabs, { ref: mergeRefs(ref, tabsRef), value: value, onValueChange: (v) => {
52
+ if (updateAnchor) {
53
+ const id = valueToIdMap.get(v);
54
+ if (id) {
55
+ window.history.replaceState(null, '', `#${id}`);
56
+ }
57
+ }
58
+ if (groupId) {
59
+ const groupListeners = listeners.get(groupId);
60
+ if (groupListeners) {
61
+ for (const listener of groupListeners)
62
+ listener(v);
63
+ }
64
+ sessionStorage.setItem(groupId, v);
65
+ if (persist)
66
+ localStorage.setItem(groupId, v);
67
+ }
68
+ else {
69
+ setValue(v);
70
+ }
71
+ }, ...props, children: _jsx(TabsContext, { value: useMemo(() => ({ valueToIdMap }), [valueToIdMap]), children: props.children }) }));
72
+ }
73
+ export function TabsContent({ value, ...props }) {
74
+ const { valueToIdMap } = useTabContext();
75
+ if (props.id) {
76
+ valueToIdMap.set(value, props.id);
77
+ }
78
+ return (_jsx(Primitive.TabsContent, { value: value, ...props, children: props.children }));
79
+ }
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/contexts/i18n';
2
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/contexts/i18n.tsx"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ export * from '@hanzo/ui/contexts/i18n';
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/contexts/search';
2
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/contexts/search.tsx"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ export * from '@hanzo/ui/contexts/search';
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/contexts/tree';
2
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/contexts/tree.tsx"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ export * from '@hanzo/ui/contexts/tree';
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from '@hanzo/ui/i18n';
2
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
package/dist/i18n.js ADDED
@@ -0,0 +1 @@
1
+ export * from '@hanzo/ui/i18n';
@@ -0,0 +1,15 @@
1
+ import { type ComponentProps, type ReactNode } from 'react';
2
+ import type { SidebarTab } from '../../components/sidebar/tabs/index.js';
3
+ export declare const LayoutContext: import("react").Context<{
4
+ isNavTransparent: boolean;
5
+ } | null>;
6
+ export declare function LayoutContextProvider({ navTransparentMode, children, }: {
7
+ navTransparentMode?: 'always' | 'top' | 'none';
8
+ children: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function LayoutHeader(props: ComponentProps<'header'>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function LayoutBody({ className, style, children, ...props }: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
12
+ export declare function LayoutTabs({ options, ...props }: ComponentProps<'div'> & {
13
+ options: SidebarTab[];
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/layouts/docs/client.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,eAAO,MAAM,aAAa;sBACN,OAAO;SACZ,CAAC;AAEhB,wBAAgB,qBAAqB,CAAC,EACpC,kBAA2B,EAC3B,QAAQ,GACT,EAAE;IACD,kBAAkB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAkBA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,2CAQ3D;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,2CA8BvB;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB,2CA6BA"}