@cloudvoyant/helix-react 0.11.0-rc.202608270956.10f653f

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/dist/index.cjs ADDED
@@ -0,0 +1,1425 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ Badge: () => Badge,
34
+ Button: () => Button,
35
+ Card: () => Card,
36
+ CardBody: () => CardBody,
37
+ CardCover: () => CardCover,
38
+ CardDescription: () => CardDescription,
39
+ CardFooter: () => CardFooter,
40
+ CardHeader: () => CardHeader,
41
+ CardTitle: () => CardTitle,
42
+ Center: () => Center,
43
+ Col: () => Col,
44
+ Container: () => Container,
45
+ HStack: () => HStack,
46
+ Item: () => Item,
47
+ Navbar: () => Navbar,
48
+ NavbarActions: () => NavbarActions,
49
+ NavbarActivationArea: () => NavbarActivationArea,
50
+ NavbarBrand: () => NavbarBrand,
51
+ NavbarMenu: () => NavbarMenu,
52
+ NavbarMenuContent: () => NavbarMenuContent,
53
+ NavbarMenuIndicator: () => NavbarMenuIndicator,
54
+ NavbarMenuItem: () => NavbarMenuItem,
55
+ NavbarMenuLink: () => NavbarMenuLink,
56
+ NavbarMenuList: () => NavbarMenuList,
57
+ NavbarMenuTrigger: () => NavbarMenuTrigger,
58
+ NavbarMenuViewport: () => NavbarMenuViewport,
59
+ NavbarMenuViewportPositioner: () => import_navigation_menu.NavigationMenuViewportPositioner,
60
+ NavbarMobileMenu: () => NavbarMobileMenu,
61
+ NavbarMobileMenuContent: () => NavbarMobileMenuContent,
62
+ NavbarMobileMenuTrigger: () => NavbarMobileMenuTrigger,
63
+ NavbarMobileOverlay: () => NavbarMobileOverlay,
64
+ NavbarProvider: () => NavbarProvider,
65
+ NavbarTrigger: () => NavbarTrigger,
66
+ Pagination: () => Pagination,
67
+ PaginationEllipsis: () => PaginationEllipsis,
68
+ PaginationItem: () => PaginationItem,
69
+ PaginationItems: () => PaginationItems,
70
+ PaginationNext: () => PaginationNext,
71
+ PaginationPrevious: () => PaginationPrevious,
72
+ Row: () => Row,
73
+ Scroll: () => Scroll,
74
+ Sidebar: () => Root,
75
+ SidebarContent: () => Content,
76
+ SidebarFooter: () => Footer,
77
+ SidebarGroup: () => Group,
78
+ SidebarGroupAction: () => GroupAction,
79
+ SidebarHeader: () => Header,
80
+ SidebarInput: () => Input,
81
+ SidebarInset: () => Inset,
82
+ SidebarMenu: () => Menu,
83
+ SidebarMenuAction: () => MenuAction,
84
+ SidebarMenuBadge: () => MenuBadge,
85
+ SidebarMenuButton: () => MenuButton,
86
+ SidebarMenuItem: () => MenuItem,
87
+ SidebarMenuLink: () => MenuLink,
88
+ SidebarMenuSkeleton: () => MenuSkeleton,
89
+ SidebarMenuSub: () => MenuSub,
90
+ SidebarMenuSubButton: () => MenuSubButton,
91
+ SidebarMenuSubItem: () => MenuSubItem,
92
+ SidebarProvider: () => Provider,
93
+ SidebarRail: () => Rail,
94
+ SidebarSeparator: () => Separator,
95
+ SidebarTrigger: () => Trigger,
96
+ Splitter: () => Splitter,
97
+ SplitterPanel: () => SplitterPanel,
98
+ SplitterResizeTrigger: () => SplitterResizeTrigger,
99
+ SplitterResizeTriggerIndicator: () => SplitterResizeTriggerIndicator,
100
+ Stack: () => Stack,
101
+ Tabs: () => Tabs,
102
+ TabsContent: () => TabsContent,
103
+ TabsList: () => TabsList,
104
+ TabsTrigger: () => TabsTrigger,
105
+ ToggleButton: () => ToggleButton,
106
+ ToggleButtonIndicator: () => ToggleButtonIndicator,
107
+ VStack: () => VStack,
108
+ navbarMenuTriggerStyle: () => import_helix44.navbarMenuTriggerStyle,
109
+ useNavbar: () => useNavbar,
110
+ useSidebar: () => useSidebar,
111
+ useTabs: () => useTabs
112
+ });
113
+ module.exports = __toCommonJS(index_exports);
114
+
115
+ // src/button.tsx
116
+ var import_factory = require("@ark-ui/react/factory");
117
+ var import_helix = require("@cloudvoyant/helix");
118
+ var import_jsx_runtime = require("react/jsx-runtime");
119
+ function Button({ className, variant, color, size, type = "button", ...props }) {
120
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_factory.ark.button, { type, className: (0, import_helix.cn)((0, import_helix.buttonVariants)({ variant, color, size }), className), ...props });
121
+ }
122
+
123
+ // src/toggle-button.tsx
124
+ var import_toggle = require("@ark-ui/react/toggle");
125
+ var import_helix2 = require("@cloudvoyant/helix");
126
+ var import_jsx_runtime2 = require("react/jsx-runtime");
127
+ function ToggleButton({ className, variant, size, ...props }) {
128
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_toggle.ToggleRoot, { className: (0, import_helix2.cn)((0, import_helix2.toggleButtonVariants)({ variant, size }), className), ...props });
129
+ }
130
+ function ToggleButtonIndicator(props) {
131
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_toggle.ToggleIndicator, { ...props });
132
+ }
133
+
134
+ // src/badge.tsx
135
+ var import_factory2 = require("@ark-ui/react/factory");
136
+ var import_helix3 = require("@cloudvoyant/helix");
137
+ var import_jsx_runtime3 = require("react/jsx-runtime");
138
+ function Badge({ className, variant, color, size, ...props }) {
139
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_factory2.ark.span, { className: (0, import_helix3.cn)((0, import_helix3.badgeVariants)({ variant, color, size }), className), ...props });
140
+ }
141
+
142
+ // src/container.tsx
143
+ var import_factory3 = require("@ark-ui/react/factory");
144
+ var import_helix4 = require("@cloudvoyant/helix");
145
+ var import_jsx_runtime4 = require("react/jsx-runtime");
146
+ function Container({ className, ...props }) {
147
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_factory3.ark.div, { className: (0, import_helix4.cn)(import_helix4.containerBase, className), ...props });
148
+ }
149
+
150
+ // src/row.tsx
151
+ var import_factory4 = require("@ark-ui/react/factory");
152
+ var import_helix5 = require("@cloudvoyant/helix");
153
+ var import_jsx_runtime5 = require("react/jsx-runtime");
154
+ function Row({ className, ...props }) {
155
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_factory4.ark.div, { className: (0, import_helix5.cn)(import_helix5.rowBase, className), ...props });
156
+ }
157
+
158
+ // src/col.tsx
159
+ var import_factory5 = require("@ark-ui/react/factory");
160
+ var import_helix6 = require("@cloudvoyant/helix");
161
+ var import_jsx_runtime6 = require("react/jsx-runtime");
162
+ function Col({ className, ...props }) {
163
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_factory5.ark.div, { className: (0, import_helix6.cn)(import_helix6.colBase, className), ...props });
164
+ }
165
+
166
+ // src/center.tsx
167
+ var import_factory6 = require("@ark-ui/react/factory");
168
+ var import_helix7 = require("@cloudvoyant/helix");
169
+ var import_jsx_runtime7 = require("react/jsx-runtime");
170
+ function Center({ className, ...props }) {
171
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_factory6.ark.div, { className: (0, import_helix7.cn)(import_helix7.centerBase, className), ...props });
172
+ }
173
+
174
+ // src/item.tsx
175
+ var import_factory7 = require("@ark-ui/react/factory");
176
+ var import_helix8 = require("@cloudvoyant/helix");
177
+ var import_jsx_runtime8 = require("react/jsx-runtime");
178
+ function Item({ className, variant, ...props }) {
179
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_factory7.ark.div, { className: (0, import_helix8.cn)((0, import_helix8.itemVariants)({ variant }), className), ...props });
180
+ }
181
+
182
+ // src/card/root.tsx
183
+ var import_factory8 = require("@ark-ui/react/factory");
184
+ var import_helix9 = require("@cloudvoyant/helix");
185
+
186
+ // src/card/context.ts
187
+ var import_react = require("react");
188
+ var CardOrientationContext = (0, import_react.createContext)("vertical");
189
+ function useCardOrientation() {
190
+ return (0, import_react.useContext)(CardOrientationContext);
191
+ }
192
+
193
+ // src/card/root.tsx
194
+ var import_jsx_runtime9 = require("react/jsx-runtime");
195
+ function Card({ className, variant, size, orientation, children, ...props }) {
196
+ const resolvedOrientation = orientation ?? "vertical";
197
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(CardOrientationContext.Provider, { value: resolvedOrientation, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_factory8.ark.div, { className: (0, import_helix9.cn)((0, import_helix9.cardVariants)({ variant, size, orientation: resolvedOrientation }), className), ...props, children }) });
198
+ }
199
+
200
+ // src/card/header.tsx
201
+ var import_factory9 = require("@ark-ui/react/factory");
202
+ var import_helix10 = require("@cloudvoyant/helix");
203
+ var import_jsx_runtime10 = require("react/jsx-runtime");
204
+ function CardHeader({ className, ...props }) {
205
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_factory9.ark.div, { className: (0, import_helix10.cn)(import_helix10.cardHeaderBase, className), ...props });
206
+ }
207
+
208
+ // src/card/body.tsx
209
+ var import_factory10 = require("@ark-ui/react/factory");
210
+ var import_helix11 = require("@cloudvoyant/helix");
211
+ var import_jsx_runtime11 = require("react/jsx-runtime");
212
+ function CardBody({ className, ...props }) {
213
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_factory10.ark.div, { className: (0, import_helix11.cn)(import_helix11.cardBodyBase, className), ...props });
214
+ }
215
+
216
+ // src/card/footer.tsx
217
+ var import_factory11 = require("@ark-ui/react/factory");
218
+ var import_helix12 = require("@cloudvoyant/helix");
219
+ var import_jsx_runtime12 = require("react/jsx-runtime");
220
+ function CardFooter({ className, ...props }) {
221
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_factory11.ark.div, { className: (0, import_helix12.cn)(import_helix12.cardFooterBase, className), ...props });
222
+ }
223
+
224
+ // src/card/title.tsx
225
+ var import_factory12 = require("@ark-ui/react/factory");
226
+ var import_helix13 = require("@cloudvoyant/helix");
227
+ var import_jsx_runtime13 = require("react/jsx-runtime");
228
+ function CardTitle({ className, ...props }) {
229
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_factory12.ark.h3, { className: (0, import_helix13.cn)(import_helix13.cardTitleBase, className), ...props });
230
+ }
231
+
232
+ // src/card/description.tsx
233
+ var import_factory13 = require("@ark-ui/react/factory");
234
+ var import_helix14 = require("@cloudvoyant/helix");
235
+ var import_jsx_runtime14 = require("react/jsx-runtime");
236
+ function CardDescription({ className, ...props }) {
237
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_factory13.ark.p, { className: (0, import_helix14.cn)(import_helix14.cardDescriptionBase, className), ...props });
238
+ }
239
+
240
+ // src/card/cover.tsx
241
+ var import_factory14 = require("@ark-ui/react/factory");
242
+ var import_helix15 = require("@cloudvoyant/helix");
243
+ var import_jsx_runtime15 = require("react/jsx-runtime");
244
+ function CardCover({ className, variant, orientation, ...props }) {
245
+ const contextOrientation = useCardOrientation();
246
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
247
+ import_factory14.ark.div,
248
+ {
249
+ className: (0, import_helix15.cn)((0, import_helix15.cardCoverVariants)({ variant, orientation: orientation ?? contextOrientation }), className),
250
+ ...props
251
+ }
252
+ );
253
+ }
254
+
255
+ // src/stack.tsx
256
+ var import_factory15 = require("@ark-ui/react/factory");
257
+ var import_helix16 = require("@cloudvoyant/helix");
258
+ var import_jsx_runtime16 = require("react/jsx-runtime");
259
+ function Stack({ className, ...props }) {
260
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_factory15.ark.div, { className: (0, import_helix16.cn)(import_helix16.stackBase, className), ...props });
261
+ }
262
+ function HStack({ className, ...props }) {
263
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_factory15.ark.div, { className: (0, import_helix16.cn)(import_helix16.hstackBase, className), ...props });
264
+ }
265
+ function VStack({ className, ...props }) {
266
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_factory15.ark.div, { className: (0, import_helix16.cn)(import_helix16.vstackBase, className), ...props });
267
+ }
268
+
269
+ // src/scroll.tsx
270
+ var import_scroll_area = require("@ark-ui/react/scroll-area");
271
+ var import_helix17 = require("@cloudvoyant/helix");
272
+ var import_jsx_runtime17 = require("react/jsx-runtime");
273
+ function Scroll({
274
+ className,
275
+ orientation = "vertical",
276
+ contentClassName,
277
+ thumbClassName,
278
+ viewportClassName,
279
+ children,
280
+ ...props
281
+ }) {
282
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_scroll_area.ScrollAreaRoot, { className: (0, import_helix17.cn)(import_helix17.scrollRootBase, className), ...props, children: [
283
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaViewport, { className: (0, import_helix17.cn)(import_helix17.scrollViewportBase, viewportClassName), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaContent, { className: (0, import_helix17.cn)(import_helix17.scrollContentBase, contentClassName), children }) }),
284
+ (orientation === "vertical" || orientation === "both") && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaScrollbar, { orientation: "vertical", className: import_helix17.scrollScrollbarBase, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaThumb, { className: (0, import_helix17.cn)(import_helix17.scrollThumbBase, thumbClassName) }) }),
285
+ (orientation === "horizontal" || orientation === "both") && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaScrollbar, { orientation: "horizontal", className: import_helix17.scrollScrollbarBase, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaThumb, { className: (0, import_helix17.cn)(import_helix17.scrollThumbBase, thumbClassName) }) }),
286
+ orientation === "both" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_scroll_area.ScrollAreaCorner, { className: import_helix17.scrollCornerBase })
287
+ ] });
288
+ }
289
+
290
+ // src/splitter.tsx
291
+ var import_splitter = require("@ark-ui/react/splitter");
292
+ var import_helix18 = require("@cloudvoyant/helix");
293
+ var import_jsx_runtime18 = require("react/jsx-runtime");
294
+ function Splitter({ className, ...props }) {
295
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_splitter.SplitterRoot, { className: (0, import_helix18.cn)(import_helix18.splitterRootBase, className), ...props });
296
+ }
297
+ function SplitterPanel({ className, ...props }) {
298
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_splitter.SplitterPanel, { className: (0, import_helix18.cn)(import_helix18.splitterPanelBase, className), ...props });
299
+ }
300
+ function SplitterResizeTrigger({ className, children, ...props }) {
301
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_splitter.SplitterResizeTrigger, { className: (0, import_helix18.cn)(import_helix18.splitterResizeTriggerBase, className), ...props, children: [
302
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("span", { "aria-hidden": true, "data-part": "separator", className: import_helix18.splitterResizeTriggerSeparatorBase }),
303
+ children
304
+ ] });
305
+ }
306
+ function SplitterResizeTriggerIndicator({
307
+ className,
308
+ ...props
309
+ }) {
310
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
311
+ import_splitter.SplitterResizeTriggerIndicator,
312
+ {
313
+ className: (0, import_helix18.cn)(import_helix18.splitterResizeTriggerIndicatorBase, className),
314
+ ...props
315
+ }
316
+ );
317
+ }
318
+
319
+ // src/sidebar/Provider.tsx
320
+ var React2 = __toESM(require("react"), 1);
321
+ var import_helix19 = require("@cloudvoyant/helix");
322
+
323
+ // src/sidebar/context.ts
324
+ var React = __toESM(require("react"), 1);
325
+ var SidebarContext = React.createContext(null);
326
+ function useSidebar() {
327
+ const context = React.useContext(SidebarContext);
328
+ if (!context) {
329
+ throw new Error("useSidebar must be used within a SidebarProvider.");
330
+ }
331
+ return context;
332
+ }
333
+
334
+ // src/sidebar/Provider.tsx
335
+ var import_jsx_runtime19 = require("react/jsx-runtime");
336
+ var SIDEBAR_COOKIE_NAME = "sidebar_state";
337
+ var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
338
+ function useIsMobile() {
339
+ const [isMobile, setIsMobile] = React2.useState(false);
340
+ const [isMobileSet, setIsMobileSet] = React2.useState(false);
341
+ React2.useEffect(() => {
342
+ const mql = window.matchMedia("(max-width: 767px)");
343
+ const onChange = () => {
344
+ setIsMobile(window.innerWidth < 768);
345
+ setIsMobileSet(true);
346
+ };
347
+ onChange();
348
+ mql.addEventListener("change", onChange);
349
+ return () => mql.removeEventListener("change", onChange);
350
+ }, []);
351
+ return isMobile && isMobileSet;
352
+ }
353
+ function Provider({
354
+ defaultOpen = true,
355
+ open: openProp,
356
+ onOpenChange: setOpenProp,
357
+ className,
358
+ style,
359
+ children,
360
+ ...props
361
+ }) {
362
+ const isMobile = useIsMobile();
363
+ const [openMobile, setOpenMobile] = React2.useState(false);
364
+ const [_open, _setOpen] = React2.useState(defaultOpen);
365
+ const open = openProp ?? _open;
366
+ const setOpen = React2.useCallback(
367
+ (value) => {
368
+ const openState = typeof value === "function" ? value(open) : value;
369
+ if (setOpenProp) {
370
+ setOpenProp(openState);
371
+ } else {
372
+ _setOpen(openState);
373
+ }
374
+ if (typeof document !== "undefined") {
375
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
376
+ }
377
+ },
378
+ [setOpenProp, open]
379
+ );
380
+ const toggleSidebar = React2.useCallback(() => {
381
+ return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
382
+ }, [isMobile, setOpen, setOpenMobile]);
383
+ React2.useEffect(() => {
384
+ if (openProp !== void 0) return;
385
+ if (typeof document === "undefined") return;
386
+ const cookie = document.cookie.split("; ").find((row) => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`));
387
+ if (cookie) {
388
+ _setOpen(cookie.split("=")[1] === "true");
389
+ }
390
+ }, [openProp]);
391
+ React2.useEffect(() => {
392
+ const handleKeyDown = (event) => {
393
+ if (event.key === import_helix19.SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
394
+ event.preventDefault();
395
+ toggleSidebar();
396
+ }
397
+ };
398
+ window.addEventListener("keydown", handleKeyDown);
399
+ return () => window.removeEventListener("keydown", handleKeyDown);
400
+ }, [toggleSidebar]);
401
+ const state = open ? "expanded" : "collapsed";
402
+ const contextValue = React2.useMemo(
403
+ () => ({
404
+ state,
405
+ open,
406
+ setOpen,
407
+ isMobile,
408
+ openMobile,
409
+ setOpenMobile,
410
+ toggleSidebar
411
+ }),
412
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
413
+ );
414
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
415
+ Row,
416
+ {
417
+ "data-slot": "sidebar-wrapper",
418
+ style: {
419
+ "--sidebar-width": import_helix19.SIDEBAR_WIDTH,
420
+ "--sidebar-width-icon": import_helix19.SIDEBAR_WIDTH_ICON,
421
+ ...style
422
+ },
423
+ className: (0, import_helix19.cn)(import_helix19.sidebarStyles.wrapperClass, className),
424
+ ...props,
425
+ children
426
+ }
427
+ ) });
428
+ }
429
+
430
+ // src/sidebar/Root.tsx
431
+ var import_drawer = require("@ark-ui/react/drawer");
432
+ var import_helix20 = require("@cloudvoyant/helix");
433
+ var import_jsx_runtime20 = require("react/jsx-runtime");
434
+ function Root({
435
+ side = "left",
436
+ variant = "sidebar",
437
+ collapsible = "offcanvas",
438
+ className,
439
+ children,
440
+ ...props
441
+ }) {
442
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
443
+ if (collapsible === "none") {
444
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
445
+ Col,
446
+ {
447
+ "data-slot": "sidebar",
448
+ "data-sidebar": "sidebar",
449
+ className: (0, import_helix20.cn)("h-full w-(--sidebar-width) bg-sidebar text-sidebar-foreground", className),
450
+ ...props,
451
+ children
452
+ }
453
+ );
454
+ }
455
+ if (isMobile) {
456
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
457
+ import_drawer.DrawerRoot,
458
+ {
459
+ open: openMobile,
460
+ onOpenChange: (details) => setOpenMobile(details.open),
461
+ ...props,
462
+ children: [
463
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_drawer.DrawerBackdrop, {}),
464
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_drawer.DrawerPositioner, { className: "w-(--sidebar-width)", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
465
+ import_drawer.DrawerContent,
466
+ {
467
+ "data-sidebar": "sidebar",
468
+ "data-slot": "sidebar",
469
+ "data-mobile": "true",
470
+ className: (0, import_helix20.cn)("w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground", className),
471
+ style: { "--sidebar-width": import_helix20.SIDEBAR_WIDTH_MOBILE },
472
+ children: [
473
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_drawer.DrawerTitle, { className: "sr-only", children: "Sidebar" }),
474
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_drawer.DrawerDescription, { className: "sr-only", children: "Displays the mobile sidebar." }),
475
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_drawer.DrawerCloseTrigger, { className: "hidden" }),
476
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Col, { className: "h-full w-full", children })
477
+ ]
478
+ }
479
+ ) })
480
+ ]
481
+ }
482
+ );
483
+ }
484
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
485
+ "div",
486
+ {
487
+ className: "group peer hidden text-sidebar-foreground md:block",
488
+ "data-state": state,
489
+ "data-collapsible": state === "collapsed" ? collapsible : "",
490
+ "data-variant": variant,
491
+ "data-side": side,
492
+ "data-slot": "sidebar",
493
+ children: [
494
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
495
+ "div",
496
+ {
497
+ "data-slot": "sidebar-gap",
498
+ className: (0, import_helix20.cn)(
499
+ import_helix20.sidebarStyles.gapClass,
500
+ side === "right" && "rotate-180",
501
+ variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
502
+ )
503
+ }
504
+ ),
505
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
506
+ "div",
507
+ {
508
+ "data-slot": "sidebar-container",
509
+ className: (0, import_helix20.cn)(
510
+ import_helix20.sidebarStyles.containerClass,
511
+ side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
512
+ variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
513
+ className
514
+ ),
515
+ ...props,
516
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
517
+ "div",
518
+ {
519
+ "data-sidebar": "sidebar",
520
+ "data-slot": "sidebar-inner",
521
+ "data-variant": variant,
522
+ className: (0, import_helix20.cn)(import_helix20.sidebarStyles.innerClass),
523
+ children
524
+ }
525
+ )
526
+ }
527
+ )
528
+ ]
529
+ }
530
+ );
531
+ }
532
+
533
+ // src/sidebar/Header.tsx
534
+ var import_helix21 = require("@cloudvoyant/helix");
535
+ var import_jsx_runtime21 = require("react/jsx-runtime");
536
+ function Header({ className, ...props }) {
537
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
538
+ Col,
539
+ {
540
+ "data-slot": "sidebar-header",
541
+ "data-sidebar": "header",
542
+ className: (0, import_helix21.cn)(import_helix21.sidebarStyles.headerClass, className),
543
+ ...props
544
+ }
545
+ );
546
+ }
547
+
548
+ // src/sidebar/Footer.tsx
549
+ var import_helix22 = require("@cloudvoyant/helix");
550
+ var import_jsx_runtime22 = require("react/jsx-runtime");
551
+ function Footer({ className, ...props }) {
552
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
553
+ Col,
554
+ {
555
+ "data-slot": "sidebar-footer",
556
+ "data-sidebar": "footer",
557
+ className: (0, import_helix22.cn)(import_helix22.sidebarStyles.footerClass, className),
558
+ ...props
559
+ }
560
+ );
561
+ }
562
+
563
+ // src/sidebar/Separator.tsx
564
+ var import_factory16 = require("@ark-ui/react/factory");
565
+ var import_helix23 = require("@cloudvoyant/helix");
566
+ var import_jsx_runtime23 = require("react/jsx-runtime");
567
+ function Separator({ className, ...props }) {
568
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
569
+ import_factory16.ark.div,
570
+ {
571
+ "data-slot": "sidebar-separator",
572
+ "data-sidebar": "separator",
573
+ role: "separator",
574
+ className: (0, import_helix23.cn)(import_helix23.sidebarStyles.separatorClass, className),
575
+ ...props
576
+ }
577
+ );
578
+ }
579
+
580
+ // src/sidebar/Content.tsx
581
+ var import_helix24 = require("@cloudvoyant/helix");
582
+ var import_jsx_runtime24 = require("react/jsx-runtime");
583
+ function Content({ className, ...props }) {
584
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
585
+ Col,
586
+ {
587
+ "data-slot": "sidebar-content",
588
+ "data-sidebar": "content",
589
+ className: (0, import_helix24.cn)(import_helix24.sidebarStyles.contentClass, className),
590
+ ...props
591
+ }
592
+ );
593
+ }
594
+
595
+ // src/sidebar/Group.tsx
596
+ var import_helix25 = require("@cloudvoyant/helix");
597
+ var import_jsx_runtime25 = require("react/jsx-runtime");
598
+ function Group({ label, className, children, ...props }) {
599
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Col, { "data-slot": "sidebar-group", "data-sidebar": "group", className: (0, import_helix25.cn)(import_helix25.sidebarStyles.groupClass, className), ...props, children: [
600
+ label && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { "data-slot": "sidebar-group-label", "data-sidebar": "group-label", className: (0, import_helix25.cn)(import_helix25.sidebarStyles.groupLabelClass), children: label }),
601
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { "data-slot": "sidebar-group-content", "data-sidebar": "group-content", className: (0, import_helix25.cn)(import_helix25.sidebarStyles.groupContentClass), children })
602
+ ] });
603
+ }
604
+
605
+ // src/sidebar/GroupAction.tsx
606
+ var import_factory17 = require("@ark-ui/react/factory");
607
+ var import_helix26 = require("@cloudvoyant/helix");
608
+ var import_jsx_runtime26 = require("react/jsx-runtime");
609
+ function GroupAction({ className, asChild = false, ...props }) {
610
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
611
+ import_factory17.ark.button,
612
+ {
613
+ "data-slot": "sidebar-group-action",
614
+ "data-sidebar": "group-action",
615
+ asChild,
616
+ type: "button",
617
+ className: (0, import_helix26.cn)(import_helix26.sidebarStyles.groupActionClass, className),
618
+ ...props
619
+ }
620
+ );
621
+ }
622
+
623
+ // src/sidebar/Menu.tsx
624
+ var import_factory18 = require("@ark-ui/react/factory");
625
+ var import_helix27 = require("@cloudvoyant/helix");
626
+ var import_jsx_runtime27 = require("react/jsx-runtime");
627
+ function Menu({ className, ...props }) {
628
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
629
+ import_factory18.ark.ul,
630
+ {
631
+ "data-slot": "sidebar-menu",
632
+ "data-sidebar": "menu",
633
+ className: (0, import_helix27.cn)(import_helix27.sidebarStyles.menuClass, className),
634
+ ...props
635
+ }
636
+ );
637
+ }
638
+
639
+ // src/sidebar/MenuItem.tsx
640
+ var import_factory19 = require("@ark-ui/react/factory");
641
+ var import_helix28 = require("@cloudvoyant/helix");
642
+ var import_jsx_runtime28 = require("react/jsx-runtime");
643
+ function MenuItem({ className, ...props }) {
644
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
645
+ import_factory19.ark.li,
646
+ {
647
+ "data-slot": "sidebar-menu-item",
648
+ "data-sidebar": "menu-item",
649
+ className: (0, import_helix28.cn)(import_helix28.sidebarStyles.menuItemClass, className),
650
+ ...props
651
+ }
652
+ );
653
+ }
654
+
655
+ // src/sidebar/MenuButton.tsx
656
+ var import_factory20 = require("@ark-ui/react/factory");
657
+ var import_tooltip = require("@ark-ui/react/tooltip");
658
+ var import_helix29 = require("@cloudvoyant/helix");
659
+ var import_jsx_runtime29 = require("react/jsx-runtime");
660
+ function MenuButton({
661
+ asChild = false,
662
+ isActive = false,
663
+ variant = "default",
664
+ size = "default",
665
+ tooltip,
666
+ className,
667
+ children,
668
+ ...props
669
+ }) {
670
+ const { isMobile, state } = useSidebar();
671
+ const button = /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
672
+ import_factory20.ark.button,
673
+ {
674
+ "data-slot": "sidebar-menu-button",
675
+ "data-sidebar": "menu-button",
676
+ "data-size": size,
677
+ "data-active": isActive,
678
+ asChild,
679
+ type: "button",
680
+ className: (0, import_helix29.cn)((0, import_helix29.sidebarMenuButtonVariants)({ variant, size }), className),
681
+ ...props,
682
+ children
683
+ }
684
+ );
685
+ if (!tooltip || state !== "collapsed" || isMobile) {
686
+ return button;
687
+ }
688
+ const tooltipContent = typeof tooltip === "string" ? { children: tooltip } : tooltip;
689
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_tooltip.TooltipRoot, { openDelay: 0, positioning: { placement: "right", gutter: 8 }, children: [
690
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_tooltip.TooltipTrigger, { asChild: true, children: button }),
691
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_tooltip.TooltipPositioner, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_tooltip.TooltipContent, { className: (0, import_helix29.cn)(import_helix29.sidebarStyles.tooltipContentClass), ...tooltipContent }) })
692
+ ] });
693
+ }
694
+
695
+ // src/sidebar/MenuLink.tsx
696
+ var import_helix30 = require("@cloudvoyant/helix");
697
+ var import_jsx_runtime30 = require("react/jsx-runtime");
698
+ function MenuLink({ icon, href, onClick, isActive, variant, size, tooltip, className, children }) {
699
+ const content = /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
700
+ icon,
701
+ children != null && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children })
702
+ ] });
703
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("li", { "data-slot": "sidebar-menu-item", "data-sidebar": "menu-item", className: (0, import_helix30.cn)(import_helix30.sidebarStyles.menuItemClass), children: href != null ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(MenuButton, { asChild: true, isActive, variant, size, tooltip, className, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("a", { href, onClick, children: content }) }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(MenuButton, { isActive, variant, size, tooltip, className, onClick, children: content }) });
704
+ }
705
+
706
+ // src/sidebar/MenuAction.tsx
707
+ var import_factory21 = require("@ark-ui/react/factory");
708
+ var import_helix31 = require("@cloudvoyant/helix");
709
+ var import_jsx_runtime31 = require("react/jsx-runtime");
710
+ function MenuAction({
711
+ className,
712
+ asChild = false,
713
+ showOnHover = false,
714
+ ...props
715
+ }) {
716
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
717
+ import_factory21.ark.button,
718
+ {
719
+ "data-slot": "sidebar-menu-action",
720
+ "data-sidebar": "menu-action",
721
+ asChild,
722
+ type: "button",
723
+ className: (0, import_helix31.cn)(
724
+ import_helix31.sidebarStyles.menuActionClass,
725
+ showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground data-[state=open]:opacity-100 md:opacity-0",
726
+ className
727
+ ),
728
+ ...props
729
+ }
730
+ );
731
+ }
732
+
733
+ // src/sidebar/MenuBadge.tsx
734
+ var import_factory22 = require("@ark-ui/react/factory");
735
+ var import_helix32 = require("@cloudvoyant/helix");
736
+ var import_jsx_runtime32 = require("react/jsx-runtime");
737
+ function MenuBadge({ className, ...props }) {
738
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
739
+ import_factory22.ark.div,
740
+ {
741
+ "data-slot": "sidebar-menu-badge",
742
+ "data-sidebar": "menu-badge",
743
+ className: (0, import_helix32.cn)(import_helix32.sidebarStyles.menuBadgeClass, className),
744
+ ...props
745
+ }
746
+ );
747
+ }
748
+
749
+ // src/sidebar/MenuSkeleton.tsx
750
+ var React3 = __toESM(require("react"), 1);
751
+ var import_factory23 = require("@ark-ui/react/factory");
752
+ var import_helix33 = require("@cloudvoyant/helix");
753
+ var import_jsx_runtime33 = require("react/jsx-runtime");
754
+ function MenuSkeleton({ className, showIcon = false, ...props }) {
755
+ const width = React3.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
756
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
757
+ import_factory23.ark.div,
758
+ {
759
+ "data-slot": "sidebar-menu-skeleton",
760
+ "data-sidebar": "menu-skeleton",
761
+ className: (0, import_helix33.cn)(import_helix33.sidebarStyles.menuSkeletonClass, className),
762
+ ...props,
763
+ children: [
764
+ showIcon && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
765
+ import_factory23.ark.div,
766
+ {
767
+ className: "size-4 shrink-0 animate-pulse rounded-md bg-sidebar-accent",
768
+ "data-sidebar": "menu-skeleton-icon"
769
+ }
770
+ ),
771
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
772
+ import_factory23.ark.div,
773
+ {
774
+ className: "h-4 max-w-(--skeleton-width) flex-1 animate-pulse rounded-md bg-sidebar-accent",
775
+ "data-sidebar": "menu-skeleton-text",
776
+ style: { "--skeleton-width": width }
777
+ }
778
+ )
779
+ ]
780
+ }
781
+ );
782
+ }
783
+
784
+ // src/sidebar/MenuSub.tsx
785
+ var import_factory24 = require("@ark-ui/react/factory");
786
+ var import_helix34 = require("@cloudvoyant/helix");
787
+ var import_jsx_runtime34 = require("react/jsx-runtime");
788
+ function MenuSub({ className, ...props }) {
789
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
790
+ import_factory24.ark.ul,
791
+ {
792
+ "data-slot": "sidebar-menu-sub",
793
+ "data-sidebar": "menu-sub",
794
+ className: (0, import_helix34.cn)(import_helix34.sidebarStyles.menuSubClass, className),
795
+ ...props
796
+ }
797
+ );
798
+ }
799
+
800
+ // src/sidebar/MenuSubItem.tsx
801
+ var import_factory25 = require("@ark-ui/react/factory");
802
+ var import_helix35 = require("@cloudvoyant/helix");
803
+ var import_jsx_runtime35 = require("react/jsx-runtime");
804
+ function MenuSubItem({ className, ...props }) {
805
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
806
+ import_factory25.ark.li,
807
+ {
808
+ "data-slot": "sidebar-menu-sub-item",
809
+ "data-sidebar": "menu-sub-item",
810
+ className: (0, import_helix35.cn)(import_helix35.sidebarStyles.menuSubItemClass, className),
811
+ ...props
812
+ }
813
+ );
814
+ }
815
+
816
+ // src/sidebar/MenuSubButton.tsx
817
+ var import_factory26 = require("@ark-ui/react/factory");
818
+ var import_helix36 = require("@cloudvoyant/helix");
819
+ var import_jsx_runtime36 = require("react/jsx-runtime");
820
+ function MenuSubButton({
821
+ asChild = false,
822
+ size = "md",
823
+ isActive = false,
824
+ className,
825
+ ...props
826
+ }) {
827
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
828
+ import_factory26.ark.a,
829
+ {
830
+ "data-slot": "sidebar-menu-sub-button",
831
+ "data-sidebar": "menu-sub-button",
832
+ "data-size": size,
833
+ "data-active": isActive,
834
+ asChild,
835
+ className: (0, import_helix36.cn)(import_helix36.sidebarStyles.menuSubButtonClass, className),
836
+ ...props
837
+ }
838
+ );
839
+ }
840
+
841
+ // src/sidebar/Trigger.tsx
842
+ var import_factory27 = require("@ark-ui/react/factory");
843
+ var import_helix37 = require("@cloudvoyant/helix");
844
+ var import_jsx_runtime37 = require("react/jsx-runtime");
845
+ function Trigger({ className, onClick, children, ...props }) {
846
+ const { toggleSidebar } = useSidebar();
847
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
848
+ import_factory27.ark.button,
849
+ {
850
+ "data-sidebar": "trigger",
851
+ "data-slot": "sidebar-trigger",
852
+ type: "button",
853
+ "aria-label": "Toggle Sidebar",
854
+ className: (0, import_helix37.cn)(import_helix37.sidebarStyles.triggerClass, className),
855
+ onClick: (event) => {
856
+ onClick?.(event);
857
+ toggleSidebar();
858
+ },
859
+ ...props,
860
+ children
861
+ }
862
+ );
863
+ }
864
+
865
+ // src/sidebar/Rail.tsx
866
+ var import_factory28 = require("@ark-ui/react/factory");
867
+ var import_helix38 = require("@cloudvoyant/helix");
868
+ var import_jsx_runtime38 = require("react/jsx-runtime");
869
+ function Rail({ className, ...props }) {
870
+ const { toggleSidebar } = useSidebar();
871
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
872
+ import_factory28.ark.button,
873
+ {
874
+ "data-sidebar": "rail",
875
+ "data-slot": "sidebar-rail",
876
+ type: "button",
877
+ "aria-label": "Toggle Sidebar",
878
+ tabIndex: -1,
879
+ onClick: toggleSidebar,
880
+ title: "Toggle Sidebar",
881
+ className: (0, import_helix38.cn)(import_helix38.sidebarStyles.railClass, className),
882
+ ...props
883
+ }
884
+ );
885
+ }
886
+
887
+ // src/sidebar/Inset.tsx
888
+ var import_factory29 = require("@ark-ui/react/factory");
889
+ var import_helix39 = require("@cloudvoyant/helix");
890
+ var import_jsx_runtime39 = require("react/jsx-runtime");
891
+ function Inset({ className, ...props }) {
892
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_factory29.ark.main, { "data-slot": "sidebar-inset", className: (0, import_helix39.cn)(import_helix39.sidebarStyles.insetClass, className), ...props });
893
+ }
894
+
895
+ // src/sidebar/Input.tsx
896
+ var import_factory30 = require("@ark-ui/react/factory");
897
+ var import_helix40 = require("@cloudvoyant/helix");
898
+ var import_jsx_runtime40 = require("react/jsx-runtime");
899
+ function Input({ className, ...props }) {
900
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
901
+ import_factory30.ark.input,
902
+ {
903
+ "data-slot": "sidebar-input",
904
+ "data-sidebar": "input",
905
+ className: (0, import_helix40.cn)(import_helix40.sidebarStyles.inputClass, className),
906
+ ...props
907
+ }
908
+ );
909
+ }
910
+
911
+ // src/tabs.tsx
912
+ var import_tabs = require("@ark-ui/react/tabs");
913
+ var import_helix41 = require("@cloudvoyant/helix");
914
+ var import_jsx_runtime41 = require("react/jsx-runtime");
915
+ function Tabs({ className, lazyMount = true, unmountOnExit = true, ...props }) {
916
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
917
+ import_tabs.TabsRoot,
918
+ {
919
+ lazyMount,
920
+ unmountOnExit,
921
+ className: (0, import_helix41.cn)(import_helix41.tabsRootBase, className),
922
+ ...props
923
+ }
924
+ );
925
+ }
926
+ function TabsList({ variant = "default", className, children, ...props }) {
927
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_tabs.TabList, { className: (0, import_helix41.cn)(import_helix41.tabsListBase, (0, import_helix41.tabsListVariants)({ variant }), className), ...props, children: [
928
+ children,
929
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_tabs.TabIndicator, { className: (0, import_helix41.cn)(import_helix41.tabsIndicatorBase, (0, import_helix41.tabsIndicatorVariants)({ variant })) })
930
+ ] });
931
+ }
932
+ function TabsTrigger({ className, ...props }) {
933
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_tabs.TabTrigger, { className: (0, import_helix41.cn)(import_helix41.tabsTriggerBase, className), ...props });
934
+ }
935
+ function TabsContent({ className, ...props }) {
936
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_tabs.TabContent, { className: (0, import_helix41.cn)(import_helix41.tabsContentBase, className), ...props });
937
+ }
938
+ var useTabs = import_tabs.useTabsContext;
939
+
940
+ // src/pagination.tsx
941
+ var import_pagination = require("@ark-ui/react/pagination");
942
+ var import_factory31 = require("@ark-ui/react/factory");
943
+ var import_helix42 = require("@cloudvoyant/helix");
944
+ var import_jsx_runtime42 = require("react/jsx-runtime");
945
+ function Pagination({ className, ...props }) {
946
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_pagination.PaginationRoot, { className: (0, import_helix42.cn)(import_helix42.paginationRootBase, className), ...props });
947
+ }
948
+ function PaginationPrevious(props) {
949
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_pagination.PaginationPrevTrigger, { asChild: true, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_factory31.ark.button, { className: (0, import_helix42.cn)(import_helix42.paginationTriggerBase), children: [
950
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
951
+ "svg",
952
+ {
953
+ viewBox: "0 0 24 24",
954
+ fill: "none",
955
+ stroke: "currentColor",
956
+ strokeWidth: "2",
957
+ strokeLinecap: "round",
958
+ strokeLinejoin: "round",
959
+ "aria-hidden": "true",
960
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "m15 18-6-6 6-6" })
961
+ }
962
+ ),
963
+ "Previous"
964
+ ] }) });
965
+ }
966
+ function PaginationNext(props) {
967
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_pagination.PaginationNextTrigger, { asChild: true, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_factory31.ark.button, { className: (0, import_helix42.cn)(import_helix42.paginationTriggerBase), children: [
968
+ "Next",
969
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
970
+ "svg",
971
+ {
972
+ viewBox: "0 0 24 24",
973
+ fill: "none",
974
+ stroke: "currentColor",
975
+ strokeWidth: "2",
976
+ strokeLinecap: "round",
977
+ strokeLinejoin: "round",
978
+ "aria-hidden": "true",
979
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("path", { d: "m9 18 6-6-6-6" })
980
+ }
981
+ )
982
+ ] }) });
983
+ }
984
+ function PaginationItem({ className, children, ...rest }) {
985
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_pagination.PaginationItem, { asChild: true, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_factory31.ark.button, { className: (0, import_helix42.cn)(import_helix42.paginationItemBase, className), children }) });
986
+ }
987
+ function PaginationItems() {
988
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_pagination.PaginationContext, { children: ({ pages }) => pages.map(
989
+ (page, index) => page.type === "page" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(PaginationItem, { type: "page", value: page.value, children: page.value }, page.value) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(PaginationEllipsis, { index }, `ellipsis-${index}`)
990
+ ) });
991
+ }
992
+ function PaginationEllipsis({ className, ...rest }) {
993
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_pagination.PaginationEllipsis, { className: (0, import_helix42.cn)(import_helix42.paginationEllipsisBase, className), ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
994
+ "svg",
995
+ {
996
+ viewBox: "0 0 24 24",
997
+ fill: "none",
998
+ stroke: "currentColor",
999
+ strokeWidth: "2",
1000
+ strokeLinecap: "round",
1001
+ strokeLinejoin: "round",
1002
+ "aria-hidden": "true",
1003
+ children: [
1004
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx: "12", cy: "12", r: "1" }),
1005
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx: "19", cy: "12", r: "1" }),
1006
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("circle", { cx: "5", cy: "12", r: "1" })
1007
+ ]
1008
+ }
1009
+ ) });
1010
+ }
1011
+
1012
+ // src/navbar.tsx
1013
+ var React4 = __toESM(require("react"), 1);
1014
+ var import_factory32 = require("@ark-ui/react/factory");
1015
+ var import_portal = require("@ark-ui/react/portal");
1016
+ var import_collapsible = require("@ark-ui/react/collapsible");
1017
+ var import_dialog = require("@ark-ui/react/dialog");
1018
+ var import_navigation_menu = require("@ark-ui/react/navigation-menu");
1019
+ var import_helix43 = require("@cloudvoyant/helix");
1020
+ var import_helix44 = require("@cloudvoyant/helix");
1021
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1022
+ var SCROLL_THRESHOLD = 24;
1023
+ function resolveScrollContainer(el) {
1024
+ for (let n = el; n; n = n.parentElement) {
1025
+ const oy = getComputedStyle(n).overflowY;
1026
+ if (oy === "auto" || oy === "scroll" || oy === "overlay") return n;
1027
+ }
1028
+ return null;
1029
+ }
1030
+ var NavbarContext = React4.createContext(null);
1031
+ function useNavbar() {
1032
+ const context = React4.useContext(NavbarContext);
1033
+ if (!context) {
1034
+ throw new Error("Navbar parts must be used within a NavbarProvider.");
1035
+ }
1036
+ return context;
1037
+ }
1038
+ function useNavbarSlot(key, children) {
1039
+ const { setSlot } = useNavbar();
1040
+ React4.useLayoutEffect(() => {
1041
+ setSlot(key, children);
1042
+ }, [key, children, setSlot]);
1043
+ }
1044
+ var NavbarMenuStyleContext = React4.createContext({
1045
+ density: "relaxed",
1046
+ variant: "default",
1047
+ inContent: false
1048
+ });
1049
+ function NavbarProvider({
1050
+ defaultOpen = false,
1051
+ children
1052
+ }) {
1053
+ const id = React4.useId();
1054
+ const [open, setOpen] = React4.useState(defaultOpen);
1055
+ const [scrolled, setScrolled] = React4.useState(false);
1056
+ const [hovered, setHovered] = React4.useState(false);
1057
+ const [slots, setSlots] = React4.useState({
1058
+ brand: null,
1059
+ actions: null
1060
+ });
1061
+ const portalRef = React4.useRef(null);
1062
+ const setSlot = React4.useCallback((key, node) => {
1063
+ setSlots((prev) => prev[key] === node ? prev : { ...prev, [key]: node });
1064
+ }, []);
1065
+ const contextValue = React4.useMemo(
1066
+ () => ({
1067
+ id,
1068
+ open,
1069
+ setOpen,
1070
+ scrolled,
1071
+ setScrolled,
1072
+ hovered,
1073
+ setHovered,
1074
+ slots,
1075
+ setSlot,
1076
+ portalRef,
1077
+ // Baseline config; the Navbar header overrides these with its props.
1078
+ variant: "sticky",
1079
+ floating: false,
1080
+ density: "relaxed"
1081
+ }),
1082
+ [id, open, scrolled, hovered, slots, setSlot]
1083
+ );
1084
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(NavbarContext.Provider, { value: contextValue, children });
1085
+ }
1086
+ function Navbar({
1087
+ variant = "sticky",
1088
+ floating = false,
1089
+ density = "relaxed",
1090
+ className,
1091
+ children,
1092
+ ...props
1093
+ }) {
1094
+ const base = useNavbar();
1095
+ const headerRef = React4.useRef(null);
1096
+ const { setScrolled, setHovered } = base;
1097
+ React4.useEffect(() => {
1098
+ const target = resolveScrollContainer(headerRef.current) ?? window;
1099
+ const getY = () => target === window ? window.scrollY : target.scrollTop;
1100
+ const onScroll = () => setScrolled(getY() > SCROLL_THRESHOLD);
1101
+ onScroll();
1102
+ target.addEventListener("scroll", onScroll, { passive: true });
1103
+ return () => target.removeEventListener("scroll", onScroll);
1104
+ }, [setScrolled]);
1105
+ const value = React4.useMemo(
1106
+ () => ({ ...base, variant, floating, density }),
1107
+ [base, variant, floating, density]
1108
+ );
1109
+ const hidden = variant === "hide" && base.scrolled && !base.hovered;
1110
+ const shrunk = variant === "shrink" && base.scrolled;
1111
+ React4.useLayoutEffect(() => {
1112
+ base.portalRef.current = headerRef.current?.parentElement ?? null;
1113
+ });
1114
+ React4.useEffect(() => {
1115
+ if (!base.open) return;
1116
+ const el = resolveScrollContainer(headerRef.current) ?? document.documentElement;
1117
+ const prev = el.style.overflow;
1118
+ el.style.overflow = "hidden";
1119
+ return () => {
1120
+ el.style.overflow = prev;
1121
+ };
1122
+ }, [base.open]);
1123
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(NavbarContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1124
+ "header",
1125
+ {
1126
+ ref: headerRef,
1127
+ "data-slot": "navbar",
1128
+ "data-scrolled": base.scrolled || void 0,
1129
+ "data-hidden": hidden || void 0,
1130
+ "data-shrunk": shrunk || void 0,
1131
+ className: (0, import_helix43.cn)(
1132
+ (0, import_helix43.navbarVariants)({ variant, floating }),
1133
+ import_helix43.navbarContainerBase,
1134
+ (0, import_helix43.navbarDensityVariants)({ density }),
1135
+ shrunk && import_helix43.navbarShrunkBase,
1136
+ className
1137
+ ),
1138
+ onMouseEnter: () => setHovered(true),
1139
+ onMouseLeave: () => setHovered(false),
1140
+ ...props,
1141
+ children
1142
+ }
1143
+ ) });
1144
+ }
1145
+ function NavbarActivationArea({ className, children, ...props }) {
1146
+ const { setHovered } = useNavbar();
1147
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1148
+ import_factory32.ark.div,
1149
+ {
1150
+ "data-slot": "navbar-activation-area",
1151
+ className: (0, import_helix43.cn)(import_helix43.navbarActivationAreaBase, className),
1152
+ onMouseEnter: () => setHovered(true),
1153
+ onMouseLeave: () => setHovered(false),
1154
+ ...props,
1155
+ children
1156
+ }
1157
+ );
1158
+ }
1159
+ function NavbarBrand({ className, children, ...props }) {
1160
+ useNavbarSlot("brand", children);
1161
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_factory32.ark.div, { "data-slot": "navbar-brand", className: (0, import_helix43.cn)(import_helix43.navbarBrandBase, className), ...props, children });
1162
+ }
1163
+ function NavbarMenu({
1164
+ placement = "center",
1165
+ className,
1166
+ children,
1167
+ ...props
1168
+ }) {
1169
+ const { scrolled, density, variant } = useNavbar();
1170
+ const menuDensity = density === "compact" || variant === "shrink" && scrolled ? "compact" : "relaxed";
1171
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(NavbarMenuStyleContext.Provider, { value: { density: menuDensity, variant: "default", inContent: false }, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1172
+ import_factory32.ark.div,
1173
+ {
1174
+ "data-slot": "navbar-menu",
1175
+ "data-placement": placement,
1176
+ className: (0, import_helix43.cn)(import_helix43.navbarMenuBase, (0, import_helix43.navbarMenuPlacementVariants)({ placement }), className),
1177
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_navigation_menu.NavigationMenuRoot, { "data-density": menuDensity, className: (0, import_helix43.cn)(import_helix43.navbarMenuRootBase), ...props, children: [
1178
+ children,
1179
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuViewportPositioner, { className: (0, import_helix43.cn)(import_helix43.navbarMenuViewportPositionerBase), children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuViewport, { className: (0, import_helix43.cn)(import_helix43.navbarMenuViewportBase) }) })
1180
+ ] })
1181
+ }
1182
+ ) });
1183
+ }
1184
+ function NavbarMenuList({ className, children, ...props }) {
1185
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuList, { className: (0, import_helix43.cn)(import_helix43.navbarMenuListBase, className), ...props, children });
1186
+ }
1187
+ function NavbarMenuItem({
1188
+ variant = "default",
1189
+ className,
1190
+ ...props
1191
+ }) {
1192
+ const { density } = React4.useContext(NavbarMenuStyleContext);
1193
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(NavbarMenuStyleContext.Provider, { value: { density, variant, inContent: false }, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuItem, { "data-variant": variant, className: (0, import_helix43.cn)(import_helix43.navbarMenuItemBase, className), ...props }) });
1194
+ }
1195
+ function NavbarMenuTrigger({ asChild, className, children, ...props }) {
1196
+ const { density, variant } = React4.useContext(NavbarMenuStyleContext);
1197
+ const chevron = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1198
+ "svg",
1199
+ {
1200
+ className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
1201
+ "aria-hidden": "true",
1202
+ viewBox: "0 0 24 24",
1203
+ fill: "none",
1204
+ stroke: "currentColor",
1205
+ strokeWidth: "2",
1206
+ strokeLinecap: "round",
1207
+ strokeLinejoin: "round",
1208
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "m6 9 6 6 6-6" })
1209
+ }
1210
+ );
1211
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuTrigger, { asChild, className: (0, import_helix43.cn)((0, import_helix43.navbarMenuTriggerStyle)({ density, variant }), className), ...props, children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
1212
+ children,
1213
+ chevron
1214
+ ] }) });
1215
+ }
1216
+ function NavbarMenuContent({ className, children, ...props }) {
1217
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(NavbarMenuStyleContext.Provider, { value: { density: "relaxed", variant: "default", inContent: true }, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuContent, { className: (0, import_helix43.cn)(import_helix43.navbarMenuContentBase, className), ...props, children }) });
1218
+ }
1219
+ function NavbarMenuLink({ className, children, ...props }) {
1220
+ const { density, variant, inContent } = React4.useContext(NavbarMenuStyleContext);
1221
+ const classes = inContent ? (0, import_helix43.cn)(import_helix43.navbarMenuLinkBase, className) : (0, import_helix43.cn)((0, import_helix43.navbarMenuTriggerStyle)({ density, variant }), className);
1222
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuLink, { className: classes, ...props, children });
1223
+ }
1224
+ function NavbarMobileMenu({ className, children, ...props }) {
1225
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_collapsible.CollapsibleRoot, { "data-slot": "navbar-mobile-menu", className: (0, import_helix43.cn)("group", className), ...props, children });
1226
+ }
1227
+ function NavbarMobileMenuTrigger({ className, children, ...props }) {
1228
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_collapsible.CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
1229
+ "button",
1230
+ {
1231
+ type: "button",
1232
+ "data-slot": "navbar-mobile-menu-trigger",
1233
+ className: (0, import_helix43.cn)(import_helix43.navbarMobileMenuTriggerBase, className),
1234
+ ...props,
1235
+ children: [
1236
+ children,
1237
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1238
+ "svg",
1239
+ {
1240
+ className: "size-4 transition-transform duration-200 group-data-[state=open]:rotate-180",
1241
+ "aria-hidden": "true",
1242
+ viewBox: "0 0 24 24",
1243
+ fill: "none",
1244
+ stroke: "currentColor",
1245
+ strokeWidth: "2",
1246
+ strokeLinecap: "round",
1247
+ strokeLinejoin: "round",
1248
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "m6 9 6 6 6-6" })
1249
+ }
1250
+ )
1251
+ ]
1252
+ }
1253
+ ) });
1254
+ }
1255
+ function NavbarMobileMenuContent({ className, children, ...props }) {
1256
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_collapsible.CollapsibleContent, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { "data-slot": "navbar-mobile-menu-content", className: (0, import_helix43.cn)(import_helix43.navbarMobileMenuContentBase, className), ...props, children }) });
1257
+ }
1258
+ function NavbarMenuViewport({ className, ...props }) {
1259
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuViewport, { className: (0, import_helix43.cn)(import_helix43.navbarMenuViewportBase, className), ...props });
1260
+ }
1261
+ function NavbarMenuIndicator({ className, ...props }) {
1262
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_navigation_menu.NavigationMenuIndicator, { className: (0, import_helix43.cn)(import_helix43.navbarMenuIndicatorBase, className), ...props });
1263
+ }
1264
+ function NavbarActions({ className, children, ...props }) {
1265
+ useNavbarSlot("actions", children);
1266
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_factory32.ark.div, { "data-slot": "navbar-actions", className: (0, import_helix43.cn)(import_helix43.navbarActionsBase, className), ...props, children });
1267
+ }
1268
+ function NavbarTrigger({
1269
+ className,
1270
+ children,
1271
+ "aria-label": ariaLabel,
1272
+ ...props
1273
+ }) {
1274
+ const { id, open, setOpen, floating } = useNavbar();
1275
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1276
+ "button",
1277
+ {
1278
+ type: "button",
1279
+ "data-slot": "navbar-trigger",
1280
+ "aria-expanded": open,
1281
+ "aria-controls": id,
1282
+ "aria-label": ariaLabel ?? "Toggle navigation menu",
1283
+ className: (0, import_helix43.cn)((0, import_helix43.navbarTriggerVariants)({ floating }), "md:hidden", className),
1284
+ onClick: () => setOpen(!open),
1285
+ ...props,
1286
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
1287
+ "svg",
1288
+ {
1289
+ className: "size-4",
1290
+ viewBox: "0 0 24 24",
1291
+ fill: "none",
1292
+ stroke: "currentColor",
1293
+ strokeWidth: "2",
1294
+ strokeLinecap: "round",
1295
+ strokeLinejoin: "round",
1296
+ "aria-hidden": "true",
1297
+ children: [
1298
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("line", { x1: "4", x2: "20", y1: "6", y2: "6" }),
1299
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("line", { x1: "4", x2: "20", y1: "12", y2: "12" }),
1300
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("line", { x1: "4", x2: "20", y1: "18", y2: "18" })
1301
+ ]
1302
+ }
1303
+ )
1304
+ }
1305
+ );
1306
+ }
1307
+ function NavbarMobileOverlay({ className, children, ...props }) {
1308
+ const { id, open, setOpen, slots, floating, portalRef } = useNavbar();
1309
+ React4.useEffect(() => {
1310
+ if (!open) return;
1311
+ const onKeydown = (event) => {
1312
+ if (event.key === "Escape") setOpen(false);
1313
+ };
1314
+ document.addEventListener("keydown", onKeydown);
1315
+ return () => document.removeEventListener("keydown", onKeydown);
1316
+ }, [open, setOpen]);
1317
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_portal.Portal, { container: portalRef, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_dialog.DialogRoot, { open, lazyMount: true, unmountOnExit: true, onOpenChange: ({ open: open2 }) => setOpen(open2), preventScroll: false, children: [
1318
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dialog.DialogBackdrop, { className: "absolute inset-0 z-[100] bg-background/60 backdrop-blur-sm" }),
1319
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dialog.DialogPositioner, { className: "absolute inset-0 z-[100]", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_dialog.DialogContent, { id, "data-slot": "navbar-mobile-overlay", className: (0, import_helix43.cn)(import_helix43.navbarMobileContentBase, className), ...props, children: [
1320
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dialog.DialogTitle, { className: "sr-only", children: "Navigation menu" }),
1321
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dialog.DialogDescription, { className: "sr-only", children: "Mobile navigation menu" }),
1322
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: import_helix43.navbarMobileHeaderBase, children: [
1323
+ slots.brand,
1324
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_dialog.DialogCloseTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("button", { type: "button", "aria-label": "Close navigation menu", className: (0, import_helix43.cn)((0, import_helix43.navbarTriggerVariants)({ floating })), children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
1325
+ "svg",
1326
+ {
1327
+ className: "size-4",
1328
+ viewBox: "0 0 24 24",
1329
+ fill: "none",
1330
+ stroke: "currentColor",
1331
+ strokeWidth: "2",
1332
+ strokeLinecap: "round",
1333
+ strokeLinejoin: "round",
1334
+ "aria-hidden": "true",
1335
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M18 6 6 18M6 6l12 12" })
1336
+ }
1337
+ ) }) })
1338
+ ] }),
1339
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: import_helix43.navbarMobileMenuBase, children }),
1340
+ slots.actions ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: import_helix43.navbarMobileActionsBase, children: slots.actions }) : null
1341
+ ] }) })
1342
+ ] }) });
1343
+ }
1344
+ // Annotate the CommonJS export names for ESM import in node:
1345
+ 0 && (module.exports = {
1346
+ Badge,
1347
+ Button,
1348
+ Card,
1349
+ CardBody,
1350
+ CardCover,
1351
+ CardDescription,
1352
+ CardFooter,
1353
+ CardHeader,
1354
+ CardTitle,
1355
+ Center,
1356
+ Col,
1357
+ Container,
1358
+ HStack,
1359
+ Item,
1360
+ Navbar,
1361
+ NavbarActions,
1362
+ NavbarActivationArea,
1363
+ NavbarBrand,
1364
+ NavbarMenu,
1365
+ NavbarMenuContent,
1366
+ NavbarMenuIndicator,
1367
+ NavbarMenuItem,
1368
+ NavbarMenuLink,
1369
+ NavbarMenuList,
1370
+ NavbarMenuTrigger,
1371
+ NavbarMenuViewport,
1372
+ NavbarMenuViewportPositioner,
1373
+ NavbarMobileMenu,
1374
+ NavbarMobileMenuContent,
1375
+ NavbarMobileMenuTrigger,
1376
+ NavbarMobileOverlay,
1377
+ NavbarProvider,
1378
+ NavbarTrigger,
1379
+ Pagination,
1380
+ PaginationEllipsis,
1381
+ PaginationItem,
1382
+ PaginationItems,
1383
+ PaginationNext,
1384
+ PaginationPrevious,
1385
+ Row,
1386
+ Scroll,
1387
+ Sidebar,
1388
+ SidebarContent,
1389
+ SidebarFooter,
1390
+ SidebarGroup,
1391
+ SidebarGroupAction,
1392
+ SidebarHeader,
1393
+ SidebarInput,
1394
+ SidebarInset,
1395
+ SidebarMenu,
1396
+ SidebarMenuAction,
1397
+ SidebarMenuBadge,
1398
+ SidebarMenuButton,
1399
+ SidebarMenuItem,
1400
+ SidebarMenuLink,
1401
+ SidebarMenuSkeleton,
1402
+ SidebarMenuSub,
1403
+ SidebarMenuSubButton,
1404
+ SidebarMenuSubItem,
1405
+ SidebarProvider,
1406
+ SidebarRail,
1407
+ SidebarSeparator,
1408
+ SidebarTrigger,
1409
+ Splitter,
1410
+ SplitterPanel,
1411
+ SplitterResizeTrigger,
1412
+ SplitterResizeTriggerIndicator,
1413
+ Stack,
1414
+ Tabs,
1415
+ TabsContent,
1416
+ TabsList,
1417
+ TabsTrigger,
1418
+ ToggleButton,
1419
+ ToggleButtonIndicator,
1420
+ VStack,
1421
+ navbarMenuTriggerStyle,
1422
+ useNavbar,
1423
+ useSidebar,
1424
+ useTabs
1425
+ });