boltdocs 2.1.1 → 2.3.0
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/CHANGELOG.md +19 -0
- package/bin/boltdocs.js +2 -2
- package/dist/base-ui/index.d.mts +25 -0
- package/dist/base-ui/index.d.ts +25 -0
- package/dist/base-ui/index.js +1 -0
- package/dist/base-ui/index.mjs +1 -0
- package/dist/{cache-Q4T6VAUL.mjs → cache-P6WK424C.mjs} +1 -1
- package/dist/chunk-22NXDNP4.mjs +74 -0
- package/dist/chunk-2HUVMMJU.mjs +1 -0
- package/dist/chunk-2Z5T6EAU.mjs +1 -0
- package/dist/chunk-CRZGOE32.mjs +1 -0
- package/dist/chunk-HA6543SL.mjs +1 -0
- package/dist/chunk-JD3RSDE4.mjs +1 -0
- package/dist/chunk-JZXLCA2E.mjs +1 -0
- package/dist/chunk-NBCYHLAA.mjs +1 -0
- package/dist/chunk-RPUERTVC.mjs +1 -0
- package/dist/chunk-T3W44KWY.mjs +1 -0
- package/dist/chunk-URTD6E6S.mjs +1 -0
- package/dist/chunk-W2NB4T6V.mjs +1 -0
- package/dist/chunk-Y4RRHPXC.mjs +1 -0
- package/dist/client/index.d.mts +13 -115
- package/dist/client/index.d.ts +13 -115
- package/dist/client/index.js +1 -1
- package/dist/client/index.mjs +1 -1
- package/dist/client/ssr.js +1 -1
- package/dist/client/ssr.mjs +1 -1
- package/dist/client/types.d.mts +3 -0
- package/dist/client/types.d.ts +3 -0
- package/dist/client/types.js +1 -0
- package/dist/client/types.mjs +0 -0
- package/dist/copy-markdown-C-90ixSe.d.ts +15 -0
- package/dist/copy-markdown-CbS8X-qe.d.mts +15 -0
- package/dist/{client/hooks → hooks}/index.d.mts +16 -11
- package/dist/{client/hooks → hooks}/index.d.ts +16 -11
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.mjs +1 -0
- package/dist/integrations/index.d.mts +48 -0
- package/dist/integrations/index.d.ts +48 -0
- package/dist/integrations/index.js +1 -0
- package/dist/integrations/index.mjs +1 -0
- package/dist/link-DfBwCeZc.d.mts +68 -0
- package/dist/link-DfBwCeZc.d.ts +68 -0
- package/dist/loading-B7X5Wchs.d.ts +66 -0
- package/dist/loading-WuaQbsKb.d.mts +66 -0
- package/dist/{client/components/mdx → mdx}/index.d.mts +6 -38
- package/dist/{client/components/mdx → mdx}/index.d.ts +6 -38
- package/dist/mdx/index.js +1 -0
- package/dist/mdx/index.mjs +1 -0
- package/dist/node/cli-entry.js +31 -27
- package/dist/node/cli-entry.mjs +5 -1
- package/dist/node/index.d.mts +44 -14
- package/dist/node/index.d.ts +44 -14
- package/dist/node/index.js +24 -24
- package/dist/node/index.mjs +1 -1
- package/dist/primitives/index.d.mts +301 -0
- package/dist/primitives/index.d.ts +301 -0
- package/dist/primitives/index.js +1 -0
- package/dist/primitives/index.mjs +1 -0
- package/dist/search-dialog-ZRXBAQJ5.mjs +1 -0
- package/dist/{types-Cp21DHI6.d.mts → types-j7jvWsJj.d.mts} +63 -17
- package/dist/{types-Cp21DHI6.d.ts → types-j7jvWsJj.d.ts} +63 -17
- package/dist/{use-routes-xLhumjbV.d.ts → use-routes-Cd806kGw.d.ts} +1 -1
- package/dist/{use-routes-8Iei6jTp.d.mts → use-routes-DDL0_jkQ.d.mts} +1 -1
- package/package.json +35 -8
- package/src/client/app/index.tsx +155 -35
- package/src/client/app/mdx-component.tsx +7 -3
- package/src/client/app/theme-context.tsx +47 -23
- package/src/client/components/default-layout.tsx +16 -6
- package/src/client/components/primitives/breadcrumbs.tsx +1 -1
- package/src/client/components/primitives/navbar.tsx +8 -5
- package/src/client/components/primitives/search-dialog.tsx +15 -6
- package/src/client/components/primitives/sidebar.tsx +3 -2
- package/src/client/components/primitives/skeleton.tsx +26 -0
- package/src/client/components/ui-base/breadcrumbs.tsx +1 -1
- package/src/client/components/ui-base/index.ts +17 -0
- package/src/client/components/ui-base/loading.tsx +43 -73
- package/src/client/components/ui-base/navbar.tsx +74 -39
- package/src/client/components/ui-base/page-nav.tsx +2 -1
- package/src/client/components/ui-base/powered-by.tsx +11 -5
- package/src/client/components/ui-base/search-dialog.tsx +16 -5
- package/src/client/components/ui-base/sidebar.tsx +33 -22
- package/src/client/components/ui-base/tabs.tsx +4 -1
- package/src/client/components/ui-base/theme-toggle.tsx +35 -15
- package/src/client/hooks/use-i18n.ts +38 -7
- package/src/client/hooks/use-localized-to.ts +51 -73
- package/src/client/hooks/use-navbar.ts +10 -3
- package/src/client/hooks/use-page-nav.ts +27 -6
- package/src/client/hooks/use-routes.ts +62 -17
- package/src/client/hooks/use-search.ts +84 -46
- package/src/client/hooks/use-sidebar.ts +6 -2
- package/src/client/hooks/use-version.ts +5 -0
- package/src/client/integrations/index.ts +1 -0
- package/src/client/store/use-boltdocs-store.ts +44 -0
- package/src/client/theme/neutral.css +29 -0
- package/src/client/types.ts +4 -2
- package/src/client/utils/i18n.ts +23 -0
- package/src/node/{cli.ts → cli/build.ts} +17 -23
- package/src/node/cli/dev.ts +22 -0
- package/src/node/cli/doctor.ts +243 -0
- package/src/node/cli/index.ts +9 -0
- package/src/node/cli/ui.ts +54 -0
- package/src/node/cli-entry.ts +16 -16
- package/src/node/config.ts +54 -17
- package/src/node/index.ts +1 -1
- package/src/node/mdx/cache.ts +12 -0
- package/src/node/mdx/highlighter.ts +47 -0
- package/src/node/mdx/index.ts +114 -0
- package/src/node/mdx/rehype-shiki.ts +53 -0
- package/src/node/mdx/remark-shiki.ts +61 -0
- package/src/node/plugin/entry.ts +1 -1
- package/src/node/plugin/html.ts +8 -4
- package/src/node/plugin/index.ts +135 -72
- package/src/node/routes/index.ts +34 -13
- package/src/node/routes/parser.ts +13 -5
- package/src/node/search/index.ts +55 -0
- package/src/node/ssg/index.ts +15 -7
- package/src/node/ssg/robots.ts +7 -4
- package/src/node/utils.ts +32 -2
- package/tsup.config.ts +7 -2
- package/dist/chunk-52MVMZWS.mjs +0 -1
- package/dist/chunk-BVWWKXJH.mjs +0 -1
- package/dist/chunk-DVY3RDXD.mjs +0 -1
- package/dist/chunk-FUVYCYWC.mjs +0 -1
- package/dist/chunk-GBLMDJ2B.mjs +0 -1
- package/dist/chunk-ISPX45DF.mjs +0 -1
- package/dist/chunk-PNXZMUCO.mjs +0 -1
- package/dist/chunk-V2ZHKQSP.mjs +0 -74
- package/dist/client/components/mdx/index.js +0 -1
- package/dist/client/components/mdx/index.mjs +0 -1
- package/dist/client/hooks/index.js +0 -1
- package/dist/client/hooks/index.mjs +0 -1
- package/dist/search-dialog-TWGYKF2D.mjs +0 -1
- package/src/node/mdx.ts +0 -279
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { ReactNode, RefObject } from 'react';
|
|
3
|
+
import { g as BoltdocsSocialLink, C as ComponentRoute } from '../types-j7jvWsJj.js';
|
|
4
|
+
import * as RAC from 'react-aria-components';
|
|
5
|
+
import { LinkProps } from 'react-aria-components';
|
|
6
|
+
export { Separator, ToggleButton } from 'react-aria-components';
|
|
7
|
+
export { a as Button, B as ButtonProps, L as Link, b as LinkProps, N as NavLink, c as NavLinkProps, d as buttonVariants } from '../link-DfBwCeZc.js';
|
|
8
|
+
import { ClassValue } from 'clsx';
|
|
9
|
+
import 'vite';
|
|
10
|
+
import 'class-variance-authority/types';
|
|
11
|
+
import 'class-variance-authority';
|
|
12
|
+
|
|
13
|
+
type ComponentBase = {
|
|
14
|
+
className?: string;
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Helper to type compound components (e.g. Navbar with Navbar.Link)
|
|
19
|
+
*/
|
|
20
|
+
type CompoundComponent<P, S> = React.FC<P> & S;
|
|
21
|
+
|
|
22
|
+
interface NavbarLinkProps extends Omit<ComponentBase, 'children'> {
|
|
23
|
+
label: ReactNode;
|
|
24
|
+
href: string;
|
|
25
|
+
active?: boolean;
|
|
26
|
+
to?: 'internal' | 'external';
|
|
27
|
+
}
|
|
28
|
+
interface NavbarLogoProps extends Omit<ComponentBase, 'children'> {
|
|
29
|
+
src: string;
|
|
30
|
+
alt: string;
|
|
31
|
+
width?: number;
|
|
32
|
+
height?: number;
|
|
33
|
+
}
|
|
34
|
+
interface NavbarSearchTriggerProps extends ComponentBase {
|
|
35
|
+
onPress: () => void;
|
|
36
|
+
}
|
|
37
|
+
interface NavbarThemeProps {
|
|
38
|
+
className?: string;
|
|
39
|
+
theme: 'dark' | 'light';
|
|
40
|
+
onThemeChange: (isSelected: boolean) => void;
|
|
41
|
+
}
|
|
42
|
+
interface NavbarMenuProps extends ComponentBase {
|
|
43
|
+
label: ReactNode;
|
|
44
|
+
icon?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
interface NavbarVersionProps extends ComponentBase {
|
|
47
|
+
current: string;
|
|
48
|
+
}
|
|
49
|
+
interface NavbarItemProps extends Omit<ComponentBase, 'children'> {
|
|
50
|
+
label: string;
|
|
51
|
+
onPress?: () => void;
|
|
52
|
+
isCurrent?: boolean;
|
|
53
|
+
}
|
|
54
|
+
interface NavbarSocialsProps extends ComponentBase {
|
|
55
|
+
icon: string;
|
|
56
|
+
link: string;
|
|
57
|
+
}
|
|
58
|
+
declare const NavbarRoot: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
59
|
+
declare const NavbarContent: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
60
|
+
declare const NavbarLeft: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
61
|
+
declare const NavbarRight: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
62
|
+
declare const NavbarCenter: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
63
|
+
declare const NavbarLogo: ({ src, alt, width, height, className, }: NavbarLogoProps) => react_jsx_runtime.JSX.Element;
|
|
64
|
+
declare const NavbarTitle: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
65
|
+
declare const NavbarLinks: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
66
|
+
declare const NavbarLink: ({ label, href, active, to, className, }: NavbarLinkProps) => react_jsx_runtime.JSX.Element;
|
|
67
|
+
declare const NavbarSearchTrigger: ({ className, onPress, }: NavbarSearchTriggerProps) => react_jsx_runtime.JSX.Element;
|
|
68
|
+
declare const NavbarTheme: ({ className, theme, onThemeChange, }: NavbarThemeProps) => react_jsx_runtime.JSX.Element;
|
|
69
|
+
declare const NavbarMenu: ({ label, children, className, icon, }: NavbarMenuProps) => react_jsx_runtime.JSX.Element;
|
|
70
|
+
declare const NavbarItem: ({ label, className, onPress, isCurrent, }: NavbarItemProps) => react_jsx_runtime.JSX.Element;
|
|
71
|
+
declare const Icon: ({ name }: {
|
|
72
|
+
name: BoltdocsSocialLink["icon"];
|
|
73
|
+
}) => react_jsx_runtime.JSX.Element | undefined;
|
|
74
|
+
declare const NavbarSocials: ({ icon, link, className, }: NavbarSocialsProps) => react_jsx_runtime.JSX.Element;
|
|
75
|
+
declare const NavbarSplit: ({ className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
76
|
+
|
|
77
|
+
interface NavigationMenuItemProps extends ComponentBase {
|
|
78
|
+
label: string;
|
|
79
|
+
}
|
|
80
|
+
interface NavigationMenuLinkProps extends Omit<ComponentBase, 'children'> {
|
|
81
|
+
href: string;
|
|
82
|
+
label: string;
|
|
83
|
+
description?: string;
|
|
84
|
+
children?: React.ReactNode | ((opts: RAC.MenuItemRenderProps) => React.ReactNode);
|
|
85
|
+
}
|
|
86
|
+
type NavigationMenuComponent = CompoundComponent<ComponentBase, {
|
|
87
|
+
List: React.FC<ComponentBase>;
|
|
88
|
+
Item: React.FC<NavigationMenuItemProps>;
|
|
89
|
+
Link: React.FC<NavigationMenuLinkProps>;
|
|
90
|
+
}>;
|
|
91
|
+
|
|
92
|
+
interface SearchDialogProps extends ComponentBase {
|
|
93
|
+
isOpen?: boolean;
|
|
94
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
95
|
+
}
|
|
96
|
+
interface SearchDialogItemProps extends Omit<RAC.ListBoxItemProps, 'children'> {
|
|
97
|
+
className?: string;
|
|
98
|
+
children: React.ReactNode;
|
|
99
|
+
}
|
|
100
|
+
interface SearchDialogItemIconProps {
|
|
101
|
+
isHeading?: boolean;
|
|
102
|
+
className?: string;
|
|
103
|
+
}
|
|
104
|
+
declare const SearchDialogRoot: ({ children, isOpen, onOpenChange, className, }: SearchDialogProps) => react_jsx_runtime.JSX.Element;
|
|
105
|
+
declare const SearchDialogAutocomplete: <T extends object>({ children, className, onSelectionChange, ...props }: RAC.AutocompleteProps<T> & {
|
|
106
|
+
className?: string;
|
|
107
|
+
onSelectionChange?: (key: RAC.Key) => void;
|
|
108
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
109
|
+
declare const SearchDialogInput: ({ className, ...props }: RAC.InputProps & {
|
|
110
|
+
className?: string;
|
|
111
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
112
|
+
declare const SearchDialogList: <T extends object>({ children, className, ...props }: RAC.ListBoxProps<T> & {
|
|
113
|
+
className?: string;
|
|
114
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
115
|
+
declare const SearchDialogItemRoot: ({ children, className, ...props }: SearchDialogItemProps) => react_jsx_runtime.JSX.Element;
|
|
116
|
+
declare const SearchDialogItemIcon: ({ isHeading, className, }: SearchDialogItemIconProps) => react_jsx_runtime.JSX.Element;
|
|
117
|
+
declare const SearchDialogItemTitle: ({ children, className, }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
118
|
+
declare const SearchDialogItemBio: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
119
|
+
|
|
120
|
+
interface TOCItemType {
|
|
121
|
+
title: ReactNode;
|
|
122
|
+
url: string;
|
|
123
|
+
depth: number;
|
|
124
|
+
_step?: number;
|
|
125
|
+
}
|
|
126
|
+
type TableOfContents = TOCItemType[];
|
|
127
|
+
interface TOCItemInfo {
|
|
128
|
+
id: string;
|
|
129
|
+
active: boolean;
|
|
130
|
+
/** last time the item is updated */
|
|
131
|
+
t: number;
|
|
132
|
+
/** currently active but not intersecting in viewport */
|
|
133
|
+
fallback: boolean;
|
|
134
|
+
original?: TOCItemType;
|
|
135
|
+
}
|
|
136
|
+
interface AnchorProviderProps {
|
|
137
|
+
toc: TOCItemType[];
|
|
138
|
+
/**
|
|
139
|
+
* Only accept one active item at most
|
|
140
|
+
* @defaultValue false
|
|
141
|
+
*/
|
|
142
|
+
single?: boolean;
|
|
143
|
+
children?: ReactNode;
|
|
144
|
+
}
|
|
145
|
+
interface ScrollProviderProps {
|
|
146
|
+
/**
|
|
147
|
+
* Scroll into the view of container when active
|
|
148
|
+
*/
|
|
149
|
+
containerRef: RefObject<HTMLElement | null>;
|
|
150
|
+
children?: ReactNode;
|
|
151
|
+
}
|
|
152
|
+
interface OnThisPageContentProps extends ComponentBase {
|
|
153
|
+
ref?: React__default.Ref<HTMLDivElement>;
|
|
154
|
+
scrollRef?: RefObject<HTMLElement | null>;
|
|
155
|
+
}
|
|
156
|
+
interface OnThisPageItemProps extends ComponentBase {
|
|
157
|
+
level?: number;
|
|
158
|
+
}
|
|
159
|
+
interface OnThisPageLinkProps extends ComponentBase {
|
|
160
|
+
href?: string;
|
|
161
|
+
active?: boolean;
|
|
162
|
+
onClick?: (event: React__default.MouseEvent<HTMLAnchorElement>) => void;
|
|
163
|
+
}
|
|
164
|
+
interface OnThisPageIndicatorProps extends ComponentBase {
|
|
165
|
+
style?: React__default.CSSProperties;
|
|
166
|
+
}
|
|
167
|
+
declare function useItems(): TOCItemInfo[];
|
|
168
|
+
declare function useScrollStatus(ref: RefObject<HTMLElement | null>): {
|
|
169
|
+
isOverflowing: boolean;
|
|
170
|
+
isAtBottom: boolean;
|
|
171
|
+
};
|
|
172
|
+
declare function useActiveAnchor(): string | undefined;
|
|
173
|
+
declare function useActiveAnchors(): string[];
|
|
174
|
+
/** Optional: add auto-scroll to TOC items. */
|
|
175
|
+
declare function ScrollProvider({ containerRef, children, }: ScrollProviderProps): react_jsx_runtime.JSX.Element;
|
|
176
|
+
declare function AnchorProvider({ toc, single, children, }: AnchorProviderProps): react_jsx_runtime.JSX.Element;
|
|
177
|
+
declare const OnThisPageRoot: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
178
|
+
declare const OnThisPageHeader: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
179
|
+
declare const OnThisPageContent: {
|
|
180
|
+
({ children, className, ref, ...props }: OnThisPageContentProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
displayName: string;
|
|
182
|
+
};
|
|
183
|
+
declare const OnThisPageList: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
184
|
+
declare const OnThisPageItem: ({ level, children, className, }: OnThisPageItemProps) => react_jsx_runtime.JSX.Element;
|
|
185
|
+
declare const OnThisPageLink: ({ children, href, active, onClick, className, }: OnThisPageLinkProps) => react_jsx_runtime.JSX.Element;
|
|
186
|
+
declare const OnThisPageIndicator: ({ style, className, }: OnThisPageIndicatorProps) => react_jsx_runtime.JSX.Element;
|
|
187
|
+
|
|
188
|
+
interface PageNavProps extends ComponentBase {
|
|
189
|
+
to: string;
|
|
190
|
+
direction: 'prev' | 'next';
|
|
191
|
+
}
|
|
192
|
+
declare const PageNavRoot: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
193
|
+
declare const PageNavLink: ({ children, to, direction, className, }: PageNavProps) => react_jsx_runtime.JSX.Element;
|
|
194
|
+
declare const PageNavTitle: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
195
|
+
declare const PageNavDescription: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
196
|
+
declare const PageNavIcon: ({ children }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
197
|
+
|
|
198
|
+
interface TabsItemProps extends ComponentBase {
|
|
199
|
+
id: string;
|
|
200
|
+
selected?: boolean;
|
|
201
|
+
onClick?: () => void;
|
|
202
|
+
onKeyDown?: (event: React.KeyboardEvent) => void;
|
|
203
|
+
disabled?: boolean;
|
|
204
|
+
}
|
|
205
|
+
interface TabsIndicatorProps extends ComponentBase {
|
|
206
|
+
style?: React.CSSProperties;
|
|
207
|
+
}
|
|
208
|
+
declare const TabsRoot: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
209
|
+
declare const TabsList: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
210
|
+
declare const TabsItem: ({ children, id, selected, className, ...props }: TabsItemProps) => react_jsx_runtime.JSX.Element;
|
|
211
|
+
declare const TabsContent: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
212
|
+
declare const TabsIndicator: ({ className, style, }: TabsIndicatorProps) => react_jsx_runtime.JSX.Element;
|
|
213
|
+
|
|
214
|
+
interface SidebarGroupProps extends ComponentBase {
|
|
215
|
+
title?: string;
|
|
216
|
+
icon?: React.ElementType;
|
|
217
|
+
isOpen?: boolean;
|
|
218
|
+
onToggle?: () => void;
|
|
219
|
+
}
|
|
220
|
+
interface SidebarLinkProps extends ComponentBase {
|
|
221
|
+
label: string;
|
|
222
|
+
href: string;
|
|
223
|
+
active?: boolean;
|
|
224
|
+
icon?: React.ElementType;
|
|
225
|
+
badge?: ComponentRoute['badge'];
|
|
226
|
+
}
|
|
227
|
+
declare const SidebarRoot: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
228
|
+
declare const SidebarGroup: ({ children, title, icon: Icon, isOpen, onToggle, className, }: SidebarGroupProps) => react_jsx_runtime.JSX.Element;
|
|
229
|
+
declare const SidebarGroupItem: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
230
|
+
declare const SidebarLink: ({ label, href, active, icon: Icon, badge, className, }: SidebarLinkProps) => react_jsx_runtime.JSX.Element;
|
|
231
|
+
|
|
232
|
+
declare const BreadcrumbsRoot: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
233
|
+
declare const BreadcrumbsItem: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
234
|
+
declare const BreadcrumbsLink: ({ children, href, className, ...props }: LinkProps & {
|
|
235
|
+
className?: string;
|
|
236
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
237
|
+
declare const BreadcrumbsSeparator: ({ className }: ComponentBase) => react_jsx_runtime.JSX.Element;
|
|
238
|
+
|
|
239
|
+
interface ButtonGroupProps extends ComponentBase {
|
|
240
|
+
vertical?: boolean;
|
|
241
|
+
}
|
|
242
|
+
declare const ButtonGroup: ({ children, className, vertical, }: ButtonGroupProps) => react_jsx_runtime.JSX.Element;
|
|
243
|
+
|
|
244
|
+
interface PopoverProps extends Omit<RAC.PopoverProps, 'children'> {
|
|
245
|
+
children: React.ReactNode;
|
|
246
|
+
className?: string;
|
|
247
|
+
showArrow?: boolean;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* A reusable Popover primitive with premium glassmorphism styling and smooth animations.
|
|
251
|
+
*/
|
|
252
|
+
declare const Popover: ({ children, className, showArrow, ...props }: PopoverProps) => react_jsx_runtime.JSX.Element;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* MenuTrigger wraps a trigger (usually a Button) and a Menu.
|
|
256
|
+
*/
|
|
257
|
+
interface MenuTriggerProps extends RAC.MenuTriggerProps {
|
|
258
|
+
placement?: PopoverProps['placement'];
|
|
259
|
+
}
|
|
260
|
+
declare function MenuTrigger(props: MenuTriggerProps): react_jsx_runtime.JSX.Element;
|
|
261
|
+
/**
|
|
262
|
+
* SubmenuTrigger for nested menus.
|
|
263
|
+
*/
|
|
264
|
+
declare function SubmenuTrigger(props: RAC.SubmenuTriggerProps): react_jsx_runtime.JSX.Element;
|
|
265
|
+
/**
|
|
266
|
+
* The Menu container.
|
|
267
|
+
*/
|
|
268
|
+
declare function Menu<T extends object>(props: RAC.MenuProps<T>): react_jsx_runtime.JSX.Element;
|
|
269
|
+
/**
|
|
270
|
+
* MenuItem with support for selection states and submenus.
|
|
271
|
+
*/
|
|
272
|
+
declare function MenuItem(props: RAC.MenuItemProps): react_jsx_runtime.JSX.Element;
|
|
273
|
+
/**
|
|
274
|
+
* MenuSection for grouping items with an optional header.
|
|
275
|
+
*/
|
|
276
|
+
interface MenuSectionProps<T> extends RAC.MenuSectionProps<T> {
|
|
277
|
+
title?: string;
|
|
278
|
+
}
|
|
279
|
+
declare function MenuSection<T extends object>({ title, ...props }: MenuSectionProps<T>): react_jsx_runtime.JSX.Element;
|
|
280
|
+
/**
|
|
281
|
+
* MenuSeparator for visual division.
|
|
282
|
+
*/
|
|
283
|
+
declare function MenuSeparator(props: RAC.SeparatorProps): react_jsx_runtime.JSX.Element;
|
|
284
|
+
|
|
285
|
+
interface TooltipProps extends Omit<RAC.TooltipProps, 'children'> {
|
|
286
|
+
/** The content to show inside the tooltip */
|
|
287
|
+
content: ReactNode;
|
|
288
|
+
/** The trigger element (usually a button or link) */
|
|
289
|
+
children: React.ReactElement;
|
|
290
|
+
/** Delay in milliseconds before showing the tooltip */
|
|
291
|
+
delay?: number;
|
|
292
|
+
/** Delay in milliseconds before hiding the tooltip */
|
|
293
|
+
closeDelay?: number;
|
|
294
|
+
}
|
|
295
|
+
interface TooltipContentProps extends RAC.TooltipProps {
|
|
296
|
+
}
|
|
297
|
+
declare const Tooltip: ({ content, children, delay, closeDelay, ...props }: TooltipProps) => react_jsx_runtime.JSX.Element;
|
|
298
|
+
|
|
299
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
300
|
+
|
|
301
|
+
export { AnchorProvider, type AnchorProviderProps, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsRoot, BreadcrumbsSeparator, ButtonGroup, type ButtonGroupProps, Icon, Menu, MenuItem, MenuSection, type MenuSectionProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, NavbarCenter, NavbarContent, NavbarItem, type NavbarItemProps, NavbarLeft, NavbarLink, type NavbarLinkProps, NavbarLinks, NavbarLogo, type NavbarLogoProps, NavbarMenu, type NavbarMenuProps, NavbarRight, NavbarRoot, NavbarSearchTrigger, type NavbarSearchTriggerProps, NavbarSocials, type NavbarSocialsProps, NavbarSplit, NavbarTheme, type NavbarThemeProps, NavbarTitle, type NavbarVersionProps, type NavigationMenuComponent, type NavigationMenuItemProps, type NavigationMenuLinkProps, OnThisPageContent, type OnThisPageContentProps, OnThisPageHeader, OnThisPageIndicator, type OnThisPageIndicatorProps, OnThisPageItem, type OnThisPageItemProps, OnThisPageLink, type OnThisPageLinkProps, OnThisPageList, OnThisPageRoot, PageNavDescription, PageNavIcon, PageNavLink, type PageNavProps, PageNavRoot, PageNavTitle, Popover, type PopoverProps, ScrollProvider, type ScrollProviderProps, SearchDialogAutocomplete, SearchDialogInput, SearchDialogItemBio, SearchDialogItemIcon, type SearchDialogItemIconProps, type SearchDialogItemProps, SearchDialogItemRoot, SearchDialogItemTitle, SearchDialogList, type SearchDialogProps, SearchDialogRoot, SidebarGroup, SidebarGroupItem, type SidebarGroupProps, SidebarLink, type SidebarLinkProps, SidebarRoot, SubmenuTrigger, type TOCItemInfo, type TOCItemType, type TableOfContents, TabsContent, TabsIndicator, type TabsIndicatorProps, TabsItem, type TabsItemProps, TabsList, TabsRoot, Tooltip, type TooltipContentProps, type TooltipProps, cn, useActiveAnchor, useActiveAnchors, useItems, useScrollStatus };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var lt=Object.create;var _=Object.defineProperty;var ct=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var pt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty;var dt=(e,t)=>{for(var o in t)_(e,o,{get:t[o],enumerable:!0})},ve=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of mt(t))!ut.call(e,n)&&n!==o&&_(e,n,{get:()=>t[n],enumerable:!(r=ct(t,n))||r.enumerable});return e};var w=(e,t,o)=>(o=e!=null?lt(pt(e)):{},ve(t||!e||!e.__esModule?_(o,"default",{value:e,enumerable:!0}):o,e)),ft=e=>ve(_({},"__esModule",{value:!0}),e);var po={};dt(po,{AnchorProvider:()=>Et,BreadcrumbsItem:()=>oo,BreadcrumbsLink:()=>ro,BreadcrumbsRoot:()=>to,BreadcrumbsSeparator:()=>no,Button:()=>se,ButtonGroup:()=>so,Icon:()=>we,Link:()=>B,Menu:()=>ae,MenuItem:()=>le,MenuSection:()=>ao,MenuSeparator:()=>lo,MenuTrigger:()=>ie,NavLink:()=>Qe,NavbarCenter:()=>Ct,NavbarContent:()=>ht,NavbarItem:()=>At,NavbarLeft:()=>bt,NavbarLink:()=>Pt,NavbarLinks:()=>Rt,NavbarLogo:()=>yt,NavbarMenu:()=>kt,NavbarRight:()=>vt,NavbarRoot:()=>xt,NavbarSearchTrigger:()=>wt,NavbarSocials:()=>Bt,NavbarSplit:()=>It,NavbarTheme:()=>Tt,NavbarTitle:()=>Nt,OnThisPageContent:()=>We,OnThisPageHeader:()=>Dt,OnThisPageIndicator:()=>Ft,OnThisPageItem:()=>Ht,OnThisPageLink:()=>Wt,OnThisPageList:()=>Vt,OnThisPageRoot:()=>zt,PageNavDescription:()=>Ke,PageNavIcon:()=>Xe,PageNavLink:()=>je,PageNavRoot:()=>Ge,PageNavTitle:()=>_e,Popover:()=>te,ScrollProvider:()=>Ot,SearchDialogAutocomplete:()=>Be,SearchDialogInput:()=>Ie,SearchDialogItemBio:()=>Ee,SearchDialogItemIcon:()=>Me,SearchDialogItemRoot:()=>Se,SearchDialogItemTitle:()=>Oe,SearchDialogList:()=>Le,SearchDialogRoot:()=>Ae,Separator:()=>I.Separator,SidebarGroup:()=>Qt,SidebarGroupItem:()=>Yt,SidebarLink:()=>eo,SidebarRoot:()=>qt,SubmenuTrigger:()=>io,TabsContent:()=>Kt,TabsIndicator:()=>Xt,TabsItem:()=>_t,TabsList:()=>jt,TabsRoot:()=>Gt,ToggleButton:()=>I.ToggleButton,Tooltip:()=>mo,buttonVariants:()=>he,cn:()=>s,useActiveAnchor:()=>St,useActiveAnchors:()=>Mt,useItems:()=>de,useScrollStatus:()=>He});module.exports=ft(po);var X=require("react");var Pe=require("react-aria-components"),k=require("lucide-react");var N=require("react/jsx-runtime");function K(e){let{size:t=20,...o}=e;return{...o,width:t,height:t}}var Ce=e=>(0,N.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,N.jsx)("title",{children:"GitHub"}),(0,N.jsx)("path",{d:"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"})]}),ye=e=>(0,N.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,N.jsx)("title",{children:"Discord"}),(0,N.jsx)("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z"})]}),Ne=e=>(0,N.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,N.jsx)("title",{children:"X"}),(0,N.jsx)("path",{d:"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"})]});var Re=e=>(0,N.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,N.jsx)("title",{children:"Bluesky"}),(0,N.jsx)("path",{d:"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026"})]});var a=require("react/jsx-runtime"),xt=({children:e,className:t,...o})=>(0,a.jsx)("header",{className:s("boltdocs-navbar sticky top-0 z-50 w-full border-b border-border-subtle bg-bg-main/80 backdrop-blur-md",t),...o,children:e}),ht=({children:e,className:t})=>(0,a.jsx)("div",{className:s("mx-auto flex lg:h-navbar max-w-(--breakpoint-3xl) items-center justify-between px-4 md:px-6",t),children:e}),bt=({children:e,className:t})=>(0,a.jsx)("div",{className:s("flex items-center gap-4",t),children:e}),vt=({children:e,className:t})=>(0,a.jsx)("div",{className:s("flex items-center gap-2 md:gap-4",t),children:e}),Ct=({children:e,className:t})=>(0,a.jsx)("div",{className:s("hidden lg:flex flex-1 justify-center items-center gap-4 px-4",t),children:e}),yt=({src:e,alt:t,width:o=24,height:r=24,className:n})=>(0,a.jsx)(B,{href:"/",className:s("flex items-center gap-2 shrink-0 outline-none",n),children:e?(0,a.jsx)("img",{src:e,alt:t,width:o,height:r,className:"h-6 w-6 object-contain"}):null}),Nt=({children:e,className:t})=>(0,a.jsx)("span",{className:s("text-lg font-bold tracking-tight hidden sm:inline-block",t),children:e}),Rt=({children:e,className:t})=>(0,a.jsx)("nav",{className:s("hidden md:flex items-center gap-6 text-sm font-medium",t),children:e}),Pt=({label:e,href:t,active:o,to:r,className:n})=>(0,a.jsxs)(B,{href:t,target:r==="external"?"_blank":void 0,className:s("transition-colors outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30 rounded-sm",{"text-primary-500 font-bold":o,"text-text-muted hover:text-text-main font-medium":!o},n),children:[e,r==="external"&&(0,a.jsx)("span",{className:"ml-1 inline-block",children:(0,a.jsx)(k.ExternalLink,{size:12})})]}),wt=({className:e,onPress:t})=>{let[o,r]=(0,X.useState)(!1),n=o&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);return(0,X.useEffect)(()=>{r(!0)},[]),(0,a.jsxs)(Pe.Button,{onPress:t,className:s("flex items-center gap-2 rounded-full border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-muted outline-none cursor-pointer","transition-all duration-200 hover:border-border-strong hover:text-text-main hover:bg-bg-muted hover:shadow-sm active:scale-[0.98]","focus-visible:ring-2 focus-visible:ring-primary-500/30","w-full max-w-[320px] justify-between",e),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(k.Search,{size:16}),(0,a.jsx)("span",{className:"hidden sm:inline-block",children:"Search docs..."})]}),(0,a.jsxs)("div",{className:"hidden sm:flex items-center gap-1 pointer-events-none select-none",children:[(0,a.jsx)("kbd",{className:"flex h-5 items-center justify-center rounded border border-border-subtle bg-bg-main px-1.5 font-mono text-[10px] font-medium",children:n?"\u2318":"Ctrl"}),(0,a.jsx)("kbd",{className:"flex h-5 w-5 items-center justify-center rounded border border-border-subtle bg-bg-main font-mono text-[10px] font-medium",children:"K"})]})]})},Tt=({className:e,theme:t,onThemeChange:o})=>(0,a.jsx)(I.ToggleButton,{isSelected:t==="dark",onChange:o,className:s("rounded-md p-2 text-text-muted outline-none cursor-pointer","transition-all duration-300 hover:bg-bg-surface hover:text-text-main hover:rotate-12 active:scale-90","focus-visible:ring-2 focus-visible:ring-primary-500/30",e),"aria-label":"Toggle theme",children:t==="dark"?(0,a.jsx)(k.Sun,{size:20}):(0,a.jsx)(k.Moon,{size:20})}),kt=({label:e,children:t,className:o,icon:r})=>(0,a.jsxs)(ie,{placement:"bottom end",children:[(0,a.jsxs)(se,{variant:"ghost",className:s("flex items-center gap-1.5 rounded-md px-3 py-1.5 text-text-muted outline-none cursor-pointer transition-colors","hover:bg-bg-surface hover:text-text-main","focus-visible:ring-2 focus-visible:ring-primary-500/30",o),children:[r&&(0,a.jsx)("span",{className:"flex items-center shrink-0",children:r}),(0,a.jsx)("span",{className:"text-[13px] font-bold uppercase tracking-wide",children:e}),(0,a.jsx)(k.ChevronDown,{size:14,className:"ml-0.5 opacity-50"})]}),(0,a.jsx)(ae,{className:"min-w-[180px]",children:t})]}),At=({label:e,className:t,onPress:o,isCurrent:r})=>(0,a.jsx)(le,{onAction:o,className:s(r&&"bg-primary-500 text-white font-medium hover:bg-primary-600 focus:bg-primary-600 focus:text-white",t),children:e}),we=({name:e})=>{if(e==="github")return(0,a.jsx)(Ce,{});if(e==="discord")return(0,a.jsx)(ye,{});if(e==="x")return(0,a.jsx)(Ne,{});if(e==="bluesky")return(0,a.jsx)(Re,{})},Bt=({icon:e,link:t,className:o})=>(0,a.jsx)(B,{href:t,target:"_blank",rel:"noopener noreferrer",className:s("rounded-md p-2 text-text-muted outline-none transition-colors","hover:bg-bg-surface hover:text-text-main","focus-visible:ring-2 focus-visible:ring-primary-500/30",o),children:(0,a.jsx)(we,{name:e})}),It=({className:e})=>(0,a.jsx)(I.Separator,{orientation:"vertical",className:s("h-6 w-px bg-border-subtle mx-1",e)});var F=w(require("react-aria-components")),Lt=require("lucide-react");var Te=require("clsx"),ke=require("tailwind-merge");function s(...e){return(0,ke.twMerge)((0,Te.clsx)(e))}var ce=require("react/jsx-runtime");var b=w(require("react-aria-components")),L=require("lucide-react");var u=require("react/jsx-runtime"),Ae=({children:e,isOpen:t,onOpenChange:o,className:r})=>(0,u.jsx)(b.ModalOverlay,{isOpen:t,onOpenChange:o,isDismissable:!0,className:s("fixed inset-0 z-100 bg-black/40 backdrop-blur-sm px-4 py-4 sm:py-20","entering:animate-in entering:fade-in exiting:animate-out exiting:fade-out"),children:(0,u.jsx)(b.Modal,{className:s("mx-auto w-full max-w-2xl overflow-hidden rounded-xl border border-border-subtle bg-bg-surface shadow-2xl ring-1 ring-black/5 outline-none","entering:animate-in entering:fade-in entering:zoom-in-95 exiting:animate-out exiting:fade-out exiting:zoom-out-95",r),children:(0,u.jsx)(b.Dialog,{className:"flex flex-col max-h-[70vh] focus:outline-none",children:e})})}),Be=({children:e,className:t,onSelectionChange:o,...r})=>(0,u.jsx)("div",{className:t,children:(0,u.jsx)(b.Autocomplete,{...r,onSelectionChange:o,className:"flex flex-col min-h-0",children:e})}),Ie=({className:e,...t})=>(0,u.jsxs)(b.SearchField,{className:"flex items-center gap-3 border-b border-border-subtle px-4 py-4",autoFocus:!0,children:[(0,u.jsx)(L.Search,{className:"h-5 w-5 text-text-muted"}),(0,u.jsx)(b.Input,{...t,className:s("w-full bg-transparent text-lg text-text-main placeholder-text-muted outline-none",e),placeholder:"Search documentation..."}),(0,u.jsx)("div",{className:"flex items-center gap-1.5 rounded-md border border-border-subtle bg-bg-main px-1.5 py-1 text-[10px] font-medium text-text-muted",children:(0,u.jsx)("kbd",{className:"font-sans",children:"ESC"})})]}),Le=({children:e,className:t,...o})=>(0,u.jsx)(b.ListBox,{...o,className:s("flex-1 overflow-y-auto p-2 outline-none",t),children:e}),Se=({children:e,className:t,...o})=>(0,u.jsx)(b.ListBoxItem,{...o,className:s("group flex items-center gap-3 rounded-lg p-3 text-left outline-none cursor-pointer transition-colors","text-text-muted hover:bg-bg-main hover:text-text-main focus:bg-primary-500 focus:text-white selected:bg-primary-500 selected:text-white",t),children:r=>(0,u.jsxs)(u.Fragment,{children:[e,(r.isFocused||r.isSelected)&&(0,u.jsxs)("div",{className:"ml-auto opacity-50 flex items-center gap-1",children:[(0,u.jsx)("span",{className:"text-[10px]",children:"Select"}),(0,u.jsx)(L.CornerDownLeft,{size:10})]})]})}),Me=({isHeading:e,className:t})=>(0,u.jsx)("div",{className:s("shrink-0",t),children:e?(0,u.jsx)(L.Hash,{size:18}):(0,u.jsx)(L.FileText,{size:18})}),Oe=({children:e,className:t})=>(0,u.jsx)("span",{className:s("block font-medium truncate flex-1 text-sm",t),children:e}),Ee=({children:e,className:t})=>(0,u.jsx)("span",{className:s("ml-2 text-xs opacity-70 truncate hidden sm:inline group-focus:opacity-100",t),children:e}),wo={Root:Ae,Autocomplete:Be,Input:Ie,List:Le,Item:Object.assign(Se,{Icon:Me,Title:Oe,Bio:Ee})};var d=require("react"),De=w(require("scroll-into-view-if-needed"));var U=require("react");function ze(e,t){let o=(0,U.useRef)(e);(0,U.useEffect)(()=>{o.current!==e&&(t(e),o.current=e)},[e,t])}function me(e){return e.startsWith("#")?e.slice(1):null}var A=require("react/jsx-runtime"),ue=(0,d.createContext)(null),Ve=(0,d.createContext)(null),pe=class{items=[];single=!1;observer=null;onChange;callback(t){if(t.length===0)return;let o=!1;if(this.items=this.items.map(r=>{let n=t.find(m=>m.target.id===r.id),i=n?n.isIntersecting:r.active&&!r.fallback;return this.single&&o&&(i=!1),r.active!==i&&(r={...r,t:Date.now(),active:i,fallback:!1}),i&&(o=!0),r}),!o&&t[0].rootBounds){let r=t[0].rootBounds.top,n=Number.MAX_VALUE,i=-1;for(let m=0;m<this.items.length;m++){let l=document.getElementById(this.items[m].id);if(!l)continue;let c=Math.abs(r-l.getBoundingClientRect().top);c<n&&(i=m,n=c)}i!==-1&&(this.items[i]={...this.items[i],active:!0,fallback:!0,t:Date.now()})}this.onChange?.()}setItems(t){let o=this.observer;if(o)for(let r of this.items){let n=document.getElementById(r.id);n&&o.unobserve(n)}this.items=[];for(let r of t){let n=me(r.url);n&&this.items.push({id:n,active:!1,fallback:!1,t:0,original:r})}this.watchItems(),typeof window<"u"&&(setTimeout(()=>this.watchItems(),100),setTimeout(()=>this.watchItems(),500),setTimeout(()=>this.watchItems(),1e3)),this.onChange?.()}watch(t){this.observer||(this.observer=new IntersectionObserver(this.callback.bind(this),t),this.watchItems())}watchItems(){if(this.observer)for(let t of this.items){let o=document.getElementById(t.id);o&&this.observer.observe(o)}}unwatch(){this.observer?.disconnect(),this.observer=null}};function de(){let e=(0,d.use)(ue);if(!e)throw new Error("Component must be used under the <AnchorProvider /> component.");return e}function He(e){let[t,o]=(0,d.useState)({isOverflowing:!1,isAtBottom:!1});return(0,d.useEffect)(()=>{let r=e.current;if(!r)return;let n=()=>{let m=r.scrollHeight>r.clientHeight,l=r.scrollHeight-r.scrollTop<=r.clientHeight+2;o({isOverflowing:m,isAtBottom:l})};n(),r.addEventListener("scroll",n,{passive:!0}),window.addEventListener("resize",n);let i=new MutationObserver(n);return i.observe(r,{childList:!0,subtree:!0}),()=>{r.removeEventListener("scroll",n),window.removeEventListener("resize",n),i.disconnect()}},[e]),t}function St(){let e=de();return(0,d.useMemo)(()=>{let t;for(let o of e)o.active&&(!t||o.t>t.t)&&(t=o);return t?.id},[e])}function Mt(){let e=de();return(0,d.useMemo)(()=>{let t=[];for(let o of e)o.active&&t.push(o.id);return t},[e])}function Ot({containerRef:e,children:t}){return(0,A.jsx)(Ve.Provider,{value:e,children:t})}function Et({toc:e,single:t=!1,children:o}){let r=(0,d.useMemo)(()=>new pe,[]),[n,i]=(0,d.useState)(r.items);return r.single=t,(0,d.useEffect)(()=>{r.setItems(e)},[r,e]),(0,d.useEffect)(()=>(r.watch({rootMargin:"0px",threshold:.98}),r.onChange=()=>i([...r.items]),()=>{r.unwatch()}),[r]),(0,A.jsx)(ue.Provider,{value:n,children:o})}var zt=({children:e,className:t})=>(0,A.jsx)("nav",{className:s("sticky top-navbar hidden xl:flex flex-col shrink-0","w-toc","py-8 pl-6 pr-4",t),children:e}),Dt=({children:e,className:t,...o})=>(0,A.jsx)("div",{className:s("mb-4 text-xs font-bold uppercase tracking-wider text-text-main",t),...o,children:e}),We=({children:e,className:t,ref:o,...r})=>{let n=(0,d.useRef)(null);(0,d.useImperativeHandle)(o,()=>n.current);let{isOverflowing:i,isAtBottom:m}=He(n);return(0,A.jsx)("div",{ref:n,className:s("relative overflow-y-auto boltdocs-otp-content",i&&!m&&"mask-[linear-gradient(to_bottom,black_85%,transparent_100%)]",t),...r,children:e})};We.displayName="OnThisPageContent";var Vt=({children:e,className:t})=>(0,A.jsx)("ul",{className:s("relative space-y-1 text-sm border-l border-border-subtle",t),children:e}),Ht=({level:e,children:t,className:o})=>(0,A.jsx)("li",{className:s(e===3&&"pl-3",o),children:t}),Wt=({children:e,href:t,active:o,onClick:r,className:n})=>{let i=(0,d.use)(ue),m=(0,d.use)(Ve),l=t?me(t):null,c=(0,d.useRef)(null),[C,y]=(0,d.useState)(o);return ze(l&&i?i.find(g=>g.id===l)?.active:null,g=>{g!==null&&g!==C&&(y(!!g),g&&c.current&&m?.current&&(0,De.default)(c.current,{behavior:"smooth",block:"center",inline:"center",scrollMode:"if-needed",boundary:m.current}))}),(0,d.useEffect)(()=>{o!==void 0&&y(o)},[o]),(0,A.jsx)("a",{ref:c,href:t,onClick:r,"data-active":C,className:s("block py-1 pl-4 text-[13px] outline-none transition-colors hover:text-text-main",C?"text-primary-500 font-medium":"text-text-muted",n),children:e})},Ft=({style:e,className:t})=>(0,A.jsx)("div",{className:s("absolute -left-px w-0.5 rounded-full bg-primary-500 transition-all duration-300",t),style:e});var Fe=w(require("react-aria-components")),Z=require("lucide-react");var R=require("react/jsx-runtime"),Ge=({children:e,className:t})=>(0,R.jsx)("nav",{className:s("grid grid-cols-1 sm:grid-cols-2 gap-4 mt-12 pt-8 border-t border-border-subtle",t),children:e}),je=({children:e,to:t,direction:o,className:r})=>{let n=o==="next";return(0,R.jsxs)(Fe.Link,{href:t,className:s("flex group items-center p-4 rounded-xl border border-border-subtle bg-bg-surface outline-none","transition-all hover:bg-bg-main hover:border-primary-500 hover:shadow-lg","focus-visible:ring-2 focus-visible:ring-primary-500/30",n?"text-right justify-end":"text-left justify-start",r),children:[!n&&(0,R.jsx)(Z.ChevronLeft,{className:"mr-3 h-5 w-5 text-text-muted group-hover:text-primary-500 transition-transform group-hover:-translate-x-1"}),(0,R.jsx)("div",{className:"flex flex-col gap-1 flex-1",children:e}),n&&(0,R.jsx)(Z.ChevronRight,{className:"ml-3 h-5 w-5 text-text-muted group-hover:text-primary-500 transition-transform group-hover:translate-x-1"})]})},_e=({children:e,className:t})=>(0,R.jsx)("span",{className:s("text-xs font-medium uppercase tracking-wider text-text-muted",t),children:e}),Ke=({children:e,className:t})=>(0,R.jsx)("span",{className:s("text-base font-bold text-text-main truncate",t),children:e}),Xe=({children:e})=>(0,R.jsx)(R.Fragment,{children:e}),Ho={PageNavRoot:Ge,PageNavLink:Object.assign(je,{Title:_e,Description:Ke,Icon:Xe})};var M=require("react/jsx-runtime"),Gt=({children:e,className:t="",...o})=>(0,M.jsx)("div",{className:s("w-full",t),...o,children:e}),jt=({children:e,className:t=""})=>(0,M.jsx)("div",{role:"tablist",className:s("relative flex flex-row items-center border-b border-border-subtle",t),children:e}),_t=({children:e,id:t,selected:o,className:r="",...n})=>(0,M.jsx)("button",{role:"tab","aria-selected":o,className:s("flex items-center gap-2 px-4 py-2 text-sm font-medium transition-colors outline-none cursor-pointer bg-transparent border-none",o?"text-primary-500":"text-text-muted hover:text-text-main",r),...n,children:e}),Kt=({children:e,className:t=""})=>(0,M.jsx)("div",{className:s("p-4 outline-none",t),children:e}),Xt=({className:e="",style:t})=>(0,M.jsx)("div",{className:s("absolute bottom-0 h-0.5 bg-primary-500 transition-all duration-300",e),style:t});var ge=w(require("react")),Je=require("react-aria-components"),qe=require("react-router-dom");var $=require("react"),Ut=(0,$.createContext)(null);function J(){let e=(0,$.use)(Ut);if(!e)throw new Error("useConfig must be used within a ConfigProvider");return e}var Ze=require("react-router-dom");var O=require("react"),$t=require("react/jsx-runtime"),Zt=(0,O.createContext)({preload:()=>{},routes:[]});function q(){return(0,O.use)(Zt)}var Ue=require("zustand"),Q=require("zustand/middleware"),Y=(0,Ue.create)()((0,Q.persist)(e=>({currentLocale:void 0,currentVersion:void 0,hasHydrated:!1,setLocale:t=>e({currentLocale:t}),setVersion:t=>e({currentVersion:t}),setHasHydrated:t=>e({hasHydrated:t})}),{name:"boltdocs-storage",storage:(0,Q.createJSONStorage)(()=>localStorage),partialize:e=>({currentLocale:e.currentLocale,currentVersion:e.currentVersion}),onRehydrateStorage:()=>e=>{e?.setHasHydrated(!0)}}));function $e(){let{routes:e}=q(),t=J(),o=(0,Ze.useLocation)(),r=Y(p=>p.currentLocale),n=Y(p=>p.currentVersion),i=Y(p=>p.hasHydrated),m=e.find(p=>p.path===o.pathname),l=t.i18n?m?.locale||(i?r:void 0)||t.i18n.defaultLocale:void 0,c=t.versions?m?.version||(i?n:void 0)||t.versions.defaultVersion:void 0,C=e.filter(p=>{let oe=t.i18n?(p.locale||t.i18n.defaultLocale)===l:!0,re=t.versions?(p.version||t.versions.defaultVersion)===c:!0;if(!(oe&&re))return!1;let ne=t.i18n;if(ne){let it=!!m?.locale,at=!!p.locale;if(e.some(j=>j!==p&&j.filePath===p.filePath&&j.version===p.version&&(j.locale||ne.defaultLocale)===(p.locale||ne.defaultLocale))&&it!==at)return!1}return!0}),g=t.i18n?.localeConfigs?.[l]?.label||t.i18n?.locales[l]||l,S=t.versions?.versions.find(p=>p.path===c)?.label||c,nt=t.i18n?Object.entries(t.i18n.locales).map(([p,oe])=>{let re=t.i18n?.localeConfigs?.[p];return{key:p,label:re?.label||oe,isCurrent:p===l}}):[],st=t.versions?t.versions.versions.map(p=>({key:p.path,label:p.label,isCurrent:p.path===c})):[];return{routes:C,allRoutes:e,currentRoute:m,currentLocale:l,currentLocaleLabel:g,availableLocales:nt,currentVersion:c,currentVersionLabel:S,availableVersions:st,config:t}}function fe(e){let t=J(),{currentLocale:o,currentVersion:r}=$e();if(!t||typeof e!="string"||e.startsWith("http")||e.startsWith("//"))return e;let n=t.i18n,i=t.versions;if(!n&&!i)return e;let m=e.startsWith("/docs"),l=e.split("/").filter(Boolean),c=0;l[c]==="docs"&&c++,i&&l.length>c&&i.versions.find(S=>S.path===l[c])&&c++,n&&l.length>c&&n.locales[l[c]]&&c++;let C=l.slice(c),y=[];m&&(y.push("docs"),i&&r&&y.push(r)),n&&o&&o!==n.defaultLocale&&y.push(o),y.push(...C);let g=`/${y.join("/")}`;return g.length>1&&g.endsWith("/")?g.slice(0,-1):g||"/"}var xe=require("react/jsx-runtime"),B=ge.default.forwardRef((e,t)=>{let{href:o,prefetch:r="hover",onMouseEnter:n,onFocus:i,...m}=e,l=fe(o??""),{preload:c}=q();return(0,xe.jsx)(Je.Link,{...m,ref:t,href:l,onMouseEnter:g=>{n?.(g),r==="hover"&&typeof l=="string"&&l.startsWith("/")&&c(l)},onFocus:g=>{i?.(g),r==="hover"&&typeof l=="string"&&l.startsWith("/")&&c(l)}})});B.displayName="Link";var Qe=ge.default.forwardRef((e,t)=>{let{href:o,end:r=!1,className:n,children:i,...m}=e,l=(0,qe.useLocation)(),c=fe(o??""),C=r?l.pathname===c:l.pathname.startsWith(c),y=typeof n=="function"?n({isActive:C}):s(n,C&&"active"),g=typeof i=="function"?i({isActive:C}):i;return(0,xe.jsx)(B,{...m,ref:t,href:o,className:y,children:g})});Qe.displayName="NavLink";var Ye=w(require("react-aria-components")),et=require("lucide-react");var v=require("react/jsx-runtime"),Jt=({badge:e})=>{let t={new:"bg-primary-500/20 text-primary-500",updated:"bg-gray-500/20 text-gray-500",deprecated:"bg-red-500/20 text-red-500"};if(typeof e=="object"&&e?.expires){let r=new Date(e.expires),n=new Date,i=r.getTime()-n.getTime();if(Math.ceil(i/(1e3*60*60*24))===0)return null}let o=typeof e=="string"?e:e?.text;return(0,v.jsx)("span",{className:s("ml-auto flex h-4.5 items-center rounded-full text-[9px] font-medium px-1.5 py-0.5 text-center whitespace-nowrap",t[o]||t.new),children:o})},qt=({children:e,className:t})=>(0,v.jsx)("aside",{className:s("boltdocs-sidebar sticky top-navbar hidden lg:flex flex-col shrink-0","w-sidebar h-full","overflow-y-auto border-r border-border-subtle bg-bg-main","py-6 px-4",t),children:(0,v.jsx)("nav",{className:"flex-1 space-y-6",children:e})}),Qt=({children:e,title:t,icon:o,isOpen:r=!0,onToggle:n,className:i})=>(0,v.jsxs)("div",{className:s("space-y-1",i),children:[t&&(0,v.jsxs)(Ye.Button,{onPress:n,className:s("flex w-full items-center justify-between px-2 py-1.5 text-xs font-bold uppercase tracking-wider outline-none cursor-pointer","text-text-muted hover:text-text-main transition-colors","focus-visible:ring-2 focus-visible:ring-primary-500/30 rounded-md"),children:[(0,v.jsxs)("div",{className:"flex items-center gap-2",children:[o&&(0,v.jsx)(o,{size:14}),t]}),(0,v.jsx)(et.ChevronRight,{size:14,className:s("transition-transform duration-200",r&&"rotate-90")})]}),r&&(0,v.jsx)("div",{className:"space-y-0.5",children:e})]}),Yt=({children:e,className:t})=>(0,v.jsx)("div",{className:s(t),children:e}),eo=({label:e,href:t,active:o,icon:r,badge:n,className:i})=>(0,v.jsxs)(B,{href:t,className:s("group flex items-center gap-2.5 rounded-lg px-2.5 py-2 text-sm outline-none","transition-all duration-200 ease-in-out","focus-visible:ring-2 focus-visible:ring-primary-500/30",o?"bg-primary-500/10 text-primary-500 font-medium":"text-text-muted hover:bg-bg-surface hover:text-text-main hover:translate-x-1",i),children:[r&&(0,v.jsx)(r,{size:16,className:s(o?"text-primary-500":"text-text-muted group-hover:text-text-main")}),(0,v.jsx)("span",{className:"truncate",children:e}),n&&(0,v.jsx)(Jt,{badge:n})]});var E=require("react-aria-components"),tt=require("lucide-react");var G=require("react/jsx-runtime"),to=({children:e,className:t,...o})=>(0,G.jsx)(E.Breadcrumbs,{className:s("flex items-center gap-1.5 pl-0! mb-0 text-sm text-text-muted",t),...o,children:e}),oo=({children:e,className:t,...o})=>(0,G.jsx)(E.Breadcrumb,{className:s("flex items-center mb-0 gap-1.5",t),...o,children:e}),ro=({children:e,href:t,className:o,...r})=>(0,G.jsx)(E.Link,{href:t,className:s("transition-colors outline-none hover:text-text-main focus-visible:ring-2 focus-visible:ring-primary-500/30 rounded-sm","current:font-medium current:text-text-main current:pointer-events-none cursor-pointer",o),...r,children:e}),no=({className:e})=>(0,G.jsx)(tt.ChevronRight,{size:14,className:s("shrink-0 text-text-dim",e)});var ee=w(require("react-aria-components"));var ot=require("class-variance-authority"),T=require("react/jsx-runtime"),he=(0,ot.cva)("flex flex-row items-center justify-center w-auto font-semibold tracking-tight no-underline whitespace-nowrap select-none outline-none transition-all duration-200 cursor-pointer pressed:scale-[0.97] hover:-translate-y-px leading-none",{variants:{variant:{primary:"bg-primary-500 text-white shadow-md hover:brightness-110 hover:shadow-lg",secondary:"bg-bg-surface text-text-main border border-border-subtle hover:bg-bg-muted hover:border-border-strong",outline:"bg-transparent text-text-main border border-border-strong hover:bg-bg-surface hover:border-primary-500",ghost:"bg-transparent text-text-muted hover:bg-bg-surface hover:text-text-main",danger:"bg-[var(--color-danger-500)]/10 text-[var(--color-danger-500)] border border-[var(--color-danger-500)]/20 hover:bg-[var(--color-danger-500)]/15",success:"bg-[var(--color-success-500)]/10 text-[var(--color-success-500)] border border-[var(--color-success-500)]/20 hover:bg-[var(--color-success-500)]/15",warning:"bg-[var(--color-warning-500)]/10 text-[var(--color-warning-500)] border border-[var(--color-warning-500)]/20 hover:bg-[var(--color-warning-500)]/15",info:"bg-[var(--color-info-500)]/10 text-[var(--color-info-500)] border border-[var(--color-info-500)]/20 hover:bg-[var(--color-info-500)]/15",subtle:"bg-primary-500/10 text-primary-500 hover:bg-primary-500/20",link:"bg-transparent text-primary-500 !p-0 !min-h-0 hover:underline"},size:{sm:"min-h-8 px-3.5 text-[0.8125rem] gap-1.5",md:"min-h-10 px-5 text-[0.9375rem] gap-2",lg:"min-h-12 px-7 text-[1.05rem] gap-2.5"},rounded:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"},iconSize:{sm:"w-8 h-8 p-0",md:"w-10 h-10 p-0",lg:"w-12 h-12 p-0"},disabled:{true:"opacity-50 cursor-not-allowed pointer-events-none",false:null}},defaultVariants:{variant:"primary",size:"md",rounded:"md"}}),se=({href:e,icon:t,iconPosition:o="left",isIconOnly:r,children:n,className:i,variant:m,size:l,rounded:c,iconSize:C,disabled:y,...g})=>{let W=r||!n&&!!t,S=W?(0,T.jsx)("span",{className:"inline-flex items-center justify-center [&>svg]:w-[1.2rem] [&>svg]:h-[1.2rem]",children:t}):(0,T.jsxs)(T.Fragment,{children:[t&&o==="left"&&(0,T.jsx)("span",{className:"inline-flex items-center shrink-0 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]",children:t}),(0,T.jsx)("span",{className:"flex items-center",children:n}),t&&o==="right"&&(0,T.jsx)("span",{className:"inline-flex items-center shrink-0 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]",children:t})]});return e?(0,T.jsx)(ee.Link,{href:e,className:s(he({variant:m,size:l,rounded:c,iconSize:W?C:void 0,disabled:y}),i),...g,children:S}):(0,T.jsx)(ee.Button,{className:s(he({variant:m,size:l,rounded:c,iconSize:W?C:void 0,disabled:y}),i),...g,children:S})};var rt=require("react/jsx-runtime"),so=({children:e,className:t,vertical:o=!1})=>(0,rt.jsx)("div",{className:s("inline-flex",o?"flex-col":"flex-row",!o&&["[&>*:not(:first-child)]:-ml-px","[&>*:first-child]:rounded-r-none","[&>*:last-child]:rounded-l-none","[&>*:not(:first-child):not(:last-child)]:rounded-none",t?.includes("rounded-full")&&["[&>*:first-child]:rounded-l-full","[&>*:last-child]:rounded-r-full"],t?.includes("rounded-xl")&&["[&>*:first-child]:rounded-l-xl","[&>*:last-child]:rounded-r-xl"],t?.includes("rounded-lg")&&["[&>*:first-child]:rounded-l-lg","[&>*:last-child]:rounded-r-lg"]],o&&["[&>*:not(:first-child)]:-mt-px","[&>*:first-child]:rounded-b-none","[&>*:last-child]:rounded-t-none","[&>*:not(:first-child):not(:last-child)]:rounded-none",t?.includes("rounded-full")&&["[&>*:first-child]:rounded-t-full","[&>*:last-child]:rounded-b-full"]],t),children:e});var V=require("lucide-react"),be=w(require("react")),h=w(require("react-aria-components"));var D=w(require("react-aria-components"));var z=require("react/jsx-runtime"),te=({children:e,className:t,showArrow:o,...r})=>(0,z.jsxs)(D.Popover,{offset:8,...r,className:D.composeRenderProps(t,n=>s("z-50 overflow-auto rounded-xl border border-border-subtle bg-bg-surface/80 shadow-xl backdrop-blur-md outline-none","entering:animate-in entering:fade-in entering:zoom-in-95 exiting:animate-out exiting:fade-out exiting:zoom-out-95 fill-mode-forwards",n)),children:[o&&(0,z.jsx)(D.OverlayArrow,{className:"group",children:(0,z.jsx)("svg",{viewBox:"0 0 12 12",className:"block h-3 w-3 fill-bg-surface/80 stroke-border-subtle group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90","aria-hidden":"true",children:(0,z.jsx)("path",{d:"M0 0 L6 6 L12 0"})})}),e]});var x=require("react/jsx-runtime");function ie(e){let[t,o]=be.default.Children.toArray(e.children).slice(0,2);return(0,x.jsxs)(h.MenuTrigger,{...e,children:[t,(0,x.jsx)(te,{placement:e.placement,className:"min-w-[200px]",children:o})]})}function io(e){let[t,o]=be.default.Children.toArray(e.children).slice(0,2);return(0,x.jsxs)(h.SubmenuTrigger,{...e,children:[t,(0,x.jsx)(te,{offset:-4,crossOffset:-4,children:o})]})}function ae(e){return(0,x.jsx)(h.Menu,{...e,className:h.composeRenderProps(e.className,t=>s("p-1.5 outline-none max-h-[inherit] overflow-auto",t))})}function le(e){let t=e.textValue||(typeof e.children=="string"?e.children:void 0);return(0,x.jsx)(h.MenuItem,{...e,textValue:t,className:h.composeRenderProps(e.className,(o,{isFocused:r,isPressed:n,isDisabled:i})=>s("group relative flex flex-row items-center gap-2.5 px-3 py-1.5 rounded-lg outline-none cursor-default transition-all duration-200","text-text-main text-[0.8125rem]",r&&"bg-primary-500/10 text-primary-600 shadow-sm",n&&"scale-[0.98] bg-primary-500/15",i&&"opacity-40 grayscale pointer-events-none",o)),children:h.composeRenderProps(e.children,(o,{selectionMode:r,isSelected:n,hasSubmenu:i})=>(0,x.jsxs)(x.Fragment,{children:[r!=="none"&&(0,x.jsxs)("span",{className:"flex items-center w-4 h-4 shrink-0 justify-center",children:[n&&r==="multiple"&&(0,x.jsx)(V.Check,{className:"w-3.5 h-3.5 stroke-[2.5px] text-primary-500 animate-in zoom-in-50 duration-200"}),n&&r==="single"&&(0,x.jsx)(V.Dot,{className:"w-6 h-6 text-primary-500 animate-in zoom-in-50 duration-200"})]}),(0,x.jsx)("div",{className:"flex-1 flex flex-row items-center gap-2.5 truncate font-medium",children:o}),i&&(0,x.jsx)(V.ChevronRight,{className:"w-4 h-4 ml-auto text-text-muted group-focused:text-primary-500/70 transition-colors"})]}))})}function ao({title:e,...t}){return(0,x.jsxs)(h.MenuSection,{...t,className:s("flex flex-col gap-0.5",t.className),children:[e&&(0,x.jsx)(h.Header,{className:"px-3 py-2 text-[10px] font-bold uppercase tracking-[0.075em] text-text-muted/50 select-none",children:e}),(0,x.jsx)(h.Collection,{items:t.items,children:t.children})]})}function lo(e){return(0,x.jsx)(h.Separator,{...e,className:"mx-2 my-1.5 border-t border-border-subtle/50"})}var H=w(require("react-aria-components"));var P=require("react/jsx-runtime"),co=({className:e,children:t,...o})=>(0,P.jsx)(H.Tooltip,{...o,offset:8,className:r=>s("group z-50 overflow-visible rounded-md bg-bg-surface/90 px-2.5 py-1.5 text-xs font-medium text-text-main shadow-lg backdrop-blur-md ring-1 ring-border-subtle outline-hidden select-none","data-entering:animate-in data-entering:fade-in data-entering:zoom-in-95 data-entering:duration-100","data-exiting:animate-out data-exiting:fade-out data-exiting:zoom-out-95 data-exiting:duration-75","data-[placement=top]:slide-in-from-bottom-1","data-[placement=bottom]:slide-in-from-top-1","data-[placement=left]:slide-in-from-right-1","data-[placement=right]:slide-in-from-left-1",typeof e=="function"?e(r):e),children:r=>(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H.OverlayArrow,{children:(0,P.jsxs)("svg",{width:8,height:8,viewBox:"0 0 8 8",className:"fill-bg-surface/90 stroke-border-subtle group-data-[placement=bottom]:rotate-180 group-data-[placement=left]:-rotate-90 group-data-[placement=right]:rotate-90",children:[(0,P.jsx)("title",{children:"Arrow"}),(0,P.jsx)("path",{d:"M0 0 L4 4 L8 0"})]})}),typeof t=="function"?t(r):t]})}),mo=({content:e,children:t,delay:o=500,closeDelay:r=0,...n})=>(0,P.jsxs)(H.TooltipTrigger,{delay:o,closeDelay:r,children:[t,(0,P.jsx)(co,{...n,children:e})]});var I=require("react-aria-components");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as W,A as x,B as y,C as z,D as A,E as B,F as C,G as D,H as E,I as F,J as G,K as H,L as I,M as J,N as K,O as L,P as M,Q as N,R as O,S as P,T as Q,V as R,W as S,X as T,Y as U,Z as V,a,aa as X,b,ba as Y,c,ca as Z,d,da as _,e,fa as $,ga as aa,h as f,ha as ba,i as g,ia as ca,j as h,k as i,ka as da,l as j,la as ea,m as k,ma as fa,n as l,na as ga,o as m,oa as ha,p as n,pa as ia,q as o,qa as ja,r as p,ra as ka,s as q,sa as la,t as r,ta as ma,u as s,ua as na,v as t,va as oa,w as u,x as v,xa as pa,ya as qa,z as w}from"../chunk-W2NB4T6V.mjs";import"../chunk-NBCYHLAA.mjs";import"../chunk-JZXLCA2E.mjs";export{J as AnchorProvider,ea as BreadcrumbsItem,fa as BreadcrumbsLink,da as BreadcrumbsRoot,ga as BreadcrumbsSeparator,e as Button,ha as ButtonGroup,t as Icon,b as Link,la as Menu,ma as MenuItem,na as MenuSection,oa as MenuSeparator,ja as MenuTrigger,c as NavLink,k as NavbarCenter,h as NavbarContent,s as NavbarItem,i as NavbarLeft,o as NavbarLink,n as NavbarLinks,l as NavbarLogo,r as NavbarMenu,j as NavbarRight,g as NavbarRoot,p as NavbarSearchTrigger,u as NavbarSocials,v as NavbarSplit,q as NavbarTheme,m as NavbarTitle,M as OnThisPageContent,L as OnThisPageHeader,Q as OnThisPageIndicator,O as OnThisPageItem,P as OnThisPageLink,N as OnThisPageList,K as OnThisPageRoot,U as PageNavDescription,V as PageNavIcon,S as PageNavLink,R as PageNavRoot,T as PageNavTitle,ia as Popover,I as ScrollProvider,x as SearchDialogAutocomplete,y as SearchDialogInput,D as SearchDialogItemBio,B as SearchDialogItemIcon,A as SearchDialogItemRoot,C as SearchDialogItemTitle,z as SearchDialogList,w as SearchDialogRoot,pa as Separator,aa as SidebarGroup,ba as SidebarGroupItem,ca as SidebarLink,$ as SidebarRoot,ka as SubmenuTrigger,Z as TabsContent,_ as TabsIndicator,Y as TabsItem,X as TabsList,W as TabsRoot,qa as ToggleButton,f as Tooltip,d as buttonVariants,a as cn,G as useActiveAnchor,H as useActiveAnchors,E as useItems,F as useScrollStatus};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-HA6543SL.mjs";import"./chunk-2Z5T6EAU.mjs";import"./chunk-W2NB4T6V.mjs";import"./chunk-NBCYHLAA.mjs";import"./chunk-JZXLCA2E.mjs";export{a as SearchDialog};
|
|
@@ -22,10 +22,10 @@ interface BoltdocsFooterConfig {
|
|
|
22
22
|
* Theme-specific configuration options governing the appearance and navigation of the site.
|
|
23
23
|
*/
|
|
24
24
|
interface BoltdocsThemeConfig {
|
|
25
|
-
/** The global title of the documentation site */
|
|
26
|
-
title?: string
|
|
27
|
-
/** The global description of the site (
|
|
28
|
-
description?: string
|
|
25
|
+
/** The global title of the documentation site (can be translated) */
|
|
26
|
+
title?: string | Record<string, string>;
|
|
27
|
+
/** The global description of the site (can be translated) */
|
|
28
|
+
description?: string | Record<string, string>;
|
|
29
29
|
/** URL path to the site logo or an object for light/dark versions */
|
|
30
30
|
logo?: string | {
|
|
31
31
|
dark: string;
|
|
@@ -36,13 +36,15 @@ interface BoltdocsThemeConfig {
|
|
|
36
36
|
};
|
|
37
37
|
/** Items to display in the top navigation bar */
|
|
38
38
|
navbar?: Array<{
|
|
39
|
-
/** Text to display */
|
|
40
|
-
label: string
|
|
39
|
+
/** Text to display (can be a string or a map of translations) */
|
|
40
|
+
label: string | Record<string, string>;
|
|
41
41
|
/** URL path or external link */
|
|
42
42
|
href: string;
|
|
43
43
|
/** Nested items for NavigationMenu */
|
|
44
44
|
items?: Array<{
|
|
45
|
-
|
|
45
|
+
/** Text to display (can be a string or a map of translations) */
|
|
46
|
+
label: string | Record<string, string>;
|
|
47
|
+
/** URL path or external link */
|
|
46
48
|
href: string;
|
|
47
49
|
}>;
|
|
48
50
|
}>;
|
|
@@ -82,7 +84,8 @@ interface BoltdocsThemeConfig {
|
|
|
82
84
|
*/
|
|
83
85
|
tabs?: Array<{
|
|
84
86
|
id: string;
|
|
85
|
-
|
|
87
|
+
/** Text to display (can be a string or a map of translations) */
|
|
88
|
+
text: string | Record<string, string>;
|
|
86
89
|
icon?: string;
|
|
87
90
|
}>;
|
|
88
91
|
/**
|
|
@@ -120,23 +123,52 @@ type BoltdocsRobotsConfig = string | {
|
|
|
120
123
|
/** Sitemaps to include in the robots.txt */
|
|
121
124
|
sitemaps?: string[];
|
|
122
125
|
};
|
|
126
|
+
/**
|
|
127
|
+
* Configuration for a specific locale.
|
|
128
|
+
*/
|
|
129
|
+
interface BoltdocsLocaleConfig {
|
|
130
|
+
/** The display name of the locale */
|
|
131
|
+
label?: string;
|
|
132
|
+
/** The text direction (ltr or rtl) */
|
|
133
|
+
direction?: 'ltr' | 'rtl';
|
|
134
|
+
/** The HTML lang attribute value (e.g., 'en-US') */
|
|
135
|
+
htmlLang?: string;
|
|
136
|
+
/** The calendar system to use (e.g., 'gregory') */
|
|
137
|
+
calendar?: string;
|
|
138
|
+
}
|
|
123
139
|
/**
|
|
124
140
|
* Configuration for internationalization (i18n).
|
|
125
141
|
*/
|
|
126
142
|
interface BoltdocsI18nConfig {
|
|
127
143
|
/** The default locale (e.g., 'en') */
|
|
128
144
|
defaultLocale: string;
|
|
129
|
-
/** Available locales and their display names (e.g., { en: 'English', es: 'Español' }) */
|
|
145
|
+
/** Available locales and their basic display names (e.g., { en: 'English', es: 'Español' }) */
|
|
130
146
|
locales: Record<string, string>;
|
|
147
|
+
/** Detailed configuration for each locale */
|
|
148
|
+
localeConfigs?: Record<string, BoltdocsLocaleConfig>;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Configuration for a specific documentation version.
|
|
152
|
+
*/
|
|
153
|
+
interface BoltdocsVersionConfig {
|
|
154
|
+
/** The display name of the version (e.g., 'v2.0') */
|
|
155
|
+
label: string;
|
|
156
|
+
/** The URL path prefix for the version (e.g., '2.0') */
|
|
157
|
+
path: string;
|
|
131
158
|
}
|
|
132
159
|
/**
|
|
133
160
|
* Configuration for documentation versioning.
|
|
134
161
|
*/
|
|
135
162
|
interface BoltdocsVersionsConfig {
|
|
136
|
-
/** The default version (e.g., 'v2') */
|
|
163
|
+
/** The default version path (e.g., 'v2') */
|
|
137
164
|
defaultVersion: string;
|
|
138
|
-
/**
|
|
139
|
-
|
|
165
|
+
/**
|
|
166
|
+
* Optional prefix for all version paths (e.g., 'v').
|
|
167
|
+
* If set to 'v', version '1.1' will be available at '/docs/v1.1'.
|
|
168
|
+
*/
|
|
169
|
+
prefix?: string;
|
|
170
|
+
/** Available versions configurations */
|
|
171
|
+
versions: BoltdocsVersionConfig[];
|
|
140
172
|
}
|
|
141
173
|
/**
|
|
142
174
|
* Defines a Boltdocs plugin that can extend the build process and client-side functionality.
|
|
@@ -193,8 +225,6 @@ interface BoltdocsConfig {
|
|
|
193
225
|
robots?: BoltdocsRobotsConfig;
|
|
194
226
|
/** Low-level Vite configuration overrides */
|
|
195
227
|
vite?: vite.InlineConfig;
|
|
196
|
-
/** @deprecated Use theme instead */
|
|
197
|
-
themeConfig?: BoltdocsThemeConfig;
|
|
198
228
|
}
|
|
199
229
|
|
|
200
230
|
/**
|
|
@@ -317,9 +347,17 @@ interface SandboxEmbedOptions {
|
|
|
317
347
|
*/
|
|
318
348
|
interface BoltdocsTab {
|
|
319
349
|
id: string;
|
|
320
|
-
|
|
350
|
+
/** Text to display (can be a string or a map of translations) */
|
|
351
|
+
text: string | Record<string, string>;
|
|
321
352
|
icon?: string;
|
|
322
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Props for the Sidebar component.
|
|
356
|
+
*/
|
|
357
|
+
interface SidebarProps {
|
|
358
|
+
routes: ComponentRoute[];
|
|
359
|
+
config: BoltdocsConfig;
|
|
360
|
+
}
|
|
323
361
|
/**
|
|
324
362
|
* Props for the OnThisPage (TOC) component.
|
|
325
363
|
*/
|
|
@@ -333,6 +371,13 @@ interface OnThisPageProps {
|
|
|
333
371
|
communityHelp?: string;
|
|
334
372
|
filePath?: string;
|
|
335
373
|
}
|
|
374
|
+
/**
|
|
375
|
+
* Props for the Tabs component.
|
|
376
|
+
*/
|
|
377
|
+
interface TabsProps {
|
|
378
|
+
tabs: BoltdocsTab[];
|
|
379
|
+
routes: ComponentRoute[];
|
|
380
|
+
}
|
|
336
381
|
/**
|
|
337
382
|
* Props for user-defined layout components (layout.tsx).
|
|
338
383
|
*/
|
|
@@ -343,7 +388,8 @@ interface LayoutProps {
|
|
|
343
388
|
* Unified type for navbar links.
|
|
344
389
|
*/
|
|
345
390
|
interface NavbarLink {
|
|
346
|
-
|
|
391
|
+
/** Label to display (can be a string or a map of translations) */
|
|
392
|
+
label: string | Record<string, string>;
|
|
347
393
|
href: string;
|
|
348
394
|
active: boolean;
|
|
349
395
|
/** Optional icon or string for external link indication */
|
|
@@ -352,4 +398,4 @@ interface NavbarLink {
|
|
|
352
398
|
items?: NavbarLink[];
|
|
353
399
|
}
|
|
354
400
|
|
|
355
|
-
export type { BoltdocsConfig as B, ComponentRoute as C, LayoutProps as L, NavbarLink as N, OnThisPageProps as O,
|
|
401
|
+
export type { BoltdocsConfig as B, ComponentRoute as C, LayoutProps as L, NavbarLink as N, OnThisPageProps as O, SandboxEmbedOptions as S, TabsProps as T, BoltdocsTab as a, CreateBoltdocsAppOptions as b, BoltdocsThemeConfig as c, SandboxFile as d, SandboxFiles as e, SandboxOptions as f, BoltdocsSocialLink as g, SidebarProps as h, SiteConfig as i };
|