@hai3/uikit 0.1.0-alpha.1 → 0.1.0-alpha.2

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.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import * as React16 from 'react';
2
- import React16__default from 'react';
1
+ import * as React18 from 'react';
2
+ import React18__default from 'react';
3
3
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
@@ -9,21 +9,27 @@ import { cva } from 'class-variance-authority';
9
9
  import { ButtonSize, ButtonVariant, IconButtonSize } from '@hai3/uikit-contracts';
10
10
  export { ButtonSize, ButtonVariant, IconButtonSize } from '@hai3/uikit-contracts';
11
11
  import * as SwitchPrimitives from '@radix-ui/react-switch';
12
- import { Loader2, ChevronDown, X, ChevronUp, Check, ChevronRight, Circle, User, Bot, Paperclip, Send, Plus, Search } from 'lucide-react';
12
+ import { Loader2, ChevronDown, X, ArrowLeft, ArrowRight, ChevronUp, Check, ChevronRight, Circle, ChevronRightIcon, CheckIcon, CircleIcon, User, Bot, Paperclip, Send, Plus, Search } from 'lucide-react';
13
13
  import { trim, toUpper } from 'lodash';
14
14
  import * as SliderPrimitive from '@radix-ui/react-slider';
15
15
  import * as ProgressPrimitive from '@radix-ui/react-progress';
16
16
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
17
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
18
+ import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
17
19
  import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
18
20
  import * as SheetPrimitive from '@radix-ui/react-dialog';
21
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
22
+ import useEmblaCarousel from 'embla-carousel-react';
23
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
19
24
  import * as SelectPrimitive from '@radix-ui/react-select';
20
25
  import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
26
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
21
27
 
22
28
  // src/base/avatar.tsx
23
29
  function cn(...inputs) {
24
30
  return twMerge(clsx(inputs));
25
31
  }
26
- var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
32
+ var Avatar = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
27
33
  AvatarPrimitive.Root,
28
34
  {
29
35
  ref,
@@ -35,7 +41,7 @@ var Avatar = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
35
41
  }
36
42
  ));
37
43
  Avatar.displayName = AvatarPrimitive.Root.displayName;
38
- var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
44
+ var AvatarImage = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
39
45
  AvatarPrimitive.Image,
40
46
  {
41
47
  ref,
@@ -44,7 +50,7 @@ var AvatarImage = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
44
50
  }
45
51
  ));
46
52
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
47
- var AvatarFallback = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
53
+ var AvatarFallback = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
48
54
  AvatarPrimitive.Fallback,
49
55
  {
50
56
  ref,
@@ -81,7 +87,7 @@ var buttonVariants = cva(
81
87
  }
82
88
  }
83
89
  );
84
- var Button = React16.forwardRef(
90
+ var Button = React18.forwardRef(
85
91
  ({ className, variant, size, asChild = false, ...props }, ref) => {
86
92
  const Comp = asChild ? Slot : "button";
87
93
  return /* @__PURE__ */ jsx(
@@ -126,7 +132,7 @@ function Badge({
126
132
  }
127
133
  );
128
134
  }
129
- var Input = React16.forwardRef(
135
+ var Input = React18.forwardRef(
130
136
  ({ className, type, ...props }, ref) => {
131
137
  return /* @__PURE__ */ jsx(
132
138
  "input",
@@ -143,10 +149,10 @@ var Input = React16.forwardRef(
143
149
  }
144
150
  );
145
151
  Input.displayName = "Input";
146
- var Textarea = React16.forwardRef(
152
+ var Textarea = React18.forwardRef(
147
153
  ({ className, autoResize = false, minHeight = 50, maxHeight = 350, size = "default", onChange, ...props }, ref) => {
148
- const internalRef = React16.useRef(null);
149
- React16.useImperativeHandle(ref, () => internalRef.current);
154
+ const internalRef = React18.useRef(null);
155
+ React18.useImperativeHandle(ref, () => internalRef.current);
150
156
  const sizeClasses = {
151
157
  sm: "min-h-11 h-11",
152
158
  // 44px / 2.75rem - exact height
@@ -163,7 +169,7 @@ var Textarea = React16.forwardRef(
163
169
  lg: "py-2"
164
170
  // 8px top + 8px bottom (default)
165
171
  };
166
- const handleResize = React16.useCallback(() => {
172
+ const handleResize = React18.useCallback(() => {
167
173
  if (autoResize && size !== "sm" && internalRef.current) {
168
174
  const textarea = internalRef.current;
169
175
  textarea.style.height = "auto";
@@ -171,10 +177,10 @@ var Textarea = React16.forwardRef(
171
177
  textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;
172
178
  }
173
179
  }, [autoResize, size, minHeight, maxHeight]);
174
- React16.useEffect(() => {
180
+ React18.useEffect(() => {
175
181
  handleResize();
176
182
  }, [handleResize, props.value]);
177
- const handleChange = React16.useCallback(
183
+ const handleChange = React18.useCallback(
178
184
  (e) => {
179
185
  handleResize();
180
186
  onChange?.(e);
@@ -198,7 +204,7 @@ var Textarea = React16.forwardRef(
198
204
  }
199
205
  );
200
206
  Textarea.displayName = "Textarea";
201
- var Switch = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
207
+ var Switch = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
202
208
  SwitchPrimitives.Root,
203
209
  {
204
210
  className: cn(
@@ -237,7 +243,7 @@ function Skeleton({
237
243
  }
238
244
  );
239
245
  }
240
- var Spinner = React16.forwardRef(
246
+ var Spinner = React18.forwardRef(
241
247
  ({ className, icon: Icon2 = Loader2, size = "size-4", ...props }, ref) => {
242
248
  const textColorClasses = className?.match(/\btext-\S+/g)?.join(" ") || "";
243
249
  const wrapperClasses = trim(className?.replace(/\btext-\S+/g, "") || "");
@@ -253,7 +259,7 @@ var Spinner = React16.forwardRef(
253
259
  }
254
260
  );
255
261
  Spinner.displayName = "Spinner";
256
- var Slider = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
262
+ var Slider = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
257
263
  SliderPrimitive.Root,
258
264
  {
259
265
  ref,
@@ -265,7 +271,7 @@ var Slider = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
265
271
  }
266
272
  ));
267
273
  Slider.displayName = SliderPrimitive.Root.displayName;
268
- var SliderTrack = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
274
+ var SliderTrack = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
269
275
  SliderPrimitive.Track,
270
276
  {
271
277
  ref,
@@ -277,7 +283,7 @@ var SliderTrack = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
277
283
  }
278
284
  ));
279
285
  SliderTrack.displayName = SliderPrimitive.Track.displayName;
280
- var SliderRange = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
286
+ var SliderRange = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
281
287
  SliderPrimitive.Range,
282
288
  {
283
289
  ref,
@@ -286,7 +292,7 @@ var SliderRange = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
286
292
  }
287
293
  ));
288
294
  SliderRange.displayName = SliderPrimitive.Range.displayName;
289
- var SliderThumb = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
295
+ var SliderThumb = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
290
296
  SliderPrimitive.Thumb,
291
297
  {
292
298
  ref,
@@ -298,7 +304,7 @@ var SliderThumb = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
298
304
  }
299
305
  ));
300
306
  SliderThumb.displayName = SliderPrimitive.Thumb.displayName;
301
- var Progress = React16.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
307
+ var Progress = React18.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
302
308
  ProgressPrimitive.Root,
303
309
  {
304
310
  ref,
@@ -332,9 +338,9 @@ var Tooltip = ({
332
338
  ...props
333
339
  }) => /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { ...props }) });
334
340
  Tooltip.displayName = TooltipPrimitive.Root.displayName;
335
- var TooltipTrigger = React16.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { ref, ...props }));
341
+ var TooltipTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { ref, ...props }));
336
342
  TooltipTrigger.displayName = TooltipPrimitive.Trigger.displayName;
337
- var TooltipContent = React16.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
343
+ var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
338
344
  TooltipPrimitive.Content,
339
345
  {
340
346
  ref,
@@ -347,7 +353,68 @@ var TooltipContent = React16.forwardRef(({ className, sideOffset = 4, ...props }
347
353
  }
348
354
  ) }));
349
355
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
350
- var Card = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
356
+ var Popover = PopoverPrimitive.Root;
357
+ Popover.displayName = "Popover";
358
+ var PopoverTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
359
+ PopoverPrimitive.Trigger,
360
+ {
361
+ ref,
362
+ "data-slot": "popover-trigger",
363
+ ...props
364
+ }
365
+ ));
366
+ PopoverTrigger.displayName = "PopoverTrigger";
367
+ var PopoverContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
368
+ PopoverPrimitive.Content,
369
+ {
370
+ ref,
371
+ "data-slot": "popover-content",
372
+ align,
373
+ sideOffset,
374
+ className: cn(
375
+ "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
376
+ className
377
+ ),
378
+ ...props
379
+ }
380
+ ) }));
381
+ PopoverContent.displayName = "PopoverContent";
382
+ var PopoverAnchor = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
383
+ PopoverPrimitive.Anchor,
384
+ {
385
+ ref,
386
+ "data-slot": "popover-anchor",
387
+ ...props
388
+ }
389
+ ));
390
+ PopoverAnchor.displayName = "PopoverAnchor";
391
+ var HoverCard = HoverCardPrimitive.Root;
392
+ HoverCard.displayName = "HoverCard";
393
+ var HoverCardTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
394
+ HoverCardPrimitive.Trigger,
395
+ {
396
+ ref,
397
+ "data-slot": "hover-card-trigger",
398
+ ...props
399
+ }
400
+ ));
401
+ HoverCardTrigger.displayName = "HoverCardTrigger";
402
+ var HoverCardContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
403
+ HoverCardPrimitive.Content,
404
+ {
405
+ ref,
406
+ "data-slot": "hover-card-content",
407
+ align,
408
+ sideOffset,
409
+ className: cn(
410
+ "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
411
+ className
412
+ ),
413
+ ...props
414
+ }
415
+ ) }));
416
+ HoverCardContent.displayName = "HoverCardContent";
417
+ var Card = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
351
418
  "div",
352
419
  {
353
420
  ref,
@@ -359,7 +426,7 @@ var Card = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
359
426
  }
360
427
  ));
361
428
  Card.displayName = "Card";
362
- var CardHeader = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
429
+ var CardHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
363
430
  "div",
364
431
  {
365
432
  ref,
@@ -368,7 +435,7 @@ var CardHeader = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
368
435
  }
369
436
  ));
370
437
  CardHeader.displayName = "CardHeader";
371
- var CardTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
438
+ var CardTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
372
439
  "div",
373
440
  {
374
441
  ref,
@@ -377,7 +444,7 @@ var CardTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE_
377
444
  }
378
445
  ));
379
446
  CardTitle.displayName = "CardTitle";
380
- var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
447
+ var CardDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
381
448
  "div",
382
449
  {
383
450
  ref,
@@ -386,9 +453,9 @@ var CardDescription = React16.forwardRef(({ className, ...props }, ref) => /* @_
386
453
  }
387
454
  ));
388
455
  CardDescription.displayName = "CardDescription";
389
- var CardContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
456
+ var CardContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
390
457
  CardContent.displayName = "CardContent";
391
- var CardFooter = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
458
+ var CardFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
392
459
  "div",
393
460
  {
394
461
  ref,
@@ -397,7 +464,7 @@ var CardFooter = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
397
464
  }
398
465
  ));
399
466
  CardFooter.displayName = "CardFooter";
400
- var Header = React16__default.forwardRef(
467
+ var Header = React18__default.forwardRef(
401
468
  ({ children, className }, ref) => {
402
469
  return /* @__PURE__ */ jsx(
403
470
  "header",
@@ -413,7 +480,7 @@ var Header = React16__default.forwardRef(
413
480
  }
414
481
  );
415
482
  Header.displayName = "Header";
416
- var NavigationMenu = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
483
+ var NavigationMenu = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
417
484
  NavigationMenuPrimitive.Root,
418
485
  {
419
486
  ref,
@@ -429,7 +496,7 @@ var NavigationMenu = React16.forwardRef(({ className, children, ...props }, ref)
429
496
  }
430
497
  ));
431
498
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
432
- var NavigationMenuList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
499
+ var NavigationMenuList = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
433
500
  NavigationMenuPrimitive.List,
434
501
  {
435
502
  ref,
@@ -445,7 +512,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
445
512
  var navigationMenuTriggerStyle = cva(
446
513
  "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
447
514
  );
448
- var NavigationMenuTrigger = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
515
+ var NavigationMenuTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
449
516
  NavigationMenuPrimitive.Trigger,
450
517
  {
451
518
  ref,
@@ -465,7 +532,7 @@ var NavigationMenuTrigger = React16.forwardRef(({ className, children, ...props
465
532
  }
466
533
  ));
467
534
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
468
- var NavigationMenuContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
535
+ var NavigationMenuContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
469
536
  NavigationMenuPrimitive.Content,
470
537
  {
471
538
  ref,
@@ -478,7 +545,7 @@ var NavigationMenuContent = React16.forwardRef(({ className, ...props }, ref) =>
478
545
  ));
479
546
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
480
547
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
481
- var NavigationMenuViewport = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
548
+ var NavigationMenuViewport = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
482
549
  NavigationMenuPrimitive.Viewport,
483
550
  {
484
551
  className: cn(
@@ -490,7 +557,7 @@ var NavigationMenuViewport = React16.forwardRef(({ className, ...props }, ref) =
490
557
  }
491
558
  ) }));
492
559
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
493
- var NavigationMenuIndicator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
560
+ var NavigationMenuIndicator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
494
561
  NavigationMenuPrimitive.Indicator,
495
562
  {
496
563
  ref,
@@ -507,7 +574,7 @@ var Sheet = SheetPrimitive.Root;
507
574
  var SheetTrigger = SheetPrimitive.Trigger;
508
575
  var SheetClose = SheetPrimitive.Close;
509
576
  var SheetPortal = SheetPrimitive.Portal;
510
- var SheetOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
577
+ var SheetOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
511
578
  SheetPrimitive.Overlay,
512
579
  {
513
580
  className: cn(
@@ -535,7 +602,7 @@ var sheetVariants = cva(
535
602
  }
536
603
  }
537
604
  );
538
- var SheetContent = React16.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
605
+ var SheetContent = React18.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
539
606
  /* @__PURE__ */ jsx(SheetOverlay, {}),
540
607
  /* @__PURE__ */ jsxs(
541
608
  SheetPrimitive.Content,
@@ -582,7 +649,7 @@ var SheetFooter = ({
582
649
  }
583
650
  );
584
651
  SheetFooter.displayName = "SheetFooter";
585
- var SheetTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
652
+ var SheetTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
586
653
  SheetPrimitive.Title,
587
654
  {
588
655
  ref,
@@ -591,7 +658,7 @@ var SheetTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE
591
658
  }
592
659
  ));
593
660
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
594
- var SheetDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
661
+ var SheetDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
595
662
  SheetPrimitive.Description,
596
663
  {
597
664
  ref,
@@ -604,7 +671,7 @@ var Dialog = SheetPrimitive.Root;
604
671
  var DialogTrigger = SheetPrimitive.Trigger;
605
672
  var DialogPortal = SheetPrimitive.Portal;
606
673
  var DialogClose = SheetPrimitive.Close;
607
- var DialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
674
+ var DialogOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
608
675
  SheetPrimitive.Overlay,
609
676
  {
610
677
  ref,
@@ -616,7 +683,7 @@ var DialogOverlay = React16.forwardRef(({ className, ...props }, ref) => /* @__P
616
683
  }
617
684
  ));
618
685
  DialogOverlay.displayName = SheetPrimitive.Overlay.displayName;
619
- var DialogContent = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
686
+ var DialogContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
620
687
  /* @__PURE__ */ jsx(DialogOverlay, {}),
621
688
  /* @__PURE__ */ jsxs(
622
689
  SheetPrimitive.Content,
@@ -666,7 +733,7 @@ var DialogFooter = ({
666
733
  }
667
734
  );
668
735
  DialogFooter.displayName = "DialogFooter";
669
- var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
736
+ var DialogTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
670
737
  SheetPrimitive.Title,
671
738
  {
672
739
  ref,
@@ -678,7 +745,7 @@ var DialogTitle = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
678
745
  }
679
746
  ));
680
747
  DialogTitle.displayName = SheetPrimitive.Title.displayName;
681
- var DialogDescription = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
748
+ var DialogDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
682
749
  SheetPrimitive.Description,
683
750
  {
684
751
  ref,
@@ -687,10 +754,271 @@ var DialogDescription = React16.forwardRef(({ className, ...props }, ref) => /*
687
754
  }
688
755
  ));
689
756
  DialogDescription.displayName = SheetPrimitive.Description.displayName;
757
+ var Accordion = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
758
+ AccordionPrimitive.Root,
759
+ {
760
+ ref,
761
+ "data-slot": "accordion",
762
+ ...props
763
+ }
764
+ ));
765
+ Accordion.displayName = "Accordion";
766
+ var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
767
+ AccordionPrimitive.Item,
768
+ {
769
+ ref,
770
+ "data-slot": "accordion-item",
771
+ className: cn("border-b last:border-b-0", className),
772
+ ...props
773
+ }
774
+ ));
775
+ AccordionItem.displayName = "AccordionItem";
776
+ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
777
+ AccordionPrimitive.Trigger,
778
+ {
779
+ ref,
780
+ "data-slot": "accordion-trigger",
781
+ className: cn(
782
+ "flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] focus-visible:border-ring focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
783
+ className
784
+ ),
785
+ ...props,
786
+ children: [
787
+ children,
788
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" })
789
+ ]
790
+ }
791
+ ) }));
792
+ AccordionTrigger.displayName = "AccordionTrigger";
793
+ var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
794
+ AccordionPrimitive.Content,
795
+ {
796
+ ref,
797
+ "data-slot": "accordion-content",
798
+ className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
799
+ ...props,
800
+ children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
801
+ }
802
+ ));
803
+ AccordionContent.displayName = "AccordionContent";
804
+ var CarouselContext = React18.createContext(null);
805
+ function useCarousel() {
806
+ const context = React18.useContext(CarouselContext);
807
+ if (!context) {
808
+ throw new Error("useCarousel must be used within a <Carousel />");
809
+ }
810
+ return context;
811
+ }
812
+ var Carousel = React18.forwardRef(
813
+ ({
814
+ orientation = "horizontal",
815
+ opts,
816
+ setApi,
817
+ plugins,
818
+ className,
819
+ children,
820
+ ...props
821
+ }, ref) => {
822
+ const [carouselRef, api] = useEmblaCarousel(
823
+ {
824
+ ...opts,
825
+ axis: orientation === "horizontal" ? "x" : "y"
826
+ },
827
+ plugins
828
+ );
829
+ const [canScrollPrev, setCanScrollPrev] = React18.useState(false);
830
+ const [canScrollNext, setCanScrollNext] = React18.useState(false);
831
+ const onSelect = React18.useCallback((api2) => {
832
+ if (!api2) return;
833
+ setCanScrollPrev(api2.canScrollPrev());
834
+ setCanScrollNext(api2.canScrollNext());
835
+ }, []);
836
+ const scrollPrev = React18.useCallback(() => {
837
+ api?.scrollPrev();
838
+ }, [api]);
839
+ const scrollNext = React18.useCallback(() => {
840
+ api?.scrollNext();
841
+ }, [api]);
842
+ const handleKeyDown = React18.useCallback(
843
+ (event) => {
844
+ if (event.key === "ArrowLeft") {
845
+ event.preventDefault();
846
+ scrollPrev();
847
+ } else if (event.key === "ArrowRight") {
848
+ event.preventDefault();
849
+ scrollNext();
850
+ }
851
+ },
852
+ [scrollPrev, scrollNext]
853
+ );
854
+ React18.useEffect(() => {
855
+ if (!api || !setApi) return;
856
+ setApi(api);
857
+ }, [api, setApi]);
858
+ React18.useEffect(() => {
859
+ if (!api) return;
860
+ onSelect(api);
861
+ api.on("reInit", onSelect);
862
+ api.on("select", onSelect);
863
+ return () => {
864
+ api?.off("select", onSelect);
865
+ };
866
+ }, [api, onSelect]);
867
+ return /* @__PURE__ */ jsx(
868
+ CarouselContext.Provider,
869
+ {
870
+ value: {
871
+ carouselRef,
872
+ api,
873
+ opts,
874
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
875
+ scrollPrev,
876
+ scrollNext,
877
+ canScrollPrev,
878
+ canScrollNext
879
+ },
880
+ children: /* @__PURE__ */ jsx(
881
+ "div",
882
+ {
883
+ ref,
884
+ onKeyDownCapture: handleKeyDown,
885
+ className: cn("relative", className),
886
+ role: "region",
887
+ "aria-roledescription": "carousel",
888
+ "data-slot": "carousel",
889
+ ...props,
890
+ children
891
+ }
892
+ )
893
+ }
894
+ );
895
+ }
896
+ );
897
+ Carousel.displayName = "Carousel";
898
+ var CarouselContent = React18.forwardRef(({ className, ...props }, ref) => {
899
+ const { carouselRef, orientation } = useCarousel();
900
+ return /* @__PURE__ */ jsx(
901
+ "div",
902
+ {
903
+ ref: carouselRef,
904
+ className: "overflow-hidden",
905
+ "data-slot": "carousel-content",
906
+ children: /* @__PURE__ */ jsx(
907
+ "div",
908
+ {
909
+ ref,
910
+ className: cn(
911
+ "flex",
912
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
913
+ className
914
+ ),
915
+ ...props
916
+ }
917
+ )
918
+ }
919
+ );
920
+ });
921
+ CarouselContent.displayName = "CarouselContent";
922
+ var CarouselItem = React18.forwardRef(({ className, ...props }, ref) => {
923
+ const { orientation } = useCarousel();
924
+ return /* @__PURE__ */ jsx(
925
+ "div",
926
+ {
927
+ ref,
928
+ role: "group",
929
+ "aria-roledescription": "slide",
930
+ "data-slot": "carousel-item",
931
+ className: cn(
932
+ "min-w-0 shrink-0 grow-0 basis-full",
933
+ orientation === "horizontal" ? "pl-4" : "pt-4",
934
+ className
935
+ ),
936
+ ...props
937
+ }
938
+ );
939
+ });
940
+ CarouselItem.displayName = "CarouselItem";
941
+ var CarouselPrevious = React18.forwardRef(({ className, variant = ButtonVariant.Outline, size = ButtonSize.Icon, ...props }, ref) => {
942
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
943
+ return /* @__PURE__ */ jsxs(
944
+ Button,
945
+ {
946
+ ref,
947
+ "data-slot": "carousel-previous",
948
+ variant,
949
+ size,
950
+ className: cn(
951
+ "absolute h-8 w-8 rounded-full",
952
+ orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
953
+ className
954
+ ),
955
+ disabled: !canScrollPrev,
956
+ onClick: scrollPrev,
957
+ ...props,
958
+ children: [
959
+ /* @__PURE__ */ jsx(ArrowLeft, { className: "h-4 w-4" }),
960
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
961
+ ]
962
+ }
963
+ );
964
+ });
965
+ CarouselPrevious.displayName = "CarouselPrevious";
966
+ var CarouselNext = React18.forwardRef(({ className, variant = ButtonVariant.Outline, size = ButtonSize.Icon, ...props }, ref) => {
967
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
968
+ return /* @__PURE__ */ jsxs(
969
+ Button,
970
+ {
971
+ ref,
972
+ "data-slot": "carousel-next",
973
+ variant,
974
+ size,
975
+ className: cn(
976
+ "absolute h-8 w-8 rounded-full",
977
+ orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
978
+ className
979
+ ),
980
+ disabled: !canScrollNext,
981
+ onClick: scrollNext,
982
+ ...props,
983
+ children: [
984
+ /* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4" }),
985
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
986
+ ]
987
+ }
988
+ );
989
+ });
990
+ CarouselNext.displayName = "CarouselNext";
991
+ var Collapsible = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
992
+ CollapsiblePrimitive.Root,
993
+ {
994
+ ref,
995
+ "data-slot": "collapsible",
996
+ ...props
997
+ }
998
+ ));
999
+ Collapsible.displayName = "Collapsible";
1000
+ var CollapsibleTrigger2 = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
1001
+ CollapsiblePrimitive.CollapsibleTrigger,
1002
+ {
1003
+ ref,
1004
+ "data-slot": "collapsible-trigger",
1005
+ ...props
1006
+ }
1007
+ ));
1008
+ CollapsibleTrigger2.displayName = "CollapsibleTrigger";
1009
+ var CollapsibleContent2 = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
1010
+ CollapsiblePrimitive.CollapsibleContent,
1011
+ {
1012
+ ref,
1013
+ "data-slot": "collapsible-content",
1014
+ ...props
1015
+ }
1016
+ ));
1017
+ CollapsibleContent2.displayName = "CollapsibleContent";
690
1018
  var Select = SelectPrimitive.Root;
691
1019
  var SelectGroup = SelectPrimitive.Group;
692
1020
  var SelectValue = SelectPrimitive.Value;
693
- var SelectTrigger = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1021
+ var SelectTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
694
1022
  SelectPrimitive.Trigger,
695
1023
  {
696
1024
  ref,
@@ -707,7 +1035,7 @@ var SelectTrigger = React16.forwardRef(({ className, children, ...props }, ref)
707
1035
  }
708
1036
  ));
709
1037
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
710
- var SelectScrollUpButton = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1038
+ var SelectScrollUpButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
711
1039
  SelectPrimitive.ScrollUpButton,
712
1040
  {
713
1041
  ref,
@@ -720,7 +1048,7 @@ var SelectScrollUpButton = React16.forwardRef(({ className, ...props }, ref) =>
720
1048
  }
721
1049
  ));
722
1050
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
723
- var SelectScrollDownButton = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1051
+ var SelectScrollDownButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
724
1052
  SelectPrimitive.ScrollDownButton,
725
1053
  {
726
1054
  ref,
@@ -733,7 +1061,7 @@ var SelectScrollDownButton = React16.forwardRef(({ className, ...props }, ref) =
733
1061
  }
734
1062
  ));
735
1063
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
736
- var SelectContent = React16.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
1064
+ var SelectContent = React18.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
737
1065
  SelectPrimitive.Content,
738
1066
  {
739
1067
  ref,
@@ -761,7 +1089,7 @@ var SelectContent = React16.forwardRef(({ className, children, position = "poppe
761
1089
  }
762
1090
  ) }));
763
1091
  SelectContent.displayName = SelectPrimitive.Content.displayName;
764
- var SelectLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1092
+ var SelectLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
765
1093
  SelectPrimitive.Label,
766
1094
  {
767
1095
  ref,
@@ -770,7 +1098,7 @@ var SelectLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
770
1098
  }
771
1099
  ));
772
1100
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
773
- var SelectItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1101
+ var SelectItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
774
1102
  SelectPrimitive.Item,
775
1103
  {
776
1104
  ref,
@@ -786,7 +1114,7 @@ var SelectItem = React16.forwardRef(({ className, children, ...props }, ref) =>
786
1114
  }
787
1115
  ));
788
1116
  SelectItem.displayName = SelectPrimitive.Item.displayName;
789
- var SelectSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1117
+ var SelectSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
790
1118
  SelectPrimitive.Separator,
791
1119
  {
792
1120
  ref,
@@ -808,7 +1136,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
808
1136
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
809
1137
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
810
1138
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
811
- var DropdownMenuSubTrigger = React16.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1139
+ var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
812
1140
  DropdownMenuPrimitive.SubTrigger,
813
1141
  {
814
1142
  ref,
@@ -825,7 +1153,7 @@ var DropdownMenuSubTrigger = React16.forwardRef(({ className, inset, children, .
825
1153
  }
826
1154
  ));
827
1155
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
828
- var DropdownMenuSubContent = React16.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
1156
+ var DropdownMenuSubContent = React18.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
829
1157
  DropdownMenuPrimitive.SubContent,
830
1158
  {
831
1159
  ref,
@@ -837,7 +1165,7 @@ var DropdownMenuSubContent = React16.forwardRef(({ className, container, ...prop
837
1165
  }
838
1166
  ) }));
839
1167
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
840
- var DropdownMenuContent = React16.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
1168
+ var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
841
1169
  DropdownMenuPrimitive.Content,
842
1170
  {
843
1171
  ref,
@@ -851,7 +1179,7 @@ var DropdownMenuContent = React16.forwardRef(({ className, sideOffset = 4, conta
851
1179
  }
852
1180
  ) }));
853
1181
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
854
- var DropdownMenuItem = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1182
+ var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
855
1183
  DropdownMenuPrimitive.Item,
856
1184
  {
857
1185
  ref,
@@ -864,7 +1192,7 @@ var DropdownMenuItem = React16.forwardRef(({ className, inset, ...props }, ref)
864
1192
  }
865
1193
  ));
866
1194
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
867
- var DropdownMenuCheckboxItem = React16.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
1195
+ var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
868
1196
  DropdownMenuPrimitive.CheckboxItem,
869
1197
  {
870
1198
  ref,
@@ -881,7 +1209,7 @@ var DropdownMenuCheckboxItem = React16.forwardRef(({ className, children, checke
881
1209
  }
882
1210
  ));
883
1211
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
884
- var DropdownMenuRadioItem = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1212
+ var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
885
1213
  DropdownMenuPrimitive.RadioItem,
886
1214
  {
887
1215
  ref,
@@ -897,7 +1225,7 @@ var DropdownMenuRadioItem = React16.forwardRef(({ className, children, ...props
897
1225
  }
898
1226
  ));
899
1227
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
900
- var DropdownMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
1228
+ var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
901
1229
  DropdownMenuPrimitive.Label,
902
1230
  {
903
1231
  ref,
@@ -910,7 +1238,7 @@ var DropdownMenuLabel = React16.forwardRef(({ className, inset, ...props }, ref)
910
1238
  }
911
1239
  ));
912
1240
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
913
- var DropdownMenuSeparator = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1241
+ var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
914
1242
  DropdownMenuPrimitive.Separator,
915
1243
  {
916
1244
  ref,
@@ -932,7 +1260,209 @@ var DropdownMenuShortcut = ({
932
1260
  );
933
1261
  };
934
1262
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
935
- var IconButton = React16__default.forwardRef(
1263
+ function ContextMenu({
1264
+ ...props
1265
+ }) {
1266
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
1267
+ }
1268
+ function ContextMenuTrigger({
1269
+ ...props
1270
+ }) {
1271
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
1272
+ }
1273
+ function ContextMenuGroup({
1274
+ ...props
1275
+ }) {
1276
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
1277
+ }
1278
+ function ContextMenuPortal({
1279
+ ...props
1280
+ }) {
1281
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
1282
+ }
1283
+ function ContextMenuSub({
1284
+ ...props
1285
+ }) {
1286
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
1287
+ }
1288
+ function ContextMenuRadioGroup({
1289
+ ...props
1290
+ }) {
1291
+ return /* @__PURE__ */ jsx(
1292
+ ContextMenuPrimitive.RadioGroup,
1293
+ {
1294
+ "data-slot": "context-menu-radio-group",
1295
+ ...props
1296
+ }
1297
+ );
1298
+ }
1299
+ function ContextMenuSubTrigger({
1300
+ className,
1301
+ inset,
1302
+ children,
1303
+ ...props
1304
+ }) {
1305
+ return /* @__PURE__ */ jsxs(
1306
+ ContextMenuPrimitive.SubTrigger,
1307
+ {
1308
+ "data-slot": "context-menu-sub-trigger",
1309
+ "data-inset": inset,
1310
+ className: cn(
1311
+ "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1312
+ className
1313
+ ),
1314
+ ...props,
1315
+ children: [
1316
+ children,
1317
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })
1318
+ ]
1319
+ }
1320
+ );
1321
+ }
1322
+ function ContextMenuSubContent({
1323
+ className,
1324
+ ...props
1325
+ }) {
1326
+ return /* @__PURE__ */ jsx(
1327
+ ContextMenuPrimitive.SubContent,
1328
+ {
1329
+ "data-slot": "context-menu-sub-content",
1330
+ className: cn(
1331
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-[var(--radix-context-menu-content-transform-origin)] overflow-hidden rounded-md border p-1 shadow-lg",
1332
+ className
1333
+ ),
1334
+ ...props
1335
+ }
1336
+ );
1337
+ }
1338
+ function ContextMenuContent({
1339
+ className,
1340
+ ...props
1341
+ }) {
1342
+ return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1343
+ ContextMenuPrimitive.Content,
1344
+ {
1345
+ "data-slot": "context-menu-content",
1346
+ className: cn(
1347
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-[var(--radix-context-menu-content-available-height)] min-w-[8rem] origin-[var(--radix-context-menu-content-transform-origin)] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",
1348
+ className
1349
+ ),
1350
+ ...props
1351
+ }
1352
+ ) });
1353
+ }
1354
+ function ContextMenuItem({
1355
+ className,
1356
+ inset,
1357
+ variant = "default",
1358
+ ...props
1359
+ }) {
1360
+ return /* @__PURE__ */ jsx(
1361
+ ContextMenuPrimitive.Item,
1362
+ {
1363
+ "data-slot": "context-menu-item",
1364
+ "data-inset": inset,
1365
+ "data-variant": variant,
1366
+ className: cn(
1367
+ "focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1368
+ className
1369
+ ),
1370
+ ...props
1371
+ }
1372
+ );
1373
+ }
1374
+ function ContextMenuCheckboxItem({
1375
+ className,
1376
+ children,
1377
+ checked,
1378
+ ...props
1379
+ }) {
1380
+ return /* @__PURE__ */ jsxs(
1381
+ ContextMenuPrimitive.CheckboxItem,
1382
+ {
1383
+ "data-slot": "context-menu-checkbox-item",
1384
+ className: cn(
1385
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1386
+ className
1387
+ ),
1388
+ checked,
1389
+ ...props,
1390
+ children: [
1391
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
1392
+ children
1393
+ ]
1394
+ }
1395
+ );
1396
+ }
1397
+ function ContextMenuRadioItem({
1398
+ className,
1399
+ children,
1400
+ ...props
1401
+ }) {
1402
+ return /* @__PURE__ */ jsxs(
1403
+ ContextMenuPrimitive.RadioItem,
1404
+ {
1405
+ "data-slot": "context-menu-radio-item",
1406
+ className: cn(
1407
+ "focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1408
+ className
1409
+ ),
1410
+ ...props,
1411
+ children: [
1412
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
1413
+ children
1414
+ ]
1415
+ }
1416
+ );
1417
+ }
1418
+ function ContextMenuLabel({
1419
+ className,
1420
+ inset,
1421
+ ...props
1422
+ }) {
1423
+ return /* @__PURE__ */ jsx(
1424
+ ContextMenuPrimitive.Label,
1425
+ {
1426
+ "data-slot": "context-menu-label",
1427
+ "data-inset": inset,
1428
+ className: cn(
1429
+ "text-foreground px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
1430
+ className
1431
+ ),
1432
+ ...props
1433
+ }
1434
+ );
1435
+ }
1436
+ function ContextMenuSeparator({
1437
+ className,
1438
+ ...props
1439
+ }) {
1440
+ return /* @__PURE__ */ jsx(
1441
+ ContextMenuPrimitive.Separator,
1442
+ {
1443
+ "data-slot": "context-menu-separator",
1444
+ className: cn("bg-border -mx-1 my-1 h-px", className),
1445
+ ...props
1446
+ }
1447
+ );
1448
+ }
1449
+ function ContextMenuShortcut({
1450
+ className,
1451
+ ...props
1452
+ }) {
1453
+ return /* @__PURE__ */ jsx(
1454
+ "span",
1455
+ {
1456
+ "data-slot": "context-menu-shortcut",
1457
+ className: cn(
1458
+ "text-muted-foreground ml-auto text-xs tracking-widest",
1459
+ className
1460
+ ),
1461
+ ...props
1462
+ }
1463
+ );
1464
+ }
1465
+ var IconButton = React18__default.forwardRef(
936
1466
  ({ variant = ButtonVariant.Ghost, size = IconButtonSize.Default, className, ...props }, ref) => {
937
1467
  const sizeStyles = {
938
1468
  [IconButtonSize.Small]: "h-8 w-8",
@@ -952,7 +1482,7 @@ var IconButton = React16__default.forwardRef(
952
1482
  }
953
1483
  );
954
1484
  IconButton.displayName = "IconButton";
955
- var DropdownButton = React16__default.forwardRef(({ children, variant = ButtonVariant.Outline, className, ...props }, ref) => {
1485
+ var DropdownButton = React18__default.forwardRef(({ children, variant = ButtonVariant.Outline, className, ...props }, ref) => {
956
1486
  return /* @__PURE__ */ jsxs(
957
1487
  Button,
958
1488
  {
@@ -968,7 +1498,7 @@ var DropdownButton = React16__default.forwardRef(({ children, variant = ButtonVa
968
1498
  );
969
1499
  });
970
1500
  DropdownButton.displayName = "DropdownButton";
971
- var Sidebar = React16.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
1501
+ var Sidebar = React18.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
972
1502
  return /* @__PURE__ */ jsx(
973
1503
  "aside",
974
1504
  {
@@ -987,7 +1517,7 @@ var Sidebar = React16.forwardRef(({ collapsed = false, className, children, ...p
987
1517
  );
988
1518
  });
989
1519
  Sidebar.displayName = "Sidebar";
990
- var SidebarContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1520
+ var SidebarContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
991
1521
  "div",
992
1522
  {
993
1523
  ref,
@@ -1001,7 +1531,7 @@ var SidebarContent = React16.forwardRef(({ className, ...props }, ref) => /* @__
1001
1531
  }
1002
1532
  ));
1003
1533
  SidebarContent.displayName = "SidebarContent";
1004
- var SidebarMenu = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1534
+ var SidebarMenu = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1005
1535
  "ul",
1006
1536
  {
1007
1537
  ref,
@@ -1011,7 +1541,7 @@ var SidebarMenu = React16.forwardRef(({ className, ...props }, ref) => /* @__PUR
1011
1541
  }
1012
1542
  ));
1013
1543
  SidebarMenu.displayName = "SidebarMenu";
1014
- var SidebarMenuItem = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1544
+ var SidebarMenuItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1015
1545
  "li",
1016
1546
  {
1017
1547
  ref,
@@ -1043,7 +1573,7 @@ var sidebarMenuButtonVariants = cva(
1043
1573
  }
1044
1574
  }
1045
1575
  );
1046
- var SidebarMenuButton = React16.forwardRef(
1576
+ var SidebarMenuButton = React18.forwardRef(
1047
1577
  ({
1048
1578
  asChild = false,
1049
1579
  isActive = false,
@@ -1069,7 +1599,7 @@ var SidebarMenuButton = React16.forwardRef(
1069
1599
  }
1070
1600
  );
1071
1601
  SidebarMenuButton.displayName = "SidebarMenuButton";
1072
- var SidebarMenuIcon = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1602
+ var SidebarMenuIcon = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1073
1603
  "span",
1074
1604
  {
1075
1605
  ref,
@@ -1078,7 +1608,7 @@ var SidebarMenuIcon = React16.forwardRef(({ className, ...props }, ref) => /* @_
1078
1608
  }
1079
1609
  ));
1080
1610
  SidebarMenuIcon.displayName = "SidebarMenuIcon";
1081
- var SidebarMenuLabel = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1611
+ var SidebarMenuLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1082
1612
  "span",
1083
1613
  {
1084
1614
  ref,
@@ -1087,7 +1617,7 @@ var SidebarMenuLabel = React16.forwardRef(({ className, ...props }, ref) => /* @
1087
1617
  }
1088
1618
  ));
1089
1619
  SidebarMenuLabel.displayName = "SidebarMenuLabel";
1090
- var SidebarHeader = React16.forwardRef(
1620
+ var SidebarHeader = React18.forwardRef(
1091
1621
  ({ logo, logoText, collapsed = false, onClick, className, ...props }, ref) => {
1092
1622
  return /* @__PURE__ */ jsxs(
1093
1623
  "div",
@@ -1110,7 +1640,7 @@ var SidebarHeader = React16.forwardRef(
1110
1640
  }
1111
1641
  );
1112
1642
  SidebarHeader.displayName = "SidebarHeader";
1113
- var UserInfo = React16__default.forwardRef(
1643
+ var UserInfo = React18__default.forwardRef(
1114
1644
  ({ displayName, email, avatarUrl, className, loading }, ref) => {
1115
1645
  const getInitials = () => {
1116
1646
  if (!displayName) return toUpper(email?.[0] || "") || "?";
@@ -1519,6 +2049,6 @@ var applyTheme = (theme, themeName) => {
1519
2049
  }
1520
2050
  };
1521
2051
 
1522
- export { Avatar, AvatarFallback, AvatarImage, Badge, Button, CLOSE_ICON_ID, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ChatInput, CloseIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Header, IconButton, Input, MENU_ICON_ID, MenuIcon, MessageBubble, MessageType, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Progress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuIcon, SidebarMenuItem, SidebarMenuLabel, Skeleton, Slider, SliderRange, SliderThumb, SliderTrack, Spinner, Switch, Textarea, ThreadList, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserInfo, applyTheme, badgeVariants };
2052
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Avatar, AvatarFallback, AvatarImage, Badge, Button, CLOSE_ICON_ID, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChatInput, CloseIcon, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Header, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, Input, MENU_ICON_ID, MenuIcon, MessageBubble, MessageType, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuIcon, SidebarMenuItem, SidebarMenuLabel, Skeleton, Slider, SliderRange, SliderThumb, SliderTrack, Spinner, Switch, Textarea, ThreadList, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserInfo, applyTheme, badgeVariants };
1523
2053
  //# sourceMappingURL=index.mjs.map
1524
2054
  //# sourceMappingURL=index.mjs.map