@bgunnarsson/react-primitives 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,1131 @@
1
+ // src/components/Button/Button.tsx
2
+ import { jsx } from "react/jsx-runtime";
3
+ var Button = ({ className, ...props }) => /* @__PURE__ */ jsx("button", { className, ...props });
4
+
5
+ // src/components/Text/Text.tsx
6
+ import { jsx as jsx2 } from "react/jsx-runtime";
7
+ var Text = ({ as: Tag = "p", className, ...props }) => /* @__PURE__ */ jsx2(Tag, { className, ...props });
8
+
9
+ // src/components/Input/Input.tsx
10
+ import React from "react";
11
+ import { jsx as jsx3 } from "react/jsx-runtime";
12
+ var Input = React.forwardRef(
13
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx3("input", { ref, className, ...props })
14
+ );
15
+ Input.displayName = "Input";
16
+
17
+ // src/components/Label/Label.tsx
18
+ import { jsx as jsx4 } from "react/jsx-runtime";
19
+ var Label = ({ className, ...props }) => /* @__PURE__ */ jsx4("label", { className, ...props });
20
+
21
+ // src/components/Badge/Badge.tsx
22
+ import { jsx as jsx5 } from "react/jsx-runtime";
23
+ var Badge = (props) => /* @__PURE__ */ jsx5("span", { ...props });
24
+
25
+ // src/components/Dialog/Dialog.tsx
26
+ import React2 from "react";
27
+ import * as RadixDialog from "@radix-ui/react-dialog";
28
+ import { jsx as jsx6, jsxs } from "react/jsx-runtime";
29
+ var Dialog = RadixDialog.Root;
30
+ var DialogTrigger = RadixDialog.Trigger;
31
+ var DialogPortal = RadixDialog.Portal;
32
+ var DialogClose = RadixDialog.Close;
33
+ var DialogTitle = RadixDialog.Title;
34
+ var DialogDescription = RadixDialog.Description;
35
+ var DialogOverlay = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(RadixDialog.Overlay, { ref, className, ...props }));
36
+ DialogOverlay.displayName = "DialogOverlay";
37
+ var DialogContent = React2.forwardRef(({ className, overlayClassName, overlayStyle, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
38
+ /* @__PURE__ */ jsx6(DialogOverlay, { className: overlayClassName, style: overlayStyle }),
39
+ /* @__PURE__ */ jsx6(RadixDialog.Content, { ref, className, ...props, children })
40
+ ] }));
41
+ DialogContent.displayName = "DialogContent";
42
+
43
+ // src/components/Link/Link.tsx
44
+ import { jsx as jsx7 } from "react/jsx-runtime";
45
+ var Link = ({ className, ...props }) => /* @__PURE__ */ jsx7("a", { className, ...props });
46
+
47
+ // src/components/Textarea/Textarea.tsx
48
+ import React3 from "react";
49
+ import { jsx as jsx8 } from "react/jsx-runtime";
50
+ var Textarea = React3.forwardRef(
51
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx8("textarea", { ref, className, ...props })
52
+ );
53
+ Textarea.displayName = "Textarea";
54
+
55
+ // src/components/Card/Card.tsx
56
+ import { jsx as jsx9 } from "react/jsx-runtime";
57
+ var Card = (props) => /* @__PURE__ */ jsx9("div", { ...props });
58
+ var CardContent = (props) => /* @__PURE__ */ jsx9("div", { ...props });
59
+
60
+ // src/components/Alert/Alert.tsx
61
+ import { jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
62
+ var Alert = ({ as: headingLevel, heading, description, children, ...props }) => /* @__PURE__ */ jsxs2("div", { role: "alert", ...props, children: [
63
+ heading && /* @__PURE__ */ jsx10(AlertTitle, { as: headingLevel, children: heading }),
64
+ description && /* @__PURE__ */ jsx10(AlertDescription, { children: description }),
65
+ children
66
+ ] });
67
+ var AlertTitle = ({ as: Tag = "h5", ...props }) => /* @__PURE__ */ jsx10(Tag, { ...props });
68
+ var AlertDescription = (props) => /* @__PURE__ */ jsx10("p", { ...props });
69
+
70
+ // src/components/Skeleton/Skeleton.tsx
71
+ import { jsx as jsx11 } from "react/jsx-runtime";
72
+ var Skeleton = ({ className, ...props }) => /* @__PURE__ */ jsx11("div", { "aria-hidden": "true", className, ...props });
73
+
74
+ // src/components/Spinner/Spinner.tsx
75
+ import { jsx as jsx12 } from "react/jsx-runtime";
76
+ var Spinner = ({ className, size = 24, ...props }) => /* @__PURE__ */ jsx12(
77
+ "svg",
78
+ {
79
+ xmlns: "http://www.w3.org/2000/svg",
80
+ width: size,
81
+ height: size,
82
+ viewBox: "0 0 24 24",
83
+ fill: "none",
84
+ stroke: "currentColor",
85
+ strokeWidth: 2,
86
+ strokeLinecap: "round",
87
+ strokeLinejoin: "round",
88
+ "aria-label": "Loading",
89
+ role: "status",
90
+ className,
91
+ ...props,
92
+ children: /* @__PURE__ */ jsx12("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
93
+ }
94
+ );
95
+
96
+ // src/components/Separator/Separator.tsx
97
+ import React4 from "react";
98
+ import * as RadixSeparator from "@radix-ui/react-separator";
99
+ import { jsx as jsx13 } from "react/jsx-runtime";
100
+ var Separator = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(RadixSeparator.Root, { ref, className, ...props }));
101
+ Separator.displayName = "Separator";
102
+
103
+ // src/components/Checkbox/Checkbox.tsx
104
+ import React5 from "react";
105
+ import * as RadixCheckbox from "@radix-ui/react-checkbox";
106
+ import { jsx as jsx14 } from "react/jsx-runtime";
107
+ var Checkbox = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(RadixCheckbox.Root, { ref, className, ...props, children: /* @__PURE__ */ jsx14(RadixCheckbox.Indicator, { children: /* @__PURE__ */ jsx14("svg", { width: "10", height: "8", viewBox: "0 0 10 8", fill: "none", children: /* @__PURE__ */ jsx14("path", { d: "M1 4L3.5 6.5L9 1", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) }) }));
108
+ Checkbox.displayName = "Checkbox";
109
+
110
+ // src/components/RadioGroup/RadioGroup.tsx
111
+ import React6 from "react";
112
+ import * as RadixRadioGroup from "@radix-ui/react-radio-group";
113
+ import { jsx as jsx15 } from "react/jsx-runtime";
114
+ var RadioGroup = React6.forwardRef(
115
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(RadixRadioGroup.Root, { ref, className, ...props })
116
+ );
117
+ RadioGroup.displayName = "RadioGroup";
118
+ var RadioGroupItem = React6.forwardRef(
119
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx15(RadixRadioGroup.Item, { ref, className, ...props, children: /* @__PURE__ */ jsx15(RadixRadioGroup.Indicator, {}) })
120
+ );
121
+ RadioGroupItem.displayName = "RadioGroupItem";
122
+
123
+ // src/components/Switch/Switch.tsx
124
+ import React7 from "react";
125
+ import * as RadixSwitch from "@radix-ui/react-switch";
126
+ import { jsx as jsx16 } from "react/jsx-runtime";
127
+ var Switch = React7.forwardRef(
128
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx16(RadixSwitch.Root, { ref, className, ...props, children: /* @__PURE__ */ jsx16(RadixSwitch.Thumb, {}) })
129
+ );
130
+ Switch.displayName = "Switch";
131
+
132
+ // src/components/Select/Select.tsx
133
+ import React8 from "react";
134
+ import * as RadixSelect from "@radix-ui/react-select";
135
+ import { jsx as jsx17, jsxs as jsxs3 } from "react/jsx-runtime";
136
+ var Select = RadixSelect.Root;
137
+ var SelectGroup = RadixSelect.Group;
138
+ var SelectValue = RadixSelect.Value;
139
+ var SelectTrigger = React8.forwardRef(
140
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(RadixSelect.Trigger, { ref, className, ...props, children: [
141
+ children,
142
+ /* @__PURE__ */ jsx17(RadixSelect.Icon, {})
143
+ ] })
144
+ );
145
+ SelectTrigger.displayName = "SelectTrigger";
146
+ var SelectContent = React8.forwardRef(
147
+ ({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx17(RadixSelect.Portal, { children: /* @__PURE__ */ jsx17(RadixSelect.Content, { ref, position, className, ...props, children: /* @__PURE__ */ jsx17(RadixSelect.Viewport, { children }) }) })
148
+ );
149
+ SelectContent.displayName = "SelectContent";
150
+ var SelectItem = React8.forwardRef(
151
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs3(RadixSelect.Item, { ref, className, ...props, children: [
152
+ /* @__PURE__ */ jsx17(RadixSelect.ItemText, { children }),
153
+ /* @__PURE__ */ jsx17(RadixSelect.ItemIndicator, {})
154
+ ] })
155
+ );
156
+ SelectItem.displayName = "SelectItem";
157
+ var SelectLabel = React8.forwardRef(
158
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx17(RadixSelect.Label, { ref, className, ...props })
159
+ );
160
+ SelectLabel.displayName = "SelectLabel";
161
+ var SelectSeparator = React8.forwardRef(
162
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx17(RadixSelect.Separator, { ref, className, ...props })
163
+ );
164
+ SelectSeparator.displayName = "SelectSeparator";
165
+
166
+ // src/components/Tabs/Tabs.tsx
167
+ import React9 from "react";
168
+ import * as RadixTabs from "@radix-ui/react-tabs";
169
+ import { jsx as jsx18 } from "react/jsx-runtime";
170
+ var Tabs = RadixTabs.Root;
171
+ var TabsList = React9.forwardRef(
172
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(RadixTabs.List, { ref, className, ...props })
173
+ );
174
+ TabsList.displayName = "TabsList";
175
+ var TabsTrigger = React9.forwardRef(
176
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(RadixTabs.Trigger, { ref, className, ...props })
177
+ );
178
+ TabsTrigger.displayName = "TabsTrigger";
179
+ var TabsContent = React9.forwardRef(
180
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx18(RadixTabs.Content, { ref, className, ...props })
181
+ );
182
+ TabsContent.displayName = "TabsContent";
183
+
184
+ // src/components/Accordion/Accordion.tsx
185
+ import React10 from "react";
186
+ import * as RadixAccordion from "@radix-ui/react-accordion";
187
+ import { jsx as jsx19 } from "react/jsx-runtime";
188
+ var Accordion = RadixAccordion.Root;
189
+ var AccordionItem = React10.forwardRef(
190
+ (props, ref) => /* @__PURE__ */ jsx19(RadixAccordion.Item, { ref, ...props })
191
+ );
192
+ AccordionItem.displayName = "AccordionItem";
193
+ var AccordionTrigger = React10.forwardRef(
194
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx19(RadixAccordion.Header, { children: /* @__PURE__ */ jsx19(RadixAccordion.Trigger, { ref, ...props, children }) })
195
+ );
196
+ AccordionTrigger.displayName = "AccordionTrigger";
197
+ var AccordionContent = React10.forwardRef(
198
+ (props, ref) => /* @__PURE__ */ jsx19(RadixAccordion.Content, { ref, ...props })
199
+ );
200
+ AccordionContent.displayName = "AccordionContent";
201
+
202
+ // src/components/Tooltip/Tooltip.tsx
203
+ import React11 from "react";
204
+ import * as RadixTooltip from "@radix-ui/react-tooltip";
205
+ import { jsx as jsx20 } from "react/jsx-runtime";
206
+ var Tooltip = ({ delayDuration = 200, children, ...props }) => /* @__PURE__ */ jsx20(RadixTooltip.Provider, { delayDuration, children: /* @__PURE__ */ jsx20(RadixTooltip.Root, { ...props, children }) });
207
+ var TooltipTrigger = RadixTooltip.Trigger;
208
+ var TooltipContent = React11.forwardRef(
209
+ ({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx20(RadixTooltip.Portal, { children: /* @__PURE__ */ jsx20(RadixTooltip.Content, { ref, sideOffset, className, ...props }) })
210
+ );
211
+ TooltipContent.displayName = "TooltipContent";
212
+
213
+ // src/components/Popover/Popover.tsx
214
+ import React12 from "react";
215
+ import * as RadixPopover from "@radix-ui/react-popover";
216
+ import { jsx as jsx21 } from "react/jsx-runtime";
217
+ var Popover = RadixPopover.Root;
218
+ var PopoverTrigger = RadixPopover.Trigger;
219
+ var PopoverClose = RadixPopover.Close;
220
+ var PopoverContent = React12.forwardRef(
221
+ ({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx21(RadixPopover.Portal, { children: /* @__PURE__ */ jsx21(RadixPopover.Content, { ref, align, sideOffset, className, ...props }) })
222
+ );
223
+ PopoverContent.displayName = "PopoverContent";
224
+
225
+ // src/components/DropdownMenu/DropdownMenu.tsx
226
+ import React13 from "react";
227
+ import * as RadixDropdownMenu from "@radix-ui/react-dropdown-menu";
228
+ import { jsx as jsx22, jsxs as jsxs4 } from "react/jsx-runtime";
229
+ var DropdownMenu = RadixDropdownMenu.Root;
230
+ var DropdownMenuTrigger = RadixDropdownMenu.Trigger;
231
+ var DropdownMenuGroup = RadixDropdownMenu.Group;
232
+ var DropdownMenuSub = RadixDropdownMenu.Sub;
233
+ var DropdownMenuRadioGroup = RadixDropdownMenu.RadioGroup;
234
+ var DropdownMenuContent = React13.forwardRef(
235
+ ({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx22(RadixDropdownMenu.Portal, { children: /* @__PURE__ */ jsx22(RadixDropdownMenu.Content, { ref, sideOffset, className, ...props }) })
236
+ );
237
+ DropdownMenuContent.displayName = "DropdownMenuContent";
238
+ var DropdownMenuItem = React13.forwardRef(
239
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(RadixDropdownMenu.Item, { ref, className, ...props })
240
+ );
241
+ DropdownMenuItem.displayName = "DropdownMenuItem";
242
+ var DropdownMenuCheckboxItem = React13.forwardRef(
243
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs4(RadixDropdownMenu.CheckboxItem, { ref, className, ...props, children: [
244
+ /* @__PURE__ */ jsx22(RadixDropdownMenu.ItemIndicator, {}),
245
+ children
246
+ ] })
247
+ );
248
+ DropdownMenuCheckboxItem.displayName = "DropdownMenuCheckboxItem";
249
+ var DropdownMenuRadioItem = React13.forwardRef(
250
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs4(RadixDropdownMenu.RadioItem, { ref, className, ...props, children: [
251
+ /* @__PURE__ */ jsx22(RadixDropdownMenu.ItemIndicator, {}),
252
+ children
253
+ ] })
254
+ );
255
+ DropdownMenuRadioItem.displayName = "DropdownMenuRadioItem";
256
+ var DropdownMenuLabel = React13.forwardRef(
257
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(RadixDropdownMenu.Label, { ref, className, ...props })
258
+ );
259
+ DropdownMenuLabel.displayName = "DropdownMenuLabel";
260
+ var DropdownMenuSeparator = React13.forwardRef(
261
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(RadixDropdownMenu.Separator, { ref, className, ...props })
262
+ );
263
+ DropdownMenuSeparator.displayName = "DropdownMenuSeparator";
264
+ var DropdownMenuSubTrigger = React13.forwardRef(
265
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsx22(RadixDropdownMenu.SubTrigger, { ref, className, ...props, children })
266
+ );
267
+ DropdownMenuSubTrigger.displayName = "DropdownMenuSubTrigger";
268
+ var DropdownMenuSubContent = React13.forwardRef(
269
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx22(RadixDropdownMenu.SubContent, { ref, className, ...props })
270
+ );
271
+ DropdownMenuSubContent.displayName = "DropdownMenuSubContent";
272
+
273
+ // src/components/Avatar/Avatar.tsx
274
+ import React14 from "react";
275
+ import * as RadixAvatar from "@radix-ui/react-avatar";
276
+ import { jsx as jsx23 } from "react/jsx-runtime";
277
+ var Avatar = React14.forwardRef(
278
+ (props, ref) => /* @__PURE__ */ jsx23(RadixAvatar.Root, { ref, ...props })
279
+ );
280
+ Avatar.displayName = "Avatar";
281
+ var AvatarImage = React14.forwardRef(
282
+ (props, ref) => /* @__PURE__ */ jsx23(RadixAvatar.Image, { ref, ...props })
283
+ );
284
+ AvatarImage.displayName = "AvatarImage";
285
+ var AvatarFallback = React14.forwardRef(
286
+ (props, ref) => /* @__PURE__ */ jsx23(RadixAvatar.Fallback, { ref, ...props })
287
+ );
288
+ AvatarFallback.displayName = "AvatarFallback";
289
+
290
+ // src/components/Progress/Progress.tsx
291
+ import React15 from "react";
292
+ import * as RadixProgress from "@radix-ui/react-progress";
293
+ import { jsx as jsx24 } from "react/jsx-runtime";
294
+ var Progress = React15.forwardRef(
295
+ ({ className, value, ...props }, ref) => /* @__PURE__ */ jsx24(RadixProgress.Root, { ref, value, className, ...props, children: /* @__PURE__ */ jsx24(RadixProgress.Indicator, { style: { transform: `translateX(-${100 - (value ?? 0)}%)` } }) })
296
+ );
297
+ Progress.displayName = "Progress";
298
+
299
+ // src/components/ScrollArea/ScrollArea.tsx
300
+ import React16 from "react";
301
+ import * as RadixScrollArea from "@radix-ui/react-scroll-area";
302
+ import { jsx as jsx25, jsxs as jsxs5 } from "react/jsx-runtime";
303
+ var ScrollArea = React16.forwardRef(
304
+ ({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs5(RadixScrollArea.Root, { ref, className, ...props, children: [
305
+ /* @__PURE__ */ jsx25(RadixScrollArea.Viewport, { children }),
306
+ /* @__PURE__ */ jsx25(RadixScrollArea.Scrollbar, { orientation: "vertical", children: /* @__PURE__ */ jsx25(RadixScrollArea.Thumb, {}) }),
307
+ /* @__PURE__ */ jsx25(RadixScrollArea.Scrollbar, { orientation: "horizontal", children: /* @__PURE__ */ jsx25(RadixScrollArea.Thumb, {}) }),
308
+ /* @__PURE__ */ jsx25(RadixScrollArea.Corner, {})
309
+ ] })
310
+ );
311
+ ScrollArea.displayName = "ScrollArea";
312
+
313
+ // src/components/Collapsible/Collapsible.tsx
314
+ import React17 from "react";
315
+ import * as RadixCollapsible from "@radix-ui/react-collapsible";
316
+ import { jsx as jsx26 } from "react/jsx-runtime";
317
+ var Collapsible = RadixCollapsible.Root;
318
+ var CollapsibleTrigger = RadixCollapsible.Trigger;
319
+ var CollapsibleContent = React17.forwardRef(
320
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx26(RadixCollapsible.Content, { ref, className, ...props })
321
+ );
322
+ CollapsibleContent.displayName = "CollapsibleContent";
323
+
324
+ // src/components/Toggle/Toggle.tsx
325
+ import React18 from "react";
326
+ import * as RadixToggle from "@radix-ui/react-toggle";
327
+ import { jsx as jsx27 } from "react/jsx-runtime";
328
+ var Toggle = React18.forwardRef(
329
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx27(RadixToggle.Root, { ref, className, ...props })
330
+ );
331
+ Toggle.displayName = "Toggle";
332
+
333
+ // src/components/Table/Table.tsx
334
+ import { jsx as jsx28 } from "react/jsx-runtime";
335
+ var Table = ({ className, ...props }) => /* @__PURE__ */ jsx28("div", { style: { overflowX: "auto" }, children: /* @__PURE__ */ jsx28("table", { className, ...props }) });
336
+ var TableHeader = ({ className, ...props }) => /* @__PURE__ */ jsx28("thead", { className, ...props });
337
+ var TableBody = ({ className, ...props }) => /* @__PURE__ */ jsx28("tbody", { className, ...props });
338
+ var TableFooter = ({ className, ...props }) => /* @__PURE__ */ jsx28("tfoot", { className, ...props });
339
+ var TableRow = ({ className, ...props }) => /* @__PURE__ */ jsx28("tr", { className, ...props });
340
+ var TableHead = ({ className, ...props }) => /* @__PURE__ */ jsx28("th", { className, ...props });
341
+ var TableCell = ({ className, ...props }) => /* @__PURE__ */ jsx28("td", { className, ...props });
342
+ var TableCaption = ({ className, ...props }) => /* @__PURE__ */ jsx28("caption", { className, ...props });
343
+
344
+ // src/components/Nav/Nav.tsx
345
+ import { jsx as jsx29 } from "react/jsx-runtime";
346
+ var Nav = ({ className, ...props }) => /* @__PURE__ */ jsx29("nav", { className, ...props });
347
+ var NavList = ({ className, ...props }) => /* @__PURE__ */ jsx29("ul", { className, ...props });
348
+ var NavItem = ({ className, ...props }) => /* @__PURE__ */ jsx29("li", { className, ...props });
349
+
350
+ // src/components/Breadcrumb/Breadcrumb.tsx
351
+ import { jsx as jsx30 } from "react/jsx-runtime";
352
+ var Breadcrumbs = (props) => /* @__PURE__ */ jsx30("nav", { "aria-label": "breadcrumb", ...props });
353
+ var BreadcrumbsList = (props) => /* @__PURE__ */ jsx30("ul", { ...props });
354
+ var BreadcrumbsItem = (props) => /* @__PURE__ */ jsx30("li", { ...props });
355
+ var BreadcrumbsLink = (props) => /* @__PURE__ */ jsx30("a", { ...props });
356
+ var BreadcrumbsPage = (props) => /* @__PURE__ */ jsx30("span", { "aria-current": "page", ...props });
357
+ var BreadcrumbsSeparator = ({
358
+ children = "\u2022",
359
+ ...props
360
+ }) => /* @__PURE__ */ jsx30("span", { "aria-hidden": "true", ...props, children });
361
+
362
+ // src/components/Sheet/Sheet.tsx
363
+ import React19 from "react";
364
+ import * as RadixDialog2 from "@radix-ui/react-dialog";
365
+ import { jsx as jsx31, jsxs as jsxs6 } from "react/jsx-runtime";
366
+ var Sheet = RadixDialog2.Root;
367
+ var SheetTrigger = RadixDialog2.Trigger;
368
+ var SheetPortal = RadixDialog2.Portal;
369
+ var SheetClose = RadixDialog2.Close;
370
+ var SheetTitle = RadixDialog2.Title;
371
+ var SheetDescription = RadixDialog2.Description;
372
+ var SheetOverlay = React19.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx31(RadixDialog2.Overlay, { ref, className, ...props }));
373
+ SheetOverlay.displayName = "SheetOverlay";
374
+ var SheetContent = React19.forwardRef(({ side = "right", className, overlayClassName, overlayStyle, children, ...props }, ref) => /* @__PURE__ */ jsxs6(SheetPortal, { children: [
375
+ /* @__PURE__ */ jsx31(SheetOverlay, { className: overlayClassName, style: overlayStyle }),
376
+ /* @__PURE__ */ jsx31(RadixDialog2.Content, { ref, "data-side": side, className, ...props, children })
377
+ ] }));
378
+ SheetContent.displayName = "SheetContent";
379
+
380
+ // src/components/AlertDialog/AlertDialog.tsx
381
+ import React20 from "react";
382
+ import * as RadixAlertDialog from "@radix-ui/react-alert-dialog";
383
+ import { jsx as jsx32, jsxs as jsxs7 } from "react/jsx-runtime";
384
+ var AlertDialog = RadixAlertDialog.Root;
385
+ var AlertDialogTrigger = RadixAlertDialog.Trigger;
386
+ var AlertDialogPortal = RadixAlertDialog.Portal;
387
+ var AlertDialogTitle = RadixAlertDialog.Title;
388
+ var AlertDialogDescription = RadixAlertDialog.Description;
389
+ var AlertDialogAction = RadixAlertDialog.Action;
390
+ var AlertDialogCancel = RadixAlertDialog.Cancel;
391
+ var AlertDialogOverlay = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx32(RadixAlertDialog.Overlay, { ref, className, ...props }));
392
+ AlertDialogOverlay.displayName = "AlertDialogOverlay";
393
+ var AlertDialogContent = React20.forwardRef(({ className, overlayClassName, overlayStyle, children, ...props }, ref) => /* @__PURE__ */ jsxs7(AlertDialogPortal, { children: [
394
+ /* @__PURE__ */ jsx32(AlertDialogOverlay, { className: overlayClassName, style: overlayStyle }),
395
+ /* @__PURE__ */ jsx32(RadixAlertDialog.Content, { ref, className, ...props, children })
396
+ ] }));
397
+ AlertDialogContent.displayName = "AlertDialogContent";
398
+
399
+ // src/components/Toast/Toast.tsx
400
+ import { Toaster, toast } from "sonner";
401
+
402
+ // src/components/Carousel/Carousel.tsx
403
+ import React21 from "react";
404
+ import useEmblaCarousel from "embla-carousel-react";
405
+ import { jsx as jsx33 } from "react/jsx-runtime";
406
+ var CarouselContext = React21.createContext(null);
407
+ function useCarousel() {
408
+ const context = React21.useContext(CarouselContext);
409
+ if (!context) throw new Error("useCarousel must be used within a Carousel");
410
+ return context;
411
+ }
412
+ var Carousel = React21.forwardRef(
413
+ ({ opts, className, children, ...props }, ref) => {
414
+ const [carouselRef, api] = useEmblaCarousel(opts);
415
+ const [canScrollPrev, setCanScrollPrev] = React21.useState(false);
416
+ const [canScrollNext, setCanScrollNext] = React21.useState(false);
417
+ const onSelect = React21.useCallback((api2) => {
418
+ if (!api2) return;
419
+ setCanScrollPrev(api2.canScrollPrev());
420
+ setCanScrollNext(api2.canScrollNext());
421
+ }, []);
422
+ React21.useEffect(() => {
423
+ if (!api) return;
424
+ onSelect(api);
425
+ api.on("reInit", onSelect);
426
+ api.on("select", onSelect);
427
+ return () => {
428
+ api.off("reInit", onSelect);
429
+ api.off("select", onSelect);
430
+ };
431
+ }, [api, onSelect]);
432
+ return /* @__PURE__ */ jsx33(
433
+ CarouselContext.Provider,
434
+ {
435
+ value: {
436
+ carouselRef,
437
+ api,
438
+ scrollPrev: () => api?.scrollPrev(),
439
+ scrollNext: () => api?.scrollNext(),
440
+ canScrollPrev,
441
+ canScrollNext
442
+ },
443
+ children: /* @__PURE__ */ jsx33("div", { ref, className, ...props, children })
444
+ }
445
+ );
446
+ }
447
+ );
448
+ Carousel.displayName = "Carousel";
449
+ var CarouselContent = React21.forwardRef(
450
+ ({ className, ...props }, ref) => {
451
+ const { carouselRef } = useCarousel();
452
+ return /* @__PURE__ */ jsx33("div", { ref: carouselRef, style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx33("div", { ref, className, ...props }) });
453
+ }
454
+ );
455
+ CarouselContent.displayName = "CarouselContent";
456
+ var CarouselItem = React21.forwardRef(
457
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx33("div", { ref, role: "group", "aria-roledescription": "slide", className, ...props })
458
+ );
459
+ CarouselItem.displayName = "CarouselItem";
460
+ var CarouselPrevious = React21.forwardRef(
461
+ ({ className, onClick, ...props }, ref) => {
462
+ const { scrollPrev, canScrollPrev } = useCarousel();
463
+ return /* @__PURE__ */ jsx33(
464
+ "button",
465
+ {
466
+ ref,
467
+ className,
468
+ disabled: !canScrollPrev,
469
+ "aria-label": "Previous slide",
470
+ onClick: (e) => {
471
+ scrollPrev();
472
+ onClick?.(e);
473
+ },
474
+ ...props
475
+ }
476
+ );
477
+ }
478
+ );
479
+ CarouselPrevious.displayName = "CarouselPrevious";
480
+ var CarouselNext = React21.forwardRef(
481
+ ({ className, onClick, ...props }, ref) => {
482
+ const { scrollNext, canScrollNext } = useCarousel();
483
+ return /* @__PURE__ */ jsx33(
484
+ "button",
485
+ {
486
+ ref,
487
+ className,
488
+ disabled: !canScrollNext,
489
+ "aria-label": "Next slide",
490
+ onClick: (e) => {
491
+ scrollNext();
492
+ onClick?.(e);
493
+ },
494
+ ...props
495
+ }
496
+ );
497
+ }
498
+ );
499
+ CarouselNext.displayName = "CarouselNext";
500
+
501
+ // src/components/Drawer/Drawer.tsx
502
+ import { Drawer as VaulDrawer } from "vaul";
503
+ var Drawer = VaulDrawer.Root;
504
+ var DrawerTrigger = VaulDrawer.Trigger;
505
+ var DrawerPortal = VaulDrawer.Portal;
506
+ var DrawerOverlay = VaulDrawer.Overlay;
507
+ var DrawerContent = VaulDrawer.Content;
508
+ var DrawerHandle = VaulDrawer.Handle;
509
+ var DrawerClose = VaulDrawer.Close;
510
+ var DrawerTitle = VaulDrawer.Title;
511
+ var DrawerDescription = VaulDrawer.Description;
512
+
513
+ // src/components/Icon/Icon.tsx
514
+ import { jsx as jsx34 } from "react/jsx-runtime";
515
+ var Icon2 = ({
516
+ name,
517
+ mode = "sprite",
518
+ spriteHref = "/icons.svg",
519
+ size = 24,
520
+ className,
521
+ ...props
522
+ }) => {
523
+ if (mode === "external") {
524
+ return /* @__PURE__ */ jsx34(
525
+ "img",
526
+ {
527
+ src: `/icons/${name}.svg`,
528
+ "aria-hidden": "true",
529
+ width: size,
530
+ height: size,
531
+ className
532
+ }
533
+ );
534
+ }
535
+ return /* @__PURE__ */ jsx34(
536
+ "svg",
537
+ {
538
+ width: size,
539
+ height: size,
540
+ "aria-hidden": "true",
541
+ className,
542
+ ...props,
543
+ children: /* @__PURE__ */ jsx34("use", { href: `${spriteHref}#${name}` })
544
+ }
545
+ );
546
+ };
547
+
548
+ // src/components/Picture/Picture.tsx
549
+ import { jsx as jsx35, jsxs as jsxs8 } from "react/jsx-runtime";
550
+ var Picture = ({
551
+ src,
552
+ alt,
553
+ sources = [],
554
+ loading = "lazy",
555
+ width,
556
+ height,
557
+ imgClassName,
558
+ className,
559
+ ...props
560
+ }) => /* @__PURE__ */ jsxs8("picture", { className, ...props, children: [
561
+ sources.map((source, i) => /* @__PURE__ */ jsx35("source", { ...source }, i)),
562
+ /* @__PURE__ */ jsx35(
563
+ "img",
564
+ {
565
+ src,
566
+ alt,
567
+ loading,
568
+ width,
569
+ height,
570
+ className: imgClassName
571
+ }
572
+ )
573
+ ] });
574
+
575
+ // src/components/ToggleGroup/ToggleGroup.tsx
576
+ import React22 from "react";
577
+ import * as RadixToggleGroup from "@radix-ui/react-toggle-group";
578
+ import { jsx as jsx36 } from "react/jsx-runtime";
579
+ var ToggleGroup = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(RadixToggleGroup.Root, { ref, className, ...props }));
580
+ ToggleGroup.displayName = "ToggleGroup";
581
+ var ToggleGroupItem = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx36(RadixToggleGroup.Item, { ref, className, ...props }));
582
+ ToggleGroupItem.displayName = "ToggleGroupItem";
583
+
584
+ // src/components/Form/Form.tsx
585
+ import React23 from "react";
586
+ import { Slot } from "@radix-ui/react-slot";
587
+ import { jsx as jsx37 } from "react/jsx-runtime";
588
+ var FormFieldContext = React23.createContext({ id: "" });
589
+ var FormField = ({ id: idProp, error, children, className, ...props }) => {
590
+ const generatedId = React23.useId();
591
+ const id = idProp ?? generatedId;
592
+ return /* @__PURE__ */ jsx37(FormFieldContext.Provider, { value: { id, error }, children: /* @__PURE__ */ jsx37("div", { className, ...props, children }) });
593
+ };
594
+ var FormLabel = React23.forwardRef(
595
+ ({ className, ...props }, ref) => {
596
+ const { id } = React23.useContext(FormFieldContext);
597
+ return /* @__PURE__ */ jsx37("label", { ref, htmlFor: id, className, ...props });
598
+ }
599
+ );
600
+ FormLabel.displayName = "FormLabel";
601
+ var FormControl = React23.forwardRef(
602
+ ({ ...props }, ref) => {
603
+ const { id, error } = React23.useContext(FormFieldContext);
604
+ return /* @__PURE__ */ jsx37(
605
+ Slot,
606
+ {
607
+ ref,
608
+ id,
609
+ "aria-invalid": error ? true : void 0,
610
+ "aria-describedby": error ? `${id}-message` : void 0,
611
+ ...props
612
+ }
613
+ );
614
+ }
615
+ );
616
+ FormControl.displayName = "FormControl";
617
+ var FormMessage = React23.forwardRef(
618
+ ({ className, children, ...props }, ref) => {
619
+ const { id, error } = React23.useContext(FormFieldContext);
620
+ const message = error ?? children;
621
+ if (!message) return null;
622
+ return /* @__PURE__ */ jsx37("p", { ref, id: `${id}-message`, role: "alert", className, ...props, children: message });
623
+ }
624
+ );
625
+ FormMessage.displayName = "FormMessage";
626
+
627
+ // src/components/VideoPlayer/VideoPlayer.tsx
628
+ import React24 from "react";
629
+ import { jsx as jsx38 } from "react/jsx-runtime";
630
+ var VideoPlayer = React24.forwardRef(
631
+ ({ src, poster, className, ...props }, ref) => /* @__PURE__ */ jsx38("video", { ref, src, poster, className, ...props })
632
+ );
633
+ VideoPlayer.displayName = "VideoPlayer";
634
+
635
+ // src/components/Richtext/Richtext.tsx
636
+ import { jsx as jsx39 } from "react/jsx-runtime";
637
+ var Richtext = ({ html, className, ...props }) => (
638
+ // eslint-disable-next-line react/no-danger
639
+ /* @__PURE__ */ jsx39("div", { dangerouslySetInnerHTML: { __html: html }, className, ...props })
640
+ );
641
+
642
+ // src/components/HoverCard/HoverCard.tsx
643
+ import React25 from "react";
644
+ import * as RadixHoverCard from "@radix-ui/react-hover-card";
645
+ import { jsx as jsx40 } from "react/jsx-runtime";
646
+ var HoverCard = RadixHoverCard.Root;
647
+ var HoverCardTrigger = RadixHoverCard.Trigger;
648
+ var HoverCardContent = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx40(RadixHoverCard.Portal, { children: /* @__PURE__ */ jsx40(RadixHoverCard.Content, { ref, className, ...props }) }));
649
+ HoverCardContent.displayName = "HoverCardContent";
650
+
651
+ // src/components/ContextMenu/ContextMenu.tsx
652
+ import React26 from "react";
653
+ import * as RadixContextMenu from "@radix-ui/react-context-menu";
654
+ import { jsx as jsx41, jsxs as jsxs9 } from "react/jsx-runtime";
655
+ var ContextMenu = RadixContextMenu.Root;
656
+ var ContextMenuTrigger = RadixContextMenu.Trigger;
657
+ var ContextMenuGroup = RadixContextMenu.Group;
658
+ var ContextMenuSub = RadixContextMenu.Sub;
659
+ var ContextMenuRadioGroup = RadixContextMenu.RadioGroup;
660
+ var ContextMenuContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(RadixContextMenu.Portal, { children: /* @__PURE__ */ jsx41(RadixContextMenu.Content, { ref, className, ...props }) }));
661
+ ContextMenuContent.displayName = "ContextMenuContent";
662
+ var ContextMenuItem = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(RadixContextMenu.Item, { ref, className, ...props }));
663
+ ContextMenuItem.displayName = "ContextMenuItem";
664
+ var ContextMenuCheckboxItem = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(RadixContextMenu.CheckboxItem, { ref, className, ...props, children: [
665
+ /* @__PURE__ */ jsx41(RadixContextMenu.ItemIndicator, {}),
666
+ children
667
+ ] }));
668
+ ContextMenuCheckboxItem.displayName = "ContextMenuCheckboxItem";
669
+ var ContextMenuRadioItem = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(RadixContextMenu.RadioItem, { ref, className, ...props, children: [
670
+ /* @__PURE__ */ jsx41(RadixContextMenu.ItemIndicator, {}),
671
+ children
672
+ ] }));
673
+ ContextMenuRadioItem.displayName = "ContextMenuRadioItem";
674
+ var ContextMenuLabel = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(RadixContextMenu.Label, { ref, className, ...props }));
675
+ ContextMenuLabel.displayName = "ContextMenuLabel";
676
+ var ContextMenuSeparator = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(RadixContextMenu.Separator, { ref, className, ...props }));
677
+ ContextMenuSeparator.displayName = "ContextMenuSeparator";
678
+ var ContextMenuSubTrigger = React26.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx41(RadixContextMenu.SubTrigger, { ref, className, ...props, children }));
679
+ ContextMenuSubTrigger.displayName = "ContextMenuSubTrigger";
680
+ var ContextMenuSubContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx41(RadixContextMenu.Portal, { children: /* @__PURE__ */ jsx41(RadixContextMenu.SubContent, { ref, className, ...props }) }));
681
+ ContextMenuSubContent.displayName = "ContextMenuSubContent";
682
+
683
+ // src/components/Lightbox/Lightbox.tsx
684
+ import DefaultLightbox from "yet-another-react-lightbox";
685
+ import { jsx as jsx42 } from "react/jsx-runtime";
686
+ var Lightbox = (props) => /* @__PURE__ */ jsx42(DefaultLightbox, { ...props });
687
+
688
+ // src/components/CheckboxGroup/CheckboxGroup.tsx
689
+ import React27 from "react";
690
+ import { jsx as jsx43, jsxs as jsxs10 } from "react/jsx-runtime";
691
+ var CheckboxGroupContext = React27.createContext(null);
692
+ function useCheckboxGroup() {
693
+ const ctx = React27.useContext(CheckboxGroupContext);
694
+ if (!ctx) throw new Error("CheckboxGroupItem must be used within CheckboxGroup");
695
+ return ctx;
696
+ }
697
+ var CheckboxGroup = ({ name, value, onValueChange, disabled, children, ...props }) => /* @__PURE__ */ jsx43(CheckboxGroupContext.Provider, { value: { name, value, onValueChange, disabled }, children: /* @__PURE__ */ jsx43("div", { role: "group", ...props, children }) });
698
+ var CheckboxGroupItem = ({ value, disabled, children, ...props }) => {
699
+ const ctx = useCheckboxGroup();
700
+ const id = `${ctx.name}-${value}`;
701
+ const isDisabled = disabled ?? ctx.disabled;
702
+ const checked = ctx.value.includes(value);
703
+ const handleCheckedChange = (checkedState) => {
704
+ if (checkedState === true) {
705
+ ctx.onValueChange([...ctx.value, value]);
706
+ } else {
707
+ ctx.onValueChange(ctx.value.filter((v) => v !== value));
708
+ }
709
+ };
710
+ return /* @__PURE__ */ jsxs10("div", { ...props, children: [
711
+ /* @__PURE__ */ jsx43(
712
+ Checkbox,
713
+ {
714
+ id,
715
+ name: ctx.name,
716
+ value,
717
+ checked,
718
+ onCheckedChange: handleCheckedChange,
719
+ disabled: isDisabled
720
+ }
721
+ ),
722
+ /* @__PURE__ */ jsx43(Label, { htmlFor: id, children })
723
+ ] });
724
+ };
725
+
726
+ // src/components/Slider/Slider.tsx
727
+ import React28 from "react";
728
+ import * as RadixSlider from "@radix-ui/react-slider";
729
+ import { jsx as jsx44, jsxs as jsxs11 } from "react/jsx-runtime";
730
+ var Slider = React28.forwardRef(
731
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxs11(RadixSlider.Root, { ref, className, ...props, children: [
732
+ /* @__PURE__ */ jsx44(RadixSlider.Track, { children: /* @__PURE__ */ jsx44(RadixSlider.Range, {}) }),
733
+ (props.defaultValue ?? props.value ?? [0]).map((_, i) => /* @__PURE__ */ jsx44(RadixSlider.Thumb, {}, i))
734
+ ] })
735
+ );
736
+ Slider.displayName = "Slider";
737
+
738
+ // src/components/NumberInput/NumberInput.tsx
739
+ import React29 from "react";
740
+ import { jsx as jsx45, jsxs as jsxs12 } from "react/jsx-runtime";
741
+ var NumberInput = React29.forwardRef(
742
+ ({ value, onChange, min, max, step = 1, disabled, className, ...props }, ref) => {
743
+ const clamp = (n) => {
744
+ let v = n;
745
+ if (min !== void 0) v = Math.max(min, v);
746
+ if (max !== void 0) v = Math.min(max, v);
747
+ return v;
748
+ };
749
+ const handleChange = (e) => {
750
+ const n = parseFloat(e.target.value);
751
+ if (!isNaN(n)) onChange?.(clamp(n));
752
+ };
753
+ const increment = () => onChange?.(clamp((value ?? 0) + step));
754
+ const decrement = () => onChange?.(clamp((value ?? 0) - step));
755
+ return /* @__PURE__ */ jsxs12("div", { "data-disabled": disabled || void 0, className, children: [
756
+ /* @__PURE__ */ jsx45("button", { type: "button", onClick: decrement, disabled: disabled || min !== void 0 && (value ?? 0) <= min, tabIndex: -1, children: "\u2212" }),
757
+ /* @__PURE__ */ jsx45(
758
+ "input",
759
+ {
760
+ ref,
761
+ type: "number",
762
+ value: value ?? "",
763
+ onChange: handleChange,
764
+ min,
765
+ max,
766
+ step,
767
+ disabled,
768
+ ...props
769
+ }
770
+ ),
771
+ /* @__PURE__ */ jsx45("button", { type: "button", onClick: increment, disabled: disabled || max !== void 0 && (value ?? 0) >= max, tabIndex: -1, children: "+" })
772
+ ] });
773
+ }
774
+ );
775
+ NumberInput.displayName = "NumberInput";
776
+
777
+ // src/components/FileInput/FileInput.tsx
778
+ import React30 from "react";
779
+ import { jsx as jsx46, jsxs as jsxs13 } from "react/jsx-runtime";
780
+ var FileInput = React30.forwardRef(
781
+ ({ accept, multiple, disabled, onFilesChange, children, className, ...props }, ref) => {
782
+ const inputRef = React30.useRef(null);
783
+ const [isDragging, setIsDragging] = React30.useState(false);
784
+ React30.useImperativeHandle(ref, () => inputRef.current);
785
+ const handleFiles = (files) => {
786
+ if (!files) return;
787
+ onFilesChange?.(Array.from(files));
788
+ };
789
+ const handleDragOver = (e) => {
790
+ e.preventDefault();
791
+ if (!disabled) setIsDragging(true);
792
+ };
793
+ const handleDragLeave = () => setIsDragging(false);
794
+ const handleDrop = (e) => {
795
+ e.preventDefault();
796
+ setIsDragging(false);
797
+ if (!disabled) handleFiles(e.dataTransfer.files);
798
+ };
799
+ return /* @__PURE__ */ jsxs13(
800
+ "div",
801
+ {
802
+ "data-dragging": isDragging || void 0,
803
+ "data-disabled": disabled || void 0,
804
+ className,
805
+ onDragOver: handleDragOver,
806
+ onDragLeave: handleDragLeave,
807
+ onDrop: handleDrop,
808
+ ...props,
809
+ children: [
810
+ /* @__PURE__ */ jsx46(
811
+ "input",
812
+ {
813
+ ref: inputRef,
814
+ type: "file",
815
+ accept,
816
+ multiple,
817
+ disabled,
818
+ style: { display: "none" },
819
+ onChange: (e) => handleFiles(e.target.files)
820
+ }
821
+ ),
822
+ /* @__PURE__ */ jsx46("button", { type: "button", disabled, onClick: () => inputRef.current?.click(), children: children ?? "Choose file" })
823
+ ]
824
+ }
825
+ );
826
+ }
827
+ );
828
+ FileInput.displayName = "FileInput";
829
+
830
+ // src/components/Pagination/Pagination.tsx
831
+ import { jsx as jsx47 } from "react/jsx-runtime";
832
+ var Pagination = (props) => /* @__PURE__ */ jsx47("nav", { "aria-label": "pagination", ...props });
833
+ var PaginationContent = (props) => /* @__PURE__ */ jsx47("ul", { ...props });
834
+ var PaginationItem = (props) => /* @__PURE__ */ jsx47("li", { ...props });
835
+ var PaginationLink = ({ isActive, ...props }) => /* @__PURE__ */ jsx47("a", { "aria-current": isActive ? "page" : void 0, "data-active": isActive || void 0, ...props });
836
+ var PaginationPrevious = (props) => /* @__PURE__ */ jsx47("a", { "aria-label": "Go to previous page", ...props });
837
+ var PaginationNext = (props) => /* @__PURE__ */ jsx47("a", { "aria-label": "Go to next page", ...props });
838
+ var PaginationEllipsis = (props) => /* @__PURE__ */ jsx47("span", { "aria-hidden": "true", ...props, children: props.children ?? "\u2026" });
839
+
840
+ // src/components/Stepper/Stepper.tsx
841
+ import React31 from "react";
842
+ import { jsx as jsx48 } from "react/jsx-runtime";
843
+ var StepperContext = React31.createContext({ value: 1, orientation: "horizontal" });
844
+ var Stepper = ({ value, orientation = "horizontal", ...props }) => /* @__PURE__ */ jsx48(StepperContext.Provider, { value: { value, orientation }, children: /* @__PURE__ */ jsx48(
845
+ "ol",
846
+ {
847
+ "data-orientation": orientation,
848
+ "aria-label": "Progress",
849
+ ...props
850
+ }
851
+ ) });
852
+ var StepperItemContext = React31.createContext({ step: 1, state: "pending" });
853
+ var StepperItem = ({ step, ...props }) => {
854
+ const { value } = React31.useContext(StepperContext);
855
+ const state = step === value ? "active" : step < value ? "completed" : "pending";
856
+ return /* @__PURE__ */ jsx48(StepperItemContext.Provider, { value: { step, state }, children: /* @__PURE__ */ jsx48("li", { "data-state": state, "data-step": step, ...props }) });
857
+ };
858
+ var StepperIndicator = (props) => {
859
+ const { step, state } = React31.useContext(StepperItemContext);
860
+ return /* @__PURE__ */ jsx48("span", { "data-state": state, "aria-hidden": "true", ...props, children: props.children ?? (state === "completed" ? "\u2713" : step) });
861
+ };
862
+ var StepperTitle = (props) => /* @__PURE__ */ jsx48("p", { ...props });
863
+ var StepperDescription = (props) => /* @__PURE__ */ jsx48("p", { ...props });
864
+ var StepperSeparator = (props) => /* @__PURE__ */ jsx48("div", { "aria-hidden": "true", ...props });
865
+
866
+ // src/components/EmptyState/EmptyState.tsx
867
+ import { jsx as jsx49 } from "react/jsx-runtime";
868
+ var EmptyState = (props) => /* @__PURE__ */ jsx49("div", { ...props });
869
+ var EmptyStateIcon = (props) => /* @__PURE__ */ jsx49("div", { ...props });
870
+ var EmptyStateTitle = ({ as: Tag = "h3", ...props }) => /* @__PURE__ */ jsx49(Tag, { ...props });
871
+ var EmptyStateDescription = (props) => /* @__PURE__ */ jsx49("p", { ...props });
872
+ var EmptyStateAction = (props) => /* @__PURE__ */ jsx49("div", { ...props });
873
+
874
+ // src/components/Stat/Stat.tsx
875
+ import { jsx as jsx50 } from "react/jsx-runtime";
876
+ var Stat = (props) => /* @__PURE__ */ jsx50("div", { ...props });
877
+ var StatLabel = (props) => /* @__PURE__ */ jsx50("p", { ...props });
878
+ var StatValue = (props) => /* @__PURE__ */ jsx50("p", { ...props });
879
+ var StatHelpText = (props) => /* @__PURE__ */ jsx50("p", { ...props });
880
+
881
+ // src/components/Combobox/Combobox.tsx
882
+ import React32 from "react";
883
+ import { Command as Cmdk } from "cmdk";
884
+ import { jsx as jsx51 } from "react/jsx-runtime";
885
+ var Combobox = ({ open, onOpenChange, children }) => /* @__PURE__ */ jsx51(Popover, { open, onOpenChange, children });
886
+ var ComboboxTrigger = PopoverTrigger;
887
+ var ComboboxContent = React32.forwardRef(
888
+ ({ align = "start", ...props }, ref) => /* @__PURE__ */ jsx51(PopoverContent, { ref, align, ...props })
889
+ );
890
+ ComboboxContent.displayName = "ComboboxContent";
891
+ var ComboboxInput = React32.forwardRef(
892
+ (props, ref) => /* @__PURE__ */ jsx51(Cmdk.Input, { ref, ...props })
893
+ );
894
+ ComboboxInput.displayName = "ComboboxInput";
895
+ var ComboboxList = React32.forwardRef(
896
+ (props, ref) => /* @__PURE__ */ jsx51(Cmdk.List, { ref, ...props })
897
+ );
898
+ ComboboxList.displayName = "ComboboxList";
899
+ var ComboboxItem = React32.forwardRef(
900
+ (props, ref) => /* @__PURE__ */ jsx51(Cmdk.Item, { ref, ...props })
901
+ );
902
+ ComboboxItem.displayName = "ComboboxItem";
903
+ var ComboboxEmpty = (props) => /* @__PURE__ */ jsx51(Cmdk.Empty, { ...props });
904
+
905
+ // src/components/DatePicker/DatePicker.tsx
906
+ import React33 from "react";
907
+ import { DayPicker } from "react-day-picker";
908
+ import { jsx as jsx52, jsxs as jsxs14 } from "react/jsx-runtime";
909
+ var DatePicker = ({
910
+ value,
911
+ onValueChange,
912
+ disabled,
913
+ placeholder = "Pick a date",
914
+ triggerClassName,
915
+ contentClassName,
916
+ calendarClassName
917
+ }) => {
918
+ const [open, setOpen] = React33.useState(false);
919
+ const formatted = value ? value.toLocaleDateString(void 0, { year: "numeric", month: "short", day: "numeric" }) : placeholder;
920
+ return /* @__PURE__ */ jsxs14(Popover, { open, onOpenChange: setOpen, children: [
921
+ /* @__PURE__ */ jsx52(PopoverTrigger, { disabled, className: triggerClassName, children: formatted }),
922
+ /* @__PURE__ */ jsx52(PopoverContent, { className: contentClassName, children: /* @__PURE__ */ jsx52(
923
+ DayPicker,
924
+ {
925
+ mode: "single",
926
+ selected: value,
927
+ onSelect: (day) => {
928
+ onValueChange?.(day);
929
+ setOpen(false);
930
+ },
931
+ className: calendarClassName
932
+ }
933
+ ) })
934
+ ] });
935
+ };
936
+
937
+ // src/components/Grid/Grid.tsx
938
+ import { jsx as jsx53 } from "react/jsx-runtime";
939
+ var Grid = (props) => /* @__PURE__ */ jsx53("div", { ...props });
940
+ var GridItem = (props) => /* @__PURE__ */ jsx53("div", { ...props });
941
+ export {
942
+ Accordion,
943
+ AccordionContent,
944
+ AccordionItem,
945
+ AccordionTrigger,
946
+ Alert,
947
+ AlertDescription,
948
+ AlertDialog,
949
+ AlertDialogAction,
950
+ AlertDialogCancel,
951
+ AlertDialogContent,
952
+ AlertDialogDescription,
953
+ AlertDialogOverlay,
954
+ AlertDialogPortal,
955
+ AlertDialogTitle,
956
+ AlertDialogTrigger,
957
+ AlertTitle,
958
+ Avatar,
959
+ AvatarFallback,
960
+ AvatarImage,
961
+ Badge,
962
+ Breadcrumbs,
963
+ BreadcrumbsItem,
964
+ BreadcrumbsLink,
965
+ BreadcrumbsList,
966
+ BreadcrumbsPage,
967
+ BreadcrumbsSeparator,
968
+ Button,
969
+ Card,
970
+ CardContent,
971
+ Carousel,
972
+ CarouselContent,
973
+ CarouselItem,
974
+ CarouselNext,
975
+ CarouselPrevious,
976
+ Checkbox,
977
+ CheckboxGroup,
978
+ CheckboxGroupItem,
979
+ Collapsible,
980
+ CollapsibleContent,
981
+ CollapsibleTrigger,
982
+ Combobox,
983
+ Cmdk as ComboboxCommand,
984
+ ComboboxContent,
985
+ ComboboxEmpty,
986
+ ComboboxInput,
987
+ ComboboxItem,
988
+ ComboboxList,
989
+ ComboboxTrigger,
990
+ ContextMenu,
991
+ ContextMenuCheckboxItem,
992
+ ContextMenuContent,
993
+ ContextMenuGroup,
994
+ ContextMenuItem,
995
+ ContextMenuLabel,
996
+ ContextMenuRadioGroup,
997
+ ContextMenuRadioItem,
998
+ ContextMenuSeparator,
999
+ ContextMenuSub,
1000
+ ContextMenuSubContent,
1001
+ ContextMenuSubTrigger,
1002
+ ContextMenuTrigger,
1003
+ DatePicker,
1004
+ Dialog,
1005
+ DialogClose,
1006
+ DialogContent,
1007
+ DialogDescription,
1008
+ DialogOverlay,
1009
+ DialogPortal,
1010
+ DialogTitle,
1011
+ DialogTrigger,
1012
+ Drawer,
1013
+ DrawerClose,
1014
+ DrawerContent,
1015
+ DrawerDescription,
1016
+ DrawerHandle,
1017
+ DrawerOverlay,
1018
+ DrawerPortal,
1019
+ DrawerTitle,
1020
+ DrawerTrigger,
1021
+ DropdownMenu,
1022
+ DropdownMenuCheckboxItem,
1023
+ DropdownMenuContent,
1024
+ DropdownMenuGroup,
1025
+ DropdownMenuItem,
1026
+ DropdownMenuLabel,
1027
+ DropdownMenuRadioGroup,
1028
+ DropdownMenuRadioItem,
1029
+ DropdownMenuSeparator,
1030
+ DropdownMenuSub,
1031
+ DropdownMenuSubContent,
1032
+ DropdownMenuSubTrigger,
1033
+ DropdownMenuTrigger,
1034
+ EmptyState,
1035
+ EmptyStateAction,
1036
+ EmptyStateDescription,
1037
+ EmptyStateIcon,
1038
+ EmptyStateTitle,
1039
+ FileInput,
1040
+ FormControl,
1041
+ FormField,
1042
+ FormLabel,
1043
+ FormMessage,
1044
+ Grid,
1045
+ GridItem,
1046
+ HoverCard,
1047
+ HoverCardContent,
1048
+ HoverCardTrigger,
1049
+ Icon2 as Icon,
1050
+ Input,
1051
+ Label,
1052
+ Lightbox,
1053
+ Link,
1054
+ Nav,
1055
+ NavItem,
1056
+ NavList,
1057
+ NumberInput,
1058
+ Pagination,
1059
+ PaginationContent,
1060
+ PaginationEllipsis,
1061
+ PaginationItem,
1062
+ PaginationLink,
1063
+ PaginationNext,
1064
+ PaginationPrevious,
1065
+ Picture,
1066
+ Popover,
1067
+ PopoverClose,
1068
+ PopoverContent,
1069
+ PopoverTrigger,
1070
+ Progress,
1071
+ RadioGroup,
1072
+ RadioGroupItem,
1073
+ Richtext,
1074
+ ScrollArea,
1075
+ Select,
1076
+ SelectContent,
1077
+ SelectGroup,
1078
+ SelectItem,
1079
+ SelectLabel,
1080
+ SelectSeparator,
1081
+ SelectTrigger,
1082
+ SelectValue,
1083
+ Separator,
1084
+ Sheet,
1085
+ SheetClose,
1086
+ SheetContent,
1087
+ SheetDescription,
1088
+ SheetOverlay,
1089
+ SheetPortal,
1090
+ SheetTitle,
1091
+ SheetTrigger,
1092
+ Skeleton,
1093
+ Slider,
1094
+ Spinner,
1095
+ Stat,
1096
+ StatHelpText,
1097
+ StatLabel,
1098
+ StatValue,
1099
+ Stepper,
1100
+ StepperDescription,
1101
+ StepperIndicator,
1102
+ StepperItem,
1103
+ StepperSeparator,
1104
+ StepperTitle,
1105
+ Switch,
1106
+ Table,
1107
+ TableBody,
1108
+ TableCaption,
1109
+ TableCell,
1110
+ TableFooter,
1111
+ TableHead,
1112
+ TableHeader,
1113
+ TableRow,
1114
+ Tabs,
1115
+ TabsContent,
1116
+ TabsList,
1117
+ TabsTrigger,
1118
+ Text,
1119
+ Textarea,
1120
+ Toaster,
1121
+ Toggle,
1122
+ ToggleGroup,
1123
+ ToggleGroupItem,
1124
+ Tooltip,
1125
+ TooltipContent,
1126
+ TooltipTrigger,
1127
+ VideoPlayer,
1128
+ toast,
1129
+ useCarousel
1130
+ };
1131
+ //# sourceMappingURL=index.js.map