@ai-matrx/design-system 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -32,6 +32,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
32
32
  var src_exports = {};
33
33
  __export(src_exports, {
34
34
  ALL_MOTION_CLASSES: () => ALL_MOTION_CLASSES,
35
+ ARCHIVE_FILTER_LABELS: () => ARCHIVE_FILTER_LABELS,
36
+ ARCHIVE_FILTER_VALUES: () => ARCHIVE_FILTER_VALUES,
35
37
  Accordion: () => Accordion,
36
38
  AccordionContent: () => AccordionContent,
37
39
  AccordionItem: () => AccordionItem,
@@ -51,6 +53,7 @@ __export(src_exports, {
51
53
  AlertDialogTitle: () => AlertDialogTitle,
52
54
  AlertDialogTrigger: () => AlertDialogTrigger,
53
55
  AlertTitle: () => AlertTitle,
56
+ ArchiveFilter: () => ArchiveFilter,
54
57
  Avatar: () => Avatar,
55
58
  AvatarFallback: () => AvatarFallback,
56
59
  AvatarImage: () => AvatarImage,
@@ -101,6 +104,7 @@ __export(src_exports, {
101
104
  ContextMenuSubTrigger: () => ContextMenuSubTrigger,
102
105
  ContextMenuTrigger: () => ContextMenuTrigger,
103
106
  CreatablePicker: () => CreatablePicker,
107
+ DEFAULT_ARCHIVE_FILTER: () => DEFAULT_ARCHIVE_FILTER,
104
108
  DEFAULT_SCORE_THRESHOLDS: () => DEFAULT_SCORE_THRESHOLDS,
105
109
  Dialog: () => Dialog,
106
110
  DialogClose: () => DialogClose,
@@ -232,6 +236,7 @@ __export(src_exports, {
232
236
  scoreRingColorClasses: () => scoreRingColorClasses,
233
237
  selectTriggerVariants: () => selectTriggerVariants,
234
238
  sheetVariants: () => sheetVariants,
239
+ toArchiveFilter: () => toArchiveFilter,
235
240
  toggleVariants: () => toggleVariants,
236
241
  useAccordionSize: () => useAccordionSize,
237
242
  useCardSize: () => useCardSize,
@@ -815,6 +820,7 @@ function BottomSheetFooter({
815
820
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
816
821
  "div",
817
822
  {
823
+ "data-slot": "bottom-sheet-footer",
818
824
  className: cn(
819
825
  "flex-shrink-0 px-4 py-3 pb-safe border-t border-[var(--matrx-sheet-divider)]",
820
826
  className
@@ -3148,11 +3154,60 @@ function SegmentedControl({
3148
3154
  );
3149
3155
  }
3150
3156
 
3157
+ // src/archive-filter.tsx
3158
+ var React24 = __toESM(require("react"), 1);
3159
+ var import_jsx_runtime31 = require("react/jsx-runtime");
3160
+ var ARCHIVE_FILTER_VALUES = ["active", "archived", "all"];
3161
+ var DEFAULT_ARCHIVE_FILTER = "active";
3162
+ var ARCHIVE_FILTER_LABELS = {
3163
+ active: "Active only",
3164
+ archived: "Archived only",
3165
+ all: "Active + archived"
3166
+ };
3167
+ function toArchiveFilter(value, fallback = DEFAULT_ARCHIVE_FILTER) {
3168
+ return ARCHIVE_FILTER_VALUES.includes(value) ? value : fallback;
3169
+ }
3170
+ function ArchiveFilter({
3171
+ value,
3172
+ onValueChange,
3173
+ counts,
3174
+ labels,
3175
+ size = "sm",
3176
+ className,
3177
+ "aria-label": ariaLabel = "Archive filter",
3178
+ disabled = false
3179
+ }) {
3180
+ const data = React24.useMemo(
3181
+ () => ARCHIVE_FILTER_VALUES.map((state) => {
3182
+ const text = labels?.[state] ?? ARCHIVE_FILTER_LABELS[state];
3183
+ const count = counts?.[state];
3184
+ return {
3185
+ value: state,
3186
+ disabled,
3187
+ label: typeof count === "number" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "inline-flex items-center gap-1.5", children: [
3188
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: text }),
3189
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-muted-foreground tabular-nums", children: count })
3190
+ ] }) : text
3191
+ };
3192
+ }),
3193
+ [counts, labels, disabled]
3194
+ );
3195
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { role: "group", "aria-label": ariaLabel, className: cn("inline-flex", className), children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3196
+ SegmentedControl,
3197
+ {
3198
+ value,
3199
+ onValueChange: (next) => onValueChange(toArchiveFilter(next, value)),
3200
+ data,
3201
+ size
3202
+ }
3203
+ ) });
3204
+ }
3205
+
3151
3206
  // src/select.tsx
3152
3207
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
3153
3208
  var import_class_variance_authority4 = require("class-variance-authority");
3154
- var React24 = __toESM(require("react"), 1);
3155
- var import_jsx_runtime31 = require("react/jsx-runtime");
3209
+ var React25 = __toESM(require("react"), 1);
3210
+ var import_jsx_runtime32 = require("react/jsx-runtime");
3156
3211
  var Select = SelectPrimitive.Root;
3157
3212
  var SelectGroup = SelectPrimitive.Group;
3158
3213
  var SelectValue = SelectPrimitive.Value;
@@ -3171,7 +3226,7 @@ var selectTriggerVariants = (0, import_class_variance_authority4.cva)(
3171
3226
  }
3172
3227
  }
3173
3228
  );
3174
- var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3229
+ var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3175
3230
  SelectPrimitive.Trigger,
3176
3231
  {
3177
3232
  ref,
@@ -3179,12 +3234,12 @@ var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false
3179
3234
  ...props,
3180
3235
  children: [
3181
3236
  children,
3182
- !hideArrow && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
3237
+ !hideArrow && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
3183
3238
  ]
3184
3239
  }
3185
3240
  ));
3186
3241
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3187
- var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3242
+ var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3188
3243
  SelectPrimitive.ScrollUpButton,
3189
3244
  {
3190
3245
  ref,
@@ -3193,11 +3248,11 @@ var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) =>
3193
3248
  className
3194
3249
  ),
3195
3250
  ...props,
3196
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronUpIcon, {})
3251
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixChevronUpIcon, {})
3197
3252
  }
3198
3253
  ));
3199
3254
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3200
- var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3255
+ var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3201
3256
  SelectPrimitive.ScrollDownButton,
3202
3257
  {
3203
3258
  ref,
@@ -3206,11 +3261,11 @@ var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) =
3206
3261
  className
3207
3262
  ),
3208
3263
  ...props,
3209
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronDownIcon, {})
3264
+ children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(RadixChevronDownIcon, {})
3210
3265
  }
3211
3266
  ));
3212
3267
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3213
- var SelectContent = React24.forwardRef(
3268
+ var SelectContent = React25.forwardRef(
3214
3269
  ({
3215
3270
  className,
3216
3271
  children,
@@ -3220,7 +3275,7 @@ var SelectContent = React24.forwardRef(
3220
3275
  ...props
3221
3276
  }, ref) => {
3222
3277
  const portalContainer = usePortalContainer(container);
3223
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3278
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3224
3279
  SelectPrimitive.Content,
3225
3280
  {
3226
3281
  ref,
@@ -3238,8 +3293,8 @@ var SelectContent = React24.forwardRef(
3238
3293
  position,
3239
3294
  ...props,
3240
3295
  children: [
3241
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollUpButton, {}),
3242
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3296
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollUpButton, {}),
3297
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3243
3298
  SelectPrimitive.Viewport,
3244
3299
  {
3245
3300
  className: cn(
@@ -3249,14 +3304,14 @@ var SelectContent = React24.forwardRef(
3249
3304
  children
3250
3305
  }
3251
3306
  ),
3252
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollDownButton, {})
3307
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectScrollDownButton, {})
3253
3308
  ]
3254
3309
  }
3255
3310
  ) });
3256
3311
  }
3257
3312
  );
3258
3313
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3259
- var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3314
+ var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3260
3315
  SelectPrimitive.Label,
3261
3316
  {
3262
3317
  ref,
@@ -3265,7 +3320,7 @@ var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PUR
3265
3320
  }
3266
3321
  ));
3267
3322
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3268
- var SelectItem = React24.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3323
+ var SelectItem = React25.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3269
3324
  SelectPrimitive.Item,
3270
3325
  {
3271
3326
  ref,
@@ -3276,14 +3331,14 @@ var SelectItem = React24.forwardRef(({ className, children, description, ...prop
3276
3331
  ),
3277
3332
  ...props,
3278
3333
  children: [
3279
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
3280
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.ItemText, { children }),
3281
- description ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
3334
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
3335
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SelectPrimitive.ItemText, { children }),
3336
+ description ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
3282
3337
  ]
3283
3338
  }
3284
3339
  ));
3285
3340
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3286
- var SelectSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3341
+ var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3287
3342
  SelectPrimitive.Separator,
3288
3343
  {
3289
3344
  ref,
@@ -3295,9 +3350,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
3295
3350
 
3296
3351
  // src/separator.tsx
3297
3352
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
3298
- var React25 = __toESM(require("react"), 1);
3299
- var import_jsx_runtime32 = require("react/jsx-runtime");
3300
- var Separator4 = React25.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3353
+ var React26 = __toESM(require("react"), 1);
3354
+ var import_jsx_runtime33 = require("react/jsx-runtime");
3355
+ var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3301
3356
  SeparatorPrimitive.Root,
3302
3357
  {
3303
3358
  ref,
@@ -3317,11 +3372,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
3317
3372
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
3318
3373
  var import_react_tree4 = require("@ai-matrx/kit/react-tree");
3319
3374
  var import_class_variance_authority5 = require("class-variance-authority");
3320
- var React26 = __toESM(require("react"), 1);
3321
- var import_jsx_runtime33 = require("react/jsx-runtime");
3322
- var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
3375
+ var React27 = __toESM(require("react"), 1);
3376
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3377
+ var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
3323
3378
  const isModal = useRadixDialogModal();
3324
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3379
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3325
3380
  SheetPrimitive.Content,
3326
3381
  {
3327
3382
  ...props,
@@ -3331,15 +3386,15 @@ var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
3331
3386
  );
3332
3387
  });
3333
3388
  SheetContentBase.displayName = "SheetContentBase";
3334
- var Sheet = React26.forwardRef(({ children, ...props }, _ref) => {
3389
+ var Sheet = React27.forwardRef(({ children, ...props }, _ref) => {
3335
3390
  const modal = props.modal ?? true;
3336
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
3391
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
3337
3392
  });
3338
3393
  Sheet.displayName = "Sheet";
3339
3394
  var SheetTrigger = SheetPrimitive.Trigger;
3340
3395
  var SheetClose = SheetPrimitive.Close;
3341
3396
  var SheetPortal = SheetPrimitive.Portal;
3342
- var SheetOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3397
+ var SheetOverlay = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3343
3398
  SheetPrimitive.Overlay,
3344
3399
  {
3345
3400
  className: cn(
@@ -3376,7 +3431,7 @@ var sheetVariants = (0, import_class_variance_authority5.cva)(
3376
3431
  }
3377
3432
  }
3378
3433
  );
3379
- var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3434
+ var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3380
3435
  SheetPrimitive.Description,
3381
3436
  {
3382
3437
  ref,
@@ -3385,7 +3440,7 @@ var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @
3385
3440
  }
3386
3441
  ));
3387
3442
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
3388
- var SheetContent = React26.forwardRef(
3443
+ var SheetContent = React27.forwardRef(
3389
3444
  ({
3390
3445
  side = "right",
3391
3446
  className,
@@ -3397,9 +3452,9 @@ var SheetContent = React26.forwardRef(
3397
3452
  ...props
3398
3453
  }, ref) => {
3399
3454
  const hasDescription = (0, import_react_tree4.treeContainsComponent)(children, SheetDescription) || (0, import_react_tree4.treeContainsComponent)(children, SheetPrimitive.Description);
3400
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SheetPortal, { children: [
3401
- !hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetOverlay, { className: overlayClassName }),
3402
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3455
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(SheetPortal, { children: [
3456
+ !hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(SheetOverlay, { className: overlayClassName }),
3457
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
3403
3458
  SheetContentBase,
3404
3459
  {
3405
3460
  ref,
@@ -3411,9 +3466,9 @@ var SheetContent = React26.forwardRef(
3411
3466
  ...hasDescription ? {} : { "aria-describedby": void 0 },
3412
3467
  ...props,
3413
3468
  children: [
3414
- !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
3415
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Cross2Icon, { className: "h-4 w-4" }),
3416
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "Close" })
3469
+ !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
3470
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Cross2Icon, { className: "h-4 w-4" }),
3471
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "sr-only", children: "Close" })
3417
3472
  ] }),
3418
3473
  children
3419
3474
  ]
@@ -3426,7 +3481,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
3426
3481
  var SheetHeader = ({
3427
3482
  className,
3428
3483
  ...props
3429
- }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3484
+ }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3430
3485
  "div",
3431
3486
  {
3432
3487
  className: cn(
@@ -3440,9 +3495,10 @@ SheetHeader.displayName = "SheetHeader";
3440
3495
  var SheetFooter = ({
3441
3496
  className,
3442
3497
  ...props
3443
- }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3498
+ }) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3444
3499
  "div",
3445
3500
  {
3501
+ "data-slot": "sheet-footer",
3446
3502
  className: cn(
3447
3503
  "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
3448
3504
  className
@@ -3451,7 +3507,7 @@ var SheetFooter = ({
3451
3507
  }
3452
3508
  );
3453
3509
  SheetFooter.displayName = "SheetFooter";
3454
- var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3510
+ var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3455
3511
  SheetPrimitive.Title,
3456
3512
  {
3457
3513
  ref,
@@ -3462,9 +3518,9 @@ var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE
3462
3518
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
3463
3519
 
3464
3520
  // src/skeleton.tsx
3465
- var import_jsx_runtime34 = require("react/jsx-runtime");
3521
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3466
3522
  function Skeleton({ className, animated = true, ...props }) {
3467
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3523
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3468
3524
  "div",
3469
3525
  {
3470
3526
  "data-slot": "skeleton",
@@ -3480,8 +3536,8 @@ function Skeleton({ className, animated = true, ...props }) {
3480
3536
 
3481
3537
  // src/switch.tsx
3482
3538
  var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
3483
- var React27 = __toESM(require("react"), 1);
3484
- var import_jsx_runtime35 = require("react/jsx-runtime");
3539
+ var React28 = __toESM(require("react"), 1);
3540
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3485
3541
  var SWITCH_SIZES = {
3486
3542
  sm: {
3487
3543
  root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
@@ -3492,7 +3548,7 @@ var SWITCH_SIZES = {
3492
3548
  thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
3493
3549
  }
3494
3550
  };
3495
- var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3551
+ var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3496
3552
  SwitchPrimitives.Root,
3497
3553
  {
3498
3554
  ref,
@@ -3503,7 +3559,7 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
3503
3559
  className
3504
3560
  ),
3505
3561
  ...props,
3506
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3562
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3507
3563
  SwitchPrimitives.Thumb,
3508
3564
  {
3509
3565
  "data-slot": "switch-thumb",
@@ -3518,14 +3574,14 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
3518
3574
  Switch.displayName = SwitchPrimitives.Root.displayName;
3519
3575
 
3520
3576
  // src/organization-picker.tsx
3521
- var import_jsx_runtime36 = require("react/jsx-runtime");
3577
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3522
3578
  function OrganizationAbbreviation({
3523
3579
  abbreviation,
3524
3580
  name,
3525
3581
  className
3526
3582
  }) {
3527
3583
  const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
3528
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3584
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3529
3585
  "span",
3530
3586
  {
3531
3587
  className: cn(
@@ -3552,20 +3608,20 @@ function OrganizationPicker({
3552
3608
  }) {
3553
3609
  const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
3554
3610
  const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
3555
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3556
- !hideHeading && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3557
- loading ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3558
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Skeleton, { className: "h-7 rounded-md" }),
3559
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Skeleton, { className: "h-7 rounded-md" })
3560
- ] }) : loadFailed ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "px-2 py-2 text-xs text-muted-foreground", children: "Your account is not a member of any organization. Ask an administrator to add you to one." }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
3561
- active ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3611
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3612
+ !hideHeading && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3613
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3614
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Skeleton, { className: "h-7 rounded-md" }),
3615
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Skeleton, { className: "h-7 rounded-md" })
3616
+ ] }) : loadFailed ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 py-2 text-xs text-destructive", role: "alert", children: "Could not load organizations." }) : organizations.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 py-2 text-xs text-muted-foreground", children: "Your account is not a member of any organization. Ask an administrator to add you to one." }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
3617
+ active ? /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3562
3618
  "Working in",
3563
3619
  " ",
3564
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "font-medium text-foreground", children: active.name })
3565
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3566
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
3620
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "font-medium text-foreground", children: active.name })
3621
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3622
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
3567
3623
  const isActive = org.id === activeOrganizationId;
3568
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3624
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3569
3625
  "button",
3570
3626
  {
3571
3627
  type: "button",
@@ -3582,7 +3638,7 @@ function OrganizationPicker({
3582
3638
  itemClassName
3583
3639
  ),
3584
3640
  children: [
3585
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3641
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3586
3642
  OrganizationAbbreviation,
3587
3643
  {
3588
3644
  abbreviation: org.abbreviation,
@@ -3593,9 +3649,9 @@ function OrganizationPicker({
3593
3649
  )
3594
3650
  }
3595
3651
  ),
3596
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
3597
- org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3598
- isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3652
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
3653
+ org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3654
+ isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3599
3655
  StarIcon,
3600
3656
  {
3601
3657
  className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
@@ -3604,14 +3660,14 @@ function OrganizationPicker({
3604
3660
  role: "img"
3605
3661
  }
3606
3662
  ),
3607
- isActive && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3663
+ isActive && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3608
3664
  ]
3609
3665
  }
3610
3666
  ) }, org.id);
3611
3667
  }) }),
3612
- onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
3613
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "my-1 border-t border-border" }),
3614
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3668
+ onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_jsx_runtime37.Fragment, { children: [
3669
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "my-1 border-t border-border" }),
3670
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3615
3671
  DefaultOrganizationSwitch,
3616
3672
  {
3617
3673
  active,
@@ -3629,17 +3685,17 @@ function DefaultOrganizationSwitch({
3629
3685
  onChange
3630
3686
  }) {
3631
3687
  const disabled = !active;
3632
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3688
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3633
3689
  "div",
3634
3690
  {
3635
3691
  className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
3636
3692
  "data-slot": "organization-picker-default",
3637
3693
  children: [
3638
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "min-w-0", children: [
3639
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
3640
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "truncate text-[11px] text-muted-foreground", children: disabled ? "Select an organization first" : checked ? `Next startup opens ${active.name}` : "Auto-select this at startup" })
3694
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "min-w-0", children: [
3695
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
3696
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "truncate text-[11px] text-muted-foreground", children: disabled ? "Select an organization first" : checked ? `Next startup opens ${active.name}` : "Auto-select this at startup" })
3641
3697
  ] }),
3642
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3698
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3643
3699
  Switch,
3644
3700
  {
3645
3701
  checked,
@@ -3655,7 +3711,7 @@ function DefaultOrganizationSwitch({
3655
3711
 
3656
3712
  // src/tabbed-bottom-sheet.tsx
3657
3713
  var import_react4 = require("react");
3658
- var import_jsx_runtime37 = require("react/jsx-runtime");
3714
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3659
3715
  function TabbedBottomSheet({
3660
3716
  open,
3661
3717
  onOpenChange,
@@ -3669,15 +3725,15 @@ function TabbedBottomSheet({
3669
3725
  if (open) setSelectedTabId(null);
3670
3726
  }
3671
3727
  const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
3672
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3728
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3673
3729
  BottomSheet,
3674
3730
  {
3675
3731
  open,
3676
3732
  onOpenChange,
3677
3733
  title,
3678
3734
  size: "full",
3679
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3680
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3735
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3736
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3681
3737
  BottomSheetHeader,
3682
3738
  {
3683
3739
  title: selectedTab ? selectedTab.label : title,
@@ -3685,19 +3741,19 @@ function TabbedBottomSheet({
3685
3741
  onBack: () => setSelectedTabId(null)
3686
3742
  }
3687
3743
  ),
3688
- selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3744
+ selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3689
3745
  const Icon2 = tab.icon;
3690
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3746
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3691
3747
  "button",
3692
3748
  {
3693
3749
  type: "button",
3694
3750
  onClick: () => setSelectedTabId(tab.id),
3695
3751
  className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
3696
3752
  children: [
3697
- Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3698
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3753
+ Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3754
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3699
3755
  tab.trailing,
3700
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3756
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3701
3757
  ]
3702
3758
  }
3703
3759
  ) }, tab.id);
@@ -3708,19 +3764,19 @@ function TabbedBottomSheet({
3708
3764
  }
3709
3765
 
3710
3766
  // src/table.tsx
3711
- var React28 = __toESM(require("react"), 1);
3712
- var import_jsx_runtime38 = require("react/jsx-runtime");
3767
+ var React29 = __toESM(require("react"), 1);
3768
+ var import_jsx_runtime39 = require("react/jsx-runtime");
3713
3769
  var TABLE_SIZES = {
3714
3770
  sm: { head: "px-2", cell: "p-2" },
3715
3771
  md: { head: "px-3", cell: "p-3" }
3716
3772
  };
3717
- var TableSizeContext = React28.createContext("md");
3773
+ var TableSizeContext = React29.createContext("md");
3718
3774
  function useTableSize() {
3719
- return React28.useContext(TableSizeContext);
3775
+ return React29.useContext(TableSizeContext);
3720
3776
  }
3721
- var Table = React28.forwardRef(
3777
+ var Table = React29.forwardRef(
3722
3778
  ({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
3723
- const table = /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3779
+ const table = /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3724
3780
  "table",
3725
3781
  {
3726
3782
  ref,
@@ -3730,7 +3786,7 @@ var Table = React28.forwardRef(
3730
3786
  ...props
3731
3787
  }
3732
3788
  );
3733
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3789
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3734
3790
  "div",
3735
3791
  {
3736
3792
  "data-slot": "table-wrapper",
@@ -3741,7 +3797,7 @@ var Table = React28.forwardRef(
3741
3797
  }
3742
3798
  );
3743
3799
  Table.displayName = "Table";
3744
- var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3800
+ var TableHeader = React29.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3745
3801
  "thead",
3746
3802
  {
3747
3803
  ref,
@@ -3755,7 +3811,7 @@ var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, r
3755
3811
  }
3756
3812
  ));
3757
3813
  TableHeader.displayName = "TableHeader";
3758
- var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3814
+ var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3759
3815
  "tbody",
3760
3816
  {
3761
3817
  ref,
@@ -3765,7 +3821,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
3765
3821
  }
3766
3822
  ));
3767
3823
  TableBody.displayName = "TableBody";
3768
- var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3824
+ var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3769
3825
  "tfoot",
3770
3826
  {
3771
3827
  ref,
@@ -3778,7 +3834,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
3778
3834
  }
3779
3835
  ));
3780
3836
  TableFooter.displayName = "TableFooter";
3781
- var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3837
+ var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3782
3838
  "tr",
3783
3839
  {
3784
3840
  ref,
@@ -3791,9 +3847,9 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3791
3847
  }
3792
3848
  ));
3793
3849
  TableRow.displayName = "TableRow";
3794
- var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
3850
+ var TableHead = React29.forwardRef(({ className, ...props }, ref) => {
3795
3851
  const size = useTableSize();
3796
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3852
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3797
3853
  "th",
3798
3854
  {
3799
3855
  ref,
@@ -3808,9 +3864,9 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
3808
3864
  );
3809
3865
  });
3810
3866
  TableHead.displayName = "TableHead";
3811
- var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
3867
+ var TableCell = React29.forwardRef(({ className, ...props }, ref) => {
3812
3868
  const size = useTableSize();
3813
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3869
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3814
3870
  "td",
3815
3871
  {
3816
3872
  ref,
@@ -3825,7 +3881,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
3825
3881
  );
3826
3882
  });
3827
3883
  TableCell.displayName = "TableCell";
3828
- var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3884
+ var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3829
3885
  "caption",
3830
3886
  {
3831
3887
  ref,
@@ -3838,11 +3894,11 @@ TableCaption.displayName = "TableCaption";
3838
3894
 
3839
3895
  // src/tabs.tsx
3840
3896
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
3841
- var React29 = __toESM(require("react"), 1);
3842
- var import_jsx_runtime39 = require("react/jsx-runtime");
3897
+ var React30 = __toESM(require("react"), 1);
3898
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3843
3899
  var Tabs = TabsPrimitive.Root;
3844
3900
  var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
3845
- var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3901
+ var TabsList = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3846
3902
  TabsPrimitive.List,
3847
3903
  {
3848
3904
  ref,
@@ -3855,7 +3911,7 @@ var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3855
3911
  }
3856
3912
  ));
3857
3913
  TabsList.displayName = TabsPrimitive.List.displayName;
3858
- var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3914
+ var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3859
3915
  TabsPrimitive.Trigger,
3860
3916
  {
3861
3917
  ref,
@@ -3869,7 +3925,7 @@ var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
3869
3925
  }
3870
3926
  ));
3871
3927
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3872
- var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3928
+ var TabsTriggerCore = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3873
3929
  TabsPrimitive.Trigger,
3874
3930
  {
3875
3931
  ref,
@@ -3879,7 +3935,7 @@ var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @_
3879
3935
  }
3880
3936
  ));
3881
3937
  TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
3882
- var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3938
+ var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3883
3939
  TabsPrimitive.Content,
3884
3940
  {
3885
3941
  ref,
@@ -3895,8 +3951,8 @@ var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
3895
3951
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3896
3952
 
3897
3953
  // src/textarea.tsx
3898
- var React30 = __toESM(require("react"), 1);
3899
- var import_jsx_runtime40 = require("react/jsx-runtime");
3954
+ var React31 = __toESM(require("react"), 1);
3955
+ var import_jsx_runtime41 = require("react/jsx-runtime");
3900
3956
  var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
3901
3957
  var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
3902
3958
  function getStretchClasses(className) {
@@ -3909,7 +3965,7 @@ function getStretchClasses(className) {
3909
3965
  var TEXTAREA_ELEVATED_CLASS = "flex h-auto w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground shadow-textarea transition duration-400 placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
3910
3966
  var TEXTAREA_CONTROL_CLASS = "flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
3911
3967
  function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3912
- React30.useEffect(() => {
3968
+ React31.useEffect(() => {
3913
3969
  if (!autoGrow || !ref.current) return;
3914
3970
  const textarea = ref.current;
3915
3971
  textarea.style.height = "auto";
@@ -3925,8 +3981,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3925
3981
  }, [value, autoGrow, minHeight, maxHeight, ref]);
3926
3982
  }
3927
3983
  function useMergedTextareaRef(forwarded) {
3928
- const internal = React30.useRef(null);
3929
- const callback = React30.useCallback(
3984
+ const internal = React31.useRef(null);
3985
+ const callback = React31.useCallback(
3930
3986
  (node) => {
3931
3987
  internal.current = node;
3932
3988
  if (typeof forwarded === "function") forwarded(node);
@@ -3943,13 +3999,13 @@ function boxStyle(minHeight, maxHeight) {
3943
3999
  maxHeight: maxHeight ? `${maxHeight}px` : void 0
3944
4000
  };
3945
4001
  }
3946
- var Textarea = React30.forwardRef(
4002
+ var Textarea = React31.forwardRef(
3947
4003
  ({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
3948
4004
  const { ref, callback } = useMergedTextareaRef(forwarded);
3949
4005
  const stretchClasses = getStretchClasses(className);
3950
4006
  const needsWrapper = Boolean(wrapperClassName || stretchClasses);
3951
4007
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3952
- const textarea = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4008
+ const textarea = /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3953
4009
  "textarea",
3954
4010
  {
3955
4011
  ref: callback,
@@ -3965,15 +4021,15 @@ var Textarea = React30.forwardRef(
3965
4021
  }
3966
4022
  );
3967
4023
  if (!needsWrapper) return textarea;
3968
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
4024
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
3969
4025
  }
3970
4026
  );
3971
4027
  Textarea.displayName = "Textarea";
3972
- var BasicTextarea = React30.forwardRef(
4028
+ var BasicTextarea = React31.forwardRef(
3973
4029
  ({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
3974
4030
  const { ref, callback } = useMergedTextareaRef(forwarded);
3975
4031
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3976
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4032
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3977
4033
  "textarea",
3978
4034
  {
3979
4035
  ref: callback,
@@ -3991,7 +4047,7 @@ var BasicTextarea = React30.forwardRef(
3991
4047
  }
3992
4048
  );
3993
4049
  BasicTextarea.displayName = "BasicTextarea";
3994
- var TextareaWithPrefix = React30.forwardRef(
4050
+ var TextareaWithPrefix = React31.forwardRef(
3995
4051
  ({
3996
4052
  prefix,
3997
4053
  className,
@@ -4003,13 +4059,13 @@ var TextareaWithPrefix = React30.forwardRef(
4003
4059
  }, forwarded) => {
4004
4060
  const { ref, callback } = useMergedTextareaRef(forwarded);
4005
4061
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4006
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
4062
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
4007
4063
  "div",
4008
4064
  {
4009
4065
  className: cn("relative", getStretchClasses(className), wrapperClassName),
4010
4066
  children: [
4011
- prefix ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4012
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4067
+ prefix ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4068
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4013
4069
  "textarea",
4014
4070
  {
4015
4071
  ref: callback,
@@ -4088,14 +4144,14 @@ function useScrollFade() {
4088
4144
 
4089
4145
  // src/hover-card.tsx
4090
4146
  var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
4091
- var React31 = __toESM(require("react"), 1);
4092
- var import_jsx_runtime41 = require("react/jsx-runtime");
4147
+ var React32 = __toESM(require("react"), 1);
4148
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4093
4149
  var HoverCard = HoverCardPrimitive.Root;
4094
4150
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
4095
- var HoverCardContent = React31.forwardRef(
4151
+ var HoverCardContent = React32.forwardRef(
4096
4152
  ({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
4097
4153
  const resolved = usePortalContainer(container);
4098
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4154
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4099
4155
  HoverCardPrimitive.Content,
4100
4156
  {
4101
4157
  ref,
@@ -4116,9 +4172,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
4116
4172
 
4117
4173
  // src/radio-group.tsx
4118
4174
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
4119
- var React32 = __toESM(require("react"), 1);
4120
- var import_jsx_runtime42 = require("react/jsx-runtime");
4121
- var RadioGroupSizeContext = React32.createContext("md");
4175
+ var React33 = __toESM(require("react"), 1);
4176
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4177
+ var RadioGroupSizeContext = React33.createContext("md");
4122
4178
  var CONTROL_CLASSES = {
4123
4179
  sm: "h-3.5 w-3.5",
4124
4180
  md: "h-4 w-4",
@@ -4129,7 +4185,7 @@ var DOT_CLASSES = {
4129
4185
  md: "h-1.5 w-1.5",
4130
4186
  lg: "h-2 w-2"
4131
4187
  };
4132
- var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4188
+ var RadioGroup3 = React33.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4133
4189
  RadioGroupPrimitive.Root,
4134
4190
  {
4135
4191
  ref,
@@ -4139,10 +4195,10 @@ var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref)
4139
4195
  }
4140
4196
  ) }));
4141
4197
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
4142
- var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) => {
4143
- const groupSize = React32.useContext(RadioGroupSizeContext);
4198
+ var RadioGroupItem = React33.forwardRef(({ className, size, ...props }, ref) => {
4199
+ const groupSize = React33.useContext(RadioGroupSizeContext);
4144
4200
  const resolved = size ?? groupSize;
4145
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4201
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4146
4202
  RadioGroupPrimitive.Item,
4147
4203
  {
4148
4204
  ref,
@@ -4159,7 +4215,7 @@ var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) =>
4159
4215
  className
4160
4216
  ),
4161
4217
  ...props,
4162
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4218
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4163
4219
  "div",
4164
4220
  {
4165
4221
  className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
@@ -4172,7 +4228,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
4172
4228
 
4173
4229
  // src/resizable.tsx
4174
4230
  var import_react_resizable_panels = require("react-resizable-panels");
4175
- var import_jsx_runtime43 = require("react/jsx-runtime");
4231
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4176
4232
  var HANDLE_SIZES = {
4177
4233
  xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
4178
4234
  sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
@@ -4186,7 +4242,7 @@ var HANDLE_SIZES = {
4186
4242
  var ResizablePanelGroup = ({
4187
4243
  className,
4188
4244
  ...props
4189
- }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4245
+ }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4190
4246
  import_react_resizable_panels.Group,
4191
4247
  {
4192
4248
  "data-slot": "resizable-group",
@@ -4201,7 +4257,7 @@ var ResizableHandle = ({
4201
4257
  size = "xs",
4202
4258
  className,
4203
4259
  ...props
4204
- }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4260
+ }) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4205
4261
  import_react_resizable_panels.Separator,
4206
4262
  {
4207
4263
  "data-slot": "resizable-handle",
@@ -4221,15 +4277,15 @@ var ResizableHandle = ({
4221
4277
  className
4222
4278
  ),
4223
4279
  ...props,
4224
- children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4280
+ children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4225
4281
  }
4226
4282
  );
4227
4283
  ResizableHandle.displayName = "ResizableHandle";
4228
4284
 
4229
4285
  // src/slider.tsx
4230
4286
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
4231
- var React33 = __toESM(require("react"), 1);
4232
- var import_jsx_runtime44 = require("react/jsx-runtime");
4287
+ var React34 = __toESM(require("react"), 1);
4288
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4233
4289
  var TRACK_CLASSES = {
4234
4290
  sm: "h-1",
4235
4291
  md: "h-1.5",
@@ -4240,12 +4296,12 @@ var THUMB_CLASSES = {
4240
4296
  md: "h-4 w-4",
4241
4297
  lg: "h-5 w-5"
4242
4298
  };
4243
- var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4299
+ var Slider = React34.forwardRef(({ className, size = "md", ...props }, ref) => {
4244
4300
  const thumbCount = Math.max(
4245
4301
  1,
4246
4302
  (props.value ?? props.defaultValue ?? [0]).length
4247
4303
  );
4248
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4304
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
4249
4305
  SliderPrimitive.Root,
4250
4306
  {
4251
4307
  ref,
@@ -4257,7 +4313,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4257
4313
  ),
4258
4314
  ...props,
4259
4315
  children: [
4260
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4316
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4261
4317
  SliderPrimitive.Track,
4262
4318
  {
4263
4319
  "data-slot": "slider-track",
@@ -4266,7 +4322,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4266
4322
  TRACK_CLASSES[size],
4267
4323
  "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
4268
4324
  ),
4269
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4325
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4270
4326
  SliderPrimitive.Range,
4271
4327
  {
4272
4328
  "data-slot": "slider-range",
@@ -4275,7 +4331,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4275
4331
  )
4276
4332
  }
4277
4333
  ),
4278
- Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4334
+ Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4279
4335
  SliderPrimitive.Thumb,
4280
4336
  {
4281
4337
  "data-slot": "slider-thumb",
@@ -4302,8 +4358,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
4302
4358
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
4303
4359
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
4304
4360
  var import_class_variance_authority6 = require("class-variance-authority");
4305
- var React34 = __toESM(require("react"), 1);
4306
- var import_jsx_runtime45 = require("react/jsx-runtime");
4361
+ var React35 = __toESM(require("react"), 1);
4362
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4307
4363
  var toggleVariants = (0, import_class_variance_authority6.cva)(
4308
4364
  "inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
4309
4365
  {
@@ -4324,7 +4380,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
4324
4380
  }
4325
4381
  }
4326
4382
  );
4327
- var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4383
+ var Toggle = React35.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4328
4384
  TogglePrimitive.Root,
4329
4385
  {
4330
4386
  ref,
@@ -4334,21 +4390,21 @@ var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) =>
4334
4390
  }
4335
4391
  ));
4336
4392
  Toggle.displayName = TogglePrimitive.Root.displayName;
4337
- var ToggleGroupContext = React34.createContext({ size: "default", variant: "default" });
4338
- var ToggleGroup = React34.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4393
+ var ToggleGroupContext = React35.createContext({ size: "default", variant: "default" });
4394
+ var ToggleGroup = React35.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4339
4395
  ToggleGroupPrimitive.Root,
4340
4396
  {
4341
4397
  ref,
4342
4398
  "data-slot": "toggle-group",
4343
4399
  className: cn("flex items-center justify-center gap-1", className),
4344
4400
  ...props,
4345
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
4401
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
4346
4402
  }
4347
4403
  ));
4348
4404
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
4349
- var ToggleGroupItem = React34.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4350
- const context = React34.useContext(ToggleGroupContext);
4351
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4405
+ var ToggleGroupItem = React35.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4406
+ const context = React35.useContext(ToggleGroupContext);
4407
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4352
4408
  ToggleGroupPrimitive.Item,
4353
4409
  {
4354
4410
  ref,
@@ -4369,14 +4425,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
4369
4425
 
4370
4426
  // src/tooltip.tsx
4371
4427
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
4372
- var React35 = __toESM(require("react"), 1);
4373
- var import_jsx_runtime46 = require("react/jsx-runtime");
4428
+ var React36 = __toESM(require("react"), 1);
4429
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4374
4430
  var TooltipProvider = TooltipPrimitive.Provider;
4375
4431
  var Tooltip = TooltipPrimitive.Root;
4376
4432
  var TooltipTrigger = TooltipPrimitive.Trigger;
4377
- var TooltipContent = React35.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4433
+ var TooltipContent = React36.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4378
4434
  const resolved = usePortalContainer(container);
4379
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4435
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4380
4436
  TooltipPrimitive.Content,
4381
4437
  {
4382
4438
  ref,