@mvn-ui/react 0.1.3 → 0.1.4

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,7 +1,7 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { twMerge } from 'tailwind-merge';
3
- import * as React49 from 'react';
4
- import React49__default, { createContext, forwardRef, useRef, useState, useEffect, useImperativeHandle, useCallback, useContext, cloneElement, useMemo, Fragment as Fragment$1 } from 'react';
3
+ import * as React50 from 'react';
4
+ import React50__default, { createContext, forwardRef, useRef, useState, useEffect, useImperativeHandle, useCallback, useContext, cloneElement, useMemo, Fragment as Fragment$1 } from 'react';
5
5
  import { cva } from 'class-variance-authority';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import { Slot } from '@radix-ui/react-slot';
@@ -43,6 +43,8 @@ import isEqual from 'react-fast-compare';
43
43
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
44
44
  import { getDefaultClassNames, DayPicker } from 'react-day-picker';
45
45
  import useEmblaCarousel from 'embla-carousel-react';
46
+ import { ResponsiveContainer, LineChart as LineChart$1, CartesianGrid, XAxis, YAxis, Tooltip as Tooltip$1, Legend, Line, BarChart as BarChart$1, Bar, PieChart as PieChart$1, Pie, Cell, AreaChart as AreaChart$1, Area, ScatterChart as ScatterChart$1, ZAxis, Scatter, RadarChart as RadarChart$1, PolarGrid, PolarAngleAxis, PolarRadiusAxis, Radar } from 'recharts';
47
+ export { Area, Bar, Brush, CartesianGrid, Cell, Legend as ChartLegend, Tooltip as ChartTooltip, Line, Pie, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Radar, ReferenceArea, ReferenceLine, ResponsiveContainer, Scatter, XAxis, YAxis, ZAxis } from 'recharts';
46
48
 
47
49
  var __defProp = Object.defineProperty;
48
50
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -286,7 +288,7 @@ var init_card = __esm({
286
288
  }
287
289
  }
288
290
  );
289
- Card = React49.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
291
+ Card = React50.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx(
290
292
  "div",
291
293
  {
292
294
  ref,
@@ -295,7 +297,7 @@ var init_card = __esm({
295
297
  }
296
298
  ));
297
299
  Card.displayName = "Card";
298
- CardHeader = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
300
+ CardHeader = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
299
301
  "div",
300
302
  {
301
303
  ref,
@@ -304,7 +306,7 @@ var init_card = __esm({
304
306
  }
305
307
  ));
306
308
  CardHeader.displayName = "CardHeader";
307
- CardTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
309
+ CardTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
308
310
  "h3",
309
311
  {
310
312
  ref,
@@ -313,7 +315,7 @@ var init_card = __esm({
313
315
  }
314
316
  ));
315
317
  CardTitle.displayName = "CardTitle";
316
- CardDescription = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
318
+ CardDescription = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
317
319
  "div",
318
320
  {
319
321
  ref,
@@ -322,9 +324,9 @@ var init_card = __esm({
322
324
  }
323
325
  ));
324
326
  CardDescription.displayName = "CardDescription";
325
- CardContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
327
+ CardContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
326
328
  CardContent.displayName = "CardContent";
327
- CardFooter = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
329
+ CardFooter = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
328
330
  "div",
329
331
  {
330
332
  ref,
@@ -367,7 +369,7 @@ var buttonVariants = cva(
367
369
  }
368
370
  }
369
371
  );
370
- var Button = React49.forwardRef(
372
+ var Button = React50.forwardRef(
371
373
  ({
372
374
  className,
373
375
  variant,
@@ -417,7 +419,7 @@ var Button = React49.forwardRef(
417
419
  }
418
420
  );
419
421
  Button.displayName = "Button";
420
- var IconButton = React49.forwardRef(
422
+ var IconButton = React50.forwardRef(
421
423
  ({ icon, size = "icon", className, ...props }, ref) => {
422
424
  return /* @__PURE__ */ jsx(Button, { ref, size, className, ...props, children: icon });
423
425
  }
@@ -511,7 +513,7 @@ var inputVariants = cva(
511
513
  }
512
514
  }
513
515
  );
514
- var Input = React49.forwardRef(
516
+ var Input = React50.forwardRef(
515
517
  ({
516
518
  className,
517
519
  containerClassName,
@@ -529,12 +531,12 @@ var Input = React49.forwardRef(
529
531
  value,
530
532
  ...props
531
533
  }, ref) => {
532
- const [showPassword, setShowPassword] = React49.useState(false);
533
- const [internalValue, setInternalValue] = React49.useState(value || "");
534
- const generatedId = React49.useId();
534
+ const [showPassword, setShowPassword] = React50.useState(false);
535
+ const [internalValue, setInternalValue] = React50.useState(value || "");
536
+ const generatedId = React50.useId();
535
537
  const inputId = id || generatedId;
536
538
  const hasError = !!error;
537
- React49.useEffect(() => {
539
+ React50.useEffect(() => {
538
540
  setInternalValue(value || "");
539
541
  }, [value]);
540
542
  const handleClear = () => {
@@ -643,7 +645,7 @@ var labelVariants = cva(
643
645
  }
644
646
  }
645
647
  );
646
- var Label = React49.forwardRef(({ className, variant, required, ...props }, ref) => /* @__PURE__ */ jsx(
648
+ var Label = React50.forwardRef(({ className, variant, required, ...props }, ref) => /* @__PURE__ */ jsx(
647
649
  LabelPrimitive.Root,
648
650
  {
649
651
  ref,
@@ -684,7 +686,7 @@ var textareaVariants = cva(
684
686
  }
685
687
  }
686
688
  );
687
- var Textarea = React49.forwardRef(
689
+ var Textarea = React50.forwardRef(
688
690
  ({
689
691
  className,
690
692
  containerClassName,
@@ -702,8 +704,8 @@ var Textarea = React49.forwardRef(
702
704
  id,
703
705
  ...props
704
706
  }, ref) => {
705
- const internalRef = React49.useRef(null);
706
- const [charCount, setCharCount] = React49.useState(0);
707
+ const internalRef = React50.useRef(null);
708
+ const [charCount, setCharCount] = React50.useState(0);
707
709
  const textareaRef = (node) => {
708
710
  internalRef.current = node;
709
711
  if (typeof ref === "function") {
@@ -712,14 +714,14 @@ var Textarea = React49.forwardRef(
712
714
  ref.current = node;
713
715
  }
714
716
  };
715
- React49.useEffect(() => {
717
+ React50.useEffect(() => {
716
718
  if (autoResize && internalRef.current) {
717
719
  const textarea = internalRef.current;
718
720
  textarea.style.height = "auto";
719
721
  textarea.style.height = `${textarea.scrollHeight}px`;
720
722
  }
721
723
  }, [value, autoResize]);
722
- const handleChange = React49.useCallback(
724
+ const handleChange = React50.useCallback(
723
725
  (e) => {
724
726
  if (showCount || maxLength) {
725
727
  setCharCount(e.target.value.length);
@@ -728,13 +730,13 @@ var Textarea = React49.forwardRef(
728
730
  },
729
731
  [onChange, showCount, maxLength]
730
732
  );
731
- React49.useEffect(() => {
733
+ React50.useEffect(() => {
732
734
  if (showCount || maxLength) {
733
735
  setCharCount(String(value || "").length);
734
736
  }
735
737
  }, [value, showCount, maxLength]);
736
738
  const hasError = !!error;
737
- const generatedId = React49.useId();
739
+ const generatedId = React50.useId();
738
740
  const textareaId = id || generatedId;
739
741
  return /* @__PURE__ */ jsxs("div", { className: cn("w-full space-y-2", containerClassName), children: [
740
742
  label && /* @__PURE__ */ jsx(
@@ -795,10 +797,10 @@ Textarea.displayName = "Textarea";
795
797
 
796
798
  // src/components/ui/select/index.tsx
797
799
  init_utils();
798
- var Select = React49.forwardRef(
800
+ var Select = React50.forwardRef(
799
801
  ({ children, value, onValueChange, ...props }, _ref) => {
800
- const [internalValue, setInternalValue] = React49.useState(value ?? "");
801
- React49.useEffect(() => {
802
+ const [internalValue, setInternalValue] = React50.useState(value ?? "");
803
+ React50.useEffect(() => {
802
804
  setInternalValue(value ?? "");
803
805
  }, [value]);
804
806
  const handleValueChange = (newValue) => {
@@ -835,7 +837,7 @@ var triggerVariants = cva(
835
837
  }
836
838
  }
837
839
  );
838
- var SelectTrigger = React49.forwardRef(({ className, children, variant, ...props }, ref) => /* @__PURE__ */ jsxs(
840
+ var SelectTrigger = React50.forwardRef(({ className, children, variant, ...props }, ref) => /* @__PURE__ */ jsxs(
839
841
  SelectPrimitive.Trigger,
840
842
  {
841
843
  ref,
@@ -848,7 +850,7 @@ var SelectTrigger = React49.forwardRef(({ className, children, variant, ...props
848
850
  }
849
851
  ));
850
852
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
851
- var SelectScrollUpButton = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
853
+ var SelectScrollUpButton = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
852
854
  SelectPrimitive.ScrollUpButton,
853
855
  {
854
856
  ref,
@@ -861,7 +863,7 @@ var SelectScrollUpButton = React49.forwardRef(({ className, ...props }, ref) =>
861
863
  }
862
864
  ));
863
865
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
864
- var SelectScrollDownButton = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
866
+ var SelectScrollDownButton = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
865
867
  SelectPrimitive.ScrollDownButton,
866
868
  {
867
869
  ref,
@@ -874,7 +876,7 @@ var SelectScrollDownButton = React49.forwardRef(({ className, ...props }, ref) =
874
876
  }
875
877
  ));
876
878
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
877
- var SelectContent = React49.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
879
+ var SelectContent = React50.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
878
880
  SelectPrimitive.Content,
879
881
  {
880
882
  ref,
@@ -902,7 +904,7 @@ var SelectContent = React49.forwardRef(({ className, children, position = "poppe
902
904
  }
903
905
  ) }));
904
906
  SelectContent.displayName = SelectPrimitive.Content.displayName;
905
- var SelectLabel = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
907
+ var SelectLabel = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
906
908
  SelectPrimitive.Label,
907
909
  {
908
910
  ref,
@@ -914,7 +916,7 @@ var SelectLabel = React49.forwardRef(({ className, ...props }, ref) => /* @__PUR
914
916
  }
915
917
  ));
916
918
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
917
- var SelectItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
919
+ var SelectItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
918
920
  SelectPrimitive.Item,
919
921
  {
920
922
  ref,
@@ -930,7 +932,7 @@ var SelectItem = React49.forwardRef(({ className, children, ...props }, ref) =>
930
932
  }
931
933
  ));
932
934
  SelectItem.displayName = SelectPrimitive.Item.displayName;
933
- var SelectSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
935
+ var SelectSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
934
936
  SelectPrimitive.Separator,
935
937
  {
936
938
  ref,
@@ -957,8 +959,8 @@ var checkboxVariants = cva(
957
959
  }
958
960
  }
959
961
  );
960
- var Checkbox = React49.forwardRef(({ className, size, label, description, indeterminate, ...props }, ref) => {
961
- const generatedId = React49.useId();
962
+ var Checkbox = React50.forwardRef(({ className, size, label, description, indeterminate, ...props }, ref) => {
963
+ const generatedId = React50.useId();
962
964
  const checkboxId = props.id || generatedId;
963
965
  return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2.5", children: [
964
966
  /* @__PURE__ */ jsx(
@@ -1006,7 +1008,7 @@ var radioGroupVariants = cva("grid gap-2", {
1006
1008
  orientation: "vertical"
1007
1009
  }
1008
1010
  });
1009
- var RadioGroup = React49.forwardRef(
1011
+ var RadioGroup = React50.forwardRef(
1010
1012
  ({
1011
1013
  className,
1012
1014
  orientation = "vertical",
@@ -1019,8 +1021,8 @@ var RadioGroup = React49.forwardRef(
1019
1021
  children,
1020
1022
  ...props
1021
1023
  }, ref) => {
1022
- const generatedId = React49.useId();
1023
- const defaultRenderItem = React49.useCallback(
1024
+ const generatedId = React50.useId();
1025
+ const defaultRenderItem = React50.useCallback(
1024
1026
  (item) => /* @__PURE__ */ jsxs(
1025
1027
  "div",
1026
1028
  {
@@ -1078,7 +1080,7 @@ var RadioGroup = React49.forwardRef(
1078
1080
  }
1079
1081
  );
1080
1082
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
1081
- var RadioGroupItem = React49.forwardRef(({ className, ...props }, ref) => {
1083
+ var RadioGroupItem = React50.forwardRef(({ className, ...props }, ref) => {
1082
1084
  return /* @__PURE__ */ jsx(
1083
1085
  RadioGroupPrimitive.Item,
1084
1086
  {
@@ -1096,7 +1098,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
1096
1098
 
1097
1099
  // src/components/ui/switch/index.tsx
1098
1100
  init_utils();
1099
- var Switch = React49.forwardRef(({ className, offNode, onNode, ...props }, ref) => {
1101
+ var Switch = React50.forwardRef(({ className, offNode, onNode, ...props }, ref) => {
1100
1102
  return /* @__PURE__ */ jsx(
1101
1103
  SwitchPrimitives.Root,
1102
1104
  {
@@ -1150,7 +1152,7 @@ var toggleVariants = cva(
1150
1152
  }
1151
1153
  }
1152
1154
  );
1153
- var Toggle = React49.forwardRef(({ className, variant, size, icon, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1155
+ var Toggle = React50.forwardRef(({ className, variant, size, icon, children, ...props }, ref) => /* @__PURE__ */ jsxs(
1154
1156
  TogglePrimitive.Root,
1155
1157
  {
1156
1158
  ref,
@@ -1196,9 +1198,9 @@ var toggleGroupItemVariants = cva(
1196
1198
  }
1197
1199
  }
1198
1200
  );
1199
- var ToggleGroup = React49.forwardRef(
1201
+ var ToggleGroup = React50.forwardRef(
1200
1202
  ({ className, size, items, itemClassName, renderItem, children, ...props }, ref) => {
1201
- const defaultRenderItem = React49.useCallback(
1203
+ const defaultRenderItem = React50.useCallback(
1202
1204
  (item) => /* @__PURE__ */ jsxs(
1203
1205
  ToggleGroupPrimitive.Item,
1204
1206
  {
@@ -1228,7 +1230,7 @@ var ToggleGroup = React49.forwardRef(
1228
1230
  }
1229
1231
  );
1230
1232
  ToggleGroup.displayName = "ToggleGroup";
1231
- var ToggleGroupItem = React49.forwardRef(({ className, size, children, ...props }, ref) => {
1233
+ var ToggleGroupItem = React50.forwardRef(({ className, size, children, ...props }, ref) => {
1232
1234
  return /* @__PURE__ */ jsx(
1233
1235
  ToggleGroupPrimitive.Item,
1234
1236
  {
@@ -1243,7 +1245,7 @@ ToggleGroupItem.displayName = "ToggleGroupItem";
1243
1245
 
1244
1246
  // src/components/ui/slider/index.tsx
1245
1247
  init_utils();
1246
- var Slider = React49.forwardRef(
1248
+ var Slider = React50.forwardRef(
1247
1249
  ({
1248
1250
  className,
1249
1251
  showValue,
@@ -1302,7 +1304,7 @@ var inputGroupVariants = cva("flex items-stretch w-full", {
1302
1304
  size: "default"
1303
1305
  }
1304
1306
  });
1305
- var InputGroup = React49.forwardRef(
1307
+ var InputGroup = React50.forwardRef(
1306
1308
  ({
1307
1309
  className,
1308
1310
  size,
@@ -1338,9 +1340,9 @@ var InputGroup = React49.forwardRef(
1338
1340
  }
1339
1341
  ),
1340
1342
  leftElement && /* @__PURE__ */ jsx("div", { className: "inline-flex items-center", children: leftElement }),
1341
- /* @__PURE__ */ jsx("div", { className: "flex-1 min-w-0", children: React49.Children.map(children, (child) => {
1342
- if (React49.isValidElement(child)) {
1343
- return React49.cloneElement(child, {
1343
+ /* @__PURE__ */ jsx("div", { className: "flex-1 min-w-0", children: React50.Children.map(children, (child) => {
1344
+ if (React50.isValidElement(child)) {
1345
+ return React50.cloneElement(child, {
1344
1346
  className: cn(
1345
1347
  child.props.className,
1346
1348
  (leftAddon || leftElement) && "rounded-l-none border-l-0",
@@ -1371,7 +1373,7 @@ InputGroup.displayName = "InputGroup";
1371
1373
 
1372
1374
  // src/components/ui/input-otp/index.tsx
1373
1375
  init_utils();
1374
- var InputOTP = React49.forwardRef(({ containerClassName, children, ...props }, ref) => /* @__PURE__ */ jsx(
1376
+ var InputOTP = React50.forwardRef(({ containerClassName, children, ...props }, ref) => /* @__PURE__ */ jsx(
1375
1377
  OTPInput,
1376
1378
  {
1377
1379
  ref,
@@ -1384,10 +1386,10 @@ var InputOTP = React49.forwardRef(({ containerClassName, children, ...props }, r
1384
1386
  }
1385
1387
  ));
1386
1388
  InputOTP.displayName = "InputOTP";
1387
- var InputOTPGroup = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center gap-2", className), ...props }));
1389
+ var InputOTPGroup = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center gap-2", className), ...props }));
1388
1390
  InputOTPGroup.displayName = "InputOTPGroup";
1389
- var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
1390
- const inputOTPContext = React49.useContext(OTPInputContext);
1391
+ var InputOTPSlot = React50.forwardRef(({ index, className, ...props }, ref) => {
1392
+ const inputOTPContext = React50.useContext(OTPInputContext);
1391
1393
  if (!inputOTPContext) {
1392
1394
  console.error("InputOTPSlot must be used within InputOTP");
1393
1395
  return null;
@@ -1421,7 +1423,7 @@ var InputOTPSlot = React49.forwardRef(({ index, className, ...props }, ref) => {
1421
1423
  );
1422
1424
  });
1423
1425
  InputOTPSlot.displayName = "InputOTPSlot";
1424
- var InputOTPSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", className, ...props, children: /* @__PURE__ */ jsx(MinusIcon, { className: "h-4 w-4 text-muted-foreground" }) }));
1426
+ var InputOTPSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", className, ...props, children: /* @__PURE__ */ jsx(MinusIcon, { className: "h-4 w-4 text-muted-foreground" }) }));
1425
1427
  InputOTPSeparator.displayName = "InputOTPSeparator";
1426
1428
 
1427
1429
  // src/components/ui/form/form-utils.ts
@@ -2110,7 +2112,7 @@ var FormItem = (props) => {
2110
2112
  const isRequired = Array.isArray(rules) ? rules.some((rule) => rule && rule.required) : false;
2111
2113
  const isDisabled = !!contextDisabled;
2112
2114
  const requiredIndicator = requiredMark === void 0 ? /* @__PURE__ */ jsx("span", { className: "text-destructive mr-1", "aria-hidden": "true", children: "*" }) : /* @__PURE__ */ jsx("span", { className: "mr-1", "aria-hidden": "true", children: requiredMark });
2113
- if (!children || !React49__default.isValidElement(children)) return null;
2115
+ if (!children || !React50__default.isValidElement(children)) return null;
2114
2116
  const childProps = {};
2115
2117
  childProps[valuePropName] = fieldValue;
2116
2118
  const childClass = children.props.className;
@@ -2278,7 +2280,7 @@ var fieldVariants = cva("", {
2278
2280
  orientation: "vertical"
2279
2281
  }
2280
2282
  });
2281
- var Field = React49.forwardRef(
2283
+ var Field = React50.forwardRef(
2282
2284
  ({
2283
2285
  className,
2284
2286
  orientation,
@@ -2291,7 +2293,7 @@ var Field = React49.forwardRef(
2291
2293
  children,
2292
2294
  ...props
2293
2295
  }, ref) => {
2294
- const generatedId = React49.useId();
2296
+ const generatedId = React50.useId();
2295
2297
  const fieldId = htmlFor || generatedId;
2296
2298
  return /* @__PURE__ */ jsxs(
2297
2299
  "div",
@@ -2340,7 +2342,7 @@ var alertVariants = cva(
2340
2342
  }
2341
2343
  }
2342
2344
  );
2343
- var Alert = React49.forwardRef(
2345
+ var Alert = React50.forwardRef(
2344
2346
  ({
2345
2347
  className,
2346
2348
  variant,
@@ -2353,8 +2355,8 @@ var Alert = React49.forwardRef(
2353
2355
  descriptionClassName,
2354
2356
  ...props
2355
2357
  }, ref) => {
2356
- const [isVisible, setIsVisible] = React49.useState(true);
2357
- const handleDismiss = React49.useCallback(() => {
2358
+ const [isVisible, setIsVisible] = React50.useState(true);
2359
+ const handleDismiss = React50.useCallback(() => {
2358
2360
  setIsVisible(false);
2359
2361
  onClose?.();
2360
2362
  }, [onClose]);
@@ -2523,7 +2525,7 @@ var toastVariants = cva(
2523
2525
  }
2524
2526
  }
2525
2527
  );
2526
- var Toast = React49.forwardRef(
2528
+ var Toast = React50.forwardRef(
2527
2529
  ({
2528
2530
  className,
2529
2531
  variant,
@@ -2536,8 +2538,8 @@ var Toast = React49.forwardRef(
2536
2538
  descriptionClassName,
2537
2539
  ...props
2538
2540
  }, ref) => {
2539
- const [isVisible, setIsVisible] = React49.useState(true);
2540
- const handleDismiss = React49.useCallback(() => {
2541
+ const [isVisible, setIsVisible] = React50.useState(true);
2542
+ const handleDismiss = React50.useCallback(() => {
2541
2543
  setIsVisible(false);
2542
2544
  onClose?.();
2543
2545
  }, [onClose]);
@@ -2633,7 +2635,7 @@ var progressVariants = cva(
2633
2635
  }
2634
2636
  }
2635
2637
  );
2636
- var Progress = React49.forwardRef(
2638
+ var Progress = React50.forwardRef(
2637
2639
  ({
2638
2640
  className,
2639
2641
  value = 0,
@@ -2699,7 +2701,7 @@ var spinnerVariants = cva("animate-spin", {
2699
2701
  variant: "default"
2700
2702
  }
2701
2703
  });
2702
- var Spinner = React49.forwardRef(
2704
+ var Spinner = React50.forwardRef(
2703
2705
  ({ className, size, variant, label, centered, overlay, icon, ...props }, ref) => {
2704
2706
  const spinnerContent = /* @__PURE__ */ jsxs(
2705
2707
  "div",
@@ -2730,7 +2732,7 @@ var Spinner = React49.forwardRef(
2730
2732
  }
2731
2733
  );
2732
2734
  Spinner.displayName = "Spinner";
2733
- var DotsSpinner = React49.forwardRef(
2735
+ var DotsSpinner = React50.forwardRef(
2734
2736
  ({ className, size = "default", dotCount = 3, ...props }, ref) => {
2735
2737
  const dotSizeMap = {
2736
2738
  xs: "h-1 w-1",
@@ -2783,7 +2785,7 @@ var skeletonVariants = cva(
2783
2785
  }
2784
2786
  }
2785
2787
  );
2786
- var Skeleton = React49.forwardRef(
2788
+ var Skeleton = React50.forwardRef(
2787
2789
  ({
2788
2790
  className,
2789
2791
  variant,
@@ -2832,7 +2834,7 @@ var Skeleton = React49.forwardRef(
2832
2834
  }
2833
2835
  );
2834
2836
  Skeleton.displayName = "Skeleton";
2835
- var SkeletonCard = React49.forwardRef(
2837
+ var SkeletonCard = React50.forwardRef(
2836
2838
  ({ className, avatar = false, lines = 3, ...props }, ref) => {
2837
2839
  return /* @__PURE__ */ jsxs("div", { ref, className: cn("space-y-4", className), ...props, children: [
2838
2840
  avatar && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
@@ -2872,7 +2874,7 @@ var emptyVariants = cva(
2872
2874
  }
2873
2875
  }
2874
2876
  );
2875
- var Empty = React49.forwardRef(
2877
+ var Empty = React50.forwardRef(
2876
2878
  ({
2877
2879
  className,
2878
2880
  size,
@@ -2913,7 +2915,7 @@ var Dialog = DialogPrimitive.Root;
2913
2915
  var DialogTrigger = DialogPrimitive.Trigger;
2914
2916
  var DialogPortal = DialogPrimitive.Portal;
2915
2917
  var DialogClose = DialogPrimitive.Close;
2916
- var DialogOverlay = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2918
+ var DialogOverlay = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2917
2919
  DialogPrimitive.Overlay,
2918
2920
  {
2919
2921
  ref,
@@ -2925,7 +2927,7 @@ var DialogOverlay = React49.forwardRef(({ className, ...props }, ref) => /* @__P
2925
2927
  }
2926
2928
  ));
2927
2929
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
2928
- var DialogContent = React49.forwardRef(
2930
+ var DialogContent = React50.forwardRef(
2929
2931
  ({
2930
2932
  className,
2931
2933
  children,
@@ -2990,7 +2992,7 @@ var DialogFooter = ({
2990
2992
  }
2991
2993
  );
2992
2994
  DialogFooter.displayName = "DialogFooter";
2993
- var DialogTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2995
+ var DialogTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
2994
2996
  DialogPrimitive.Title,
2995
2997
  {
2996
2998
  ref,
@@ -3002,7 +3004,7 @@ var DialogTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PUR
3002
3004
  }
3003
3005
  ));
3004
3006
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
3005
- var DialogDescription = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3007
+ var DialogDescription = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3006
3008
  DialogPrimitive.Description,
3007
3009
  {
3008
3010
  ref,
@@ -3017,7 +3019,7 @@ init_utils();
3017
3019
  var AlertDialog = AlertDialogPrimitive.Root;
3018
3020
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
3019
3021
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
3020
- var AlertDialogOverlay = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3022
+ var AlertDialogOverlay = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3021
3023
  AlertDialogPrimitive.Overlay,
3022
3024
  {
3023
3025
  className: cn(
@@ -3029,7 +3031,7 @@ var AlertDialogOverlay = React49.forwardRef(({ className, ...props }, ref) => /*
3029
3031
  }
3030
3032
  ));
3031
3033
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
3032
- var AlertDialogContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
3034
+ var AlertDialogContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
3033
3035
  /* @__PURE__ */ jsx(AlertDialogOverlay, {}),
3034
3036
  /* @__PURE__ */ jsx(
3035
3037
  AlertDialogPrimitive.Content,
@@ -3072,7 +3074,7 @@ var AlertDialogFooter = ({
3072
3074
  }
3073
3075
  );
3074
3076
  AlertDialogFooter.displayName = "AlertDialogFooter";
3075
- var AlertDialogTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3077
+ var AlertDialogTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3076
3078
  AlertDialogPrimitive.Title,
3077
3079
  {
3078
3080
  ref,
@@ -3081,7 +3083,7 @@ var AlertDialogTitle = React49.forwardRef(({ className, ...props }, ref) => /* @
3081
3083
  }
3082
3084
  ));
3083
3085
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
3084
- var AlertDialogDescription = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3086
+ var AlertDialogDescription = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3085
3087
  AlertDialogPrimitive.Description,
3086
3088
  {
3087
3089
  ref,
@@ -3090,7 +3092,7 @@ var AlertDialogDescription = React49.forwardRef(({ className, ...props }, ref) =
3090
3092
  }
3091
3093
  ));
3092
3094
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
3093
- var AlertDialogAction = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3095
+ var AlertDialogAction = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3094
3096
  AlertDialogPrimitive.Action,
3095
3097
  {
3096
3098
  ref,
@@ -3099,7 +3101,7 @@ var AlertDialogAction = React49.forwardRef(({ className, ...props }, ref) => /*
3099
3101
  }
3100
3102
  ));
3101
3103
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
3102
- var AlertDialogCancel = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3104
+ var AlertDialogCancel = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3103
3105
  AlertDialogPrimitive.Cancel,
3104
3106
  {
3105
3107
  ref,
@@ -3119,7 +3121,7 @@ var Sheet = DialogPrimitive.Root;
3119
3121
  var SheetTrigger = DialogPrimitive.Trigger;
3120
3122
  var SheetClose = DialogPrimitive.Close;
3121
3123
  var SheetPortal = DialogPrimitive.Portal;
3122
- var SheetOverlay = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3124
+ var SheetOverlay = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3123
3125
  DialogPrimitive.Overlay,
3124
3126
  {
3125
3127
  className: cn(
@@ -3147,7 +3149,7 @@ var sheetVariants = cva(
3147
3149
  }
3148
3150
  }
3149
3151
  );
3150
- var SheetContent = React49.forwardRef(({ side = "right", className, children, hideClose, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
3152
+ var SheetContent = React50.forwardRef(({ side = "right", className, children, hideClose, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
3151
3153
  /* @__PURE__ */ jsx(SheetOverlay, {}),
3152
3154
  /* @__PURE__ */ jsxs(
3153
3155
  DialogPrimitive.Content,
@@ -3194,7 +3196,7 @@ var SheetFooter = ({
3194
3196
  }
3195
3197
  );
3196
3198
  SheetFooter.displayName = "SheetFooter";
3197
- var SheetTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3199
+ var SheetTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3198
3200
  DialogPrimitive.Title,
3199
3201
  {
3200
3202
  ref,
@@ -3203,7 +3205,7 @@ var SheetTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE
3203
3205
  }
3204
3206
  ));
3205
3207
  SheetTitle.displayName = DialogPrimitive.Title.displayName;
3206
- var SheetDescription = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3208
+ var SheetDescription = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3207
3209
  DialogPrimitive.Description,
3208
3210
  {
3209
3211
  ref,
@@ -3215,7 +3217,7 @@ SheetDescription.displayName = DialogPrimitive.Description.displayName;
3215
3217
 
3216
3218
  // src/components/ui/drawer/index.tsx
3217
3219
  init_utils();
3218
- var DrawerContext = React49.createContext({
3220
+ var DrawerContext = React50.createContext({
3219
3221
  direction: "bottom"
3220
3222
  });
3221
3223
  var Drawer = ({
@@ -3234,7 +3236,7 @@ Drawer.displayName = "Drawer";
3234
3236
  var DrawerTrigger = Drawer$1.Trigger;
3235
3237
  var DrawerPortal = Drawer$1.Portal;
3236
3238
  var DrawerClose = Drawer$1.Close;
3237
- var DrawerOverlay = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3239
+ var DrawerOverlay = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3238
3240
  Drawer$1.Overlay,
3239
3241
  {
3240
3242
  ref,
@@ -3243,7 +3245,7 @@ var DrawerOverlay = React49.forwardRef(({ className, ...props }, ref) => /* @__P
3243
3245
  }
3244
3246
  ));
3245
3247
  DrawerOverlay.displayName = Drawer$1.Overlay.displayName;
3246
- var DrawerContent = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DrawerPortal, { children: [
3248
+ var DrawerContent = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DrawerPortal, { children: [
3247
3249
  /* @__PURE__ */ jsx(DrawerOverlay, {}),
3248
3250
  /* @__PURE__ */ jsxs(
3249
3251
  Drawer$1.Content,
@@ -3278,7 +3280,7 @@ var DrawerFooter = ({
3278
3280
  }
3279
3281
  );
3280
3282
  DrawerFooter.displayName = "DrawerFooter";
3281
- var DrawerTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3283
+ var DrawerTitle = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3282
3284
  Drawer$1.Title,
3283
3285
  {
3284
3286
  ref,
@@ -3290,7 +3292,7 @@ var DrawerTitle = React49.forwardRef(({ className, ...props }, ref) => /* @__PUR
3290
3292
  }
3291
3293
  ));
3292
3294
  DrawerTitle.displayName = Drawer$1.Title.displayName;
3293
- var DrawerDescription = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3295
+ var DrawerDescription = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3294
3296
  Drawer$1.Description,
3295
3297
  {
3296
3298
  ref,
@@ -3305,7 +3307,7 @@ init_utils();
3305
3307
  var Popover = PopoverPrimitive.Root;
3306
3308
  var PopoverTrigger = PopoverPrimitive.Trigger;
3307
3309
  var PopoverAnchor = PopoverPrimitive.Anchor;
3308
- var PopoverContent = React49.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3310
+ var PopoverContent = React50.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3309
3311
  PopoverPrimitive.Content,
3310
3312
  {
3311
3313
  ref,
@@ -3325,13 +3327,13 @@ init_utils();
3325
3327
  var TooltipProvider = TooltipPrimitive.Provider;
3326
3328
  var Tooltip = TooltipPrimitive.Root;
3327
3329
  var TooltipTrigger = TooltipPrimitive.Trigger;
3328
- var TooltipContent = React49.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
3330
+ var TooltipContent = React50.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
3329
3331
  TooltipPrimitive.Content,
3330
3332
  {
3331
3333
  ref,
3332
3334
  sideOffset,
3333
3335
  className: cn(
3334
- "z-50 overflow-hidden rounded-md bg-mvn-gray-900 px-3 py-1.5 text-xs text-primary-50 dark:bg-primary-50 dark:text-mvn-gray-900 animate-in fade-in-0 zoom-in-95",
3336
+ "z-50 overflow-hidden rounded-md bg-mvn-gray-900 px-3 py-1.5 text-xs text-primary-50 animate-in fade-in-0 zoom-in-95",
3335
3337
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
3336
3338
  "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
3337
3339
  className
@@ -3340,7 +3342,7 @@ var TooltipContent = React49.forwardRef(({ className, sideOffset = 4, ...props }
3340
3342
  }
3341
3343
  ));
3342
3344
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
3343
- var SimpleTooltip = React49.forwardRef(
3345
+ var SimpleTooltip = React50.forwardRef(
3344
3346
  ({
3345
3347
  children,
3346
3348
  content,
@@ -3371,7 +3373,7 @@ init_utils();
3371
3373
  var HoverCard = HoverCardPrimitive.Root;
3372
3374
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
3373
3375
  var HoverCardArrow = HoverCardPrimitive.Arrow;
3374
- var HoverCardContent = React49.forwardRef(
3376
+ var HoverCardContent = React50.forwardRef(
3375
3377
  ({
3376
3378
  className,
3377
3379
  align = "center",
@@ -3415,7 +3417,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
3415
3417
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
3416
3418
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
3417
3419
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
3418
- var DropdownMenuSubTrigger = React49.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3420
+ var DropdownMenuSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3419
3421
  DropdownMenuPrimitive.SubTrigger,
3420
3422
  {
3421
3423
  ref,
@@ -3432,7 +3434,7 @@ var DropdownMenuSubTrigger = React49.forwardRef(({ className, inset, children, .
3432
3434
  }
3433
3435
  ));
3434
3436
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
3435
- var DropdownMenuSubContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3437
+ var DropdownMenuSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3436
3438
  DropdownMenuPrimitive.SubContent,
3437
3439
  {
3438
3440
  ref,
@@ -3444,7 +3446,7 @@ var DropdownMenuSubContent = React49.forwardRef(({ className, ...props }, ref) =
3444
3446
  }
3445
3447
  ));
3446
3448
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
3447
- var DropdownMenuContent = React49.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3449
+ var DropdownMenuContent = React50.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3448
3450
  DropdownMenuPrimitive.Content,
3449
3451
  {
3450
3452
  ref,
@@ -3457,7 +3459,7 @@ var DropdownMenuContent = React49.forwardRef(({ className, sideOffset = 4, ...pr
3457
3459
  }
3458
3460
  ) }));
3459
3461
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
3460
- var DropdownMenuItem = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3462
+ var DropdownMenuItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3461
3463
  DropdownMenuPrimitive.Item,
3462
3464
  {
3463
3465
  ref,
@@ -3470,7 +3472,7 @@ var DropdownMenuItem = React49.forwardRef(({ className, inset, ...props }, ref)
3470
3472
  }
3471
3473
  ));
3472
3474
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
3473
- var DropdownMenuCheckboxItem = React49.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3475
+ var DropdownMenuCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3474
3476
  DropdownMenuPrimitive.CheckboxItem,
3475
3477
  {
3476
3478
  ref,
@@ -3487,7 +3489,7 @@ var DropdownMenuCheckboxItem = React49.forwardRef(({ className, children, checke
3487
3489
  }
3488
3490
  ));
3489
3491
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
3490
- var DropdownMenuRadioItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3492
+ var DropdownMenuRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3491
3493
  DropdownMenuPrimitive.RadioItem,
3492
3494
  {
3493
3495
  ref,
@@ -3503,7 +3505,7 @@ var DropdownMenuRadioItem = React49.forwardRef(({ className, children, ...props
3503
3505
  }
3504
3506
  ));
3505
3507
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
3506
- var DropdownMenuLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3508
+ var DropdownMenuLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3507
3509
  DropdownMenuPrimitive.Label,
3508
3510
  {
3509
3511
  ref,
@@ -3516,7 +3518,7 @@ var DropdownMenuLabel = React49.forwardRef(({ className, inset, ...props }, ref)
3516
3518
  }
3517
3519
  ));
3518
3520
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
3519
- var DropdownMenuSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3521
+ var DropdownMenuSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3520
3522
  DropdownMenuPrimitive.Separator,
3521
3523
  {
3522
3524
  ref,
@@ -3547,7 +3549,7 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
3547
3549
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
3548
3550
  var ContextMenuSub = ContextMenuPrimitive.Sub;
3549
3551
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
3550
- var ContextMenuSubTrigger = React49.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3552
+ var ContextMenuSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3551
3553
  ContextMenuPrimitive.SubTrigger,
3552
3554
  {
3553
3555
  ref,
@@ -3564,7 +3566,7 @@ var ContextMenuSubTrigger = React49.forwardRef(({ className, inset, children, ..
3564
3566
  }
3565
3567
  ));
3566
3568
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
3567
- var ContextMenuSubContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3569
+ var ContextMenuSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3568
3570
  ContextMenuPrimitive.SubContent,
3569
3571
  {
3570
3572
  ref,
@@ -3576,7 +3578,7 @@ var ContextMenuSubContent = React49.forwardRef(({ className, ...props }, ref) =>
3576
3578
  }
3577
3579
  ));
3578
3580
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
3579
- var ContextMenuContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3581
+ var ContextMenuContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3580
3582
  ContextMenuPrimitive.Content,
3581
3583
  {
3582
3584
  ref,
@@ -3588,7 +3590,7 @@ var ContextMenuContent = React49.forwardRef(({ className, ...props }, ref) => /*
3588
3590
  }
3589
3591
  ) }));
3590
3592
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
3591
- var ContextMenuItem = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3593
+ var ContextMenuItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3592
3594
  ContextMenuPrimitive.Item,
3593
3595
  {
3594
3596
  ref,
@@ -3601,7 +3603,7 @@ var ContextMenuItem = React49.forwardRef(({ className, inset, ...props }, ref) =
3601
3603
  }
3602
3604
  ));
3603
3605
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
3604
- var ContextMenuCheckboxItem = React49.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3606
+ var ContextMenuCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3605
3607
  ContextMenuPrimitive.CheckboxItem,
3606
3608
  {
3607
3609
  ref,
@@ -3618,7 +3620,7 @@ var ContextMenuCheckboxItem = React49.forwardRef(({ className, children, checked
3618
3620
  }
3619
3621
  ));
3620
3622
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
3621
- var ContextMenuRadioItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3623
+ var ContextMenuRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3622
3624
  ContextMenuPrimitive.RadioItem,
3623
3625
  {
3624
3626
  ref,
@@ -3634,7 +3636,7 @@ var ContextMenuRadioItem = React49.forwardRef(({ className, children, ...props }
3634
3636
  }
3635
3637
  ));
3636
3638
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
3637
- var ContextMenuLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3639
+ var ContextMenuLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3638
3640
  ContextMenuPrimitive.Label,
3639
3641
  {
3640
3642
  ref,
@@ -3647,7 +3649,7 @@ var ContextMenuLabel = React49.forwardRef(({ className, inset, ...props }, ref)
3647
3649
  }
3648
3650
  ));
3649
3651
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
3650
- var ContextMenuSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3652
+ var ContextMenuSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3651
3653
  ContextMenuPrimitive.Separator,
3652
3654
  {
3653
3655
  ref,
@@ -3680,7 +3682,7 @@ var MenubarGroup = MenubarPrimitive.Group;
3680
3682
  var MenubarPortal = MenubarPrimitive.Portal;
3681
3683
  var MenubarSub = MenubarPrimitive.Sub;
3682
3684
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
3683
- var Menubar = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3685
+ var Menubar = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3684
3686
  MenubarPrimitive.Root,
3685
3687
  {
3686
3688
  ref,
@@ -3692,7 +3694,7 @@ var Menubar = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3692
3694
  }
3693
3695
  ));
3694
3696
  Menubar.displayName = MenubarPrimitive.Root.displayName;
3695
- var MenubarTrigger = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3697
+ var MenubarTrigger = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3696
3698
  MenubarPrimitive.Trigger,
3697
3699
  {
3698
3700
  ref,
@@ -3704,7 +3706,7 @@ var MenubarTrigger = React49.forwardRef(({ className, ...props }, ref) => /* @__
3704
3706
  }
3705
3707
  ));
3706
3708
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
3707
- var MenubarSubTrigger = React49.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3709
+ var MenubarSubTrigger = React50.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3708
3710
  MenubarPrimitive.SubTrigger,
3709
3711
  {
3710
3712
  ref,
@@ -3721,7 +3723,7 @@ var MenubarSubTrigger = React49.forwardRef(({ className, inset, children, ...pro
3721
3723
  }
3722
3724
  ));
3723
3725
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
3724
- var MenubarSubContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3726
+ var MenubarSubContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3725
3727
  MenubarPrimitive.SubContent,
3726
3728
  {
3727
3729
  ref,
@@ -3733,7 +3735,7 @@ var MenubarSubContent = React49.forwardRef(({ className, ...props }, ref) => /*
3733
3735
  }
3734
3736
  ));
3735
3737
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
3736
- var MenubarContent = React49.forwardRef(
3738
+ var MenubarContent = React50.forwardRef(
3737
3739
  ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
3738
3740
  MenubarPrimitive.Content,
3739
3741
  {
@@ -3750,7 +3752,7 @@ var MenubarContent = React49.forwardRef(
3750
3752
  ) })
3751
3753
  );
3752
3754
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
3753
- var MenubarItem = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3755
+ var MenubarItem = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3754
3756
  MenubarPrimitive.Item,
3755
3757
  {
3756
3758
  ref,
@@ -3763,7 +3765,7 @@ var MenubarItem = React49.forwardRef(({ className, inset, ...props }, ref) => /*
3763
3765
  }
3764
3766
  ));
3765
3767
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
3766
- var MenubarCheckboxItem = React49.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3768
+ var MenubarCheckboxItem = React50.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
3767
3769
  MenubarPrimitive.CheckboxItem,
3768
3770
  {
3769
3771
  ref,
@@ -3780,7 +3782,7 @@ var MenubarCheckboxItem = React49.forwardRef(({ className, children, checked, ..
3780
3782
  }
3781
3783
  ));
3782
3784
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
3783
- var MenubarRadioItem = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3785
+ var MenubarRadioItem = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3784
3786
  MenubarPrimitive.RadioItem,
3785
3787
  {
3786
3788
  ref,
@@ -3796,7 +3798,7 @@ var MenubarRadioItem = React49.forwardRef(({ className, children, ...props }, re
3796
3798
  }
3797
3799
  ));
3798
3800
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
3799
- var MenubarLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3801
+ var MenubarLabel = React50.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
3800
3802
  MenubarPrimitive.Label,
3801
3803
  {
3802
3804
  ref,
@@ -3809,7 +3811,7 @@ var MenubarLabel = React49.forwardRef(({ className, inset, ...props }, ref) => /
3809
3811
  }
3810
3812
  ));
3811
3813
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
3812
- var MenubarSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3814
+ var MenubarSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3813
3815
  MenubarPrimitive.Separator,
3814
3816
  {
3815
3817
  ref,
@@ -3837,7 +3839,7 @@ MenubarShortcut.displayName = "MenubarShortcut";
3837
3839
 
3838
3840
  // src/components/ui/navigation-menu/index.tsx
3839
3841
  init_utils();
3840
- var NavigationMenu = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3842
+ var NavigationMenu = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3841
3843
  NavigationMenuPrimitive.Root,
3842
3844
  {
3843
3845
  ref,
@@ -3853,7 +3855,7 @@ var NavigationMenu = React49.forwardRef(({ className, children, ...props }, ref)
3853
3855
  }
3854
3856
  ));
3855
3857
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
3856
- var NavigationMenuList = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3858
+ var NavigationMenuList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3857
3859
  NavigationMenuPrimitive.List,
3858
3860
  {
3859
3861
  ref,
@@ -3869,7 +3871,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
3869
3871
  var navigationMenuTriggerStyle = cva(
3870
3872
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-[0.9375rem] font-medium transition-colors hover:bg-mvn-gray-100 focus:bg-mvn-gray-100 focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-mvn-gray-100 data-[state=open]:bg-mvn-gray-100"
3871
3873
  );
3872
- var NavigationMenuTrigger = React49.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3874
+ var NavigationMenuTrigger = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
3873
3875
  NavigationMenuPrimitive.Trigger,
3874
3876
  {
3875
3877
  ref,
@@ -3889,7 +3891,7 @@ var NavigationMenuTrigger = React49.forwardRef(({ className, children, ...props
3889
3891
  }
3890
3892
  ));
3891
3893
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
3892
- var NavigationMenuContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3894
+ var NavigationMenuContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3893
3895
  NavigationMenuPrimitive.Content,
3894
3896
  {
3895
3897
  ref,
@@ -3902,7 +3904,7 @@ var NavigationMenuContent = React49.forwardRef(({ className, ...props }, ref) =>
3902
3904
  ));
3903
3905
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
3904
3906
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
3905
- var NavigationMenuViewport = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
3907
+ var NavigationMenuViewport = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
3906
3908
  NavigationMenuPrimitive.Viewport,
3907
3909
  {
3908
3910
  className: cn(
@@ -3914,7 +3916,7 @@ var NavigationMenuViewport = React49.forwardRef(({ className, ...props }, ref) =
3914
3916
  }
3915
3917
  ) }));
3916
3918
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
3917
- var NavigationMenuIndicator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3919
+ var NavigationMenuIndicator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3918
3920
  NavigationMenuPrimitive.Indicator,
3919
3921
  {
3920
3922
  ref,
@@ -3930,7 +3932,7 @@ NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayN
3930
3932
 
3931
3933
  // src/components/ui/command/index.tsx
3932
3934
  init_utils();
3933
- var Command = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3935
+ var Command = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3934
3936
  Command$1,
3935
3937
  {
3936
3938
  ref,
@@ -3945,7 +3947,7 @@ Command.displayName = Command$1.displayName;
3945
3947
  var CommandDialog = ({ children, ...props }) => {
3946
3948
  return /* @__PURE__ */ jsx(Dialog, { ...props, children: /* @__PURE__ */ jsx(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) });
3947
3949
  };
3948
- var CommandInput = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b border-mvn-gray-200 px-3", "cmdk-input-wrapper": "", children: [
3950
+ var CommandInput = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs("div", { className: "flex items-center border-b border-mvn-gray-200 px-3", "cmdk-input-wrapper": "", children: [
3949
3951
  /* @__PURE__ */ jsx(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
3950
3952
  /* @__PURE__ */ jsx(
3951
3953
  Command$1.Input,
@@ -3960,7 +3962,7 @@ var CommandInput = React49.forwardRef(({ className, ...props }, ref) => /* @__PU
3960
3962
  )
3961
3963
  ] }));
3962
3964
  CommandInput.displayName = Command$1.Input.displayName;
3963
- var CommandList = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3965
+ var CommandList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3964
3966
  Command$1.List,
3965
3967
  {
3966
3968
  ref,
@@ -3969,7 +3971,7 @@ var CommandList = React49.forwardRef(({ className, ...props }, ref) => /* @__PUR
3969
3971
  }
3970
3972
  ));
3971
3973
  CommandList.displayName = Command$1.List.displayName;
3972
- var CommandEmpty = React49.forwardRef((props, ref) => /* @__PURE__ */ jsx(
3974
+ var CommandEmpty = React50.forwardRef((props, ref) => /* @__PURE__ */ jsx(
3973
3975
  Command$1.Empty,
3974
3976
  {
3975
3977
  ref,
@@ -3978,7 +3980,7 @@ var CommandEmpty = React49.forwardRef((props, ref) => /* @__PURE__ */ jsx(
3978
3980
  }
3979
3981
  ));
3980
3982
  CommandEmpty.displayName = Command$1.Empty.displayName;
3981
- var CommandGroup = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3983
+ var CommandGroup = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3982
3984
  Command$1.Group,
3983
3985
  {
3984
3986
  ref,
@@ -3990,7 +3992,7 @@ var CommandGroup = React49.forwardRef(({ className, ...props }, ref) => /* @__PU
3990
3992
  }
3991
3993
  ));
3992
3994
  CommandGroup.displayName = Command$1.Group.displayName;
3993
- var CommandSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3995
+ var CommandSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
3994
3996
  Command$1.Separator,
3995
3997
  {
3996
3998
  ref,
@@ -3999,7 +4001,7 @@ var CommandSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @
3999
4001
  }
4000
4002
  ));
4001
4003
  CommandSeparator.displayName = Command$1.Separator.displayName;
4002
- var CommandItem = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4004
+ var CommandItem = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4003
4005
  Command$1.Item,
4004
4006
  {
4005
4007
  ref,
@@ -4030,7 +4032,7 @@ CommandShortcut.displayName = "CommandShortcut";
4030
4032
 
4031
4033
  // src/components/ui/combobox/index.tsx
4032
4034
  init_utils();
4033
- var Combobox = React49.forwardRef(
4035
+ var Combobox = React50.forwardRef(
4034
4036
  ({
4035
4037
  options,
4036
4038
  value,
@@ -4042,7 +4044,7 @@ var Combobox = React49.forwardRef(
4042
4044
  disabled,
4043
4045
  clearable
4044
4046
  }, ref) => {
4045
- const [open, setOpen] = React49.useState(false);
4047
+ const [open, setOpen] = React50.useState(false);
4046
4048
  const selectedOption = options.find((option) => option.value === value);
4047
4049
  const handleClear = (e) => {
4048
4050
  e.stopPropagation();
@@ -4114,9 +4116,9 @@ Combobox.displayName = "Combobox";
4114
4116
 
4115
4117
  // src/components/ui/breadcrumb/index.tsx
4116
4118
  init_utils();
4117
- var Breadcrumb = React49.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
4119
+ var Breadcrumb = React50.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("nav", { ref, "aria-label": "breadcrumb", ...props }));
4118
4120
  Breadcrumb.displayName = "Breadcrumb";
4119
- var BreadcrumbList = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4121
+ var BreadcrumbList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4120
4122
  "ol",
4121
4123
  {
4122
4124
  ref,
@@ -4128,7 +4130,7 @@ var BreadcrumbList = React49.forwardRef(({ className, ...props }, ref) => /* @__
4128
4130
  }
4129
4131
  ));
4130
4132
  BreadcrumbList.displayName = "BreadcrumbList";
4131
- var BreadcrumbItem = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4133
+ var BreadcrumbItem = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4132
4134
  "li",
4133
4135
  {
4134
4136
  ref,
@@ -4137,7 +4139,7 @@ var BreadcrumbItem = React49.forwardRef(({ className, ...props }, ref) => /* @__
4137
4139
  }
4138
4140
  ));
4139
4141
  BreadcrumbItem.displayName = "BreadcrumbItem";
4140
- var BreadcrumbLink = React49.forwardRef(({ asChild, className, ...props }, ref) => {
4142
+ var BreadcrumbLink = React50.forwardRef(({ asChild, className, ...props }, ref) => {
4141
4143
  const Comp = "a";
4142
4144
  return /* @__PURE__ */ jsx(
4143
4145
  Comp,
@@ -4152,7 +4154,7 @@ var BreadcrumbLink = React49.forwardRef(({ asChild, className, ...props }, ref)
4152
4154
  );
4153
4155
  });
4154
4156
  BreadcrumbLink.displayName = "BreadcrumbLink";
4155
- var BreadcrumbPage = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4157
+ var BreadcrumbPage = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4156
4158
  "span",
4157
4159
  {
4158
4160
  ref,
@@ -4219,7 +4221,7 @@ var Pagination = ({
4219
4221
  }
4220
4222
  );
4221
4223
  Pagination.displayName = "Pagination";
4222
- var PaginationContent = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4224
+ var PaginationContent = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4223
4225
  "ul",
4224
4226
  {
4225
4227
  ref,
@@ -4228,7 +4230,7 @@ var PaginationContent = React49.forwardRef(({ className, ...props }, ref) => /*
4228
4230
  }
4229
4231
  ));
4230
4232
  PaginationContent.displayName = "PaginationContent";
4231
- var PaginationItem = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
4233
+ var PaginationItem = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("li", { ref, className: cn("", className), ...props }));
4232
4234
  PaginationItem.displayName = "PaginationItem";
4233
4235
  var PaginationLink = ({
4234
4236
  className,
@@ -4335,12 +4337,12 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
4335
4337
 
4336
4338
  // src/components/ui/tabs/index.tsx
4337
4339
  init_utils();
4338
- var TabsContext = React49.createContext({
4340
+ var TabsContext = React50.createContext({
4339
4341
  destroyInactiveTabs: true
4340
4342
  });
4341
- var Tabs = React49.forwardRef(({ destroyInactiveTabs = true, ...props }, ref) => /* @__PURE__ */ jsx(TabsContext.Provider, { value: { destroyInactiveTabs }, children: /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, ...props }) }));
4343
+ var Tabs = React50.forwardRef(({ destroyInactiveTabs = true, ...props }, ref) => /* @__PURE__ */ jsx(TabsContext.Provider, { value: { destroyInactiveTabs }, children: /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, ...props }) }));
4342
4344
  Tabs.displayName = TabsPrimitive.Root.displayName;
4343
- var TabsList = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4345
+ var TabsList = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4344
4346
  TabsPrimitive.List,
4345
4347
  {
4346
4348
  ref,
@@ -4355,26 +4357,30 @@ var TabsList = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__
4355
4357
  }
4356
4358
  ));
4357
4359
  TabsList.displayName = TabsPrimitive.List.displayName;
4358
- var TabsTrigger = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4360
+ var TabsTrigger = React50.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
4359
4361
  TabsPrimitive.Trigger,
4360
4362
  {
4361
4363
  ref,
4362
4364
  className: cn(
4363
- "inline-flex min-w-0 items-center justify-center whitespace-nowrap text-sm font-medium",
4365
+ "group inline-flex min-w-0 items-center justify-center whitespace-nowrap text-sm",
4364
4366
  "transition-all duration-150 text-muted-foreground hover:text-primary",
4365
4367
  "ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
4366
4368
  "data-[orientation=horizontal]:px-4 data-[orientation=horizontal]:py-3 data-[orientation=horizontal]:border-b-2 data-[orientation=horizontal]:border-transparent",
4367
4369
  "data-[orientation=vertical]:w-full data-[orientation=vertical]:justify-start data-[orientation=vertical]:px-3 data-[orientation=vertical]:py-2 data-[orientation=vertical]:border-l-2 data-[orientation=vertical]:border-border",
4368
- "data-[state=active]:text-primary data-[state=active]:font-semibold data-[state=active]:border-primary",
4370
+ "data-[state=active]:text-primary data-[state=active]:border-primary",
4369
4371
  "disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
4370
4372
  className
4371
4373
  ),
4372
- ...props
4374
+ ...props,
4375
+ children: /* @__PURE__ */ jsxs("span", { className: "relative inline-flex", children: [
4376
+ /* @__PURE__ */ jsx("span", { className: "invisible font-semibold", "aria-hidden": "true", children }),
4377
+ /* @__PURE__ */ jsx("span", { className: "absolute inset-0 flex items-center justify-center font-medium group-data-[state=active]:font-semibold", children })
4378
+ ] })
4373
4379
  }
4374
4380
  ));
4375
4381
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
4376
- var TabsContent = React49.forwardRef(({ className, ...props }, ref) => {
4377
- const { destroyInactiveTabs } = React49.useContext(TabsContext);
4382
+ var TabsContent = React50.forwardRef(({ className, ...props }, ref) => {
4383
+ const { destroyInactiveTabs } = React50.useContext(TabsContext);
4378
4384
  return /* @__PURE__ */ jsx(
4379
4385
  TabsPrimitive.Content,
4380
4386
  {
@@ -4463,7 +4469,7 @@ var separatorVariants = cva("shrink-0 bg-line-normal", {
4463
4469
  variant: "default"
4464
4470
  }
4465
4471
  });
4466
- var Separator5 = React49.forwardRef(
4472
+ var Separator5 = React50.forwardRef(
4467
4473
  ({
4468
4474
  className,
4469
4475
  orientation = "horizontal",
@@ -4520,7 +4526,7 @@ var AspectRatio = AspectRatioPrimitive.Root;
4520
4526
 
4521
4527
  // src/components/ui/accordion/index.tsx
4522
4528
  init_utils();
4523
- var Accordion = React49.forwardRef(
4529
+ var Accordion = React50.forwardRef(
4524
4530
  ({
4525
4531
  items,
4526
4532
  className,
@@ -4530,7 +4536,7 @@ var Accordion = React49.forwardRef(
4530
4536
  renderItem,
4531
4537
  ...props
4532
4538
  }, ref) => {
4533
- const defaultRenderItem = React49.useCallback(
4539
+ const defaultRenderItem = React50.useCallback(
4534
4540
  (item) => /* @__PURE__ */ jsxs(
4535
4541
  AccordionPrimitive.Item,
4536
4542
  {
@@ -4578,7 +4584,7 @@ Accordion.displayName = "Accordion";
4578
4584
  // src/components/ui/collapsible/index.tsx
4579
4585
  init_utils();
4580
4586
  var Collapsible = CollapsiblePrimitive.Root;
4581
- var CollapsibleItem = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4587
+ var CollapsibleItem = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
4582
4588
  "div",
4583
4589
  {
4584
4590
  ref,
@@ -4590,7 +4596,7 @@ var CollapsibleItem = React49.forwardRef(({ className, ...props }, ref) => /* @_
4590
4596
  }
4591
4597
  ));
4592
4598
  CollapsibleItem.displayName = "CollapsibleItem";
4593
- var CollapsibleTrigger = React49.forwardRef(({ className, children, indicator, ...props }, ref) => /* @__PURE__ */ jsxs(
4599
+ var CollapsibleTrigger = React50.forwardRef(({ className, children, indicator, ...props }, ref) => /* @__PURE__ */ jsxs(
4594
4600
  CollapsiblePrimitive.Trigger,
4595
4601
  {
4596
4602
  ref,
@@ -4616,7 +4622,7 @@ var CollapsibleTrigger = React49.forwardRef(({ className, children, indicator, .
4616
4622
  }
4617
4623
  ));
4618
4624
  CollapsibleTrigger.displayName = CollapsiblePrimitive.Trigger.displayName;
4619
- var CollapsibleContent = React49.forwardRef(({ className, contentClassName, children, ...props }, ref) => /* @__PURE__ */ jsx(
4625
+ var CollapsibleContent = React50.forwardRef(({ className, contentClassName, children, ...props }, ref) => /* @__PURE__ */ jsx(
4620
4626
  CollapsiblePrimitive.Content,
4621
4627
  {
4622
4628
  ref,
@@ -4667,7 +4673,7 @@ var ResizableHandle = ({
4667
4673
 
4668
4674
  // src/components/ui/scroll-area/index.tsx
4669
4675
  init_utils();
4670
- var ScrollArea = React49.forwardRef(
4676
+ var ScrollArea = React50.forwardRef(
4671
4677
  ({
4672
4678
  className,
4673
4679
  children,
@@ -4722,7 +4728,7 @@ var ScrollArea = React49.forwardRef(
4722
4728
  }
4723
4729
  );
4724
4730
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
4725
- var ScrollBar = React49.forwardRef(({ className, orientation = "vertical", thumbClassName, ...props }, ref) => /* @__PURE__ */ jsx(
4731
+ var ScrollBar = React50.forwardRef(({ className, orientation = "vertical", thumbClassName, ...props }, ref) => /* @__PURE__ */ jsx(
4726
4732
  ScrollAreaPrimitive.ScrollAreaScrollbar,
4727
4733
  {
4728
4734
  ref,
@@ -4754,9 +4760,9 @@ var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
4754
4760
  var SIDEBAR_WIDTH = "16rem";
4755
4761
  var SIDEBAR_WIDTH_ICON = "3rem";
4756
4762
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
4757
- var SidebarContext = React49.createContext(null);
4763
+ var SidebarContext = React50.createContext(null);
4758
4764
  function useSidebar() {
4759
- const context = React49.useContext(SidebarContext);
4765
+ const context = React50.useContext(SidebarContext);
4760
4766
  if (!context) {
4761
4767
  throw new Error("useSidebar must be used within a SidebarProvider.");
4762
4768
  }
@@ -4771,9 +4777,9 @@ function SidebarProvider({
4771
4777
  children,
4772
4778
  ...props
4773
4779
  }) {
4774
- const [_open, _setOpen] = React49.useState(defaultOpen);
4780
+ const [_open, _setOpen] = React50.useState(defaultOpen);
4775
4781
  const open = openProp ?? _open;
4776
- const setOpen = React49.useCallback(
4782
+ const setOpen = React50.useCallback(
4777
4783
  (value) => {
4778
4784
  const openState = typeof value === "function" ? value(open) : value;
4779
4785
  if (setOpenProp) {
@@ -4785,10 +4791,10 @@ function SidebarProvider({
4785
4791
  },
4786
4792
  [setOpenProp, open]
4787
4793
  );
4788
- const toggleSidebar = React49.useCallback(() => {
4794
+ const toggleSidebar = React50.useCallback(() => {
4789
4795
  return setOpen((open2) => !open2);
4790
4796
  }, [setOpen]);
4791
- React49.useEffect(() => {
4797
+ React50.useEffect(() => {
4792
4798
  const handleKeyDown = (event) => {
4793
4799
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
4794
4800
  event.preventDefault();
@@ -4799,7 +4805,7 @@ function SidebarProvider({
4799
4805
  return () => window.removeEventListener("keydown", handleKeyDown);
4800
4806
  }, [toggleSidebar]);
4801
4807
  const state = open ? "expanded" : "collapsed";
4802
- const contextValue = React49.useMemo(
4808
+ const contextValue = React50.useMemo(
4803
4809
  () => ({
4804
4810
  state,
4805
4811
  open,
@@ -5265,7 +5271,7 @@ function SidebarMenuSkeleton({
5265
5271
  showIcon = false,
5266
5272
  ...props
5267
5273
  }) {
5268
- const width = React49.useMemo(() => {
5274
+ const width = React50.useMemo(() => {
5269
5275
  return `${Math.floor(Math.random() * 40) + 50}%`;
5270
5276
  }, []);
5271
5277
  return /* @__PURE__ */ jsxs(
@@ -5384,7 +5390,7 @@ var tableVariants = cva("w-full caption-bottom text-sm", {
5384
5390
  size: "default"
5385
5391
  }
5386
5392
  });
5387
- var Table = React49.forwardRef(({ className, variant, size, wrapperClassName, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("relative w-full overflow-auto", wrapperClassName), children: /* @__PURE__ */ jsx(
5393
+ var Table = React50.forwardRef(({ className, variant, size, wrapperClassName, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("relative w-full overflow-auto", wrapperClassName), children: /* @__PURE__ */ jsx(
5388
5394
  "table",
5389
5395
  {
5390
5396
  ref,
@@ -5393,9 +5399,9 @@ var Table = React49.forwardRef(({ className, variant, size, wrapperClassName, ..
5393
5399
  }
5394
5400
  ) }));
5395
5401
  Table.displayName = "Table";
5396
- var TableHeader = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
5402
+ var TableHeader = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
5397
5403
  TableHeader.displayName = "TableHeader";
5398
- var TableBody = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5404
+ var TableBody = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5399
5405
  "tbody",
5400
5406
  {
5401
5407
  ref,
@@ -5404,7 +5410,7 @@ var TableBody = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE_
5404
5410
  }
5405
5411
  ));
5406
5412
  TableBody.displayName = "TableBody";
5407
- var TableFooter = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5413
+ var TableFooter = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5408
5414
  "tfoot",
5409
5415
  {
5410
5416
  ref,
@@ -5416,7 +5422,7 @@ var TableFooter = React49.forwardRef(({ className, ...props }, ref) => /* @__PUR
5416
5422
  }
5417
5423
  ));
5418
5424
  TableFooter.displayName = "TableFooter";
5419
- var TableRow = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5425
+ var TableRow = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5420
5426
  "tr",
5421
5427
  {
5422
5428
  ref,
@@ -5428,7 +5434,7 @@ var TableRow = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__
5428
5434
  }
5429
5435
  ));
5430
5436
  TableRow.displayName = "TableRow";
5431
- var TableHead = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5437
+ var TableHead = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5432
5438
  "th",
5433
5439
  {
5434
5440
  ref,
@@ -5440,7 +5446,7 @@ var TableHead = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE_
5440
5446
  }
5441
5447
  ));
5442
5448
  TableHead.displayName = "TableHead";
5443
- var TableCell = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5449
+ var TableCell = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5444
5450
  "td",
5445
5451
  {
5446
5452
  ref,
@@ -5452,7 +5458,7 @@ var TableCell = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE_
5452
5458
  }
5453
5459
  ));
5454
5460
  TableCell.displayName = "TableCell";
5455
- var TableCaption = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5461
+ var TableCaption = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
5456
5462
  "caption",
5457
5463
  {
5458
5464
  ref,
@@ -5498,7 +5504,8 @@ var TableBodyComponent = ({
5498
5504
  rowClassName,
5499
5505
  onRowClick,
5500
5506
  getRowExpandable,
5501
- invalidateCache
5507
+ invalidateCache,
5508
+ headers
5502
5509
  }) => {
5503
5510
  const resolveRowClassName = useCallback(
5504
5511
  (record, index) => {
@@ -5539,6 +5546,41 @@ var TableBodyComponent = ({
5539
5546
  }
5540
5547
  return flexRender(cell.column.columnDef.cell, cell.getContext());
5541
5548
  };
5549
+ const { leftOffsets, rightOffsets, lastLeftId, firstRightId } = useMemo(() => {
5550
+ if (!headers || headers.length === 0) {
5551
+ return {
5552
+ leftOffsets: /* @__PURE__ */ new Map(),
5553
+ rightOffsets: /* @__PURE__ */ new Map(),
5554
+ lastLeftId: null,
5555
+ firstRightId: null
5556
+ };
5557
+ }
5558
+ const leftPinned = headers.filter(
5559
+ (h) => h.column.getIsPinned() === "left"
5560
+ );
5561
+ const rightPinned = headers.filter(
5562
+ (h) => h.column.getIsPinned() === "right"
5563
+ );
5564
+ const leftMap = /* @__PURE__ */ new Map();
5565
+ let leftAcc = 0;
5566
+ for (const h of leftPinned) {
5567
+ leftMap.set(h.column.id, leftAcc);
5568
+ leftAcc += h.getSize();
5569
+ }
5570
+ const rightMap = /* @__PURE__ */ new Map();
5571
+ let rightAcc = 0;
5572
+ for (let i = rightPinned.length - 1; i >= 0; i--) {
5573
+ const h = rightPinned[i];
5574
+ rightMap.set(h.column.id, rightAcc);
5575
+ rightAcc += h.getSize();
5576
+ }
5577
+ return {
5578
+ leftOffsets: leftMap,
5579
+ rightOffsets: rightMap,
5580
+ lastLeftId: leftPinned.length > 0 ? leftPinned[leftPinned.length - 1].column.id : null,
5581
+ firstRightId: rightPinned.length > 0 ? rightPinned[0].column.id : null
5582
+ };
5583
+ }, [headers]);
5542
5584
  const renderBaseRow = useCallback(
5543
5585
  (rowData, options = {}) => {
5544
5586
  const { ref, virtualIndex } = options;
@@ -5560,6 +5602,25 @@ var TableBodyComponent = ({
5560
5602
  onClick: () => onRowClick?.(rowData.original, rowData.index),
5561
5603
  children: rowData.getVisibleCells().map((cell) => {
5562
5604
  const meta = cell.column.columnDef.meta;
5605
+ const pinPosition = cell.column.getIsPinned();
5606
+ const pinnedStyle = meta?.width ? { width: meta.width } : {};
5607
+ if (pinPosition === "left") {
5608
+ const offset = leftOffsets.get(cell.column.id);
5609
+ if (offset !== void 0) {
5610
+ pinnedStyle.position = "sticky";
5611
+ pinnedStyle.left = offset;
5612
+ pinnedStyle.zIndex = 5;
5613
+ }
5614
+ } else if (pinPosition === "right") {
5615
+ const offset = rightOffsets.get(cell.column.id);
5616
+ if (offset !== void 0) {
5617
+ pinnedStyle.position = "sticky";
5618
+ pinnedStyle.right = offset;
5619
+ pinnedStyle.zIndex = 5;
5620
+ }
5621
+ }
5622
+ const isLastLeftPinned = cell.column.id === lastLeftId;
5623
+ const isFirstRightPinned = cell.column.id === firstRightId;
5563
5624
  return /* @__PURE__ */ jsx(
5564
5625
  TableCell,
5565
5626
  {
@@ -5567,9 +5628,13 @@ var TableBodyComponent = ({
5567
5628
  meta?.className,
5568
5629
  meta?.align === "center" && "text-center",
5569
5630
  meta?.align === "right" && "text-right",
5570
- meta?.align === "left" && "text-left"
5631
+ meta?.align === "left" && "text-left",
5632
+ // Pinned cell styling
5633
+ pinPosition && "bg-background",
5634
+ isLastLeftPinned && "after:absolute after:right-0 after:top-0 after:bottom-0 after:w-[4px] after:bg-gradient-to-r after:from-black/10 after:to-transparent",
5635
+ isFirstRightPinned && "before:absolute before:left-0 before:top-0 before:bottom-0 before:w-[4px] before:bg-gradient-to-l before:from-black/10 before:to-transparent"
5571
5636
  ),
5572
- style: meta?.width ? { width: meta.width } : void 0,
5637
+ style: Object.keys(pinnedStyle).length > 0 ? pinnedStyle : void 0,
5573
5638
  children: onRenderedRow(cell, virtualIndex)
5574
5639
  },
5575
5640
  cell.id
@@ -5579,7 +5644,14 @@ var TableBodyComponent = ({
5579
5644
  `row-${rowData.index}`
5580
5645
  );
5581
5646
  },
5582
- [onRowClick, resolveRowClassName]
5647
+ [
5648
+ onRowClick,
5649
+ resolveRowClassName,
5650
+ leftOffsets,
5651
+ rightOffsets,
5652
+ lastLeftId,
5653
+ firstRightId
5654
+ ]
5583
5655
  );
5584
5656
  const renderExpandedRow = useCallback(
5585
5657
  (rowData, options = {}) => {
@@ -5683,9 +5755,8 @@ var pinOptions = [
5683
5755
  { value: "right", label: "Pin Right" }
5684
5756
  ];
5685
5757
  var sizingOptions = [
5686
- { value: "single", label: "Autosize This Column" },
5687
- { value: "all", label: "Autosize All Columns" },
5688
- { value: "reset", label: "Reset All Columns" }
5758
+ { value: "reset-single", label: "Reset This Column" },
5759
+ { value: "reset-all", label: "Reset All Columns" }
5689
5760
  ];
5690
5761
  var sortOptions = [
5691
5762
  { value: "asc", label: "Sort Ascending" },
@@ -5696,7 +5767,11 @@ var TableHeaderComponent = ({
5696
5767
  enableColumnOrdering,
5697
5768
  baseColumnOrder,
5698
5769
  setColumnOrder,
5699
- draggedColumnId
5770
+ draggedColumnId,
5771
+ pinnedLeftOffset,
5772
+ pinnedRightOffset,
5773
+ isLastLeftPinned,
5774
+ isFirstRightPinned
5700
5775
  }) => {
5701
5776
  const column = header.column;
5702
5777
  const meta = column.columnDef.meta;
@@ -5767,7 +5842,17 @@ var TableHeaderComponent = ({
5767
5842
  [debouncedFilterChange, filterType]
5768
5843
  );
5769
5844
  const showPopover = column.getCanSort() || column.getCanPin() || column.getCanFilter() || column.getCanResize();
5770
- return /* @__PURE__ */ jsx(
5845
+ const pinnedStyle = meta?.width ? { width: meta.width } : {};
5846
+ if (pinPosition === "left" && pinnedLeftOffset !== void 0) {
5847
+ pinnedStyle.position = "sticky";
5848
+ pinnedStyle.left = pinnedLeftOffset;
5849
+ pinnedStyle.zIndex = 20;
5850
+ } else if (pinPosition === "right" && pinnedRightOffset !== void 0) {
5851
+ pinnedStyle.position = "sticky";
5852
+ pinnedStyle.right = pinnedRightOffset;
5853
+ pinnedStyle.zIndex = 20;
5854
+ }
5855
+ return /* @__PURE__ */ jsxs(
5771
5856
  TableHead,
5772
5857
  {
5773
5858
  className: cn(
@@ -5776,157 +5861,212 @@ var TableHeaderComponent = ({
5776
5861
  meta?.align === "right" && "text-right",
5777
5862
  meta?.align === "left" && "text-left",
5778
5863
  column.getCanSort() && "select-none",
5779
- "bg-mvn-gray-100 text-foreground sticky top-0 z-10"
5864
+ "bg-mvn-gray-100 text-foreground sticky top-0 z-10",
5865
+ // Pinned column styling
5866
+ pinPosition && "bg-background",
5867
+ isLastLeftPinned && "after:absolute after:right-0 after:top-0 after:bottom-0 after:w-[4px] after:bg-gradient-to-r after:from-black/10 after:to-transparent",
5868
+ isFirstRightPinned && "before:absolute before:left-0 before:top-0 before:bottom-0 before:w-[4px] before:bg-gradient-to-l before:from-black/10 before:to-transparent"
5780
5869
  ),
5781
- style: meta?.width ? { width: meta.width } : void 0,
5782
- children: /* @__PURE__ */ jsxs(
5783
- "div",
5784
- {
5785
- className: cn(
5786
- "flex items-center w-full",
5787
- meta?.align === "center" && "justify-center",
5788
- meta?.align === "right" && "justify-end",
5789
- meta?.align === "left" && "justify-start",
5790
- column.getCanSort() && "cursor-pointer"
5791
- ),
5792
- draggable: isReorderTable,
5793
- onDragStart: (event) => {
5794
- if (!isReorderTable) return;
5795
- event.dataTransfer.effectAllowed = "move";
5796
- draggedColumnId.current = column.id;
5797
- },
5798
- onDragEnd: () => {
5799
- draggedColumnId.current = null;
5800
- },
5801
- onDragOver: (event) => {
5802
- if (!isReorderTable || !draggedColumnId.current || draggedColumnId.current === column.id) {
5803
- return;
5804
- }
5805
- event.preventDefault();
5806
- event.dataTransfer.dropEffect = "move";
5807
- },
5808
- onDrop: (event) => {
5809
- if (!isReorderTable) return;
5810
- event.preventDefault();
5811
- handleColumnDrop(column.id);
5812
- },
5813
- children: [
5814
- /* @__PURE__ */ jsx("div", { className: "flex gap-2 text-[16px] font-medium", children: flexRender(column.columnDef.header, header.getContext()) }),
5815
- !column.id.startsWith("_mvn_") && showPopover && /* @__PURE__ */ jsx(
5816
- "span",
5817
- {
5818
- onClick: (event) => event.stopPropagation(),
5819
- className: "ml-auto",
5820
- children: /* @__PURE__ */ jsxs(Popover, { children: [
5821
- /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(TextAlignJustify, { className: "p-1 h-6 w-6" }) }),
5822
- /* @__PURE__ */ jsx(PopoverContent, { side: "bottom", children: /* @__PURE__ */ jsxs(Tabs, { defaultValue: "size", children: [
5823
- /* @__PURE__ */ jsxs(TabsList, { children: [
5824
- column.getCanResize() && /* @__PURE__ */ jsx(TabsTrigger, { value: "size", children: /* @__PURE__ */ jsx(Scaling, { className: "p-1 h-6 w-6" }) }),
5825
- column.getCanSort() && /* @__PURE__ */ jsx(TabsTrigger, { value: "sort", children: /* @__PURE__ */ jsx(Scaling, { className: "p-1 h-6 w-6" }) }),
5826
- column.getCanPin() && /* @__PURE__ */ jsx(TabsTrigger, { value: "pin", children: /* @__PURE__ */ jsx(Pin, { className: "p-1 h-6 w-6" }) }),
5827
- column.getCanFilter() && /* @__PURE__ */ jsx(TabsTrigger, { value: "filter", children: /* @__PURE__ */ jsx(ListFilter, { className: "p-1 h-6 w-6" }) })
5828
- ] }),
5829
- column.getCanResize() && /* @__PURE__ */ jsx(TabsContent, { value: "size", children: /* @__PURE__ */ jsx(Command, { className: "h-auto", children: /* @__PURE__ */ jsx(CommandList, { children: /* @__PURE__ */ jsx(CommandGroup, { children: sizingOptions.map((option) => /* @__PURE__ */ jsx(
5830
- CommandItem,
5831
- {
5832
- value: option.value,
5833
- onSelect: () => {
5834
- },
5835
- children: option.label
5836
- },
5837
- option.value
5838
- )) }) }) }) }),
5839
- column.getCanSort() && /* @__PURE__ */ jsx(TabsContent, { value: "sort", children: /* @__PURE__ */ jsx(Command, { className: "h-auto", children: /* @__PURE__ */ jsx(CommandList, { children: /* @__PURE__ */ jsx(CommandGroup, { children: sortOptions.map((option) => /* @__PURE__ */ jsxs(
5840
- CommandItem,
5841
- {
5842
- value: option.value,
5843
- onSelect: () => {
5844
- if (option.value === sortDirection) {
5845
- column.clearSorting();
5846
- return;
5870
+ style: pinnedStyle,
5871
+ children: [
5872
+ /* @__PURE__ */ jsxs(
5873
+ "div",
5874
+ {
5875
+ className: cn(
5876
+ "flex items-center w-full",
5877
+ meta?.align === "center" && "justify-center",
5878
+ meta?.align === "right" && "justify-end",
5879
+ meta?.align === "left" && "justify-start",
5880
+ column.getCanSort() && "cursor-pointer"
5881
+ ),
5882
+ draggable: isReorderTable,
5883
+ onDragStart: (event) => {
5884
+ if (!isReorderTable) return;
5885
+ event.dataTransfer.effectAllowed = "move";
5886
+ draggedColumnId.current = column.id;
5887
+ },
5888
+ onDragEnd: () => {
5889
+ draggedColumnId.current = null;
5890
+ },
5891
+ onDragOver: (event) => {
5892
+ if (!isReorderTable || !draggedColumnId.current || draggedColumnId.current === column.id) {
5893
+ return;
5894
+ }
5895
+ event.preventDefault();
5896
+ event.dataTransfer.dropEffect = "move";
5897
+ },
5898
+ onDrop: (event) => {
5899
+ if (!isReorderTable) return;
5900
+ event.preventDefault();
5901
+ handleColumnDrop(column.id);
5902
+ },
5903
+ children: [
5904
+ /* @__PURE__ */ jsx("div", { className: "flex gap-2 text-[16px] font-medium", children: flexRender(column.columnDef.header, header.getContext()) }),
5905
+ !column.id.startsWith("_mvn_") && showPopover && /* @__PURE__ */ jsx(
5906
+ "span",
5907
+ {
5908
+ onClick: (event) => event.stopPropagation(),
5909
+ className: "ml-auto",
5910
+ children: /* @__PURE__ */ jsxs(Popover, { children: [
5911
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx(TextAlignJustify, { className: "p-1 h-6 w-6" }) }),
5912
+ /* @__PURE__ */ jsx(PopoverContent, { side: "bottom", children: /* @__PURE__ */ jsxs(Tabs, { defaultValue: "size", children: [
5913
+ /* @__PURE__ */ jsxs(TabsList, { children: [
5914
+ column.getCanResize() && /* @__PURE__ */ jsx(
5915
+ TabsTrigger,
5916
+ {
5917
+ value: "size",
5918
+ className: "data-[orientation=horizontal]:p-2",
5919
+ children: /* @__PURE__ */ jsx(Scaling, { className: "p-1 h-6 w-6" })
5847
5920
  }
5848
- column.toggleSorting(option.value === "desc");
5849
- },
5850
- children: [
5851
- option.label,
5852
- /* @__PURE__ */ jsx(
5853
- CheckIcon,
5854
- {
5855
- className: cn(
5856
- "ml-auto h-4 w-4",
5857
- sortDirection === option.value ? "opacity-100" : "opacity-0"
5858
- )
5859
- }
5860
- )
5861
- ]
5862
- },
5863
- option.value
5864
- )) }) }) }) }),
5865
- column.getCanPin() && /* @__PURE__ */ jsx(TabsContent, { value: "pin", children: /* @__PURE__ */ jsx(Command, { className: "h-auto", children: /* @__PURE__ */ jsx(CommandList, { children: /* @__PURE__ */ jsx(CommandGroup, { children: pinOptions.map((option) => /* @__PURE__ */ jsxs(
5866
- CommandItem,
5867
- {
5868
- value: option.value,
5869
- onSelect: () => {
5870
- if (option.value === pinPosition) {
5871
- column.pin(false);
5872
- return;
5921
+ ),
5922
+ column.getCanSort() && /* @__PURE__ */ jsx(
5923
+ TabsTrigger,
5924
+ {
5925
+ value: "sort",
5926
+ className: "data-[orientation=horizontal]:p-2",
5927
+ children: /* @__PURE__ */ jsx(Scaling, { className: "p-1 h-6 w-6" })
5873
5928
  }
5874
- if (option.value === "left" || option.value === "right") {
5875
- column.pin(option.value);
5929
+ ),
5930
+ column.getCanPin() && /* @__PURE__ */ jsx(
5931
+ TabsTrigger,
5932
+ {
5933
+ value: "pin",
5934
+ className: "data-[orientation=horizontal]:p-2",
5935
+ children: /* @__PURE__ */ jsx(Pin, { className: "p-1 h-6 w-6" })
5876
5936
  }
5877
- },
5878
- children: [
5879
- option.label,
5880
- /* @__PURE__ */ jsx(
5881
- CheckIcon,
5882
- {
5883
- className: cn(
5884
- "ml-auto h-4 w-4",
5885
- pinPosition === option.value ? "opacity-100" : "opacity-0"
5886
- )
5937
+ ),
5938
+ column.getCanFilter() && /* @__PURE__ */ jsx(
5939
+ TabsTrigger,
5940
+ {
5941
+ value: "filter",
5942
+ className: "data-[orientation=horizontal]:p-2",
5943
+ children: /* @__PURE__ */ jsx(ListFilter, { className: "p-1 h-6 w-6" })
5944
+ }
5945
+ )
5946
+ ] }),
5947
+ column.getCanResize() && /* @__PURE__ */ jsx(TabsContent, { value: "size", className: "mt-2", children: /* @__PURE__ */ jsx(Command, { className: "h-auto", children: /* @__PURE__ */ jsx(CommandList, { children: /* @__PURE__ */ jsx(CommandGroup, { children: sizingOptions.map((option) => /* @__PURE__ */ jsx(
5948
+ CommandItem,
5949
+ {
5950
+ value: option.value,
5951
+ onSelect: () => {
5952
+ if (option.value === "reset-single") {
5953
+ column.resetSize();
5954
+ } else if (option.value === "reset-all") {
5955
+ header.getContext().table.resetColumnSizing();
5887
5956
  }
5888
- )
5889
- ]
5890
- },
5891
- option.value
5892
- )) }) }) }) }),
5893
- column.getCanFilter() && /* @__PURE__ */ jsxs(TabsContent, { value: "filter", children: [
5894
- /* @__PURE__ */ jsxs(
5895
- Select,
5957
+ },
5958
+ children: option.label
5959
+ },
5960
+ option.value
5961
+ )) }) }) }) }),
5962
+ column.getCanSort() && /* @__PURE__ */ jsx(TabsContent, { value: "sort", className: "mt-2", children: /* @__PURE__ */ jsx(Command, { className: "h-auto", children: /* @__PURE__ */ jsx(CommandList, { children: /* @__PURE__ */ jsx(CommandGroup, { children: sortOptions.map((option) => /* @__PURE__ */ jsxs(
5963
+ CommandItem,
5896
5964
  {
5897
- value: filterType,
5898
- onValueChange: (selected) => {
5899
- if (debounceTimeoutRef.current !== null) {
5900
- window.clearTimeout(debounceTimeoutRef.current);
5901
- debounceTimeoutRef.current = null;
5965
+ value: option.value,
5966
+ onSelect: () => {
5967
+ if (option.value === sortDirection) {
5968
+ column.clearSorting();
5969
+ return;
5902
5970
  }
5903
- handleFilterChange(selected, inputValue);
5971
+ column.toggleSorting(option.value === "desc");
5904
5972
  },
5905
5973
  children: [
5906
- /* @__PURE__ */ jsx(SelectTrigger, { className: "mb-4", children: /* @__PURE__ */ jsx(SelectValue, {}) }),
5907
- /* @__PURE__ */ jsx(SelectContent, { children: TableFilterOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: option.value, children: option.label }, option.value)) })
5974
+ option.label,
5975
+ /* @__PURE__ */ jsx(
5976
+ CheckIcon,
5977
+ {
5978
+ className: cn(
5979
+ "ml-auto h-4 w-4",
5980
+ sortDirection === option.value ? "opacity-100" : "opacity-0"
5981
+ )
5982
+ }
5983
+ )
5908
5984
  ]
5909
- }
5910
- ),
5911
- /* @__PURE__ */ jsx(
5912
- Input,
5985
+ },
5986
+ option.value
5987
+ )) }) }) }) }),
5988
+ column.getCanPin() && /* @__PURE__ */ jsx(TabsContent, { value: "pin", className: "mt-2", children: /* @__PURE__ */ jsx(Command, { className: "h-auto", children: /* @__PURE__ */ jsx(CommandList, { children: /* @__PURE__ */ jsx(CommandGroup, { children: pinOptions.map((option) => /* @__PURE__ */ jsxs(
5989
+ CommandItem,
5913
5990
  {
5914
- leftIcon: /* @__PURE__ */ jsx(SearchIcon, {}),
5915
- value: inputValue,
5916
- onChange: handleInputChange,
5917
- clearable: true,
5918
- onClear: () => column.setFilterValue({ filterType, value: "" }),
5919
- placeholder: meta?.filterPlaceholder ?? "Filter\u2026"
5920
- }
5921
- )
5922
- ] })
5923
- ] }) })
5924
- ] })
5925
- }
5926
- )
5927
- ]
5928
- }
5929
- )
5991
+ value: option.value,
5992
+ onSelect: () => {
5993
+ if (option.value === pinPosition) {
5994
+ column.pin(false);
5995
+ return;
5996
+ }
5997
+ if (option.value === "left" || option.value === "right") {
5998
+ column.pin(option.value);
5999
+ }
6000
+ },
6001
+ children: [
6002
+ option.label,
6003
+ /* @__PURE__ */ jsx(
6004
+ CheckIcon,
6005
+ {
6006
+ className: cn(
6007
+ "ml-auto h-4 w-4",
6008
+ pinPosition === option.value ? "opacity-100" : "opacity-0"
6009
+ )
6010
+ }
6011
+ )
6012
+ ]
6013
+ },
6014
+ option.value
6015
+ )) }) }) }) }),
6016
+ column.getCanFilter() && /* @__PURE__ */ jsxs(TabsContent, { value: "filter", className: "mt-2", children: [
6017
+ /* @__PURE__ */ jsxs(
6018
+ Select,
6019
+ {
6020
+ value: filterType,
6021
+ onValueChange: (selected) => {
6022
+ if (debounceTimeoutRef.current !== null) {
6023
+ window.clearTimeout(debounceTimeoutRef.current);
6024
+ debounceTimeoutRef.current = null;
6025
+ }
6026
+ handleFilterChange(selected, inputValue);
6027
+ },
6028
+ children: [
6029
+ /* @__PURE__ */ jsx(SelectTrigger, { className: "mb-4", children: /* @__PURE__ */ jsx(SelectValue, {}) }),
6030
+ /* @__PURE__ */ jsx(SelectContent, { children: TableFilterOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, { value: option.value, children: option.label }, option.value)) })
6031
+ ]
6032
+ }
6033
+ ),
6034
+ /* @__PURE__ */ jsx(
6035
+ Input,
6036
+ {
6037
+ leftIcon: /* @__PURE__ */ jsx(SearchIcon, {}),
6038
+ value: inputValue,
6039
+ onChange: handleInputChange,
6040
+ clearable: true,
6041
+ onClear: () => column.setFilterValue({ filterType, value: "" }),
6042
+ placeholder: meta?.filterPlaceholder ?? "Filter\u2026"
6043
+ }
6044
+ )
6045
+ ] })
6046
+ ] }) })
6047
+ ] })
6048
+ }
6049
+ )
6050
+ ]
6051
+ }
6052
+ ),
6053
+ column.getCanResize() && /* @__PURE__ */ jsx(
6054
+ "div",
6055
+ {
6056
+ onMouseDown: header.getResizeHandler(),
6057
+ onTouchStart: header.getResizeHandler(),
6058
+ onDoubleClick: () => header.column.resetSize(),
6059
+ className: cn(
6060
+ "absolute right-0 top-0 h-full w-1 cursor-col-resize select-none touch-none",
6061
+ "hover:bg-primary/50 active:bg-primary",
6062
+ header.column.getIsResizing() && "bg-primary"
6063
+ ),
6064
+ style: {
6065
+ transform: "translateX(50%)"
6066
+ }
6067
+ }
6068
+ )
6069
+ ]
5930
6070
  },
5931
6071
  header.id
5932
6072
  );
@@ -5942,6 +6082,46 @@ var TableToolbarComponent = ({
5942
6082
  customizeToolbar
5943
6083
  }) => {
5944
6084
  const toolbarVisible = enableExport || customizeToolbar || enableGlobalFilter;
6085
+ const [inputValue, setInputValue] = useState(globalFilter);
6086
+ const debounceTimeoutRef = useRef(null);
6087
+ useEffect(() => {
6088
+ setInputValue(globalFilter);
6089
+ }, [globalFilter]);
6090
+ useEffect(() => {
6091
+ return () => {
6092
+ if (debounceTimeoutRef.current !== null) {
6093
+ window.clearTimeout(debounceTimeoutRef.current);
6094
+ }
6095
+ };
6096
+ }, []);
6097
+ const debouncedSetGlobalFilter = useCallback(
6098
+ (nextValue) => {
6099
+ if (debounceTimeoutRef.current !== null) {
6100
+ window.clearTimeout(debounceTimeoutRef.current);
6101
+ }
6102
+ debounceTimeoutRef.current = window.setTimeout(() => {
6103
+ setGlobalFilter(nextValue);
6104
+ debounceTimeoutRef.current = null;
6105
+ }, 300);
6106
+ },
6107
+ [setGlobalFilter]
6108
+ );
6109
+ const handleInputChange = useCallback(
6110
+ (event) => {
6111
+ const nextValue = event.target.value;
6112
+ setInputValue(nextValue);
6113
+ debouncedSetGlobalFilter(nextValue);
6114
+ },
6115
+ [debouncedSetGlobalFilter]
6116
+ );
6117
+ const handleClear = useCallback(() => {
6118
+ if (debounceTimeoutRef.current !== null) {
6119
+ window.clearTimeout(debounceTimeoutRef.current);
6120
+ debounceTimeoutRef.current = null;
6121
+ }
6122
+ setInputValue("");
6123
+ setGlobalFilter("");
6124
+ }, [setGlobalFilter]);
5945
6125
  return /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
5946
6126
  toolbarVisible && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
5947
6127
  enableExport && /* @__PURE__ */ jsx(
@@ -5959,9 +6139,10 @@ var TableToolbarComponent = ({
5959
6139
  Input,
5960
6140
  {
5961
6141
  leftIcon: /* @__PURE__ */ jsx(SearchIcon, {}),
5962
- value: globalFilter,
5963
- onChange: (event) => setGlobalFilter(event.target.value),
6142
+ value: inputValue,
6143
+ onChange: handleInputChange,
5964
6144
  clearable: true,
6145
+ onClear: handleClear,
5965
6146
  placeholder: globalFilterPlaceholder
5966
6147
  }
5967
6148
  )
@@ -6059,7 +6240,10 @@ function useTableCore({
6059
6240
  manualSorting,
6060
6241
  onFilterChange,
6061
6242
  getCheckboxProps,
6062
- selectedRowKey
6243
+ selectedRowKey,
6244
+ defaultColumnPinning,
6245
+ enableColumnResizing = false,
6246
+ columnResizeMode = "onChange"
6063
6247
  }) {
6064
6248
  const [sorting, setSorting] = useState(
6065
6249
  sortBy ? [{ id: sortBy, desc: sortDirection === "desc" }] : []
@@ -6073,8 +6257,8 @@ function useTableCore({
6073
6257
  pageSize
6074
6258
  });
6075
6259
  const [columnPinning, setColumnPinning] = useState({
6076
- left: [],
6077
- right: []
6260
+ left: defaultColumnPinning?.left ?? [],
6261
+ right: defaultColumnPinning?.right ?? []
6078
6262
  });
6079
6263
  const dataLength = data.length;
6080
6264
  const enableColumnFilters = useMemo(() => {
@@ -6334,6 +6518,8 @@ function useTableCore({
6334
6518
  columns: columnDefs,
6335
6519
  manualFiltering,
6336
6520
  manualSorting,
6521
+ enableColumnResizing,
6522
+ columnResizeMode,
6337
6523
  state: {
6338
6524
  sorting,
6339
6525
  columnFilters,
@@ -6927,7 +7113,8 @@ function SimpleTable({
6927
7113
  maxRecords,
6928
7114
  loadingText,
6929
7115
  pagingPosition = "right",
6930
- recordPerChunk = 100
7116
+ recordPerChunk = 100,
7117
+ defaultColumnPinning
6931
7118
  }) {
6932
7119
  const [internalLazyLoading, setInternalLazyLoading] = useState(false);
6933
7120
  const pendingLazyLoad = useRef(false);
@@ -6970,7 +7157,8 @@ function SimpleTable({
6970
7157
  numberOfPageButtons,
6971
7158
  manualSorting,
6972
7159
  manualFiltering,
6973
- onFilterChange
7160
+ onFilterChange,
7161
+ defaultColumnPinning
6974
7162
  });
6975
7163
  const handleLazyLoad = useCallback(async () => {
6976
7164
  if (!onLazyScrollLoad || pendingLazyLoad.current || resolvedLoading) return;
@@ -7000,7 +7188,7 @@ function SimpleTable({
7000
7188
  }, [onLoadChunk]);
7001
7189
  const rows = useMemo(
7002
7190
  () => table.getRowModel().rows,
7003
- [paginationState, sorting, columnFilters]
7191
+ [paginationState, sorting, columnFilters, globalFilter]
7004
7192
  );
7005
7193
  const splittedRows = useMemo(
7006
7194
  () => rows.slice(0, chunkCount),
@@ -7066,6 +7254,46 @@ function SimpleTable({
7066
7254
  }
7067
7255
  }, [paddingBottom, scrollLoadThreshold, virtualizationActive]);
7068
7256
  const columnCount = table.getAllLeafColumns().length;
7257
+ const allHeaders = useMemo(() => {
7258
+ const groups = table.getHeaderGroups();
7259
+ if (groups.length === 0) return [];
7260
+ return groups[0].headers;
7261
+ }, [table]);
7262
+ const { leftOffsets, rightOffsets, lastLeftId, firstRightId } = useMemo(() => {
7263
+ if (!allHeaders || allHeaders.length === 0) {
7264
+ return {
7265
+ leftOffsets: /* @__PURE__ */ new Map(),
7266
+ rightOffsets: /* @__PURE__ */ new Map(),
7267
+ lastLeftId: null,
7268
+ firstRightId: null
7269
+ };
7270
+ }
7271
+ const leftPinned = allHeaders.filter(
7272
+ (h) => h.column.getIsPinned() === "left"
7273
+ );
7274
+ const rightPinned = allHeaders.filter(
7275
+ (h) => h.column.getIsPinned() === "right"
7276
+ );
7277
+ const leftMap = /* @__PURE__ */ new Map();
7278
+ let leftAcc = 0;
7279
+ for (const h of leftPinned) {
7280
+ leftMap.set(h.column.id, leftAcc);
7281
+ leftAcc += h.getSize();
7282
+ }
7283
+ const rightMap = /* @__PURE__ */ new Map();
7284
+ let rightAcc = 0;
7285
+ for (let i = rightPinned.length - 1; i >= 0; i--) {
7286
+ const h = rightPinned[i];
7287
+ rightMap.set(h.column.id, rightAcc);
7288
+ rightAcc += h.getSize();
7289
+ }
7290
+ return {
7291
+ leftOffsets: leftMap,
7292
+ rightOffsets: rightMap,
7293
+ lastLeftId: leftPinned.length > 0 ? leftPinned[leftPinned.length - 1].column.id : null,
7294
+ firstRightId: rightPinned.length > 0 ? rightPinned[0].column.id : null
7295
+ };
7296
+ }, [allHeaders]);
7069
7297
  useEffect(() => {
7070
7298
  if (!selectable || !onSelectionChange) return;
7071
7299
  onSelectionChange(selectedRows);
@@ -7127,6 +7355,7 @@ function SimpleTable({
7127
7355
  caption && /* @__PURE__ */ jsx(TableCaption, { children: caption }),
7128
7356
  /* @__PURE__ */ jsx(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header) => {
7129
7357
  if (header.isPlaceholder) return null;
7358
+ const pinPosition = header.column.getIsPinned();
7130
7359
  return /* @__PURE__ */ jsx(
7131
7360
  TableHeaderComponent,
7132
7361
  {
@@ -7134,7 +7363,11 @@ function SimpleTable({
7134
7363
  draggedColumnId,
7135
7364
  enableColumnOrdering,
7136
7365
  baseColumnOrder,
7137
- setColumnOrder
7366
+ setColumnOrder,
7367
+ pinnedLeftOffset: pinPosition === "left" ? leftOffsets.get(header.column.id) : void 0,
7368
+ pinnedRightOffset: pinPosition === "right" ? rightOffsets.get(header.column.id) : void 0,
7369
+ isLastLeftPinned: header.column.id === lastLeftId,
7370
+ isFirstRightPinned: header.column.id === firstRightId
7138
7371
  },
7139
7372
  header.id
7140
7373
  );
@@ -7157,7 +7390,8 @@ function SimpleTable({
7157
7390
  renderExpandedContent,
7158
7391
  virtualItems,
7159
7392
  invalidateCache,
7160
- getRowExpandable
7393
+ getRowExpandable,
7394
+ headers: allHeaders
7161
7395
  }
7162
7396
  ),
7163
7397
  showInlineLoadingRow && resolvedLoading && /* @__PURE__ */ jsx(TableRow, { "data-loading-row": true, className: "pointer-events-none", children: /* @__PURE__ */ jsxs(
@@ -7218,12 +7452,12 @@ function DataTable({
7218
7452
  pageSize = 10,
7219
7453
  className
7220
7454
  }) {
7221
- const [sorting, setSorting] = React49.useState([]);
7222
- const [columnFilters, setColumnFilters] = React49.useState(
7455
+ const [sorting, setSorting] = React50.useState([]);
7456
+ const [columnFilters, setColumnFilters] = React50.useState(
7223
7457
  []
7224
7458
  );
7225
- const [columnVisibility, setColumnVisibility] = React49.useState({});
7226
- const [rowSelection, setRowSelection] = React49.useState({});
7459
+ const [columnVisibility, setColumnVisibility] = React50.useState({});
7460
+ const [rowSelection, setRowSelection] = React50.useState({});
7227
7461
  const table = useReactTable({
7228
7462
  data,
7229
7463
  columns,
@@ -7380,7 +7614,7 @@ var avatarFallbackVariants = cva(
7380
7614
  }
7381
7615
  }
7382
7616
  );
7383
- var Avatar = React49.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx(
7617
+ var Avatar = React50.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx(
7384
7618
  AvatarPrimitive.Root,
7385
7619
  {
7386
7620
  ref,
@@ -7389,7 +7623,7 @@ var Avatar = React49.forwardRef(({ className, size, ...props }, ref) => /* @__PU
7389
7623
  }
7390
7624
  ));
7391
7625
  Avatar.displayName = AvatarPrimitive.Root.displayName;
7392
- var AvatarImage = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7626
+ var AvatarImage = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7393
7627
  AvatarPrimitive.Image,
7394
7628
  {
7395
7629
  ref,
@@ -7398,7 +7632,7 @@ var AvatarImage = React49.forwardRef(({ className, ...props }, ref) => /* @__PUR
7398
7632
  }
7399
7633
  ));
7400
7634
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
7401
- var AvatarFallback = React49.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx(
7635
+ var AvatarFallback = React50.forwardRef(({ className, size, ...props }, ref) => /* @__PURE__ */ jsx(
7402
7636
  AvatarPrimitive.Fallback,
7403
7637
  {
7404
7638
  ref,
@@ -7562,7 +7796,7 @@ var itemVariants = cva(
7562
7796
  }
7563
7797
  }
7564
7798
  );
7565
- var Item9 = React49.forwardRef(
7799
+ var Item9 = React50.forwardRef(
7566
7800
  ({
7567
7801
  className,
7568
7802
  variant,
@@ -7628,7 +7862,7 @@ var Item9 = React49.forwardRef(
7628
7862
  }
7629
7863
  );
7630
7864
  Item9.displayName = "Item";
7631
- var ItemGroup = React49.forwardRef(({ className, label, description, children, ...props }, ref) => /* @__PURE__ */ jsxs("div", { ref, className: cn("space-y-1", className), ...props, children: [
7865
+ var ItemGroup = React50.forwardRef(({ className, label, description, children, ...props }, ref) => /* @__PURE__ */ jsxs("div", { ref, className: cn("space-y-1", className), ...props, children: [
7632
7866
  (label || description) && /* @__PURE__ */ jsxs("div", { className: "px-3 py-2 space-y-0.5", children: [
7633
7867
  label && /* @__PURE__ */ jsx("div", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wider", children: label }),
7634
7868
  description && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: description })
@@ -7636,7 +7870,7 @@ var ItemGroup = React49.forwardRef(({ className, label, description, children, .
7636
7870
  children
7637
7871
  ] }));
7638
7872
  ItemGroup.displayName = "ItemGroup";
7639
- var ItemList = React49.forwardRef(({ className, divided, spacing = "default", children, ...props }, ref) => {
7873
+ var ItemList = React50.forwardRef(({ className, divided, spacing = "default", children, ...props }, ref) => {
7640
7874
  const spacingClasses = {
7641
7875
  none: "space-y-0",
7642
7876
  sm: "space-y-0.5",
@@ -7659,7 +7893,7 @@ var ItemList = React49.forwardRef(({ className, divided, spacing = "default", ch
7659
7893
  );
7660
7894
  });
7661
7895
  ItemList.displayName = "ItemList";
7662
- var ItemSeparator = React49.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7896
+ var ItemSeparator = React50.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
7663
7897
  "div",
7664
7898
  {
7665
7899
  ref,
@@ -7697,7 +7931,7 @@ var badgeVariants = cva(
7697
7931
  }
7698
7932
  }
7699
7933
  );
7700
- var Badge = React49.forwardRef(
7934
+ var Badge = React50.forwardRef(
7701
7935
  ({
7702
7936
  className,
7703
7937
  variant,
@@ -7764,7 +7998,7 @@ function Calendar({
7764
7998
  ...props
7765
7999
  }) {
7766
8000
  const defaultClassNames = getDefaultClassNames();
7767
- const { Card: Card2, CardHeader: CardHeader2, CardTitle: CardTitle2, CardContent: CardContent2, CardDescription: CardDescription2 } = React49.useMemo(() => {
8001
+ const { Card: Card2, CardHeader: CardHeader2, CardTitle: CardTitle2, CardContent: CardContent2, CardDescription: CardDescription2 } = React50.useMemo(() => {
7768
8002
  try {
7769
8003
  const cardComponents = (init_card(), __toCommonJS(card_exports));
7770
8004
  return cardComponents;
@@ -7778,7 +8012,7 @@ function Calendar({
7778
8012
  };
7779
8013
  }
7780
8014
  }, []);
7781
- const defaultPresets = React49.useMemo(() => {
8015
+ const defaultPresets = React50.useMemo(() => {
7782
8016
  if (!quickSelect && !presets) return [];
7783
8017
  const mode = props.mode;
7784
8018
  if (mode === "single") {
@@ -7786,7 +8020,7 @@ function Calendar({
7786
8020
  {
7787
8021
  label: "Today",
7788
8022
  value: () => /* @__PURE__ */ new Date(),
7789
- icon: React49.createElement(Calendar$1, { className: "h-3 w-3" })
8023
+ icon: React50.createElement(Calendar$1, { className: "h-3 w-3" })
7790
8024
  },
7791
8025
  {
7792
8026
  label: "Tomorrow",
@@ -7795,7 +8029,7 @@ function Calendar({
7795
8029
  tomorrow.setDate(tomorrow.getDate() + 1);
7796
8030
  return tomorrow;
7797
8031
  },
7798
- icon: React49.createElement("span", { className: "text-xs" }, "\u27A1\uFE0F")
8032
+ icon: React50.createElement("span", { className: "text-xs" }, "\u27A1\uFE0F")
7799
8033
  },
7800
8034
  {
7801
8035
  label: "Next Week",
@@ -7804,7 +8038,7 @@ function Calendar({
7804
8038
  nextWeek.setDate(nextWeek.getDate() + 7);
7805
8039
  return nextWeek;
7806
8040
  },
7807
- icon: React49.createElement(Calendar$1, { className: "h-3 w-3" })
8041
+ icon: React50.createElement(Calendar$1, { className: "h-3 w-3" })
7808
8042
  }
7809
8043
  ];
7810
8044
  } else if (mode === "range") {
@@ -7817,7 +8051,7 @@ function Calendar({
7817
8051
  end.setDate(start.getDate() + 6);
7818
8052
  return { from: start, to: end };
7819
8053
  },
7820
- icon: React49.createElement(Calendar$1, { className: "h-3 w-3" })
8054
+ icon: React50.createElement(Calendar$1, { className: "h-3 w-3" })
7821
8055
  },
7822
8056
  {
7823
8057
  label: "Next 7 Days",
@@ -7827,7 +8061,7 @@ function Calendar({
7827
8061
  end.setDate(start.getDate() + 7);
7828
8062
  return { from: start, to: end };
7829
8063
  },
7830
- icon: React49.createElement("span", { className: "text-xs" }, "\u27A1\uFE0F")
8064
+ icon: React50.createElement("span", { className: "text-xs" }, "\u27A1\uFE0F")
7831
8065
  }
7832
8066
  ];
7833
8067
  } else {
@@ -7843,7 +8077,7 @@ function Calendar({
7843
8077
  }
7844
8078
  return dates;
7845
8079
  },
7846
- icon: React49.createElement(Calendar$1, { className: "h-3 w-3" })
8080
+ icon: React50.createElement(Calendar$1, { className: "h-3 w-3" })
7847
8081
  }
7848
8082
  ];
7849
8083
  }
@@ -7854,24 +8088,24 @@ function Calendar({
7854
8088
  const selected = props.selected;
7855
8089
  const mode = props.mode;
7856
8090
  if (mode === "single" && selected) {
7857
- return React49.createElement(
8091
+ return React50.createElement(
7858
8092
  "div",
7859
8093
  {
7860
8094
  className: "p-3 border rounded-lg bg-muted/50"
7861
8095
  },
7862
8096
  [
7863
- React49.createElement(
8097
+ React50.createElement(
7864
8098
  "div",
7865
8099
  {
7866
8100
  key: "header",
7867
8101
  className: "flex items-center gap-2 mb-1"
7868
8102
  },
7869
8103
  [
7870
- React49.createElement(Calendar$1, {
8104
+ React50.createElement(Calendar$1, {
7871
8105
  key: "icon",
7872
8106
  className: "h-4 w-4"
7873
8107
  }),
7874
- React49.createElement(
8108
+ React50.createElement(
7875
8109
  "span",
7876
8110
  {
7877
8111
  key: "label",
@@ -7881,7 +8115,7 @@ function Calendar({
7881
8115
  )
7882
8116
  ]
7883
8117
  ),
7884
- React49.createElement(
8118
+ React50.createElement(
7885
8119
  "p",
7886
8120
  {
7887
8121
  key: "date",
@@ -7899,24 +8133,24 @@ function Calendar({
7899
8133
  }
7900
8134
  if (mode === "range" && selected?.from) {
7901
8135
  const elements = [
7902
- React49.createElement(
8136
+ React50.createElement(
7903
8137
  "div",
7904
8138
  {
7905
8139
  key: "from",
7906
8140
  className: "flex items-center gap-2 text-sm"
7907
8141
  },
7908
8142
  [
7909
- React49.createElement(
8143
+ React50.createElement(
7910
8144
  "span",
7911
8145
  { key: "icon", className: "text-green-600" },
7912
8146
  "\u{1F7E2}"
7913
8147
  ),
7914
- React49.createElement(
8148
+ React50.createElement(
7915
8149
  "span",
7916
8150
  { key: "label", className: "font-medium" },
7917
8151
  "From:"
7918
8152
  ),
7919
- React49.createElement(
8153
+ React50.createElement(
7920
8154
  "span",
7921
8155
  { key: "date" },
7922
8156
  selected.from.toLocaleDateString()
@@ -7926,43 +8160,43 @@ function Calendar({
7926
8160
  ];
7927
8161
  if (selected.to) {
7928
8162
  elements.push(
7929
- React49.createElement(
8163
+ React50.createElement(
7930
8164
  "div",
7931
8165
  {
7932
8166
  key: "to",
7933
8167
  className: "flex items-center gap-2 text-sm"
7934
8168
  },
7935
8169
  [
7936
- React49.createElement(
8170
+ React50.createElement(
7937
8171
  "span",
7938
8172
  { key: "icon", className: "text-red-600" },
7939
8173
  "\u{1F534}"
7940
8174
  ),
7941
- React49.createElement(
8175
+ React50.createElement(
7942
8176
  "span",
7943
8177
  { key: "label", className: "font-medium" },
7944
8178
  "To:"
7945
8179
  ),
7946
- React49.createElement(
8180
+ React50.createElement(
7947
8181
  "span",
7948
8182
  { key: "date" },
7949
8183
  selected.to.toLocaleDateString()
7950
8184
  )
7951
8185
  ]
7952
8186
  ),
7953
- React49.createElement(
8187
+ React50.createElement(
7954
8188
  "div",
7955
8189
  {
7956
8190
  key: "duration",
7957
8191
  className: "flex items-center gap-2 pt-2 border-t text-sm"
7958
8192
  },
7959
8193
  [
7960
- React49.createElement(
8194
+ React50.createElement(
7961
8195
  "span",
7962
8196
  { key: "icon", className: "text-mvn-blue-600" },
7963
8197
  "\u23F1\uFE0F"
7964
8198
  ),
7965
- React49.createElement(
8199
+ React50.createElement(
7966
8200
  "span",
7967
8201
  { key: "text" },
7968
8202
  `Duration: ${Math.ceil(
@@ -7973,25 +8207,25 @@ function Calendar({
7973
8207
  )
7974
8208
  );
7975
8209
  }
7976
- return React49.createElement(
8210
+ return React50.createElement(
7977
8211
  "div",
7978
8212
  {
7979
8213
  className: "p-3 border rounded-lg bg-muted/50"
7980
8214
  },
7981
- React49.createElement("div", { className: "space-y-2" }, elements)
8215
+ React50.createElement("div", { className: "space-y-2" }, elements)
7982
8216
  );
7983
8217
  }
7984
8218
  if (mode === "multiple" && Array.isArray(selected) && selected.length > 0) {
7985
8219
  const sortedDates = selected.sort((a, b) => a.getTime() - b.getTime()).slice(0, 5);
7986
8220
  const dateElements = sortedDates.map(
7987
- (date, index) => React49.createElement(
8221
+ (date, index) => React50.createElement(
7988
8222
  "div",
7989
8223
  {
7990
8224
  key: index,
7991
8225
  className: "flex items-center justify-between p-2 bg-background rounded border"
7992
8226
  },
7993
8227
  [
7994
- React49.createElement(
8228
+ React50.createElement(
7995
8229
  "span",
7996
8230
  {
7997
8231
  key: "date",
@@ -8003,7 +8237,7 @@ function Calendar({
8003
8237
  year: "numeric"
8004
8238
  })
8005
8239
  ),
8006
- React49.createElement(
8240
+ React50.createElement(
8007
8241
  "button",
8008
8242
  {
8009
8243
  key: "remove",
@@ -8024,18 +8258,18 @@ function Calendar({
8024
8258
  )
8025
8259
  );
8026
8260
  const elements = [
8027
- React49.createElement(
8261
+ React50.createElement(
8028
8262
  "div",
8029
8263
  {
8030
8264
  key: "header",
8031
8265
  className: "flex items-center gap-2 mb-2"
8032
8266
  },
8033
8267
  [
8034
- React49.createElement(Star, {
8268
+ React50.createElement(Star, {
8035
8269
  key: "icon",
8036
8270
  className: "h-4 w-4 text-yellow-500"
8037
8271
  }),
8038
- React49.createElement(
8272
+ React50.createElement(
8039
8273
  "span",
8040
8274
  {
8041
8275
  key: "label",
@@ -8045,7 +8279,7 @@ function Calendar({
8045
8279
  )
8046
8280
  ]
8047
8281
  ),
8048
- React49.createElement(
8282
+ React50.createElement(
8049
8283
  "div",
8050
8284
  {
8051
8285
  key: "dates",
@@ -8056,7 +8290,7 @@ function Calendar({
8056
8290
  ];
8057
8291
  if (selected.length > 5) {
8058
8292
  elements.push(
8059
- React49.createElement(
8293
+ React50.createElement(
8060
8294
  "p",
8061
8295
  {
8062
8296
  key: "more",
@@ -8066,7 +8300,7 @@ function Calendar({
8066
8300
  )
8067
8301
  );
8068
8302
  }
8069
- return React49.createElement(
8303
+ return React50.createElement(
8070
8304
  "div",
8071
8305
  {
8072
8306
  className: "p-3 border rounded-lg bg-muted/50 max-h-48 overflow-y-auto"
@@ -8081,7 +8315,7 @@ function Calendar({
8081
8315
  const elements = [];
8082
8316
  if ((quickSelect || presets) && activePresets.length > 0) {
8083
8317
  const presetButtons = activePresets.map(
8084
- (preset, index) => React49.createElement(
8318
+ (preset, index) => React50.createElement(
8085
8319
  "button",
8086
8320
  {
8087
8321
  key: index,
@@ -8090,19 +8324,19 @@ function Calendar({
8090
8324
  },
8091
8325
  [
8092
8326
  preset.icon,
8093
- React49.createElement("span", { key: "label" }, preset.label)
8327
+ React50.createElement("span", { key: "label" }, preset.label)
8094
8328
  ]
8095
8329
  )
8096
8330
  );
8097
8331
  elements.push(
8098
- React49.createElement(
8332
+ React50.createElement(
8099
8333
  "div",
8100
8334
  {
8101
8335
  key: "presets",
8102
8336
  className: "space-y-2"
8103
8337
  },
8104
8338
  [
8105
- React49.createElement(
8339
+ React50.createElement(
8106
8340
  "h5",
8107
8341
  {
8108
8342
  key: "title",
@@ -8110,7 +8344,7 @@ function Calendar({
8110
8344
  },
8111
8345
  "Quick Select:"
8112
8346
  ),
8113
- React49.createElement(
8347
+ React50.createElement(
8114
8348
  "div",
8115
8349
  {
8116
8350
  key: "buttons",
@@ -8135,7 +8369,7 @@ function Calendar({
8135
8369
  label = "Clear Range";
8136
8370
  }
8137
8371
  elements.push(
8138
- React49.createElement(
8372
+ React50.createElement(
8139
8373
  "button",
8140
8374
  {
8141
8375
  key: "clear",
@@ -8151,7 +8385,7 @@ function Calendar({
8151
8385
  disabled
8152
8386
  },
8153
8387
  [
8154
- React49.createElement(RotateCcw, {
8388
+ React50.createElement(RotateCcw, {
8155
8389
  key: "icon",
8156
8390
  className: "mr-1 h-3 w-3"
8157
8391
  }),
@@ -8160,7 +8394,7 @@ function Calendar({
8160
8394
  )
8161
8395
  );
8162
8396
  }
8163
- return React49.createElement(
8397
+ return React50.createElement(
8164
8398
  "div",
8165
8399
  {
8166
8400
  className: cn("space-y-3", sidebarClassName)
@@ -8168,7 +8402,7 @@ function Calendar({
8168
8402
  elements
8169
8403
  );
8170
8404
  };
8171
- const calendarElement = React49.createElement(DayPicker, {
8405
+ const calendarElement = React50.createElement(DayPicker, {
8172
8406
  showOutsideDays,
8173
8407
  className: cn(
8174
8408
  "bg-background group/calendar p-4 border rounded-lg shadow-sm [--cell-size:theme(spacing.10)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
@@ -8270,7 +8504,7 @@ function Calendar({
8270
8504
  },
8271
8505
  components: {
8272
8506
  Root: ({ className: className2, rootRef, ...props2 }) => {
8273
- return React49.createElement("div", {
8507
+ return React50.createElement("div", {
8274
8508
  "data-slot": "calendar",
8275
8509
  ref: rootRef,
8276
8510
  className: cn(className2),
@@ -8279,28 +8513,28 @@ function Calendar({
8279
8513
  },
8280
8514
  Chevron: ({ className: className2, orientation, ...props2 }) => {
8281
8515
  if (orientation === "left") {
8282
- return React49.createElement(ChevronLeft, {
8516
+ return React50.createElement(ChevronLeft, {
8283
8517
  className: cn("size-4", className2),
8284
8518
  ...props2
8285
8519
  });
8286
8520
  }
8287
8521
  if (orientation === "right") {
8288
- return React49.createElement(ChevronRight, {
8522
+ return React50.createElement(ChevronRight, {
8289
8523
  className: cn("size-4", className2),
8290
8524
  ...props2
8291
8525
  });
8292
8526
  }
8293
- return React49.createElement(ChevronDown, {
8527
+ return React50.createElement(ChevronDown, {
8294
8528
  className: cn("size-4", className2),
8295
8529
  ...props2
8296
8530
  });
8297
8531
  },
8298
8532
  DayButton: CalendarDayButton,
8299
8533
  WeekNumber: ({ children, ...props2 }) => {
8300
- return React49.createElement(
8534
+ return React50.createElement(
8301
8535
  "td",
8302
8536
  props2,
8303
- React49.createElement(
8537
+ React50.createElement(
8304
8538
  "div",
8305
8539
  {
8306
8540
  className: "flex size-10 items-center justify-center text-center text-sm font-medium text-muted-foreground"
@@ -8315,25 +8549,25 @@ function Calendar({
8315
8549
  });
8316
8550
  if (layout === "compact") {
8317
8551
  if (withCard) {
8318
- return React49.createElement(
8552
+ return React50.createElement(
8319
8553
  Card2,
8320
8554
  {
8321
8555
  className: cn("w-fit", cardClassName)
8322
8556
  },
8323
- React49.createElement(CardContent2, { className: "p-3" }, calendarElement)
8557
+ React50.createElement(CardContent2, { className: "p-3" }, calendarElement)
8324
8558
  );
8325
8559
  }
8326
8560
  return calendarElement;
8327
8561
  }
8328
8562
  if (layout === "inline") {
8329
- const sidebarElement2 = renderDateInfo() || renderQuickActions() ? React49.createElement(
8563
+ const sidebarElement2 = renderDateInfo() || renderQuickActions() ? React50.createElement(
8330
8564
  "div",
8331
8565
  {
8332
8566
  className: cn("min-w-[240px] space-y-3", sidebarClassName)
8333
8567
  },
8334
8568
  [renderDateInfo(), renderQuickActions()].filter(Boolean)
8335
8569
  ) : null;
8336
- const content = sidebarElement2 ? React49.createElement(
8570
+ const content = sidebarElement2 ? React50.createElement(
8337
8571
  "div",
8338
8572
  {
8339
8573
  className: cn("flex gap-4 items-start", containerClassName)
@@ -8341,25 +8575,25 @@ function Calendar({
8341
8575
  [calendarElement, sidebarElement2]
8342
8576
  ) : calendarElement;
8343
8577
  if (withCard) {
8344
- return React49.createElement(
8578
+ return React50.createElement(
8345
8579
  Card2,
8346
8580
  {
8347
8581
  className: cn("w-fit", cardClassName)
8348
8582
  },
8349
8583
  [
8350
- (cardTitle || cardDescription) && React49.createElement(CardHeader2, { key: "header" }, [
8351
- cardTitle && React49.createElement(
8584
+ (cardTitle || cardDescription) && React50.createElement(CardHeader2, { key: "header" }, [
8585
+ cardTitle && React50.createElement(
8352
8586
  CardTitle2,
8353
8587
  { key: "title", className: "text-base" },
8354
8588
  cardTitle
8355
8589
  ),
8356
- cardDescription && React49.createElement(
8590
+ cardDescription && React50.createElement(
8357
8591
  CardDescription2,
8358
8592
  { key: "desc" },
8359
8593
  cardDescription
8360
8594
  )
8361
8595
  ]),
8362
- React49.createElement(
8596
+ React50.createElement(
8363
8597
  CardContent2,
8364
8598
  {
8365
8599
  key: "content",
@@ -8372,7 +8606,7 @@ function Calendar({
8372
8606
  }
8373
8607
  return content;
8374
8608
  }
8375
- const sidebarElement = renderDateInfo() || renderQuickActions() ? React49.createElement(
8609
+ const sidebarElement = renderDateInfo() || renderQuickActions() ? React50.createElement(
8376
8610
  "div",
8377
8611
  {
8378
8612
  className: cn("min-w-[240px] space-y-3", sidebarClassName)
@@ -8380,7 +8614,7 @@ function Calendar({
8380
8614
  [renderDateInfo(), renderQuickActions()].filter(Boolean)
8381
8615
  ) : null;
8382
8616
  if (withCard) {
8383
- const cardElement = React49.createElement(
8617
+ const cardElement = React50.createElement(
8384
8618
  Card2,
8385
8619
  {
8386
8620
  className: cn(
@@ -8391,19 +8625,19 @@ function Calendar({
8391
8625
  )
8392
8626
  },
8393
8627
  [
8394
- (cardTitle || cardDescription) && React49.createElement(CardHeader2, { key: "header" }, [
8395
- cardTitle && React49.createElement(
8628
+ (cardTitle || cardDescription) && React50.createElement(CardHeader2, { key: "header" }, [
8629
+ cardTitle && React50.createElement(
8396
8630
  CardTitle2,
8397
8631
  { key: "title", className: "text-base" },
8398
8632
  cardTitle
8399
8633
  ),
8400
- cardDescription && React49.createElement(
8634
+ cardDescription && React50.createElement(
8401
8635
  CardDescription2,
8402
8636
  { key: "desc" },
8403
8637
  cardDescription
8404
8638
  )
8405
8639
  ]),
8406
- React49.createElement(
8640
+ React50.createElement(
8407
8641
  CardContent2,
8408
8642
  {
8409
8643
  key: "content",
@@ -8414,7 +8648,7 @@ function Calendar({
8414
8648
  ].filter(Boolean)
8415
8649
  );
8416
8650
  if (sidebarElement) {
8417
- return React49.createElement(
8651
+ return React50.createElement(
8418
8652
  "div",
8419
8653
  {
8420
8654
  className: cn("flex gap-4 flex-wrap items-start", containerClassName)
@@ -8425,7 +8659,7 @@ function Calendar({
8425
8659
  return cardElement;
8426
8660
  }
8427
8661
  if (sidebarElement) {
8428
- return React49.createElement(
8662
+ return React50.createElement(
8429
8663
  "div",
8430
8664
  {
8431
8665
  className: cn("flex gap-4 flex-wrap items-start", containerClassName)
@@ -8442,8 +8676,8 @@ function CalendarDayButton({
8442
8676
  ...props
8443
8677
  }) {
8444
8678
  const defaultClassNames = getDefaultClassNames();
8445
- const ref = React49.useRef(null);
8446
- React49.useEffect(() => {
8679
+ const ref = React50.useRef(null);
8680
+ React50.useEffect(() => {
8447
8681
  if (modifiers.focused) ref.current?.focus();
8448
8682
  }, [modifiers.focused]);
8449
8683
  return /* @__PURE__ */ jsx(
@@ -10059,7 +10293,7 @@ var pickerVariants = cva("w-full justify-start text-left font-normal", {
10059
10293
  variant: "outlined"
10060
10294
  }
10061
10295
  });
10062
- var DatePicker = React49.forwardRef(
10296
+ var DatePicker = React50.forwardRef(
10063
10297
  ({
10064
10298
  date,
10065
10299
  onDateChange,
@@ -10106,7 +10340,7 @@ var DatePicker = React49.forwardRef(
10106
10340
  }
10107
10341
  );
10108
10342
  DatePicker.displayName = "DatePicker";
10109
- var DateRangePicker = React49.forwardRef(
10343
+ var DateRangePicker = React50.forwardRef(
10110
10344
  ({
10111
10345
  dateRange,
10112
10346
  onDateRangeChange,
@@ -10164,15 +10398,15 @@ DateRangePicker.displayName = "DateRangePicker";
10164
10398
 
10165
10399
  // src/components/ui/carousel/index.tsx
10166
10400
  init_utils();
10167
- var CarouselContext = React49.createContext(null);
10401
+ var CarouselContext = React50.createContext(null);
10168
10402
  function useCarousel() {
10169
- const context = React49.useContext(CarouselContext);
10403
+ const context = React50.useContext(CarouselContext);
10170
10404
  if (!context) {
10171
10405
  throw new Error("useCarousel must be used within a <Carousel />");
10172
10406
  }
10173
10407
  return context;
10174
10408
  }
10175
- var Carousel = React49.forwardRef(
10409
+ var Carousel = React50.forwardRef(
10176
10410
  ({
10177
10411
  orientation = "horizontal",
10178
10412
  opts,
@@ -10189,22 +10423,22 @@ var Carousel = React49.forwardRef(
10189
10423
  },
10190
10424
  plugins
10191
10425
  );
10192
- const [canScrollPrev, setCanScrollPrev] = React49.useState(false);
10193
- const [canScrollNext, setCanScrollNext] = React49.useState(false);
10194
- const onSelect = React49.useCallback((api2) => {
10426
+ const [canScrollPrev, setCanScrollPrev] = React50.useState(false);
10427
+ const [canScrollNext, setCanScrollNext] = React50.useState(false);
10428
+ const onSelect = React50.useCallback((api2) => {
10195
10429
  if (!api2) {
10196
10430
  return;
10197
10431
  }
10198
10432
  setCanScrollPrev(api2.canScrollPrev());
10199
10433
  setCanScrollNext(api2.canScrollNext());
10200
10434
  }, []);
10201
- const scrollPrev = React49.useCallback(() => {
10435
+ const scrollPrev = React50.useCallback(() => {
10202
10436
  api?.scrollPrev();
10203
10437
  }, [api]);
10204
- const scrollNext = React49.useCallback(() => {
10438
+ const scrollNext = React50.useCallback(() => {
10205
10439
  api?.scrollNext();
10206
10440
  }, [api]);
10207
- const handleKeyDown = React49.useCallback(
10441
+ const handleKeyDown = React50.useCallback(
10208
10442
  (event) => {
10209
10443
  if (event.key === "ArrowLeft") {
10210
10444
  event.preventDefault();
@@ -10216,13 +10450,13 @@ var Carousel = React49.forwardRef(
10216
10450
  },
10217
10451
  [scrollPrev, scrollNext]
10218
10452
  );
10219
- React49.useEffect(() => {
10453
+ React50.useEffect(() => {
10220
10454
  if (!api || !setApi) {
10221
10455
  return;
10222
10456
  }
10223
10457
  setApi(api);
10224
10458
  }, [api, setApi]);
10225
- React49.useEffect(() => {
10459
+ React50.useEffect(() => {
10226
10460
  if (!api) {
10227
10461
  return;
10228
10462
  }
@@ -10251,7 +10485,11 @@ var Carousel = React49.forwardRef(
10251
10485
  {
10252
10486
  ref,
10253
10487
  onKeyDownCapture: handleKeyDown,
10254
- className: cn("relative", className),
10488
+ className: cn(
10489
+ "relative",
10490
+ orientation === "vertical" && "h-full",
10491
+ className
10492
+ ),
10255
10493
  role: "region",
10256
10494
  "aria-roledescription": "carousel",
10257
10495
  ...props,
@@ -10263,9 +10501,9 @@ var Carousel = React49.forwardRef(
10263
10501
  }
10264
10502
  );
10265
10503
  Carousel.displayName = "Carousel";
10266
- var CarouselContent = React49.forwardRef(({ className, ...props }, ref) => {
10504
+ var CarouselContent = React50.forwardRef(({ className, ...props }, ref) => {
10267
10505
  const { carouselRef, orientation } = useCarousel();
10268
- return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
10506
+ return /* @__PURE__ */ jsx("div", { ref: carouselRef, className: "overflow-hidden h-full", children: /* @__PURE__ */ jsx(
10269
10507
  "div",
10270
10508
  {
10271
10509
  ref,
@@ -10279,7 +10517,7 @@ var CarouselContent = React49.forwardRef(({ className, ...props }, ref) => {
10279
10517
  ) });
10280
10518
  });
10281
10519
  CarouselContent.displayName = "CarouselContent";
10282
- var CarouselItem = React49.forwardRef(({ className, ...props }, ref) => {
10520
+ var CarouselItem = React50.forwardRef(({ className, ...props }, ref) => {
10283
10521
  const { orientation } = useCarousel();
10284
10522
  return /* @__PURE__ */ jsx(
10285
10523
  "div",
@@ -10297,7 +10535,7 @@ var CarouselItem = React49.forwardRef(({ className, ...props }, ref) => {
10297
10535
  );
10298
10536
  });
10299
10537
  CarouselItem.displayName = "CarouselItem";
10300
- var CarouselPrevious = React49.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
10538
+ var CarouselPrevious = React50.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
10301
10539
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
10302
10540
  return /* @__PURE__ */ jsxs(
10303
10541
  Button,
@@ -10306,8 +10544,8 @@ var CarouselPrevious = React49.forwardRef(({ className, variant = "outline", siz
10306
10544
  variant,
10307
10545
  size,
10308
10546
  className: cn(
10309
- "absolute h-8 w-8 rounded-full",
10310
- orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
10547
+ "absolute z-10 h-8 w-8 rounded-full",
10548
+ orientation === "horizontal" ? "left-2 top-1/2 -translate-y-[1rem]" : "top-2 left-1/2 -translate-x-[1rem] rotate-90",
10311
10549
  className
10312
10550
  ),
10313
10551
  disabled: !canScrollPrev,
@@ -10321,7 +10559,7 @@ var CarouselPrevious = React49.forwardRef(({ className, variant = "outline", siz
10321
10559
  );
10322
10560
  });
10323
10561
  CarouselPrevious.displayName = "CarouselPrevious";
10324
- var CarouselNext = React49.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
10562
+ var CarouselNext = React50.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
10325
10563
  const { orientation, scrollNext, canScrollNext } = useCarousel();
10326
10564
  return /* @__PURE__ */ jsxs(
10327
10565
  Button,
@@ -10330,8 +10568,8 @@ var CarouselNext = React49.forwardRef(({ className, variant = "outline", size =
10330
10568
  variant,
10331
10569
  size,
10332
10570
  className: cn(
10333
- "absolute h-8 w-8 rounded-full",
10334
- orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
10571
+ "absolute z-10 h-8 w-8 rounded-full",
10572
+ orientation === "horizontal" ? "right-2 top-1/2 -translate-y-[1rem]" : "bottom-2 left-1/2 -translate-x-[1rem] rotate-90",
10335
10573
  className
10336
10574
  ),
10337
10575
  disabled: !canScrollNext,
@@ -10360,10 +10598,10 @@ function SimpleCarousel({
10360
10598
  nextArrow,
10361
10599
  onSlideChange
10362
10600
  }) {
10363
- const [api, setApi] = React49.useState();
10364
- const [current, setCurrent] = React49.useState(0);
10365
- const [count, setCount] = React49.useState(0);
10366
- React49.useEffect(() => {
10601
+ const [api, setApi] = React50.useState();
10602
+ const [current, setCurrent] = React50.useState(0);
10603
+ const [count, setCount] = React50.useState(0);
10604
+ React50.useEffect(() => {
10367
10605
  if (!api) {
10368
10606
  return;
10369
10607
  }
@@ -10375,7 +10613,7 @@ function SimpleCarousel({
10375
10613
  onSlideChange?.(selectedIndex);
10376
10614
  });
10377
10615
  }, [api, onSlideChange]);
10378
- React49.useEffect(() => {
10616
+ React50.useEffect(() => {
10379
10617
  if (!api || !autoPlay) {
10380
10618
  return;
10381
10619
  }
@@ -10389,55 +10627,65 @@ function SimpleCarousel({
10389
10627
  return () => clearInterval(interval);
10390
10628
  }, [api, autoPlay, loop]);
10391
10629
  const slideWidth = slidesToShow > 1 ? `${100 / slidesToShow}%` : "100%";
10392
- return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
10393
- /* @__PURE__ */ jsxs(
10394
- Carousel,
10395
- {
10396
- setApi,
10397
- opts: {
10398
- align: "start",
10399
- loop
10400
- },
10401
- orientation,
10402
- className: cn("w-full mx-auto", containerClassName),
10403
- children: [
10404
- /* @__PURE__ */ jsx(CarouselContent, { children: items.map((item, index) => /* @__PURE__ */ jsx(
10405
- CarouselItem,
10406
- {
10407
- className: cn(itemClassName, item.className),
10408
- style: { flexBasis: slideWidth },
10409
- onClick: item.onClick,
10410
- children: item.content
10630
+ return /* @__PURE__ */ jsxs(
10631
+ "div",
10632
+ {
10633
+ className: cn("w-full", orientation === "vertical" && "h-64", className),
10634
+ children: [
10635
+ /* @__PURE__ */ jsxs(
10636
+ Carousel,
10637
+ {
10638
+ setApi,
10639
+ opts: {
10640
+ align: "start",
10641
+ loop
10411
10642
  },
10412
- item.id || index
10413
- )) }),
10414
- showArrows && /* @__PURE__ */ jsxs(Fragment, { children: [
10415
- prevArrow || /* @__PURE__ */ jsx(CarouselPrevious, {}),
10416
- nextArrow || /* @__PURE__ */ jsx(CarouselNext, {})
10417
- ] })
10418
- ]
10419
- }
10420
- ),
10421
- showDots && /* @__PURE__ */ jsx("div", { className: "flex justify-center space-x-2 mt-4", children: Array.from({ length: count }).map((_, index) => /* @__PURE__ */ jsx(
10422
- Button,
10423
- {
10424
- variant: "ghost",
10425
- className: cn(
10426
- "h-2 w-2 rounded-full transition-colors",
10427
- current === index + 1 ? "bg-primary" : "bg-primary/20 hover:bg-primary/40"
10643
+ orientation,
10644
+ className: cn(
10645
+ "w-full mx-auto",
10646
+ orientation === "vertical" && "h-full",
10647
+ containerClassName
10648
+ ),
10649
+ children: [
10650
+ /* @__PURE__ */ jsx(CarouselContent, { children: items.map((item, index) => /* @__PURE__ */ jsx(
10651
+ CarouselItem,
10652
+ {
10653
+ className: cn(itemClassName, item.className),
10654
+ style: { flexBasis: slideWidth },
10655
+ onClick: item.onClick,
10656
+ children: item.content
10657
+ },
10658
+ item.id || index
10659
+ )) }),
10660
+ showArrows && /* @__PURE__ */ jsxs(Fragment, { children: [
10661
+ prevArrow || /* @__PURE__ */ jsx(CarouselPrevious, {}),
10662
+ nextArrow || /* @__PURE__ */ jsx(CarouselNext, {})
10663
+ ] })
10664
+ ]
10665
+ }
10428
10666
  ),
10429
- onClick: () => api?.scrollTo(index),
10430
- "aria-label": `Go to slide ${index + 1}`
10431
- },
10432
- index
10433
- )) }),
10434
- count > 0 && /* @__PURE__ */ jsxs("div", { className: "py-2 text-center text-sm text-muted-foreground", children: [
10435
- "Slide ",
10436
- current,
10437
- " of ",
10438
- count
10439
- ] })
10440
- ] });
10667
+ showDots && /* @__PURE__ */ jsx("div", { className: "flex justify-center space-x-2 mt-4", children: Array.from({ length: count }).map((_, index) => /* @__PURE__ */ jsx(
10668
+ Button,
10669
+ {
10670
+ variant: "ghost",
10671
+ className: cn(
10672
+ "h-2 w-2 rounded-full transition-colors",
10673
+ current === index + 1 ? "bg-primary" : "bg-primary/20 hover:bg-primary/40"
10674
+ ),
10675
+ onClick: () => api?.scrollTo(index),
10676
+ "aria-label": `Go to slide ${index + 1}`
10677
+ },
10678
+ index
10679
+ )) }),
10680
+ count > 0 && /* @__PURE__ */ jsxs("div", { className: "py-2 text-center text-sm text-muted-foreground", children: [
10681
+ "Slide ",
10682
+ current,
10683
+ " of ",
10684
+ count
10685
+ ] })
10686
+ ]
10687
+ }
10688
+ );
10441
10689
  }
10442
10690
 
10443
10691
  // src/components/ui/typography/index.tsx
@@ -10515,7 +10763,7 @@ var typeToTag = {
10515
10763
  list: "ul",
10516
10764
  "list-item": "li"
10517
10765
  };
10518
- var Typography = React49.forwardRef(
10766
+ var Typography = React50.forwardRef(
10519
10767
  ({
10520
10768
  type,
10521
10769
  size,
@@ -10552,7 +10800,7 @@ var Typography = React49.forwardRef(
10552
10800
  );
10553
10801
  Typography.displayName = "Typography";
10554
10802
  function createWrapper(fixedType) {
10555
- return React49.forwardRef(
10803
+ return React50.forwardRef(
10556
10804
  ({ ...props }, ref) => /* @__PURE__ */ jsx(Typography, { ref, type: fixedType, ...props })
10557
10805
  );
10558
10806
  }
@@ -10599,6 +10847,667 @@ var TypographyGroup = {
10599
10847
  // src/index.ts
10600
10848
  init_utils();
10601
10849
 
10602
- export { Accordion, Alert, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AspectRatio, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Blockquote, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, Collapsible, CollapsibleContent, CollapsibleItem, CollapsibleTrigger, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DatePicker, DateRangePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DotsSpinner, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, Field, Form, FormItem, FormList, H1, H2, H3, H4, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, InlineCode, Input, InputGroup, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item9 as Item, ItemGroup, ItemList, ItemSeparator, Label, Lead, List3 as List, ListItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Muted, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, P, Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationItem, PaginationLast, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ProductCard, ProfileCard, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator5 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SimpleAvatar, SimpleCard, SimpleCarousel, SimpleTable, SimpleTabs, SimpleTooltip, Skeleton, SkeletonCard, Slider, Small, Spinner, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toast, ToastProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Typography, TypographyGroup, alertVariants, avatarVariants, badgeVariants, buttonVariants, cardVariants, checkboxVariants, cn, composeRules, emailRule, emptyVariants, fieldVariants, getInitials, inputGroupVariants, inputVariants, itemVariants, labelVariants, maxLengthRule, maxValueRule, minLengthRule, minValueRule, navigationMenuTriggerStyle, numberRule, patternRule, progressVariants, radioGroupVariants, requiredRule, separatorVariants, skeletonVariants, spinnerVariants, tableVariants, textareaVariants, toastVariants, toggleGroupVariants, toggleVariants, urlRule, useCarousel, useForm, useSidebar, useToast, useWatch };
10850
+ // src/components/ui/charts/chart-theme.ts
10851
+ var getCSSVariable = (name) => {
10852
+ if (typeof window === "undefined") return "";
10853
+ return getComputedStyle(document.documentElement).getPropertyValue(name).trim();
10854
+ };
10855
+ var CHART_COLORS = {
10856
+ primary: "var(--chart-1)",
10857
+ secondary: "var(--chart-2)",
10858
+ tertiary: "var(--chart-3)",
10859
+ quaternary: "var(--chart-4)",
10860
+ quinary: "var(--chart-5)",
10861
+ // Semantic colors (fixed values)
10862
+ success: "#22a55b",
10863
+ warning: "#f59e0b",
10864
+ error: "#ef4444",
10865
+ info: "var(--chart-1)",
10866
+ // Neutral - uses theme variables
10867
+ muted: "var(--muted-foreground)",
10868
+ foreground: "var(--foreground)",
10869
+ background: "var(--background)",
10870
+ grid: "var(--border)"
10871
+ };
10872
+ var CHART_PALETTE = [
10873
+ CHART_COLORS.primary,
10874
+ CHART_COLORS.secondary,
10875
+ CHART_COLORS.tertiary,
10876
+ CHART_COLORS.quaternary,
10877
+ CHART_COLORS.quinary,
10878
+ CHART_COLORS.success,
10879
+ CHART_COLORS.warning,
10880
+ CHART_COLORS.error
10881
+ ];
10882
+ var getThemeColors = () => {
10883
+ const chart1 = getCSSVariable("--chart-1");
10884
+ const primary = getCSSVariable("--primary");
10885
+ return {
10886
+ primary: chart1 || primary || "#007bff",
10887
+ chart1: chart1 || "#007bff",
10888
+ chart2: getCSSVariable("--chart-2") || "#3d9bff",
10889
+ chart3: getCSSVariable("--chart-3") || "#7abaff",
10890
+ chart4: getCSSVariable("--chart-4") || "#0563c7",
10891
+ chart5: getCSSVariable("--chart-5") || "#084f9b",
10892
+ foreground: getCSSVariable("--foreground") || "#23252a",
10893
+ muted: getCSSVariable("--muted-foreground") || "#616875",
10894
+ grid: getCSSVariable("--border") || "#dbdde1",
10895
+ background: getCSSVariable("--background") || "#fff"
10896
+ };
10897
+ };
10898
+ var tooltipStyle = {
10899
+ backgroundColor: "var(--popover)",
10900
+ border: "1px solid var(--border)",
10901
+ borderRadius: "6px",
10902
+ padding: "8px 12px",
10903
+ boxShadow: "0 4px 6px -1px rgb(0 0 0 / 0.1)",
10904
+ color: "var(--foreground)"
10905
+ };
10906
+ var legendStyle = {
10907
+ fontSize: "12px",
10908
+ color: "var(--muted-foreground, #616875)"
10909
+ };
10910
+ function LineChart({
10911
+ data,
10912
+ xAxisKey,
10913
+ lines,
10914
+ width = "100%",
10915
+ height = 300,
10916
+ showGrid = true,
10917
+ showTooltip = true,
10918
+ showLegend = true,
10919
+ showXAxis = true,
10920
+ showYAxis = true,
10921
+ margin = { top: 20, right: 30, left: 20, bottom: 5 },
10922
+ className
10923
+ }) {
10924
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width, height, children: /* @__PURE__ */ jsxs(LineChart$1, { data, margin, children: [
10925
+ showGrid && /* @__PURE__ */ jsx(
10926
+ CartesianGrid,
10927
+ {
10928
+ strokeDasharray: "3 3",
10929
+ stroke: CHART_COLORS.grid,
10930
+ strokeOpacity: 0.5
10931
+ }
10932
+ ),
10933
+ showXAxis && /* @__PURE__ */ jsx(
10934
+ XAxis,
10935
+ {
10936
+ dataKey: xAxisKey,
10937
+ stroke: CHART_COLORS.muted,
10938
+ fontSize: 12,
10939
+ tickLine: false,
10940
+ axisLine: false
10941
+ }
10942
+ ),
10943
+ showYAxis && /* @__PURE__ */ jsx(
10944
+ YAxis,
10945
+ {
10946
+ stroke: CHART_COLORS.muted,
10947
+ fontSize: 12,
10948
+ tickLine: false,
10949
+ axisLine: false
10950
+ }
10951
+ ),
10952
+ showTooltip && /* @__PURE__ */ jsx(
10953
+ Tooltip$1,
10954
+ {
10955
+ contentStyle: tooltipStyle,
10956
+ labelStyle: { color: CHART_COLORS.foreground, fontWeight: 500 }
10957
+ }
10958
+ ),
10959
+ showLegend && /* @__PURE__ */ jsx(Legend, {}),
10960
+ lines.map((line, index) => /* @__PURE__ */ jsx(
10961
+ Line,
10962
+ {
10963
+ type: line.type ?? "monotone",
10964
+ dataKey: line.dataKey,
10965
+ name: line.name ?? line.dataKey,
10966
+ stroke: line.stroke ?? CHART_PALETTE[index % CHART_PALETTE.length],
10967
+ strokeWidth: line.strokeWidth ?? 2,
10968
+ dot: line.dot ?? false,
10969
+ activeDot: { r: 4 }
10970
+ },
10971
+ line.dataKey
10972
+ ))
10973
+ ] }) }) });
10974
+ }
10975
+ function BarChart({
10976
+ data,
10977
+ xAxisKey,
10978
+ bars,
10979
+ width = "100%",
10980
+ height = 300,
10981
+ showGrid = true,
10982
+ showTooltip = true,
10983
+ showLegend = true,
10984
+ layout = "horizontal",
10985
+ margin,
10986
+ className
10987
+ }) {
10988
+ const defaultMargin = layout === "vertical" ? { top: 20, right: 30, left: 60, bottom: 5 } : { top: 20, right: 30, left: 20, bottom: 5 };
10989
+ const chartMargin = margin ?? defaultMargin;
10990
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width, height, children: /* @__PURE__ */ jsxs(BarChart$1, { data, layout, margin: chartMargin, children: [
10991
+ showGrid && /* @__PURE__ */ jsx(
10992
+ CartesianGrid,
10993
+ {
10994
+ strokeDasharray: "3 3",
10995
+ stroke: CHART_COLORS.grid,
10996
+ strokeOpacity: 0.5
10997
+ }
10998
+ ),
10999
+ layout === "horizontal" ? /* @__PURE__ */ jsxs(Fragment, { children: [
11000
+ /* @__PURE__ */ jsx(
11001
+ XAxis,
11002
+ {
11003
+ dataKey: xAxisKey,
11004
+ stroke: CHART_COLORS.muted,
11005
+ fontSize: 12,
11006
+ tickLine: false,
11007
+ axisLine: false
11008
+ }
11009
+ ),
11010
+ /* @__PURE__ */ jsx(
11011
+ YAxis,
11012
+ {
11013
+ stroke: CHART_COLORS.muted,
11014
+ fontSize: 12,
11015
+ tickLine: false,
11016
+ axisLine: false
11017
+ }
11018
+ )
11019
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
11020
+ /* @__PURE__ */ jsx(
11021
+ XAxis,
11022
+ {
11023
+ type: "number",
11024
+ domain: [0, "dataMax"],
11025
+ stroke: CHART_COLORS.muted,
11026
+ fontSize: 12,
11027
+ tickLine: false,
11028
+ axisLine: false
11029
+ }
11030
+ ),
11031
+ /* @__PURE__ */ jsx(
11032
+ YAxis,
11033
+ {
11034
+ dataKey: xAxisKey,
11035
+ type: "category",
11036
+ width: 80,
11037
+ stroke: CHART_COLORS.muted,
11038
+ fontSize: 12,
11039
+ tickLine: false,
11040
+ axisLine: false
11041
+ }
11042
+ )
11043
+ ] }),
11044
+ showTooltip && /* @__PURE__ */ jsx(
11045
+ Tooltip$1,
11046
+ {
11047
+ contentStyle: tooltipStyle,
11048
+ labelStyle: { color: CHART_COLORS.foreground, fontWeight: 500 }
11049
+ }
11050
+ ),
11051
+ showLegend && /* @__PURE__ */ jsx(Legend, {}),
11052
+ bars.map((bar, index) => {
11053
+ const defaultRadius = layout === "vertical" ? [0, 4, 4, 0] : [4, 4, 0, 0];
11054
+ return /* @__PURE__ */ jsx(
11055
+ Bar,
11056
+ {
11057
+ dataKey: bar.dataKey,
11058
+ name: bar.name ?? bar.dataKey,
11059
+ fill: bar.fill ?? CHART_PALETTE[index % CHART_PALETTE.length],
11060
+ stackId: bar.stackId,
11061
+ radius: bar.radius ?? defaultRadius
11062
+ },
11063
+ bar.dataKey
11064
+ );
11065
+ })
11066
+ ] }) }) });
11067
+ }
11068
+ function PieChart({
11069
+ data,
11070
+ dataKey = "value",
11071
+ nameKey = "name",
11072
+ width = "100%",
11073
+ height = 300,
11074
+ showTooltip = true,
11075
+ showLegend = true,
11076
+ innerRadius = 0,
11077
+ outerRadius = 80,
11078
+ showLabel = false,
11079
+ margin = { top: 20, right: 30, left: 20, bottom: 5 },
11080
+ className
11081
+ }) {
11082
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width, height, children: /* @__PURE__ */ jsxs(PieChart$1, { margin, children: [
11083
+ /* @__PURE__ */ jsx(
11084
+ Pie,
11085
+ {
11086
+ data,
11087
+ dataKey,
11088
+ nameKey,
11089
+ cx: "50%",
11090
+ cy: "50%",
11091
+ innerRadius,
11092
+ outerRadius,
11093
+ label: showLabel,
11094
+ labelLine: showLabel,
11095
+ children: data.map((entry, index) => /* @__PURE__ */ jsx(
11096
+ Cell,
11097
+ {
11098
+ fill: entry.fill ?? CHART_PALETTE[index % CHART_PALETTE.length]
11099
+ },
11100
+ `cell-${index}`
11101
+ ))
11102
+ }
11103
+ ),
11104
+ showTooltip && /* @__PURE__ */ jsx(
11105
+ Tooltip$1,
11106
+ {
11107
+ contentStyle: tooltipStyle,
11108
+ labelStyle: { color: CHART_COLORS.foreground, fontWeight: 500 }
11109
+ }
11110
+ ),
11111
+ showLegend && /* @__PURE__ */ jsx(Legend, {})
11112
+ ] }) }) });
11113
+ }
11114
+ function AreaChart({
11115
+ data,
11116
+ xAxisKey,
11117
+ areas,
11118
+ width = "100%",
11119
+ height = 300,
11120
+ showGrid = true,
11121
+ showTooltip = true,
11122
+ showLegend = true,
11123
+ margin = { top: 20, right: 30, left: 20, bottom: 5 },
11124
+ className
11125
+ }) {
11126
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width, height, children: /* @__PURE__ */ jsxs(AreaChart$1, { data, margin, children: [
11127
+ showGrid && /* @__PURE__ */ jsx(
11128
+ CartesianGrid,
11129
+ {
11130
+ strokeDasharray: "3 3",
11131
+ stroke: CHART_COLORS.grid,
11132
+ strokeOpacity: 0.5
11133
+ }
11134
+ ),
11135
+ /* @__PURE__ */ jsx(
11136
+ XAxis,
11137
+ {
11138
+ dataKey: xAxisKey,
11139
+ stroke: CHART_COLORS.muted,
11140
+ fontSize: 12,
11141
+ tickLine: false,
11142
+ axisLine: false
11143
+ }
11144
+ ),
11145
+ /* @__PURE__ */ jsx(
11146
+ YAxis,
11147
+ {
11148
+ stroke: CHART_COLORS.muted,
11149
+ fontSize: 12,
11150
+ tickLine: false,
11151
+ axisLine: false
11152
+ }
11153
+ ),
11154
+ showTooltip && /* @__PURE__ */ jsx(
11155
+ Tooltip$1,
11156
+ {
11157
+ contentStyle: tooltipStyle,
11158
+ labelStyle: { color: CHART_COLORS.foreground, fontWeight: 500 }
11159
+ }
11160
+ ),
11161
+ showLegend && /* @__PURE__ */ jsx(Legend, {}),
11162
+ areas.map((area, index) => {
11163
+ const color = area.stroke ?? CHART_PALETTE[index % CHART_PALETTE.length];
11164
+ return /* @__PURE__ */ jsx(
11165
+ Area,
11166
+ {
11167
+ type: area.type ?? "monotone",
11168
+ dataKey: area.dataKey,
11169
+ name: area.name ?? area.dataKey,
11170
+ stroke: color,
11171
+ fill: area.fill ?? color,
11172
+ fillOpacity: area.fillOpacity ?? 0.3,
11173
+ stackId: area.stackId
11174
+ },
11175
+ area.dataKey
11176
+ );
11177
+ })
11178
+ ] }) }) });
11179
+ }
11180
+ function ScatterChart({
11181
+ series,
11182
+ xAxisKey,
11183
+ yAxisKey,
11184
+ zAxisKey,
11185
+ width = "100%",
11186
+ height = 300,
11187
+ showGrid = true,
11188
+ showTooltip = true,
11189
+ showLegend = true,
11190
+ margin = { top: 20, right: 30, left: 20, bottom: 5 },
11191
+ className
11192
+ }) {
11193
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width, height, children: /* @__PURE__ */ jsxs(ScatterChart$1, { margin, children: [
11194
+ showGrid && /* @__PURE__ */ jsx(
11195
+ CartesianGrid,
11196
+ {
11197
+ strokeDasharray: "3 3",
11198
+ stroke: CHART_COLORS.grid,
11199
+ strokeOpacity: 0.5
11200
+ }
11201
+ ),
11202
+ /* @__PURE__ */ jsx(
11203
+ XAxis,
11204
+ {
11205
+ dataKey: xAxisKey,
11206
+ type: "number",
11207
+ stroke: CHART_COLORS.muted,
11208
+ fontSize: 12,
11209
+ tickLine: false,
11210
+ axisLine: false
11211
+ }
11212
+ ),
11213
+ /* @__PURE__ */ jsx(
11214
+ YAxis,
11215
+ {
11216
+ dataKey: yAxisKey,
11217
+ type: "number",
11218
+ stroke: CHART_COLORS.muted,
11219
+ fontSize: 12,
11220
+ tickLine: false,
11221
+ axisLine: false
11222
+ }
11223
+ ),
11224
+ zAxisKey && /* @__PURE__ */ jsx(ZAxis, { dataKey: zAxisKey, range: [60, 400] }),
11225
+ showTooltip && /* @__PURE__ */ jsx(
11226
+ Tooltip$1,
11227
+ {
11228
+ contentStyle: tooltipStyle,
11229
+ labelStyle: { color: CHART_COLORS.foreground, fontWeight: 500 },
11230
+ cursor: { strokeDasharray: "3 3" }
11231
+ }
11232
+ ),
11233
+ showLegend && /* @__PURE__ */ jsx(Legend, {}),
11234
+ series.map((s, index) => /* @__PURE__ */ jsx(
11235
+ Scatter,
11236
+ {
11237
+ name: s.name,
11238
+ data: s.data,
11239
+ fill: s.fill ?? CHART_PALETTE[index % CHART_PALETTE.length]
11240
+ },
11241
+ s.name
11242
+ ))
11243
+ ] }) }) });
11244
+ }
11245
+ function RadarChart({
11246
+ data,
11247
+ angleKey,
11248
+ radars,
11249
+ width = "100%",
11250
+ height = 300,
11251
+ showTooltip = true,
11252
+ showLegend = true,
11253
+ outerRadius = "80%",
11254
+ margin = { top: 20, right: 30, left: 20, bottom: 5 },
11255
+ domain,
11256
+ className
11257
+ }) {
11258
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width, height, children: /* @__PURE__ */ jsxs(
11259
+ RadarChart$1,
11260
+ {
11261
+ data,
11262
+ margin,
11263
+ outerRadius,
11264
+ children: [
11265
+ /* @__PURE__ */ jsx(PolarGrid, { stroke: CHART_COLORS.grid, strokeOpacity: 0.5 }),
11266
+ /* @__PURE__ */ jsx(
11267
+ PolarAngleAxis,
11268
+ {
11269
+ dataKey: angleKey,
11270
+ stroke: CHART_COLORS.muted,
11271
+ fontSize: 12
11272
+ }
11273
+ ),
11274
+ /* @__PURE__ */ jsx(
11275
+ PolarRadiusAxis,
11276
+ {
11277
+ stroke: CHART_COLORS.muted,
11278
+ fontSize: 10,
11279
+ angle: 90,
11280
+ domain
11281
+ }
11282
+ ),
11283
+ showTooltip && /* @__PURE__ */ jsx(
11284
+ Tooltip$1,
11285
+ {
11286
+ contentStyle: tooltipStyle,
11287
+ labelStyle: { color: CHART_COLORS.foreground, fontWeight: 500 }
11288
+ }
11289
+ ),
11290
+ showLegend && /* @__PURE__ */ jsx(Legend, {}),
11291
+ radars.map((radar, index) => {
11292
+ const color = radar.stroke ?? CHART_PALETTE[index % CHART_PALETTE.length];
11293
+ return /* @__PURE__ */ jsx(
11294
+ Radar,
11295
+ {
11296
+ name: radar.name ?? radar.dataKey,
11297
+ dataKey: radar.dataKey,
11298
+ stroke: color,
11299
+ fill: radar.fill ?? color,
11300
+ fillOpacity: radar.fillOpacity ?? 0.3
11301
+ },
11302
+ radar.dataKey
11303
+ );
11304
+ })
11305
+ ]
11306
+ }
11307
+ ) }) });
11308
+ }
11309
+ var THEMES = {
11310
+ default: "default",
11311
+ sunset: "sunset",
11312
+ lavender: "lavender",
11313
+ rose: "rose",
11314
+ slate: "slate",
11315
+ midnight: "midnight",
11316
+ emerald: "emerald",
11317
+ amber: "amber",
11318
+ crimson: "crimson"
11319
+ };
11320
+ var THEME_CATALOG = [
11321
+ {
11322
+ name: "default",
11323
+ label: "Default (Toss Blue)",
11324
+ description: "Clean, professional blue theme",
11325
+ primaryColor: "hsl(211, 100%, 50%)"
11326
+ },
11327
+ {
11328
+ name: "sunset",
11329
+ label: "Sunset",
11330
+ description: "Warm orange for energy and creativity",
11331
+ primaryColor: "hsl(24, 95%, 53%)"
11332
+ },
11333
+ {
11334
+ name: "lavender",
11335
+ label: "Lavender",
11336
+ description: "Elegant purple for creative projects",
11337
+ primaryColor: "hsl(262, 83%, 58%)"
11338
+ },
11339
+ {
11340
+ name: "rose",
11341
+ label: "Rose",
11342
+ description: "Soft pink for modern, approachable design",
11343
+ primaryColor: "hsl(346, 77%, 50%)"
11344
+ },
11345
+ {
11346
+ name: "slate",
11347
+ label: "Slate",
11348
+ description: "Minimal gray for clean, professional look",
11349
+ primaryColor: "hsl(215, 16%, 47%)"
11350
+ },
11351
+ {
11352
+ name: "midnight",
11353
+ label: "Midnight",
11354
+ description: "Deep purple-blue optimized for dark mode",
11355
+ primaryColor: "hsl(240, 65%, 52%)"
11356
+ },
11357
+ {
11358
+ name: "emerald",
11359
+ label: "Emerald",
11360
+ description: "Fresh teal-green for tech-forward apps",
11361
+ primaryColor: "hsl(160, 84%, 39%)"
11362
+ },
11363
+ {
11364
+ name: "amber",
11365
+ label: "Amber",
11366
+ description: "Premium gold for attention-grabbing UI",
11367
+ primaryColor: "hsl(38, 92%, 50%)"
11368
+ },
11369
+ {
11370
+ name: "crimson",
11371
+ label: "Crimson",
11372
+ description: "Bold red for urgent, passionate design",
11373
+ primaryColor: "hsl(0, 84%, 50%)"
11374
+ }
11375
+ ];
11376
+ function getCurrentTheme() {
11377
+ if (typeof document === "undefined") return "default";
11378
+ const html = document.documentElement;
11379
+ for (const theme of Object.keys(THEMES)) {
11380
+ if (theme !== "default" && html.classList.contains(`theme-${theme}`)) {
11381
+ return theme;
11382
+ }
11383
+ }
11384
+ return "default";
11385
+ }
11386
+ function getCurrentMode() {
11387
+ if (typeof document === "undefined") return "light";
11388
+ return document.documentElement.classList.contains("dark") ? "dark" : "light";
11389
+ }
11390
+ function setTheme(theme) {
11391
+ if (typeof document === "undefined") return;
11392
+ const html = document.documentElement;
11393
+ for (const t of Object.keys(THEMES)) {
11394
+ if (t !== "default") {
11395
+ html.classList.remove(`theme-${t}`);
11396
+ }
11397
+ }
11398
+ if (theme !== "default") {
11399
+ html.classList.add(`theme-${theme}`);
11400
+ }
11401
+ try {
11402
+ localStorage.setItem("mvn-theme", theme);
11403
+ } catch {
11404
+ }
11405
+ }
11406
+ function setMode(mode) {
11407
+ if (typeof document === "undefined") return;
11408
+ const html = document.documentElement;
11409
+ if (mode === "system") {
11410
+ const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
11411
+ html.classList.toggle("dark", prefersDark);
11412
+ } else {
11413
+ html.classList.toggle("dark", mode === "dark");
11414
+ }
11415
+ try {
11416
+ localStorage.setItem("mvn-mode", mode);
11417
+ } catch {
11418
+ }
11419
+ }
11420
+ function initializeTheme() {
11421
+ if (typeof window === "undefined") return;
11422
+ try {
11423
+ const savedTheme = localStorage.getItem("mvn-theme");
11424
+ const savedMode = localStorage.getItem("mvn-mode");
11425
+ if (savedTheme && savedTheme in THEMES) {
11426
+ setTheme(savedTheme);
11427
+ }
11428
+ if (savedMode) {
11429
+ setMode(savedMode);
11430
+ } else {
11431
+ setMode("system");
11432
+ }
11433
+ } catch {
11434
+ }
11435
+ }
11436
+ var ThemeContext = createContext(void 0);
11437
+ function ThemeProvider({
11438
+ children,
11439
+ defaultTheme = "default",
11440
+ defaultMode = "system",
11441
+ storageKey = "mvn-theme"
11442
+ }) {
11443
+ const [theme, setThemeState] = useState(defaultTheme);
11444
+ const [mode, setModeState] = useState(defaultMode);
11445
+ const [resolvedMode, setResolvedMode] = useState("light");
11446
+ useEffect(() => {
11447
+ try {
11448
+ const savedTheme = localStorage.getItem(storageKey);
11449
+ const savedMode = localStorage.getItem(`${storageKey}-mode`);
11450
+ if (savedTheme && savedTheme in THEMES) {
11451
+ setThemeState(savedTheme);
11452
+ }
11453
+ if (savedMode) {
11454
+ setModeState(savedMode);
11455
+ }
11456
+ } catch {
11457
+ }
11458
+ }, [storageKey]);
11459
+ useEffect(() => {
11460
+ const html = document.documentElement;
11461
+ for (const t of Object.keys(THEMES)) {
11462
+ if (t !== "default") {
11463
+ html.classList.remove(`theme-${t}`);
11464
+ }
11465
+ }
11466
+ if (theme !== "default") {
11467
+ html.classList.add(`theme-${theme}`);
11468
+ }
11469
+ try {
11470
+ localStorage.setItem(storageKey, theme);
11471
+ } catch {
11472
+ }
11473
+ }, [theme, storageKey]);
11474
+ useEffect(() => {
11475
+ const html = document.documentElement;
11476
+ const applyMode = (isDark) => {
11477
+ html.classList.toggle("dark", isDark);
11478
+ setResolvedMode(isDark ? "dark" : "light");
11479
+ };
11480
+ if (mode === "system") {
11481
+ const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
11482
+ applyMode(mediaQuery.matches);
11483
+ const handler = (e) => applyMode(e.matches);
11484
+ mediaQuery.addEventListener("change", handler);
11485
+ return () => mediaQuery.removeEventListener("change", handler);
11486
+ } else {
11487
+ applyMode(mode === "dark");
11488
+ }
11489
+ try {
11490
+ localStorage.setItem(`${storageKey}-mode`, mode);
11491
+ } catch {
11492
+ }
11493
+ }, [mode, storageKey]);
11494
+ const value = {
11495
+ theme,
11496
+ mode,
11497
+ resolvedMode,
11498
+ setTheme: setThemeState,
11499
+ setMode: setModeState
11500
+ };
11501
+ return /* @__PURE__ */ jsx(ThemeContext.Provider, { value, children });
11502
+ }
11503
+ function useTheme2() {
11504
+ const context = useContext(ThemeContext);
11505
+ if (!context) {
11506
+ throw new Error("useTheme must be used within a ThemeProvider");
11507
+ }
11508
+ return context;
11509
+ }
11510
+
11511
+ export { Accordion, Alert, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AreaChart, AspectRatio, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, BarChart, Blockquote, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, CHART_COLORS, CHART_PALETTE, Calendar, CalendarDayButton, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, Collapsible, CollapsibleContent, CollapsibleItem, CollapsibleTrigger, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, DatePicker, DateRangePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DotsSpinner, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, Field, Form, FormItem, FormList, H1, H2, H3, H4, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, InlineCode, Input, InputGroup, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item9 as Item, ItemGroup, ItemList, ItemSeparator, Label, Lead, LineChart, List3 as List, ListItem, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, Muted, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, P, Pagination, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationItem, PaginationLast, PaginationLink, PaginationNext, PaginationPrevious, PieChart, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, ProductCard, ProfileCard, Progress, RadarChart, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScatterChart, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator5 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SimpleAvatar, SimpleCard, SimpleCarousel, SimpleTable, SimpleTabs, SimpleTooltip, Skeleton, SkeletonCard, Slider, Small, Spinner, Switch, THEMES, THEME_CATALOG, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider, Toast, ToastProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Typography, TypographyGroup, alertVariants, avatarVariants, badgeVariants, buttonVariants, cardVariants, checkboxVariants, cn, composeRules, emailRule, emptyVariants, fieldVariants, getCurrentMode, getCurrentTheme, getInitials, getThemeColors, initializeTheme, inputGroupVariants, inputVariants, itemVariants, labelVariants, legendStyle, maxLengthRule, maxValueRule, minLengthRule, minValueRule, navigationMenuTriggerStyle, numberRule, patternRule, progressVariants, radioGroupVariants, requiredRule, separatorVariants, setMode, setTheme, skeletonVariants, spinnerVariants, tableVariants, textareaVariants, toastVariants, toggleGroupVariants, toggleVariants, tooltipStyle, urlRule, useCarousel, useForm, useSidebar, useTheme2 as useTheme, useToast, useWatch };
10603
11512
  //# sourceMappingURL=index.mjs.map
10604
11513
  //# sourceMappingURL=index.mjs.map