pxengine 0.1.96 → 0.1.98

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
@@ -5,7 +5,7 @@ var __export = (target, all) => {
5
5
  };
6
6
 
7
7
  // src/render/PXEngineRenderer.tsx
8
- import React117 from "react";
8
+ import React118 from "react";
9
9
 
10
10
  // src/atoms/index.ts
11
11
  var atoms_exports = {};
@@ -24796,6 +24796,9 @@ var CardAtom = ({
24796
24796
  );
24797
24797
  };
24798
24798
 
24799
+ // src/atoms/InputAtom.tsx
24800
+ import React14 from "react";
24801
+
24799
24802
  // src/components/ui/input.tsx
24800
24803
  import * as React5 from "react";
24801
24804
  import { jsx as jsx8 } from "react/jsx-runtime";
@@ -25122,8 +25125,24 @@ var InputAtom = ({
25122
25125
  config,
25123
25126
  labelColor,
25124
25127
  className,
25125
- style
25128
+ style,
25129
+ fieldKey,
25130
+ id,
25131
+ onValueChange
25126
25132
  }) => {
25133
+ const [liveValue, setLiveValue] = React14.useState(defaultValue);
25134
+ const isInteractive = typeof onValueChange === "function";
25135
+ React14.useEffect(() => {
25136
+ if (isInteractive) {
25137
+ setLiveValue(defaultValue);
25138
+ }
25139
+ }, [defaultValue, isInteractive]);
25140
+ const handleChange = (val) => {
25141
+ setLiveValue(val);
25142
+ if (onValueChange) {
25143
+ onValueChange(fieldKey || id || label || "field", val);
25144
+ }
25145
+ };
25127
25146
  const containerClass = cn("flex flex-col gap-2 w-full", className);
25128
25147
  const getAlignmentClass = (textAlign2) => {
25129
25148
  switch (textAlign2) {
@@ -25168,12 +25187,14 @@ var InputAtom = ({
25168
25187
  },
25169
25188
  ...remainingStyle
25170
25189
  };
25190
+ const currentValue = isInteractive ? liveValue : defaultValue;
25171
25191
  const commonProps = {
25172
25192
  placeholder,
25173
- value: defaultValue,
25193
+ value: currentValue,
25174
25194
  disabled,
25175
25195
  required,
25176
- readOnly: true,
25196
+ // Only readOnly when not in interactive mode
25197
+ ...isInteractive ? {} : { readOnly: true },
25177
25198
  className: cn(
25178
25199
  "rounded-xl border-border bg-transparent focus:ring-primary shadow-none",
25179
25200
  className
@@ -25182,29 +25203,45 @@ var InputAtom = ({
25182
25203
  };
25183
25204
  switch (inputType) {
25184
25205
  case "textarea":
25185
- return /* @__PURE__ */ jsx17(Textarea, { ...commonProps, rows: config?.rows || 3 });
25206
+ return /* @__PURE__ */ jsx17(
25207
+ Textarea,
25208
+ {
25209
+ ...commonProps,
25210
+ rows: config?.rows || 3,
25211
+ onChange: isInteractive ? (e) => handleChange(e.target.value) : void 0
25212
+ }
25213
+ );
25186
25214
  case "select":
25187
- return /* @__PURE__ */ jsxs6(Select, { value: defaultValue, disabled, children: [
25188
- /* @__PURE__ */ jsx17(
25189
- SelectTrigger,
25190
- {
25191
- className: cn("rounded-xl border-border bg-transparent shadow-none", className),
25192
- style: remainingStyle,
25193
- children: /* @__PURE__ */ jsx17(SelectValue, { placeholder: placeholder || "Select option" })
25194
- }
25195
- ),
25196
- /* @__PURE__ */ jsx17(SelectContent, { className: "rounded-xl border-border shadow-xl", children: options?.map((opt) => /* @__PURE__ */ jsx17(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
25197
- ] });
25215
+ return /* @__PURE__ */ jsxs6(
25216
+ Select,
25217
+ {
25218
+ value: currentValue,
25219
+ disabled,
25220
+ onValueChange: isInteractive ? (val) => handleChange(val) : void 0,
25221
+ children: [
25222
+ /* @__PURE__ */ jsx17(
25223
+ SelectTrigger,
25224
+ {
25225
+ className: cn("rounded-xl border-border bg-transparent shadow-none", className),
25226
+ style: remainingStyle,
25227
+ children: /* @__PURE__ */ jsx17(SelectValue, { placeholder: placeholder || "Select option" })
25228
+ }
25229
+ ),
25230
+ /* @__PURE__ */ jsx17(SelectContent, { className: "rounded-xl border-border shadow-xl", children: options?.map((opt) => /* @__PURE__ */ jsx17(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
25231
+ ]
25232
+ }
25233
+ );
25198
25234
  case "slider":
25199
25235
  return /* @__PURE__ */ jsx17("div", { className: "pt-2 pb-1 w-full bg-transparent", style: remainingStyle, children: /* @__PURE__ */ jsx17(
25200
25236
  Slider,
25201
25237
  {
25202
- value: [defaultValue || config?.min || 0],
25238
+ value: [currentValue ?? config?.min ?? 0],
25203
25239
  max: config?.max || 100,
25204
25240
  min: config?.min || 0,
25205
25241
  step: config?.step || 1,
25206
25242
  disabled,
25207
- className: cn("py-4", className)
25243
+ className: cn("py-4", className),
25244
+ onValueChange: isInteractive ? ([val]) => handleChange(val) : void 0
25208
25245
  }
25209
25246
  ) });
25210
25247
  case "checkbox":
@@ -25213,9 +25250,10 @@ var InputAtom = ({
25213
25250
  Checkbox,
25214
25251
  {
25215
25252
  id: label,
25216
- checked: defaultValue,
25253
+ checked: Boolean(currentValue),
25217
25254
  disabled,
25218
- className: "rounded-[6px] border-border data-[state=checked]:bg-primary"
25255
+ className: "rounded-[6px] border-border data-[state=checked]:bg-primary",
25256
+ onCheckedChange: isInteractive ? (checked) => handleChange(Boolean(checked)) : void 0
25219
25257
  }
25220
25258
  ),
25221
25259
  /* @__PURE__ */ jsx17(
@@ -25243,9 +25281,10 @@ var InputAtom = ({
25243
25281
  Switch,
25244
25282
  {
25245
25283
  id: label,
25246
- checked: defaultValue,
25284
+ checked: Boolean(currentValue),
25247
25285
  disabled,
25248
- className: "data-[state=checked]:bg-primary"
25286
+ className: "data-[state=checked]:bg-primary",
25287
+ onCheckedChange: isInteractive ? (checked) => handleChange(Boolean(checked)) : void 0
25249
25288
  }
25250
25289
  )
25251
25290
  ] });
@@ -25253,10 +25292,11 @@ var InputAtom = ({
25253
25292
  return /* @__PURE__ */ jsx17(
25254
25293
  RadioGroup,
25255
25294
  {
25256
- value: defaultValue,
25295
+ value: currentValue,
25257
25296
  disabled,
25258
25297
  className: cn("gap-2.5 bg-transparent", className),
25259
25298
  style: remainingStyle,
25299
+ onValueChange: isInteractive ? (val) => handleChange(val) : void 0,
25260
25300
  children: options?.map((opt) => /* @__PURE__ */ jsxs6("div", { className: "flex items-center space-x-3 bg-transparent", children: [
25261
25301
  /* @__PURE__ */ jsx17(
25262
25302
  RadioGroupItem,
@@ -25279,21 +25319,31 @@ var InputAtom = ({
25279
25319
  }
25280
25320
  );
25281
25321
  case "otp":
25282
- return /* @__PURE__ */ jsx17("div", { className: "flex justify-center py-2 bg-transparent", style: remainingStyle, children: /* @__PURE__ */ jsx17(InputOTP, { maxLength: config?.maxLength || 6, disabled, value: defaultValue, children: /* @__PURE__ */ jsx17(InputOTPGroup, { className: "gap-2 bg-transparent", children: Array.from({ length: config?.maxLength || 6 }).map((_, i) => /* @__PURE__ */ jsx17(
25283
- InputOTPSlot,
25322
+ return /* @__PURE__ */ jsx17("div", { className: "flex justify-center py-2 bg-transparent", style: remainingStyle, children: /* @__PURE__ */ jsx17(
25323
+ InputOTP,
25284
25324
  {
25285
- index: i,
25286
- className: "rounded-xl border border-border bg-transparent"
25287
- },
25288
- i
25289
- )) }) }) });
25325
+ maxLength: config?.maxLength || 6,
25326
+ disabled,
25327
+ value: currentValue ?? "",
25328
+ onChange: isInteractive ? (val) => handleChange(val) : void 0,
25329
+ children: /* @__PURE__ */ jsx17(InputOTPGroup, { className: "gap-2 bg-transparent", children: Array.from({ length: config?.maxLength || 6 }).map((_, i) => /* @__PURE__ */ jsx17(
25330
+ InputOTPSlot,
25331
+ {
25332
+ index: i,
25333
+ className: "rounded-xl border border-border bg-transparent"
25334
+ },
25335
+ i
25336
+ )) })
25337
+ }
25338
+ ) });
25290
25339
  default:
25291
25340
  return /* @__PURE__ */ jsx17(
25292
25341
  Input,
25293
25342
  {
25294
25343
  ...commonProps,
25295
25344
  type: inputType,
25296
- className: cn("rounded-xl border-border bg-transparent focus:ring-primary h-11 shadow-none", className)
25345
+ className: cn("rounded-xl border-border bg-transparent focus:ring-primary h-11 shadow-none", className),
25346
+ onChange: isInteractive ? (e) => handleChange(e.target.value) : void 0
25297
25347
  }
25298
25348
  );
25299
25349
  }
@@ -25367,10 +25417,10 @@ var BadgeAtom = ({
25367
25417
  };
25368
25418
 
25369
25419
  // src/components/ui/avatar.tsx
25370
- import * as React14 from "react";
25420
+ import * as React15 from "react";
25371
25421
  import * as AvatarPrimitive from "@radix-ui/react-avatar";
25372
25422
  import { jsx as jsx20 } from "react/jsx-runtime";
25373
- var Avatar = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
25423
+ var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
25374
25424
  AvatarPrimitive.Root,
25375
25425
  {
25376
25426
  ref,
@@ -25382,7 +25432,7 @@ var Avatar = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
25382
25432
  }
25383
25433
  ));
25384
25434
  Avatar.displayName = AvatarPrimitive.Root.displayName;
25385
- var AvatarImage = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
25435
+ var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
25386
25436
  AvatarPrimitive.Image,
25387
25437
  {
25388
25438
  ref,
@@ -25391,7 +25441,7 @@ var AvatarImage = React14.forwardRef(({ className, ...props }, ref) => /* @__PUR
25391
25441
  }
25392
25442
  ));
25393
25443
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
25394
- var AvatarFallback = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
25444
+ var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx20(
25395
25445
  AvatarPrimitive.Fallback,
25396
25446
  {
25397
25447
  ref,
@@ -25433,14 +25483,14 @@ var AvatarAtom = ({
25433
25483
  };
25434
25484
 
25435
25485
  // src/atoms/TabsAtom.tsx
25436
- import React16 from "react";
25486
+ import React17 from "react";
25437
25487
 
25438
25488
  // src/components/ui/tabs.tsx
25439
- import * as React15 from "react";
25489
+ import * as React16 from "react";
25440
25490
  import * as TabsPrimitive from "@radix-ui/react-tabs";
25441
25491
  import { jsx as jsx22 } from "react/jsx-runtime";
25442
25492
  var Tabs = TabsPrimitive.Root;
25443
- var TabsList = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
25493
+ var TabsList = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
25444
25494
  TabsPrimitive.List,
25445
25495
  {
25446
25496
  ref,
@@ -25452,7 +25502,7 @@ var TabsList = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__
25452
25502
  }
25453
25503
  ));
25454
25504
  TabsList.displayName = TabsPrimitive.List.displayName;
25455
- var TabsTrigger = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
25505
+ var TabsTrigger = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
25456
25506
  TabsPrimitive.Trigger,
25457
25507
  {
25458
25508
  ref,
@@ -25464,7 +25514,7 @@ var TabsTrigger = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
25464
25514
  }
25465
25515
  ));
25466
25516
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
25467
- var TabsContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
25517
+ var TabsContent = React16.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx22(
25468
25518
  TabsPrimitive.Content,
25469
25519
  {
25470
25520
  ref,
@@ -25495,19 +25545,19 @@ var TabsAtom = ({
25495
25545
  },
25496
25546
  tab.value
25497
25547
  )) }),
25498
- tabs.map((tab) => /* @__PURE__ */ jsx23(TabsContent, { value: tab.value, className: "mt-4", children: tab.content.map((child) => /* @__PURE__ */ jsx23(React16.Fragment, { children: renderComponent(child) }, child.id)) }, tab.value))
25548
+ tabs.map((tab) => /* @__PURE__ */ jsx23(TabsContent, { value: tab.value, className: "mt-4", children: tab.content.map((child) => /* @__PURE__ */ jsx23(React17.Fragment, { children: renderComponent(child) }, child.id)) }, tab.value))
25499
25549
  ] });
25500
25550
  };
25501
25551
 
25502
25552
  // src/atoms/AccordionAtom.tsx
25503
- import React18 from "react";
25553
+ import React19 from "react";
25504
25554
 
25505
25555
  // src/components/ui/accordion.tsx
25506
- import * as React17 from "react";
25556
+ import * as React18 from "react";
25507
25557
  import * as AccordionPrimitive from "@radix-ui/react-accordion";
25508
25558
  import { jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
25509
25559
  var Accordion = AccordionPrimitive.Root;
25510
- var AccordionItem = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
25560
+ var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx24(
25511
25561
  AccordionPrimitive.Item,
25512
25562
  {
25513
25563
  ref,
@@ -25516,7 +25566,7 @@ var AccordionItem = React17.forwardRef(({ className, ...props }, ref) => /* @__P
25516
25566
  }
25517
25567
  ));
25518
25568
  AccordionItem.displayName = "AccordionItem";
25519
- var AccordionTrigger = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx24(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs9(
25569
+ var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx24(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs9(
25520
25570
  AccordionPrimitive.Trigger,
25521
25571
  {
25522
25572
  ref,
@@ -25532,7 +25582,7 @@ var AccordionTrigger = React17.forwardRef(({ className, children, ...props }, re
25532
25582
  }
25533
25583
  ) }));
25534
25584
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
25535
- var AccordionContent = React17.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx24(
25585
+ var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx24(
25536
25586
  AccordionPrimitive.Content,
25537
25587
  {
25538
25588
  ref,
@@ -25557,7 +25607,7 @@ var AccordionAtom = ({
25557
25607
  className: "border-gray-100",
25558
25608
  children: [
25559
25609
  /* @__PURE__ */ jsx25(AccordionTrigger, { className: "text-sm font-semibold hover:no-underline hover:text-purple600 py-4", children: item.trigger }),
25560
- /* @__PURE__ */ jsx25(AccordionContent, { children: /* @__PURE__ */ jsx25("div", { className: "pt-2 pb-4", children: item.content.map((child) => /* @__PURE__ */ jsx25(React18.Fragment, { children: renderComponent(child) }, child.id)) }) })
25610
+ /* @__PURE__ */ jsx25(AccordionContent, { children: /* @__PURE__ */ jsx25("div", { className: "pt-2 pb-4", children: item.content.map((child) => /* @__PURE__ */ jsx25(React19.Fragment, { children: renderComponent(child) }, child.id)) }) })
25561
25611
  ]
25562
25612
  },
25563
25613
  item.value
@@ -25565,10 +25615,10 @@ var AccordionAtom = ({
25565
25615
  };
25566
25616
 
25567
25617
  // src/components/ui/progress.tsx
25568
- import * as React19 from "react";
25618
+ import * as React20 from "react";
25569
25619
  import * as ProgressPrimitive from "@radix-ui/react-progress";
25570
25620
  import { jsx as jsx26 } from "react/jsx-runtime";
25571
- var Progress = React19.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx26(
25621
+ var Progress = React20.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx26(
25572
25622
  ProgressPrimitive.Root,
25573
25623
  {
25574
25624
  ref,
@@ -25649,7 +25699,7 @@ var SkeletonAtom = ({
25649
25699
  };
25650
25700
 
25651
25701
  // src/components/ui/alert.tsx
25652
- import * as React20 from "react";
25702
+ import * as React21 from "react";
25653
25703
  import { cva as cva4 } from "class-variance-authority";
25654
25704
  import { jsx as jsx30 } from "react/jsx-runtime";
25655
25705
  var alertVariants = cva4(
@@ -25666,7 +25716,7 @@ var alertVariants = cva4(
25666
25716
  }
25667
25717
  }
25668
25718
  );
25669
- var Alert = React20.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx30(
25719
+ var Alert = React21.forwardRef(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx30(
25670
25720
  "div",
25671
25721
  {
25672
25722
  ref,
@@ -25676,7 +25726,7 @@ var Alert = React20.forwardRef(({ className, variant, ...props }, ref) => /* @__
25676
25726
  }
25677
25727
  ));
25678
25728
  Alert.displayName = "Alert";
25679
- var AlertTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
25729
+ var AlertTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
25680
25730
  "h5",
25681
25731
  {
25682
25732
  ref,
@@ -25685,7 +25735,7 @@ var AlertTitle = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE
25685
25735
  }
25686
25736
  ));
25687
25737
  AlertTitle.displayName = "AlertTitle";
25688
- var AlertDescription = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
25738
+ var AlertDescription = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx30(
25689
25739
  "div",
25690
25740
  {
25691
25741
  ref,
@@ -25745,10 +25795,10 @@ var AlertAtom = ({
25745
25795
  };
25746
25796
 
25747
25797
  // src/components/ui/separator.tsx
25748
- import * as React21 from "react";
25798
+ import * as React22 from "react";
25749
25799
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
25750
25800
  import { jsx as jsx32 } from "react/jsx-runtime";
25751
- var Separator2 = React21.forwardRef(
25801
+ var Separator2 = React22.forwardRef(
25752
25802
  ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx32(
25753
25803
  SeparatorPrimitive.Root,
25754
25804
  {
@@ -25789,9 +25839,9 @@ var SeparatorAtom = ({
25789
25839
  };
25790
25840
 
25791
25841
  // src/components/ui/table.tsx
25792
- import * as React22 from "react";
25842
+ import * as React23 from "react";
25793
25843
  import { jsx as jsx34 } from "react/jsx-runtime";
25794
- var Table3 = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx34(
25844
+ var Table3 = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx34(
25795
25845
  "table",
25796
25846
  {
25797
25847
  ref,
@@ -25800,9 +25850,9 @@ var Table3 = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
25800
25850
  }
25801
25851
  ) }));
25802
25852
  Table3.displayName = "Table";
25803
- var TableHeader = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
25853
+ var TableHeader = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34("thead", { ref, className: cn("[&_tr]:border-b", className), ...props }));
25804
25854
  TableHeader.displayName = "TableHeader";
25805
- var TableBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25855
+ var TableBody = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25806
25856
  "tbody",
25807
25857
  {
25808
25858
  ref,
@@ -25811,7 +25861,7 @@ var TableBody = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE_
25811
25861
  }
25812
25862
  ));
25813
25863
  TableBody.displayName = "TableBody";
25814
- var TableFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25864
+ var TableFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25815
25865
  "tfoot",
25816
25866
  {
25817
25867
  ref,
@@ -25823,7 +25873,7 @@ var TableFooter = React22.forwardRef(({ className, ...props }, ref) => /* @__PUR
25823
25873
  }
25824
25874
  ));
25825
25875
  TableFooter.displayName = "TableFooter";
25826
- var TableRow = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25876
+ var TableRow = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25827
25877
  "tr",
25828
25878
  {
25829
25879
  ref,
@@ -25835,7 +25885,7 @@ var TableRow = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__
25835
25885
  }
25836
25886
  ));
25837
25887
  TableRow.displayName = "TableRow";
25838
- var TableHead = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25888
+ var TableHead = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25839
25889
  "th",
25840
25890
  {
25841
25891
  ref,
@@ -25847,7 +25897,7 @@ var TableHead = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE_
25847
25897
  }
25848
25898
  ));
25849
25899
  TableHead.displayName = "TableHead";
25850
- var TableCell = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25900
+ var TableCell = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25851
25901
  "td",
25852
25902
  {
25853
25903
  ref,
@@ -25856,7 +25906,7 @@ var TableCell = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE_
25856
25906
  }
25857
25907
  ));
25858
25908
  TableCell.displayName = "TableCell";
25859
- var TableCaption = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25909
+ var TableCaption = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
25860
25910
  "caption",
25861
25911
  {
25862
25912
  ref,
@@ -25941,13 +25991,13 @@ var TableAtom = ({
25941
25991
  };
25942
25992
 
25943
25993
  // src/atoms/ScrollAreaAtom.tsx
25944
- import React24 from "react";
25994
+ import React25 from "react";
25945
25995
 
25946
25996
  // src/components/ui/scroll-area.tsx
25947
- import * as React23 from "react";
25997
+ import * as React24 from "react";
25948
25998
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
25949
25999
  import { jsx as jsx36, jsxs as jsxs13 } from "react/jsx-runtime";
25950
- var ScrollArea = React23.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
26000
+ var ScrollArea = React24.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
25951
26001
  ScrollAreaPrimitive.Root,
25952
26002
  {
25953
26003
  ref,
@@ -25961,7 +26011,7 @@ var ScrollArea = React23.forwardRef(({ className, children, ...props }, ref) =>
25961
26011
  }
25962
26012
  ));
25963
26013
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
25964
- var ScrollBar = React23.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx36(
26014
+ var ScrollBar = React24.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx36(
25965
26015
  ScrollAreaPrimitive.ScrollAreaScrollbar,
25966
26016
  {
25967
26017
  ref,
@@ -25992,7 +26042,7 @@ var ScrollAreaAtom = ({
25992
26042
  className: cn("rounded-xl border", className),
25993
26043
  style: { height: maxHeight },
25994
26044
  children: [
25995
- /* @__PURE__ */ jsx37("div", { className: "p-4", children: children.map((child) => /* @__PURE__ */ jsx37(React24.Fragment, { children: renderComponent(child) }, child.id)) }),
26045
+ /* @__PURE__ */ jsx37("div", { className: "p-4", children: children.map((child) => /* @__PURE__ */ jsx37(React25.Fragment, { children: renderComponent(child) }, child.id)) }),
25996
26046
  /* @__PURE__ */ jsx37(ScrollBar, { orientation: "vertical" })
25997
26047
  ]
25998
26048
  }
@@ -26000,21 +26050,21 @@ var ScrollAreaAtom = ({
26000
26050
  };
26001
26051
 
26002
26052
  // src/atoms/CarouselAtom.tsx
26003
- import React26 from "react";
26053
+ import React27 from "react";
26004
26054
 
26005
26055
  // src/components/ui/carousel.tsx
26006
- import * as React25 from "react";
26056
+ import * as React26 from "react";
26007
26057
  import useEmblaCarousel from "embla-carousel-react";
26008
26058
  import { jsx as jsx38, jsxs as jsxs15 } from "react/jsx-runtime";
26009
- var CarouselContext = React25.createContext(null);
26059
+ var CarouselContext = React26.createContext(null);
26010
26060
  function useCarousel() {
26011
- const context = React25.useContext(CarouselContext);
26061
+ const context = React26.useContext(CarouselContext);
26012
26062
  if (!context) {
26013
26063
  throw new Error("useCarousel must be used within a <Carousel />");
26014
26064
  }
26015
26065
  return context;
26016
26066
  }
26017
- var Carousel = React25.forwardRef(
26067
+ var Carousel = React26.forwardRef(
26018
26068
  ({
26019
26069
  orientation = "horizontal",
26020
26070
  opts,
@@ -26031,22 +26081,22 @@ var Carousel = React25.forwardRef(
26031
26081
  },
26032
26082
  plugins
26033
26083
  );
26034
- const [canScrollPrev, setCanScrollPrev] = React25.useState(false);
26035
- const [canScrollNext, setCanScrollNext] = React25.useState(false);
26036
- const onSelect = React25.useCallback((api2) => {
26084
+ const [canScrollPrev, setCanScrollPrev] = React26.useState(false);
26085
+ const [canScrollNext, setCanScrollNext] = React26.useState(false);
26086
+ const onSelect = React26.useCallback((api2) => {
26037
26087
  if (!api2) {
26038
26088
  return;
26039
26089
  }
26040
26090
  setCanScrollPrev(api2.canScrollPrev());
26041
26091
  setCanScrollNext(api2.canScrollNext());
26042
26092
  }, []);
26043
- const scrollPrev = React25.useCallback(() => {
26093
+ const scrollPrev = React26.useCallback(() => {
26044
26094
  api?.scrollPrev();
26045
26095
  }, [api]);
26046
- const scrollNext = React25.useCallback(() => {
26096
+ const scrollNext = React26.useCallback(() => {
26047
26097
  api?.scrollNext();
26048
26098
  }, [api]);
26049
- const handleKeyDown = React25.useCallback(
26099
+ const handleKeyDown = React26.useCallback(
26050
26100
  (event) => {
26051
26101
  if (event.key === "ArrowLeft") {
26052
26102
  event.preventDefault();
@@ -26058,13 +26108,13 @@ var Carousel = React25.forwardRef(
26058
26108
  },
26059
26109
  [scrollPrev, scrollNext]
26060
26110
  );
26061
- React25.useEffect(() => {
26111
+ React26.useEffect(() => {
26062
26112
  if (!api || !setApi) {
26063
26113
  return;
26064
26114
  }
26065
26115
  setApi(api);
26066
26116
  }, [api, setApi]);
26067
- React25.useEffect(() => {
26117
+ React26.useEffect(() => {
26068
26118
  if (!api) {
26069
26119
  return;
26070
26120
  }
@@ -26105,7 +26155,7 @@ var Carousel = React25.forwardRef(
26105
26155
  }
26106
26156
  );
26107
26157
  Carousel.displayName = "Carousel";
26108
- var CarouselContent = React25.forwardRef(({ className, ...props }, ref) => {
26158
+ var CarouselContent = React26.forwardRef(({ className, ...props }, ref) => {
26109
26159
  const { carouselRef, orientation } = useCarousel();
26110
26160
  return /* @__PURE__ */ jsx38("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx38(
26111
26161
  "div",
@@ -26121,7 +26171,7 @@ var CarouselContent = React25.forwardRef(({ className, ...props }, ref) => {
26121
26171
  ) });
26122
26172
  });
26123
26173
  CarouselContent.displayName = "CarouselContent";
26124
- var CarouselItem = React25.forwardRef(({ className, ...props }, ref) => {
26174
+ var CarouselItem = React26.forwardRef(({ className, ...props }, ref) => {
26125
26175
  const { orientation } = useCarousel();
26126
26176
  return /* @__PURE__ */ jsx38(
26127
26177
  "div",
@@ -26139,7 +26189,7 @@ var CarouselItem = React25.forwardRef(({ className, ...props }, ref) => {
26139
26189
  );
26140
26190
  });
26141
26191
  CarouselItem.displayName = "CarouselItem";
26142
- var CarouselPrevious = React25.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
26192
+ var CarouselPrevious = React26.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
26143
26193
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
26144
26194
  return /* @__PURE__ */ jsxs15(
26145
26195
  Button,
@@ -26163,7 +26213,7 @@ var CarouselPrevious = React25.forwardRef(({ className, variant = "outline", siz
26163
26213
  );
26164
26214
  });
26165
26215
  CarouselPrevious.displayName = "CarouselPrevious";
26166
- var CarouselNext = React25.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
26216
+ var CarouselNext = React26.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
26167
26217
  const { orientation, scrollNext, canScrollNext } = useCarousel();
26168
26218
  return /* @__PURE__ */ jsxs15(
26169
26219
  Button,
@@ -26196,14 +26246,14 @@ var CarouselAtom = ({
26196
26246
  renderComponent
26197
26247
  }) => {
26198
26248
  return /* @__PURE__ */ jsxs16(Carousel, { className: cn("w-full max-w-xs mx-auto", className), children: [
26199
- /* @__PURE__ */ jsx39(CarouselContent, { children: items.map((slide, index) => /* @__PURE__ */ jsx39(CarouselItem, { children: /* @__PURE__ */ jsx39("div", { className: "p-1", children: slide.map((child) => /* @__PURE__ */ jsx39(React26.Fragment, { children: renderComponent(child) }, child.id)) }) }, index)) }),
26249
+ /* @__PURE__ */ jsx39(CarouselContent, { children: items.map((slide, index) => /* @__PURE__ */ jsx39(CarouselItem, { children: /* @__PURE__ */ jsx39("div", { className: "p-1", children: slide.map((child) => /* @__PURE__ */ jsx39(React27.Fragment, { children: renderComponent(child) }, child.id)) }) }, index)) }),
26200
26250
  /* @__PURE__ */ jsx39(CarouselPrevious, {}),
26201
26251
  /* @__PURE__ */ jsx39(CarouselNext, {})
26202
26252
  ] });
26203
26253
  };
26204
26254
 
26205
26255
  // src/atoms/AspectRatioAtom.tsx
26206
- import React27 from "react";
26256
+ import React28 from "react";
26207
26257
 
26208
26258
  // src/components/ui/aspect-ratio.tsx
26209
26259
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
@@ -26217,11 +26267,11 @@ var AspectRatioAtom = ({
26217
26267
  className,
26218
26268
  renderComponent
26219
26269
  }) => {
26220
- return /* @__PURE__ */ jsx40("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx40(AspectRatio, { ratio, children: children.map((child) => /* @__PURE__ */ jsx40(React27.Fragment, { children: renderComponent(child) }, child.id)) }) });
26270
+ return /* @__PURE__ */ jsx40("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx40(AspectRatio, { ratio, children: children.map((child) => /* @__PURE__ */ jsx40(React28.Fragment, { children: renderComponent(child) }, child.id)) }) });
26221
26271
  };
26222
26272
 
26223
26273
  // src/atoms/CollapsibleAtom.tsx
26224
- import React28 from "react";
26274
+ import React29 from "react";
26225
26275
 
26226
26276
  // src/components/ui/collapsible.tsx
26227
26277
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
@@ -26244,24 +26294,24 @@ var CollapsibleAtom = ({
26244
26294
  defaultOpen,
26245
26295
  className: cn("w-full space-y-2", className),
26246
26296
  children: [
26247
- /* @__PURE__ */ jsx41(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsx41("div", { className: "flex items-center justify-between space-x-4 px-4 py-2 bg-gray-50 rounded-lg cursor-pointer hover:bg-gray-100 transition-colors", children: trigger.map((child) => /* @__PURE__ */ jsx41(React28.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26248
- /* @__PURE__ */ jsx41(CollapsibleContent2, { className: "space-y-2", children: content.map((child) => /* @__PURE__ */ jsx41(React28.Fragment, { children: renderComponent(child) }, child.id)) })
26297
+ /* @__PURE__ */ jsx41(CollapsibleTrigger2, { asChild: true, children: /* @__PURE__ */ jsx41("div", { className: "flex items-center justify-between space-x-4 px-4 py-2 bg-gray-50 rounded-lg cursor-pointer hover:bg-gray-100 transition-colors", children: trigger.map((child) => /* @__PURE__ */ jsx41(React29.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26298
+ /* @__PURE__ */ jsx41(CollapsibleContent2, { className: "space-y-2", children: content.map((child) => /* @__PURE__ */ jsx41(React29.Fragment, { children: renderComponent(child) }, child.id)) })
26249
26299
  ]
26250
26300
  }
26251
26301
  );
26252
26302
  };
26253
26303
 
26254
26304
  // src/atoms/TooltipAtom.tsx
26255
- import React30 from "react";
26305
+ import React31 from "react";
26256
26306
 
26257
26307
  // src/components/ui/tooltip.tsx
26258
- import * as React29 from "react";
26308
+ import * as React30 from "react";
26259
26309
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
26260
26310
  import { jsx as jsx42 } from "react/jsx-runtime";
26261
26311
  var TooltipProvider = TooltipPrimitive.Provider;
26262
26312
  var Tooltip = TooltipPrimitive.Root;
26263
26313
  var TooltipTrigger = TooltipPrimitive.Trigger;
26264
- var TooltipContent = React29.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx42(
26314
+ var TooltipContent = React30.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx42(
26265
26315
  TooltipPrimitive.Content,
26266
26316
  {
26267
26317
  ref,
@@ -26284,21 +26334,21 @@ var TooltipAtom = ({
26284
26334
  renderComponent
26285
26335
  }) => {
26286
26336
  return /* @__PURE__ */ jsx43(TooltipProvider, { children: /* @__PURE__ */ jsxs18(Tooltip, { children: [
26287
- /* @__PURE__ */ jsx43(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx43("div", { className: cn("inline-block", className), children: children.map((child) => /* @__PURE__ */ jsx43(React30.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26337
+ /* @__PURE__ */ jsx43(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx43("div", { className: cn("inline-block", className), children: children.map((child) => /* @__PURE__ */ jsx43(React31.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26288
26338
  /* @__PURE__ */ jsx43(TooltipContent, { className: "bg-gray-900 text-white border-none rounded-lg shadow-xl px-3 py-1.5 text-xs", children: content })
26289
26339
  ] }) });
26290
26340
  };
26291
26341
 
26292
26342
  // src/atoms/PopoverAtom.tsx
26293
- import React32 from "react";
26343
+ import React33 from "react";
26294
26344
 
26295
26345
  // src/components/ui/popover.tsx
26296
- import * as React31 from "react";
26346
+ import * as React32 from "react";
26297
26347
  import * as PopoverPrimitive from "@radix-ui/react-popover";
26298
26348
  import { jsx as jsx44 } from "react/jsx-runtime";
26299
26349
  var Popover = PopoverPrimitive.Root;
26300
26350
  var PopoverTrigger = PopoverPrimitive.Trigger;
26301
- var PopoverContent = React31.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx44(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx44(
26351
+ var PopoverContent = React32.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx44(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx44(
26302
26352
  PopoverPrimitive.Content,
26303
26353
  {
26304
26354
  ref,
@@ -26322,23 +26372,23 @@ var PopoverAtom = ({
26322
26372
  renderComponent
26323
26373
  }) => {
26324
26374
  return /* @__PURE__ */ jsxs19(Popover, { children: [
26325
- /* @__PURE__ */ jsx45(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx45("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx45(React32.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26326
- /* @__PURE__ */ jsx45(PopoverContent, { className: "w-80 rounded-2xl shadow-2xl border-gray-100 p-4 bg-white/95 backdrop-blur-sm", children: content.map((child) => /* @__PURE__ */ jsx45(React32.Fragment, { children: renderComponent(child) }, child.id)) })
26375
+ /* @__PURE__ */ jsx45(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsx45("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx45(React33.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26376
+ /* @__PURE__ */ jsx45(PopoverContent, { className: "w-80 rounded-2xl shadow-2xl border-gray-100 p-4 bg-white/95 backdrop-blur-sm", children: content.map((child) => /* @__PURE__ */ jsx45(React33.Fragment, { children: renderComponent(child) }, child.id)) })
26327
26377
  ] });
26328
26378
  };
26329
26379
 
26330
26380
  // src/atoms/DialogAtom.tsx
26331
- import React34 from "react";
26381
+ import React35 from "react";
26332
26382
 
26333
26383
  // src/components/ui/dialog.tsx
26334
- import * as React33 from "react";
26384
+ import * as React34 from "react";
26335
26385
  import * as DialogPrimitive from "@radix-ui/react-dialog";
26336
26386
  import { jsx as jsx46, jsxs as jsxs20 } from "react/jsx-runtime";
26337
26387
  var Dialog = DialogPrimitive.Root;
26338
26388
  var DialogTrigger = DialogPrimitive.Trigger;
26339
26389
  var DialogPortal = DialogPrimitive.Portal;
26340
26390
  var DialogClose = DialogPrimitive.Close;
26341
- var DialogOverlay = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
26391
+ var DialogOverlay = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
26342
26392
  DialogPrimitive.Overlay,
26343
26393
  {
26344
26394
  ref,
@@ -26350,7 +26400,7 @@ var DialogOverlay = React33.forwardRef(({ className, ...props }, ref) => /* @__P
26350
26400
  }
26351
26401
  ));
26352
26402
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
26353
- var DialogContent = React33.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(DialogPortal, { children: [
26403
+ var DialogContent = React34.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs20(DialogPortal, { children: [
26354
26404
  /* @__PURE__ */ jsx46(DialogOverlay, {}),
26355
26405
  /* @__PURE__ */ jsxs20(
26356
26406
  DialogPrimitive.Content,
@@ -26400,7 +26450,7 @@ var DialogFooter = ({
26400
26450
  }
26401
26451
  );
26402
26452
  DialogFooter.displayName = "DialogFooter";
26403
- var DialogTitle = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
26453
+ var DialogTitle = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
26404
26454
  DialogPrimitive.Title,
26405
26455
  {
26406
26456
  ref,
@@ -26412,7 +26462,7 @@ var DialogTitle = React33.forwardRef(({ className, ...props }, ref) => /* @__PUR
26412
26462
  }
26413
26463
  ));
26414
26464
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
26415
- var DialogDescription = React33.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
26465
+ var DialogDescription = React34.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx46(
26416
26466
  DialogPrimitive.Description,
26417
26467
  {
26418
26468
  ref,
@@ -26434,23 +26484,23 @@ var DialogAtom = ({
26434
26484
  renderComponent
26435
26485
  }) => {
26436
26486
  return /* @__PURE__ */ jsxs21(Dialog, { children: [
26437
- /* @__PURE__ */ jsx47(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx47("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx47(React34.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26487
+ /* @__PURE__ */ jsx47(DialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx47("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx47(React35.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26438
26488
  /* @__PURE__ */ jsxs21(DialogContent, { className: "sm:max-w-[425px] rounded-3xl p-6 bg-white/95 backdrop-blur-md shadow-3xl border-gray-100", children: [
26439
26489
  /* @__PURE__ */ jsxs21(DialogHeader, { children: [
26440
26490
  /* @__PURE__ */ jsx47(DialogTitle, { className: "text-xl font-bold bg-gradient-to-r from-purple600 to-indigo-600 bg-clip-text text-transparent", children: title }),
26441
26491
  description && /* @__PURE__ */ jsx47(DialogDescription, { className: "text-gray-500 font-medium pt-1", children: description })
26442
26492
  ] }),
26443
- /* @__PURE__ */ jsx47("div", { className: "py-4", children: children.map((child) => /* @__PURE__ */ jsx47(React34.Fragment, { children: renderComponent(child) }, child.id)) }),
26444
- footer && /* @__PURE__ */ jsx47(DialogFooter, { className: "pt-2", children: footer.map((child) => /* @__PURE__ */ jsx47(React34.Fragment, { children: renderComponent(child) }, child.id)) })
26493
+ /* @__PURE__ */ jsx47("div", { className: "py-4", children: children.map((child) => /* @__PURE__ */ jsx47(React35.Fragment, { children: renderComponent(child) }, child.id)) }),
26494
+ footer && /* @__PURE__ */ jsx47(DialogFooter, { className: "pt-2", children: footer.map((child) => /* @__PURE__ */ jsx47(React35.Fragment, { children: renderComponent(child) }, child.id)) })
26445
26495
  ] })
26446
26496
  ] });
26447
26497
  };
26448
26498
 
26449
26499
  // src/atoms/SheetAtom.tsx
26450
- import React36 from "react";
26500
+ import React37 from "react";
26451
26501
 
26452
26502
  // src/components/ui/sheet.tsx
26453
- import * as React35 from "react";
26503
+ import * as React36 from "react";
26454
26504
  import * as SheetPrimitive from "@radix-ui/react-dialog";
26455
26505
  import { cva as cva5 } from "class-variance-authority";
26456
26506
  import { jsx as jsx48, jsxs as jsxs22 } from "react/jsx-runtime";
@@ -26458,7 +26508,7 @@ var Sheet2 = SheetPrimitive.Root;
26458
26508
  var SheetTrigger = SheetPrimitive.Trigger;
26459
26509
  var SheetClose = SheetPrimitive.Close;
26460
26510
  var SheetPortal = SheetPrimitive.Portal;
26461
- var SheetOverlay = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
26511
+ var SheetOverlay = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
26462
26512
  SheetPrimitive.Overlay,
26463
26513
  {
26464
26514
  className: cn(
@@ -26486,7 +26536,7 @@ var sheetVariants = cva5(
26486
26536
  }
26487
26537
  }
26488
26538
  );
26489
- var SheetContent = React35.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(SheetPortal, { children: [
26539
+ var SheetContent = React36.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(SheetPortal, { children: [
26490
26540
  /* @__PURE__ */ jsx48(SheetOverlay, {}),
26491
26541
  /* @__PURE__ */ jsxs22(
26492
26542
  SheetPrimitive.Content,
@@ -26533,7 +26583,7 @@ var SheetFooter = ({
26533
26583
  }
26534
26584
  );
26535
26585
  SheetFooter.displayName = "SheetFooter";
26536
- var SheetTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
26586
+ var SheetTitle = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
26537
26587
  SheetPrimitive.Title,
26538
26588
  {
26539
26589
  ref,
@@ -26542,7 +26592,7 @@ var SheetTitle = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE
26542
26592
  }
26543
26593
  ));
26544
26594
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
26545
- var SheetDescription = React35.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
26595
+ var SheetDescription = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx48(
26546
26596
  SheetPrimitive.Description,
26547
26597
  {
26548
26598
  ref,
@@ -26565,7 +26615,7 @@ var SheetAtom = ({
26565
26615
  renderComponent
26566
26616
  }) => {
26567
26617
  return /* @__PURE__ */ jsxs23(Sheet2, { children: [
26568
- /* @__PURE__ */ jsx49(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx49("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx49(React36.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26618
+ /* @__PURE__ */ jsx49(SheetTrigger, { asChild: true, children: /* @__PURE__ */ jsx49("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx49(React37.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26569
26619
  /* @__PURE__ */ jsxs23(
26570
26620
  SheetContent,
26571
26621
  {
@@ -26576,8 +26626,8 @@ var SheetAtom = ({
26576
26626
  /* @__PURE__ */ jsx49(SheetTitle, { className: "text-xl font-bold text-gray-900", children: title }),
26577
26627
  description && /* @__PURE__ */ jsx49(SheetDescription, { className: "text-gray-500 font-medium", children: description })
26578
26628
  ] }),
26579
- /* @__PURE__ */ jsx49("div", { className: "py-8", children: children.map((child) => /* @__PURE__ */ jsx49(React36.Fragment, { children: renderComponent(child) }, child.id)) }),
26580
- footer && /* @__PURE__ */ jsx49(SheetFooter, { className: "absolute bottom-6 left-6 right-6", children: footer.map((child) => /* @__PURE__ */ jsx49(React36.Fragment, { children: renderComponent(child) }, child.id)) })
26629
+ /* @__PURE__ */ jsx49("div", { className: "py-8", children: children.map((child) => /* @__PURE__ */ jsx49(React37.Fragment, { children: renderComponent(child) }, child.id)) }),
26630
+ footer && /* @__PURE__ */ jsx49(SheetFooter, { className: "absolute bottom-6 left-6 right-6", children: footer.map((child) => /* @__PURE__ */ jsx49(React37.Fragment, { children: renderComponent(child) }, child.id)) })
26581
26631
  ]
26582
26632
  }
26583
26633
  )
@@ -26585,16 +26635,16 @@ var SheetAtom = ({
26585
26635
  };
26586
26636
 
26587
26637
  // src/atoms/AlertDialogAtom.tsx
26588
- import React38 from "react";
26638
+ import React39 from "react";
26589
26639
 
26590
26640
  // src/components/ui/alert-dialog.tsx
26591
- import * as React37 from "react";
26641
+ import * as React38 from "react";
26592
26642
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
26593
26643
  import { jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
26594
26644
  var AlertDialog = AlertDialogPrimitive.Root;
26595
26645
  var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
26596
26646
  var AlertDialogPortal = AlertDialogPrimitive.Portal;
26597
- var AlertDialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26647
+ var AlertDialogOverlay = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26598
26648
  AlertDialogPrimitive.Overlay,
26599
26649
  {
26600
26650
  className: cn(
@@ -26606,7 +26656,7 @@ var AlertDialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /*
26606
26656
  }
26607
26657
  ));
26608
26658
  AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
26609
- var AlertDialogContent = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs24(AlertDialogPortal, { children: [
26659
+ var AlertDialogContent = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs24(AlertDialogPortal, { children: [
26610
26660
  /* @__PURE__ */ jsx50(AlertDialogOverlay, {}),
26611
26661
  /* @__PURE__ */ jsx50(
26612
26662
  AlertDialogPrimitive.Content,
@@ -26649,7 +26699,7 @@ var AlertDialogFooter = ({
26649
26699
  }
26650
26700
  );
26651
26701
  AlertDialogFooter.displayName = "AlertDialogFooter";
26652
- var AlertDialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26702
+ var AlertDialogTitle = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26653
26703
  AlertDialogPrimitive.Title,
26654
26704
  {
26655
26705
  ref,
@@ -26658,7 +26708,7 @@ var AlertDialogTitle = React37.forwardRef(({ className, ...props }, ref) => /* @
26658
26708
  }
26659
26709
  ));
26660
26710
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
26661
- var AlertDialogDescription = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26711
+ var AlertDialogDescription = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26662
26712
  AlertDialogPrimitive.Description,
26663
26713
  {
26664
26714
  ref,
@@ -26667,7 +26717,7 @@ var AlertDialogDescription = React37.forwardRef(({ className, ...props }, ref) =
26667
26717
  }
26668
26718
  ));
26669
26719
  AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
26670
- var AlertDialogAction = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26720
+ var AlertDialogAction = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26671
26721
  AlertDialogPrimitive.Action,
26672
26722
  {
26673
26723
  ref,
@@ -26676,7 +26726,7 @@ var AlertDialogAction = React37.forwardRef(({ className, ...props }, ref) => /*
26676
26726
  }
26677
26727
  ));
26678
26728
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
26679
- var AlertDialogCancel = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26729
+ var AlertDialogCancel = React38.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx50(
26680
26730
  AlertDialogPrimitive.Cancel,
26681
26731
  {
26682
26732
  ref,
@@ -26704,7 +26754,7 @@ var AlertDialogAtom = ({
26704
26754
  renderComponent
26705
26755
  }) => {
26706
26756
  return /* @__PURE__ */ jsxs25(AlertDialog, { children: [
26707
- /* @__PURE__ */ jsx51(AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx51("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx51(React38.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26757
+ /* @__PURE__ */ jsx51(AlertDialogTrigger, { asChild: true, children: /* @__PURE__ */ jsx51("div", { className: cn("inline-block cursor-pointer", className), children: trigger.map((child) => /* @__PURE__ */ jsx51(React39.Fragment, { children: renderComponent(child) }, child.id)) }) }),
26708
26758
  /* @__PURE__ */ jsxs25(AlertDialogContent, { className: "rounded-3xl p-6 bg-white shadow-3xl border-gray-100", children: [
26709
26759
  /* @__PURE__ */ jsxs25(AlertDialogHeader, { children: [
26710
26760
  /* @__PURE__ */ jsx51(AlertDialogTitle, { className: "text-lg font-bold text-gray-900", children: title }),
@@ -26726,15 +26776,15 @@ var AlertDialogAtom = ({
26726
26776
  };
26727
26777
 
26728
26778
  // src/atoms/BreadcrumbAtom.tsx
26729
- import React40 from "react";
26779
+ import React41 from "react";
26730
26780
 
26731
26781
  // src/components/ui/breadcrumb.tsx
26732
- import * as React39 from "react";
26782
+ import * as React40 from "react";
26733
26783
  import { Slot as Slot2 } from "@radix-ui/react-slot";
26734
26784
  import { jsx as jsx52, jsxs as jsxs26 } from "react/jsx-runtime";
26735
- var Breadcrumb = React39.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx52("nav", { ref, "aria-label": "breadcrumb", ...props }));
26785
+ var Breadcrumb = React40.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx52("nav", { ref, "aria-label": "breadcrumb", ...props }));
26736
26786
  Breadcrumb.displayName = "Breadcrumb";
26737
- var BreadcrumbList = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx52(
26787
+ var BreadcrumbList = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx52(
26738
26788
  "ol",
26739
26789
  {
26740
26790
  ref,
@@ -26746,7 +26796,7 @@ var BreadcrumbList = React39.forwardRef(({ className, ...props }, ref) => /* @__
26746
26796
  }
26747
26797
  ));
26748
26798
  BreadcrumbList.displayName = "BreadcrumbList";
26749
- var BreadcrumbItem = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx52(
26799
+ var BreadcrumbItem = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx52(
26750
26800
  "li",
26751
26801
  {
26752
26802
  ref,
@@ -26755,7 +26805,7 @@ var BreadcrumbItem = React39.forwardRef(({ className, ...props }, ref) => /* @__
26755
26805
  }
26756
26806
  ));
26757
26807
  BreadcrumbItem.displayName = "BreadcrumbItem";
26758
- var BreadcrumbLink = React39.forwardRef(({ asChild, className, ...props }, ref) => {
26808
+ var BreadcrumbLink = React40.forwardRef(({ asChild, className, ...props }, ref) => {
26759
26809
  const Comp = asChild ? Slot2 : "a";
26760
26810
  return /* @__PURE__ */ jsx52(
26761
26811
  Comp,
@@ -26767,7 +26817,7 @@ var BreadcrumbLink = React39.forwardRef(({ asChild, className, ...props }, ref)
26767
26817
  );
26768
26818
  });
26769
26819
  BreadcrumbLink.displayName = "BreadcrumbLink";
26770
- var BreadcrumbPage = React39.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx52(
26820
+ var BreadcrumbPage = React40.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx52(
26771
26821
  "span",
26772
26822
  {
26773
26823
  ref,
@@ -26818,7 +26868,7 @@ var BreadcrumbAtom = ({
26818
26868
  items,
26819
26869
  className
26820
26870
  }) => {
26821
- return /* @__PURE__ */ jsx53(Breadcrumb, { className, children: /* @__PURE__ */ jsx53(BreadcrumbList, { children: items.map((item, index) => /* @__PURE__ */ jsxs27(React40.Fragment, { children: [
26871
+ return /* @__PURE__ */ jsx53(Breadcrumb, { className, children: /* @__PURE__ */ jsx53(BreadcrumbList, { children: items.map((item, index) => /* @__PURE__ */ jsxs27(React41.Fragment, { children: [
26822
26872
  /* @__PURE__ */ jsx53(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsx53(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsx53(BreadcrumbLink, { href: item.href || "#", children: item.label }) }),
26823
26873
  index < items.length - 1 && /* @__PURE__ */ jsx53(BreadcrumbSeparator, {})
26824
26874
  ] }, index)) }) });
@@ -26857,7 +26907,7 @@ var SpinnerAtom = ({
26857
26907
  };
26858
26908
 
26859
26909
  // src/components/ui/calendar.tsx
26860
- import * as React68 from "react";
26910
+ import * as React69 from "react";
26861
26911
 
26862
26912
  // node_modules/@date-fns/tz/tzName/index.js
26863
26913
  function tzName(timeZone, date, format2 = "long") {
@@ -29310,55 +29360,55 @@ __export(custom_components_exports, {
29310
29360
  });
29311
29361
 
29312
29362
  // node_modules/react-day-picker/dist/esm/components/Button.js
29313
- import React41 from "react";
29363
+ import React42 from "react";
29314
29364
  function Button2(props) {
29315
- return React41.createElement("button", { ...props });
29365
+ return React42.createElement("button", { ...props });
29316
29366
  }
29317
29367
 
29318
29368
  // node_modules/react-day-picker/dist/esm/components/CaptionLabel.js
29319
- import React42 from "react";
29369
+ import React43 from "react";
29320
29370
  function CaptionLabel(props) {
29321
- return React42.createElement("span", { ...props });
29371
+ return React43.createElement("span", { ...props });
29322
29372
  }
29323
29373
 
29324
29374
  // node_modules/react-day-picker/dist/esm/components/Chevron.js
29325
- import React43 from "react";
29375
+ import React44 from "react";
29326
29376
  function Chevron(props) {
29327
29377
  const { size = 24, orientation = "left", className } = props;
29328
29378
  return (
29329
29379
  // biome-ignore lint/a11y/noSvgWithoutTitle: handled by the parent component
29330
- React43.createElement(
29380
+ React44.createElement(
29331
29381
  "svg",
29332
29382
  { className, width: size, height: size, viewBox: "0 0 24 24" },
29333
- orientation === "up" && React43.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
29334
- orientation === "down" && React43.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
29335
- orientation === "left" && React43.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
29336
- orientation === "right" && React43.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
29383
+ orientation === "up" && React44.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
29384
+ orientation === "down" && React44.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
29385
+ orientation === "left" && React44.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
29386
+ orientation === "right" && React44.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
29337
29387
  )
29338
29388
  );
29339
29389
  }
29340
29390
 
29341
29391
  // node_modules/react-day-picker/dist/esm/components/Day.js
29342
- import React44 from "react";
29392
+ import React45 from "react";
29343
29393
  function Day(props) {
29344
29394
  const { day, modifiers, ...tdProps } = props;
29345
- return React44.createElement("td", { ...tdProps });
29395
+ return React45.createElement("td", { ...tdProps });
29346
29396
  }
29347
29397
 
29348
29398
  // node_modules/react-day-picker/dist/esm/components/DayButton.js
29349
- import React45 from "react";
29399
+ import React46 from "react";
29350
29400
  function DayButton(props) {
29351
29401
  const { day, modifiers, ...buttonProps } = props;
29352
- const ref = React45.useRef(null);
29353
- React45.useEffect(() => {
29402
+ const ref = React46.useRef(null);
29403
+ React46.useEffect(() => {
29354
29404
  if (modifiers.focused)
29355
29405
  ref.current?.focus();
29356
29406
  }, [modifiers.focused]);
29357
- return React45.createElement("button", { ref, ...buttonProps });
29407
+ return React46.createElement("button", { ref, ...buttonProps });
29358
29408
  }
29359
29409
 
29360
29410
  // node_modules/react-day-picker/dist/esm/components/Dropdown.js
29361
- import React46 from "react";
29411
+ import React47 from "react";
29362
29412
 
29363
29413
  // node_modules/react-day-picker/dist/esm/UI.js
29364
29414
  var UI;
@@ -29420,59 +29470,59 @@ function Dropdown(props) {
29420
29470
  const { options, className, components, classNames, ...selectProps } = props;
29421
29471
  const cssClassSelect = [classNames[UI.Dropdown], className].join(" ");
29422
29472
  const selectedOption = options?.find(({ value }) => value === selectProps.value);
29423
- return React46.createElement(
29473
+ return React47.createElement(
29424
29474
  "span",
29425
29475
  { "data-disabled": selectProps.disabled, className: classNames[UI.DropdownRoot] },
29426
- React46.createElement(components.Select, { className: cssClassSelect, ...selectProps }, options?.map(({ value, label, disabled }) => React46.createElement(components.Option, { key: value, value, disabled }, label))),
29427
- React46.createElement(
29476
+ React47.createElement(components.Select, { className: cssClassSelect, ...selectProps }, options?.map(({ value, label, disabled }) => React47.createElement(components.Option, { key: value, value, disabled }, label))),
29477
+ React47.createElement(
29428
29478
  "span",
29429
29479
  { className: classNames[UI.CaptionLabel], "aria-hidden": true },
29430
29480
  selectedOption?.label,
29431
- React46.createElement(components.Chevron, { orientation: "down", size: 18, className: classNames[UI.Chevron] })
29481
+ React47.createElement(components.Chevron, { orientation: "down", size: 18, className: classNames[UI.Chevron] })
29432
29482
  )
29433
29483
  );
29434
29484
  }
29435
29485
 
29436
29486
  // node_modules/react-day-picker/dist/esm/components/DropdownNav.js
29437
- import React47 from "react";
29487
+ import React48 from "react";
29438
29488
  function DropdownNav(props) {
29439
- return React47.createElement("div", { ...props });
29489
+ return React48.createElement("div", { ...props });
29440
29490
  }
29441
29491
 
29442
29492
  // node_modules/react-day-picker/dist/esm/components/Footer.js
29443
- import React48 from "react";
29493
+ import React49 from "react";
29444
29494
  function Footer(props) {
29445
- return React48.createElement("div", { ...props });
29495
+ return React49.createElement("div", { ...props });
29446
29496
  }
29447
29497
 
29448
29498
  // node_modules/react-day-picker/dist/esm/components/Month.js
29449
- import React49 from "react";
29499
+ import React50 from "react";
29450
29500
  function Month(props) {
29451
29501
  const { calendarMonth, displayIndex, ...divProps } = props;
29452
- return React49.createElement("div", { ...divProps }, props.children);
29502
+ return React50.createElement("div", { ...divProps }, props.children);
29453
29503
  }
29454
29504
 
29455
29505
  // node_modules/react-day-picker/dist/esm/components/MonthCaption.js
29456
- import React50 from "react";
29506
+ import React51 from "react";
29457
29507
  function MonthCaption(props) {
29458
29508
  const { calendarMonth, displayIndex, ...divProps } = props;
29459
- return React50.createElement("div", { ...divProps });
29509
+ return React51.createElement("div", { ...divProps });
29460
29510
  }
29461
29511
 
29462
29512
  // node_modules/react-day-picker/dist/esm/components/MonthGrid.js
29463
- import React51 from "react";
29513
+ import React52 from "react";
29464
29514
  function MonthGrid(props) {
29465
- return React51.createElement("table", { ...props });
29515
+ return React52.createElement("table", { ...props });
29466
29516
  }
29467
29517
 
29468
29518
  // node_modules/react-day-picker/dist/esm/components/Months.js
29469
- import React52 from "react";
29519
+ import React53 from "react";
29470
29520
  function Months(props) {
29471
- return React52.createElement("div", { ...props });
29521
+ return React53.createElement("div", { ...props });
29472
29522
  }
29473
29523
 
29474
29524
  // node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js
29475
- import React53 from "react";
29525
+ import React54 from "react";
29476
29526
 
29477
29527
  // node_modules/react-day-picker/dist/esm/useDayPicker.js
29478
29528
  import { createContext as createContext2, useContext as useContext3 } from "react";
@@ -29488,11 +29538,11 @@ function useDayPicker() {
29488
29538
  // node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js
29489
29539
  function MonthsDropdown(props) {
29490
29540
  const { components } = useDayPicker();
29491
- return React53.createElement(components.Dropdown, { ...props });
29541
+ return React54.createElement(components.Dropdown, { ...props });
29492
29542
  }
29493
29543
 
29494
29544
  // node_modules/react-day-picker/dist/esm/components/Nav.js
29495
- import React54, { useCallback as useCallback2 } from "react";
29545
+ import React55, { useCallback as useCallback2 } from "react";
29496
29546
  function Nav(props) {
29497
29547
  const { onPreviousClick, onNextClick, previousMonth, nextMonth, ...navProps } = props;
29498
29548
  const { components, classNames, labels: { labelPrevious: labelPrevious2, labelNext: labelNext2 } } = useDayPicker();
@@ -29506,106 +29556,106 @@ function Nav(props) {
29506
29556
  onPreviousClick?.(e);
29507
29557
  }
29508
29558
  }, [previousMonth, onPreviousClick]);
29509
- return React54.createElement(
29559
+ return React55.createElement(
29510
29560
  "nav",
29511
29561
  { ...navProps },
29512
- React54.createElement(
29562
+ React55.createElement(
29513
29563
  components.PreviousMonthButton,
29514
29564
  { type: "button", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? void 0 : -1, "aria-disabled": previousMonth ? void 0 : true, "aria-label": labelPrevious2(previousMonth), onClick: handlePreviousClick },
29515
- React54.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: "left" })
29565
+ React55.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: "left" })
29516
29566
  ),
29517
- React54.createElement(
29567
+ React55.createElement(
29518
29568
  components.NextMonthButton,
29519
29569
  { type: "button", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? void 0 : -1, "aria-disabled": nextMonth ? void 0 : true, "aria-label": labelNext2(nextMonth), onClick: handleNextClick },
29520
- React54.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, orientation: "right", className: classNames[UI.Chevron] })
29570
+ React55.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, orientation: "right", className: classNames[UI.Chevron] })
29521
29571
  )
29522
29572
  );
29523
29573
  }
29524
29574
 
29525
29575
  // node_modules/react-day-picker/dist/esm/components/NextMonthButton.js
29526
- import React55 from "react";
29576
+ import React56 from "react";
29527
29577
  function NextMonthButton(props) {
29528
29578
  const { components } = useDayPicker();
29529
- return React55.createElement(components.Button, { ...props });
29579
+ return React56.createElement(components.Button, { ...props });
29530
29580
  }
29531
29581
 
29532
29582
  // node_modules/react-day-picker/dist/esm/components/Option.js
29533
- import React56 from "react";
29583
+ import React57 from "react";
29534
29584
  function Option2(props) {
29535
- return React56.createElement("option", { ...props });
29585
+ return React57.createElement("option", { ...props });
29536
29586
  }
29537
29587
 
29538
29588
  // node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js
29539
- import React57 from "react";
29589
+ import React58 from "react";
29540
29590
  function PreviousMonthButton(props) {
29541
29591
  const { components } = useDayPicker();
29542
- return React57.createElement(components.Button, { ...props });
29592
+ return React58.createElement(components.Button, { ...props });
29543
29593
  }
29544
29594
 
29545
29595
  // node_modules/react-day-picker/dist/esm/components/Root.js
29546
- import React58 from "react";
29596
+ import React59 from "react";
29547
29597
  function Root20(props) {
29548
29598
  const { rootRef, ...rest } = props;
29549
- return React58.createElement("div", { ...rest, ref: rootRef });
29599
+ return React59.createElement("div", { ...rest, ref: rootRef });
29550
29600
  }
29551
29601
 
29552
29602
  // node_modules/react-day-picker/dist/esm/components/Select.js
29553
- import React59 from "react";
29603
+ import React60 from "react";
29554
29604
  function Select2(props) {
29555
- return React59.createElement("select", { ...props });
29605
+ return React60.createElement("select", { ...props });
29556
29606
  }
29557
29607
 
29558
29608
  // node_modules/react-day-picker/dist/esm/components/Week.js
29559
- import React60 from "react";
29609
+ import React61 from "react";
29560
29610
  function Week(props) {
29561
29611
  const { week, ...trProps } = props;
29562
- return React60.createElement("tr", { ...trProps });
29612
+ return React61.createElement("tr", { ...trProps });
29563
29613
  }
29564
29614
 
29565
29615
  // node_modules/react-day-picker/dist/esm/components/Weekday.js
29566
- import React61 from "react";
29616
+ import React62 from "react";
29567
29617
  function Weekday(props) {
29568
- return React61.createElement("th", { ...props });
29618
+ return React62.createElement("th", { ...props });
29569
29619
  }
29570
29620
 
29571
29621
  // node_modules/react-day-picker/dist/esm/components/Weekdays.js
29572
- import React62 from "react";
29622
+ import React63 from "react";
29573
29623
  function Weekdays(props) {
29574
- return React62.createElement(
29624
+ return React63.createElement(
29575
29625
  "thead",
29576
29626
  { "aria-hidden": true },
29577
- React62.createElement("tr", { ...props })
29627
+ React63.createElement("tr", { ...props })
29578
29628
  );
29579
29629
  }
29580
29630
 
29581
29631
  // node_modules/react-day-picker/dist/esm/components/WeekNumber.js
29582
- import React63 from "react";
29632
+ import React64 from "react";
29583
29633
  function WeekNumber(props) {
29584
29634
  const { week, ...thProps } = props;
29585
- return React63.createElement("th", { ...thProps });
29635
+ return React64.createElement("th", { ...thProps });
29586
29636
  }
29587
29637
 
29588
29638
  // node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js
29589
- import React64 from "react";
29639
+ import React65 from "react";
29590
29640
  function WeekNumberHeader(props) {
29591
- return React64.createElement("th", { ...props });
29641
+ return React65.createElement("th", { ...props });
29592
29642
  }
29593
29643
 
29594
29644
  // node_modules/react-day-picker/dist/esm/components/Weeks.js
29595
- import React65 from "react";
29645
+ import React66 from "react";
29596
29646
  function Weeks(props) {
29597
- return React65.createElement("tbody", { ...props });
29647
+ return React66.createElement("tbody", { ...props });
29598
29648
  }
29599
29649
 
29600
29650
  // node_modules/react-day-picker/dist/esm/components/YearsDropdown.js
29601
- import React66 from "react";
29651
+ import React67 from "react";
29602
29652
  function YearsDropdown(props) {
29603
29653
  const { components } = useDayPicker();
29604
- return React66.createElement(components.Dropdown, { ...props });
29654
+ return React67.createElement(components.Dropdown, { ...props });
29605
29655
  }
29606
29656
 
29607
29657
  // node_modules/react-day-picker/dist/esm/DayPicker.js
29608
- import React67, { useCallback as useCallback3, useMemo as useMemo2, useRef as useRef2 } from "react";
29658
+ import React68, { useCallback as useCallback3, useMemo as useMemo2, useRef as useRef2 } from "react";
29609
29659
 
29610
29660
  // node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js
29611
29661
  function rangeIncludesDate(range, date, excludeEnds = false, dateLib = defaultDateLib) {
@@ -31247,18 +31297,18 @@ function DayPicker(initialProps) {
31247
31297
  labels,
31248
31298
  formatters: formatters2
31249
31299
  };
31250
- return React67.createElement(
31300
+ return React68.createElement(
31251
31301
  dayPickerContext.Provider,
31252
31302
  { value: contextValue },
31253
- React67.createElement(
31303
+ React68.createElement(
31254
31304
  components.Root,
31255
31305
  { rootRef: props.animate ? rootElRef : void 0, className, style, dir: props.dir, id: props.id, lang: props.lang, nonce: props.nonce, title: props.title, role: props.role, "aria-label": props["aria-label"], "aria-labelledby": props["aria-labelledby"], ...dataAttributes },
31256
- React67.createElement(
31306
+ React68.createElement(
31257
31307
  components.Months,
31258
31308
  { className: classNames[UI.Months], style: styles?.[UI.Months] },
31259
- !props.hideNavigation && !navLayout && React67.createElement(components.Nav, { "data-animated-nav": props.animate ? "true" : void 0, className: classNames[UI.Nav], style: styles?.[UI.Nav], "aria-label": labelNav2(), onPreviousClick: handlePreviousClick, onNextClick: handleNextClick, previousMonth, nextMonth }),
31309
+ !props.hideNavigation && !navLayout && React68.createElement(components.Nav, { "data-animated-nav": props.animate ? "true" : void 0, className: classNames[UI.Nav], style: styles?.[UI.Nav], "aria-label": labelNav2(), onPreviousClick: handlePreviousClick, onNextClick: handleNextClick, previousMonth, nextMonth }),
31260
31310
  months.map((calendarMonth, displayIndex) => {
31261
- return React67.createElement(
31311
+ return React68.createElement(
31262
31312
  components.Month,
31263
31313
  {
31264
31314
  "data-animated-month": props.animate ? "true" : void 0,
@@ -31269,21 +31319,21 @@ function DayPicker(initialProps) {
31269
31319
  displayIndex,
31270
31320
  calendarMonth
31271
31321
  },
31272
- navLayout === "around" && !props.hideNavigation && displayIndex === 0 && React67.createElement(
31322
+ navLayout === "around" && !props.hideNavigation && displayIndex === 0 && React68.createElement(
31273
31323
  components.PreviousMonthButton,
31274
31324
  { type: "button", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? void 0 : -1, "aria-disabled": previousMonth ? void 0 : true, "aria-label": labelPrevious2(previousMonth), onClick: handlePreviousClick, "data-animated-button": props.animate ? "true" : void 0 },
31275
- React67.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "right" : "left" })
31325
+ React68.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "right" : "left" })
31276
31326
  ),
31277
- React67.createElement(components.MonthCaption, { "data-animated-caption": props.animate ? "true" : void 0, className: classNames[UI.MonthCaption], style: styles?.[UI.MonthCaption], calendarMonth, displayIndex }, captionLayout?.startsWith("dropdown") ? React67.createElement(
31327
+ React68.createElement(components.MonthCaption, { "data-animated-caption": props.animate ? "true" : void 0, className: classNames[UI.MonthCaption], style: styles?.[UI.MonthCaption], calendarMonth, displayIndex }, captionLayout?.startsWith("dropdown") ? React68.createElement(
31278
31328
  components.DropdownNav,
31279
31329
  { className: classNames[UI.Dropdowns], style: styles?.[UI.Dropdowns] },
31280
31330
  (() => {
31281
- const monthControl = captionLayout === "dropdown" || captionLayout === "dropdown-months" ? React67.createElement(components.MonthsDropdown, { key: "month", className: classNames[UI.MonthsDropdown], "aria-label": labelMonthDropdown2(), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleMonthChange(calendarMonth.date), options: getMonthOptions(calendarMonth.date, navStart, navEnd, formatters2, dateLib), style: styles?.[UI.Dropdown], value: dateLib.getMonth(calendarMonth.date) }) : React67.createElement("span", { key: "month" }, formatMonthDropdown2(calendarMonth.date, dateLib));
31282
- const yearControl = captionLayout === "dropdown" || captionLayout === "dropdown-years" ? React67.createElement(components.YearsDropdown, { key: "year", className: classNames[UI.YearsDropdown], "aria-label": labelYearDropdown2(dateLib.options), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleYearChange(calendarMonth.date), options: getYearOptions(navStart, navEnd, formatters2, dateLib, Boolean(props.reverseYears)), style: styles?.[UI.Dropdown], value: dateLib.getYear(calendarMonth.date) }) : React67.createElement("span", { key: "year" }, formatYearDropdown2(calendarMonth.date, dateLib));
31331
+ const monthControl = captionLayout === "dropdown" || captionLayout === "dropdown-months" ? React68.createElement(components.MonthsDropdown, { key: "month", className: classNames[UI.MonthsDropdown], "aria-label": labelMonthDropdown2(), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleMonthChange(calendarMonth.date), options: getMonthOptions(calendarMonth.date, navStart, navEnd, formatters2, dateLib), style: styles?.[UI.Dropdown], value: dateLib.getMonth(calendarMonth.date) }) : React68.createElement("span", { key: "month" }, formatMonthDropdown2(calendarMonth.date, dateLib));
31332
+ const yearControl = captionLayout === "dropdown" || captionLayout === "dropdown-years" ? React68.createElement(components.YearsDropdown, { key: "year", className: classNames[UI.YearsDropdown], "aria-label": labelYearDropdown2(dateLib.options), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleYearChange(calendarMonth.date), options: getYearOptions(navStart, navEnd, formatters2, dateLib, Boolean(props.reverseYears)), style: styles?.[UI.Dropdown], value: dateLib.getYear(calendarMonth.date) }) : React68.createElement("span", { key: "year" }, formatYearDropdown2(calendarMonth.date, dateLib));
31283
31333
  const controls = dateLib.getMonthYearOrder() === "year-first" ? [yearControl, monthControl] : [monthControl, yearControl];
31284
31334
  return controls;
31285
31335
  })(),
31286
- React67.createElement("span", { role: "status", "aria-live": "polite", style: {
31336
+ React68.createElement("span", { role: "status", "aria-live": "polite", style: {
31287
31337
  border: 0,
31288
31338
  clip: "rect(0 0 0 0)",
31289
31339
  height: "1px",
@@ -31295,27 +31345,27 @@ function DayPicker(initialProps) {
31295
31345
  whiteSpace: "nowrap",
31296
31346
  wordWrap: "normal"
31297
31347
  } }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))
31298
- ) : React67.createElement(components.CaptionLabel, { className: classNames[UI.CaptionLabel], role: "status", "aria-live": "polite" }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))),
31299
- navLayout === "around" && !props.hideNavigation && displayIndex === numberOfMonths - 1 && React67.createElement(
31348
+ ) : React68.createElement(components.CaptionLabel, { className: classNames[UI.CaptionLabel], role: "status", "aria-live": "polite" }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))),
31349
+ navLayout === "around" && !props.hideNavigation && displayIndex === numberOfMonths - 1 && React68.createElement(
31300
31350
  components.NextMonthButton,
31301
31351
  { type: "button", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? void 0 : -1, "aria-disabled": nextMonth ? void 0 : true, "aria-label": labelNext2(nextMonth), onClick: handleNextClick, "data-animated-button": props.animate ? "true" : void 0 },
31302
- React67.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "left" : "right" })
31352
+ React68.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "left" : "right" })
31303
31353
  ),
31304
- displayIndex === numberOfMonths - 1 && navLayout === "after" && !props.hideNavigation && React67.createElement(components.Nav, { "data-animated-nav": props.animate ? "true" : void 0, className: classNames[UI.Nav], style: styles?.[UI.Nav], "aria-label": labelNav2(), onPreviousClick: handlePreviousClick, onNextClick: handleNextClick, previousMonth, nextMonth }),
31305
- React67.createElement(
31354
+ displayIndex === numberOfMonths - 1 && navLayout === "after" && !props.hideNavigation && React68.createElement(components.Nav, { "data-animated-nav": props.animate ? "true" : void 0, className: classNames[UI.Nav], style: styles?.[UI.Nav], "aria-label": labelNav2(), onPreviousClick: handlePreviousClick, onNextClick: handleNextClick, previousMonth, nextMonth }),
31355
+ React68.createElement(
31306
31356
  components.MonthGrid,
31307
31357
  { role: "grid", "aria-multiselectable": mode === "multiple" || mode === "range", "aria-label": labelGrid2(calendarMonth.date, dateLib.options, dateLib) || void 0, className: classNames[UI.MonthGrid], style: styles?.[UI.MonthGrid] },
31308
- !props.hideWeekdays && React67.createElement(
31358
+ !props.hideWeekdays && React68.createElement(
31309
31359
  components.Weekdays,
31310
31360
  { "data-animated-weekdays": props.animate ? "true" : void 0, className: classNames[UI.Weekdays], style: styles?.[UI.Weekdays] },
31311
- showWeekNumber && React67.createElement(components.WeekNumberHeader, { "aria-label": labelWeekNumberHeader2(dateLib.options), className: classNames[UI.WeekNumberHeader], style: styles?.[UI.WeekNumberHeader], scope: "col" }, formatWeekNumberHeader2()),
31312
- weekdays.map((weekday) => React67.createElement(components.Weekday, { "aria-label": labelWeekday2(weekday, dateLib.options, dateLib), className: classNames[UI.Weekday], key: String(weekday), style: styles?.[UI.Weekday], scope: "col" }, formatWeekdayName2(weekday, dateLib.options, dateLib)))
31361
+ showWeekNumber && React68.createElement(components.WeekNumberHeader, { "aria-label": labelWeekNumberHeader2(dateLib.options), className: classNames[UI.WeekNumberHeader], style: styles?.[UI.WeekNumberHeader], scope: "col" }, formatWeekNumberHeader2()),
31362
+ weekdays.map((weekday) => React68.createElement(components.Weekday, { "aria-label": labelWeekday2(weekday, dateLib.options, dateLib), className: classNames[UI.Weekday], key: String(weekday), style: styles?.[UI.Weekday], scope: "col" }, formatWeekdayName2(weekday, dateLib.options, dateLib)))
31313
31363
  ),
31314
- React67.createElement(components.Weeks, { "data-animated-weeks": props.animate ? "true" : void 0, className: classNames[UI.Weeks], style: styles?.[UI.Weeks] }, calendarMonth.weeks.map((week) => {
31315
- return React67.createElement(
31364
+ React68.createElement(components.Weeks, { "data-animated-weeks": props.animate ? "true" : void 0, className: classNames[UI.Weeks], style: styles?.[UI.Weeks] }, calendarMonth.weeks.map((week) => {
31365
+ return React68.createElement(
31316
31366
  components.Week,
31317
31367
  { className: classNames[UI.Week], key: week.weekNumber, style: styles?.[UI.Week], week },
31318
- showWeekNumber && React67.createElement(components.WeekNumber, { week, style: styles?.[UI.WeekNumber], "aria-label": labelWeekNumber2(week.weekNumber, {
31368
+ showWeekNumber && React68.createElement(components.WeekNumber, { week, style: styles?.[UI.WeekNumber], "aria-label": labelWeekNumber2(week.weekNumber, {
31319
31369
  locale
31320
31370
  }), className: classNames[UI.WeekNumber], scope: "row", role: "rowheader" }, formatWeekNumber2(week.weekNumber, dateLib)),
31321
31371
  week.days.map((day) => {
@@ -31332,7 +31382,7 @@ function DayPicker(initialProps) {
31332
31382
  const style2 = getStyleForModifiers(modifiers, styles, props.modifiersStyles);
31333
31383
  const className2 = getClassNamesForModifiers(modifiers, classNames, props.modifiersClassNames);
31334
31384
  const ariaLabel = !isInteractive && !modifiers.hidden ? labelGridcell2(date, modifiers, dateLib.options, dateLib) : void 0;
31335
- return React67.createElement(components.Day, { key: `${day.isoDate}_${day.displayMonthId}`, day, modifiers, className: className2.join(" "), style: style2, role: "gridcell", "aria-selected": modifiers.selected || void 0, "aria-label": ariaLabel, "data-day": day.isoDate, "data-month": day.outside ? day.dateMonthId : void 0, "data-selected": modifiers.selected || void 0, "data-disabled": modifiers.disabled || void 0, "data-hidden": modifiers.hidden || void 0, "data-outside": day.outside || void 0, "data-focused": modifiers.focused || void 0, "data-today": modifiers.today || void 0 }, !modifiers.hidden && isInteractive ? React67.createElement(components.DayButton, { className: classNames[UI.DayButton], style: styles?.[UI.DayButton], type: "button", day, modifiers, disabled: !modifiers.focused && modifiers.disabled || void 0, "aria-disabled": modifiers.focused && modifiers.disabled || void 0, tabIndex: isFocusTarget(day) ? 0 : -1, "aria-label": labelDayButton2(date, modifiers, dateLib.options, dateLib), onClick: handleDayClick(day, modifiers), onBlur: handleDayBlur(day, modifiers), onFocus: handleDayFocus(day, modifiers), onKeyDown: handleDayKeyDown(day, modifiers), onMouseEnter: handleDayMouseEnter(day, modifiers), onMouseLeave: handleDayMouseLeave(day, modifiers) }, formatDay2(date, dateLib.options, dateLib)) : !modifiers.hidden && formatDay2(day.date, dateLib.options, dateLib));
31385
+ return React68.createElement(components.Day, { key: `${day.isoDate}_${day.displayMonthId}`, day, modifiers, className: className2.join(" "), style: style2, role: "gridcell", "aria-selected": modifiers.selected || void 0, "aria-label": ariaLabel, "data-day": day.isoDate, "data-month": day.outside ? day.dateMonthId : void 0, "data-selected": modifiers.selected || void 0, "data-disabled": modifiers.disabled || void 0, "data-hidden": modifiers.hidden || void 0, "data-outside": day.outside || void 0, "data-focused": modifiers.focused || void 0, "data-today": modifiers.today || void 0 }, !modifiers.hidden && isInteractive ? React68.createElement(components.DayButton, { className: classNames[UI.DayButton], style: styles?.[UI.DayButton], type: "button", day, modifiers, disabled: !modifiers.focused && modifiers.disabled || void 0, "aria-disabled": modifiers.focused && modifiers.disabled || void 0, tabIndex: isFocusTarget(day) ? 0 : -1, "aria-label": labelDayButton2(date, modifiers, dateLib.options, dateLib), onClick: handleDayClick(day, modifiers), onBlur: handleDayBlur(day, modifiers), onFocus: handleDayFocus(day, modifiers), onKeyDown: handleDayKeyDown(day, modifiers), onMouseEnter: handleDayMouseEnter(day, modifiers), onMouseLeave: handleDayMouseLeave(day, modifiers) }, formatDay2(date, dateLib.options, dateLib)) : !modifiers.hidden && formatDay2(day.date, dateLib.options, dateLib));
31336
31386
  })
31337
31387
  );
31338
31388
  }))
@@ -31340,7 +31390,7 @@ function DayPicker(initialProps) {
31340
31390
  );
31341
31391
  })
31342
31392
  ),
31343
- props.footer && React67.createElement(components.Footer, { className: classNames[UI.Footer], style: styles?.[UI.Footer], role: "status", "aria-live": "polite" }, props.footer)
31393
+ props.footer && React68.createElement(components.Footer, { className: classNames[UI.Footer], style: styles?.[UI.Footer], role: "status", "aria-live": "polite" }, props.footer)
31344
31394
  )
31345
31395
  );
31346
31396
  }
@@ -31499,8 +31549,8 @@ function CalendarDayButton({
31499
31549
  ...props
31500
31550
  }) {
31501
31551
  const defaultClassNames = getDefaultClassNames();
31502
- const ref = React68.useRef(null);
31503
- React68.useEffect(() => {
31552
+ const ref = React69.useRef(null);
31553
+ React69.useEffect(() => {
31504
31554
  if (modifiers.focused) ref.current?.focus();
31505
31555
  }, [modifiers.focused]);
31506
31556
  return /* @__PURE__ */ jsx55(
@@ -31557,7 +31607,7 @@ var CalendarAtom = ({
31557
31607
  };
31558
31608
 
31559
31609
  // src/components/ui/pagination.tsx
31560
- import * as React69 from "react";
31610
+ import * as React70 from "react";
31561
31611
  import { jsx as jsx57, jsxs as jsxs28 } from "react/jsx-runtime";
31562
31612
  var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx57(
31563
31613
  "nav",
@@ -31569,7 +31619,7 @@ var Pagination = ({ className, ...props }) => /* @__PURE__ */ jsx57(
31569
31619
  }
31570
31620
  );
31571
31621
  Pagination.displayName = "Pagination";
31572
- var PaginationContent = React69.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57(
31622
+ var PaginationContent = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57(
31573
31623
  "ul",
31574
31624
  {
31575
31625
  ref,
@@ -31578,7 +31628,7 @@ var PaginationContent = React69.forwardRef(({ className, ...props }, ref) => /*
31578
31628
  }
31579
31629
  ));
31580
31630
  PaginationContent.displayName = "PaginationContent";
31581
- var PaginationItem = React69.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57("li", { ref, className: cn("", className), ...props }));
31631
+ var PaginationItem = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx57("li", { ref, className: cn("", className), ...props }));
31582
31632
  PaginationItem.displayName = "PaginationItem";
31583
31633
  var PaginationLink = ({
31584
31634
  className,
@@ -31669,13 +31719,13 @@ var PaginationAtom = ({
31669
31719
  };
31670
31720
 
31671
31721
  // src/atoms/CommandAtom.tsx
31672
- import React71 from "react";
31722
+ import React72 from "react";
31673
31723
 
31674
31724
  // src/components/ui/command.tsx
31675
- import * as React70 from "react";
31725
+ import * as React71 from "react";
31676
31726
  import { Command as CommandPrimitive } from "cmdk";
31677
31727
  import { jsx as jsx59, jsxs as jsxs30 } from "react/jsx-runtime";
31678
- var Command2 = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31728
+ var Command2 = React71.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31679
31729
  CommandPrimitive,
31680
31730
  {
31681
31731
  ref,
@@ -31690,7 +31740,7 @@ Command2.displayName = CommandPrimitive.displayName;
31690
31740
  var CommandDialog = ({ children, ...props }) => {
31691
31741
  return /* @__PURE__ */ jsx59(Dialog, { ...props, children: /* @__PURE__ */ jsx59(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx59(Command2, { 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 }) }) });
31692
31742
  };
31693
- var CommandInput = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs30("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
31743
+ var CommandInput = React71.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs30("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
31694
31744
  /* @__PURE__ */ jsx59(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
31695
31745
  /* @__PURE__ */ jsx59(
31696
31746
  CommandPrimitive.Input,
@@ -31705,7 +31755,7 @@ var CommandInput = React70.forwardRef(({ className, ...props }, ref) => /* @__PU
31705
31755
  )
31706
31756
  ] }));
31707
31757
  CommandInput.displayName = CommandPrimitive.Input.displayName;
31708
- var CommandList = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31758
+ var CommandList = React71.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31709
31759
  CommandPrimitive.List,
31710
31760
  {
31711
31761
  ref,
@@ -31714,7 +31764,7 @@ var CommandList = React70.forwardRef(({ className, ...props }, ref) => /* @__PUR
31714
31764
  }
31715
31765
  ));
31716
31766
  CommandList.displayName = CommandPrimitive.List.displayName;
31717
- var CommandEmpty = React70.forwardRef((props, ref) => /* @__PURE__ */ jsx59(
31767
+ var CommandEmpty = React71.forwardRef((props, ref) => /* @__PURE__ */ jsx59(
31718
31768
  CommandPrimitive.Empty,
31719
31769
  {
31720
31770
  ref,
@@ -31723,7 +31773,7 @@ var CommandEmpty = React70.forwardRef((props, ref) => /* @__PURE__ */ jsx59(
31723
31773
  }
31724
31774
  ));
31725
31775
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
31726
- var CommandGroup = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31776
+ var CommandGroup = React71.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31727
31777
  CommandPrimitive.Group,
31728
31778
  {
31729
31779
  ref,
@@ -31735,7 +31785,7 @@ var CommandGroup = React70.forwardRef(({ className, ...props }, ref) => /* @__PU
31735
31785
  }
31736
31786
  ));
31737
31787
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
31738
- var CommandSeparator = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31788
+ var CommandSeparator = React71.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31739
31789
  CommandPrimitive.Separator,
31740
31790
  {
31741
31791
  ref,
@@ -31744,7 +31794,7 @@ var CommandSeparator = React70.forwardRef(({ className, ...props }, ref) => /* @
31744
31794
  }
31745
31795
  ));
31746
31796
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
31747
- var CommandItem = React70.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31797
+ var CommandItem = React71.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx59(
31748
31798
  CommandPrimitive.Item,
31749
31799
  {
31750
31800
  ref,
@@ -31791,7 +31841,7 @@ var CommandAtom = ({
31791
31841
  /* @__PURE__ */ jsx60(CommandInput, { placeholder }),
31792
31842
  /* @__PURE__ */ jsxs31(CommandList, { children: [
31793
31843
  /* @__PURE__ */ jsx60(CommandEmpty, { children: "No results found." }),
31794
- groups.map((group, i) => /* @__PURE__ */ jsxs31(React71.Fragment, { children: [
31844
+ groups.map((group, i) => /* @__PURE__ */ jsxs31(React72.Fragment, { children: [
31795
31845
  /* @__PURE__ */ jsx60(CommandGroup, { heading: group.heading, children: group.items.map((item, j) => /* @__PURE__ */ jsx60(CommandItem, { value: item.value, children: /* @__PURE__ */ jsx60("span", { children: item.label }) }, j)) }),
31796
31846
  i < groups.length - 1 && /* @__PURE__ */ jsx60(CommandSeparator, {})
31797
31847
  ] }, i))
@@ -31802,7 +31852,7 @@ var CommandAtom = ({
31802
31852
  };
31803
31853
 
31804
31854
  // src/components/ui/form.tsx
31805
- import * as React72 from "react";
31855
+ import * as React73 from "react";
31806
31856
  import { Slot as Slot3 } from "@radix-ui/react-slot";
31807
31857
  import {
31808
31858
  Controller,
@@ -31811,15 +31861,15 @@ import {
31811
31861
  } from "react-hook-form";
31812
31862
  import { jsx as jsx61 } from "react/jsx-runtime";
31813
31863
  var Form = FormProvider;
31814
- var FormFieldContext = React72.createContext(null);
31864
+ var FormFieldContext = React73.createContext(null);
31815
31865
  var FormField = ({
31816
31866
  ...props
31817
31867
  }) => {
31818
31868
  return /* @__PURE__ */ jsx61(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx61(Controller, { ...props }) });
31819
31869
  };
31820
31870
  var useFormField = () => {
31821
- const fieldContext = React72.useContext(FormFieldContext);
31822
- const itemContext = React72.useContext(FormItemContext);
31871
+ const fieldContext = React73.useContext(FormFieldContext);
31872
+ const itemContext = React73.useContext(FormItemContext);
31823
31873
  const { getFieldState, formState } = useFormContext();
31824
31874
  if (!fieldContext) {
31825
31875
  throw new Error("useFormField should be used within <FormField>");
@@ -31838,13 +31888,13 @@ var useFormField = () => {
31838
31888
  ...fieldState
31839
31889
  };
31840
31890
  };
31841
- var FormItemContext = React72.createContext(null);
31842
- var FormItem = React72.forwardRef(({ className, ...props }, ref) => {
31843
- const id = React72.useId();
31891
+ var FormItemContext = React73.createContext(null);
31892
+ var FormItem = React73.forwardRef(({ className, ...props }, ref) => {
31893
+ const id = React73.useId();
31844
31894
  return /* @__PURE__ */ jsx61(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx61("div", { ref, className: cn("space-y-2", className), ...props }) });
31845
31895
  });
31846
31896
  FormItem.displayName = "FormItem";
31847
- var FormLabel = React72.forwardRef(({ className, ...props }, ref) => {
31897
+ var FormLabel = React73.forwardRef(({ className, ...props }, ref) => {
31848
31898
  const { error, formItemId } = useFormField();
31849
31899
  return /* @__PURE__ */ jsx61(
31850
31900
  Label,
@@ -31857,7 +31907,7 @@ var FormLabel = React72.forwardRef(({ className, ...props }, ref) => {
31857
31907
  );
31858
31908
  });
31859
31909
  FormLabel.displayName = "FormLabel";
31860
- var FormControl = React72.forwardRef(({ ...props }, ref) => {
31910
+ var FormControl = React73.forwardRef(({ ...props }, ref) => {
31861
31911
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
31862
31912
  return /* @__PURE__ */ jsx61(
31863
31913
  Slot3,
@@ -31871,7 +31921,7 @@ var FormControl = React72.forwardRef(({ ...props }, ref) => {
31871
31921
  );
31872
31922
  });
31873
31923
  FormControl.displayName = "FormControl";
31874
- var FormDescription = React72.forwardRef(({ className, ...props }, ref) => {
31924
+ var FormDescription = React73.forwardRef(({ className, ...props }, ref) => {
31875
31925
  const { formDescriptionId } = useFormField();
31876
31926
  return /* @__PURE__ */ jsx61(
31877
31927
  "p",
@@ -31884,7 +31934,7 @@ var FormDescription = React72.forwardRef(({ className, ...props }, ref) => {
31884
31934
  );
31885
31935
  });
31886
31936
  FormDescription.displayName = "FormDescription";
31887
- var FormMessage = React72.forwardRef(({ className, children, ...props }, ref) => {
31937
+ var FormMessage = React73.forwardRef(({ className, children, ...props }, ref) => {
31888
31938
  const { error, formMessageId } = useFormField();
31889
31939
  const body = error ? String(error?.message ?? "") : children;
31890
31940
  if (!body) {
@@ -32161,7 +32211,7 @@ var TextareaAtom = ({
32161
32211
  };
32162
32212
 
32163
32213
  // src/components/ui/toggle.tsx
32164
- import * as React73 from "react";
32214
+ import * as React74 from "react";
32165
32215
  import * as TogglePrimitive from "@radix-ui/react-toggle";
32166
32216
  import { cva as cva6 } from "class-variance-authority";
32167
32217
  import { jsx as jsx69 } from "react/jsx-runtime";
@@ -32185,7 +32235,7 @@ var toggleVariants = cva6(
32185
32235
  }
32186
32236
  }
32187
32237
  );
32188
- var Toggle = React73.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx69(
32238
+ var Toggle = React74.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx69(
32189
32239
  TogglePrimitive.Root,
32190
32240
  {
32191
32241
  ref,
@@ -32363,7 +32413,7 @@ var RadioAtom = ({ id, label, value, checked, disabled, className, style, onValu
32363
32413
  };
32364
32414
 
32365
32415
  // src/components/ui/dropdown-menu.tsx
32366
- import * as React74 from "react";
32416
+ import * as React75 from "react";
32367
32417
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
32368
32418
  import { jsx as jsx74, jsxs as jsxs41 } from "react/jsx-runtime";
32369
32419
  var DropdownMenu = DropdownMenuPrimitive.Root;
@@ -32372,7 +32422,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
32372
32422
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
32373
32423
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
32374
32424
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
32375
- var DropdownMenuSubTrigger = React74.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
32425
+ var DropdownMenuSubTrigger = React75.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
32376
32426
  DropdownMenuPrimitive.SubTrigger,
32377
32427
  {
32378
32428
  ref,
@@ -32389,7 +32439,7 @@ var DropdownMenuSubTrigger = React74.forwardRef(({ className, inset, children, .
32389
32439
  }
32390
32440
  ));
32391
32441
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
32392
- var DropdownMenuSubContent = React74.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
32442
+ var DropdownMenuSubContent = React75.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
32393
32443
  DropdownMenuPrimitive.SubContent,
32394
32444
  {
32395
32445
  ref,
@@ -32401,7 +32451,7 @@ var DropdownMenuSubContent = React74.forwardRef(({ className, ...props }, ref) =
32401
32451
  }
32402
32452
  ));
32403
32453
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
32404
- var DropdownMenuContent = React74.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx74(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx74(
32454
+ var DropdownMenuContent = React75.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx74(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx74(
32405
32455
  DropdownMenuPrimitive.Content,
32406
32456
  {
32407
32457
  ref,
@@ -32414,7 +32464,7 @@ var DropdownMenuContent = React74.forwardRef(({ className, sideOffset = 4, ...pr
32414
32464
  }
32415
32465
  ) }));
32416
32466
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
32417
- var DropdownMenuItem = React74.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx74(
32467
+ var DropdownMenuItem = React75.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx74(
32418
32468
  DropdownMenuPrimitive.Item,
32419
32469
  {
32420
32470
  ref,
@@ -32427,7 +32477,7 @@ var DropdownMenuItem = React74.forwardRef(({ className, inset, ...props }, ref)
32427
32477
  }
32428
32478
  ));
32429
32479
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
32430
- var DropdownMenuCheckboxItem = React74.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs41(
32480
+ var DropdownMenuCheckboxItem = React75.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs41(
32431
32481
  DropdownMenuPrimitive.CheckboxItem,
32432
32482
  {
32433
32483
  ref,
@@ -32444,7 +32494,7 @@ var DropdownMenuCheckboxItem = React74.forwardRef(({ className, children, checke
32444
32494
  }
32445
32495
  ));
32446
32496
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
32447
- var DropdownMenuRadioItem = React74.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
32497
+ var DropdownMenuRadioItem = React75.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs41(
32448
32498
  DropdownMenuPrimitive.RadioItem,
32449
32499
  {
32450
32500
  ref,
@@ -32460,7 +32510,7 @@ var DropdownMenuRadioItem = React74.forwardRef(({ className, children, ...props
32460
32510
  }
32461
32511
  ));
32462
32512
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
32463
- var DropdownMenuLabel = React74.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx74(
32513
+ var DropdownMenuLabel = React75.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx74(
32464
32514
  DropdownMenuPrimitive.Label,
32465
32515
  {
32466
32516
  ref,
@@ -32473,7 +32523,7 @@ var DropdownMenuLabel = React74.forwardRef(({ className, inset, ...props }, ref)
32473
32523
  }
32474
32524
  ));
32475
32525
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
32476
- var DropdownMenuSeparator = React74.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
32526
+ var DropdownMenuSeparator = React75.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
32477
32527
  DropdownMenuPrimitive.Separator,
32478
32528
  {
32479
32529
  ref,
@@ -32533,7 +32583,7 @@ var DropdownMenuAtom = ({ trigger, items, className, onAction }) => {
32533
32583
  };
32534
32584
 
32535
32585
  // src/components/ui/context-menu.tsx
32536
- import * as React75 from "react";
32586
+ import * as React76 from "react";
32537
32587
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
32538
32588
  import { jsx as jsx76, jsxs as jsxs43 } from "react/jsx-runtime";
32539
32589
  var ContextMenu = ContextMenuPrimitive.Root;
@@ -32542,7 +32592,7 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
32542
32592
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
32543
32593
  var ContextMenuSub = ContextMenuPrimitive.Sub;
32544
32594
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
32545
- var ContextMenuSubTrigger = React75.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs43(
32595
+ var ContextMenuSubTrigger = React76.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs43(
32546
32596
  ContextMenuPrimitive.SubTrigger,
32547
32597
  {
32548
32598
  ref,
@@ -32559,7 +32609,7 @@ var ContextMenuSubTrigger = React75.forwardRef(({ className, inset, children, ..
32559
32609
  }
32560
32610
  ));
32561
32611
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
32562
- var ContextMenuSubContent = React75.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(
32612
+ var ContextMenuSubContent = React76.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(
32563
32613
  ContextMenuPrimitive.SubContent,
32564
32614
  {
32565
32615
  ref,
@@ -32571,7 +32621,7 @@ var ContextMenuSubContent = React75.forwardRef(({ className, ...props }, ref) =>
32571
32621
  }
32572
32622
  ));
32573
32623
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
32574
- var ContextMenuContent = React75.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx76(
32624
+ var ContextMenuContent = React76.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx76(
32575
32625
  ContextMenuPrimitive.Content,
32576
32626
  {
32577
32627
  ref,
@@ -32583,7 +32633,7 @@ var ContextMenuContent = React75.forwardRef(({ className, ...props }, ref) => /*
32583
32633
  }
32584
32634
  ) }));
32585
32635
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
32586
- var ContextMenuItem = React75.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx76(
32636
+ var ContextMenuItem = React76.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx76(
32587
32637
  ContextMenuPrimitive.Item,
32588
32638
  {
32589
32639
  ref,
@@ -32596,7 +32646,7 @@ var ContextMenuItem = React75.forwardRef(({ className, inset, ...props }, ref) =
32596
32646
  }
32597
32647
  ));
32598
32648
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
32599
- var ContextMenuCheckboxItem = React75.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs43(
32649
+ var ContextMenuCheckboxItem = React76.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs43(
32600
32650
  ContextMenuPrimitive.CheckboxItem,
32601
32651
  {
32602
32652
  ref,
@@ -32613,7 +32663,7 @@ var ContextMenuCheckboxItem = React75.forwardRef(({ className, children, checked
32613
32663
  }
32614
32664
  ));
32615
32665
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
32616
- var ContextMenuRadioItem = React75.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs43(
32666
+ var ContextMenuRadioItem = React76.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs43(
32617
32667
  ContextMenuPrimitive.RadioItem,
32618
32668
  {
32619
32669
  ref,
@@ -32629,7 +32679,7 @@ var ContextMenuRadioItem = React75.forwardRef(({ className, children, ...props }
32629
32679
  }
32630
32680
  ));
32631
32681
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
32632
- var ContextMenuLabel = React75.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx76(
32682
+ var ContextMenuLabel = React76.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx76(
32633
32683
  ContextMenuPrimitive.Label,
32634
32684
  {
32635
32685
  ref,
@@ -32642,7 +32692,7 @@ var ContextMenuLabel = React75.forwardRef(({ className, inset, ...props }, ref)
32642
32692
  }
32643
32693
  ));
32644
32694
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
32645
- var ContextMenuSeparator = React75.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(
32695
+ var ContextMenuSeparator = React76.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx76(
32646
32696
  ContextMenuPrimitive.Separator,
32647
32697
  {
32648
32698
  ref,
@@ -32705,7 +32755,7 @@ var ContextMenuAtom = ({ trigger, items, className, onAction }) => {
32705
32755
  };
32706
32756
 
32707
32757
  // src/components/ui/drawer.tsx
32708
- import * as React76 from "react";
32758
+ import * as React77 from "react";
32709
32759
  import { Drawer as DrawerPrimitive } from "vaul";
32710
32760
  import { jsx as jsx78, jsxs as jsxs45 } from "react/jsx-runtime";
32711
32761
  var Drawer = ({
@@ -32722,7 +32772,7 @@ Drawer.displayName = "Drawer";
32722
32772
  var DrawerTrigger = DrawerPrimitive.Trigger;
32723
32773
  var DrawerPortal = DrawerPrimitive.Portal;
32724
32774
  var DrawerClose = DrawerPrimitive.Close;
32725
- var DrawerOverlay = React76.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
32775
+ var DrawerOverlay = React77.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
32726
32776
  DrawerPrimitive.Overlay,
32727
32777
  {
32728
32778
  ref,
@@ -32731,7 +32781,7 @@ var DrawerOverlay = React76.forwardRef(({ className, ...props }, ref) => /* @__P
32731
32781
  }
32732
32782
  ));
32733
32783
  DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
32734
- var DrawerContent = React76.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs45(DrawerPortal, { children: [
32784
+ var DrawerContent = React77.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs45(DrawerPortal, { children: [
32735
32785
  /* @__PURE__ */ jsx78(DrawerOverlay, {}),
32736
32786
  /* @__PURE__ */ jsxs45(
32737
32787
  DrawerPrimitive.Content,
@@ -32772,7 +32822,7 @@ var DrawerFooter = ({
32772
32822
  }
32773
32823
  );
32774
32824
  DrawerFooter.displayName = "DrawerFooter";
32775
- var DrawerTitle = React76.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
32825
+ var DrawerTitle = React77.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
32776
32826
  DrawerPrimitive.Title,
32777
32827
  {
32778
32828
  ref,
@@ -32784,7 +32834,7 @@ var DrawerTitle = React76.forwardRef(({ className, ...props }, ref) => /* @__PUR
32784
32834
  }
32785
32835
  ));
32786
32836
  DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
32787
- var DrawerDescription = React76.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
32837
+ var DrawerDescription = React77.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx78(
32788
32838
  DrawerPrimitive.Description,
32789
32839
  {
32790
32840
  ref,
@@ -32859,7 +32909,7 @@ var InputOTPAtom = ({ length, className, onChange }) => {
32859
32909
  };
32860
32910
 
32861
32911
  // src/atoms/KbdAtom.tsx
32862
- import React77 from "react";
32912
+ import React78 from "react";
32863
32913
  import { jsx as jsx81, jsxs as jsxs48 } from "react/jsx-runtime";
32864
32914
  var KbdAtom = ({ keys, className }) => {
32865
32915
  return /* @__PURE__ */ jsx81(
@@ -32869,7 +32919,7 @@ var KbdAtom = ({ keys, className }) => {
32869
32919
  "pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100",
32870
32920
  className
32871
32921
  ),
32872
- children: keys.map((key, i) => /* @__PURE__ */ jsxs48(React77.Fragment, { children: [
32922
+ children: keys.map((key, i) => /* @__PURE__ */ jsxs48(React78.Fragment, { children: [
32873
32923
  /* @__PURE__ */ jsx81("span", { className: "text-xs", children: key }),
32874
32924
  i < keys.length - 1 && /* @__PURE__ */ jsx81("span", { children: "+" })
32875
32925
  ] }, i))
@@ -32878,7 +32928,7 @@ var KbdAtom = ({ keys, className }) => {
32878
32928
  };
32879
32929
 
32880
32930
  // src/atoms/ResizableAtom.tsx
32881
- import React78 from "react";
32931
+ import React79 from "react";
32882
32932
 
32883
32933
  // src/components/ui/resizable.tsx
32884
32934
  import * as ResizablePrimitive from "react-resizable-panels";
@@ -32927,9 +32977,9 @@ var ResizableAtom = ({
32927
32977
  "min-h-[200px] w-full rounded-lg border border-purple-100",
32928
32978
  className
32929
32979
  ),
32930
- children: panels.map((panel, i) => /* @__PURE__ */ jsxs49(React78.Fragment, { children: [
32980
+ children: panels.map((panel, i) => /* @__PURE__ */ jsxs49(React79.Fragment, { children: [
32931
32981
  /* @__PURE__ */ jsx83(ResizablePanel, { defaultSize: panel.defaultSize, className: "p-4", children: panel.children.map((child, childIdx) => /* @__PURE__ */ jsx83(
32932
- React78.Fragment,
32982
+ React79.Fragment,
32933
32983
  {
32934
32984
  children: renderComponent(child)
32935
32985
  },
@@ -32942,20 +32992,20 @@ var ResizableAtom = ({
32942
32992
  };
32943
32993
 
32944
32994
  // src/components/ui/chart.tsx
32945
- import * as React79 from "react";
32995
+ import * as React80 from "react";
32946
32996
  import * as RechartsPrimitive from "recharts";
32947
32997
  import { Fragment as Fragment2, jsx as jsx84, jsxs as jsxs50 } from "react/jsx-runtime";
32948
32998
  var THEMES = { light: "", dark: ".dark" };
32949
- var ChartContext = React79.createContext(null);
32999
+ var ChartContext = React80.createContext(null);
32950
33000
  function useChart() {
32951
- const context = React79.useContext(ChartContext);
33001
+ const context = React80.useContext(ChartContext);
32952
33002
  if (!context) {
32953
33003
  throw new Error("useChart must be used within a <ChartContainer />");
32954
33004
  }
32955
33005
  return context;
32956
33006
  }
32957
- var ChartContainer = React79.forwardRef(({ id, className, children, config, ...props }, ref) => {
32958
- const uniqueId = React79.useId();
33007
+ var ChartContainer = React80.forwardRef(({ id, className, children, config, ...props }, ref) => {
33008
+ const uniqueId = React80.useId();
32959
33009
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
32960
33010
  return /* @__PURE__ */ jsx84(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs50(
32961
33011
  "div",
@@ -33001,7 +33051,7 @@ ${colorConfig.map(([key, itemConfig]) => {
33001
33051
  );
33002
33052
  };
33003
33053
  var ChartTooltip = RechartsPrimitive.Tooltip;
33004
- var ChartTooltipContent = React79.forwardRef(
33054
+ var ChartTooltipContent = React80.forwardRef(
33005
33055
  ({
33006
33056
  active,
33007
33057
  payload,
@@ -33018,7 +33068,7 @@ var ChartTooltipContent = React79.forwardRef(
33018
33068
  labelKey
33019
33069
  }, ref) => {
33020
33070
  const { config } = useChart();
33021
- const tooltipLabel = React79.useMemo(() => {
33071
+ const tooltipLabel = React80.useMemo(() => {
33022
33072
  if (hideLabel || !payload?.length) {
33023
33073
  return null;
33024
33074
  }
@@ -33114,7 +33164,7 @@ var ChartTooltipContent = React79.forwardRef(
33114
33164
  );
33115
33165
  ChartTooltipContent.displayName = "ChartTooltip";
33116
33166
  var ChartLegend = RechartsPrimitive.Legend;
33117
- var ChartLegendContent = React79.forwardRef(
33167
+ var ChartLegendContent = React80.forwardRef(
33118
33168
  ({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
33119
33169
  const { config } = useChart();
33120
33170
  if (!payload?.length) {
@@ -33428,10 +33478,10 @@ var VideoAtom = ({
33428
33478
  };
33429
33479
 
33430
33480
  // src/atoms/RatingAtom.tsx
33431
- import React80 from "react";
33481
+ import React81 from "react";
33432
33482
  import { jsx as jsx87, jsxs as jsxs52 } from "react/jsx-runtime";
33433
33483
  var RatingAtom = ({ id, label, value, max: max2 = 5, readonly = false, className, style, onChange }) => {
33434
- const [hoverValue, setHoverValue] = React80.useState(null);
33484
+ const [hoverValue, setHoverValue] = React81.useState(null);
33435
33485
  const hasPxVars = style && Object.keys(style).some((k) => k.startsWith("--px-"));
33436
33486
  const stars = /* @__PURE__ */ jsx87("div", { className: cn("flex items-center gap-1", className), style, "data-px-styled": hasPxVars ? "" : void 0, children: Array.from({ length: max2 }, (_, i) => {
33437
33487
  const starValue = i + 1;
@@ -33564,6 +33614,7 @@ var molecules_exports = {};
33564
33614
  __export(molecules_exports, {
33565
33615
  ActionButton: () => ActionButton,
33566
33616
  ActionPriorityCard: () => ActionPriorityCard,
33617
+ AnalyticsChart: () => AnalyticsChart,
33567
33618
  ApprovalCard: () => ApprovalCard,
33568
33619
  AudienceDemographicsCard: () => AudienceDemographicsCard,
33569
33620
  AudienceMetricCard: () => AudienceMetricCard,
@@ -33727,15 +33778,15 @@ function th(theme) {
33727
33778
  }
33728
33779
 
33729
33780
  // src/molecules/generic/EditableField/EditableField.tsx
33730
- import React85, { useState as useState5, useEffect as useEffect4, useRef as useRef4 } from "react";
33781
+ import React86, { useState as useState5, useEffect as useEffect4, useRef as useRef4 } from "react";
33731
33782
 
33732
33783
  // src/components/ui/hover-card.tsx
33733
- import * as React82 from "react";
33784
+ import * as React83 from "react";
33734
33785
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
33735
33786
  import { jsx as jsx90 } from "react/jsx-runtime";
33736
33787
  var HoverCard = HoverCardPrimitive.Root;
33737
33788
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
33738
- var HoverCardContent = React82.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx90(
33789
+ var HoverCardContent = React83.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx90(
33739
33790
  HoverCardPrimitive.Content,
33740
33791
  {
33741
33792
  ref,
@@ -33751,7 +33802,7 @@ var HoverCardContent = React82.forwardRef(({ className, align = "center", sideOf
33751
33802
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
33752
33803
 
33753
33804
  // src/components/ui/menubar.tsx
33754
- import * as React83 from "react";
33805
+ import * as React84 from "react";
33755
33806
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
33756
33807
  import { jsx as jsx91, jsxs as jsxs54 } from "react/jsx-runtime";
33757
33808
  function MenubarMenu({
@@ -33779,7 +33830,7 @@ function MenubarSub({
33779
33830
  }) {
33780
33831
  return /* @__PURE__ */ jsx91(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
33781
33832
  }
33782
- var Menubar = React83.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33833
+ var Menubar = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33783
33834
  MenubarPrimitive.Root,
33784
33835
  {
33785
33836
  ref,
@@ -33791,7 +33842,7 @@ var Menubar = React83.forwardRef(({ className, ...props }, ref) => /* @__PURE__
33791
33842
  }
33792
33843
  ));
33793
33844
  Menubar.displayName = MenubarPrimitive.Root.displayName;
33794
- var MenubarTrigger = React83.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33845
+ var MenubarTrigger = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33795
33846
  MenubarPrimitive.Trigger,
33796
33847
  {
33797
33848
  ref,
@@ -33803,7 +33854,7 @@ var MenubarTrigger = React83.forwardRef(({ className, ...props }, ref) => /* @__
33803
33854
  }
33804
33855
  ));
33805
33856
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
33806
- var MenubarSubTrigger = React83.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs54(
33857
+ var MenubarSubTrigger = React84.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs54(
33807
33858
  MenubarPrimitive.SubTrigger,
33808
33859
  {
33809
33860
  ref,
@@ -33820,7 +33871,7 @@ var MenubarSubTrigger = React83.forwardRef(({ className, inset, children, ...pro
33820
33871
  }
33821
33872
  ));
33822
33873
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
33823
- var MenubarSubContent = React83.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33874
+ var MenubarSubContent = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33824
33875
  MenubarPrimitive.SubContent,
33825
33876
  {
33826
33877
  ref,
@@ -33832,7 +33883,7 @@ var MenubarSubContent = React83.forwardRef(({ className, ...props }, ref) => /*
33832
33883
  }
33833
33884
  ));
33834
33885
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
33835
- var MenubarContent = React83.forwardRef(
33886
+ var MenubarContent = React84.forwardRef(
33836
33887
  ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx91(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx91(
33837
33888
  MenubarPrimitive.Content,
33838
33889
  {
@@ -33849,7 +33900,7 @@ var MenubarContent = React83.forwardRef(
33849
33900
  ) })
33850
33901
  );
33851
33902
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
33852
- var MenubarItem = React83.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx91(
33903
+ var MenubarItem = React84.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx91(
33853
33904
  MenubarPrimitive.Item,
33854
33905
  {
33855
33906
  ref,
@@ -33862,7 +33913,7 @@ var MenubarItem = React83.forwardRef(({ className, inset, ...props }, ref) => /*
33862
33913
  }
33863
33914
  ));
33864
33915
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
33865
- var MenubarCheckboxItem = React83.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs54(
33916
+ var MenubarCheckboxItem = React84.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs54(
33866
33917
  MenubarPrimitive.CheckboxItem,
33867
33918
  {
33868
33919
  ref,
@@ -33879,7 +33930,7 @@ var MenubarCheckboxItem = React83.forwardRef(({ className, children, checked, ..
33879
33930
  }
33880
33931
  ));
33881
33932
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
33882
- var MenubarRadioItem = React83.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs54(
33933
+ var MenubarRadioItem = React84.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs54(
33883
33934
  MenubarPrimitive.RadioItem,
33884
33935
  {
33885
33936
  ref,
@@ -33895,7 +33946,7 @@ var MenubarRadioItem = React83.forwardRef(({ className, children, ...props }, re
33895
33946
  }
33896
33947
  ));
33897
33948
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
33898
- var MenubarLabel = React83.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx91(
33949
+ var MenubarLabel = React84.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx91(
33899
33950
  MenubarPrimitive.Label,
33900
33951
  {
33901
33952
  ref,
@@ -33908,7 +33959,7 @@ var MenubarLabel = React83.forwardRef(({ className, inset, ...props }, ref) => /
33908
33959
  }
33909
33960
  ));
33910
33961
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
33911
- var MenubarSeparator = React83.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33962
+ var MenubarSeparator = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx91(
33912
33963
  MenubarPrimitive.Separator,
33913
33964
  {
33914
33965
  ref,
@@ -33935,11 +33986,11 @@ var MenubarShortcut = ({
33935
33986
  MenubarShortcut.displayname = "MenubarShortcut";
33936
33987
 
33937
33988
  // src/components/ui/navigation-menu.tsx
33938
- import * as React84 from "react";
33989
+ import * as React85 from "react";
33939
33990
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
33940
33991
  import { cva as cva7 } from "class-variance-authority";
33941
33992
  import { jsx as jsx92, jsxs as jsxs55 } from "react/jsx-runtime";
33942
- var NavigationMenu = React84.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs55(
33993
+ var NavigationMenu = React85.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs55(
33943
33994
  NavigationMenuPrimitive.Root,
33944
33995
  {
33945
33996
  ref,
@@ -33955,7 +34006,7 @@ var NavigationMenu = React84.forwardRef(({ className, children, ...props }, ref)
33955
34006
  }
33956
34007
  ));
33957
34008
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
33958
- var NavigationMenuList = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
34009
+ var NavigationMenuList = React85.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
33959
34010
  NavigationMenuPrimitive.List,
33960
34011
  {
33961
34012
  ref,
@@ -33971,7 +34022,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
33971
34022
  var navigationMenuTriggerStyle = cva7(
33972
34023
  "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
33973
34024
  );
33974
- var NavigationMenuTrigger = React84.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs55(
34025
+ var NavigationMenuTrigger = React85.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs55(
33975
34026
  NavigationMenuPrimitive.Trigger,
33976
34027
  {
33977
34028
  ref,
@@ -33991,7 +34042,7 @@ var NavigationMenuTrigger = React84.forwardRef(({ className, children, ...props
33991
34042
  }
33992
34043
  ));
33993
34044
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
33994
- var NavigationMenuContent = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
34045
+ var NavigationMenuContent = React85.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
33995
34046
  NavigationMenuPrimitive.Content,
33996
34047
  {
33997
34048
  ref,
@@ -34004,7 +34055,7 @@ var NavigationMenuContent = React84.forwardRef(({ className, ...props }, ref) =>
34004
34055
  ));
34005
34056
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
34006
34057
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
34007
- var NavigationMenuViewport = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx92(
34058
+ var NavigationMenuViewport = React85.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx92(
34008
34059
  NavigationMenuPrimitive.Viewport,
34009
34060
  {
34010
34061
  className: cn(
@@ -34016,7 +34067,7 @@ var NavigationMenuViewport = React84.forwardRef(({ className, ...props }, ref) =
34016
34067
  }
34017
34068
  ) }));
34018
34069
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
34019
- var NavigationMenuIndicator = React84.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
34070
+ var NavigationMenuIndicator = React85.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx92(
34020
34071
  NavigationMenuPrimitive.Indicator,
34021
34072
  {
34022
34073
  ref,
@@ -34046,7 +34097,7 @@ function Spinner({ className, ...props }) {
34046
34097
 
34047
34098
  // src/molecules/generic/EditableField/EditableField.tsx
34048
34099
  import { jsx as jsx94, jsxs as jsxs56 } from "react/jsx-runtime";
34049
- var EditableField = React85.memo(
34100
+ var EditableField = React86.memo(
34050
34101
  ({
34051
34102
  label,
34052
34103
  value,
@@ -34258,9 +34309,9 @@ var EditableField = React85.memo(
34258
34309
  EditableField.displayName = "EditableField";
34259
34310
 
34260
34311
  // src/molecules/generic/ActionButton/ActionButton.tsx
34261
- import React86, { useState as useState6, useEffect as useEffect5 } from "react";
34312
+ import React87, { useState as useState6, useEffect as useEffect5 } from "react";
34262
34313
  import { Fragment as Fragment3, jsx as jsx95, jsxs as jsxs57 } from "react/jsx-runtime";
34263
- var ActionButton = React86.memo(
34314
+ var ActionButton = React87.memo(
34264
34315
  ({
34265
34316
  label,
34266
34317
  secondaryLabel,
@@ -34350,10 +34401,10 @@ var ActionButton = React86.memo(
34350
34401
  ActionButton.displayName = "ActionButton";
34351
34402
 
34352
34403
  // src/molecules/generic/FormCard/FormCard.tsx
34353
- import React87, { useState as useState7 } from "react";
34404
+ import React88, { useState as useState7 } from "react";
34354
34405
  import { jsx as jsx96, jsxs as jsxs58 } from "react/jsx-runtime";
34355
34406
  var humanizeKey = (key) => key.replace(/[_-]+/g, " ").replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/\b\w/g, (c) => c.toUpperCase()).trim();
34356
- var FormCard = React87.memo(
34407
+ var FormCard = React88.memo(
34357
34408
  ({
34358
34409
  title,
34359
34410
  fields = [],
@@ -34379,7 +34430,7 @@ var FormCard = React87.memo(
34379
34430
  const [internalSavingFields, setInternalSavingFields] = useState7({});
34380
34431
  const [internalData, setInternalData] = useState7(data);
34381
34432
  const [userEditedFields, setUserEditedFields] = useState7({});
34382
- React87.useEffect(() => {
34433
+ React88.useEffect(() => {
34383
34434
  setInternalData((prev) => {
34384
34435
  const newData = { ...data };
34385
34436
  Object.keys(userEditedFields).forEach((key) => {
@@ -34541,7 +34592,7 @@ var FormCard = React87.memo(
34541
34592
  FormCard.displayName = "FormCard";
34542
34593
 
34543
34594
  // src/molecules/generic/DynamicFormCard/DynamicFormCard.tsx
34544
- import React88, { useMemo as useMemo4 } from "react";
34595
+ import React89, { useMemo as useMemo4 } from "react";
34545
34596
 
34546
34597
  // src/lib/field-utils.ts
34547
34598
  function normalizeLabel(key) {
@@ -34617,7 +34668,7 @@ function generateFieldsFromPropDefinitions(propDefs, data) {
34617
34668
 
34618
34669
  // src/molecules/generic/DynamicFormCard/DynamicFormCard.tsx
34619
34670
  import { jsx as jsx97 } from "react/jsx-runtime";
34620
- var DynamicFormCard = React88.memo(
34671
+ var DynamicFormCard = React89.memo(
34621
34672
  ({
34622
34673
  data = {},
34623
34674
  fields: providedFields,
@@ -34893,10 +34944,10 @@ var FilterBar = ({ filters, showSearch = true, className, onFilterToggle, onSear
34893
34944
  };
34894
34945
 
34895
34946
  // src/molecules/generic/FileUpload/FileUpload.tsx
34896
- import React89 from "react";
34947
+ import React90 from "react";
34897
34948
  import { jsx as jsx102, jsxs as jsxs63 } from "react/jsx-runtime";
34898
34949
  var FileUpload = ({ title, accept, multiple, className, style, onFilesSelected }) => {
34899
- const [isDragging, setIsDragging] = React89.useState(false);
34950
+ const [isDragging, setIsDragging] = React90.useState(false);
34900
34951
  const hasPxVars = style && Object.keys(style).some((k) => k.startsWith("--px-"));
34901
34952
  const wrapperStyle = {
34902
34953
  ...hasPxVars && {
@@ -35058,7 +35109,7 @@ var DataGrid = ({
35058
35109
  };
35059
35110
 
35060
35111
  // src/molecules/generic/StepWizard/StepWizard.tsx
35061
- import React90 from "react";
35112
+ import React91 from "react";
35062
35113
  import { jsx as jsx105, jsxs as jsxs66 } from "react/jsx-runtime";
35063
35114
  var StepWizard = ({
35064
35115
  steps,
@@ -35069,7 +35120,7 @@ var StepWizard = ({
35069
35120
  const isCompleted = i < currentStep;
35070
35121
  const isActive = i === currentStep;
35071
35122
  const isLast = i === steps.length - 1;
35072
- return /* @__PURE__ */ jsxs66(React90.Fragment, { children: [
35123
+ return /* @__PURE__ */ jsxs66(React91.Fragment, { children: [
35073
35124
  /* @__PURE__ */ jsxs66("div", { className: "flex flex-col items-center relative group", children: [
35074
35125
  /* @__PURE__ */ jsx105(
35075
35126
  "div",
@@ -36463,9 +36514,9 @@ var GoogleSheetsListCard = ({
36463
36514
  };
36464
36515
 
36465
36516
  // src/molecules/generic/RecommendationCard/RecommendationCard.tsx
36466
- import React93 from "react";
36517
+ import React94 from "react";
36467
36518
  import { jsx as jsx121, jsxs as jsxs82 } from "react/jsx-runtime";
36468
- var RecommendationCard = React93.memo(
36519
+ var RecommendationCard = React94.memo(
36469
36520
  ({
36470
36521
  question,
36471
36522
  recommended,
@@ -36477,11 +36528,11 @@ var RecommendationCard = React93.memo(
36477
36528
  className,
36478
36529
  onAction
36479
36530
  }) => {
36480
- const [mode, setMode] = React93.useState(
36531
+ const [mode, setMode] = React94.useState(
36481
36532
  "recommended"
36482
36533
  );
36483
- const [customText, setCustomText] = React93.useState("");
36484
- const [isSubmitted, setIsSubmitted] = React93.useState(false);
36534
+ const [customText, setCustomText] = React94.useState("");
36535
+ const [isSubmitted, setIsSubmitted] = React94.useState(false);
36485
36536
  const isInteractive = isLatestMessage && !disabled && !isSubmitted;
36486
36537
  const handleModeChange = (newMode) => {
36487
36538
  if (isInteractive) {
@@ -36628,9 +36679,9 @@ var RecommendationCard = React93.memo(
36628
36679
  RecommendationCard.displayName = "RecommendationCard";
36629
36680
 
36630
36681
  // src/molecules/generic/ConfirmationCard/ConfirmationCard.tsx
36631
- import React94 from "react";
36682
+ import React95 from "react";
36632
36683
  import { jsx as jsx122, jsxs as jsxs83 } from "react/jsx-runtime";
36633
- var ConfirmationCard = React94.memo(
36684
+ var ConfirmationCard = React95.memo(
36634
36685
  ({
36635
36686
  title,
36636
36687
  description,
@@ -36643,8 +36694,8 @@ var ConfirmationCard = React94.memo(
36643
36694
  className,
36644
36695
  onAction
36645
36696
  }) => {
36646
- const [isSubmitted, setIsSubmitted] = React94.useState(false);
36647
- const [choice, setChoice] = React94.useState(null);
36697
+ const [isSubmitted, setIsSubmitted] = React95.useState(false);
36698
+ const [choice, setChoice] = React95.useState(null);
36648
36699
  const isInteractive = isLatestMessage && !disabled && !isSubmitted;
36649
36700
  const handleConfirm = (e) => {
36650
36701
  e.preventDefault();
@@ -36713,7 +36764,7 @@ var ConfirmationCard = React94.memo(
36713
36764
  ConfirmationCard.displayName = "ConfirmationCard";
36714
36765
 
36715
36766
  // src/molecules/generic/InputWidget/InputWidget.tsx
36716
- import React95 from "react";
36767
+ import React96 from "react";
36717
36768
 
36718
36769
  // src/lib/run-sse.ts
36719
36770
  var INPUT_ATOM_NAMES = /* @__PURE__ */ new Set([
@@ -36835,7 +36886,7 @@ var InputWidget = ({
36835
36886
  onAction,
36836
36887
  isSubmitting = false
36837
36888
  }) => {
36838
- const [values, setValues] = React95.useState(() => {
36889
+ const [values, setValues] = React96.useState(() => {
36839
36890
  const initial = {};
36840
36891
  for (const f of fields) {
36841
36892
  initial[f.key] = f.defaultValue ?? defaultForKind(f.kind);
@@ -37091,7 +37142,7 @@ function stringifyValue(value, atomName, props) {
37091
37142
  }
37092
37143
 
37093
37144
  // src/molecules/generic/KPIStatsCard/KPIStatsCard.tsx
37094
- import React96 from "react";
37145
+ import React97 from "react";
37095
37146
  import { jsx as jsx124, jsxs as jsxs85 } from "react/jsx-runtime";
37096
37147
  var TrendBadge = ({ item }) => {
37097
37148
  if (!item.delta && item.trend === void 0) return null;
@@ -37108,7 +37159,7 @@ var TrendBadge = ({ item }) => {
37108
37159
  item.delta
37109
37160
  ] });
37110
37161
  };
37111
- var KPIStatsCard = React96.memo(
37162
+ var KPIStatsCard = React97.memo(
37112
37163
  ({ title, subtitle, stats, items, theme, className, onAction: _onAction }) => {
37113
37164
  const s = th(theme);
37114
37165
  const displayStats = stats || items || [];
@@ -37168,7 +37219,7 @@ var KPIStatsCard = React96.memo(
37168
37219
  KPIStatsCard.displayName = "KPIStatsCard";
37169
37220
 
37170
37221
  // src/molecules/generic/ApprovalCard/ApprovalCard.tsx
37171
- import React97 from "react";
37222
+ import React98 from "react";
37172
37223
  import { jsx as jsx125, jsxs as jsxs86 } from "react/jsx-runtime";
37173
37224
  var STATUS_CONFIG2 = {
37174
37225
  pending: { label: "Pending Review", icon: Clock, className: "text-yellow-400 bg-yellow-500/10 border-yellow-500/20" },
@@ -37176,7 +37227,7 @@ var STATUS_CONFIG2 = {
37176
37227
  rejected: { label: "Rejected", icon: CircleX, className: "text-rose-400 bg-rose-500/10 border-rose-500/20" },
37177
37228
  changes_requested: { label: "Changes Requested", icon: MessageSquare, className: "text-blue-400 bg-blue-500/10 border-blue-500/20" }
37178
37229
  };
37179
- var ApprovalCard = React97.memo(
37230
+ var ApprovalCard = React98.memo(
37180
37231
  ({
37181
37232
  title,
37182
37233
  description,
@@ -37194,9 +37245,9 @@ var ApprovalCard = React97.memo(
37194
37245
  onAction
37195
37246
  }) => {
37196
37247
  const s = th(theme);
37197
- const [status, setStatus] = React97.useState(propStatus || "pending");
37198
- const [isSubmitted, setIsSubmitted] = React97.useState(!!propStatus && propStatus !== "pending");
37199
- React97.useEffect(() => {
37248
+ const [status, setStatus] = React98.useState(propStatus || "pending");
37249
+ const [isSubmitted, setIsSubmitted] = React98.useState(!!propStatus && propStatus !== "pending");
37250
+ React98.useEffect(() => {
37200
37251
  if (propStatus) {
37201
37252
  setStatus(propStatus);
37202
37253
  setIsSubmitted(propStatus !== "pending");
@@ -37284,7 +37335,7 @@ var ApprovalCard = React97.memo(
37284
37335
  ApprovalCard.displayName = "ApprovalCard";
37285
37336
 
37286
37337
  // src/molecules/generic/TimelineCard/TimelineCard.tsx
37287
- import React98 from "react";
37338
+ import React99 from "react";
37288
37339
  import { jsx as jsx126, jsxs as jsxs87 } from "react/jsx-runtime";
37289
37340
  var StepDot = ({ step, accentColor }) => {
37290
37341
  if (step.status === "completed") return /* @__PURE__ */ jsx126("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-emerald-500/20 ring-2 ring-emerald-500/40", children: /* @__PURE__ */ jsx126(Check, { className: "h-3 w-3 text-emerald-400", strokeWidth: 2.5 }) });
@@ -37302,7 +37353,7 @@ var StepDot = ({ step, accentColor }) => {
37302
37353
  }
37303
37354
  return /* @__PURE__ */ jsx126("div", { className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray400/20 ring-2 ring-gray400/20", children: /* @__PURE__ */ jsx126(Circle, { className: "h-2.5 w-2.5 text-cardText/20" }) });
37304
37355
  };
37305
- var TimelineCard = React98.memo(
37356
+ var TimelineCard = React99.memo(
37306
37357
  ({ title, steps, milestones, theme, className, onAction: _onAction }) => {
37307
37358
  const s = th(theme);
37308
37359
  const displaySteps = steps || milestones || [];
@@ -37360,9 +37411,9 @@ var TimelineCard = React98.memo(
37360
37411
  TimelineCard.displayName = "TimelineCard";
37361
37412
 
37362
37413
  // src/molecules/generic/FeedbackRatingCard/FeedbackRatingCard.tsx
37363
- import React99 from "react";
37414
+ import React100 from "react";
37364
37415
  import { jsx as jsx127, jsxs as jsxs88 } from "react/jsx-runtime";
37365
- var FeedbackRatingCard = React99.memo(
37416
+ var FeedbackRatingCard = React100.memo(
37366
37417
  ({
37367
37418
  question,
37368
37419
  max_rating = 5,
@@ -37378,10 +37429,10 @@ var FeedbackRatingCard = React99.memo(
37378
37429
  onAction
37379
37430
  }) => {
37380
37431
  const s = th(theme);
37381
- const [rating, setRating] = React99.useState(0);
37382
- const [hovered, setHovered] = React99.useState(0);
37383
- const [comment, setComment] = React99.useState("");
37384
- const [isSubmitted, setIsSubmitted] = React99.useState(false);
37432
+ const [rating, setRating] = React100.useState(0);
37433
+ const [hovered, setHovered] = React100.useState(0);
37434
+ const [comment, setComment] = React100.useState("");
37435
+ const [isSubmitted, setIsSubmitted] = React100.useState(false);
37385
37436
  const isInteractive = isLatestMessage && !disabled && !isSubmitted;
37386
37437
  const stars = Array.from({ length: max_rating }, (_, i) => i + 1);
37387
37438
  const handleSubmit = (e) => {
@@ -37460,9 +37511,9 @@ Feedback: ${comment}` : `Rating: ${rating}/${max_rating} ${label}`;
37460
37511
  FeedbackRatingCard.displayName = "FeedbackRatingCard";
37461
37512
 
37462
37513
  // src/molecules/generic/DataTableCard/DataTableCard.tsx
37463
- import React100 from "react";
37514
+ import React101 from "react";
37464
37515
  import { jsx as jsx128, jsxs as jsxs89 } from "react/jsx-runtime";
37465
- var DataTableCard = React100.memo(
37516
+ var DataTableCard = React101.memo(
37466
37517
  ({ title, caption, columns, rows, highlight_column, theme, className, onAction: _onAction }) => {
37467
37518
  const s = th(theme);
37468
37519
  return /* @__PURE__ */ jsxs89("div", { className: cn("w-full rounded-[16px] border border-gray400 bg-cardSurface overflow-hidden", className), style: s.root, children: [
@@ -37512,9 +37563,9 @@ var DataTableCard = React100.memo(
37512
37563
  DataTableCard.displayName = "DataTableCard";
37513
37564
 
37514
37565
  // src/molecules/generic/ChecklistCard/ChecklistCard.tsx
37515
- import React101 from "react";
37566
+ import React102 from "react";
37516
37567
  import { jsx as jsx129, jsxs as jsxs90 } from "react/jsx-runtime";
37517
- var ChecklistCard = React101.memo(
37568
+ var ChecklistCard = React102.memo(
37518
37569
  ({
37519
37570
  title,
37520
37571
  description,
@@ -37531,10 +37582,10 @@ var ChecklistCard = React101.memo(
37531
37582
  }) => {
37532
37583
  const s = th(theme);
37533
37584
  const source = items || tasks || [];
37534
- const [checked, setChecked] = React101.useState(
37585
+ const [checked, setChecked] = React102.useState(
37535
37586
  () => new Set(source.filter((i) => i.checked).map((i) => i.id))
37536
37587
  );
37537
- const [isSubmitted, setIsSubmitted] = React101.useState(false);
37588
+ const [isSubmitted, setIsSubmitted] = React102.useState(false);
37538
37589
  const isInteractive = isLatestMessage && !disabled && !isSubmitted;
37539
37590
  const toggle = (id) => {
37540
37591
  if (!isInteractive) return;
@@ -37647,9 +37698,9 @@ var ChecklistCard = React101.memo(
37647
37698
  ChecklistCard.displayName = "ChecklistCard";
37648
37699
 
37649
37700
  // src/molecules/generic/PollCard/PollCard.tsx
37650
- import React102 from "react";
37701
+ import React103 from "react";
37651
37702
  import { jsx as jsx130, jsxs as jsxs91 } from "react/jsx-runtime";
37652
- var PollCard = React102.memo(
37703
+ var PollCard = React103.memo(
37653
37704
  ({
37654
37705
  question,
37655
37706
  options,
@@ -37666,9 +37717,9 @@ var PollCard = React102.memo(
37666
37717
  }) => {
37667
37718
  const s = th(theme);
37668
37719
  const source = options || choices || [];
37669
- const [selected, setSelected] = React102.useState(/* @__PURE__ */ new Set());
37670
- const [hasVoted, setHasVoted] = React102.useState(false);
37671
- const [voteCounts, setVoteCounts] = React102.useState(
37720
+ const [selected, setSelected] = React103.useState(/* @__PURE__ */ new Set());
37721
+ const [hasVoted, setHasVoted] = React103.useState(false);
37722
+ const [voteCounts, setVoteCounts] = React103.useState(
37672
37723
  () => Object.fromEntries(source.map((o) => [o.id, o.votes ?? 0]))
37673
37724
  );
37674
37725
  const isInteractive = isLatestMessage && !disabled && !hasVoted;
@@ -37807,7 +37858,7 @@ Selected: ${labels.join(", ")}`);
37807
37858
  PollCard.displayName = "PollCard";
37808
37859
 
37809
37860
  // src/molecules/generic/CalendarEventCard/CalendarEventCard.tsx
37810
- import React103 from "react";
37861
+ import React104 from "react";
37811
37862
  import { jsx as jsx131, jsxs as jsxs92 } from "react/jsx-runtime";
37812
37863
  var STATUS_STYLES = {
37813
37864
  upcoming: { label: "Upcoming", className: "text-blue-400 bg-blue-500/10 border-blue-500/20", dot: "bg-blue-400" },
@@ -37828,7 +37879,7 @@ function AvatarInitials({ name }) {
37828
37879
  }
37829
37880
  );
37830
37881
  }
37831
- var CalendarEventCard = React103.memo(
37882
+ var CalendarEventCard = React104.memo(
37832
37883
  ({
37833
37884
  title,
37834
37885
  date,
@@ -37845,7 +37896,7 @@ var CalendarEventCard = React103.memo(
37845
37896
  }) => {
37846
37897
  const s = th(theme);
37847
37898
  const cfg = STATUS_STYLES[status];
37848
- const parsedDate = React103.useMemo(() => {
37899
+ const parsedDate = React104.useMemo(() => {
37849
37900
  try {
37850
37901
  const d = new Date(date);
37851
37902
  if (isNaN(d.getTime())) {
@@ -37931,7 +37982,7 @@ var CalendarEventCard = React103.memo(
37931
37982
  CalendarEventCard.displayName = "CalendarEventCard";
37932
37983
 
37933
37984
  // src/molecules/generic/BudgetAllocCard/BudgetAllocCard.tsx
37934
- import React104 from "react";
37985
+ import React105 from "react";
37935
37986
  import { jsx as jsx132, jsxs as jsxs93 } from "react/jsx-runtime";
37936
37987
  var PALETTE = [
37937
37988
  "#BFAD82",
@@ -37957,7 +38008,7 @@ function formatAmount(amount, currency) {
37957
38008
  if (amount >= 1e3) return `${currency}${(amount / 1e3).toFixed(0)}K`;
37958
38009
  return `${currency}${amount.toLocaleString()}`;
37959
38010
  }
37960
- var BudgetAllocCard = React104.memo(
38011
+ var BudgetAllocCard = React105.memo(
37961
38012
  ({
37962
38013
  title,
37963
38014
  currency = "$",
@@ -38074,7 +38125,7 @@ var BudgetAllocCard = React104.memo(
38074
38125
  BudgetAllocCard.displayName = "BudgetAllocCard";
38075
38126
 
38076
38127
  // src/molecules/generic/ComparisonCard/ComparisonCard.tsx
38077
- import React105 from "react";
38128
+ import React106 from "react";
38078
38129
  import { jsx as jsx133, jsxs as jsxs94 } from "react/jsx-runtime";
38079
38130
  var BADGE_COLORS = {
38080
38131
  gold: "text-gold border-gold/30 bg-gold/10",
@@ -38082,7 +38133,7 @@ var BADGE_COLORS = {
38082
38133
  emerald: "text-emerald-400 border-emerald-500/30 bg-emerald-500/10",
38083
38134
  violet: "text-violet-400 border-violet-500/30 bg-violet-500/10"
38084
38135
  };
38085
- var ComparisonCard = React105.memo(
38136
+ var ComparisonCard = React106.memo(
38086
38137
  ({
38087
38138
  title,
38088
38139
  description,
@@ -38097,8 +38148,8 @@ var ComparisonCard = React105.memo(
38097
38148
  onAction
38098
38149
  }) => {
38099
38150
  const s = th(theme);
38100
- const [selected, setSelected] = React105.useState(null);
38101
- const [isSubmitted, setIsSubmitted] = React105.useState(false);
38151
+ const [selected, setSelected] = React106.useState(null);
38152
+ const [isSubmitted, setIsSubmitted] = React106.useState(false);
38102
38153
  const isInteractive = isLatestMessage && !disabled && !isSubmitted;
38103
38154
  const handleSelect = (opt) => (e) => {
38104
38155
  e.preventDefault();
@@ -38913,7 +38964,8 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
38913
38964
  setIframeReady(true);
38914
38965
  iframeRef.current?.contentWindow?.postMessage({ type: "goToSlide", slide: initialSlide }, "*");
38915
38966
  },
38916
- sandbox: "allow-same-origin allow-scripts allow-fullscreen",
38967
+ sandbox: "allow-same-origin allow-scripts",
38968
+ allow: "fullscreen",
38917
38969
  className: "absolute inset-0 w-full h-full border-0"
38918
38970
  }
38919
38971
  ) })
@@ -40102,7 +40154,7 @@ var WebSearchJobCard = ({
40102
40154
  };
40103
40155
 
40104
40156
  // src/molecules/creator-discovery/CampaignSeedCard/CampaignSeedCard.tsx
40105
- import React109, { useMemo as useMemo6 } from "react";
40157
+ import React110, { useMemo as useMemo6 } from "react";
40106
40158
 
40107
40159
  // src/molecules/creator-discovery/SearchSpecCard/CustomFieldRenderers.tsx
40108
40160
  import { useState as useState13, useRef as useRef8, useEffect as useEffect9, useMemo as useMemo5 } from "react";
@@ -40811,7 +40863,7 @@ function buildCampaignSeedFields(data) {
40811
40863
  return generated;
40812
40864
  });
40813
40865
  }
40814
- var CampaignSeedCard = React109.memo(
40866
+ var CampaignSeedCard = React110.memo(
40815
40867
  ({
40816
40868
  selectionStatus,
40817
40869
  isLatestMessage = true,
@@ -40857,7 +40909,7 @@ var CampaignSeedCard = React109.memo(
40857
40909
  CampaignSeedCard.displayName = "CampaignSeedCard";
40858
40910
 
40859
40911
  // src/molecules/creator-discovery/SearchSpecCard/SearchSpecCard.tsx
40860
- import React110, { useMemo as useMemo7 } from "react";
40912
+ import React111, { useMemo as useMemo7 } from "react";
40861
40913
  import { jsx as jsx152, jsxs as jsxs113 } from "react/jsx-runtime";
40862
40914
  var ObjectDisplay2 = ({ value }) => {
40863
40915
  if (!value || typeof value !== "object") return null;
@@ -40973,7 +41025,7 @@ function buildSearchSpecFields(data) {
40973
41025
  return generated;
40974
41026
  });
40975
41027
  }
40976
- var SearchSpecCard = React110.memo(
41028
+ var SearchSpecCard = React111.memo(
40977
41029
  ({
40978
41030
  selectionStatus,
40979
41031
  isLatestMessage = true,
@@ -41023,7 +41075,7 @@ var SearchSpecCard = React110.memo(
41023
41075
  SearchSpecCard.displayName = "SearchSpecCard";
41024
41076
 
41025
41077
  // src/molecules/creator-discovery/MCQCard/MCQCard.tsx
41026
- import React111 from "react";
41078
+ import React112 from "react";
41027
41079
 
41028
41080
  // src/molecules/creator-discovery/MCQCard/defaultFetchers.ts
41029
41081
  function getBackendOrigin() {
@@ -41124,13 +41176,63 @@ async function defaultPersistSelection(sessionId, questionKey, value) {
41124
41176
 
41125
41177
  // src/molecules/creator-discovery/MCQCard/MCQCard.tsx
41126
41178
  import { jsx as jsx153, jsxs as jsxs114 } from "react/jsx-runtime";
41127
- var MCQCard = React111.memo(
41179
+ var NUMBER_WORDS = {
41180
+ one: 1,
41181
+ two: 2,
41182
+ three: 3,
41183
+ four: 4,
41184
+ five: 5,
41185
+ six: 6,
41186
+ seven: 7,
41187
+ eight: 8,
41188
+ nine: 9,
41189
+ ten: 10
41190
+ };
41191
+ function wordToNum(s) {
41192
+ const n = parseInt(s, 10);
41193
+ if (!Number.isNaN(n)) return n;
41194
+ return NUMBER_WORDS[s.toLowerCase()] ?? NaN;
41195
+ }
41196
+ function toPositiveInt(v) {
41197
+ const n = Math.floor(Number(v));
41198
+ return Number.isFinite(n) && n > 0 ? n : void 0;
41199
+ }
41200
+ function inferSelectionLimits(text, optionCount) {
41201
+ if (!text) return null;
41202
+ const q = text.toLowerCase();
41203
+ const all = optionCount > 0 ? optionCount : 99;
41204
+ if (/all that apply|select all|check all|choose all|select multiple|choose multiple|more than one|as many as|any that apply/.test(q)) {
41205
+ return { max: all, min: 1, mode: "all" };
41206
+ }
41207
+ const upTo = q.match(/up to (\d+|one|two|three|four|five|six|seven|eight|nine|ten)/);
41208
+ if (upTo) {
41209
+ const n = wordToNum(upTo[1]);
41210
+ if (n > 1) return { max: Math.min(n, all), min: 1, mode: "upto" };
41211
+ }
41212
+ const pickN = q.match(/(?:select|choose|pick)\s+(?:any\s+|your\s+|the\s+)?(?:top\s+)?(\d+|one|two|three|four|five|six|seven|eight|nine|ten)\b/);
41213
+ if (pickN) {
41214
+ const n = wordToNum(pickN[1]);
41215
+ if (n > 1 && n <= all) return { max: n, min: n, mode: "exact" };
41216
+ }
41217
+ if (/(?:select|choose|pick)\s+(?:your\s+|the\s+)?(?:preferred|favorite|favourite|relevant|applicable|matching)\s+\w+s\b/.test(q)) {
41218
+ return { max: all, min: 1, mode: "all" };
41219
+ }
41220
+ if (/(?:choose|select|pick)\s+the\s+\w+s\s+that\s+(?:match|apply|fit|describe|best|are)/.test(q)) {
41221
+ return { max: all, min: 1, mode: "all" };
41222
+ }
41223
+ return null;
41224
+ }
41225
+ var MCQCard = React112.memo(
41128
41226
  ({
41129
41227
  question,
41130
41228
  options,
41131
41229
  recommended,
41132
41230
  selectedOption: propsSelectedOption,
41231
+ selectedOptions: propsSelectedOptions,
41232
+ maxSelections,
41233
+ minSelections,
41133
41234
  onSelect,
41235
+ onSelectMultiple,
41134
41236
  onProceed,
41135
41237
  isLatestMessage = true,
41136
41238
  isLoading = false,
@@ -41148,25 +41250,59 @@ var MCQCard = React111.memo(
41148
41250
  }) => {
41149
41251
  const resolvedQuestion = question || allProps.Question || allProps.q || "";
41150
41252
  const resolvedOptions = options || allProps.Options || allProps.opts || {};
41253
+ const optionCount = resolvedOptions && typeof resolvedOptions === "object" ? Object.keys(resolvedOptions).length : 0;
41254
+ const explicitMax = toPositiveInt(
41255
+ maxSelections ?? allProps.MaxSelections ?? allProps.max_selections ?? allProps.maxSelect
41256
+ );
41257
+ const explicitMin = toPositiveInt(
41258
+ minSelections ?? allProps.MinSelections ?? allProps.min_selections
41259
+ );
41260
+ const inferenceText = [
41261
+ resolvedQuestion,
41262
+ allProps.Context,
41263
+ allProps.context,
41264
+ allProps.instruction,
41265
+ allProps.helperText
41266
+ ].filter(Boolean).join(" ");
41267
+ const inferred = explicitMax ? null : inferSelectionLimits(inferenceText, optionCount);
41268
+ const maxSel = explicitMax ?? inferred?.max ?? 1;
41269
+ const isMulti = maxSel > 1;
41270
+ const minSel = Math.min(
41271
+ maxSel,
41272
+ Math.max(1, explicitMin ?? inferred?.min ?? (isMulti ? maxSel : 1))
41273
+ );
41274
+ const isSelectAll = isMulti && !explicitMax && inferred?.mode === "all";
41151
41275
  const t = th(theme);
41152
- const [selectedOption, setSelectedOption] = React111.useState(propsSelectedOption);
41153
- const [isProceeded, setIsProceeded] = React111.useState(false);
41154
- const fetchedSessionRef = React111.useRef("");
41155
- React111.useEffect(() => {
41276
+ const seedSelection = () => {
41277
+ if (Array.isArray(propsSelectedOptions) && propsSelectedOptions.length > 0) {
41278
+ return propsSelectedOptions.slice(0, maxSel);
41279
+ }
41280
+ if (propsSelectedOption) return [propsSelectedOption];
41281
+ return [];
41282
+ };
41283
+ const [selectedKeys, setSelectedKeys] = React112.useState(seedSelection);
41284
+ const [isProceeded, setIsProceeded] = React112.useState(
41285
+ Boolean(propsSelectedOption || propsSelectedOptions && propsSelectedOptions.length)
41286
+ );
41287
+ const fetchedSessionRef = React112.useRef("");
41288
+ React112.useEffect(() => {
41156
41289
  if (propsSelectedOption) {
41157
- setSelectedOption(propsSelectedOption);
41290
+ setSelectedKeys([propsSelectedOption]);
41291
+ setIsProceeded(true);
41292
+ } else if (Array.isArray(propsSelectedOptions) && propsSelectedOptions.length > 0) {
41293
+ setSelectedKeys(propsSelectedOptions.slice(0, maxSel));
41158
41294
  setIsProceeded(true);
41159
41295
  }
41160
- }, [propsSelectedOption]);
41161
- const buildQuestionKey = React111.useCallback((sid, question2) => {
41296
+ }, [propsSelectedOption, propsSelectedOptions]);
41297
+ const buildQuestionKey = React112.useCallback((sid, q) => {
41162
41298
  let hash = 2166136261;
41163
- for (let i = 0; i < question2.length; i++) {
41164
- hash ^= question2.charCodeAt(i);
41299
+ for (let i = 0; i < q.length; i++) {
41300
+ hash ^= q.charCodeAt(i);
41165
41301
  hash = hash * 16777619 >>> 0;
41166
41302
  }
41167
41303
  return `mcq_${sid}_${hash.toString(36)}`;
41168
41304
  }, []);
41169
- React111.useEffect(() => {
41305
+ React112.useEffect(() => {
41170
41306
  if (!sessionId || !resolvedQuestion) return;
41171
41307
  const fetchKey = `${sessionId}::${resolvedQuestion}`;
41172
41308
  if (fetchedSessionRef.current === fetchKey) return;
@@ -41176,54 +41312,83 @@ var MCQCard = React111.memo(
41176
41312
  fetchSelections(sessionId).then((selections) => {
41177
41313
  const stored = selections[questionKey] || selections[resolvedQuestion] || selections[`mcq_${sessionId}`];
41178
41314
  if (stored) {
41179
- setSelectedOption(stored);
41180
- setIsProceeded(true);
41315
+ const restored = String(stored).split(",").map((s) => s.trim()).filter(Boolean);
41316
+ if (restored.length) {
41317
+ setSelectedKeys(restored);
41318
+ setIsProceeded(true);
41319
+ }
41181
41320
  }
41182
41321
  }).catch(() => {
41183
41322
  });
41184
41323
  }, [sessionId, propsSelectedOption, resolvedQuestion, buildQuestionKey]);
41185
41324
  const isDiscovery = disableContinueInDiscovery !== void 0 ? disableContinueInDiscovery : typeof window !== "undefined" && window.location.pathname.includes("creator-discovery");
41325
+ const isOptionsDisabled = disabled || !isLatestMessage || isProceeded && !disableContinueInDiscovery;
41186
41326
  const handleOptionClick = (key, e) => {
41187
41327
  e.preventDefault();
41188
41328
  e.stopPropagation();
41189
- if (isLatestMessage && !isLoading && !disabled && !isProceeded) {
41190
- setSelectedOption(key);
41329
+ if (!isLatestMessage || isLoading || disabled || isProceeded) return;
41330
+ if (!isMulti) {
41331
+ setSelectedKeys([key]);
41191
41332
  onSelect?.(key);
41333
+ onSelectMultiple?.([key]);
41334
+ return;
41192
41335
  }
41336
+ setSelectedKeys((prev) => {
41337
+ let next;
41338
+ if (prev.includes(key)) {
41339
+ next = prev.filter((k) => k !== key);
41340
+ } else if (prev.length < maxSel) {
41341
+ next = [...prev, key];
41342
+ } else {
41343
+ next = prev;
41344
+ }
41345
+ onSelect?.(key);
41346
+ onSelectMultiple?.(next);
41347
+ return next;
41348
+ });
41349
+ };
41350
+ const optionsEntries = resolvedOptions && Object.keys(resolvedOptions).length > 0 ? Object.entries(resolvedOptions).map(([key, val]) => [
41351
+ key,
41352
+ typeof val === "string" ? val : typeof val === "object" && val !== null ? val.label || val.description || val.id || JSON.stringify(val) : String(val ?? "")
41353
+ ]) : [];
41354
+ const labelFor = (key) => {
41355
+ const found = optionsEntries.find(([k]) => k === key);
41356
+ return found ? found[1] : key;
41193
41357
  };
41194
41358
  const handleProceed = async (e) => {
41195
41359
  e.preventDefault();
41196
41360
  e.stopPropagation();
41197
- if ((selectedOption || recommended) && !disabled && !isProceeded) {
41198
- const result = selectedOption || recommended || "";
41199
- if (!selectedOption && recommended) {
41200
- setSelectedOption(recommended);
41201
- }
41202
- const rawLabel = options && options[result];
41203
- const label = typeof rawLabel === "string" ? rawLabel : typeof rawLabel === "object" && rawLabel !== null ? rawLabel.label || rawLabel.description || result : result;
41204
- setIsProceeded(true);
41205
- if (sessionId && resolvedQuestion) {
41206
- const questionKey = buildQuestionKey(sessionId, resolvedQuestion);
41207
- await persistSelection(sessionId, questionKey, result);
41208
- }
41209
- if (sendMessage) {
41210
- sendMessage(`Q: ${resolvedQuestion}
41361
+ if (disabled || isProceeded) return;
41362
+ let finalKeys = selectedKeys.length ? selectedKeys : recommended ? [recommended] : [];
41363
+ finalKeys = finalKeys.slice(0, maxSel);
41364
+ if (finalKeys.length < minSel) return;
41365
+ if (selectedKeys.length === 0 && recommended) {
41366
+ setSelectedKeys(finalKeys);
41367
+ }
41368
+ const value = finalKeys.join(",");
41369
+ const label = finalKeys.map(labelFor).join(", ");
41370
+ setIsProceeded(true);
41371
+ if (sessionId && resolvedQuestion) {
41372
+ const questionKey = buildQuestionKey(sessionId, resolvedQuestion);
41373
+ await persistSelection(sessionId, questionKey, value);
41374
+ }
41375
+ if (sendMessage) {
41376
+ sendMessage(`Q: ${resolvedQuestion}
41211
41377
  A: ${label}`);
41212
- }
41213
- onProceed?.(result);
41214
- onAction?.({
41215
- type: "mcq_selection",
41216
- value: result,
41217
- label
41218
- });
41219
41378
  }
41379
+ onProceed?.(value);
41380
+ onAction?.({
41381
+ type: "mcq_selection",
41382
+ value,
41383
+ label,
41384
+ values: finalKeys,
41385
+ labels: finalKeys.map(labelFor)
41386
+ });
41220
41387
  };
41221
- const isOptionsDisabled = disabled || !isLatestMessage || isProceeded && !disableContinueInDiscovery;
41388
+ const selectedCount = selectedKeys.length;
41389
+ const meetsMin = (selectedCount || (recommended ? 1 : 0)) >= minSel;
41222
41390
  const isContinueDisabled = disabled || !isLatestMessage || isProceeded || isDiscovery;
41223
- const optionsEntries = resolvedOptions && Object.keys(resolvedOptions).length > 0 ? Object.entries(resolvedOptions).map(([key, val]) => [
41224
- key,
41225
- typeof val === "string" ? val : typeof val === "object" && val !== null ? val.label || val.description || val.id || JSON.stringify(val) : String(val ?? "")
41226
- ]) : [];
41391
+ const guidance = !isMulti ? "Select one option" : isSelectAll ? "Select all that apply" : minSel === maxSel ? `Select ${maxSel} options` : minSel <= 1 ? `Choose up to ${maxSel} options` : `Select between ${minSel} and ${maxSel} options`;
41227
41392
  return /* @__PURE__ */ jsxs114(
41228
41393
  "div",
41229
41394
  {
@@ -41234,10 +41399,24 @@ A: ${label}`);
41234
41399
  ),
41235
41400
  style: t.root,
41236
41401
  children: [
41237
- /* @__PURE__ */ jsx153("div", { className: "mb-4", children: /* @__PURE__ */ jsx153("p", { className: "text-sm text-cardText", style: t.text, children: resolvedQuestion || "Select an option:" }) }),
41402
+ /* @__PURE__ */ jsxs114("div", { className: "mb-4", children: [
41403
+ /* @__PURE__ */ jsx153("p", { className: "text-sm text-cardText", style: t.text, children: resolvedQuestion || "Select an option:" }),
41404
+ isMulti && /* @__PURE__ */ jsxs114("p", { className: "mt-1 text-xs text-gray500 flex items-center gap-1.5", children: [
41405
+ /* @__PURE__ */ jsx153("span", { children: guidance }),
41406
+ /* @__PURE__ */ jsxs114("span", { className: "text-gold", style: t.accent, children: [
41407
+ "(",
41408
+ selectedCount,
41409
+ "/",
41410
+ maxSel,
41411
+ " selected)"
41412
+ ] })
41413
+ ] })
41414
+ ] }),
41238
41415
  /* @__PURE__ */ jsx153("div", { className: "space-y-2.5 mb-4", children: optionsEntries.map(([key, label]) => {
41239
- const isSelected = selectedOption === key;
41416
+ const isSelected = selectedKeys.includes(key);
41240
41417
  const isRecommended = key === recommended;
41418
+ const atCap = isMulti && !isSelected && selectedCount >= maxSel;
41419
+ const allowHover = !isOptionsDisabled && !atCap && (isMulti || selectedCount === 0);
41241
41420
  return /* @__PURE__ */ jsx153(
41242
41421
  "div",
41243
41422
  {
@@ -41248,8 +41427,8 @@ A: ${label}`);
41248
41427
  "cursor-pointer rounded-lg p-3 transition-colors",
41249
41428
  "border bg-black",
41250
41429
  isSelected ? "border-cardBorder" : "border-gray400",
41251
- !selectedOption && !isOptionsDisabled && "hover:border-gray500",
41252
- (isLoading || isOptionsDisabled) && "opacity-50 cursor-not-allowed"
41430
+ allowHover && "hover:border-gray500",
41431
+ (isLoading || isOptionsDisabled || atCap) && "opacity-50 cursor-not-allowed"
41253
41432
  ),
41254
41433
  style: isSelected ? { ...t.surface, ...t.accentBorder } : t.surface,
41255
41434
  children: /* @__PURE__ */ jsxs114("div", { className: "flex items-start gap-3", children: [
@@ -41257,14 +41436,28 @@ A: ${label}`);
41257
41436
  "div",
41258
41437
  {
41259
41438
  className: cn(
41260
- "w-4 h-4 rounded-full border-2 flex items-center justify-center transition-colors",
41439
+ "w-4 h-4 border-2 flex items-center justify-center transition-colors",
41440
+ isMulti ? "rounded" : "rounded-full",
41261
41441
  isSelected ? "border-gold" : cn(
41262
41442
  "border-gray500",
41263
- !selectedOption && !isOptionsDisabled && "hover:border-gold"
41443
+ allowHover && "hover:border-gold"
41264
41444
  )
41265
41445
  ),
41266
41446
  style: isSelected ? t.accentBorder : void 0,
41267
- children: isSelected && /* @__PURE__ */ jsx153("div", { className: "w-2 h-2 rounded-full bg-gold", style: t.accentBg })
41447
+ children: isSelected && (isMulti ? /* @__PURE__ */ jsx153(
41448
+ "svg",
41449
+ {
41450
+ viewBox: "0 0 16 16",
41451
+ className: "w-3 h-3 text-gold",
41452
+ style: t.accent,
41453
+ fill: "none",
41454
+ stroke: "currentColor",
41455
+ strokeWidth: "2.5",
41456
+ strokeLinecap: "round",
41457
+ strokeLinejoin: "round",
41458
+ children: /* @__PURE__ */ jsx153("path", { d: "M3.5 8.5l3 3 6-7" })
41459
+ }
41460
+ ) : /* @__PURE__ */ jsx153("div", { className: "w-2 h-2 rounded-full bg-gold", style: t.accentBg }))
41268
41461
  }
41269
41462
  ) }),
41270
41463
  /* @__PURE__ */ jsxs114("div", { className: "flex-1 min-w-0", children: [
@@ -41281,7 +41474,7 @@ A: ${label}`);
41281
41474
  {
41282
41475
  "data-testid": "mcq-continue",
41283
41476
  onClick: handleProceed,
41284
- disabled: isContinueDisabled || isLoading || !selectedOption && !recommended,
41477
+ disabled: isContinueDisabled || isLoading || !meetsMin,
41285
41478
  className: cn(
41286
41479
  "px-4 py-1.5 border rounded-lg text-xs font-medium transition-colors",
41287
41480
  "disabled:opacity-50 disabled:cursor-not-allowed",
@@ -41775,9 +41968,9 @@ var CreatorActionHeader = ({
41775
41968
  };
41776
41969
 
41777
41970
  // src/molecules/creator-discovery/CreatorSearchBox/CreatorSearch.tsx
41778
- import React112, { useMemo as useMemo8 } from "react";
41971
+ import React113, { useMemo as useMemo8 } from "react";
41779
41972
  import { jsx as jsx164, jsxs as jsxs124 } from "react/jsx-runtime";
41780
- var CreatorSearch = React112.memo(
41973
+ var CreatorSearch = React113.memo(
41781
41974
  ({
41782
41975
  selectionStatus,
41783
41976
  isLatestMessage = true,
@@ -41866,10 +42059,10 @@ var CreatorSearch = React112.memo(
41866
42059
  CreatorSearch.displayName = "CreatorSearch";
41867
42060
 
41868
42061
  // src/molecules/creator-discovery/CampaignConceptCard/CampaignConceptCard.tsx
41869
- import React113, { useMemo as useMemo9, useState as useState14 } from "react";
42062
+ import React114, { useMemo as useMemo9, useState as useState14 } from "react";
41870
42063
  import { motion, AnimatePresence } from "framer-motion";
41871
42064
  import { jsx as jsx165, jsxs as jsxs125 } from "react/jsx-runtime";
41872
- var CampaignConceptCard = React113.memo(
42065
+ var CampaignConceptCard = React114.memo(
41873
42066
  ({
41874
42067
  index,
41875
42068
  isRecommended,
@@ -44488,6 +44681,190 @@ function CreatorWidgetInner({
44488
44681
  }
44489
44682
  var CreatorWidget = memo(CreatorWidgetInner);
44490
44683
 
44684
+ // src/molecules/analytics/AnalyticsChart.tsx
44685
+ import { useEffect as useEffect15, useRef as useRef11, useState as useState23 } from "react";
44686
+ import { jsx as jsx178, jsxs as jsxs137 } from "react/jsx-runtime";
44687
+ function getCSSVar(name) {
44688
+ if (typeof document === "undefined") return "";
44689
+ return getComputedStyle(document.documentElement).getPropertyValue(name).trim();
44690
+ }
44691
+ var FALLBACK_COLORS = ["#C4AD7C", "#A189E8", "#5BC582", "#F59E0B", "#3B82F6", "#EC81B6", "#4DB8AC", "#F97316"];
44692
+ function normalizeConfig(config) {
44693
+ const xAxisType = Array.isArray(config.xAxis) ? config.xAxis[0]?.type : config.xAxis?.type;
44694
+ if (xAxisType !== "category") return config;
44695
+ return {
44696
+ ...config,
44697
+ series: (config.series || []).map((s) => ({
44698
+ ...s,
44699
+ data: (s.data || []).map((pt) => {
44700
+ if (pt && typeof pt === "object" && typeof pt.x === "string") {
44701
+ const { x, ...rest } = pt;
44702
+ return rest;
44703
+ }
44704
+ return pt;
44705
+ })
44706
+ }))
44707
+ };
44708
+ }
44709
+ function stripNulls(val) {
44710
+ if (val === null || val === void 0) return void 0;
44711
+ if (Array.isArray(val)) return val.map(stripNulls).filter((v) => v !== void 0);
44712
+ if (typeof val === "object") {
44713
+ const out = {};
44714
+ for (const k of Object.keys(val)) {
44715
+ const v = stripNulls(val[k]);
44716
+ if (v !== void 0) out[k] = v;
44717
+ }
44718
+ return out;
44719
+ }
44720
+ return val;
44721
+ }
44722
+ var hcSingleton = null;
44723
+ var hcLoadPromise = null;
44724
+ function loadHighcharts() {
44725
+ if (hcSingleton) return Promise.resolve(hcSingleton);
44726
+ if (hcLoadPromise) return hcLoadPromise;
44727
+ hcLoadPromise = import("highcharts").then((m) => {
44728
+ hcSingleton = m.default ?? m;
44729
+ return hcSingleton;
44730
+ });
44731
+ return hcLoadPromise;
44732
+ }
44733
+ function buildTheme(height) {
44734
+ const colors = [1, 2, 3, 4, 5, 6, 7, 8].map((i) => getCSSVar(`--chart-${i}`)).filter(Boolean);
44735
+ return {
44736
+ colors: colors.length ? colors : FALLBACK_COLORS,
44737
+ chart: {
44738
+ backgroundColor: getCSSVar("--paperBackground") || "#0a0a0a",
44739
+ style: { fontFamily: "Inter, sans-serif" },
44740
+ height
44741
+ },
44742
+ title: { style: { color: getCSSVar("--txtColor") || "#E5E5E5", fontSize: "14px", fontWeight: "600" } },
44743
+ subtitle: { style: { color: getCSSVar("--textSecondary") || "#9A9080", fontSize: "12px" } },
44744
+ xAxis: {
44745
+ labels: { style: { color: getCSSVar("--textSecondary") || "#9A9080", fontSize: "11px" } },
44746
+ gridLineColor: getCSSVar("--chart-grid") || "rgba(255,255,255,0.05)",
44747
+ lineColor: getCSSVar("--gray300") || "#363843",
44748
+ tickColor: getCSSVar("--gray300") || "#363843"
44749
+ },
44750
+ yAxis: {
44751
+ labels: { style: { color: getCSSVar("--textSecondary") || "#9A9080", fontSize: "11px" } },
44752
+ gridLineColor: getCSSVar("--chart-grid") || "rgba(255,255,255,0.05)",
44753
+ title: { style: { color: getCSSVar("--textSecondary") || "#9A9080" } }
44754
+ },
44755
+ legend: {
44756
+ itemStyle: { color: getCSSVar("--txtColor") || "#E5E5E5", fontSize: "11px", fontWeight: "normal" },
44757
+ itemHoverStyle: { color: getCSSVar("--gray900") || "#f5f5f5" }
44758
+ },
44759
+ tooltip: {
44760
+ backgroundColor: getCSSVar("--gray100") || "#1b1c22",
44761
+ style: { color: getCSSVar("--txtColor") || "#E5E5E5", fontSize: "12px" },
44762
+ borderColor: getCSSVar("--gray300") || "#363843",
44763
+ borderRadius: 6
44764
+ },
44765
+ plotOptions: { series: { animation: { duration: 400 } } },
44766
+ credits: { enabled: false }
44767
+ };
44768
+ }
44769
+ function AnalyticsChart({
44770
+ config: configProp,
44771
+ chartId,
44772
+ apiBase = "",
44773
+ authToken,
44774
+ height = 400,
44775
+ className,
44776
+ loading: loadingProp,
44777
+ error: errorProp
44778
+ }) {
44779
+ const [mounted, setMounted] = useState23(false);
44780
+ const [fetchedConfig, setFetchedConfig] = useState23(null);
44781
+ const [fetching, setFetching] = useState23(false);
44782
+ const [fetchError, setFetchError] = useState23(null);
44783
+ const containerRef = useRef11(null);
44784
+ const chartRef = useRef11(null);
44785
+ useEffect15(() => {
44786
+ setMounted(true);
44787
+ }, []);
44788
+ useEffect15(() => {
44789
+ if (!chartId || configProp) return;
44790
+ let cancelled = false;
44791
+ setFetching(true);
44792
+ setFetchError(null);
44793
+ const headers = {};
44794
+ if (authToken) headers["Authorization"] = `Bearer ${authToken}`;
44795
+ fetch(`${apiBase}/api/charts/${chartId}`, { headers }).then((r) => {
44796
+ if (!r.ok) throw new Error(`${r.status}`);
44797
+ return r.json();
44798
+ }).then((d) => {
44799
+ if (!cancelled) setFetchedConfig(d.chart_config ?? d);
44800
+ }).catch((e) => {
44801
+ if (!cancelled) setFetchError(e.message ?? "Failed to load chart");
44802
+ }).finally(() => {
44803
+ if (!cancelled) setFetching(false);
44804
+ });
44805
+ return () => {
44806
+ cancelled = true;
44807
+ };
44808
+ }, [chartId, apiBase, authToken, configProp]);
44809
+ const activeConfig = configProp ?? fetchedConfig;
44810
+ useEffect15(() => {
44811
+ if (!mounted || !activeConfig || !containerRef.current) return;
44812
+ const container = containerRef.current;
44813
+ let cancelled = false;
44814
+ loadHighcharts().then((HC) => {
44815
+ if (cancelled || !container) return;
44816
+ if (chartRef.current) {
44817
+ try {
44818
+ chartRef.current.destroy();
44819
+ } catch {
44820
+ }
44821
+ chartRef.current = null;
44822
+ }
44823
+ HC.setOptions(buildTheme(height));
44824
+ chartRef.current = HC.chart(container, normalizeConfig(stripNulls(activeConfig)));
44825
+ });
44826
+ return () => {
44827
+ cancelled = true;
44828
+ };
44829
+ }, [mounted, activeConfig]);
44830
+ useEffect15(() => {
44831
+ return () => {
44832
+ if (chartRef.current) {
44833
+ try {
44834
+ chartRef.current.destroy();
44835
+ } catch {
44836
+ }
44837
+ chartRef.current = null;
44838
+ }
44839
+ };
44840
+ }, []);
44841
+ useEffect15(() => {
44842
+ if (!mounted || !containerRef.current) return;
44843
+ const obs = new ResizeObserver(() => {
44844
+ try {
44845
+ chartRef.current?.reflow();
44846
+ } catch {
44847
+ }
44848
+ });
44849
+ obs.observe(containerRef.current);
44850
+ return () => obs.disconnect();
44851
+ }, [mounted]);
44852
+ const bg = getCSSVar("--paperBackground") || "#0a0a0a";
44853
+ const mutedColor = getCSSVar("--gray300") || "#363843";
44854
+ const displayError = errorProp ?? fetchError;
44855
+ const isLoading = loadingProp || fetching || !mounted || !activeConfig;
44856
+ if (displayError) {
44857
+ return /* @__PURE__ */ jsx178("div", { className, style: { height, display: "flex", alignItems: "center", justifyContent: "center", backgroundColor: bg, borderRadius: 8, border: `1px solid ${mutedColor}` }, children: /* @__PURE__ */ jsx178("p", { style: { color: getCSSVar("--redText") || "#f87171", fontSize: 13, margin: 0 }, children: displayError }) });
44858
+ }
44859
+ if (isLoading) {
44860
+ return /* @__PURE__ */ jsxs137("div", { className, style: { height, borderRadius: 8, overflow: "hidden", position: "relative", backgroundColor: bg, border: `1px solid ${mutedColor}` }, children: [
44861
+ /* @__PURE__ */ jsx178("div", { style: { position: "absolute", inset: 0, background: "linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.06) 50%,transparent 100%)", animation: "hc-shimmer 1.6s ease-in-out infinite" } }),
44862
+ /* @__PURE__ */ jsx178("style", { children: `@keyframes hc-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}` })
44863
+ ] });
44864
+ }
44865
+ return /* @__PURE__ */ jsx178("div", { ref: containerRef, className, style: { width: "100%", minWidth: 0, height } });
44866
+ }
44867
+
44491
44868
  // src/components/ui/index.ts
44492
44869
  var ui_exports = {};
44493
44870
  __export(ui_exports, {
@@ -44780,7 +45157,7 @@ __export(ui_exports, {
44780
45157
  // src/components/ui/button-group.tsx
44781
45158
  import { Slot as Slot4 } from "@radix-ui/react-slot";
44782
45159
  import { cva as cva8 } from "class-variance-authority";
44783
- import { jsx as jsx178 } from "react/jsx-runtime";
45160
+ import { jsx as jsx179 } from "react/jsx-runtime";
44784
45161
  var buttonGroupVariants = cva8(
44785
45162
  "flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
44786
45163
  {
@@ -44800,7 +45177,7 @@ function ButtonGroup({
44800
45177
  orientation,
44801
45178
  ...props
44802
45179
  }) {
44803
- return /* @__PURE__ */ jsx178(
45180
+ return /* @__PURE__ */ jsx179(
44804
45181
  "div",
44805
45182
  {
44806
45183
  role: "group",
@@ -44817,7 +45194,7 @@ function ButtonGroupText({
44817
45194
  ...props
44818
45195
  }) {
44819
45196
  const Comp = asChild ? Slot4 : "div";
44820
- return /* @__PURE__ */ jsx178(
45197
+ return /* @__PURE__ */ jsx179(
44821
45198
  Comp,
44822
45199
  {
44823
45200
  className: cn(
@@ -44833,7 +45210,7 @@ function ButtonGroupSeparator({
44833
45210
  orientation = "vertical",
44834
45211
  ...props
44835
45212
  }) {
44836
- return /* @__PURE__ */ jsx178(
45213
+ return /* @__PURE__ */ jsx179(
44837
45214
  Separator2,
44838
45215
  {
44839
45216
  "data-slot": "button-group-separator",
@@ -44849,9 +45226,9 @@ function ButtonGroupSeparator({
44849
45226
 
44850
45227
  // src/components/ui/empty.tsx
44851
45228
  import { cva as cva9 } from "class-variance-authority";
44852
- import { jsx as jsx179 } from "react/jsx-runtime";
45229
+ import { jsx as jsx180 } from "react/jsx-runtime";
44853
45230
  function Empty({ className, ...props }) {
44854
- return /* @__PURE__ */ jsx179(
45231
+ return /* @__PURE__ */ jsx180(
44855
45232
  "div",
44856
45233
  {
44857
45234
  "data-slot": "empty",
@@ -44864,7 +45241,7 @@ function Empty({ className, ...props }) {
44864
45241
  );
44865
45242
  }
44866
45243
  function EmptyHeader({ className, ...props }) {
44867
- return /* @__PURE__ */ jsx179(
45244
+ return /* @__PURE__ */ jsx180(
44868
45245
  "div",
44869
45246
  {
44870
45247
  "data-slot": "empty-header",
@@ -44895,7 +45272,7 @@ function EmptyMedia({
44895
45272
  variant = "default",
44896
45273
  ...props
44897
45274
  }) {
44898
- return /* @__PURE__ */ jsx179(
45275
+ return /* @__PURE__ */ jsx180(
44899
45276
  "div",
44900
45277
  {
44901
45278
  "data-slot": "empty-icon",
@@ -44906,7 +45283,7 @@ function EmptyMedia({
44906
45283
  );
44907
45284
  }
44908
45285
  function EmptyTitle({ className, ...props }) {
44909
- return /* @__PURE__ */ jsx179(
45286
+ return /* @__PURE__ */ jsx180(
44910
45287
  "div",
44911
45288
  {
44912
45289
  "data-slot": "empty-title",
@@ -44916,7 +45293,7 @@ function EmptyTitle({ className, ...props }) {
44916
45293
  );
44917
45294
  }
44918
45295
  function EmptyDescription({ className, ...props }) {
44919
- return /* @__PURE__ */ jsx179(
45296
+ return /* @__PURE__ */ jsx180(
44920
45297
  "div",
44921
45298
  {
44922
45299
  "data-slot": "empty-description",
@@ -44929,7 +45306,7 @@ function EmptyDescription({ className, ...props }) {
44929
45306
  );
44930
45307
  }
44931
45308
  function EmptyContent({ className, ...props }) {
44932
- return /* @__PURE__ */ jsx179(
45309
+ return /* @__PURE__ */ jsx180(
44933
45310
  "div",
44934
45311
  {
44935
45312
  "data-slot": "empty-content",
@@ -44945,9 +45322,9 @@ function EmptyContent({ className, ...props }) {
44945
45322
  // src/components/ui/field.tsx
44946
45323
  import { useMemo as useMemo12 } from "react";
44947
45324
  import { cva as cva10 } from "class-variance-authority";
44948
- import { jsx as jsx180, jsxs as jsxs137 } from "react/jsx-runtime";
45325
+ import { jsx as jsx181, jsxs as jsxs138 } from "react/jsx-runtime";
44949
45326
  function FieldSet({ className, ...props }) {
44950
- return /* @__PURE__ */ jsx180(
45327
+ return /* @__PURE__ */ jsx181(
44951
45328
  "fieldset",
44952
45329
  {
44953
45330
  "data-slot": "field-set",
@@ -44965,7 +45342,7 @@ function FieldLegend({
44965
45342
  variant = "legend",
44966
45343
  ...props
44967
45344
  }) {
44968
- return /* @__PURE__ */ jsx180(
45345
+ return /* @__PURE__ */ jsx181(
44969
45346
  "legend",
44970
45347
  {
44971
45348
  "data-slot": "field-legend",
@@ -44981,7 +45358,7 @@ function FieldLegend({
44981
45358
  );
44982
45359
  }
44983
45360
  function FieldGroup({ className, ...props }) {
44984
- return /* @__PURE__ */ jsx180(
45361
+ return /* @__PURE__ */ jsx181(
44985
45362
  "div",
44986
45363
  {
44987
45364
  "data-slot": "field-group",
@@ -45021,7 +45398,7 @@ function Field({
45021
45398
  orientation = "vertical",
45022
45399
  ...props
45023
45400
  }) {
45024
- return /* @__PURE__ */ jsx180(
45401
+ return /* @__PURE__ */ jsx181(
45025
45402
  "div",
45026
45403
  {
45027
45404
  role: "group",
@@ -45033,7 +45410,7 @@ function Field({
45033
45410
  );
45034
45411
  }
45035
45412
  function FieldContent({ className, ...props }) {
45036
- return /* @__PURE__ */ jsx180(
45413
+ return /* @__PURE__ */ jsx181(
45037
45414
  "div",
45038
45415
  {
45039
45416
  "data-slot": "field-content",
@@ -45049,7 +45426,7 @@ function FieldLabel({
45049
45426
  className,
45050
45427
  ...props
45051
45428
  }) {
45052
- return /* @__PURE__ */ jsx180(
45429
+ return /* @__PURE__ */ jsx181(
45053
45430
  Label,
45054
45431
  {
45055
45432
  "data-slot": "field-label",
@@ -45064,7 +45441,7 @@ function FieldLabel({
45064
45441
  );
45065
45442
  }
45066
45443
  function FieldTitle({ className, ...props }) {
45067
- return /* @__PURE__ */ jsx180(
45444
+ return /* @__PURE__ */ jsx181(
45068
45445
  "div",
45069
45446
  {
45070
45447
  "data-slot": "field-label",
@@ -45077,7 +45454,7 @@ function FieldTitle({ className, ...props }) {
45077
45454
  );
45078
45455
  }
45079
45456
  function FieldDescription({ className, ...props }) {
45080
- return /* @__PURE__ */ jsx180(
45457
+ return /* @__PURE__ */ jsx181(
45081
45458
  "p",
45082
45459
  {
45083
45460
  "data-slot": "field-description",
@@ -45096,7 +45473,7 @@ function FieldSeparator({
45096
45473
  className,
45097
45474
  ...props
45098
45475
  }) {
45099
- return /* @__PURE__ */ jsxs137(
45476
+ return /* @__PURE__ */ jsxs138(
45100
45477
  "div",
45101
45478
  {
45102
45479
  "data-slot": "field-separator",
@@ -45107,8 +45484,8 @@ function FieldSeparator({
45107
45484
  ),
45108
45485
  ...props,
45109
45486
  children: [
45110
- /* @__PURE__ */ jsx180(Separator2, { className: "absolute inset-0 top-1/2" }),
45111
- children && /* @__PURE__ */ jsx180(
45487
+ /* @__PURE__ */ jsx181(Separator2, { className: "absolute inset-0 top-1/2" }),
45488
+ children && /* @__PURE__ */ jsx181(
45112
45489
  "span",
45113
45490
  {
45114
45491
  className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
@@ -45136,14 +45513,14 @@ function FieldError({
45136
45513
  if (errors?.length === 1 && errors[0]?.message) {
45137
45514
  return errors[0].message;
45138
45515
  }
45139
- return /* @__PURE__ */ jsx180("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
45140
- (error, index) => error?.message && /* @__PURE__ */ jsx180("li", { children: error.message }, index)
45516
+ return /* @__PURE__ */ jsx181("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: errors.map(
45517
+ (error, index) => error?.message && /* @__PURE__ */ jsx181("li", { children: error.message }, index)
45141
45518
  ) });
45142
45519
  }, [children, errors]);
45143
45520
  if (!content) {
45144
45521
  return null;
45145
45522
  }
45146
- return /* @__PURE__ */ jsx180(
45523
+ return /* @__PURE__ */ jsx181(
45147
45524
  "div",
45148
45525
  {
45149
45526
  role: "alert",
@@ -45157,9 +45534,9 @@ function FieldError({
45157
45534
 
45158
45535
  // src/components/ui/input-group.tsx
45159
45536
  import { cva as cva11 } from "class-variance-authority";
45160
- import { jsx as jsx181 } from "react/jsx-runtime";
45537
+ import { jsx as jsx182 } from "react/jsx-runtime";
45161
45538
  function InputGroup({ className, ...props }) {
45162
- return /* @__PURE__ */ jsx181(
45539
+ return /* @__PURE__ */ jsx182(
45163
45540
  "div",
45164
45541
  {
45165
45542
  "data-slot": "input-group",
@@ -45203,7 +45580,7 @@ function InputGroupAddon({
45203
45580
  align = "inline-start",
45204
45581
  ...props
45205
45582
  }) {
45206
- return /* @__PURE__ */ jsx181(
45583
+ return /* @__PURE__ */ jsx182(
45207
45584
  "div",
45208
45585
  {
45209
45586
  role: "group",
@@ -45243,7 +45620,7 @@ function InputGroupButton({
45243
45620
  size = "xs",
45244
45621
  ...props
45245
45622
  }) {
45246
- return /* @__PURE__ */ jsx181(
45623
+ return /* @__PURE__ */ jsx182(
45247
45624
  Button,
45248
45625
  {
45249
45626
  type,
@@ -45255,7 +45632,7 @@ function InputGroupButton({
45255
45632
  );
45256
45633
  }
45257
45634
  function InputGroupText({ className, ...props }) {
45258
- return /* @__PURE__ */ jsx181(
45635
+ return /* @__PURE__ */ jsx182(
45259
45636
  "span",
45260
45637
  {
45261
45638
  className: cn(
@@ -45270,7 +45647,7 @@ function InputGroupInput({
45270
45647
  className,
45271
45648
  ...props
45272
45649
  }) {
45273
- return /* @__PURE__ */ jsx181(
45650
+ return /* @__PURE__ */ jsx182(
45274
45651
  Input,
45275
45652
  {
45276
45653
  "data-slot": "input-group-control",
@@ -45286,7 +45663,7 @@ function InputGroupTextarea({
45286
45663
  className,
45287
45664
  ...props
45288
45665
  }) {
45289
- return /* @__PURE__ */ jsx181(
45666
+ return /* @__PURE__ */ jsx182(
45290
45667
  Textarea,
45291
45668
  {
45292
45669
  "data-slot": "input-group-control",
@@ -45302,9 +45679,9 @@ function InputGroupTextarea({
45302
45679
  // src/components/ui/item.tsx
45303
45680
  import { Slot as Slot5 } from "@radix-ui/react-slot";
45304
45681
  import { cva as cva12 } from "class-variance-authority";
45305
- import { jsx as jsx182 } from "react/jsx-runtime";
45682
+ import { jsx as jsx183 } from "react/jsx-runtime";
45306
45683
  function ItemGroup({ className, ...props }) {
45307
- return /* @__PURE__ */ jsx182(
45684
+ return /* @__PURE__ */ jsx183(
45308
45685
  "div",
45309
45686
  {
45310
45687
  role: "list",
@@ -45318,7 +45695,7 @@ function ItemSeparator({
45318
45695
  className,
45319
45696
  ...props
45320
45697
  }) {
45321
- return /* @__PURE__ */ jsx182(
45698
+ return /* @__PURE__ */ jsx183(
45322
45699
  Separator2,
45323
45700
  {
45324
45701
  "data-slot": "item-separator",
@@ -45356,7 +45733,7 @@ function Item8({
45356
45733
  ...props
45357
45734
  }) {
45358
45735
  const Comp = asChild ? Slot5 : "div";
45359
- return /* @__PURE__ */ jsx182(
45736
+ return /* @__PURE__ */ jsx183(
45360
45737
  Comp,
45361
45738
  {
45362
45739
  "data-slot": "item",
@@ -45387,7 +45764,7 @@ function ItemMedia({
45387
45764
  variant = "default",
45388
45765
  ...props
45389
45766
  }) {
45390
- return /* @__PURE__ */ jsx182(
45767
+ return /* @__PURE__ */ jsx183(
45391
45768
  "div",
45392
45769
  {
45393
45770
  "data-slot": "item-media",
@@ -45398,7 +45775,7 @@ function ItemMedia({
45398
45775
  );
45399
45776
  }
45400
45777
  function ItemContent({ className, ...props }) {
45401
- return /* @__PURE__ */ jsx182(
45778
+ return /* @__PURE__ */ jsx183(
45402
45779
  "div",
45403
45780
  {
45404
45781
  "data-slot": "item-content",
@@ -45411,7 +45788,7 @@ function ItemContent({ className, ...props }) {
45411
45788
  );
45412
45789
  }
45413
45790
  function ItemTitle({ className, ...props }) {
45414
- return /* @__PURE__ */ jsx182(
45791
+ return /* @__PURE__ */ jsx183(
45415
45792
  "div",
45416
45793
  {
45417
45794
  "data-slot": "item-title",
@@ -45424,7 +45801,7 @@ function ItemTitle({ className, ...props }) {
45424
45801
  );
45425
45802
  }
45426
45803
  function ItemDescription({ className, ...props }) {
45427
- return /* @__PURE__ */ jsx182(
45804
+ return /* @__PURE__ */ jsx183(
45428
45805
  "p",
45429
45806
  {
45430
45807
  "data-slot": "item-description",
@@ -45438,7 +45815,7 @@ function ItemDescription({ className, ...props }) {
45438
45815
  );
45439
45816
  }
45440
45817
  function ItemActions({ className, ...props }) {
45441
- return /* @__PURE__ */ jsx182(
45818
+ return /* @__PURE__ */ jsx183(
45442
45819
  "div",
45443
45820
  {
45444
45821
  "data-slot": "item-actions",
@@ -45448,7 +45825,7 @@ function ItemActions({ className, ...props }) {
45448
45825
  );
45449
45826
  }
45450
45827
  function ItemHeader({ className, ...props }) {
45451
- return /* @__PURE__ */ jsx182(
45828
+ return /* @__PURE__ */ jsx183(
45452
45829
  "div",
45453
45830
  {
45454
45831
  "data-slot": "item-header",
@@ -45461,7 +45838,7 @@ function ItemHeader({ className, ...props }) {
45461
45838
  );
45462
45839
  }
45463
45840
  function ItemFooter({ className, ...props }) {
45464
- return /* @__PURE__ */ jsx182(
45841
+ return /* @__PURE__ */ jsx183(
45465
45842
  "div",
45466
45843
  {
45467
45844
  "data-slot": "item-footer",
@@ -45475,9 +45852,9 @@ function ItemFooter({ className, ...props }) {
45475
45852
  }
45476
45853
 
45477
45854
  // src/components/ui/kbd.tsx
45478
- import { jsx as jsx183 } from "react/jsx-runtime";
45855
+ import { jsx as jsx184 } from "react/jsx-runtime";
45479
45856
  function Kbd({ className, ...props }) {
45480
- return /* @__PURE__ */ jsx183(
45857
+ return /* @__PURE__ */ jsx184(
45481
45858
  "kbd",
45482
45859
  {
45483
45860
  "data-slot": "kbd",
@@ -45492,7 +45869,7 @@ function Kbd({ className, ...props }) {
45492
45869
  );
45493
45870
  }
45494
45871
  function KbdGroup({ className, ...props }) {
45495
- return /* @__PURE__ */ jsx183(
45872
+ return /* @__PURE__ */ jsx184(
45496
45873
  "kbd",
45497
45874
  {
45498
45875
  "data-slot": "kbd-group",
@@ -45503,16 +45880,16 @@ function KbdGroup({ className, ...props }) {
45503
45880
  }
45504
45881
 
45505
45882
  // src/components/ui/sidebar.tsx
45506
- import * as React115 from "react";
45883
+ import * as React116 from "react";
45507
45884
  import { Slot as Slot6 } from "@radix-ui/react-slot";
45508
45885
  import { cva as cva13 } from "class-variance-authority";
45509
45886
 
45510
45887
  // src/hooks/use-mobile.tsx
45511
- import * as React114 from "react";
45888
+ import * as React115 from "react";
45512
45889
  var MOBILE_BREAKPOINT = 768;
45513
45890
  function useIsMobile() {
45514
- const [isMobile, setIsMobile] = React114.useState(void 0);
45515
- React114.useEffect(() => {
45891
+ const [isMobile, setIsMobile] = React115.useState(void 0);
45892
+ React115.useEffect(() => {
45516
45893
  const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
45517
45894
  const onChange = () => {
45518
45895
  setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
@@ -45525,22 +45902,22 @@ function useIsMobile() {
45525
45902
  }
45526
45903
 
45527
45904
  // src/components/ui/sidebar.tsx
45528
- import { jsx as jsx184, jsxs as jsxs138 } from "react/jsx-runtime";
45905
+ import { jsx as jsx185, jsxs as jsxs139 } from "react/jsx-runtime";
45529
45906
  var SIDEBAR_COOKIE_NAME = "sidebar_state";
45530
45907
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
45531
45908
  var SIDEBAR_WIDTH = "16rem";
45532
45909
  var SIDEBAR_WIDTH_MOBILE = "18rem";
45533
45910
  var SIDEBAR_WIDTH_ICON = "3rem";
45534
45911
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
45535
- var SidebarContext = React115.createContext(null);
45912
+ var SidebarContext = React116.createContext(null);
45536
45913
  function useSidebar() {
45537
- const context = React115.useContext(SidebarContext);
45914
+ const context = React116.useContext(SidebarContext);
45538
45915
  if (!context) {
45539
45916
  throw new Error("useSidebar must be used within a SidebarProvider.");
45540
45917
  }
45541
45918
  return context;
45542
45919
  }
45543
- var SidebarProvider = React115.forwardRef(
45920
+ var SidebarProvider = React116.forwardRef(
45544
45921
  ({
45545
45922
  defaultOpen = true,
45546
45923
  open: openProp,
@@ -45551,10 +45928,10 @@ var SidebarProvider = React115.forwardRef(
45551
45928
  ...props
45552
45929
  }, ref) => {
45553
45930
  const isMobile = useIsMobile();
45554
- const [openMobile, setOpenMobile] = React115.useState(false);
45555
- const [_open, _setOpen] = React115.useState(defaultOpen);
45931
+ const [openMobile, setOpenMobile] = React116.useState(false);
45932
+ const [_open, _setOpen] = React116.useState(defaultOpen);
45556
45933
  const open = openProp ?? _open;
45557
- const setOpen = React115.useCallback(
45934
+ const setOpen = React116.useCallback(
45558
45935
  (value) => {
45559
45936
  const openState = typeof value === "function" ? value(open) : value;
45560
45937
  if (setOpenProp) {
@@ -45566,10 +45943,10 @@ var SidebarProvider = React115.forwardRef(
45566
45943
  },
45567
45944
  [setOpenProp, open]
45568
45945
  );
45569
- const toggleSidebar = React115.useCallback(() => {
45946
+ const toggleSidebar = React116.useCallback(() => {
45570
45947
  return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
45571
45948
  }, [isMobile, setOpen, setOpenMobile]);
45572
- React115.useEffect(() => {
45949
+ React116.useEffect(() => {
45573
45950
  const handleKeyDown = (event) => {
45574
45951
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
45575
45952
  event.preventDefault();
@@ -45580,7 +45957,7 @@ var SidebarProvider = React115.forwardRef(
45580
45957
  return () => window.removeEventListener("keydown", handleKeyDown);
45581
45958
  }, [toggleSidebar]);
45582
45959
  const state = open ? "expanded" : "collapsed";
45583
- const contextValue = React115.useMemo(
45960
+ const contextValue = React116.useMemo(
45584
45961
  () => ({
45585
45962
  state,
45586
45963
  open,
@@ -45592,7 +45969,7 @@ var SidebarProvider = React115.forwardRef(
45592
45969
  }),
45593
45970
  [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
45594
45971
  );
45595
- return /* @__PURE__ */ jsx184(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx184(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx184(
45972
+ return /* @__PURE__ */ jsx185(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx185(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx185(
45596
45973
  "div",
45597
45974
  {
45598
45975
  style: {
@@ -45612,7 +45989,7 @@ var SidebarProvider = React115.forwardRef(
45612
45989
  }
45613
45990
  );
45614
45991
  SidebarProvider.displayName = "SidebarProvider";
45615
- var Sidebar = React115.forwardRef(
45992
+ var Sidebar = React116.forwardRef(
45616
45993
  ({
45617
45994
  side = "left",
45618
45995
  variant = "sidebar",
@@ -45623,7 +46000,7 @@ var Sidebar = React115.forwardRef(
45623
46000
  }, ref) => {
45624
46001
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
45625
46002
  if (collapsible === "none") {
45626
- return /* @__PURE__ */ jsx184(
46003
+ return /* @__PURE__ */ jsx185(
45627
46004
  "div",
45628
46005
  {
45629
46006
  className: cn(
@@ -45637,7 +46014,7 @@ var Sidebar = React115.forwardRef(
45637
46014
  );
45638
46015
  }
45639
46016
  if (isMobile) {
45640
- return /* @__PURE__ */ jsx184(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs138(
46017
+ return /* @__PURE__ */ jsx185(Sheet2, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs139(
45641
46018
  SheetContent,
45642
46019
  {
45643
46020
  "data-sidebar": "sidebar",
@@ -45648,16 +46025,16 @@ var Sidebar = React115.forwardRef(
45648
46025
  },
45649
46026
  side,
45650
46027
  children: [
45651
- /* @__PURE__ */ jsxs138(SheetHeader, { className: "sr-only", children: [
45652
- /* @__PURE__ */ jsx184(SheetTitle, { children: "Sidebar" }),
45653
- /* @__PURE__ */ jsx184(SheetDescription, { children: "Displays the mobile sidebar." })
46028
+ /* @__PURE__ */ jsxs139(SheetHeader, { className: "sr-only", children: [
46029
+ /* @__PURE__ */ jsx185(SheetTitle, { children: "Sidebar" }),
46030
+ /* @__PURE__ */ jsx185(SheetDescription, { children: "Displays the mobile sidebar." })
45654
46031
  ] }),
45655
- /* @__PURE__ */ jsx184("div", { className: "flex h-full w-full flex-col", children })
46032
+ /* @__PURE__ */ jsx185("div", { className: "flex h-full w-full flex-col", children })
45656
46033
  ]
45657
46034
  }
45658
46035
  ) });
45659
46036
  }
45660
- return /* @__PURE__ */ jsxs138(
46037
+ return /* @__PURE__ */ jsxs139(
45661
46038
  "div",
45662
46039
  {
45663
46040
  ref,
@@ -45667,7 +46044,7 @@ var Sidebar = React115.forwardRef(
45667
46044
  "data-variant": variant,
45668
46045
  "data-side": side,
45669
46046
  children: [
45670
- /* @__PURE__ */ jsx184(
46047
+ /* @__PURE__ */ jsx185(
45671
46048
  "div",
45672
46049
  {
45673
46050
  className: cn(
@@ -45678,7 +46055,7 @@ var Sidebar = React115.forwardRef(
45678
46055
  )
45679
46056
  }
45680
46057
  ),
45681
- /* @__PURE__ */ jsx184(
46058
+ /* @__PURE__ */ jsx185(
45682
46059
  "div",
45683
46060
  {
45684
46061
  className: cn(
@@ -45689,7 +46066,7 @@ var Sidebar = React115.forwardRef(
45689
46066
  className
45690
46067
  ),
45691
46068
  ...props,
45692
- children: /* @__PURE__ */ jsx184(
46069
+ children: /* @__PURE__ */ jsx185(
45693
46070
  "div",
45694
46071
  {
45695
46072
  "data-sidebar": "sidebar",
@@ -45705,9 +46082,9 @@ var Sidebar = React115.forwardRef(
45705
46082
  }
45706
46083
  );
45707
46084
  Sidebar.displayName = "Sidebar";
45708
- var SidebarTrigger = React115.forwardRef(({ className, onClick, ...props }, ref) => {
46085
+ var SidebarTrigger = React116.forwardRef(({ className, onClick, ...props }, ref) => {
45709
46086
  const { toggleSidebar } = useSidebar();
45710
- return /* @__PURE__ */ jsxs138(
46087
+ return /* @__PURE__ */ jsxs139(
45711
46088
  Button,
45712
46089
  {
45713
46090
  ref,
@@ -45721,16 +46098,16 @@ var SidebarTrigger = React115.forwardRef(({ className, onClick, ...props }, ref)
45721
46098
  },
45722
46099
  ...props,
45723
46100
  children: [
45724
- /* @__PURE__ */ jsx184(PanelLeft, {}),
45725
- /* @__PURE__ */ jsx184("span", { className: "sr-only", children: "Toggle Sidebar" })
46101
+ /* @__PURE__ */ jsx185(PanelLeft, {}),
46102
+ /* @__PURE__ */ jsx185("span", { className: "sr-only", children: "Toggle Sidebar" })
45726
46103
  ]
45727
46104
  }
45728
46105
  );
45729
46106
  });
45730
46107
  SidebarTrigger.displayName = "SidebarTrigger";
45731
- var SidebarRail = React115.forwardRef(({ className, ...props }, ref) => {
46108
+ var SidebarRail = React116.forwardRef(({ className, ...props }, ref) => {
45732
46109
  const { toggleSidebar } = useSidebar();
45733
- return /* @__PURE__ */ jsx184(
46110
+ return /* @__PURE__ */ jsx185(
45734
46111
  "button",
45735
46112
  {
45736
46113
  ref,
@@ -45753,8 +46130,8 @@ var SidebarRail = React115.forwardRef(({ className, ...props }, ref) => {
45753
46130
  );
45754
46131
  });
45755
46132
  SidebarRail.displayName = "SidebarRail";
45756
- var SidebarInset = React115.forwardRef(({ className, ...props }, ref) => {
45757
- return /* @__PURE__ */ jsx184(
46133
+ var SidebarInset = React116.forwardRef(({ className, ...props }, ref) => {
46134
+ return /* @__PURE__ */ jsx185(
45758
46135
  "main",
45759
46136
  {
45760
46137
  ref,
@@ -45768,8 +46145,8 @@ var SidebarInset = React115.forwardRef(({ className, ...props }, ref) => {
45768
46145
  );
45769
46146
  });
45770
46147
  SidebarInset.displayName = "SidebarInset";
45771
- var SidebarInput = React115.forwardRef(({ className, ...props }, ref) => {
45772
- return /* @__PURE__ */ jsx184(
46148
+ var SidebarInput = React116.forwardRef(({ className, ...props }, ref) => {
46149
+ return /* @__PURE__ */ jsx185(
45773
46150
  Input,
45774
46151
  {
45775
46152
  ref,
@@ -45783,8 +46160,8 @@ var SidebarInput = React115.forwardRef(({ className, ...props }, ref) => {
45783
46160
  );
45784
46161
  });
45785
46162
  SidebarInput.displayName = "SidebarInput";
45786
- var SidebarHeader = React115.forwardRef(({ className, ...props }, ref) => {
45787
- return /* @__PURE__ */ jsx184(
46163
+ var SidebarHeader = React116.forwardRef(({ className, ...props }, ref) => {
46164
+ return /* @__PURE__ */ jsx185(
45788
46165
  "div",
45789
46166
  {
45790
46167
  ref,
@@ -45795,8 +46172,8 @@ var SidebarHeader = React115.forwardRef(({ className, ...props }, ref) => {
45795
46172
  );
45796
46173
  });
45797
46174
  SidebarHeader.displayName = "SidebarHeader";
45798
- var SidebarFooter = React115.forwardRef(({ className, ...props }, ref) => {
45799
- return /* @__PURE__ */ jsx184(
46175
+ var SidebarFooter = React116.forwardRef(({ className, ...props }, ref) => {
46176
+ return /* @__PURE__ */ jsx185(
45800
46177
  "div",
45801
46178
  {
45802
46179
  ref,
@@ -45807,8 +46184,8 @@ var SidebarFooter = React115.forwardRef(({ className, ...props }, ref) => {
45807
46184
  );
45808
46185
  });
45809
46186
  SidebarFooter.displayName = "SidebarFooter";
45810
- var SidebarSeparator = React115.forwardRef(({ className, ...props }, ref) => {
45811
- return /* @__PURE__ */ jsx184(
46187
+ var SidebarSeparator = React116.forwardRef(({ className, ...props }, ref) => {
46188
+ return /* @__PURE__ */ jsx185(
45812
46189
  Separator2,
45813
46190
  {
45814
46191
  ref,
@@ -45819,8 +46196,8 @@ var SidebarSeparator = React115.forwardRef(({ className, ...props }, ref) => {
45819
46196
  );
45820
46197
  });
45821
46198
  SidebarSeparator.displayName = "SidebarSeparator";
45822
- var SidebarContent = React115.forwardRef(({ className, ...props }, ref) => {
45823
- return /* @__PURE__ */ jsx184(
46199
+ var SidebarContent = React116.forwardRef(({ className, ...props }, ref) => {
46200
+ return /* @__PURE__ */ jsx185(
45824
46201
  "div",
45825
46202
  {
45826
46203
  ref,
@@ -45834,8 +46211,8 @@ var SidebarContent = React115.forwardRef(({ className, ...props }, ref) => {
45834
46211
  );
45835
46212
  });
45836
46213
  SidebarContent.displayName = "SidebarContent";
45837
- var SidebarGroup = React115.forwardRef(({ className, ...props }, ref) => {
45838
- return /* @__PURE__ */ jsx184(
46214
+ var SidebarGroup = React116.forwardRef(({ className, ...props }, ref) => {
46215
+ return /* @__PURE__ */ jsx185(
45839
46216
  "div",
45840
46217
  {
45841
46218
  ref,
@@ -45846,9 +46223,9 @@ var SidebarGroup = React115.forwardRef(({ className, ...props }, ref) => {
45846
46223
  );
45847
46224
  });
45848
46225
  SidebarGroup.displayName = "SidebarGroup";
45849
- var SidebarGroupLabel = React115.forwardRef(({ className, asChild = false, ...props }, ref) => {
46226
+ var SidebarGroupLabel = React116.forwardRef(({ className, asChild = false, ...props }, ref) => {
45850
46227
  const Comp = asChild ? Slot6 : "div";
45851
- return /* @__PURE__ */ jsx184(
46228
+ return /* @__PURE__ */ jsx185(
45852
46229
  Comp,
45853
46230
  {
45854
46231
  ref,
@@ -45863,9 +46240,9 @@ var SidebarGroupLabel = React115.forwardRef(({ className, asChild = false, ...pr
45863
46240
  );
45864
46241
  });
45865
46242
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
45866
- var SidebarGroupAction = React115.forwardRef(({ className, asChild = false, ...props }, ref) => {
46243
+ var SidebarGroupAction = React116.forwardRef(({ className, asChild = false, ...props }, ref) => {
45867
46244
  const Comp = asChild ? Slot6 : "button";
45868
- return /* @__PURE__ */ jsx184(
46245
+ return /* @__PURE__ */ jsx185(
45869
46246
  Comp,
45870
46247
  {
45871
46248
  ref,
@@ -45882,7 +46259,7 @@ var SidebarGroupAction = React115.forwardRef(({ className, asChild = false, ...p
45882
46259
  );
45883
46260
  });
45884
46261
  SidebarGroupAction.displayName = "SidebarGroupAction";
45885
- var SidebarGroupContent = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
46262
+ var SidebarGroupContent = React116.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx185(
45886
46263
  "div",
45887
46264
  {
45888
46265
  ref,
@@ -45892,7 +46269,7 @@ var SidebarGroupContent = React115.forwardRef(({ className, ...props }, ref) =>
45892
46269
  }
45893
46270
  ));
45894
46271
  SidebarGroupContent.displayName = "SidebarGroupContent";
45895
- var SidebarMenu = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
46272
+ var SidebarMenu = React116.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx185(
45896
46273
  "ul",
45897
46274
  {
45898
46275
  ref,
@@ -45902,7 +46279,7 @@ var SidebarMenu = React115.forwardRef(({ className, ...props }, ref) => /* @__PU
45902
46279
  }
45903
46280
  ));
45904
46281
  SidebarMenu.displayName = "SidebarMenu";
45905
- var SidebarMenuItem = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
46282
+ var SidebarMenuItem = React116.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx185(
45906
46283
  "li",
45907
46284
  {
45908
46285
  ref,
@@ -45932,7 +46309,7 @@ var sidebarMenuButtonVariants = cva13(
45932
46309
  }
45933
46310
  }
45934
46311
  );
45935
- var SidebarMenuButton = React115.forwardRef(
46312
+ var SidebarMenuButton = React116.forwardRef(
45936
46313
  ({
45937
46314
  asChild = false,
45938
46315
  isActive = false,
@@ -45944,7 +46321,7 @@ var SidebarMenuButton = React115.forwardRef(
45944
46321
  }, ref) => {
45945
46322
  const Comp = asChild ? Slot6 : "button";
45946
46323
  const { isMobile, state } = useSidebar();
45947
- const button = /* @__PURE__ */ jsx184(
46324
+ const button = /* @__PURE__ */ jsx185(
45948
46325
  Comp,
45949
46326
  {
45950
46327
  ref,
@@ -45963,9 +46340,9 @@ var SidebarMenuButton = React115.forwardRef(
45963
46340
  children: tooltip
45964
46341
  };
45965
46342
  }
45966
- return /* @__PURE__ */ jsxs138(Tooltip, { children: [
45967
- /* @__PURE__ */ jsx184(TooltipTrigger, { asChild: true, children: button }),
45968
- /* @__PURE__ */ jsx184(
46343
+ return /* @__PURE__ */ jsxs139(Tooltip, { children: [
46344
+ /* @__PURE__ */ jsx185(TooltipTrigger, { asChild: true, children: button }),
46345
+ /* @__PURE__ */ jsx185(
45969
46346
  TooltipContent,
45970
46347
  {
45971
46348
  side: "right",
@@ -45978,9 +46355,9 @@ var SidebarMenuButton = React115.forwardRef(
45978
46355
  }
45979
46356
  );
45980
46357
  SidebarMenuButton.displayName = "SidebarMenuButton";
45981
- var SidebarMenuAction = React115.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
46358
+ var SidebarMenuAction = React116.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
45982
46359
  const Comp = asChild ? Slot6 : "button";
45983
- return /* @__PURE__ */ jsx184(
46360
+ return /* @__PURE__ */ jsx185(
45984
46361
  Comp,
45985
46362
  {
45986
46363
  ref,
@@ -46001,7 +46378,7 @@ var SidebarMenuAction = React115.forwardRef(({ className, asChild = false, showO
46001
46378
  );
46002
46379
  });
46003
46380
  SidebarMenuAction.displayName = "SidebarMenuAction";
46004
- var SidebarMenuBadge = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
46381
+ var SidebarMenuBadge = React116.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx185(
46005
46382
  "div",
46006
46383
  {
46007
46384
  ref,
@@ -46019,11 +46396,11 @@ var SidebarMenuBadge = React115.forwardRef(({ className, ...props }, ref) => /*
46019
46396
  }
46020
46397
  ));
46021
46398
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
46022
- var SidebarMenuSkeleton = React115.forwardRef(({ className, showIcon = false, ...props }, ref) => {
46023
- const width = React115.useMemo(() => {
46399
+ var SidebarMenuSkeleton = React116.forwardRef(({ className, showIcon = false, ...props }, ref) => {
46400
+ const width = React116.useMemo(() => {
46024
46401
  return `${Math.floor(Math.random() * 40) + 50}%`;
46025
46402
  }, []);
46026
- return /* @__PURE__ */ jsxs138(
46403
+ return /* @__PURE__ */ jsxs139(
46027
46404
  "div",
46028
46405
  {
46029
46406
  ref,
@@ -46031,14 +46408,14 @@ var SidebarMenuSkeleton = React115.forwardRef(({ className, showIcon = false, ..
46031
46408
  className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
46032
46409
  ...props,
46033
46410
  children: [
46034
- showIcon && /* @__PURE__ */ jsx184(
46411
+ showIcon && /* @__PURE__ */ jsx185(
46035
46412
  Skeleton,
46036
46413
  {
46037
46414
  className: "size-4 rounded-md",
46038
46415
  "data-sidebar": "menu-skeleton-icon"
46039
46416
  }
46040
46417
  ),
46041
- /* @__PURE__ */ jsx184(
46418
+ /* @__PURE__ */ jsx185(
46042
46419
  Skeleton,
46043
46420
  {
46044
46421
  className: "h-4 max-w-[--skeleton-width] flex-1",
@@ -46053,7 +46430,7 @@ var SidebarMenuSkeleton = React115.forwardRef(({ className, showIcon = false, ..
46053
46430
  );
46054
46431
  });
46055
46432
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
46056
- var SidebarMenuSub = React115.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx184(
46433
+ var SidebarMenuSub = React116.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx185(
46057
46434
  "ul",
46058
46435
  {
46059
46436
  ref,
@@ -46067,11 +46444,11 @@ var SidebarMenuSub = React115.forwardRef(({ className, ...props }, ref) => /* @_
46067
46444
  }
46068
46445
  ));
46069
46446
  SidebarMenuSub.displayName = "SidebarMenuSub";
46070
- var SidebarMenuSubItem = React115.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx184("li", { ref, ...props }));
46447
+ var SidebarMenuSubItem = React116.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx185("li", { ref, ...props }));
46071
46448
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
46072
- var SidebarMenuSubButton = React115.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
46449
+ var SidebarMenuSubButton = React116.forwardRef(({ asChild = false, size = "md", isActive, className, ...props }, ref) => {
46073
46450
  const Comp = asChild ? Slot6 : "a";
46074
- return /* @__PURE__ */ jsx184(
46451
+ return /* @__PURE__ */ jsx185(
46075
46452
  Comp,
46076
46453
  {
46077
46454
  ref,
@@ -46095,20 +46472,20 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
46095
46472
  // src/components/ui/sonner.tsx
46096
46473
  import { useTheme } from "next-themes";
46097
46474
  import { Toaster as Sonner } from "sonner";
46098
- import { jsx as jsx185 } from "react/jsx-runtime";
46475
+ import { jsx as jsx186 } from "react/jsx-runtime";
46099
46476
  var Toaster = ({ ...props }) => {
46100
46477
  const { theme = "system" } = useTheme();
46101
- return /* @__PURE__ */ jsx185(
46478
+ return /* @__PURE__ */ jsx186(
46102
46479
  Sonner,
46103
46480
  {
46104
46481
  theme,
46105
46482
  className: "toaster group",
46106
46483
  icons: {
46107
- success: /* @__PURE__ */ jsx185(CircleCheck, { className: "h-4 w-4" }),
46108
- info: /* @__PURE__ */ jsx185(Info, { className: "h-4 w-4" }),
46109
- warning: /* @__PURE__ */ jsx185(TriangleAlert, { className: "h-4 w-4" }),
46110
- error: /* @__PURE__ */ jsx185(OctagonX, { className: "h-4 w-4" }),
46111
- loading: /* @__PURE__ */ jsx185(LoaderCircle, { className: "h-4 w-4 animate-spin" })
46484
+ success: /* @__PURE__ */ jsx186(CircleCheck, { className: "h-4 w-4" }),
46485
+ info: /* @__PURE__ */ jsx186(Info, { className: "h-4 w-4" }),
46486
+ warning: /* @__PURE__ */ jsx186(TriangleAlert, { className: "h-4 w-4" }),
46487
+ error: /* @__PURE__ */ jsx186(OctagonX, { className: "h-4 w-4" }),
46488
+ loading: /* @__PURE__ */ jsx186(LoaderCircle, { className: "h-4 w-4 animate-spin" })
46112
46489
  },
46113
46490
  toastOptions: {
46114
46491
  classNames: {
@@ -46124,26 +46501,26 @@ var Toaster = ({ ...props }) => {
46124
46501
  };
46125
46502
 
46126
46503
  // src/components/ui/toggle-group.tsx
46127
- import * as React116 from "react";
46504
+ import * as React117 from "react";
46128
46505
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
46129
- import { jsx as jsx186 } from "react/jsx-runtime";
46130
- var ToggleGroupContext = React116.createContext({
46506
+ import { jsx as jsx187 } from "react/jsx-runtime";
46507
+ var ToggleGroupContext = React117.createContext({
46131
46508
  size: "default",
46132
46509
  variant: "default"
46133
46510
  });
46134
- var ToggleGroup = React116.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx186(
46511
+ var ToggleGroup = React117.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx187(
46135
46512
  ToggleGroupPrimitive.Root,
46136
46513
  {
46137
46514
  ref,
46138
46515
  className: cn("flex items-center justify-center gap-1", className),
46139
46516
  ...props,
46140
- children: /* @__PURE__ */ jsx186(ToggleGroupContext.Provider, { value: { variant, size }, children })
46517
+ children: /* @__PURE__ */ jsx187(ToggleGroupContext.Provider, { value: { variant, size }, children })
46141
46518
  }
46142
46519
  ));
46143
46520
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
46144
- var ToggleGroupItem = React116.forwardRef(({ className, children, variant, size, ...props }, ref) => {
46145
- const context = React116.useContext(ToggleGroupContext);
46146
- return /* @__PURE__ */ jsx186(
46521
+ var ToggleGroupItem = React117.forwardRef(({ className, children, variant, size, ...props }, ref) => {
46522
+ const context = React117.useContext(ToggleGroupContext);
46523
+ return /* @__PURE__ */ jsx187(
46147
46524
  ToggleGroupPrimitive.Item,
46148
46525
  {
46149
46526
  ref,
@@ -46162,7 +46539,7 @@ var ToggleGroupItem = React116.forwardRef(({ className, children, variant, size,
46162
46539
  ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
46163
46540
 
46164
46541
  // src/render/PXEngineRenderer.tsx
46165
- import { jsx as jsx187, jsxs as jsxs139 } from "react/jsx-runtime";
46542
+ import { jsx as jsx188, jsxs as jsxs140 } from "react/jsx-runtime";
46166
46543
  var MOLECULE_REFS = new Set(Object.values(molecules_exports));
46167
46544
  var CONTEXT_DEPENDENT_COMPONENTS = /* @__PURE__ */ new Set([
46168
46545
  // Form components - require FormField + FormItem context
@@ -46268,24 +46645,24 @@ var REGISTERED_COMPONENTS = /* @__PURE__ */ new Set([
46268
46645
  ]);
46269
46646
  var renderContextDependentError = (componentName, normalizedName, key) => {
46270
46647
  const suggestion = COMPONENT_SUGGESTIONS[normalizedName] || `${componentName}Atom (if available)`;
46271
- return /* @__PURE__ */ jsxs139(
46648
+ return /* @__PURE__ */ jsxs140(
46272
46649
  "div",
46273
46650
  {
46274
46651
  className: "p-4 border-2 border-amber-500/50 rounded-lg bg-amber-50/80 space-y-2 my-2",
46275
46652
  children: [
46276
- /* @__PURE__ */ jsxs139("div", { className: "flex items-start gap-2", children: [
46277
- /* @__PURE__ */ jsx187("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
46278
- /* @__PURE__ */ jsxs139("div", { className: "flex-1", children: [
46279
- /* @__PURE__ */ jsxs139("p", { className: "text-sm font-semibold text-amber-900", children: [
46653
+ /* @__PURE__ */ jsxs140("div", { className: "flex items-start gap-2", children: [
46654
+ /* @__PURE__ */ jsx188("span", { className: "text-amber-600 font-bold text-lg", children: "\u26A0\uFE0F" }),
46655
+ /* @__PURE__ */ jsxs140("div", { className: "flex-1", children: [
46656
+ /* @__PURE__ */ jsxs140("p", { className: "text-sm font-semibold text-amber-900", children: [
46280
46657
  "Invalid Component: ",
46281
46658
  componentName
46282
46659
  ] }),
46283
- /* @__PURE__ */ jsx187("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
46660
+ /* @__PURE__ */ jsx188("p", { className: "text-xs text-amber-700 mt-1", children: "This component requires React Context and cannot be rendered directly in schemas." })
46284
46661
  ] })
46285
46662
  ] }),
46286
- /* @__PURE__ */ jsxs139("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
46287
- /* @__PURE__ */ jsx187("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
46288
- /* @__PURE__ */ jsx187("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
46663
+ /* @__PURE__ */ jsxs140("div", { className: "bg-white/60 p-3 rounded border border-amber-200", children: [
46664
+ /* @__PURE__ */ jsx188("p", { className: "text-xs font-semibold text-gray-700 mb-1.5", children: "\u2713 Use instead:" }),
46665
+ /* @__PURE__ */ jsx188("code", { className: "text-xs text-blue-700 bg-blue-50 px-2 py-1 rounded", children: suggestion })
46289
46666
  ] })
46290
46667
  ]
46291
46668
  },
@@ -46354,24 +46731,48 @@ var normalizeProps = (props) => {
46354
46731
  });
46355
46732
  return { normalized, dynamicStyle };
46356
46733
  };
46734
+ var FORM_INPUT_ATOM_NAMES = /* @__PURE__ */ new Set([
46735
+ "InputAtom",
46736
+ "TextareaAtom",
46737
+ "SelectAtom",
46738
+ "SliderAtom",
46739
+ "CheckboxAtom",
46740
+ "SwitchAtom",
46741
+ "RadioAtom",
46742
+ "RadioGroupAtom",
46743
+ "FormInputAtom",
46744
+ "FormSelectAtom",
46745
+ "FormTextareaAtom",
46746
+ "RatingAtom",
46747
+ "CalendarAtom",
46748
+ "InputOTPAtom",
46749
+ "ToggleAtom"
46750
+ ]);
46357
46751
  var PXEngineRenderer = ({
46358
46752
  schema,
46359
46753
  onAction,
46360
46754
  disabled,
46361
- theme
46755
+ theme,
46756
+ onFormSubmit
46362
46757
  }) => {
46363
- const contextTheme = React117.useContext(WidgetThemeContext);
46758
+ const contextTheme = React118.useContext(WidgetThemeContext);
46364
46759
  const effectiveTheme = theme ?? contextTheme;
46760
+ const formValuesRef = React118.useRef({});
46761
+ const [, forceUpdate] = React118.useReducer((x) => x + 1, 0);
46762
+ const handleInputValueChange = React118.useCallback((key, value) => {
46763
+ formValuesRef.current[key] = value;
46764
+ forceUpdate();
46765
+ }, []);
46365
46766
  if (!schema) return null;
46366
46767
  const root = schema.root || schema;
46367
46768
  const renderRecursive = (component, index) => {
46368
46769
  if (Array.isArray(component)) {
46369
- return /* @__PURE__ */ jsx187(React117.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
46770
+ return /* @__PURE__ */ jsx188(React118.Fragment, { children: component.map((child, idx) => renderRecursive(child, idx)) }, index !== void 0 ? `array-${index}` : "array-root");
46370
46771
  }
46371
46772
  if (typeof component === "string" || typeof component === "number") {
46372
46773
  return component;
46373
46774
  }
46374
- if (React117.isValidElement(component)) {
46775
+ if (React118.isValidElement(component)) {
46375
46776
  return component;
46376
46777
  }
46377
46778
  if (!component || typeof component !== "object") return null;
@@ -46393,12 +46794,43 @@ var PXEngineRenderer = ({
46393
46794
  if (disabled !== void 0 && rawProps.disabled === void 0) {
46394
46795
  rawProps.disabled = disabled;
46395
46796
  }
46797
+ const normalizedName = componentName.charAt(0).toUpperCase() + componentName.slice(1);
46798
+ const earlyAtomName = normalizedName.endsWith("Atom") ? normalizedName : `${normalizedName}Atom`;
46799
+ if (onFormSubmit && FORM_INPUT_ATOM_NAMES.has(earlyAtomName)) {
46800
+ const fieldKey = rawProps.fieldKey || rawProps.id || id || rawProps.label || componentName;
46801
+ const storedValue = formValuesRef.current[fieldKey];
46802
+ if (storedValue !== void 0) {
46803
+ rawProps.defaultValue = storedValue;
46804
+ }
46805
+ rawProps.onValueChange = handleInputValueChange;
46806
+ rawProps.fieldKey = fieldKey;
46807
+ if (id) rawProps.id = id;
46808
+ }
46809
+ if (onFormSubmit && earlyAtomName === "ButtonAtom") {
46810
+ const action = rawProps.action || rawProps.buttonAction;
46811
+ if (action === "submit") {
46812
+ const originalOnAction = rawProps.onAction;
46813
+ rawProps.onAction = (evt) => {
46814
+ const elements = Object.entries(formValuesRef.current).map(
46815
+ ([key, value]) => ({
46816
+ id: key,
46817
+ atomName: "InputAtom",
46818
+ props: { fieldKey: key, label: key, question: key },
46819
+ value
46820
+ })
46821
+ );
46822
+ const qaText = formatQAMessage(elements);
46823
+ const values = { ...formValuesRef.current };
46824
+ onFormSubmit(qaText, values);
46825
+ if (originalOnAction) originalOnAction(evt);
46826
+ };
46827
+ }
46828
+ }
46396
46829
  const { normalized: finalProps, dynamicStyle } = normalizeProps(rawProps);
46397
46830
  if (id && !finalProps.id) {
46398
46831
  finalProps.id = id;
46399
46832
  }
46400
46833
  const uniqueKey = id || (index !== void 0 ? `${componentName}-${index}` : `${componentName}-root`);
46401
- const normalizedName = componentName.charAt(0).toUpperCase() + componentName.slice(1);
46402
46834
  const resolveComponent = (identifier) => {
46403
46835
  const normalized = identifier.split(/[-_]/).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
46404
46836
  const atomName2 = normalized.endsWith("Atom") ? normalized : `${normalized}Atom`;
@@ -46455,32 +46887,34 @@ var PXEngineRenderer = ({
46455
46887
  finalProps.theme = effectiveTheme;
46456
46888
  }
46457
46889
  const finalStyle = { ...dynamicStyle, ...finalProps.style || {} };
46890
+ const effectiveOnAction = finalProps.onAction ?? onAction;
46891
+ delete finalProps.onAction;
46458
46892
  if (isAtomWithRenderProp) {
46459
- return /* @__PURE__ */ jsx187(
46893
+ return /* @__PURE__ */ jsx188(
46460
46894
  TargetComponent,
46461
46895
  {
46462
46896
  ...finalProps,
46463
46897
  style: finalStyle,
46464
- onAction,
46898
+ onAction: effectiveOnAction,
46465
46899
  renderComponent: renderRecursive,
46466
46900
  children
46467
46901
  },
46468
46902
  uniqueKey
46469
46903
  );
46470
46904
  } else {
46471
- return /* @__PURE__ */ jsx187(
46905
+ return /* @__PURE__ */ jsx188(
46472
46906
  TargetComponent,
46473
46907
  {
46474
46908
  ...finalProps,
46475
46909
  style: finalStyle,
46476
- onAction,
46910
+ onAction: effectiveOnAction,
46477
46911
  children: Array.isArray(children) ? children.map((child, idx) => renderRecursive(child, idx)) : children
46478
46912
  },
46479
46913
  uniqueKey
46480
46914
  );
46481
46915
  }
46482
46916
  };
46483
- return /* @__PURE__ */ jsx187(WidgetThemeContext.Provider, { value: effectiveTheme, children: /* @__PURE__ */ jsx187("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) }) });
46917
+ return /* @__PURE__ */ jsx188(WidgetThemeContext.Provider, { value: effectiveTheme, children: /* @__PURE__ */ jsx188("div", { className: "px-engine-root relative w-full h-full", children: renderRecursive(root) }) });
46484
46918
  };
46485
46919
  export {
46486
46920
  Accordion,
@@ -46504,6 +46938,7 @@ export {
46504
46938
  AlertDialogTitle,
46505
46939
  AlertDialogTrigger,
46506
46940
  AlertTitle,
46941
+ AnalyticsChart,
46507
46942
  ApprovalCard,
46508
46943
  ArrowToggleAtom,
46509
46944
  AspectRatio,