boltdocs 2.4.1 → 2.5.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.
Files changed (113) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cache-3FOEPC2P.mjs +1 -0
  3. package/dist/chunk-ITFGVXPE.mjs +1 -0
  4. package/dist/chunk-TP5KMRD3.mjs +1 -0
  5. package/dist/chunk-UD2LQG2M.mjs +75 -0
  6. package/dist/chunk-Y4RE5KI7.mjs +1 -0
  7. package/dist/client/index.d.mts +1225 -14
  8. package/dist/client/index.d.ts +1225 -14
  9. package/dist/client/index.js +1 -1
  10. package/dist/client/index.mjs +1 -1
  11. package/dist/client/ssr.js +1 -1
  12. package/dist/client/ssr.mjs +1 -1
  13. package/dist/node/cli-entry.js +37 -35
  14. package/dist/node/cli-entry.mjs +1 -1
  15. package/dist/node/index.d.mts +263 -1
  16. package/dist/node/index.d.ts +263 -1
  17. package/dist/node/index.js +34 -32
  18. package/dist/node/index.mjs +1 -1
  19. package/dist/package-TWC3BMZ7.mjs +1 -0
  20. package/dist/search-dialog-YBM4GYDR.mjs +1 -0
  21. package/package.json +46 -76
  22. package/src/client/components/primitives/breadcrumbs.tsx +10 -10
  23. package/src/client/components/primitives/index.ts +17 -16
  24. package/src/client/components/primitives/menu.tsx +11 -14
  25. package/src/client/components/primitives/navbar.tsx +29 -29
  26. package/src/client/components/primitives/navigation-menu.tsx +7 -9
  27. package/src/client/components/primitives/on-this-page.tsx +16 -18
  28. package/src/client/components/primitives/page-nav.tsx +10 -13
  29. package/src/client/components/primitives/search-dialog.tsx +17 -19
  30. package/src/client/components/primitives/sidebar.tsx +8 -10
  31. package/src/client/components/primitives/tabs.tsx +10 -12
  32. package/src/client/components/primitives/tooltip.tsx +3 -5
  33. package/src/client/components/ui-base/breadcrumbs.tsx +12 -15
  34. package/src/client/components/ui-base/copy-markdown.tsx +8 -10
  35. package/src/client/components/ui-base/navbar.tsx +10 -10
  36. package/src/client/components/ui-base/on-this-page.tsx +13 -12
  37. package/src/client/components/ui-base/page-nav.tsx +15 -15
  38. package/src/client/components/ui-base/search-dialog.tsx +13 -20
  39. package/src/client/components/ui-base/sidebar.tsx +9 -9
  40. package/src/client/components/ui-base/tabs.tsx +6 -7
  41. package/src/client/components/ui-base/theme-toggle.tsx +11 -11
  42. package/src/client/hooks/index.ts +12 -12
  43. package/src/client/index.ts +34 -11
  44. package/src/node/config.ts +48 -6
  45. package/src/node/errors.ts +44 -0
  46. package/src/node/index.ts +29 -2
  47. package/src/node/mdx/index.ts +9 -2
  48. package/src/node/plugin/index.ts +72 -4
  49. package/src/node/plugins/index.ts +17 -0
  50. package/src/node/plugins/plugin-errors.ts +62 -0
  51. package/src/node/plugins/plugin-lifecycle.ts +117 -0
  52. package/src/node/plugins/plugin-sandbox.ts +59 -0
  53. package/src/node/plugins/plugin-store.ts +54 -0
  54. package/src/node/plugins/plugin-types.ts +107 -0
  55. package/src/node/plugins/plugin-validator.ts +105 -0
  56. package/src/node/routes/parser.ts +35 -5
  57. package/src/node/schema/config.ts +208 -0
  58. package/src/node/schema/frontmatter.ts +17 -0
  59. package/src/node/security/constants/index.ts +10 -0
  60. package/src/node/security/csp.ts +31 -0
  61. package/src/node/security/headers.ts +27 -0
  62. package/src/node/utils.ts +153 -5
  63. package/tsup.config.ts +0 -6
  64. package/dist/base-ui/index.d.mts +0 -25
  65. package/dist/base-ui/index.d.ts +0 -25
  66. package/dist/base-ui/index.js +0 -1
  67. package/dist/base-ui/index.mjs +0 -1
  68. package/dist/cache-P6WK424C.mjs +0 -1
  69. package/dist/chunk-2DI3OGHV.mjs +0 -1
  70. package/dist/chunk-2Z5T6EAU.mjs +0 -1
  71. package/dist/chunk-64AJ5QLT.mjs +0 -1
  72. package/dist/chunk-DDX52BX4.mjs +0 -1
  73. package/dist/chunk-HRZDSFR5.mjs +0 -1
  74. package/dist/chunk-JD3RSDE4.mjs +0 -1
  75. package/dist/chunk-JZXLCA2E.mjs +0 -1
  76. package/dist/chunk-NBCYHLAA.mjs +0 -1
  77. package/dist/chunk-PPVDMDEL.mjs +0 -1
  78. package/dist/chunk-T3W44KWY.mjs +0 -1
  79. package/dist/chunk-UBE4CKOA.mjs +0 -1
  80. package/dist/chunk-UWT4AJTH.mjs +0 -73
  81. package/dist/chunk-WWJ7WKDI.mjs +0 -1
  82. package/dist/chunk-Y4RRHPXC.mjs +0 -1
  83. package/dist/client/types.d.mts +0 -3
  84. package/dist/client/types.d.ts +0 -3
  85. package/dist/client/types.js +0 -1
  86. package/dist/client/types.mjs +0 -0
  87. package/dist/copy-markdown--9yjpbyy.d.mts +0 -15
  88. package/dist/copy-markdown-l2MYkcG7.d.ts +0 -15
  89. package/dist/hooks/index.d.mts +0 -137
  90. package/dist/hooks/index.d.ts +0 -137
  91. package/dist/hooks/index.js +0 -1
  92. package/dist/hooks/index.mjs +0 -1
  93. package/dist/integrations/index.d.mts +0 -48
  94. package/dist/integrations/index.d.ts +0 -48
  95. package/dist/integrations/index.js +0 -1
  96. package/dist/integrations/index.mjs +0 -1
  97. package/dist/link-DfBwCeZc.d.mts +0 -68
  98. package/dist/link-DfBwCeZc.d.ts +0 -68
  99. package/dist/loading-BwUos0wZ.d.mts +0 -57
  100. package/dist/loading-nlnUD01v.d.ts +0 -57
  101. package/dist/mdx/index.d.mts +0 -178
  102. package/dist/mdx/index.d.ts +0 -178
  103. package/dist/mdx/index.js +0 -1
  104. package/dist/mdx/index.mjs +0 -1
  105. package/dist/primitives/index.d.mts +0 -292
  106. package/dist/primitives/index.d.ts +0 -292
  107. package/dist/primitives/index.js +0 -1
  108. package/dist/primitives/index.mjs +0 -1
  109. package/dist/search-dialog-OONKKC5H.mjs +0 -1
  110. package/dist/types-opDA2E9-.d.mts +0 -394
  111. package/dist/types-opDA2E9-.d.ts +0 -394
  112. package/dist/use-routes-DNwgTRpU.d.ts +0 -29
  113. package/dist/use-routes-DrT80Eom.d.mts +0 -29
@@ -1,292 +0,0 @@
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-opDA2E9-.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 NavbarSocialsProps extends ComponentBase {
43
- icon: string;
44
- link: string;
45
- }
46
- declare const NavbarRoot: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
47
- declare const NavbarContent: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
48
- declare const NavbarLeft: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
49
- declare const NavbarRight: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
50
- declare const NavbarCenter: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
51
- declare const NavbarLogo: ({ src, alt, width, height, className, }: NavbarLogoProps) => react_jsx_runtime.JSX.Element;
52
- declare const NavbarTitle: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
53
- declare const NavbarLinks: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
54
- declare const NavbarLink: ({ label, href, active, to, className, }: NavbarLinkProps) => react_jsx_runtime.JSX.Element;
55
- declare const NavbarSearchTrigger: ({ className, onPress, }: NavbarSearchTriggerProps) => react_jsx_runtime.JSX.Element;
56
- declare const NavbarTheme: ({ className, theme, onThemeChange, }: NavbarThemeProps) => react_jsx_runtime.JSX.Element;
57
- declare const Icon: ({ name }: {
58
- name: BoltdocsSocialLink["icon"];
59
- }) => react_jsx_runtime.JSX.Element | undefined;
60
- declare const NavbarSocials: ({ icon, link, className, }: NavbarSocialsProps) => react_jsx_runtime.JSX.Element;
61
- declare const NavbarSplit: ({ className }: ComponentBase) => react_jsx_runtime.JSX.Element;
62
-
63
- interface NavigationMenuItemProps extends ComponentBase {
64
- label: string;
65
- }
66
- interface NavigationMenuLinkProps extends Omit<ComponentBase, 'children'> {
67
- href: string;
68
- label: string;
69
- description?: string;
70
- children?: React.ReactNode | ((opts: RAC.MenuItemRenderProps) => React.ReactNode);
71
- }
72
- type NavigationMenuComponent = CompoundComponent<ComponentBase, {
73
- List: React.FC<ComponentBase>;
74
- Item: React.FC<NavigationMenuItemProps>;
75
- Link: React.FC<NavigationMenuLinkProps>;
76
- }>;
77
-
78
- interface SearchDialogProps extends ComponentBase {
79
- isOpen?: boolean;
80
- onOpenChange?: (isOpen: boolean) => void;
81
- }
82
- interface SearchDialogItemProps extends Omit<RAC.ListBoxItemProps, 'children'> {
83
- className?: string;
84
- children: React.ReactNode;
85
- }
86
- interface SearchDialogItemIconProps {
87
- isHeading?: boolean;
88
- className?: string;
89
- }
90
- declare const SearchDialogRoot: ({ children, isOpen, onOpenChange, className, }: SearchDialogProps) => react_jsx_runtime.JSX.Element;
91
- declare const SearchDialogAutocomplete: <T extends object>({ children, className, onSelectionChange, ...props }: RAC.AutocompleteProps<T> & {
92
- className?: string;
93
- onSelectionChange?: (key: RAC.Key) => void;
94
- }) => react_jsx_runtime.JSX.Element;
95
- declare const SearchDialogInput: ({ className, ...props }: RAC.InputProps & {
96
- className?: string;
97
- }) => react_jsx_runtime.JSX.Element;
98
- declare const SearchDialogList: <T extends object>({ children, className, ...props }: RAC.ListBoxProps<T> & {
99
- className?: string;
100
- }) => react_jsx_runtime.JSX.Element;
101
- declare const SearchDialogItemRoot: ({ children, className, ...props }: SearchDialogItemProps) => react_jsx_runtime.JSX.Element;
102
- declare const SearchDialogItemIcon: ({ isHeading, className, }: SearchDialogItemIconProps) => react_jsx_runtime.JSX.Element;
103
- declare const SearchDialogItemTitle: ({ children, className, }: ComponentBase) => react_jsx_runtime.JSX.Element;
104
- declare const SearchDialogItemBio: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
105
-
106
- interface TOCItemType {
107
- title: ReactNode;
108
- url: string;
109
- depth: number;
110
- _step?: number;
111
- }
112
- type TableOfContents = TOCItemType[];
113
- interface TOCItemInfo {
114
- id: string;
115
- active: boolean;
116
- /** last time the item is updated */
117
- t: number;
118
- /** currently active but not intersecting in viewport */
119
- fallback: boolean;
120
- original?: TOCItemType;
121
- }
122
- interface AnchorProviderProps {
123
- toc: TOCItemType[];
124
- /**
125
- * Only accept one active item at most
126
- * @defaultValue false
127
- */
128
- single?: boolean;
129
- children?: ReactNode;
130
- }
131
- interface ScrollProviderProps {
132
- /**
133
- * Scroll into the view of container when active
134
- */
135
- containerRef: RefObject<HTMLElement | null>;
136
- children?: ReactNode;
137
- }
138
- interface OnThisPageContentProps extends ComponentBase {
139
- ref?: React__default.Ref<HTMLDivElement>;
140
- scrollRef?: RefObject<HTMLElement | null>;
141
- }
142
- interface OnThisPageItemProps extends ComponentBase {
143
- level?: number;
144
- }
145
- interface OnThisPageLinkProps extends ComponentBase {
146
- href?: string;
147
- active?: boolean;
148
- onClick?: (event: React__default.MouseEvent<HTMLAnchorElement>) => void;
149
- }
150
- interface OnThisPageIndicatorProps extends ComponentBase {
151
- style?: React__default.CSSProperties;
152
- }
153
- declare function useItems(): TOCItemInfo[];
154
- declare function useActiveAnchor(): string | undefined;
155
- declare function useActiveAnchors(): string[];
156
- /** Optional: add auto-scroll to TOC items. */
157
- declare function ScrollProvider({ containerRef, children, }: ScrollProviderProps): react_jsx_runtime.JSX.Element;
158
- declare function AnchorProvider({ toc, single, children, }: AnchorProviderProps): react_jsx_runtime.JSX.Element;
159
- declare const OnThisPageRoot: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
160
- declare const OnThisPageHeader: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
161
- declare const OnThisPageContent: {
162
- ({ children, className, ref, ...props }: OnThisPageContentProps): react_jsx_runtime.JSX.Element;
163
- displayName: string;
164
- };
165
- declare const OnThisPageList: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
166
- declare const OnThisPageItem: ({ level, children, className, }: OnThisPageItemProps) => react_jsx_runtime.JSX.Element;
167
- declare const OnThisPageLink: ({ children, href, active, onClick, className, }: OnThisPageLinkProps) => react_jsx_runtime.JSX.Element;
168
- declare const OnThisPageIndicator: ({ style, className, }: OnThisPageIndicatorProps) => react_jsx_runtime.JSX.Element;
169
-
170
- interface PageNavProps extends ComponentBase {
171
- to: string;
172
- direction: 'prev' | 'next';
173
- }
174
- declare const PageNavRoot: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
175
- declare const PageNavLink: ({ children, to, direction, className, }: PageNavProps) => react_jsx_runtime.JSX.Element;
176
- declare const PageNavTitle: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
177
- declare const PageNavDescription: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
178
- declare const PageNavIcon: ({ children }: ComponentBase) => react_jsx_runtime.JSX.Element;
179
-
180
- interface TabsItemProps extends ComponentBase {
181
- id: string;
182
- selected?: boolean;
183
- onClick?: () => void;
184
- onKeyDown?: (event: React.KeyboardEvent) => void;
185
- disabled?: boolean;
186
- }
187
- interface TabsIndicatorProps extends ComponentBase {
188
- style?: React.CSSProperties;
189
- }
190
- declare const TabsRoot: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
191
- declare const TabsList: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
192
- declare const TabsItem: ({ children, id, selected, className, ...props }: TabsItemProps) => react_jsx_runtime.JSX.Element;
193
- declare const TabsContent: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
194
- declare const TabsIndicator: ({ className, style, }: TabsIndicatorProps) => react_jsx_runtime.JSX.Element;
195
-
196
- interface SidebarGroupProps extends ComponentBase {
197
- title?: string;
198
- icon?: React.ElementType;
199
- isOpen?: boolean;
200
- onToggle?: () => void;
201
- }
202
- interface SidebarLinkProps extends ComponentBase {
203
- label: string;
204
- href: string;
205
- active?: boolean;
206
- icon?: React.ElementType;
207
- badge?: ComponentRoute['badge'];
208
- }
209
- declare const SidebarRoot: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
210
- declare const SidebarGroup: ({ children, title, icon: Icon, isOpen, onToggle, className, }: SidebarGroupProps) => react_jsx_runtime.JSX.Element;
211
- declare const SidebarGroupItem: ({ children, className }: ComponentBase) => react_jsx_runtime.JSX.Element;
212
- declare const SidebarLink: ({ label, href, active, icon: Icon, badge, className, }: SidebarLinkProps) => react_jsx_runtime.JSX.Element;
213
-
214
- declare const BreadcrumbsRoot: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
215
- declare const BreadcrumbsItem: ({ children, className, ...props }: ComponentBase) => react_jsx_runtime.JSX.Element;
216
- declare const BreadcrumbsLink: ({ children, href, className, ...props }: LinkProps & {
217
- className?: string;
218
- }) => react_jsx_runtime.JSX.Element;
219
- declare const BreadcrumbsSeparator: ({ className }: ComponentBase) => react_jsx_runtime.JSX.Element;
220
-
221
- interface ButtonGroupProps extends ComponentBase {
222
- vertical?: boolean;
223
- }
224
- declare const ButtonGroup: ({ children, className, vertical, }: ButtonGroupProps) => react_jsx_runtime.JSX.Element;
225
-
226
- interface PopoverProps extends Omit<RAC.PopoverProps, 'children'> {
227
- children: React.ReactNode;
228
- className?: string;
229
- showArrow?: boolean;
230
- }
231
- /**
232
- * A reusable Popover primitive with premium glassmorphism styling and smooth animations.
233
- */
234
- declare const Popover: ({ children, className, showArrow, ...props }: PopoverProps) => react_jsx_runtime.JSX.Element;
235
-
236
- /**
237
- * MenuTrigger wraps a trigger (usually a Button) and a Menu.
238
- */
239
- interface MenuTriggerProps extends RAC.MenuTriggerProps {
240
- placement?: PopoverProps['placement'];
241
- }
242
- declare function MenuTrigger(props: MenuTriggerProps): react_jsx_runtime.JSX.Element;
243
- /**
244
- * SubmenuTrigger for nested menus.
245
- */
246
- declare function SubmenuTrigger(props: RAC.SubmenuTriggerProps): react_jsx_runtime.JSX.Element;
247
- /**
248
- * The Menu container.
249
- */
250
- declare function Menu<T extends object>(props: RAC.MenuProps<T>): react_jsx_runtime.JSX.Element;
251
- /**
252
- * MenuItem with support for selection states and submenus.
253
- */
254
- declare function MenuItem(props: RAC.MenuItemProps): react_jsx_runtime.JSX.Element;
255
- /**
256
- * MenuSection for grouping items with an optional header.
257
- */
258
- interface MenuSectionProps<T> extends RAC.MenuSectionProps<T> {
259
- title?: string;
260
- }
261
- declare function MenuSection<T extends object>({ title, ...props }: MenuSectionProps<T>): react_jsx_runtime.JSX.Element;
262
- /**
263
- * MenuSeparator for visual division.
264
- */
265
- declare function MenuSeparator(props: RAC.SeparatorProps): react_jsx_runtime.JSX.Element;
266
-
267
- interface TooltipProps extends Omit<RAC.TooltipProps, 'children'> {
268
- /** The content to show inside the tooltip */
269
- content: ReactNode;
270
- /** The trigger element (usually a button or link) */
271
- children: React.ReactElement;
272
- /** Delay in milliseconds before showing the tooltip */
273
- delay?: number;
274
- /** Delay in milliseconds before hiding the tooltip */
275
- closeDelay?: number;
276
- }
277
- interface TooltipContentProps extends RAC.TooltipProps {
278
- }
279
- declare const Tooltip: ({ content, children, delay, closeDelay, ...props }: TooltipProps) => react_jsx_runtime.JSX.Element;
280
-
281
- interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
282
- variant?: 'rect' | 'circle';
283
- }
284
- /**
285
- * A flexible skeleton component that mimics the shape of content
286
- * while it is loading. Features a smooth pulse animation.
287
- */
288
- declare function Skeleton({ className, variant, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
289
-
290
- declare function cn(...inputs: ClassValue[]): string;
291
-
292
- export { AnchorProvider, type AnchorProviderProps, BreadcrumbsItem, BreadcrumbsLink, BreadcrumbsRoot, BreadcrumbsSeparator, ButtonGroup, type ButtonGroupProps, Icon, Menu, MenuItem, MenuSection, type MenuSectionProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, NavbarCenter, NavbarContent, NavbarLeft, NavbarLink, type NavbarLinkProps, NavbarLinks, NavbarLogo, type NavbarLogoProps, NavbarRight, NavbarRoot, NavbarSearchTrigger, type NavbarSearchTriggerProps, NavbarSocials, type NavbarSocialsProps, NavbarSplit, NavbarTheme, type NavbarThemeProps, NavbarTitle, 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, Skeleton, 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 };
@@ -1 +0,0 @@
1
- "use strict";var nt=Object.create;var J=Object.defineProperty;var st=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var it=Object.getPrototypeOf,lt=Object.prototype.hasOwnProperty;var ct=(e,t)=>{for(var o in t)J(e,o,{get:t[o],enumerable:!0})},ge=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of at(t))!lt.call(e,s)&&s!==o&&J(e,s,{get:()=>t[s],enumerable:!(r=st(t,s))||r.enumerable});return e};var N=(e,t,o)=>(o=e!=null?nt(it(e)):{},ge(t||!e||!e.__esModule?J(o,"default",{value:e,enumerable:!0}):o,e)),pt=e=>ge(J({},"__esModule",{value:!0}),e);var po={};ct(po,{AnchorProvider:()=>Bt,BreadcrumbsItem:()=>$t,BreadcrumbsLink:()=>qt,BreadcrumbsRoot:()=>Zt,BreadcrumbsSeparator:()=>Qt,Button:()=>Ut,ButtonGroup:()=>eo,Icon:()=>ye,Link:()=>T,Menu:()=>ro,MenuItem:()=>no,MenuSection:()=>so,MenuSeparator:()=>ao,MenuTrigger:()=>to,NavLink:()=>_e,NavbarCenter:()=>xt,NavbarContent:()=>ut,NavbarLeft:()=>ft,NavbarLink:()=>Ct,NavbarLinks:()=>bt,NavbarLogo:()=>ht,NavbarRight:()=>gt,NavbarRoot:()=>dt,NavbarSearchTrigger:()=>yt,NavbarSocials:()=>Pt,NavbarSplit:()=>wt,NavbarTheme:()=>Rt,NavbarTitle:()=>vt,OnThisPageContent:()=>ze,OnThisPageHeader:()=>St,OnThisPageIndicator:()=>zt,OnThisPageItem:()=>Mt,OnThisPageLink:()=>Ot,OnThisPageList:()=>It,OnThisPageRoot:()=>Lt,PageNavDescription:()=>We,PageNavIcon:()=>Fe,PageNavLink:()=>He,PageNavRoot:()=>Ee,PageNavTitle:()=>De,Popover:()=>oe,ScrollProvider:()=>kt,SearchDialogAutocomplete:()=>Ne,SearchDialogInput:()=>Ae,SearchDialogItemBio:()=>Se,SearchDialogItemIcon:()=>Be,SearchDialogItemRoot:()=>ke,SearchDialogItemTitle:()=>Le,SearchDialogList:()=>Te,SearchDialogRoot:()=>we,Separator:()=>L.Separator,SidebarGroup:()=>Xt,SidebarGroupItem:()=>_t,SidebarLink:()=>Yt,SidebarRoot:()=>Kt,Skeleton:()=>co,SubmenuTrigger:()=>oo,TabsContent:()=>Dt,TabsIndicator:()=>Wt,TabsItem:()=>Ht,TabsList:()=>Et,TabsRoot:()=>Vt,ToggleButton:()=>L.ToggleButton,Tooltip:()=>lo,buttonVariants:()=>ue,cn:()=>n,useActiveAnchor:()=>At,useActiveAnchors:()=>Tt,useItems:()=>ce});module.exports=pt(po);var X=require("react");var Ce=require("react-aria-components"),B=require("lucide-react");var R=require("react/jsx-runtime");function K(e){let{size:t=20,...o}=e;return{...o,width:t,height:t}}var xe=e=>(0,R.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,R.jsx)("title",{children:"GitHub"}),(0,R.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"})]}),he=e=>(0,R.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,R.jsx)("title",{children:"Discord"}),(0,R.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"})]}),ve=e=>(0,R.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,R.jsx)("title",{children:"X"}),(0,R.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 be=e=>(0,R.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",...K(e),children:[(0,R.jsx)("title",{children:"Bluesky"}),(0,R.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 i=require("react/jsx-runtime"),dt=({children:e,className:t,...o})=>(0,i.jsx)("header",{className:n("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}),ut=({children:e,className:t})=>(0,i.jsx)("div",{className:n("mx-auto flex lg:h-navbar max-w-(--breakpoint-3xl) items-center justify-between px-4 md:px-6",t),children:e}),ft=({children:e,className:t})=>(0,i.jsx)("div",{className:n("flex flex-1 items-center justify-start gap-4 min-w-0",t),children:e}),gt=({children:e,className:t})=>(0,i.jsx)("div",{className:n("flex flex-1 items-center justify-end gap-2 md:gap-4 min-w-0",t),children:e}),xt=({children:e,className:t})=>(0,i.jsx)("div",{className:n("hidden lg:flex flex-1 justify-center items-center gap-4 px-4 min-w-0 w-full",t),children:e}),ht=({src:e,alt:t,width:o=24,height:r=24,className:s})=>(0,i.jsx)(T,{href:"/",className:n("flex items-center gap-2 shrink-0 outline-none",s),children:e?(0,i.jsx)("img",{src:e,alt:t,width:o,height:r,className:"h-6 w-6 object-contain"}):null}),vt=({children:e,className:t})=>(0,i.jsx)(T,{href:"/",children:(0,i.jsx)("span",{className:n("text-lg font-bold tracking-tight hidden sm:inline-block",t),children:e})}),bt=({children:e,className:t})=>(0,i.jsx)("nav",{className:n("hidden md:flex items-center gap-6 text-sm font-medium",t),children:e}),Ct=({label:e,href:t,active:o,to:r,className:s})=>(0,i.jsxs)(T,{href:t,target:r==="external"?"_blank":void 0,className:n("transition-colors outline-none font-medium focus-visible:ring-2 focus-visible:ring-primary-500/30 rounded-sm",{"text-primary-500":o,"text-text-muted hover:text-text-main":!o},s),children:[e,r==="external"&&(0,i.jsx)("span",{className:"ml-1 inline-block",children:(0,i.jsx)(B.ExternalLink,{size:12})})]}),yt=({className:e,onPress:t})=>{let[o,r]=(0,X.useState)(!1),s=o&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);return(0,X.useEffect)(()=>{r(!0)},[]),(0,i.jsxs)(Ce.Button,{onPress:t,className:n("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-[720px] justify-between",e),children:[(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(B.Search,{size:16}),(0,i.jsx)("span",{className:"hidden sm:inline-block",children:"Search docs..."})]}),(0,i.jsxs)("div",{className:"hidden sm:flex items-center gap-1 pointer-events-none select-none",children:[(0,i.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:s?"\u2318":"Ctrl"}),(0,i.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"})]})]})},Rt=({className:e,theme:t,onThemeChange:o})=>(0,i.jsx)(L.ToggleButton,{isSelected:t==="dark",onChange:o,className:n("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,i.jsx)(B.Sun,{size:20}):(0,i.jsx)(B.Moon,{size:20})}),ye=({name:e})=>{if(e==="github")return(0,i.jsx)(xe,{});if(e==="discord")return(0,i.jsx)(he,{});if(e==="x")return(0,i.jsx)(ve,{});if(e==="bluesky")return(0,i.jsx)(be,{})},Pt=({icon:e,link:t,className:o})=>(0,i.jsx)(T,{href:t,target:"_blank",rel:"noopener noreferrer",className:n("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,i.jsx)(ye,{name:e})}),wt=({className:e})=>(0,i.jsx)(L.Separator,{orientation:"vertical",className:n("h-6 w-px bg-border-subtle mx-1",e)});var F=N(require("react-aria-components")),Nt=require("lucide-react");var Re=require("clsx"),Pe=require("tailwind-merge");function n(...e){return(0,Pe.twMerge)((0,Re.clsx)(e))}var ae=require("react/jsx-runtime");var v=N(require("react-aria-components")),S=require("lucide-react");var m=require("react/jsx-runtime"),we=({children:e,isOpen:t,onOpenChange:o,className:r})=>(0,m.jsx)(v.ModalOverlay,{isOpen:t,onOpenChange:o,isDismissable:!0,className:n("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,m.jsx)(v.Modal,{className:n("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,m.jsx)(v.Dialog,{className:"flex flex-col max-h-[70vh] focus:outline-none",children:e})})}),Ne=({children:e,className:t,onSelectionChange:o,...r})=>(0,m.jsx)("div",{className:t,children:(0,m.jsx)(v.Autocomplete,{...r,onSelectionChange:o,className:"flex flex-col min-h-0",children:e})}),Ae=({className:e,...t})=>(0,m.jsxs)(v.SearchField,{className:"flex items-center gap-3 border-b border-border-subtle px-4 py-4",autoFocus:!0,children:[(0,m.jsx)(S.Search,{className:"h-5 w-5 text-text-muted"}),(0,m.jsx)(v.Input,{...t,className:n("w-full bg-transparent text-lg text-text-main placeholder-text-muted outline-none",e),placeholder:"Search documentation..."}),(0,m.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,m.jsx)("kbd",{className:"font-sans",children:"ESC"})})]}),Te=({children:e,className:t,...o})=>(0,m.jsx)(v.ListBox,{...o,className:n("flex-1 overflow-y-auto p-2 outline-none",t),children:e}),ke=({children:e,className:t,...o})=>(0,m.jsx)(v.ListBoxItem,{...o,className:n("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,m.jsxs)(m.Fragment,{children:[e,(r.isFocused||r.isSelected)&&(0,m.jsxs)("div",{className:"ml-auto opacity-50 flex items-center gap-1",children:[(0,m.jsx)("span",{className:"text-[10px]",children:"Select"}),(0,m.jsx)(S.CornerDownLeft,{size:10})]})]})}),Be=({isHeading:e,className:t})=>(0,m.jsx)("div",{className:n("shrink-0",t),children:e?(0,m.jsx)(S.Hash,{size:18}):(0,m.jsx)(S.FileText,{size:18})}),Le=({children:e,className:t})=>(0,m.jsx)("span",{className:n("block font-medium truncate flex-1 text-sm",t),children:e}),Se=({children:e,className:t})=>(0,m.jsx)("span",{className:n("ml-2 text-xs opacity-70 truncate hidden sm:inline group-focus:opacity-100",t),children:e}),wo={Root:we,Autocomplete:Ne,Input:Ae,List:Te,Item:Object.assign(ke,{Icon:Be,Title:Le,Bio:Se})};var u=require("react"),Me=N(require("scroll-into-view-if-needed"));var _=require("react");function Ie(e,t){let o=(0,_.useRef)(e);(0,_.useEffect)(()=>{o.current!==e&&(t(e),o.current=e)},[e,t])}function ie(e){return e.startsWith("#")?e.slice(1):null}var Y=class{items=[];single=!1;observer=null;onChange;callback(t){if(t.length===0)return;for(let r of t){let s=this.items.find(a=>a.id===r.target.id);if(s){s.active=r.isIntersecting;let a=100;s.fallback=!r.isIntersecting&&r.boundingClientRect.top<a}}let o=-1;for(let r=this.items.length-1;r>=0;r--)if(this.items[r].fallback){o=r;break}o===-1&&this.items.length>0&&(o=0),this.items=this.items.map((r,s)=>({...r,active:s===o,t:s===o?Date.now():r.t})),this.onChange?.()}setItems(t){let o=this.observer;if(o)for(let r of this.items){let s=document.getElementById(r.id);s&&o.unobserve(s)}this.items=[];for(let r of t){let s=ie(r.url);s&&this.items.push({id:s,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}};var k=require("react/jsx-runtime"),le=(0,u.createContext)(null),Oe=(0,u.createContext)(null);function ce(){let e=(0,u.use)(le);if(!e)throw new Error("Component must be used under the <AnchorProvider /> component.");return e}function At(){let e=ce();return(0,u.useMemo)(()=>{let t;for(let o of e)o.active&&(!t||o.t>t.t)&&(t=o);return t?.id},[e])}function Tt(){let e=ce();return(0,u.useMemo)(()=>{let t=[];for(let o of e)o.active&&t.push(o.id);return t},[e])}function kt({containerRef:e,children:t}){return(0,k.jsx)(Oe.Provider,{value:e,children:t})}function Bt({toc:e,single:t=!1,children:o}){let r=(0,u.useMemo)(()=>new Y,[]),[s,a]=(0,u.useState)(r.items);return r.single=t,(0,u.useEffect)(()=>{r.setItems(e)},[r,e]),(0,u.useEffect)(()=>(r.watch({rootMargin:"-100px 0% 0% 0%",threshold:0}),r.onChange=()=>a([...r.items]),()=>{r.unwatch()}),[r]),(0,k.jsx)(le.Provider,{value:s,children:o})}var Lt=({children:e,className:t})=>(0,k.jsx)("nav",{className:n("sticky top-navbar hidden xl:flex flex-col shrink-0","w-toc","py-8 pl-6 pr-4",t),children:e}),St=({children:e,className:t,...o})=>(0,k.jsx)("div",{className:n("mb-4 text-xs font-bold uppercase tracking-wider text-text-main",t),...o,children:e}),ze=({children:e,className:t,ref:o,...r})=>{let s=(0,u.useRef)(null);return(0,u.useImperativeHandle)(o,()=>s.current),(0,k.jsx)("div",{ref:s,className:n("relative overflow-y-auto boltdocs-otp-content",t),...r,children:e})};ze.displayName="OnThisPageContent";var It=({children:e,className:t})=>(0,k.jsx)("ul",{className:n("relative space-y-1 text-sm border-l border-border-subtle",t),children:e}),Mt=({level:e,children:t,className:o})=>(0,k.jsx)("li",{className:n(e===3&&"pl-3",o),children:t}),Ot=({children:e,href:t,active:o,onClick:r,className:s})=>{let a=(0,u.use)(le),h=(0,u.use)(Oe),l=t?ie(t):null,c=(0,u.useRef)(null),[C,y]=(0,u.useState)(o);return Ie(l&&a?a.find(f=>f.id===l)?.active:null,f=>{f!==null&&f!==C&&(y(!!f),f&&c.current&&h?.current&&(0,Me.default)(c.current,{behavior:"smooth",block:"center",inline:"center",scrollMode:"if-needed",boundary:h.current}))}),(0,u.useEffect)(()=>{o!==void 0&&y(o)},[o]),(0,k.jsx)("a",{ref:c,href:t,onClick:r,"data-active":C,className:n("block py-1 pl-4 text-[13px] outline-none transition-colors hover:text-text-main",C?"text-primary-500 font-medium":"text-text-muted",s),children:e})},zt=({style:e,className:t})=>(0,k.jsx)("div",{className:n("absolute -left-px w-0.5 rounded-full bg-primary-500 transition-all duration-300",t),style:e});var Ve=N(require("react-aria-components")),Z=require("lucide-react");var P=require("react/jsx-runtime"),Ee=({children:e,className:t})=>(0,P.jsx)("nav",{className:n("grid grid-cols-1 sm:grid-cols-2 gap-4 mt-12 pt-8 border-t border-border-subtle",t),children:e}),He=({children:e,to:t,direction:o,className:r})=>{let s=o==="next";return(0,P.jsxs)(Ve.Link,{href:t,className:n("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",s?"text-right justify-end":"text-left justify-start",r),children:[!s&&(0,P.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,P.jsx)("div",{className:"flex flex-col gap-1 flex-1",children:e}),s&&(0,P.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"})]})},De=({children:e,className:t})=>(0,P.jsx)("span",{className:n("text-xs font-medium uppercase tracking-wider text-text-muted",t),children:e}),We=({children:e,className:t})=>(0,P.jsx)("span",{className:n("text-base font-bold text-text-main truncate",t),children:e}),Fe=({children:e})=>(0,P.jsx)(P.Fragment,{children:e}),Ho={PageNavRoot:Ee,PageNavLink:Object.assign(He,{Title:De,Description:We,Icon:Fe})};var M=require("react/jsx-runtime"),Vt=({children:e,className:t="",...o})=>(0,M.jsx)("div",{className:n("w-full",t),...o,children:e}),Et=({children:e,className:t=""})=>(0,M.jsx)("div",{role:"tablist",className:n("relative flex flex-row items-center border-b border-border-subtle",t),children:e}),Ht=({children:e,id:t,selected:o,className:r="",...s})=>(0,M.jsx)("button",{role:"tab","aria-selected":o,className:n("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),...s,children:e}),Dt=({children:e,className:t=""})=>(0,M.jsx)("div",{className:n("p-4 outline-none",t),children:e}),Wt=({className:e="",style:t})=>(0,M.jsx)("div",{className:n("absolute bottom-0 h-0.5 bg-primary-500 transition-all duration-300",e),style:t});var me=N(require("react")),Ke=require("react-aria-components"),Xe=require("react-router-dom");var $=require("react"),Ft=(0,$.createContext)(null);function q(){let e=(0,$.use)(Ft);if(!e)throw new Error("useConfig must be used within a ConfigProvider");return e}var je=require("react-router-dom");var O=require("react"),jt=require("react/jsx-runtime"),Gt=(0,O.createContext)({preload:()=>{},routes:[]});function Q(){return(0,O.use)(Gt)}var Ge=require("zustand"),U=require("zustand/middleware"),ee=(0,Ge.create)()((0,U.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,U.createJSONStorage)(()=>localStorage),partialize:e=>({currentLocale:e.currentLocale,currentVersion:e.currentVersion}),onRehydrateStorage:()=>e=>{e?.setHasHydrated(!0)}}));function Je(){let{routes:e}=Q(),t=q(),o=(0,je.useLocation)(),r=ee(p=>p.currentLocale),s=ee(p=>p.currentVersion),a=ee(p=>p.hasHydrated),h=e.find(p=>p.path===o.pathname),l=t.i18n?h?.locale||(a?r:void 0)||t.i18n.defaultLocale:void 0,c=t.versions?h?.version||(a?s:void 0)||t.versions.defaultVersion:void 0,C=e.filter(p=>{let re=t.i18n?(p.locale||t.i18n.defaultLocale)===l:!0,ne=t.versions?(p.version||t.versions.defaultVersion)===c:!0;if(!(re&&ne))return!1;let se=t.i18n;if(se){let ot=!!h?.locale,rt=!!p.locale;if(e.some(j=>j!==p&&j.filePath===p.filePath&&j.version===p.version&&(j.locale||se.defaultLocale)===(p.locale||se.defaultLocale))&&ot!==rt)return!1}return!0}),f=t.i18n?.localeConfigs?.[l]?.label||t.i18n?.locales[l]||l,I=t.versions?.versions.find(p=>p.path===c)?.label||c,et=t.i18n?Object.entries(t.i18n.locales).map(([p,re])=>{let ne=t.i18n?.localeConfigs?.[p];return{key:p,label:ne?.label||re,isCurrent:p===l}}):[],tt=t.versions?t.versions.versions.map(p=>({key:p.path,label:p.label,isCurrent:p.path===c})):[];return{routes:C,allRoutes:e,currentRoute:h,currentLocale:l,currentLocaleLabel:f,availableLocales:et,currentVersion:c,currentVersionLabel:I,availableVersions:tt,config:t}}function pe(e){let t=q(),{currentLocale:o,currentVersion:r}=Je();if(!t||typeof e!="string"||e.startsWith("http")||e.startsWith("//"))return e;let s=t.i18n,a=t.versions;if(!s&&!a)return e;let h=e.startsWith("/docs"),l=e.split("/").filter(Boolean),c=0;l[c]==="docs"&&c++,a&&l.length>c&&a.versions.find(I=>I.path===l[c])&&c++,s&&l.length>c&&s.locales[l[c]]&&c++;let C=l.slice(c),y=[];h&&(y.push("docs"),a&&r&&y.push(r)),s&&o&&o!==s.defaultLocale&&y.push(o),y.push(...C);let f=`/${y.join("/")}`;return f.length>1&&f.endsWith("/")?f.slice(0,-1):f||"/"}var de=require("react/jsx-runtime"),T=me.default.forwardRef((e,t)=>{let{href:o,prefetch:r="hover",onMouseEnter:s,onFocus:a,...h}=e,l=pe(o??""),{preload:c}=Q();return(0,de.jsx)(Ke.Link,{...h,ref:t,href:l,onMouseEnter:f=>{s?.(f),r==="hover"&&typeof l=="string"&&l.startsWith("/")&&c(l)},onFocus:f=>{a?.(f),r==="hover"&&typeof l=="string"&&l.startsWith("/")&&c(l)}})});T.displayName="Link";var _e=me.default.forwardRef((e,t)=>{let{href:o,end:r=!1,className:s,children:a,...h}=e,l=(0,Xe.useLocation)(),c=pe(o??""),C=r?l.pathname===c:l.pathname.startsWith(c),y=typeof s=="function"?s({isActive:C}):n(s,C&&"active"),f=typeof a=="function"?a({isActive:C}):a;return(0,de.jsx)(T,{...h,ref:t,href:o,className:y,children:f})});_e.displayName="NavLink";var Ye=N(require("react-aria-components")),Ze=require("lucide-react");var b=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),s=new Date,a=r.getTime()-s.getTime();if(Math.ceil(a/(1e3*60*60*24))===0)return null}let o=typeof e=="string"?e:e?.text;return(0,b.jsx)("span",{className:n("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})},Kt=({children:e,className:t})=>(0,b.jsx)("aside",{className:n("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,b.jsx)("nav",{className:"flex-1 space-y-6",children:e})}),Xt=({children:e,title:t,icon:o,isOpen:r=!0,onToggle:s,className:a})=>(0,b.jsxs)("div",{className:n("space-y-1",a),children:[t&&(0,b.jsxs)(Ye.Button,{onPress:s,className:n("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,b.jsxs)("div",{className:"flex items-center gap-2",children:[o&&(0,b.jsx)(o,{size:14}),t]}),(0,b.jsx)(Ze.ChevronRight,{size:14,className:n("transition-transform duration-200",r&&"rotate-90")})]}),r&&(0,b.jsx)("div",{className:"space-y-0.5",children:e})]}),_t=({children:e,className:t})=>(0,b.jsx)("div",{className:n(t),children:e}),Yt=({label:e,href:t,active:o,icon:r,badge:s,className:a})=>(0,b.jsxs)(T,{href:t,className:n("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",a),children:[r&&(0,b.jsx)(r,{size:16,className:n(o?"text-primary-500":"text-text-muted group-hover:text-text-main")}),(0,b.jsx)("span",{className:"truncate",children:e}),s&&(0,b.jsx)(Jt,{badge:s})]});var z=require("react-aria-components"),$e=require("lucide-react");var G=require("react/jsx-runtime"),Zt=({children:e,className:t,...o})=>(0,G.jsx)(z.Breadcrumbs,{className:n("flex items-center gap-1.5 pl-0! mb-0 text-sm text-text-muted",t),...o,children:e}),$t=({children:e,className:t,...o})=>(0,G.jsx)(z.Breadcrumb,{className:n("flex items-center mb-0 gap-1.5",t),...o,children:e}),qt=({children:e,href:t,className:o,...r})=>(0,G.jsx)(z.Link,{href:t,className:n("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}),Qt=({className:e})=>(0,G.jsx)($e.ChevronRight,{size:14,className:n("shrink-0 text-text-dim",e)});var te=N(require("react-aria-components"));var qe=require("class-variance-authority"),A=require("react/jsx-runtime"),ue=(0,qe.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"}}),Ut=({href:e,icon:t,iconPosition:o="left",isIconOnly:r,children:s,className:a,variant:h,size:l,rounded:c,iconSize:C,disabled:y,...f})=>{let W=r||!s&&!!t,I=W?(0,A.jsx)("span",{className:"inline-flex items-center justify-center [&>svg]:w-[1.2rem] [&>svg]:h-[1.2rem]",children:t}):(0,A.jsxs)(A.Fragment,{children:[t&&o==="left"&&(0,A.jsx)("span",{className:"inline-flex items-center shrink-0 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]",children:t}),(0,A.jsx)("span",{className:"flex items-center",children:s}),t&&o==="right"&&(0,A.jsx)("span",{className:"inline-flex items-center shrink-0 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]",children:t})]});return e?(0,A.jsx)(te.Link,{href:e,className:n(ue({variant:h,size:l,rounded:c,iconSize:W?C:void 0,disabled:y}),a),...f,children:I}):(0,A.jsx)(te.Button,{className:n(ue({variant:h,size:l,rounded:c,iconSize:W?C:void 0,disabled:y}),a),...f,children:I})};var Qe=require("react/jsx-runtime"),eo=({children:e,className:t,vertical:o=!1})=>(0,Qe.jsx)("div",{className:n("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 H=require("lucide-react"),fe=N(require("react")),x=N(require("react-aria-components"));var E=N(require("react-aria-components"));var V=require("react/jsx-runtime"),oe=({children:e,className:t,showArrow:o,...r})=>(0,V.jsxs)(E.Popover,{offset:8,...r,className:E.composeRenderProps(t,s=>n("z-50 overflow-auto rounded-xl border border-border-subtle bg-bg-surface/80 shadow-xl backdrop-blur-md outline-none transition-none",s)),children:[o&&(0,V.jsx)(E.OverlayArrow,{className:"group",children:(0,V.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,V.jsx)("path",{d:"M0 0 L6 6 L12 0"})})}),e]});var g=require("react/jsx-runtime");function to(e){let[t,o]=fe.default.Children.toArray(e.children).slice(0,2);return(0,g.jsxs)(x.MenuTrigger,{...e,children:[t,(0,g.jsx)(oe,{placement:e.placement,className:"min-w-35",children:o})]})}function oo(e){let[t,o]=fe.default.Children.toArray(e.children).slice(0,2);return(0,g.jsxs)(x.SubmenuTrigger,{...e,children:[t,(0,g.jsx)(oe,{offset:-4,crossOffset:-4,children:o})]})}function ro(e){return(0,g.jsx)(x.Menu,{...e,className:x.composeRenderProps(e.className,t=>n("p-1.5 outline-none max-h-[inherit] overflow-auto max-w-75",t))})}function no(e){let t=e.textValue||(typeof e.children=="string"?e.children:void 0);return(0,g.jsx)(x.MenuItem,{...e,textValue:t,className:x.composeRenderProps(e.className,(o,{isFocused:r,isPressed:s,isDisabled:a})=>n("group relative flex flex-row items-center gap-2 px-2 py-1 rounded-lg outline-none cursor-default hover:cursor-pointer transition-none","text-text-main text-[12px]",{"bg-bg-surface-elevated text-primary-600 ring-1 ring-border-strong/5":r,"bg-bg-surface-elevanted":s,"opacity-40 grayscale pointer-events-none":a},o)),children:x.composeRenderProps(e.children,(o,{selectionMode:r,isSelected:s,hasSubmenu:a})=>(0,g.jsxs)(g.Fragment,{children:[r!=="none"&&(0,g.jsxs)("span",{className:"flex items-center size-4 shrink-0 justify-center",children:[s&&r==="multiple"&&(0,g.jsx)(H.Check,{className:"size-3.5 stroke-[2.5px] text-primary-500 animate-in zoom-in-50 duration-200"}),s&&r==="single"&&(0,g.jsx)(H.Dot,{className:"size-5 text-primary-500 animate-in zoom-in-50 duration-200"})]}),(0,g.jsx)("div",{className:"flex flex-row w-full transition-colors items-center gap-2 py-1 px-1",children:o}),a&&(0,g.jsx)(H.ChevronRight,{className:"size-4 ml-auto text-text-muted group-focused:text-primary-500/70 transition-colors"})]}))})}function so({title:e,...t}){return(0,g.jsxs)(x.MenuSection,{...t,className:n("flex flex-col gap-0.5",t.className),children:[e&&(0,g.jsx)(x.Header,{className:"px-3 py-2 text-[10px] font-bold uppercase tracking-[0.075em] text-text-muted/50 select-none",children:e}),(0,g.jsx)(x.Collection,{items:t.items,children:t.children})]})}function ao(e){return(0,g.jsx)(x.Separator,{...e,className:"mx-2 my-1.5 border-t border-border-subtle/50"})}var D=N(require("react-aria-components"));var w=require("react/jsx-runtime"),io=({className:e,children:t,...o})=>(0,w.jsx)(D.Tooltip,{...o,offset:8,className:r=>n("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,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(D.OverlayArrow,{children:(0,w.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,w.jsx)("title",{children:"Arrow"}),(0,w.jsx)("path",{d:"M0 0 L4 4 L8 0"})]})}),typeof t=="function"?t(r):t]})}),lo=({content:e,children:t,delay:o=500,closeDelay:r=0,...s})=>(0,w.jsxs)(D.TooltipTrigger,{delay:o,closeDelay:r,children:[t,(0,w.jsx)(io,{...s,children:e})]});var Ue=require("react/jsx-runtime");function co({className:e,variant:t="rect",...o}){return(0,Ue.jsx)("div",{className:n("animate-pulse bg-bg-muted",t==="circle"?"rounded-full":"rounded-md",e),...o})}var L=require("react-aria-components");
@@ -1 +0,0 @@
1
- import{$ as O,A as p,Aa as ka,B as q,Ba as la,C as r,D as s,Da as ma,E as t,Ea as na,Fa as oa,G as u,H as v,I as w,J as x,K as y,L as z,M as A,N as B,O as C,P as D,Q as E,R as F,S as G,T as H,U as I,V as J,W as K,X as L,Y as M,Z as N,a,aa as P,b,ba as Q,c,ca as R,d,da as S,e,fa as T,ga as U,ha as V,ia as W,ja as X,la as Y,ma as Z,na as _,oa as $,q as f,qa as aa,r as g,ra as ba,s as h,sa as ca,t as i,ta as da,u as j,ua as ea,v as k,va as fa,w as l,wa as ga,x as m,xa as ha,y as n,ya as ia,z as o,za as ja}from"../chunk-WWJ7WKDI.mjs";import"../chunk-NBCYHLAA.mjs";import"../chunk-JZXLCA2E.mjs";export{G as AnchorProvider,ba as BreadcrumbsItem,ca as BreadcrumbsLink,aa as BreadcrumbsRoot,da as BreadcrumbsSeparator,e as Button,ea as ButtonGroup,r as Icon,b as Link,ia as Menu,ja as MenuItem,ka as MenuSection,la as MenuSeparator,ga as MenuTrigger,c as NavLink,k as NavbarCenter,h as NavbarContent,i as NavbarLeft,o as NavbarLink,n as NavbarLinks,l as NavbarLogo,j as NavbarRight,g as NavbarRoot,p as NavbarSearchTrigger,s as NavbarSocials,t as NavbarSplit,q as NavbarTheme,m as NavbarTitle,J as OnThisPageContent,I as OnThisPageHeader,N as OnThisPageIndicator,L as OnThisPageItem,M as OnThisPageLink,K as OnThisPageList,H as OnThisPageRoot,R as PageNavDescription,S as PageNavIcon,P as PageNavLink,O as PageNavRoot,Q as PageNavTitle,fa as Popover,F as ScrollProvider,v as SearchDialogAutocomplete,w as SearchDialogInput,B as SearchDialogItemBio,z as SearchDialogItemIcon,y as SearchDialogItemRoot,A as SearchDialogItemTitle,x as SearchDialogList,u as SearchDialogRoot,na as Separator,Z as SidebarGroup,_ as SidebarGroupItem,$ as SidebarLink,Y as SidebarRoot,ma as Skeleton,ha as SubmenuTrigger,W as TabsContent,X as TabsIndicator,V as TabsItem,U as TabsList,T as TabsRoot,oa as ToggleButton,f as Tooltip,d as buttonVariants,a as cn,D as useActiveAnchor,E as useActiveAnchors,C as useItems};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UBE4CKOA.mjs";import"./chunk-2Z5T6EAU.mjs";import"./chunk-WWJ7WKDI.mjs";import"./chunk-NBCYHLAA.mjs";import"./chunk-JZXLCA2E.mjs";export{a as SearchDialog};