@moontra/moonui 4.0.0 → 5.0.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.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
- import * as React11 from 'react';
4
- import React11__default, { useState, useCallback, useEffect } from 'react';
3
+ import * as React24 from 'react';
4
+ import React24__default, { useState, useCallback, useEffect } from 'react';
5
5
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
6
- import { ChevronDown, Info, AlertCircle, AlertTriangle, Check, X, MoreHorizontal, Loader2, CreditCard, ArrowLeft, ArrowRight, Minus, Search, ChevronRight, Circle, Upload, Dot, ChevronUp, Phone, Bold, Italic, Underline, Strikethrough, AlignLeft, AlignCenter, AlignRight, AlignJustify, List, ListOrdered, Quote, Code, Link, Image, Palette, Undo, Redo, Edit, Eye, ChevronLeft, Copy, ArrowDown, ArrowUp, ArrowUpDown, Calendar as Calendar$1, Clock, CheckCircle, Star, GitFork, ExternalLink, Crown, Lock, Zap, Video, Music, FileText, File } from 'lucide-react';
6
+ import { ChevronDown, Info, AlertCircle, AlertTriangle, Check, X, MoreHorizontal, Loader2, CreditCard, ArrowLeft, ArrowRight, Minus, Search, Calendar as Calendar$1, Clock, ChevronLeft, ChevronRight, Circle, Upload, Dot, ChevronUp, Phone, Bold, Italic, Underline, Strikethrough, AlignLeft, AlignCenter, AlignRight, AlignJustify, List, ListOrdered, Quote, Code, Link, Image, Palette, Undo, Redo, Edit, Eye, Copy, ArrowDown, ArrowUp, ArrowUpDown, CheckCircle, Star, GitFork, ExternalLink, Crown, Lock, Zap, Video, Music, FileText, File } from 'lucide-react';
7
7
  export { Palette, Pipette } from 'lucide-react';
8
8
  import { clsx } from 'clsx';
9
9
  import { twMerge } from 'tailwind-merge';
@@ -11,7 +11,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
11
11
  import { cva } from 'class-variance-authority';
12
12
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
13
13
  import { motion, AnimatePresence, useMotionValue, useTransform, animate } from 'framer-motion';
14
- import { format, isSameMonth, isToday, isValid, subMonths, addMonths, isSameDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, startOfWeek, endOfWeek } from 'date-fns';
14
+ import { isValid, format, isSameMonth, isToday, subMonths, addMonths, isSameDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, startOfWeek, endOfWeek } from 'date-fns';
15
15
  export { format } from 'date-fns';
16
16
  import useEmblaCarousel from 'embla-carousel-react';
17
17
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
@@ -38,7 +38,7 @@ function cn(...inputs) {
38
38
  return twMerge(clsx(inputs));
39
39
  }
40
40
  var Accordion = AccordionPrimitive.Root;
41
- var AccordionItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
41
+ var AccordionItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
42
42
  AccordionPrimitive.Item,
43
43
  {
44
44
  ref,
@@ -47,7 +47,7 @@ var AccordionItem = React11.forwardRef(({ className, ...props }, ref) => /* @__P
47
47
  }
48
48
  ));
49
49
  AccordionItem.displayName = "AccordionItem";
50
- var AccordionTrigger = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
50
+ var AccordionTrigger = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
51
51
  AccordionPrimitive.Trigger,
52
52
  {
53
53
  ref,
@@ -65,7 +65,7 @@ var AccordionTrigger = React11.forwardRef(({ className, children, ...props }, re
65
65
  }
66
66
  ) }));
67
67
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
68
- var AccordionContent = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
68
+ var AccordionContent = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
69
69
  AccordionPrimitive.Content,
70
70
  {
71
71
  ref,
@@ -118,7 +118,7 @@ var alertVariants = cva(
118
118
  }
119
119
  }
120
120
  );
121
- var Alert = React11.forwardRef(
121
+ var Alert = React24.forwardRef(
122
122
  ({
123
123
  className,
124
124
  variant = "default",
@@ -130,7 +130,7 @@ var Alert = React11.forwardRef(
130
130
  children,
131
131
  ...props
132
132
  }, ref) => {
133
- const Icon2 = React11.useMemo(() => {
133
+ const Icon2 = React24.useMemo(() => {
134
134
  switch (variant) {
135
135
  case "success":
136
136
  return Check;
@@ -178,7 +178,7 @@ var Alert = React11.forwardRef(
178
178
  }
179
179
  );
180
180
  Alert.displayName = "Alert";
181
- var AlertTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
181
+ var AlertTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
182
182
  "h5",
183
183
  {
184
184
  ref,
@@ -191,7 +191,7 @@ var AlertTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
191
191
  }
192
192
  ));
193
193
  AlertTitle.displayName = "AlertTitle";
194
- var AlertDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
194
+ var AlertDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
195
195
  "div",
196
196
  {
197
197
  ref,
@@ -208,11 +208,15 @@ var aspectRatioVariants = cva(
208
208
  "relative overflow-hidden",
209
209
  {
210
210
  variants: {
211
+ // `variant` yalnız yüzey/kenarlık eksenini yönetir. Önceden her varyant
212
+ // ayrıca `rounded-md` taşıyordu ve `radius` ekseniyle çakışıyordu
213
+ // (aynı anda iki `rounded-*` sınıfı üretiliyordu). Köşe yuvarlaması artık
214
+ // TEK kaynaktan: `radius`.
211
215
  variant: {
212
- default: "rounded-md bg-muted/10",
216
+ default: "bg-muted/10",
213
217
  ghost: "bg-transparent",
214
- outline: "rounded-md border border-border",
215
- card: "rounded-md bg-card shadow-sm"
218
+ outline: "border border-border",
219
+ card: "bg-card shadow-sm"
216
220
  },
217
221
  radius: {
218
222
  none: "rounded-none",
@@ -223,11 +227,13 @@ var aspectRatioVariants = cva(
223
227
  }
224
228
  },
225
229
  defaultVariants: {
226
- variant: "default"
230
+ variant: "default",
231
+ // Önceki davranış korunur: her varyant `rounded-md` taşıyordu.
232
+ radius: "md"
227
233
  }
228
234
  }
229
235
  );
230
- var AspectRatio = React11.forwardRef(({ className, variant, radius, ratio = 16 / 9, style, children, ...props }, ref) => /* @__PURE__ */ jsx(
236
+ var AspectRatio = React24.forwardRef(({ className, variant, radius, ratio = 16 / 9, style, children, ...props }, ref) => /* @__PURE__ */ jsx(
231
237
  "div",
232
238
  {
233
239
  ref,
@@ -276,7 +282,7 @@ var avatarVariants = cva(
276
282
  }
277
283
  }
278
284
  );
279
- var Avatar = React11.forwardRef(({ className, size, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx(
285
+ var Avatar = React24.forwardRef(({ className, size, radius, variant, ...props }, ref) => /* @__PURE__ */ jsx(
280
286
  AvatarPrimitive.Root,
281
287
  {
282
288
  ref,
@@ -285,7 +291,7 @@ var Avatar = React11.forwardRef(({ className, size, radius, variant, ...props },
285
291
  }
286
292
  ));
287
293
  Avatar.displayName = AvatarPrimitive.Root.displayName;
288
- var AvatarImage = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
294
+ var AvatarImage = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
289
295
  AvatarPrimitive.Image,
290
296
  {
291
297
  ref,
@@ -294,7 +300,7 @@ var AvatarImage = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
294
300
  }
295
301
  ));
296
302
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
297
- var AvatarFallback = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
303
+ var AvatarFallback = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
298
304
  AvatarPrimitive.Fallback,
299
305
  {
300
306
  ref,
@@ -306,9 +312,9 @@ var AvatarFallback = React11.forwardRef(({ className, ...props }, ref) => /* @__
306
312
  }
307
313
  ));
308
314
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
309
- var AvatarGroup = React11.forwardRef(
315
+ var AvatarGroup = React24.forwardRef(
310
316
  ({ className, max, children, overlapOffset = -8, ...props }, ref) => {
311
- const childrenArray = React11.Children.toArray(children);
317
+ const childrenArray = React24.Children.toArray(children);
312
318
  const visibleAvatars = max ? childrenArray.slice(0, max) : childrenArray;
313
319
  const remainingCount = max ? Math.max(0, childrenArray.length - max) : 0;
314
320
  return /* @__PURE__ */ jsx(
@@ -389,16 +395,16 @@ var badgeVariants = cva(
389
395
  "dark:bg-error/90 dark:text-white dark:shadow-inner dark:shadow-error/10"
390
396
  ],
391
397
  success: [
392
- "border-transparent bg-success text-white",
398
+ "border-transparent bg-success text-success-foreground",
393
399
  "hover:bg-success/90 dark:hover:bg-success/80",
394
400
  "focus-visible:ring-success/30 dark:focus-visible:ring-success/25",
395
- "dark:bg-success/90 dark:text-white dark:shadow-inner dark:shadow-success/10"
401
+ "dark:bg-success/90 dark:text-success-foreground dark:shadow-inner dark:shadow-success/10"
396
402
  ],
397
403
  warning: [
398
- "border-transparent bg-warning text-white",
404
+ "border-transparent bg-warning text-warning-foreground",
399
405
  "hover:bg-warning/90 dark:hover:bg-warning/80",
400
406
  "focus-visible:ring-warning/30 dark:focus-visible:ring-warning/25",
401
- "dark:bg-warning/90 dark:text-gray-900 dark:shadow-inner dark:shadow-warning/10"
407
+ "dark:bg-warning/90 dark:text-warning-foreground dark:shadow-inner dark:shadow-warning/10"
402
408
  ],
403
409
  ghost: [
404
410
  "border border-gray-200 bg-gray-50/50 text-gray-700",
@@ -439,7 +445,7 @@ var badgeVariants = cva(
439
445
  }
440
446
  }
441
447
  );
442
- var Badge = React11.forwardRef(({
448
+ var Badge = React24.forwardRef(({
443
449
  className,
444
450
  variant,
445
451
  size,
@@ -546,7 +552,7 @@ var breadcrumbVariants = cva(
546
552
  }
547
553
  }
548
554
  );
549
- var Breadcrumb = React11.forwardRef(
555
+ var Breadcrumb = React24.forwardRef(
550
556
  ({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
551
557
  "nav",
552
558
  {
@@ -558,9 +564,9 @@ var Breadcrumb = React11.forwardRef(
558
564
  )
559
565
  );
560
566
  Breadcrumb.displayName = "Breadcrumb";
561
- var BreadcrumbList = React11.forwardRef(
567
+ var BreadcrumbList = React24.forwardRef(
562
568
  ({ className, collapsed, collapsedWidth = 3, ...props }, ref) => {
563
- const childrenArray = React11.Children.toArray(props.children).filter(Boolean);
569
+ const childrenArray = React24.Children.toArray(props.children).filter(Boolean);
564
570
  const childCount = childrenArray.length;
565
571
  if (collapsed && childCount > collapsedWidth) {
566
572
  const firstItem = childrenArray[0];
@@ -596,9 +602,9 @@ var BreadcrumbList = React11.forwardRef(
596
602
  }
597
603
  );
598
604
  BreadcrumbList.displayName = "BreadcrumbList";
599
- var BreadcrumbItem = React11.forwardRef(
605
+ var BreadcrumbItem = React24.forwardRef(
600
606
  ({ className, isCurrent, href, asChild = false, ...props }, ref) => {
601
- const Comp = asChild ? React11.Fragment : href ? "a" : "span";
607
+ const Comp = asChild ? React24.Fragment : href ? "a" : "span";
602
608
  const itemProps = asChild ? {} : href ? { href } : {};
603
609
  return /* @__PURE__ */ jsx(
604
610
  "li",
@@ -655,7 +661,7 @@ var BreadcrumbEllipsis = ({
655
661
  }
656
662
  );
657
663
  BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
658
- var BreadcrumbLink = React11.forwardRef(
664
+ var BreadcrumbLink = React24.forwardRef(
659
665
  ({ className, href, ...props }, ref) => /* @__PURE__ */ jsx(
660
666
  "a",
661
667
  {
@@ -670,7 +676,7 @@ var BreadcrumbLink = React11.forwardRef(
670
676
  )
671
677
  );
672
678
  BreadcrumbLink.displayName = "BreadcrumbLink";
673
- var BreadcrumbPage = React11.forwardRef(
679
+ var BreadcrumbPage = React24.forwardRef(
674
680
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
675
681
  "span",
676
682
  {
@@ -833,7 +839,7 @@ var buttonVariants = cva(
833
839
  }
834
840
  }
835
841
  );
836
- var Button = React11.forwardRef(
842
+ var Button = React24.forwardRef(
837
843
  ({
838
844
  className,
839
845
  variant,
@@ -855,6 +861,7 @@ var Button = React11.forwardRef(
855
861
  className: cn("moonui-theme", buttonVariants({ variant, size, rounded, fullWidth, className })),
856
862
  ref,
857
863
  disabled: disabled || loading,
864
+ "aria-busy": loading || void 0,
858
865
  "data-loading": loading ? "" : void 0,
859
866
  ...props,
860
867
  children: [
@@ -1047,7 +1054,7 @@ var cardVariants = cva(
1047
1054
  }
1048
1055
  }
1049
1056
  );
1050
- var Card = React11.forwardRef(
1057
+ var Card = React24.forwardRef(
1051
1058
  ({ className, variant, size, radius, interactive, microInteraction = "lift", ...props }, ref) => {
1052
1059
  if (interactive && microInteraction !== "none") {
1053
1060
  const interactionProps = {
@@ -1075,7 +1082,7 @@ var Card = React11.forwardRef(
1075
1082
  }
1076
1083
  );
1077
1084
  Card.displayName = "Card";
1078
- var CardHeader = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1085
+ var CardHeader = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1079
1086
  "div",
1080
1087
  {
1081
1088
  ref,
@@ -1084,7 +1091,7 @@ var CardHeader = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
1084
1091
  }
1085
1092
  ));
1086
1093
  CardHeader.displayName = "CardHeader";
1087
- var CardTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1094
+ var CardTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1088
1095
  "h3",
1089
1096
  {
1090
1097
  ref,
@@ -1093,7 +1100,7 @@ var CardTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE_
1093
1100
  }
1094
1101
  ));
1095
1102
  CardTitle.displayName = "CardTitle";
1096
- var CardDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1103
+ var CardDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1097
1104
  "p",
1098
1105
  {
1099
1106
  ref,
@@ -1102,9 +1109,9 @@ var CardDescription = React11.forwardRef(({ className, ...props }, ref) => /* @_
1102
1109
  }
1103
1110
  ));
1104
1111
  CardDescription.displayName = "CardDescription";
1105
- var CardContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("moonui-theme", "p-6 pt-0", className), ...props }));
1112
+ var CardContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("moonui-theme", "p-6 pt-0", className), ...props }));
1106
1113
  CardContent.displayName = "CardContent";
1107
- var CardFooter = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1114
+ var CardFooter = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
1108
1115
  "div",
1109
1116
  {
1110
1117
  ref,
@@ -1125,7 +1132,7 @@ function Calendar({
1125
1132
  defaultMonth,
1126
1133
  ...props
1127
1134
  }) {
1128
- const [currentMonth, setCurrentMonth] = React11.useState(
1135
+ const [currentMonth, setCurrentMonth] = React24.useState(
1129
1136
  defaultMonth || selected && selected || /* @__PURE__ */ new Date()
1130
1137
  );
1131
1138
  const weekDays = [
@@ -1339,9 +1346,9 @@ var formatCardNumber = (value, cardType) => {
1339
1346
  }
1340
1347
  return formatted;
1341
1348
  };
1342
- var CardNumberInput = React11.forwardRef(
1349
+ var CardNumberInput = React24.forwardRef(
1343
1350
  ({ className, value = "", onChange, showIcon = true, size, ...props }, ref) => {
1344
- const [cardType, setCardType] = React11.useState("unknown");
1351
+ const [cardType, setCardType] = React24.useState("unknown");
1345
1352
  const handleChange = (e) => {
1346
1353
  const rawValue = e.target.value.replace(/\D/g, "");
1347
1354
  const detectedType = getCardType(rawValue);
@@ -1372,7 +1379,7 @@ var CardNumberInput = React11.forwardRef(
1372
1379
  }
1373
1380
  );
1374
1381
  CardNumberInput.displayName = "CardNumberInput";
1375
- var CardExpiryInput = React11.forwardRef(
1382
+ var CardExpiryInput = React24.forwardRef(
1376
1383
  ({ className, value = "", onChange, size, ...props }, ref) => {
1377
1384
  const handleChange = (e) => {
1378
1385
  let rawValue = e.target.value.replace(/\D/g, "");
@@ -1410,7 +1417,7 @@ var CardExpiryInput = React11.forwardRef(
1410
1417
  }
1411
1418
  );
1412
1419
  CardExpiryInput.displayName = "CardExpiryInput";
1413
- var CardCVCInput = React11.forwardRef(
1420
+ var CardCVCInput = React24.forwardRef(
1414
1421
  ({ className, value = "", onChange, cardType = "unknown", size, ...props }, ref) => {
1415
1422
  const maxLength = cardType === "amex" ? 4 : 3;
1416
1423
  const handleChange = (e) => {
@@ -1435,7 +1442,7 @@ var CardCVCInput = React11.forwardRef(
1435
1442
  }
1436
1443
  );
1437
1444
  CardCVCInput.displayName = "CardCVCInput";
1438
- var CardZipInput = React11.forwardRef(
1445
+ var CardZipInput = React24.forwardRef(
1439
1446
  ({ className, value = "", onChange, format: format4 = "US", size, ...props }, ref) => {
1440
1447
  const handleChange = (e) => {
1441
1448
  let rawValue = e.target.value;
@@ -1486,15 +1493,15 @@ var CardZipInput = React11.forwardRef(
1486
1493
  }
1487
1494
  );
1488
1495
  CardZipInput.displayName = "CardZipInput";
1489
- var CarouselContext = React11.createContext(null);
1496
+ var CarouselContext = React24.createContext(null);
1490
1497
  function useCarousel() {
1491
- const context = React11.useContext(CarouselContext);
1498
+ const context = React24.useContext(CarouselContext);
1492
1499
  if (!context) {
1493
1500
  throw new Error("useCarousel must be used within a <Carousel />");
1494
1501
  }
1495
1502
  return context;
1496
1503
  }
1497
- var Carousel = React11.forwardRef(
1504
+ var Carousel = React24.forwardRef(
1498
1505
  ({
1499
1506
  orientation = "horizontal",
1500
1507
  opts,
@@ -1512,21 +1519,21 @@ var Carousel = React11.forwardRef(
1512
1519
  },
1513
1520
  plugins
1514
1521
  );
1515
- const [canScrollPrev, setCanScrollPrev] = React11.useState(false);
1516
- const [canScrollNext, setCanScrollNext] = React11.useState(false);
1517
- const onSelect = React11.useCallback((emblaApi) => {
1522
+ const [canScrollPrev, setCanScrollPrev] = React24.useState(false);
1523
+ const [canScrollNext, setCanScrollNext] = React24.useState(false);
1524
+ const onSelect = React24.useCallback((emblaApi) => {
1518
1525
  if (!emblaApi)
1519
1526
  return;
1520
1527
  setCanScrollPrev(emblaApi.canScrollPrev());
1521
1528
  setCanScrollNext(emblaApi.canScrollNext());
1522
1529
  }, []);
1523
- const scrollPrev = React11.useCallback(() => {
1530
+ const scrollPrev = React24.useCallback(() => {
1524
1531
  api?.scrollPrev();
1525
1532
  }, [api]);
1526
- const scrollNext = React11.useCallback(() => {
1533
+ const scrollNext = React24.useCallback(() => {
1527
1534
  api?.scrollNext();
1528
1535
  }, [api]);
1529
- const handleKeyDown = React11.useCallback(
1536
+ const handleKeyDown = React24.useCallback(
1530
1537
  (event) => {
1531
1538
  const prevKey = resolvedOrientation === "horizontal" ? "ArrowLeft" : "ArrowUp";
1532
1539
  const nextKey = resolvedOrientation === "horizontal" ? "ArrowRight" : "ArrowDown";
@@ -1540,12 +1547,12 @@ var Carousel = React11.forwardRef(
1540
1547
  },
1541
1548
  [resolvedOrientation, scrollPrev, scrollNext]
1542
1549
  );
1543
- React11.useEffect(() => {
1550
+ React24.useEffect(() => {
1544
1551
  if (!api || !setApi)
1545
1552
  return;
1546
1553
  setApi(api);
1547
1554
  }, [api, setApi]);
1548
- React11.useEffect(() => {
1555
+ React24.useEffect(() => {
1549
1556
  if (!api)
1550
1557
  return;
1551
1558
  onSelect(api);
@@ -1597,7 +1604,7 @@ var carouselContentVariants = cva("flex", {
1597
1604
  orientation: "horizontal"
1598
1605
  }
1599
1606
  });
1600
- var CarouselContent = React11.forwardRef(
1607
+ var CarouselContent = React24.forwardRef(
1601
1608
  ({ className, ...props }, ref) => {
1602
1609
  const { carouselRef, orientation } = useCarousel();
1603
1610
  return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
@@ -1622,7 +1629,7 @@ var carouselItemVariants = cva("min-w-0 shrink-0 grow-0 basis-full", {
1622
1629
  orientation: "horizontal"
1623
1630
  }
1624
1631
  });
1625
- var CarouselItem = React11.forwardRef(
1632
+ var CarouselItem = React24.forwardRef(
1626
1633
  ({ className, ...props }, ref) => {
1627
1634
  const { orientation } = useCarousel();
1628
1635
  return /* @__PURE__ */ jsx(
@@ -1638,7 +1645,7 @@ var CarouselItem = React11.forwardRef(
1638
1645
  }
1639
1646
  );
1640
1647
  CarouselItem.displayName = "CarouselItem";
1641
- var CarouselPrevious = React11.forwardRef(({ className, variant = "outline", size = "icon-sm", ...props }, ref) => {
1648
+ var CarouselPrevious = React24.forwardRef(({ className, variant = "outline", size = "icon-sm", ...props }, ref) => {
1642
1649
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
1643
1650
  return /* @__PURE__ */ jsxs(
1644
1651
  Button,
@@ -1663,7 +1670,7 @@ var CarouselPrevious = React11.forwardRef(({ className, variant = "outline", siz
1663
1670
  );
1664
1671
  });
1665
1672
  CarouselPrevious.displayName = "CarouselPrevious";
1666
- var CarouselNext = React11.forwardRef(({ className, variant = "outline", size = "icon-sm", ...props }, ref) => {
1673
+ var CarouselNext = React24.forwardRef(({ className, variant = "outline", size = "icon-sm", ...props }, ref) => {
1667
1674
  const { orientation, scrollNext, canScrollNext } = useCarousel();
1668
1675
  return /* @__PURE__ */ jsxs(
1669
1676
  Button,
@@ -1726,7 +1733,7 @@ var checkboxVariants = cva(
1726
1733
  }
1727
1734
  }
1728
1735
  );
1729
- var Checkbox = React11.forwardRef(({
1736
+ var Checkbox = React24.forwardRef(({
1730
1737
  className,
1731
1738
  variant,
1732
1739
  size,
@@ -1759,7 +1766,7 @@ var Checkbox = React11.forwardRef(({
1759
1766
  );
1760
1767
  });
1761
1768
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
1762
- var CheckboxGroup = React11.forwardRef(
1769
+ var CheckboxGroup = React24.forwardRef(
1763
1770
  ({ className, orientation = "vertical", spacing = "1rem", children, ...props }, ref) => {
1764
1771
  return /* @__PURE__ */ jsx(
1765
1772
  "div",
@@ -1779,7 +1786,7 @@ var CheckboxGroup = React11.forwardRef(
1779
1786
  }
1780
1787
  );
1781
1788
  CheckboxGroup.displayName = "CheckboxGroup";
1782
- var CheckboxLabel = React11.forwardRef(
1789
+ var CheckboxLabel = React24.forwardRef(
1783
1790
  ({ className, htmlFor, children, position = "end", disabled = false, ...props }, ref) => {
1784
1791
  return /* @__PURE__ */ jsx(
1785
1792
  "label",
@@ -1799,14 +1806,14 @@ var CheckboxLabel = React11.forwardRef(
1799
1806
  }
1800
1807
  );
1801
1808
  CheckboxLabel.displayName = "CheckboxLabel";
1802
- var CheckboxWithLabel = React11.forwardRef(({
1809
+ var CheckboxWithLabel = React24.forwardRef(({
1803
1810
  id,
1804
1811
  label,
1805
1812
  labelPosition = "end",
1806
1813
  labelClassName,
1807
1814
  ...checkboxProps
1808
1815
  }, ref) => {
1809
- const generatedId = React11.useId();
1816
+ const generatedId = React24.useId();
1810
1817
  const checkboxId = id || generatedId;
1811
1818
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
1812
1819
  labelPosition === "start" && /* @__PURE__ */ jsx(
@@ -1856,7 +1863,7 @@ var collapsibleTriggerVariants = cva(
1856
1863
  }
1857
1864
  }
1858
1865
  );
1859
- var CollapsibleTrigger = React11.forwardRef(({ className, children, variant, size, asChild, ...props }, ref) => {
1866
+ var CollapsibleTrigger = React24.forwardRef(({ className, children, variant, size, asChild, ...props }, ref) => {
1860
1867
  if (asChild) {
1861
1868
  return /* @__PURE__ */ jsx(
1862
1869
  CollapsiblePrimitive.Trigger,
@@ -1905,7 +1912,7 @@ var collapsibleContentVariants = cva(
1905
1912
  }
1906
1913
  }
1907
1914
  );
1908
- var CollapsibleContent = React11.forwardRef(({ className, children, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
1915
+ var CollapsibleContent = React24.forwardRef(({ className, children, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
1909
1916
  CollapsiblePrimitive.Content,
1910
1917
  {
1911
1918
  ref,
@@ -1988,7 +1995,7 @@ var inputVariants = cva(
1988
1995
  }
1989
1996
  }
1990
1997
  );
1991
- var Input = React11.forwardRef(
1998
+ var Input = React24.forwardRef(
1992
1999
  ({
1993
2000
  className,
1994
2001
  wrapperClassName,
@@ -2015,8 +2022,10 @@ var Input = React11.forwardRef(
2015
2022
  placeholder,
2016
2023
  ...props
2017
2024
  }, ref) => {
2018
- const [isFocused, setIsFocused] = React11.useState(false);
2019
- const [internalValue, setInternalValue] = React11.useState(value || defaultValue || "");
2025
+ const reactId = React24.useId();
2026
+ const fieldId = props.id || reactId;
2027
+ const [isFocused, setIsFocused] = React24.useState(false);
2028
+ const [internalValue, setInternalValue] = React24.useState(value || defaultValue || "");
2020
2029
  const hasValue = internalValue !== "" && internalValue !== null && internalValue !== void 0;
2021
2030
  const isLabelActive = isFocused || hasValue;
2022
2031
  const handleFocus = (e) => {
@@ -2031,7 +2040,7 @@ var Input = React11.forwardRef(
2031
2040
  setInternalValue(e.target.value);
2032
2041
  onChange?.(e);
2033
2042
  };
2034
- React11.useEffect(() => {
2043
+ React24.useEffect(() => {
2035
2044
  if (value !== void 0) {
2036
2045
  setInternalValue(value);
2037
2046
  }
@@ -2080,7 +2089,7 @@ var Input = React11.forwardRef(
2080
2089
  "data-error": !!error ? "" : void 0,
2081
2090
  "data-success": !!success ? "" : void 0,
2082
2091
  "aria-invalid": !!error || !!isError || void 0,
2083
- "aria-describedby": error ? `${props.id || ""}-error` : success ? `${props.id || ""}-success` : void 0,
2092
+ "aria-describedby": error ? `${fieldId}-error` : success ? `${fieldId}-success` : void 0,
2084
2093
  value,
2085
2094
  defaultValue,
2086
2095
  onChange: handleChange,
@@ -2104,7 +2113,7 @@ var Input = React11.forwardRef(
2104
2113
  messageType === "normal" && "text-muted-foreground",
2105
2114
  messageClassName
2106
2115
  ),
2107
- id: error ? `${props.id || ""}-error` : success ? `${props.id || ""}-success` : void 0,
2116
+ id: error ? `${fieldId}-error` : success ? `${fieldId}-success` : void 0,
2108
2117
  children: error || success || ""
2109
2118
  }
2110
2119
  )
@@ -2113,9 +2122,9 @@ var Input = React11.forwardRef(
2113
2122
  );
2114
2123
  Input.displayName = "Input";
2115
2124
  var labelVariants = cva(
2116
- "text-sm font-medium leading-none text-gray-900 dark:text-gray-200 peer-disabled:cursor-not-allowed peer-disabled:opacity-70 dark:peer-disabled:opacity-60 transition-colors duration-200"
2125
+ "text-sm font-medium leading-none text-foreground peer-disabled:cursor-not-allowed peer-disabled:opacity-70 dark:peer-disabled:opacity-60 transition-colors duration-200"
2117
2126
  );
2118
- var Label = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2127
+ var Label = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2119
2128
  LabelPrimitive.Root,
2120
2129
  {
2121
2130
  ref,
@@ -2176,7 +2185,7 @@ var popoverContentVariants = cva(
2176
2185
  var Popover = PopoverPrimitive.Root;
2177
2186
  var PopoverTrigger = PopoverPrimitive.Trigger;
2178
2187
  var PopoverAnchor = PopoverPrimitive.Anchor;
2179
- var PopoverContent = React11.forwardRef(({
2188
+ var PopoverContent = React24.forwardRef(({
2180
2189
  className,
2181
2190
  variant,
2182
2191
  size,
@@ -2244,7 +2253,7 @@ var PopoverFooter = ({ className, ...props }) => /* @__PURE__ */ jsx(
2244
2253
  }
2245
2254
  );
2246
2255
  PopoverFooter.displayName = "PopoverFooter";
2247
- var Tabs = React11.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE__ */ jsx(
2256
+ var Tabs = React24.forwardRef(({ vertical = false, ...props }, ref) => /* @__PURE__ */ jsx(
2248
2257
  TabsPrimitive.Root,
2249
2258
  {
2250
2259
  ref,
@@ -2285,7 +2294,7 @@ var tabsListVariants = cva(
2285
2294
  }
2286
2295
  }
2287
2296
  );
2288
- var TabsList = React11.forwardRef(({ className, variant, orientation, fullWidth, scrollable, ...props }, ref) => {
2297
+ var TabsList = React24.forwardRef(({ className, variant, orientation, fullWidth, scrollable, ...props }, ref) => {
2289
2298
  return /* @__PURE__ */ jsx(
2290
2299
  TabsPrimitive.List,
2291
2300
  {
@@ -2328,7 +2337,7 @@ var tabsTriggerVariants = cva(
2328
2337
  }
2329
2338
  }
2330
2339
  );
2331
- var TabsTrigger = React11.forwardRef(({
2340
+ var TabsTrigger = React24.forwardRef(({
2332
2341
  className,
2333
2342
  variant,
2334
2343
  size,
@@ -2360,7 +2369,7 @@ var TabsTrigger = React11.forwardRef(({
2360
2369
  }
2361
2370
  ));
2362
2371
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
2363
- var TabsContent = React11.forwardRef(({ className, animated = false, ...props }, ref) => /* @__PURE__ */ jsx(
2372
+ var TabsContent = React24.forwardRef(({ className, animated = false, ...props }, ref) => /* @__PURE__ */ jsx(
2364
2373
  TabsPrimitive.Content,
2365
2374
  {
2366
2375
  ref,
@@ -2454,7 +2463,7 @@ var sliderThumbVariants = cva(
2454
2463
  }
2455
2464
  }
2456
2465
  );
2457
- var Slider = React11.forwardRef(({
2466
+ var Slider = React24.forwardRef(({
2458
2467
  className,
2459
2468
  size,
2460
2469
  trackVariant,
@@ -2470,10 +2479,10 @@ var Slider = React11.forwardRef(({
2470
2479
  disabled,
2471
2480
  ...props
2472
2481
  }, ref) => {
2473
- const [sliderValue, setSliderValue] = React11.useState(
2482
+ const [sliderValue, setSliderValue] = React24.useState(
2474
2483
  value || defaultValue || [0]
2475
2484
  );
2476
- React11.useEffect(() => {
2485
+ React24.useEffect(() => {
2477
2486
  if (value !== void 0) {
2478
2487
  setSliderValue(value);
2479
2488
  }
@@ -2488,7 +2497,7 @@ var Slider = React11.forwardRef(({
2488
2497
  const calculateThumbPercent = (value2, min2, max2) => {
2489
2498
  return (value2 - min2) / (max2 - min2) * 100;
2490
2499
  };
2491
- const trackRef = React11.useRef(null);
2500
+ const trackRef = React24.useRef(null);
2492
2501
  const min = props.min || 0;
2493
2502
  const max = props.max || 100;
2494
2503
  const step = props.step || 1;
@@ -2800,14 +2809,14 @@ function ColorPicker({
2800
2809
  disabled,
2801
2810
  ...props
2802
2811
  }) {
2803
- const [open, setOpen] = React11.useState(false);
2804
- const [color, setColor] = React11.useState(value);
2805
- const [opacity, setOpacity] = React11.useState(100);
2806
- const [copied, setCopied] = React11.useState(false);
2807
- const [inputValue, setInputValue] = React11.useState(value);
2808
- const hsl = React11.useMemo(() => hexToHsl(color) || { h: 0, s: 0, l: 0 }, [color]);
2809
- const rgb = React11.useMemo(() => hexToRgb(color) || { r: 0, g: 0, b: 0 }, [color]);
2810
- React11.useEffect(() => {
2812
+ const [open, setOpen] = React24.useState(false);
2813
+ const [color, setColor] = React24.useState(value);
2814
+ const [opacity, setOpacity] = React24.useState(100);
2815
+ const [copied, setCopied] = React24.useState(false);
2816
+ const [inputValue, setInputValue] = React24.useState(value);
2817
+ const hsl = React24.useMemo(() => hexToHsl(color) || { h: 0, s: 0, l: 0 }, [color]);
2818
+ const rgb = React24.useMemo(() => hexToRgb(color) || { r: 0, g: 0, b: 0 }, [color]);
2819
+ React24.useEffect(() => {
2811
2820
  setColor(value);
2812
2821
  setInputValue(value);
2813
2822
  }, [value]);
@@ -3202,7 +3211,7 @@ function GradientPicker({
3202
3211
  onChange,
3203
3212
  className
3204
3213
  }) {
3205
- const [gradient, setGradient] = React11.useState(value);
3214
+ const [gradient, setGradient] = React24.useState(value);
3206
3215
  const handleChange = (field, newValue) => {
3207
3216
  const newGradient = { ...gradient, [field]: newValue };
3208
3217
  setGradient(newGradient);
@@ -3288,7 +3297,7 @@ var overlayVariants = cva(
3288
3297
  }
3289
3298
  }
3290
3299
  );
3291
- var DialogOverlay = React11.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx(
3300
+ var DialogOverlay = React24.forwardRef(({ className, variant, animation, ...props }, ref) => /* @__PURE__ */ jsx(
3292
3301
  DialogPrimitive.Overlay,
3293
3302
  {
3294
3303
  ref,
@@ -3347,7 +3356,7 @@ var dialogContentVariants = cva(
3347
3356
  }
3348
3357
  }
3349
3358
  );
3350
- var DialogContent = React11.forwardRef(
3359
+ var DialogContent = React24.forwardRef(
3351
3360
  ({
3352
3361
  className,
3353
3362
  children,
@@ -3460,7 +3469,7 @@ var DialogFooter = ({
3460
3469
  }
3461
3470
  );
3462
3471
  DialogFooter.displayName = "DialogFooter";
3463
- var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3472
+ var DialogTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3464
3473
  DialogPrimitive.Title,
3465
3474
  {
3466
3475
  ref,
@@ -3472,7 +3481,7 @@ var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
3472
3481
  }
3473
3482
  ));
3474
3483
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
3475
- var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3484
+ var DialogDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3476
3485
  DialogPrimitive.Description,
3477
3486
  {
3478
3487
  ref,
@@ -3484,7 +3493,7 @@ var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /*
3484
3493
  }
3485
3494
  ));
3486
3495
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
3487
- var DialogForm = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3496
+ var DialogForm = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3488
3497
  "form",
3489
3498
  {
3490
3499
  ref,
@@ -3514,7 +3523,7 @@ var commandVariants = cva(
3514
3523
  }
3515
3524
  }
3516
3525
  );
3517
- var Command = React11.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
3526
+ var Command = React24.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
3518
3527
  Command$1,
3519
3528
  {
3520
3529
  ref,
@@ -3536,7 +3545,7 @@ var CommandDialog = ({
3536
3545
  ), children })
3537
3546
  ] }) });
3538
3547
  };
3539
- var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
3548
+ var CommandInput = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
3540
3549
  /* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
3541
3550
  /* @__PURE__ */ jsx(
3542
3551
  Command$1.Input,
@@ -3551,7 +3560,7 @@ var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
3551
3560
  )
3552
3561
  ] }));
3553
3562
  CommandInput.displayName = Command$1.Input.displayName;
3554
- var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3563
+ var CommandList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3555
3564
  Command$1.List,
3556
3565
  {
3557
3566
  ref,
@@ -3560,7 +3569,7 @@ var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
3560
3569
  }
3561
3570
  ));
3562
3571
  CommandList.displayName = Command$1.List.displayName;
3563
- var CommandEmpty = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3572
+ var CommandEmpty = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3564
3573
  Command$1.Empty,
3565
3574
  {
3566
3575
  ref,
@@ -3569,7 +3578,7 @@ var CommandEmpty = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
3569
3578
  }
3570
3579
  ));
3571
3580
  CommandEmpty.displayName = Command$1.Empty.displayName;
3572
- var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3581
+ var CommandGroup = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3573
3582
  Command$1.Group,
3574
3583
  {
3575
3584
  ref,
@@ -3581,7 +3590,7 @@ var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
3581
3590
  }
3582
3591
  ));
3583
3592
  CommandGroup.displayName = Command$1.Group.displayName;
3584
- var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3593
+ var CommandSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3585
3594
  Command$1.Separator,
3586
3595
  {
3587
3596
  ref,
@@ -3590,7 +3599,7 @@ var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @
3590
3599
  }
3591
3600
  ));
3592
3601
  CommandSeparator.displayName = Command$1.Separator.displayName;
3593
- var CommandItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3602
+ var CommandItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3594
3603
  Command$1.Item,
3595
3604
  {
3596
3605
  ref,
@@ -3641,7 +3650,7 @@ var tableVariants = cva(
3641
3650
  }
3642
3651
  }
3643
3652
  );
3644
- var Table = React11.forwardRef(({
3653
+ var Table = React24.forwardRef(({
3645
3654
  className,
3646
3655
  variant,
3647
3656
  size,
@@ -3658,11 +3667,11 @@ var Table = React11.forwardRef(({
3658
3667
  ...props
3659
3668
  }, ref) => {
3660
3669
  const striped = variant === "striped";
3661
- const childrenWithProps = React11.Children.map(props.children, (child) => {
3662
- if (React11.isValidElement(child)) {
3670
+ const childrenWithProps = React24.Children.map(props.children, (child) => {
3671
+ if (React24.isValidElement(child)) {
3663
3672
  if (child.type === "tbody") {
3664
3673
  const tbodyProps = child.props;
3665
- return React11.cloneElement(child, {
3674
+ return React24.cloneElement(child, {
3666
3675
  className: cn(tbodyProps.className, striped && "even:[&>tr]:bg-muted/50")
3667
3676
  });
3668
3677
  }
@@ -3687,10 +3696,10 @@ var Table = React11.forwardRef(({
3687
3696
  ] });
3688
3697
  });
3689
3698
  Table.displayName = "Table";
3690
- var TableHeader = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("moonui-theme", "[&_tr]:border-b", className), ...props }));
3699
+ var TableHeader = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("moonui-theme", "[&_tr]:border-b", className), ...props }));
3691
3700
  TableHeader.displayName = "TableHeader";
3692
- var TableBody = React11.forwardRef(({ className, emptyContent, emptyMessage = "No data available", children, ...props }, ref) => {
3693
- const hasChildren = React11.Children.count(children) > 0;
3701
+ var TableBody = React24.forwardRef(({ className, emptyContent, emptyMessage = "No data available", children, ...props }, ref) => {
3702
+ const hasChildren = React24.Children.count(children) > 0;
3694
3703
  return /* @__PURE__ */ jsx(
3695
3704
  "tbody",
3696
3705
  {
@@ -3702,7 +3711,7 @@ var TableBody = React11.forwardRef(({ className, emptyContent, emptyMessage = "N
3702
3711
  );
3703
3712
  });
3704
3713
  TableBody.displayName = "TableBody";
3705
- var TableFooter = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3714
+ var TableFooter = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3706
3715
  "tfoot",
3707
3716
  {
3708
3717
  ref,
@@ -3711,7 +3720,7 @@ var TableFooter = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
3711
3720
  }
3712
3721
  ));
3713
3722
  TableFooter.displayName = "TableFooter";
3714
- var TableRow = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3723
+ var TableRow = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3715
3724
  "tr",
3716
3725
  {
3717
3726
  ref,
@@ -3723,7 +3732,7 @@ var TableRow = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3723
3732
  }
3724
3733
  ));
3725
3734
  TableRow.displayName = "TableRow";
3726
- var TableHead = React11.forwardRef(
3735
+ var TableHead = React24.forwardRef(
3727
3736
  ({ className, sortable, sorted, onSort, align = "left", children, ...props }, ref) => {
3728
3737
  const renderSortIcon = () => {
3729
3738
  if (!sortable)
@@ -3811,7 +3820,7 @@ var TableHead = React11.forwardRef(
3811
3820
  }
3812
3821
  );
3813
3822
  TableHead.displayName = "TableHead";
3814
- var TableCell = React11.forwardRef(({ className, align = "left", ...props }, ref) => {
3823
+ var TableCell = React24.forwardRef(({ className, align = "left", ...props }, ref) => {
3815
3824
  const alignmentClass = {
3816
3825
  left: "text-left",
3817
3826
  center: "text-center",
@@ -3827,7 +3836,7 @@ var TableCell = React11.forwardRef(({ className, align = "left", ...props }, ref
3827
3836
  );
3828
3837
  });
3829
3838
  TableCell.displayName = "TableCell";
3830
- var TableCaption = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3839
+ var TableCaption = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3831
3840
  "caption",
3832
3841
  {
3833
3842
  ref,
@@ -3847,8 +3856,8 @@ function DataTableBasic({
3847
3856
  emptyMessage = "No results found.",
3848
3857
  className
3849
3858
  }) {
3850
- const [sorting, setSorting] = React11.useState([]);
3851
- const [globalFilter, setGlobalFilter] = React11.useState("");
3859
+ const [sorting, setSorting] = React24.useState([]);
3860
+ const [globalFilter, setGlobalFilter] = React24.useState("");
3852
3861
  const table = useReactTable({
3853
3862
  data,
3854
3863
  columns,
@@ -4011,7 +4020,7 @@ var datePickerVariants = cva(
4011
4020
  }
4012
4021
  }
4013
4022
  );
4014
- function DatePicker({
4023
+ var DatePicker = React24.forwardRef(function DatePicker2({
4015
4024
  className,
4016
4025
  variant,
4017
4026
  size,
@@ -4033,10 +4042,10 @@ function DatePicker({
4033
4042
  calendarProps,
4034
4043
  disabled,
4035
4044
  ...props
4036
- }) {
4037
- const [open, setOpen] = React11.useState(false);
4038
- const [internalDate, setInternalDate] = React11.useState(value);
4039
- React11.useEffect(() => {
4045
+ }, ref) {
4046
+ const [open, setOpen] = React24.useState(false);
4047
+ const [internalDate, setInternalDate] = React24.useState(value);
4048
+ React24.useEffect(() => {
4040
4049
  setInternalDate(value);
4041
4050
  }, [value]);
4042
4051
  const handleSelect = (date) => {
@@ -4068,7 +4077,7 @@ function DatePicker({
4068
4077
  };
4069
4078
  const displayValue = internalDate && isValid(internalDate) ? format(internalDate, formatString) : null;
4070
4079
  const iconElement = icon || /* @__PURE__ */ jsx(Calendar$1, { className: "h-4 w-4" });
4071
- return /* @__PURE__ */ jsx("div", { className: "moonui-theme", children: /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
4080
+ return /* @__PURE__ */ jsx("div", { ref, className: "moonui-theme", children: /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
4072
4081
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
4073
4082
  Button,
4074
4083
  {
@@ -4145,7 +4154,7 @@ function DatePicker({
4145
4154
  /* @__PURE__ */ jsx(
4146
4155
  PopoverContent,
4147
4156
  {
4148
- className: "w-[360px] p-0 shadow-2xl rounded-2xl border border-gray-200 dark:border-gray-700 bg-background/95 backdrop-blur-sm !z-[9999]",
4157
+ className: "w-[360px] p-0 shadow-2xl rounded-2xl border border-border bg-background/95 backdrop-blur-sm !z-[9999]",
4149
4158
  align: "start",
4150
4159
  sideOffset: 12,
4151
4160
  children: /* @__PURE__ */ jsxs(
@@ -4182,8 +4191,9 @@ function DatePicker({
4182
4191
  }
4183
4192
  )
4184
4193
  ] }) });
4185
- }
4186
- function DateRangePicker({
4194
+ });
4195
+ DatePicker.displayName = "DatePicker";
4196
+ var DateRangePicker = React24.forwardRef(function DateRangePicker2({
4187
4197
  className,
4188
4198
  value,
4189
4199
  onChange,
@@ -4191,10 +4201,10 @@ function DateRangePicker({
4191
4201
  formatString = "LLL dd, y",
4192
4202
  separator = " - ",
4193
4203
  ...props
4194
- }) {
4195
- const [open, setOpen] = React11.useState(false);
4196
- const [internalRange, setInternalRange] = React11.useState(value);
4197
- React11.useEffect(() => {
4204
+ }, ref) {
4205
+ const [open, setOpen] = React24.useState(false);
4206
+ const [internalRange, setInternalRange] = React24.useState(value);
4207
+ React24.useEffect(() => {
4198
4208
  setInternalRange(value);
4199
4209
  }, [value]);
4200
4210
  const handleSelect = (range) => {
@@ -4204,7 +4214,7 @@ function DateRangePicker({
4204
4214
  setOpen(false);
4205
4215
  }
4206
4216
  };
4207
- const displayValue = React11.useMemo(() => {
4217
+ const displayValue = React24.useMemo(() => {
4208
4218
  if (!internalRange?.from)
4209
4219
  return null;
4210
4220
  if (!internalRange?.to) {
@@ -4219,6 +4229,7 @@ function DateRangePicker({
4219
4229
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
4220
4230
  Button,
4221
4231
  {
4232
+ ref,
4222
4233
  variant: props.variant === "ghost" ? "ghost" : "outline",
4223
4234
  className: cn(
4224
4235
  datePickerVariants({
@@ -4236,7 +4247,7 @@ function DateRangePicker({
4236
4247
  ]
4237
4248
  }
4238
4249
  ) }),
4239
- /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0 shadow-2xl rounded-2xl border border-gray-200 dark:border-gray-700 bg-background/95 backdrop-blur-sm !z-[9999]", align: "start", sideOffset: 12, children: /* @__PURE__ */ jsx(
4250
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0 shadow-2xl rounded-2xl border border-border bg-background/95 backdrop-blur-sm !z-[9999]", align: "start", sideOffset: 12, children: /* @__PURE__ */ jsx(
4240
4251
  Calendar,
4241
4252
  {
4242
4253
  mode: "range",
@@ -4249,8 +4260,9 @@ function DateRangePicker({
4249
4260
  }
4250
4261
  ) })
4251
4262
  ] });
4252
- }
4253
- function DateTimePicker({
4263
+ });
4264
+ DateRangePicker.displayName = "DateRangePicker";
4265
+ var DateTimePicker = React24.forwardRef(function DateTimePicker2({
4254
4266
  value,
4255
4267
  onChange,
4256
4268
  formatString = "PPP p",
@@ -4258,9 +4270,9 @@ function DateTimePicker({
4258
4270
  timeFormat = "24",
4259
4271
  timeInterval = 15,
4260
4272
  ...props
4261
- }) {
4262
- const [date, setDate] = React11.useState(value);
4263
- const [time, setTime] = React11.useState(
4273
+ }, ref) {
4274
+ const [date, setDate] = React24.useState(value);
4275
+ const [time, setTime] = React24.useState(
4264
4276
  value ? format(value, timeFormat === "24" ? "HH:mm" : "hh:mm a") : "00:00"
4265
4277
  );
4266
4278
  const handleDateChange = (newDate) => {
@@ -4285,7 +4297,7 @@ function DateTimePicker({
4285
4297
  onChange?.(newDate);
4286
4298
  }
4287
4299
  };
4288
- const timeOptions = React11.useMemo(() => {
4300
+ const timeOptions = React24.useMemo(() => {
4289
4301
  const options = [];
4290
4302
  for (let h = 0; h < 24; h++) {
4291
4303
  for (let m = 0; m < 60; m += timeInterval) {
@@ -4304,7 +4316,7 @@ function DateTimePicker({
4304
4316
  }
4305
4317
  return options;
4306
4318
  }, [timeFormat, timeInterval]);
4307
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
4319
+ return /* @__PURE__ */ jsxs("div", { ref, className: "flex flex-col gap-2", children: [
4308
4320
  /* @__PURE__ */ jsx(
4309
4321
  DatePicker,
4310
4322
  {
@@ -4337,16 +4349,17 @@ function DateTimePicker({
4337
4349
  }
4338
4350
  )
4339
4351
  ] });
4340
- }
4341
- function MonthPicker({
4352
+ });
4353
+ DateTimePicker.displayName = "DateTimePicker";
4354
+ var MonthPicker = React24.forwardRef(function MonthPicker2({
4342
4355
  value,
4343
4356
  onChange,
4344
4357
  placeholder = "Pick a month",
4345
4358
  formatString = "MMMM yyyy",
4346
4359
  ...props
4347
- }) {
4348
- const [open, setOpen] = React11.useState(false);
4349
- const [viewDate, setViewDate] = React11.useState(value || /* @__PURE__ */ new Date());
4360
+ }, ref) {
4361
+ const [open, setOpen] = React24.useState(false);
4362
+ const [viewDate, setViewDate] = React24.useState(value || /* @__PURE__ */ new Date());
4350
4363
  const months = [
4351
4364
  "January",
4352
4365
  "February",
@@ -4377,6 +4390,7 @@ function MonthPicker({
4377
4390
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
4378
4391
  Button,
4379
4392
  {
4393
+ ref,
4380
4394
  variant: props.variant === "default" ? "outline" : props.variant || "outline",
4381
4395
  className: cn(
4382
4396
  datePickerVariants({
@@ -4394,13 +4408,14 @@ function MonthPicker({
4394
4408
  ]
4395
4409
  }
4396
4410
  ) }),
4397
- /* @__PURE__ */ jsx(PopoverContent, { className: "w-64 p-0 shadow-2xl border border-gray-200 dark:border-gray-700 bg-background !z-[9999]", align: "start", children: /* @__PURE__ */ jsxs("div", { className: "p-3", children: [
4411
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-64 p-0 shadow-2xl border border-border bg-background !z-[9999]", align: "start", children: /* @__PURE__ */ jsxs("div", { className: "p-3", children: [
4398
4412
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
4399
4413
  /* @__PURE__ */ jsx(
4400
4414
  Button,
4401
4415
  {
4402
4416
  variant: "outline",
4403
4417
  size: "icon",
4418
+ "aria-label": `Previous year, ${viewDate.getFullYear() - 1}`,
4404
4419
  onClick: () => handleYearChange(-1),
4405
4420
  children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" })
4406
4421
  }
@@ -4411,6 +4426,7 @@ function MonthPicker({
4411
4426
  {
4412
4427
  variant: "outline",
4413
4428
  size: "icon",
4429
+ "aria-label": `Next year, ${viewDate.getFullYear() + 1}`,
4414
4430
  onClick: () => handleYearChange(1),
4415
4431
  children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-4 w-4" })
4416
4432
  }
@@ -4429,7 +4445,8 @@ function MonthPicker({
4429
4445
  )) })
4430
4446
  ] }) })
4431
4447
  ] });
4432
- }
4448
+ });
4449
+ MonthPicker.displayName = "MonthPicker";
4433
4450
  function DraggableList({
4434
4451
  items,
4435
4452
  onReorder,
@@ -4438,7 +4455,7 @@ function DraggableList({
4438
4455
  className,
4439
4456
  disabled = false
4440
4457
  }) {
4441
- const [draggedIndex, setDraggedIndex] = React11.useState(null);
4458
+ const [draggedIndex, setDraggedIndex] = React24.useState(null);
4442
4459
  const handleDragStart = (e, index) => {
4443
4460
  if (disabled)
4444
4461
  return;
@@ -4490,7 +4507,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
4490
4507
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
4491
4508
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
4492
4509
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
4493
- var DropdownMenuSubTrigger = React11.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4510
+ var DropdownMenuSubTrigger = React24.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4494
4511
  DropdownMenuPrimitive.SubTrigger,
4495
4512
  {
4496
4513
  ref,
@@ -4507,7 +4524,7 @@ var DropdownMenuSubTrigger = React11.forwardRef(({ className, inset, children, .
4507
4524
  }
4508
4525
  ));
4509
4526
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
4510
- var DropdownMenuSubContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4527
+ var DropdownMenuSubContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4511
4528
  DropdownMenuPrimitive.SubContent,
4512
4529
  {
4513
4530
  ref,
@@ -4519,7 +4536,7 @@ var DropdownMenuSubContent = React11.forwardRef(({ className, ...props }, ref) =
4519
4536
  }
4520
4537
  ));
4521
4538
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
4522
- var DropdownMenuContent = React11.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
4539
+ var DropdownMenuContent = React24.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
4523
4540
  DropdownMenuPrimitive.Content,
4524
4541
  {
4525
4542
  ref,
@@ -4532,7 +4549,7 @@ var DropdownMenuContent = React11.forwardRef(({ className, sideOffset = 4, ...pr
4532
4549
  }
4533
4550
  ) }));
4534
4551
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
4535
- var DropdownMenuItem = React11.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4552
+ var DropdownMenuItem = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4536
4553
  DropdownMenuPrimitive.Item,
4537
4554
  {
4538
4555
  ref,
@@ -4545,7 +4562,7 @@ var DropdownMenuItem = React11.forwardRef(({ className, inset, ...props }, ref)
4545
4562
  }
4546
4563
  ));
4547
4564
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
4548
- var DropdownMenuCheckboxItem = React11.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
4565
+ var DropdownMenuCheckboxItem = React24.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
4549
4566
  DropdownMenuPrimitive.CheckboxItem,
4550
4567
  {
4551
4568
  ref,
@@ -4562,7 +4579,7 @@ var DropdownMenuCheckboxItem = React11.forwardRef(({ className, children, checke
4562
4579
  }
4563
4580
  ));
4564
4581
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
4565
- var DropdownMenuRadioItem = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4582
+ var DropdownMenuRadioItem = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
4566
4583
  DropdownMenuPrimitive.RadioItem,
4567
4584
  {
4568
4585
  ref,
@@ -4578,7 +4595,7 @@ var DropdownMenuRadioItem = React11.forwardRef(({ className, children, ...props
4578
4595
  }
4579
4596
  ));
4580
4597
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
4581
- var DropdownMenuLabel = React11.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4598
+ var DropdownMenuLabel = React24.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
4582
4599
  DropdownMenuPrimitive.Label,
4583
4600
  {
4584
4601
  ref,
@@ -4591,7 +4608,7 @@ var DropdownMenuLabel = React11.forwardRef(({ className, inset, ...props }, ref)
4591
4608
  }
4592
4609
  ));
4593
4610
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
4594
- var DropdownMenuSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4611
+ var DropdownMenuSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4595
4612
  DropdownMenuPrimitive.Separator,
4596
4613
  {
4597
4614
  ref,
@@ -4680,7 +4697,7 @@ var progressIndicatorVariants = cva(
4680
4697
  }
4681
4698
  }
4682
4699
  );
4683
- var Progress = React11.forwardRef(({
4700
+ var Progress = React24.forwardRef(({
4684
4701
  className,
4685
4702
  value = 0,
4686
4703
  variant,
@@ -4809,7 +4826,7 @@ var FileItem = ({
4809
4826
  }
4810
4827
  );
4811
4828
  };
4812
- var FileUpload = React11__default.forwardRef(
4829
+ var FileUpload = React24__default.forwardRef(
4813
4830
  ({
4814
4831
  accept = "*",
4815
4832
  multiple = true,
@@ -4969,6 +4986,7 @@ var FileUpload = React11__default.forwardRef(
4969
4986
  multiple,
4970
4987
  disabled,
4971
4988
  onChange: handleFileSelect,
4989
+ "aria-label": multiple ? "Choose files to upload" : "Choose a file to upload",
4972
4990
  className: "absolute inset-0 w-full h-full opacity-0 cursor-pointer"
4973
4991
  }
4974
4992
  ),
@@ -5031,7 +5049,7 @@ var FileUpload = React11__default.forwardRef(
5031
5049
  }
5032
5050
  );
5033
5051
  FileUpload.displayName = "FileUpload";
5034
- var GestureDrawer = React11__default.forwardRef(
5052
+ var GestureDrawer = React24__default.forwardRef(
5035
5053
  ({
5036
5054
  children,
5037
5055
  isOpen,
@@ -5302,10 +5320,11 @@ function GitHubStarButton({
5302
5320
  }
5303
5321
  );
5304
5322
  }
5305
- var InputOTP = React11.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(
5323
+ var InputOTP = React24.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(
5306
5324
  OTPInput,
5307
5325
  {
5308
5326
  ref,
5327
+ "aria-label": "One-time password",
5309
5328
  containerClassName: cn(
5310
5329
  "moonui-theme",
5311
5330
  "flex items-center gap-2 has-[:disabled]:opacity-50",
@@ -5316,7 +5335,7 @@ var InputOTP = React11.forwardRef(({ className, containerClassName, ...props },
5316
5335
  }
5317
5336
  ));
5318
5337
  InputOTP.displayName = "InputOTP";
5319
- var InputOTPGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center", className), ...props }));
5338
+ var InputOTPGroup = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center", className), ...props }));
5320
5339
  InputOTPGroup.displayName = "InputOTPGroup";
5321
5340
  var inputOTPSlotVariants = cva(
5322
5341
  [
@@ -5338,9 +5357,9 @@ var inputOTPSlotVariants = cva(
5338
5357
  }
5339
5358
  }
5340
5359
  );
5341
- var InputOTPSlot = React11.forwardRef(
5360
+ var InputOTPSlot = React24.forwardRef(
5342
5361
  ({ index, className, ...props }, ref) => {
5343
- const inputOTPContext = React11.useContext(OTPInputContext);
5362
+ const inputOTPContext = React24.useContext(OTPInputContext);
5344
5363
  const slot = inputOTPContext?.slots?.[index];
5345
5364
  const char = slot?.char;
5346
5365
  const hasFakeCaret = slot?.hasFakeCaret;
@@ -5362,7 +5381,7 @@ var InputOTPSlot = React11.forwardRef(
5362
5381
  }
5363
5382
  );
5364
5383
  InputOTPSlot.displayName = "InputOTPSlot";
5365
- var InputOTPSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5384
+ var InputOTPSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5366
5385
  "div",
5367
5386
  {
5368
5387
  ref,
@@ -5661,7 +5680,7 @@ function MoonLogo({
5661
5680
  showText = true,
5662
5681
  ...props
5663
5682
  }) {
5664
- const logoId = React11.useId();
5683
+ const logoId = React24.useId();
5665
5684
  const gradientId = `moon-gradient-${logoId}`;
5666
5685
  const maskId = `moon-mask-${logoId}`;
5667
5686
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", className), children: [
@@ -5743,7 +5762,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx(
5743
5762
  }
5744
5763
  );
5745
5764
  Pagination.displayName = "Pagination";
5746
- var PaginationContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5765
+ var PaginationContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5747
5766
  "ul",
5748
5767
  {
5749
5768
  ref,
@@ -5752,7 +5771,7 @@ var PaginationContent = React11.forwardRef(({ className, ...props }, ref) => /*
5752
5771
  }
5753
5772
  ));
5754
5773
  PaginationContent.displayName = "PaginationContent";
5755
- var PaginationItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("moonui-theme", "", className), ...props }));
5774
+ var PaginationItem = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("moonui-theme", "", className), ...props }));
5756
5775
  PaginationItem.displayName = "PaginationItem";
5757
5776
  var PaginationLink = ({
5758
5777
  className,
@@ -5860,7 +5879,7 @@ var selectTriggerVariants = cva(
5860
5879
  }
5861
5880
  }
5862
5881
  );
5863
- var SelectTrigger = React11.forwardRef(({ className, children, variant, size, error, success, loading, leftIcon, rightIcon, ...props }, ref) => /* @__PURE__ */ jsxs(
5882
+ var SelectTrigger = React24.forwardRef(({ className, children, variant, size, error, success, loading, leftIcon, rightIcon, ...props }, ref) => /* @__PURE__ */ jsxs(
5864
5883
  SelectPrimitive.Trigger,
5865
5884
  {
5866
5885
  ref,
@@ -5891,7 +5910,7 @@ var SelectTrigger = React11.forwardRef(({ className, children, variant, size, er
5891
5910
  }
5892
5911
  ));
5893
5912
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
5894
- var SelectScrollUpButton = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5913
+ var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5895
5914
  SelectPrimitive.ScrollUpButton,
5896
5915
  {
5897
5916
  ref,
@@ -5904,7 +5923,7 @@ var SelectScrollUpButton = React11.forwardRef(({ className, ...props }, ref) =>
5904
5923
  }
5905
5924
  ));
5906
5925
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
5907
- var SelectScrollDownButton = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5926
+ var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5908
5927
  SelectPrimitive.ScrollDownButton,
5909
5928
  {
5910
5929
  ref,
@@ -5917,7 +5936,7 @@ var SelectScrollDownButton = React11.forwardRef(({ className, ...props }, ref) =
5917
5936
  }
5918
5937
  ));
5919
5938
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
5920
- var SelectContent = React11.forwardRef(({ className, children, position = "popper", side = "bottom", sideOffset = 4, align = "start", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
5939
+ var SelectContent = React24.forwardRef(({ className, children, position = "popper", side = "bottom", sideOffset = 4, align = "start", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
5921
5940
  SelectPrimitive.Content,
5922
5941
  {
5923
5942
  ref,
@@ -5958,7 +5977,7 @@ var SelectContent = React11.forwardRef(({ className, children, position = "poppe
5958
5977
  }
5959
5978
  ) }));
5960
5979
  SelectContent.displayName = SelectPrimitive.Content.displayName;
5961
- var SelectLabel = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5980
+ var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5962
5981
  SelectPrimitive.Label,
5963
5982
  {
5964
5983
  ref,
@@ -5967,7 +5986,7 @@ var SelectLabel = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
5967
5986
  }
5968
5987
  ));
5969
5988
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
5970
- var SelectItem = React11.forwardRef(({ className, children, variant = "default", size = "md", rightIcon, customIndicator, ...props }, ref) => /* @__PURE__ */ jsxs(
5989
+ var SelectItem = React24.forwardRef(({ className, children, variant = "default", size = "md", rightIcon, customIndicator, ...props }, ref) => /* @__PURE__ */ jsxs(
5971
5990
  SelectPrimitive.Item,
5972
5991
  {
5973
5992
  ref,
@@ -5997,7 +6016,7 @@ var SelectItem = React11.forwardRef(({ className, children, variant = "default",
5997
6016
  }
5998
6017
  ));
5999
6018
  SelectItem.displayName = SelectPrimitive.Item.displayName;
6000
- var SelectSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
6019
+ var SelectSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
6001
6020
  SelectPrimitive.Separator,
6002
6021
  {
6003
6022
  ref,
@@ -6079,7 +6098,7 @@ var getMaxLength = (countryCode) => {
6079
6098
  return 15;
6080
6099
  }
6081
6100
  };
6082
- var PhoneInput = React11.forwardRef(
6101
+ var PhoneInput = React24.forwardRef(
6083
6102
  ({
6084
6103
  className,
6085
6104
  value = "",
@@ -6091,8 +6110,8 @@ var PhoneInput = React11.forwardRef(
6091
6110
  size,
6092
6111
  ...props
6093
6112
  }, ref) => {
6094
- const [countryCode, setCountryCode] = React11.useState(defaultCountry);
6095
- const [phoneNumber, setPhoneNumber] = React11.useState(value);
6113
+ const [countryCode, setCountryCode] = React24.useState(defaultCountry);
6114
+ const [phoneNumber, setPhoneNumber] = React24.useState(value);
6096
6115
  const selectedCountry = countries.find((c) => c.code === countryCode) || countries[0];
6097
6116
  const handlePhoneChange = (e) => {
6098
6117
  const rawValue = e.target.value.replace(/\D/g, "");
@@ -6163,15 +6182,15 @@ var radioGroupItemVariants = cva(
6163
6182
  }
6164
6183
  }
6165
6184
  );
6166
- var RadioGroupContext = React11.createContext({});
6167
- var RadioGroup2 = React11.forwardRef(
6185
+ var RadioGroupContext = React24.createContext({});
6186
+ var RadioGroup2 = React24.forwardRef(
6168
6187
  ({ className, value, defaultValue, onValueChange, disabled, name, ...props }, ref) => {
6169
- const [internalValue, setInternalValue] = React11.useState(
6188
+ const [internalValue, setInternalValue] = React24.useState(
6170
6189
  defaultValue
6171
6190
  );
6172
6191
  const isControlled = value !== void 0;
6173
6192
  const currentValue = isControlled ? value : internalValue;
6174
- const handleValueChange = React11.useCallback(
6193
+ const handleValueChange = React24.useCallback(
6175
6194
  (next) => {
6176
6195
  if (!isControlled) {
6177
6196
  setInternalValue(next);
@@ -6203,9 +6222,9 @@ var RadioGroup2 = React11.forwardRef(
6203
6222
  }
6204
6223
  );
6205
6224
  RadioGroup2.displayName = "RadioGroup";
6206
- var RadioGroupItem = React11.forwardRef(({ className, variant, size, indicator, id, value, disabled, ...props }, ref) => {
6207
- const radioGroup = React11.useContext(RadioGroupContext);
6208
- const generatedId = React11.useId();
6225
+ var RadioGroupItem = React24.forwardRef(({ className, variant, size, indicator, id, value, disabled, ...props }, ref) => {
6226
+ const radioGroup = React24.useContext(RadioGroupContext);
6227
+ const generatedId = React24.useId();
6209
6228
  const radioId = id || generatedId;
6210
6229
  const isChecked = radioGroup.value === value;
6211
6230
  const handleChange = (e) => {
@@ -6258,7 +6277,7 @@ var RadioGroupItem = React11.forwardRef(({ className, variant, size, indicator,
6258
6277
  ] });
6259
6278
  });
6260
6279
  RadioGroupItem.displayName = "RadioGroupItem";
6261
- var RadioLabel = React11.forwardRef(
6280
+ var RadioLabel = React24.forwardRef(
6262
6281
  ({ className, htmlFor, children, disabled = false, ...props }, ref) => {
6263
6282
  return /* @__PURE__ */ jsx(
6264
6283
  "label",
@@ -6277,13 +6296,13 @@ var RadioLabel = React11.forwardRef(
6277
6296
  }
6278
6297
  );
6279
6298
  RadioLabel.displayName = "RadioLabel";
6280
- var RadioItemWithLabel = React11.forwardRef(({
6299
+ var RadioItemWithLabel = React24.forwardRef(({
6281
6300
  id,
6282
6301
  label,
6283
6302
  labelClassName,
6284
6303
  ...radioProps
6285
6304
  }, ref) => {
6286
- const generatedId = React11.useId();
6305
+ const generatedId = React24.useId();
6287
6306
  const radioId = id || generatedId;
6288
6307
  return /* @__PURE__ */ jsxs("div", { className: "flex items-center", children: [
6289
6308
  /* @__PURE__ */ jsx(RadioGroupItem, { ref, id: radioId, ...radioProps }),
@@ -6360,7 +6379,7 @@ function RichTextEditor({
6360
6379
  )
6361
6380
  ] });
6362
6381
  }
6363
- var ScrollArea = React11.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
6382
+ var ScrollArea = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
6364
6383
  ScrollAreaPrimitive.Root,
6365
6384
  {
6366
6385
  ref,
@@ -6374,7 +6393,7 @@ var ScrollArea = React11.forwardRef(({ className, children, ...props }, ref) =>
6374
6393
  }
6375
6394
  ));
6376
6395
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
6377
- var ScrollBar = React11.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
6396
+ var ScrollBar = React24.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx(
6378
6397
  ScrollAreaPrimitive.ScrollAreaScrollbar,
6379
6398
  {
6380
6399
  ref,
@@ -6428,7 +6447,7 @@ var defaultTransition = {
6428
6447
  ease: [0.25, 0.46, 0.45, 0.94]
6429
6448
  // Custom cubic-bezier for smooth motion
6430
6449
  };
6431
- var ScrollReveal = React11.forwardRef(
6450
+ var ScrollReveal = React24.forwardRef(
6432
6451
  ({
6433
6452
  children,
6434
6453
  direction = "up",
@@ -6449,17 +6468,17 @@ var ScrollReveal = React11.forwardRef(
6449
6468
  viewport
6450
6469
  }, ref) => {
6451
6470
  const shouldTriggerOnce = triggerOnce !== void 0 ? triggerOnce : once;
6452
- const animationVariants = React11.useMemo(() => {
6471
+ const animationVariants = React24.useMemo(() => {
6453
6472
  if (variants)
6454
6473
  return variants;
6455
6474
  return createDefaultVariants(direction, distance);
6456
6475
  }, [direction, distance, variants]);
6457
- const transition = React11.useMemo(() => ({
6476
+ const transition = React24.useMemo(() => ({
6458
6477
  ...defaultTransition,
6459
6478
  duration,
6460
6479
  delay: delay + stagger
6461
6480
  }), [duration, delay, stagger]);
6462
- const viewportConfig = React11.useMemo(() => ({
6481
+ const viewportConfig = React24.useMemo(() => ({
6463
6482
  once: shouldTriggerOnce,
6464
6483
  amount: threshold,
6465
6484
  ...viewport
@@ -6494,7 +6513,7 @@ var ScrollReveal = React11.forwardRef(
6494
6513
  }
6495
6514
  );
6496
6515
  ScrollReveal.displayName = "ScrollReveal";
6497
- var ScrollRevealContainer = React11.forwardRef(
6516
+ var ScrollRevealContainer = React24.forwardRef(
6498
6517
  ({
6499
6518
  children,
6500
6519
  stagger = 0.1,
@@ -6507,7 +6526,7 @@ var ScrollRevealContainer = React11.forwardRef(
6507
6526
  viewport
6508
6527
  }, ref) => {
6509
6528
  const shouldTriggerOnce = triggerOnce !== void 0 ? triggerOnce : once;
6510
- const viewportConfig = React11.useMemo(() => ({
6529
+ const viewportConfig = React24.useMemo(() => ({
6511
6530
  once: shouldTriggerOnce,
6512
6531
  amount: threshold,
6513
6532
  ...viewport
@@ -6538,7 +6557,7 @@ var ScrollRevealContainer = React11.forwardRef(
6538
6557
  }
6539
6558
  );
6540
6559
  ScrollRevealContainer.displayName = "ScrollRevealContainer";
6541
- var ScrollRevealItem = React11.forwardRef(
6560
+ var ScrollRevealItem = React24.forwardRef(
6542
6561
  ({
6543
6562
  children,
6544
6563
  direction = "up",
@@ -6549,12 +6568,12 @@ var ScrollRevealItem = React11.forwardRef(
6549
6568
  style,
6550
6569
  id
6551
6570
  }, ref) => {
6552
- const animationVariants = React11.useMemo(() => {
6571
+ const animationVariants = React24.useMemo(() => {
6553
6572
  if (variants)
6554
6573
  return variants;
6555
6574
  return createDefaultVariants(direction, distance);
6556
6575
  }, [direction, distance, variants]);
6557
- const transition = React11.useMemo(() => ({
6576
+ const transition = React24.useMemo(() => ({
6558
6577
  ...defaultTransition,
6559
6578
  duration
6560
6579
  }), [duration]);
@@ -6670,7 +6689,7 @@ var separatorVariants = cva(
6670
6689
  }
6671
6690
  }
6672
6691
  );
6673
- var Separator3 = React11.forwardRef(
6692
+ var Separator3 = React24.forwardRef(
6674
6693
  ({
6675
6694
  className,
6676
6695
  orientation = "horizontal",
@@ -6713,7 +6732,7 @@ var toggleVariants = cva(
6713
6732
  }
6714
6733
  }
6715
6734
  );
6716
- var Toggle = React11.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
6735
+ var Toggle = React24.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
6717
6736
  TogglePrimitive.Root,
6718
6737
  {
6719
6738
  ref,
@@ -6749,7 +6768,7 @@ var tooltipVariants = cva(
6749
6768
  );
6750
6769
  var Tooltip = TooltipPrimitive.Root;
6751
6770
  var TooltipTrigger = TooltipPrimitive.Trigger;
6752
- var TooltipArrow = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
6771
+ var TooltipArrow = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
6753
6772
  TooltipPrimitive.Arrow,
6754
6773
  {
6755
6774
  ref,
@@ -6758,7 +6777,7 @@ var TooltipArrow = React11.forwardRef(({ className, ...props }, ref) => /* @__PU
6758
6777
  }
6759
6778
  ));
6760
6779
  TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
6761
- var TooltipContent = React11.forwardRef(({ className, variant, size, showArrow = false, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxs(
6780
+ var TooltipContent = React24.forwardRef(({ className, variant, size, showArrow = false, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxs(
6762
6781
  TooltipPrimitive.Content,
6763
6782
  {
6764
6783
  ref,
@@ -6772,7 +6791,7 @@ var TooltipContent = React11.forwardRef(({ className, variant, size, showArrow =
6772
6791
  }
6773
6792
  ));
6774
6793
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
6775
- var SimpleTooltip = React11.forwardRef(
6794
+ var SimpleTooltip = React24.forwardRef(
6776
6795
  ({
6777
6796
  children,
6778
6797
  content,
@@ -6826,6 +6845,7 @@ var ToolbarButton = ({ icon, tooltip, active, onClick, disabled }) => /* @__PURE
6826
6845
  pressed: active,
6827
6846
  onPressedChange: () => onClick(),
6828
6847
  disabled,
6848
+ "aria-label": tooltip,
6829
6849
  className: "h-8 w-8 p-0",
6830
6850
  children: icon
6831
6851
  }
@@ -6850,14 +6870,16 @@ var ColorPicker2 = ({ onColorSelect }) => {
6850
6870
  return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-4 gap-1 p-2", children: colors.map((color) => /* @__PURE__ */ jsx(
6851
6871
  "button",
6852
6872
  {
6853
- className: "w-6 h-6 rounded border-2 border-gray-200 hover:border-gray-400",
6873
+ type: "button",
6874
+ "aria-label": `Select color ${color}`,
6875
+ className: "w-6 h-6 rounded border-2 border-border hover:border-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
6854
6876
  style: { backgroundColor: color },
6855
6877
  onClick: () => onColorSelect(color)
6856
6878
  },
6857
6879
  color
6858
6880
  )) });
6859
6881
  };
6860
- var SimpleEditor = React11__default.forwardRef(
6882
+ var SimpleEditor = React24__default.forwardRef(
6861
6883
  ({
6862
6884
  value = "",
6863
6885
  onChange,
@@ -6874,8 +6896,8 @@ var SimpleEditor = React11__default.forwardRef(
6874
6896
  const [isPreview, setIsPreview] = useState(false);
6875
6897
  const [sourceContent, setSourceContent] = useState(value);
6876
6898
  useState(null);
6877
- const editorRef = React11__default.useRef(null);
6878
- const sourceRef = React11__default.useRef(null);
6899
+ const editorRef = React24__default.useRef(null);
6900
+ const sourceRef = React24__default.useRef(null);
6879
6901
  const [formatState, setFormatState] = useState({
6880
6902
  bold: false,
6881
6903
  italic: false,
@@ -7009,12 +7031,12 @@ var SimpleEditor = React11__default.forwardRef(
7009
7031
  }
7010
7032
  }
7011
7033
  }, [executeCommand, updateContent]);
7012
- React11__default.useEffect(() => {
7034
+ React24__default.useEffect(() => {
7013
7035
  if (editorRef.current && content && content !== editorRef.current.innerHTML) {
7014
7036
  editorRef.current.innerHTML = content;
7015
7037
  }
7016
7038
  }, [content]);
7017
- React11__default.useEffect(() => {
7039
+ React24__default.useEffect(() => {
7018
7040
  if (value !== void 0 && value !== content) {
7019
7041
  setContent(value);
7020
7042
  setSourceContent(value);
@@ -7329,10 +7351,15 @@ var SimpleEditor = React11__default.forwardRef(
7329
7351
  ref: editorRef,
7330
7352
  contentEditable: !disabled,
7331
7353
  suppressContentEditableWarning: true,
7354
+ role: "textbox",
7355
+ "aria-multiline": "true",
7356
+ "aria-label": placeholder,
7357
+ "aria-disabled": disabled || void 0,
7332
7358
  className: cn(
7333
7359
  "p-4 outline-none prose prose-sm dark:prose-invert max-w-none overflow-y-auto",
7334
- "bg-slate-50 dark:bg-zinc-900/95",
7335
- "text-gray-900 dark:text-gray-100",
7360
+ // Token'a bağlandı (önce `bg-slate-50 dark:bg-zinc-900/95` ve
7361
+ // `text-gray-900 dark:text-gray-100` hardcode'luydu).
7362
+ "bg-background text-foreground",
7336
7363
  "focus:ring-0",
7337
7364
  "[&_h1]:text-3xl [&_h1]:font-bold [&_h1]:mb-4",
7338
7365
  "[&_h2]:text-2xl [&_h2]:font-bold [&_h2]:mb-3",
@@ -7419,7 +7446,7 @@ var skeletonVariants = cva(
7419
7446
  }
7420
7447
  }
7421
7448
  );
7422
- var Skeleton = React11.forwardRef(
7449
+ var Skeleton = React24.forwardRef(
7423
7450
  ({
7424
7451
  className,
7425
7452
  variant,
@@ -7503,7 +7530,7 @@ var Skeleton = React11.forwardRef(
7503
7530
  }
7504
7531
  );
7505
7532
  Skeleton.displayName = "Skeleton";
7506
- var SkeletonText = React11.forwardRef(
7533
+ var SkeletonText = React24.forwardRef(
7507
7534
  ({
7508
7535
  className,
7509
7536
  lines = 3,
@@ -7544,7 +7571,7 @@ var SkeletonText = React11.forwardRef(
7544
7571
  }
7545
7572
  );
7546
7573
  SkeletonText.displayName = "SkeletonText";
7547
- var SkeletonAvatar = React11.forwardRef(
7574
+ var SkeletonAvatar = React24.forwardRef(
7548
7575
  ({
7549
7576
  className,
7550
7577
  size = "2.5rem",
@@ -7570,7 +7597,7 @@ var SkeletonAvatar = React11.forwardRef(
7570
7597
  }
7571
7598
  );
7572
7599
  SkeletonAvatar.displayName = "SkeletonAvatar";
7573
- var SkeletonCard = React11.forwardRef(
7600
+ var SkeletonCard = React24.forwardRef(
7574
7601
  ({
7575
7602
  className,
7576
7603
  showHeader = true,
@@ -7644,11 +7671,11 @@ var SkeletonCard = React11.forwardRef(
7644
7671
  }
7645
7672
  );
7646
7673
  SkeletonCard.displayName = "SkeletonCard";
7647
- var SwipeableCard = React11.forwardRef(
7674
+ var SwipeableCard = React24.forwardRef(
7648
7675
  ({ className, children, onSwipeLeft, onSwipeRight, threshold = 100, disabled = false, ...props }, ref) => {
7649
- const [startX, setStartX] = React11.useState(0);
7650
- const [currentX, setCurrentX] = React11.useState(0);
7651
- const [isSwiping, setIsSwiping] = React11.useState(false);
7676
+ const [startX, setStartX] = React24.useState(0);
7677
+ const [currentX, setCurrentX] = React24.useState(0);
7678
+ const [isSwiping, setIsSwiping] = React24.useState(false);
7652
7679
  const handleTouchStart = (e) => {
7653
7680
  if (disabled)
7654
7681
  return;
@@ -7743,7 +7770,7 @@ var switchThumbVariants = cva(
7743
7770
  }
7744
7771
  }
7745
7772
  );
7746
- var Switch = React11.forwardRef(({
7773
+ var Switch = React24.forwardRef(({
7747
7774
  className,
7748
7775
  size,
7749
7776
  variant,
@@ -7754,7 +7781,7 @@ var Switch = React11.forwardRef(({
7754
7781
  "aria-describedby": ariaDescribedBy,
7755
7782
  ...props
7756
7783
  }, ref) => {
7757
- const reactId = React11.useId();
7784
+ const reactId = React24.useId();
7758
7785
  const descriptionId = description ? `${reactId}-description` : void 0;
7759
7786
  const describedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ") || void 0;
7760
7787
  return /* @__PURE__ */ jsxs("div", { className: "moonui-theme inline-flex items-center gap-2", children: [
@@ -7782,7 +7809,7 @@ var Switch = React11.forwardRef(({
7782
7809
  ] });
7783
7810
  });
7784
7811
  Switch.displayName = SwitchPrimitives.Root.displayName;
7785
- var TagsInput = React11.forwardRef(
7812
+ var TagsInput = React24.forwardRef(
7786
7813
  ({
7787
7814
  value = [],
7788
7815
  onChange,
@@ -7795,14 +7822,63 @@ var TagsInput = React11.forwardRef(
7795
7822
  disabled,
7796
7823
  ...props
7797
7824
  }, ref) => {
7798
- const [inputValue, setInputValue] = React11.useState("");
7799
- const [error, setError] = React11.useState("");
7825
+ const [inputValue, setInputValue] = React24.useState("");
7826
+ const [error, setError] = React24.useState("");
7827
+ const innerInputRef = React24.useRef(null);
7828
+ React24.useImperativeHandle(ref, () => innerInputRef.current);
7829
+ const tagButtonRefs = React24.useRef([]);
7830
+ const errorId = React24.useId();
7831
+ const focusTag = (index) => {
7832
+ if (value.length === 0)
7833
+ return;
7834
+ const clamped = Math.max(0, Math.min(value.length - 1, index));
7835
+ tagButtonRefs.current[clamped]?.focus();
7836
+ };
7800
7837
  const handleKeyDown = (e) => {
7801
7838
  if (e.key === "Enter" || e.key === delimiter) {
7802
7839
  e.preventDefault();
7803
7840
  addTag();
7804
7841
  } else if (e.key === "Backspace" && inputValue === "" && value.length > 0) {
7805
7842
  removeTag(value.length - 1);
7843
+ } else if (e.key === "ArrowLeft" && inputValue === "" && value.length > 0) {
7844
+ e.preventDefault();
7845
+ focusTag(value.length - 1);
7846
+ }
7847
+ };
7848
+ const handleTagKeyDown = (index) => (e) => {
7849
+ switch (e.key) {
7850
+ case "ArrowLeft":
7851
+ e.preventDefault();
7852
+ focusTag(index - 1);
7853
+ break;
7854
+ case "ArrowRight":
7855
+ e.preventDefault();
7856
+ if (index >= value.length - 1)
7857
+ innerInputRef.current?.focus();
7858
+ else
7859
+ focusTag(index + 1);
7860
+ break;
7861
+ case "Home":
7862
+ e.preventDefault();
7863
+ focusTag(0);
7864
+ break;
7865
+ case "End":
7866
+ e.preventDefault();
7867
+ focusTag(value.length - 1);
7868
+ break;
7869
+ case "Delete":
7870
+ case "Backspace": {
7871
+ e.preventDefault();
7872
+ const remaining = value.length - 1;
7873
+ removeTag(index);
7874
+ requestAnimationFrame(() => {
7875
+ if (remaining > 0)
7876
+ focusTag(Math.min(index, remaining - 1));
7877
+ else
7878
+ innerInputRef.current?.focus();
7879
+ });
7880
+ break;
7881
+ }
7806
7882
  }
7807
7883
  };
7808
7884
  const addTag = () => {
@@ -7834,36 +7910,35 @@ var TagsInput = React11.forwardRef(
7834
7910
  {
7835
7911
  className: cn(
7836
7912
  "flex items-center min-h-[2.5rem] w-full flex-wrap gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background",
7837
- "dark:bg-zinc-950/50 dark:border-zinc-800",
7913
+ // NOT: burada `dark:bg-zinc-950/50 dark:border-zinc-800` hardcode'u
7914
+ // vardı ve aynı satırdaki `bg-background`/`border-input` token'larını
7915
+ // karanlık modda eziyordu. Token'lar zaten dark-mode duyarlı.
7838
7916
  "focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
7839
7917
  disabled && "cursor-not-allowed opacity-50",
7840
7918
  className
7841
7919
  ),
7842
7920
  children: [
7843
- value.map((tag, index) => /* @__PURE__ */ jsxs(
7844
- Badge,
7845
- {
7846
- variant,
7847
- className: "gap-1 pr-1.5",
7848
- children: [
7849
- /* @__PURE__ */ jsx("span", { className: "text-xs", children: tag }),
7850
- !disabled && /* @__PURE__ */ jsx(
7851
- "button",
7852
- {
7853
- type: "button",
7854
- onClick: () => removeTag(index),
7855
- className: "ml-1 rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",
7856
- children: /* @__PURE__ */ jsx(X, { className: "h-3 w-3 text-muted-foreground hover:text-foreground transition-colors" })
7857
- }
7858
- )
7859
- ]
7860
- },
7861
- index
7862
- )),
7921
+ value.map((tag, index) => /* @__PURE__ */ jsxs(Badge, { variant, className: "gap-1 pr-1.5", children: [
7922
+ /* @__PURE__ */ jsx("span", { className: "text-xs", children: tag }),
7923
+ !disabled && /* @__PURE__ */ jsx(
7924
+ "button",
7925
+ {
7926
+ ref: (el) => {
7927
+ tagButtonRefs.current[index] = el;
7928
+ },
7929
+ type: "button",
7930
+ "aria-label": `Remove ${tag}`,
7931
+ onClick: () => removeTag(index),
7932
+ onKeyDown: handleTagKeyDown(index),
7933
+ className: "ml-1 rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",
7934
+ children: /* @__PURE__ */ jsx(X, { className: "h-3 w-3 text-muted-foreground hover:text-foreground transition-colors" })
7935
+ }
7936
+ )
7937
+ ] }, index)),
7863
7938
  /* @__PURE__ */ jsx(
7864
7939
  "input",
7865
7940
  {
7866
- ref,
7941
+ ref: innerInputRef,
7867
7942
  type: "text",
7868
7943
  value: inputValue,
7869
7944
  onChange: (e) => setInputValue(e.target.value),
@@ -7871,9 +7946,11 @@ var TagsInput = React11.forwardRef(
7871
7946
  onBlur: addTag,
7872
7947
  disabled,
7873
7948
  placeholder: value.length === 0 ? placeholder : "",
7949
+ "aria-label": "Add tag",
7950
+ "aria-describedby": error ? errorId : void 0,
7951
+ "aria-invalid": error ? true : void 0,
7874
7952
  className: cn(
7875
7953
  "flex-1 bg-transparent outline-none placeholder:text-muted-foreground",
7876
- "dark:placeholder:text-zinc-500",
7877
7954
  "min-w-[120px]",
7878
7955
  disabled && "cursor-not-allowed"
7879
7956
  ),
@@ -7883,7 +7960,7 @@ var TagsInput = React11.forwardRef(
7883
7960
  ]
7884
7961
  }
7885
7962
  ),
7886
- error && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-destructive", children: error })
7963
+ error && /* @__PURE__ */ jsx("p", { id: errorId, role: "status", className: "mt-1 text-xs text-destructive", children: error })
7887
7964
  ] });
7888
7965
  }
7889
7966
  );
@@ -7927,7 +8004,7 @@ var textareaVariants = cva(
7927
8004
  }
7928
8005
  }
7929
8006
  );
7930
- var Textarea = React11.forwardRef(
8007
+ var Textarea = React24.forwardRef(
7931
8008
  ({
7932
8009
  className,
7933
8010
  wrapperClassName,
@@ -7947,10 +8024,12 @@ var Textarea = React11.forwardRef(
7947
8024
  onChange,
7948
8025
  ...props
7949
8026
  }, ref) => {
7950
- const textareaRef = React11.useRef(null);
7951
- const [internalValue, setInternalValue] = React11.useState(value || defaultValue || "");
7952
- React11.useImperativeHandle(ref, () => textareaRef.current);
7953
- const adjustHeight = React11.useCallback(() => {
8027
+ const reactId = React24.useId();
8028
+ const fieldId = props.id || reactId;
8029
+ const textareaRef = React24.useRef(null);
8030
+ const [internalValue, setInternalValue] = React24.useState(value || defaultValue || "");
8031
+ React24.useImperativeHandle(ref, () => textareaRef.current);
8032
+ const adjustHeight = React24.useCallback(() => {
7954
8033
  const textarea = textareaRef.current;
7955
8034
  if (!textarea || !autoResize)
7956
8035
  return;
@@ -7964,10 +8043,10 @@ var Textarea = React11.forwardRef(
7964
8043
  textarea.style.overflowY = "hidden";
7965
8044
  }
7966
8045
  }, [autoResize, maxHeight]);
7967
- React11.useEffect(() => {
8046
+ React24.useEffect(() => {
7968
8047
  adjustHeight();
7969
8048
  }, [internalValue, adjustHeight]);
7970
- React11.useEffect(() => {
8049
+ React24.useEffect(() => {
7971
8050
  if (value !== void 0) {
7972
8051
  setInternalValue(value);
7973
8052
  }
@@ -8003,7 +8082,7 @@ var Textarea = React11.forwardRef(
8003
8082
  onChange: handleChange,
8004
8083
  maxLength,
8005
8084
  "aria-invalid": !!error || void 0,
8006
- "aria-describedby": errorMessage ? `${props.id || ""}-error` : successMessage ? `${props.id || ""}-success` : void 0,
8085
+ "aria-describedby": errorMessage ? `${fieldId}-error` : successMessage ? `${fieldId}-success` : void 0,
8007
8086
  ...props
8008
8087
  }
8009
8088
  ),
@@ -8019,7 +8098,7 @@ var Textarea = React11.forwardRef(
8019
8098
  successMessage && "text-success",
8020
8099
  messageClassName
8021
8100
  ),
8022
- id: errorMessage ? `${props.id || ""}-error` : successMessage ? `${props.id || ""}-success` : void 0,
8101
+ id: errorMessage ? `${fieldId}-error` : successMessage ? `${fieldId}-success` : void 0,
8023
8102
  children: errorMessage || successMessage
8024
8103
  }
8025
8104
  ),
@@ -8033,7 +8112,7 @@ var Textarea = React11.forwardRef(
8033
8112
  );
8034
8113
  Textarea.displayName = "Textarea";
8035
8114
  var ToastProvider = ToastPrimitives.Provider;
8036
- var ToastViewport = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8115
+ var ToastViewport = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8037
8116
  ToastPrimitives.Viewport,
8038
8117
  {
8039
8118
  ref,
@@ -8062,7 +8141,7 @@ var toastVariants = cva(
8062
8141
  }
8063
8142
  }
8064
8143
  );
8065
- var Toast = React11.forwardRef(({ className, variant, ...props }, ref) => {
8144
+ var Toast = React24.forwardRef(({ className, variant, ...props }, ref) => {
8066
8145
  return /* @__PURE__ */ jsx(
8067
8146
  ToastPrimitives.Root,
8068
8147
  {
@@ -8073,7 +8152,7 @@ var Toast = React11.forwardRef(({ className, variant, ...props }, ref) => {
8073
8152
  );
8074
8153
  });
8075
8154
  Toast.displayName = ToastPrimitives.Root.displayName;
8076
- var ToastAction = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8155
+ var ToastAction = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8077
8156
  ToastPrimitives.Action,
8078
8157
  {
8079
8158
  ref,
@@ -8085,7 +8164,7 @@ var ToastAction = React11.forwardRef(({ className, ...props }, ref) => /* @__PUR
8085
8164
  }
8086
8165
  ));
8087
8166
  ToastAction.displayName = ToastPrimitives.Action.displayName;
8088
- var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8167
+ var ToastClose = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8089
8168
  ToastPrimitives.Close,
8090
8169
  {
8091
8170
  ref,
@@ -8099,7 +8178,7 @@ var ToastClose = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
8099
8178
  }
8100
8179
  ));
8101
8180
  ToastClose.displayName = ToastPrimitives.Close.displayName;
8102
- var ToastTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8181
+ var ToastTitle = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8103
8182
  ToastPrimitives.Title,
8104
8183
  {
8105
8184
  ref,
@@ -8108,7 +8187,7 @@ var ToastTitle = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE
8108
8187
  }
8109
8188
  ));
8110
8189
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
8111
- var ToastDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8190
+ var ToastDescription = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8112
8191
  ToastPrimitives.Description,
8113
8192
  {
8114
8193
  ref,
@@ -8216,8 +8295,8 @@ function toast({ ...props }) {
8216
8295
  };
8217
8296
  }
8218
8297
  function useToast() {
8219
- const [state, setState] = React11.useState(memoryState);
8220
- React11.useEffect(() => {
8298
+ const [state, setState] = React24.useState(memoryState);
8299
+ React24.useEffect(() => {
8221
8300
  listeners.push(setState);
8222
8301
  return () => {
8223
8302
  const index = listeners.indexOf(setState);
@@ -8270,7 +8349,7 @@ var kbdVariants = cva(
8270
8349
  }
8271
8350
  }
8272
8351
  );
8273
- var Kbd = React11.forwardRef(
8352
+ var Kbd = React24.forwardRef(
8274
8353
  ({ className, size, children, ...props }, ref) => {
8275
8354
  return /* @__PURE__ */ jsx(
8276
8355
  "kbd",
@@ -8307,7 +8386,7 @@ var iconSizeMap = {
8307
8386
  md: "h-5 w-5",
8308
8387
  lg: "h-6 w-6"
8309
8388
  };
8310
- var Rating = React11.forwardRef(
8389
+ var Rating = React24.forwardRef(
8311
8390
  ({
8312
8391
  className,
8313
8392
  value,
@@ -8325,11 +8404,11 @@ var Rating = React11.forwardRef(
8325
8404
  const iconSizeClass = iconSizeMap[resolvedSize];
8326
8405
  const step = precision === "half" ? 0.5 : 1;
8327
8406
  const isControlled = value !== void 0;
8328
- const [internalValue, setInternalValue] = React11.useState(defaultValue ?? 0);
8407
+ const [internalValue, setInternalValue] = React24.useState(defaultValue ?? 0);
8329
8408
  const currentValue = isControlled ? value ?? 0 : internalValue;
8330
- const [hoverValue, setHoverValue] = React11.useState(null);
8409
+ const [hoverValue, setHoverValue] = React24.useState(null);
8331
8410
  const displayValue = hoverValue !== null ? hoverValue : currentValue;
8332
- const commit = React11.useCallback(
8411
+ const commit = React24.useCallback(
8333
8412
  (next) => {
8334
8413
  if (readOnly)
8335
8414
  return;
@@ -8339,7 +8418,7 @@ var Rating = React11.forwardRef(
8339
8418
  },
8340
8419
  [readOnly, isControlled, onValueChange]
8341
8420
  );
8342
- const handleKeyDown = React11.useCallback(
8421
+ const handleKeyDown = React24.useCallback(
8343
8422
  (event) => {
8344
8423
  if (readOnly)
8345
8424
  return;
@@ -8368,9 +8447,9 @@ var Rating = React11.forwardRef(
8368
8447
  [readOnly, max, currentValue, step, commit]
8369
8448
  );
8370
8449
  const renderIcon = (filled) => {
8371
- if (React11.isValidElement(icon)) {
8450
+ if (React24.isValidElement(icon)) {
8372
8451
  const element = icon;
8373
- return React11.cloneElement(element, {
8452
+ return React24.cloneElement(element, {
8374
8453
  className: cn(
8375
8454
  iconSizeClass,
8376
8455
  "shrink-0",
@@ -8504,7 +8583,7 @@ var dotSizeMap = {
8504
8583
  lg: "h-2 w-2",
8505
8584
  xl: "h-2.5 w-2.5"
8506
8585
  };
8507
- var Spinner = React11.forwardRef(
8586
+ var Spinner = React24.forwardRef(
8508
8587
  ({ className, size, variant = "default", label = "Loading", ...props }, ref) => {
8509
8588
  return /* @__PURE__ */ jsxs(
8510
8589
  "div",
@@ -8583,15 +8662,15 @@ var buttonGroupVariants = cva(
8583
8662
  }
8584
8663
  }
8585
8664
  );
8586
- var ButtonGroup = React11.forwardRef(
8665
+ var ButtonGroup = React24.forwardRef(
8587
8666
  ({ className, orientation, attached, size, variant, children, ...props }, ref) => {
8588
8667
  const shouldPropagate = size !== void 0 || variant !== void 0;
8589
- const enhancedChildren = shouldPropagate ? React11.Children.map(children, (child) => {
8590
- if (!React11.isValidElement(child) || child.type !== Button) {
8668
+ const enhancedChildren = shouldPropagate ? React24.Children.map(children, (child) => {
8669
+ if (!React24.isValidElement(child) || child.type !== Button) {
8591
8670
  return child;
8592
8671
  }
8593
8672
  const childProps = child.props;
8594
- return React11.cloneElement(child, {
8673
+ return React24.cloneElement(child, {
8595
8674
  size: childProps.size ?? size,
8596
8675
  variant: childProps.variant ?? variant
8597
8676
  });
@@ -8609,11 +8688,11 @@ var ButtonGroup = React11.forwardRef(
8609
8688
  }
8610
8689
  );
8611
8690
  ButtonGroup.displayName = "ButtonGroup";
8612
- var ToggleGroupContext = React11.createContext({
8691
+ var ToggleGroupContext = React24.createContext({
8613
8692
  size: "default",
8614
8693
  variant: "default"
8615
8694
  });
8616
- var ToggleGroup = React11.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
8695
+ var ToggleGroup = React24.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx(
8617
8696
  ToggleGroupPrimitive.Root,
8618
8697
  {
8619
8698
  ref,
@@ -8630,8 +8709,8 @@ var ToggleGroup = React11.forwardRef(({ className, variant, size, children, ...p
8630
8709
  }
8631
8710
  ));
8632
8711
  ToggleGroup.displayName = "ToggleGroup";
8633
- var ToggleGroupItem = React11.forwardRef(({ className, children, variant, size, ...props }, ref) => {
8634
- const context = React11.useContext(ToggleGroupContext);
8712
+ var ToggleGroupItem = React24.forwardRef(({ className, children, variant, size, ...props }, ref) => {
8713
+ const context = React24.useContext(ToggleGroupContext);
8635
8714
  return /* @__PURE__ */ jsx(
8636
8715
  ToggleGroupPrimitive.Item,
8637
8716
  {