@ai-matrx/design-system 0.12.1 → 0.14.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,9 @@ 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,
37
+ ARCHIVE_LABEL: () => ARCHIVE_LABEL,
35
38
  Accordion: () => Accordion,
36
39
  AccordionContent: () => AccordionContent,
37
40
  AccordionItem: () => AccordionItem,
@@ -51,6 +54,8 @@ __export(src_exports, {
51
54
  AlertDialogTitle: () => AlertDialogTitle,
52
55
  AlertDialogTrigger: () => AlertDialogTrigger,
53
56
  AlertTitle: () => AlertTitle,
57
+ ArchiveFilter: () => ArchiveFilter,
58
+ ArchivedDisclosure: () => ArchivedDisclosure,
54
59
  Avatar: () => Avatar,
55
60
  AvatarFallback: () => AvatarFallback,
56
61
  AvatarImage: () => AvatarImage,
@@ -101,6 +106,7 @@ __export(src_exports, {
101
106
  ContextMenuSubTrigger: () => ContextMenuSubTrigger,
102
107
  ContextMenuTrigger: () => ContextMenuTrigger,
103
108
  CreatablePicker: () => CreatablePicker,
109
+ DEFAULT_ARCHIVE_FILTER: () => DEFAULT_ARCHIVE_FILTER,
104
110
  DEFAULT_SCORE_THRESHOLDS: () => DEFAULT_SCORE_THRESHOLDS,
105
111
  Dialog: () => Dialog,
106
112
  DialogClose: () => DialogClose,
@@ -225,6 +231,7 @@ __export(src_exports, {
225
231
  TooltipProvider: () => TooltipProvider,
226
232
  TooltipTrigger: () => TooltipTrigger,
227
233
  alertVariants: () => alertVariants,
234
+ archiveFilterFromDisclosure: () => archiveFilterFromDisclosure,
228
235
  badgeVariants: () => badgeVariants,
229
236
  buttonVariants: () => buttonVariants,
230
237
  cn: () => cn,
@@ -232,6 +239,7 @@ __export(src_exports, {
232
239
  scoreRingColorClasses: () => scoreRingColorClasses,
233
240
  selectTriggerVariants: () => selectTriggerVariants,
234
241
  sheetVariants: () => sheetVariants,
242
+ toArchiveFilter: () => toArchiveFilter,
235
243
  toggleVariants: () => toggleVariants,
236
244
  useAccordionSize: () => useAccordionSize,
237
245
  useCardSize: () => useCardSize,
@@ -280,6 +288,16 @@ function ChevronLeftIcon(props) {
280
288
  function ChevronRightIcon(props) {
281
289
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { ...lucideProps(props), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m9 18 6-6-6-6" }) });
282
290
  }
291
+ function ChevronDownIcon(props) {
292
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { ...lucideProps(props), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m6 9 6 6 6-6" }) });
293
+ }
294
+ function ArchiveIcon(props) {
295
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { ...lucideProps(props), children: [
296
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", { width: "20", height: "5", x: "2", y: "3", rx: "1" }),
297
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8" }),
298
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M10 12h4" })
299
+ ] });
300
+ }
283
301
  function MoreHorizontalIcon(props) {
284
302
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { ...lucideProps(props), children: [
285
303
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "1" }),
@@ -3149,11 +3167,98 @@ function SegmentedControl({
3149
3167
  );
3150
3168
  }
3151
3169
 
3170
+ // src/archive-filter.tsx
3171
+ var React24 = __toESM(require("react"), 1);
3172
+ var import_jsx_runtime31 = require("react/jsx-runtime");
3173
+ var ARCHIVE_FILTER_VALUES = ["active", "archived", "all"];
3174
+ var DEFAULT_ARCHIVE_FILTER = "active";
3175
+ var ARCHIVE_LABEL = "Archived";
3176
+ var ARCHIVE_FILTER_LABELS = {
3177
+ active: "Active only",
3178
+ archived: `${ARCHIVE_LABEL} only`,
3179
+ all: "Active + archived"
3180
+ };
3181
+ function archiveFilterFromDisclosure(open) {
3182
+ return open ? "all" : DEFAULT_ARCHIVE_FILTER;
3183
+ }
3184
+ function toArchiveFilter(value, fallback = DEFAULT_ARCHIVE_FILTER) {
3185
+ return ARCHIVE_FILTER_VALUES.includes(value) ? value : fallback;
3186
+ }
3187
+ function ArchiveFilter({
3188
+ value,
3189
+ onValueChange,
3190
+ counts,
3191
+ labels,
3192
+ size = "sm",
3193
+ className,
3194
+ "aria-label": ariaLabel = "Archive filter",
3195
+ disabled = false
3196
+ }) {
3197
+ const data = React24.useMemo(
3198
+ () => ARCHIVE_FILTER_VALUES.map((state) => {
3199
+ const text = labels?.[state] ?? ARCHIVE_FILTER_LABELS[state];
3200
+ const count = counts?.[state];
3201
+ return {
3202
+ value: state,
3203
+ disabled,
3204
+ label: typeof count === "number" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("span", { className: "inline-flex items-center gap-1.5", children: [
3205
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: text }),
3206
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-muted-foreground tabular-nums", children: count })
3207
+ ] }) : text
3208
+ };
3209
+ }),
3210
+ [counts, labels, disabled]
3211
+ );
3212
+ 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)(
3213
+ SegmentedControl,
3214
+ {
3215
+ value,
3216
+ onValueChange: (next) => onValueChange(toArchiveFilter(next, value)),
3217
+ data,
3218
+ size
3219
+ }
3220
+ ) });
3221
+ }
3222
+
3223
+ // src/archived-disclosure.tsx
3224
+ var import_jsx_runtime32 = require("react/jsx-runtime");
3225
+ function ArchivedDisclosure({
3226
+ count,
3227
+ open,
3228
+ onOpenChange,
3229
+ children,
3230
+ label = ARCHIVE_LABEL,
3231
+ countLabel,
3232
+ keepWhileOpen = false,
3233
+ className,
3234
+ contentClassName
3235
+ }) {
3236
+ if (count <= 0 && !(open && keepWhileOpen)) return null;
3237
+ const parenthetical = countLabel === void 0 ? String(count) : countLabel;
3238
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: cn("min-w-0", className), children: [
3239
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
3240
+ "button",
3241
+ {
3242
+ type: "button",
3243
+ onClick: () => onOpenChange(!open),
3244
+ "aria-expanded": open,
3245
+ className: "flex w-full items-center gap-2 rounded-lg px-2 py-2 text-sm text-muted-foreground hover:bg-accent active:bg-accent",
3246
+ children: [
3247
+ open ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronDownIcon, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ChevronRightIcon, { className: "h-4 w-4 shrink-0" }),
3248
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ArchiveIcon, { className: "h-4 w-4 shrink-0" }),
3249
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "truncate", children: parenthetical === null ? label : `${label} (${parenthetical})` })
3250
+ ]
3251
+ }
3252
+ ),
3253
+ open && children ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: cn("mt-1", contentClassName), children }) : null
3254
+ ] });
3255
+ }
3256
+
3152
3257
  // src/select.tsx
3153
3258
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
3154
3259
  var import_class_variance_authority4 = require("class-variance-authority");
3155
- var React24 = __toESM(require("react"), 1);
3156
- var import_jsx_runtime31 = require("react/jsx-runtime");
3260
+ var React25 = __toESM(require("react"), 1);
3261
+ var import_jsx_runtime33 = require("react/jsx-runtime");
3157
3262
  var Select = SelectPrimitive.Root;
3158
3263
  var SelectGroup = SelectPrimitive.Group;
3159
3264
  var SelectValue = SelectPrimitive.Value;
@@ -3172,7 +3277,7 @@ var selectTriggerVariants = (0, import_class_variance_authority4.cva)(
3172
3277
  }
3173
3278
  }
3174
3279
  );
3175
- var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3280
+ var SelectTrigger = React25.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3176
3281
  SelectPrimitive.Trigger,
3177
3282
  {
3178
3283
  ref,
@@ -3180,12 +3285,12 @@ var SelectTrigger = React24.forwardRef(({ className, children, hideArrow = false
3180
3285
  ...props,
3181
3286
  children: [
3182
3287
  children,
3183
- !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" }) })
3288
+ !hideArrow && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
3184
3289
  ]
3185
3290
  }
3186
3291
  ));
3187
3292
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
3188
- var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3293
+ var SelectScrollUpButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3189
3294
  SelectPrimitive.ScrollUpButton,
3190
3295
  {
3191
3296
  ref,
@@ -3194,11 +3299,11 @@ var SelectScrollUpButton = React24.forwardRef(({ className, ...props }, ref) =>
3194
3299
  className
3195
3300
  ),
3196
3301
  ...props,
3197
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronUpIcon, {})
3302
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixChevronUpIcon, {})
3198
3303
  }
3199
3304
  ));
3200
3305
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
3201
- var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3306
+ var SelectScrollDownButton = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3202
3307
  SelectPrimitive.ScrollDownButton,
3203
3308
  {
3204
3309
  ref,
@@ -3207,11 +3312,11 @@ var SelectScrollDownButton = React24.forwardRef(({ className, ...props }, ref) =
3207
3312
  className
3208
3313
  ),
3209
3314
  ...props,
3210
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadixChevronDownIcon, {})
3315
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixChevronDownIcon, {})
3211
3316
  }
3212
3317
  ));
3213
3318
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
3214
- var SelectContent = React24.forwardRef(
3319
+ var SelectContent = React25.forwardRef(
3215
3320
  ({
3216
3321
  className,
3217
3322
  children,
@@ -3221,7 +3326,7 @@ var SelectContent = React24.forwardRef(
3221
3326
  ...props
3222
3327
  }, ref) => {
3223
3328
  const portalContainer = usePortalContainer(container);
3224
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3329
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3225
3330
  SelectPrimitive.Content,
3226
3331
  {
3227
3332
  ref,
@@ -3239,8 +3344,8 @@ var SelectContent = React24.forwardRef(
3239
3344
  position,
3240
3345
  ...props,
3241
3346
  children: [
3242
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollUpButton, {}),
3243
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3347
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectScrollUpButton, {}),
3348
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3244
3349
  SelectPrimitive.Viewport,
3245
3350
  {
3246
3351
  className: cn(
@@ -3250,14 +3355,14 @@ var SelectContent = React24.forwardRef(
3250
3355
  children
3251
3356
  }
3252
3357
  ),
3253
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectScrollDownButton, {})
3358
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectScrollDownButton, {})
3254
3359
  ]
3255
3360
  }
3256
3361
  ) });
3257
3362
  }
3258
3363
  );
3259
3364
  SelectContent.displayName = SelectPrimitive.Content.displayName;
3260
- var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3365
+ var SelectLabel = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3261
3366
  SelectPrimitive.Label,
3262
3367
  {
3263
3368
  ref,
@@ -3266,7 +3371,7 @@ var SelectLabel = React24.forwardRef(({ className, ...props }, ref) => /* @__PUR
3266
3371
  }
3267
3372
  ));
3268
3373
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
3269
- var SelectItem = React24.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
3374
+ var SelectItem = React25.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3270
3375
  SelectPrimitive.Item,
3271
3376
  {
3272
3377
  ref,
@@ -3277,14 +3382,14 @@ var SelectItem = React24.forwardRef(({ className, children, description, ...prop
3277
3382
  ),
3278
3383
  ...props,
3279
3384
  children: [
3280
- /* @__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" }) }) }),
3281
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(SelectPrimitive.ItemText, { children }),
3282
- description ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
3385
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CheckIcon, { className: "h-4 w-4" }) }) }),
3386
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SelectPrimitive.ItemText, { children }),
3387
+ description ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
3283
3388
  ]
3284
3389
  }
3285
3390
  ));
3286
3391
  SelectItem.displayName = SelectPrimitive.Item.displayName;
3287
- var SelectSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
3392
+ var SelectSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3288
3393
  SelectPrimitive.Separator,
3289
3394
  {
3290
3395
  ref,
@@ -3296,9 +3401,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
3296
3401
 
3297
3402
  // src/separator.tsx
3298
3403
  var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"), 1);
3299
- var React25 = __toESM(require("react"), 1);
3300
- var import_jsx_runtime32 = require("react/jsx-runtime");
3301
- var Separator4 = React25.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
3404
+ var React26 = __toESM(require("react"), 1);
3405
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3406
+ var Separator4 = React26.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3302
3407
  SeparatorPrimitive.Root,
3303
3408
  {
3304
3409
  ref,
@@ -3318,11 +3423,11 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
3318
3423
  var SheetPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
3319
3424
  var import_react_tree4 = require("@ai-matrx/kit/react-tree");
3320
3425
  var import_class_variance_authority5 = require("class-variance-authority");
3321
- var React26 = __toESM(require("react"), 1);
3322
- var import_jsx_runtime33 = require("react/jsx-runtime");
3323
- var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
3426
+ var React27 = __toESM(require("react"), 1);
3427
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3428
+ var SheetContentBase = React27.forwardRef(({ ...props }, ref) => {
3324
3429
  const isModal = useRadixDialogModal();
3325
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3430
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3326
3431
  SheetPrimitive.Content,
3327
3432
  {
3328
3433
  ...props,
@@ -3332,15 +3437,15 @@ var SheetContentBase = React26.forwardRef(({ ...props }, ref) => {
3332
3437
  );
3333
3438
  });
3334
3439
  SheetContentBase.displayName = "SheetContentBase";
3335
- var Sheet = React26.forwardRef(({ children, ...props }, _ref) => {
3440
+ var Sheet = React27.forwardRef(({ children, ...props }, _ref) => {
3336
3441
  const modal = props.modal ?? true;
3337
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
3442
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SheetPrimitive.Root, { ...props, modal, children }) });
3338
3443
  });
3339
3444
  Sheet.displayName = "Sheet";
3340
3445
  var SheetTrigger = SheetPrimitive.Trigger;
3341
3446
  var SheetClose = SheetPrimitive.Close;
3342
3447
  var SheetPortal = SheetPrimitive.Portal;
3343
- var SheetOverlay = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3448
+ var SheetOverlay = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3344
3449
  SheetPrimitive.Overlay,
3345
3450
  {
3346
3451
  className: cn(
@@ -3377,7 +3482,7 @@ var sheetVariants = (0, import_class_variance_authority5.cva)(
3377
3482
  }
3378
3483
  }
3379
3484
  );
3380
- var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3485
+ var SheetDescription = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3381
3486
  SheetPrimitive.Description,
3382
3487
  {
3383
3488
  ref,
@@ -3386,7 +3491,7 @@ var SheetDescription = React26.forwardRef(({ className, ...props }, ref) => /* @
3386
3491
  }
3387
3492
  ));
3388
3493
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
3389
- var SheetContent = React26.forwardRef(
3494
+ var SheetContent = React27.forwardRef(
3390
3495
  ({
3391
3496
  side = "right",
3392
3497
  className,
@@ -3398,9 +3503,9 @@ var SheetContent = React26.forwardRef(
3398
3503
  ...props
3399
3504
  }, ref) => {
3400
3505
  const hasDescription = (0, import_react_tree4.treeContainsComponent)(children, SheetDescription) || (0, import_react_tree4.treeContainsComponent)(children, SheetPrimitive.Description);
3401
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(SheetPortal, { children: [
3402
- !hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SheetOverlay, { className: overlayClassName }),
3403
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3506
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(SheetPortal, { children: [
3507
+ !hideOverlay && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SheetOverlay, { className: overlayClassName }),
3508
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
3404
3509
  SheetContentBase,
3405
3510
  {
3406
3511
  ref,
@@ -3412,9 +3517,9 @@ var SheetContent = React26.forwardRef(
3412
3517
  ...hasDescription ? {} : { "aria-describedby": void 0 },
3413
3518
  ...props,
3414
3519
  children: [
3415
- !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: [
3416
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Cross2Icon, { className: "h-4 w-4" }),
3417
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: "Close" })
3520
+ !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime35.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: [
3521
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Cross2Icon, { className: "h-4 w-4" }),
3522
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "sr-only", children: "Close" })
3418
3523
  ] }),
3419
3524
  children
3420
3525
  ]
@@ -3427,7 +3532,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
3427
3532
  var SheetHeader = ({
3428
3533
  className,
3429
3534
  ...props
3430
- }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3535
+ }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3431
3536
  "div",
3432
3537
  {
3433
3538
  className: cn(
@@ -3441,7 +3546,7 @@ SheetHeader.displayName = "SheetHeader";
3441
3546
  var SheetFooter = ({
3442
3547
  className,
3443
3548
  ...props
3444
- }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3549
+ }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3445
3550
  "div",
3446
3551
  {
3447
3552
  "data-slot": "sheet-footer",
@@ -3453,7 +3558,7 @@ var SheetFooter = ({
3453
3558
  }
3454
3559
  );
3455
3560
  SheetFooter.displayName = "SheetFooter";
3456
- var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3561
+ var SheetTitle = React27.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3457
3562
  SheetPrimitive.Title,
3458
3563
  {
3459
3564
  ref,
@@ -3464,9 +3569,9 @@ var SheetTitle = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE
3464
3569
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
3465
3570
 
3466
3571
  // src/skeleton.tsx
3467
- var import_jsx_runtime34 = require("react/jsx-runtime");
3572
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3468
3573
  function Skeleton({ className, animated = true, ...props }) {
3469
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3574
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3470
3575
  "div",
3471
3576
  {
3472
3577
  "data-slot": "skeleton",
@@ -3482,8 +3587,8 @@ function Skeleton({ className, animated = true, ...props }) {
3482
3587
 
3483
3588
  // src/switch.tsx
3484
3589
  var SwitchPrimitives = __toESM(require("@radix-ui/react-switch"), 1);
3485
- var React27 = __toESM(require("react"), 1);
3486
- var import_jsx_runtime35 = require("react/jsx-runtime");
3590
+ var React28 = __toESM(require("react"), 1);
3591
+ var import_jsx_runtime37 = require("react/jsx-runtime");
3487
3592
  var SWITCH_SIZES = {
3488
3593
  sm: {
3489
3594
  root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
@@ -3494,7 +3599,7 @@ var SWITCH_SIZES = {
3494
3599
  thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
3495
3600
  }
3496
3601
  };
3497
- var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3602
+ var Switch = React28.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3498
3603
  SwitchPrimitives.Root,
3499
3604
  {
3500
3605
  ref,
@@ -3505,7 +3610,7 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
3505
3610
  className
3506
3611
  ),
3507
3612
  ...props,
3508
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3613
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3509
3614
  SwitchPrimitives.Thumb,
3510
3615
  {
3511
3616
  "data-slot": "switch-thumb",
@@ -3520,14 +3625,14 @@ var Switch = React27.forwardRef(({ className, size = "md", ...props }, ref) => /
3520
3625
  Switch.displayName = SwitchPrimitives.Root.displayName;
3521
3626
 
3522
3627
  // src/organization-picker.tsx
3523
- var import_jsx_runtime36 = require("react/jsx-runtime");
3628
+ var import_jsx_runtime38 = require("react/jsx-runtime");
3524
3629
  function OrganizationAbbreviation({
3525
3630
  abbreviation,
3526
3631
  name,
3527
3632
  className
3528
3633
  }) {
3529
3634
  const mark = abbreviation && abbreviation.trim() || name.trim().slice(0, 1) || "?";
3530
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3635
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3531
3636
  "span",
3532
3637
  {
3533
3638
  className: cn(
@@ -3554,20 +3659,20 @@ function OrganizationPicker({
3554
3659
  }) {
3555
3660
  const active = organizations.find((o) => o.id === activeOrganizationId) ?? null;
3556
3661
  const isDefault = (id) => !!defaultOrganizationId && id === defaultOrganizationId;
3557
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3558
- !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" }),
3559
- loading ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3560
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Skeleton, { className: "h-7 rounded-md" }),
3561
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Skeleton, { className: "h-7 rounded-md" })
3562
- ] }) : 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: [
3563
- active ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3662
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: cn("flex flex-col", className), "data-slot": "organization-picker", children: [
3663
+ !hideHeading && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 py-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground", children: "Organization" }),
3664
+ loading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "space-y-1 px-1 py-1", "aria-busy": "true", "aria-label": "Loading organizations", children: [
3665
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Skeleton, { className: "h-7 rounded-md" }),
3666
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Skeleton, { className: "h-7 rounded-md" })
3667
+ ] }) : loadFailed ? /* @__PURE__ */ (0, import_jsx_runtime38.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_runtime38.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_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3668
+ active ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("p", { className: "px-2 pb-1 text-[11px] text-muted-foreground", "data-slot": "organization-picker-status", children: [
3564
3669
  "Working in",
3565
3670
  " ",
3566
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "font-medium text-foreground", children: active.name })
3567
- ] }) : /* @__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." }),
3568
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
3671
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "font-medium text-foreground", children: active.name })
3672
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "px-2 pb-1 text-[11px] text-destructive", "data-slot": "organization-picker-status", children: "No organization selected \u2014 pick one below." }),
3673
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("ul", { className: "max-h-72 overflow-y-auto", role: "listbox", "aria-label": "Organizations", children: organizations.map((org) => {
3569
3674
  const isActive = org.id === activeOrganizationId;
3570
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3675
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { role: "none", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3571
3676
  "button",
3572
3677
  {
3573
3678
  type: "button",
@@ -3584,7 +3689,7 @@ function OrganizationPicker({
3584
3689
  itemClassName
3585
3690
  ),
3586
3691
  children: [
3587
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3692
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3588
3693
  OrganizationAbbreviation,
3589
3694
  {
3590
3695
  abbreviation: org.abbreviation,
@@ -3595,9 +3700,9 @@ function OrganizationPicker({
3595
3700
  )
3596
3701
  }
3597
3702
  ),
3598
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
3599
- 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" }),
3600
- isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3703
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "min-w-0 flex-1 truncate", children: org.name }),
3704
+ org.isPersonal && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "shrink-0 rounded-full bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground", children: "Personal" }),
3705
+ isDefault(org.id) && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3601
3706
  StarIcon,
3602
3707
  {
3603
3708
  className: "h-[13px] w-[13px] shrink-0 fill-warning text-warning",
@@ -3606,14 +3711,14 @@ function OrganizationPicker({
3606
3711
  role: "img"
3607
3712
  }
3608
3713
  ),
3609
- isActive && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3714
+ isActive && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(LucideCheckIcon, { className: "h-[15px] w-[15px] shrink-0 text-primary" })
3610
3715
  ]
3611
3716
  }
3612
3717
  ) }, org.id);
3613
3718
  }) }),
3614
- onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
3615
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "my-1 border-t border-border" }),
3616
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3719
+ onSetDefault && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
3720
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "my-1 border-t border-border" }),
3721
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3617
3722
  DefaultOrganizationSwitch,
3618
3723
  {
3619
3724
  active,
@@ -3631,17 +3736,17 @@ function DefaultOrganizationSwitch({
3631
3736
  onChange
3632
3737
  }) {
3633
3738
  const disabled = !active;
3634
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
3739
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
3635
3740
  "div",
3636
3741
  {
3637
3742
  className: "flex items-center justify-between gap-3 rounded-md px-2 py-1.5",
3638
3743
  "data-slot": "organization-picker-default",
3639
3744
  children: [
3640
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "min-w-0", children: [
3641
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
3642
- /* @__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" })
3745
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "min-w-0", children: [
3746
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "text-xs font-medium text-foreground", children: "Set as my default" }),
3747
+ /* @__PURE__ */ (0, import_jsx_runtime38.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" })
3643
3748
  ] }),
3644
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3749
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3645
3750
  Switch,
3646
3751
  {
3647
3752
  checked,
@@ -3657,7 +3762,7 @@ function DefaultOrganizationSwitch({
3657
3762
 
3658
3763
  // src/tabbed-bottom-sheet.tsx
3659
3764
  var import_react4 = require("react");
3660
- var import_jsx_runtime37 = require("react/jsx-runtime");
3765
+ var import_jsx_runtime39 = require("react/jsx-runtime");
3661
3766
  function TabbedBottomSheet({
3662
3767
  open,
3663
3768
  onOpenChange,
@@ -3671,15 +3776,15 @@ function TabbedBottomSheet({
3671
3776
  if (open) setSelectedTabId(null);
3672
3777
  }
3673
3778
  const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
3674
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3779
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3675
3780
  BottomSheet,
3676
3781
  {
3677
3782
  open,
3678
3783
  onOpenChange,
3679
3784
  title,
3680
3785
  size: "full",
3681
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3682
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3786
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
3787
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3683
3788
  BottomSheetHeader,
3684
3789
  {
3685
3790
  title: selectedTab ? selectedTab.label : title,
@@ -3687,19 +3792,19 @@ function TabbedBottomSheet({
3687
3792
  onBack: () => setSelectedTabId(null)
3688
3793
  }
3689
3794
  ),
3690
- 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) => {
3795
+ selectedTab ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(BottomSheetBody, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
3691
3796
  const Icon2 = tab.icon;
3692
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
3797
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
3693
3798
  "button",
3694
3799
  {
3695
3800
  type: "button",
3696
3801
  onClick: () => setSelectedTabId(tab.id),
3697
3802
  className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
3698
3803
  children: [
3699
- Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3700
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3804
+ Icon2 ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
3805
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
3701
3806
  tab.trailing,
3702
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3807
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
3703
3808
  ]
3704
3809
  }
3705
3810
  ) }, tab.id);
@@ -3710,19 +3815,19 @@ function TabbedBottomSheet({
3710
3815
  }
3711
3816
 
3712
3817
  // src/table.tsx
3713
- var React28 = __toESM(require("react"), 1);
3714
- var import_jsx_runtime38 = require("react/jsx-runtime");
3818
+ var React29 = __toESM(require("react"), 1);
3819
+ var import_jsx_runtime40 = require("react/jsx-runtime");
3715
3820
  var TABLE_SIZES = {
3716
3821
  sm: { head: "px-2", cell: "p-2" },
3717
3822
  md: { head: "px-3", cell: "p-3" }
3718
3823
  };
3719
- var TableSizeContext = React28.createContext("md");
3824
+ var TableSizeContext = React29.createContext("md");
3720
3825
  function useTableSize() {
3721
- return React28.useContext(TableSizeContext);
3826
+ return React29.useContext(TableSizeContext);
3722
3827
  }
3723
- var Table = React28.forwardRef(
3828
+ var Table = React29.forwardRef(
3724
3829
  ({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
3725
- const table = /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3830
+ const table = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3726
3831
  "table",
3727
3832
  {
3728
3833
  ref,
@@ -3732,7 +3837,7 @@ var Table = React28.forwardRef(
3732
3837
  ...props
3733
3838
  }
3734
3839
  );
3735
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3840
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3736
3841
  "div",
3737
3842
  {
3738
3843
  "data-slot": "table-wrapper",
@@ -3743,7 +3848,7 @@ var Table = React28.forwardRef(
3743
3848
  }
3744
3849
  );
3745
3850
  Table.displayName = "Table";
3746
- var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3851
+ var TableHeader = React29.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3747
3852
  "thead",
3748
3853
  {
3749
3854
  ref,
@@ -3757,7 +3862,7 @@ var TableHeader = React28.forwardRef(({ className, sticky = false, ...props }, r
3757
3862
  }
3758
3863
  ));
3759
3864
  TableHeader.displayName = "TableHeader";
3760
- var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3865
+ var TableBody = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3761
3866
  "tbody",
3762
3867
  {
3763
3868
  ref,
@@ -3767,7 +3872,7 @@ var TableBody = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE_
3767
3872
  }
3768
3873
  ));
3769
3874
  TableBody.displayName = "TableBody";
3770
- var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3875
+ var TableFooter = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3771
3876
  "tfoot",
3772
3877
  {
3773
3878
  ref,
@@ -3780,7 +3885,7 @@ var TableFooter = React28.forwardRef(({ className, ...props }, ref) => /* @__PUR
3780
3885
  }
3781
3886
  ));
3782
3887
  TableFooter.displayName = "TableFooter";
3783
- var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3888
+ var TableRow = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3784
3889
  "tr",
3785
3890
  {
3786
3891
  ref,
@@ -3793,9 +3898,9 @@ var TableRow = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3793
3898
  }
3794
3899
  ));
3795
3900
  TableRow.displayName = "TableRow";
3796
- var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
3901
+ var TableHead = React29.forwardRef(({ className, ...props }, ref) => {
3797
3902
  const size = useTableSize();
3798
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3903
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3799
3904
  "th",
3800
3905
  {
3801
3906
  ref,
@@ -3810,9 +3915,9 @@ var TableHead = React28.forwardRef(({ className, ...props }, ref) => {
3810
3915
  );
3811
3916
  });
3812
3917
  TableHead.displayName = "TableHead";
3813
- var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
3918
+ var TableCell = React29.forwardRef(({ className, ...props }, ref) => {
3814
3919
  const size = useTableSize();
3815
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3920
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3816
3921
  "td",
3817
3922
  {
3818
3923
  ref,
@@ -3827,7 +3932,7 @@ var TableCell = React28.forwardRef(({ className, ...props }, ref) => {
3827
3932
  );
3828
3933
  });
3829
3934
  TableCell.displayName = "TableCell";
3830
- var TableCaption = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
3935
+ var TableCaption = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3831
3936
  "caption",
3832
3937
  {
3833
3938
  ref,
@@ -3840,11 +3945,11 @@ TableCaption.displayName = "TableCaption";
3840
3945
 
3841
3946
  // src/tabs.tsx
3842
3947
  var TabsPrimitive = __toESM(require("@radix-ui/react-tabs"), 1);
3843
- var React29 = __toESM(require("react"), 1);
3844
- var import_jsx_runtime39 = require("react/jsx-runtime");
3948
+ var React30 = __toESM(require("react"), 1);
3949
+ var import_jsx_runtime41 = require("react/jsx-runtime");
3845
3950
  var Tabs = TabsPrimitive.Root;
3846
3951
  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";
3847
- var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3952
+ var TabsList = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3848
3953
  TabsPrimitive.List,
3849
3954
  {
3850
3955
  ref,
@@ -3857,7 +3962,7 @@ var TabsList = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__
3857
3962
  }
3858
3963
  ));
3859
3964
  TabsList.displayName = TabsPrimitive.List.displayName;
3860
- var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3965
+ var TabsTrigger = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3861
3966
  TabsPrimitive.Trigger,
3862
3967
  {
3863
3968
  ref,
@@ -3871,7 +3976,7 @@ var TabsTrigger = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
3871
3976
  }
3872
3977
  ));
3873
3978
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
3874
- var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3979
+ var TabsTriggerCore = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3875
3980
  TabsPrimitive.Trigger,
3876
3981
  {
3877
3982
  ref,
@@ -3881,7 +3986,7 @@ var TabsTriggerCore = React29.forwardRef(({ className, ...props }, ref) => /* @_
3881
3986
  }
3882
3987
  ));
3883
3988
  TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
3884
- var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
3989
+ var TabsContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3885
3990
  TabsPrimitive.Content,
3886
3991
  {
3887
3992
  ref,
@@ -3897,8 +4002,8 @@ var TabsContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
3897
4002
  TabsContent.displayName = TabsPrimitive.Content.displayName;
3898
4003
 
3899
4004
  // src/textarea.tsx
3900
- var React30 = __toESM(require("react"), 1);
3901
- var import_jsx_runtime40 = require("react/jsx-runtime");
4005
+ var React31 = __toESM(require("react"), 1);
4006
+ var import_jsx_runtime42 = require("react/jsx-runtime");
3902
4007
  var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
3903
4008
  var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
3904
4009
  function getStretchClasses(className) {
@@ -3911,7 +4016,7 @@ function getStretchClasses(className) {
3911
4016
  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";
3912
4017
  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";
3913
4018
  function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3914
- React30.useEffect(() => {
4019
+ React31.useEffect(() => {
3915
4020
  if (!autoGrow || !ref.current) return;
3916
4021
  const textarea = ref.current;
3917
4022
  textarea.style.height = "auto";
@@ -3927,8 +4032,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
3927
4032
  }, [value, autoGrow, minHeight, maxHeight, ref]);
3928
4033
  }
3929
4034
  function useMergedTextareaRef(forwarded) {
3930
- const internal = React30.useRef(null);
3931
- const callback = React30.useCallback(
4035
+ const internal = React31.useRef(null);
4036
+ const callback = React31.useCallback(
3932
4037
  (node) => {
3933
4038
  internal.current = node;
3934
4039
  if (typeof forwarded === "function") forwarded(node);
@@ -3945,13 +4050,13 @@ function boxStyle(minHeight, maxHeight) {
3945
4050
  maxHeight: maxHeight ? `${maxHeight}px` : void 0
3946
4051
  };
3947
4052
  }
3948
- var Textarea = React30.forwardRef(
4053
+ var Textarea = React31.forwardRef(
3949
4054
  ({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
3950
4055
  const { ref, callback } = useMergedTextareaRef(forwarded);
3951
4056
  const stretchClasses = getStretchClasses(className);
3952
4057
  const needsWrapper = Boolean(wrapperClassName || stretchClasses);
3953
4058
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3954
- const textarea = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4059
+ const textarea = /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3955
4060
  "textarea",
3956
4061
  {
3957
4062
  ref: callback,
@@ -3967,15 +4072,15 @@ var Textarea = React30.forwardRef(
3967
4072
  }
3968
4073
  );
3969
4074
  if (!needsWrapper) return textarea;
3970
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
4075
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
3971
4076
  }
3972
4077
  );
3973
4078
  Textarea.displayName = "Textarea";
3974
- var BasicTextarea = React30.forwardRef(
4079
+ var BasicTextarea = React31.forwardRef(
3975
4080
  ({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
3976
4081
  const { ref, callback } = useMergedTextareaRef(forwarded);
3977
4082
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
3978
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4083
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3979
4084
  "textarea",
3980
4085
  {
3981
4086
  ref: callback,
@@ -3993,7 +4098,7 @@ var BasicTextarea = React30.forwardRef(
3993
4098
  }
3994
4099
  );
3995
4100
  BasicTextarea.displayName = "BasicTextarea";
3996
- var TextareaWithPrefix = React30.forwardRef(
4101
+ var TextareaWithPrefix = React31.forwardRef(
3997
4102
  ({
3998
4103
  prefix,
3999
4104
  className,
@@ -4005,13 +4110,13 @@ var TextareaWithPrefix = React30.forwardRef(
4005
4110
  }, forwarded) => {
4006
4111
  const { ref, callback } = useMergedTextareaRef(forwarded);
4007
4112
  useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
4008
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
4113
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4009
4114
  "div",
4010
4115
  {
4011
4116
  className: cn("relative", getStretchClasses(className), wrapperClassName),
4012
4117
  children: [
4013
- 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,
4014
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4118
+ prefix ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
4119
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4015
4120
  "textarea",
4016
4121
  {
4017
4122
  ref: callback,
@@ -4090,14 +4195,14 @@ function useScrollFade() {
4090
4195
 
4091
4196
  // src/hover-card.tsx
4092
4197
  var HoverCardPrimitive = __toESM(require("@radix-ui/react-hover-card"), 1);
4093
- var React31 = __toESM(require("react"), 1);
4094
- var import_jsx_runtime41 = require("react/jsx-runtime");
4198
+ var React32 = __toESM(require("react"), 1);
4199
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4095
4200
  var HoverCard = HoverCardPrimitive.Root;
4096
4201
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
4097
- var HoverCardContent = React31.forwardRef(
4202
+ var HoverCardContent = React32.forwardRef(
4098
4203
  ({ className, align = "center", sideOffset = 4, container, animated = true, ...props }, ref) => {
4099
4204
  const resolved = usePortalContainer(container);
4100
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4205
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4101
4206
  HoverCardPrimitive.Content,
4102
4207
  {
4103
4208
  ref,
@@ -4118,9 +4223,9 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
4118
4223
 
4119
4224
  // src/radio-group.tsx
4120
4225
  var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"), 1);
4121
- var React32 = __toESM(require("react"), 1);
4122
- var import_jsx_runtime42 = require("react/jsx-runtime");
4123
- var RadioGroupSizeContext = React32.createContext("md");
4226
+ var React33 = __toESM(require("react"), 1);
4227
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4228
+ var RadioGroupSizeContext = React33.createContext("md");
4124
4229
  var CONTROL_CLASSES = {
4125
4230
  sm: "h-3.5 w-3.5",
4126
4231
  md: "h-4 w-4",
@@ -4131,7 +4236,7 @@ var DOT_CLASSES = {
4131
4236
  md: "h-1.5 w-1.5",
4132
4237
  lg: "h-2 w-2"
4133
4238
  };
4134
- 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)(
4239
+ var RadioGroup3 = React33.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4135
4240
  RadioGroupPrimitive.Root,
4136
4241
  {
4137
4242
  ref,
@@ -4141,10 +4246,10 @@ var RadioGroup3 = React32.forwardRef(({ className, size = "md", ...props }, ref)
4141
4246
  }
4142
4247
  ) }));
4143
4248
  RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
4144
- var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) => {
4145
- const groupSize = React32.useContext(RadioGroupSizeContext);
4249
+ var RadioGroupItem = React33.forwardRef(({ className, size, ...props }, ref) => {
4250
+ const groupSize = React33.useContext(RadioGroupSizeContext);
4146
4251
  const resolved = size ?? groupSize;
4147
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4252
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4148
4253
  RadioGroupPrimitive.Item,
4149
4254
  {
4150
4255
  ref,
@@ -4161,7 +4266,7 @@ var RadioGroupItem = React32.forwardRef(({ className, size, ...props }, ref) =>
4161
4266
  className
4162
4267
  ),
4163
4268
  ...props,
4164
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4269
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4165
4270
  "div",
4166
4271
  {
4167
4272
  className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
@@ -4174,7 +4279,7 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
4174
4279
 
4175
4280
  // src/resizable.tsx
4176
4281
  var import_react_resizable_panels = require("react-resizable-panels");
4177
- var import_jsx_runtime43 = require("react/jsx-runtime");
4282
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4178
4283
  var HANDLE_SIZES = {
4179
4284
  xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
4180
4285
  sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
@@ -4188,7 +4293,7 @@ var HANDLE_SIZES = {
4188
4293
  var ResizablePanelGroup = ({
4189
4294
  className,
4190
4295
  ...props
4191
- }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4296
+ }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4192
4297
  import_react_resizable_panels.Group,
4193
4298
  {
4194
4299
  "data-slot": "resizable-group",
@@ -4203,7 +4308,7 @@ var ResizableHandle = ({
4203
4308
  size = "xs",
4204
4309
  className,
4205
4310
  ...props
4206
- }) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4311
+ }) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4207
4312
  import_react_resizable_panels.Separator,
4208
4313
  {
4209
4314
  "data-slot": "resizable-handle",
@@ -4223,15 +4328,15 @@ var ResizableHandle = ({
4223
4328
  className
4224
4329
  ),
4225
4330
  ...props,
4226
- 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
4331
+ children: withHandle ? /* @__PURE__ */ (0, import_jsx_runtime45.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_runtime45.jsx)(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
4227
4332
  }
4228
4333
  );
4229
4334
  ResizableHandle.displayName = "ResizableHandle";
4230
4335
 
4231
4336
  // src/slider.tsx
4232
4337
  var SliderPrimitive = __toESM(require("@radix-ui/react-slider"), 1);
4233
- var React33 = __toESM(require("react"), 1);
4234
- var import_jsx_runtime44 = require("react/jsx-runtime");
4338
+ var React34 = __toESM(require("react"), 1);
4339
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4235
4340
  var TRACK_CLASSES = {
4236
4341
  sm: "h-1",
4237
4342
  md: "h-1.5",
@@ -4242,12 +4347,12 @@ var THUMB_CLASSES = {
4242
4347
  md: "h-4 w-4",
4243
4348
  lg: "h-5 w-5"
4244
4349
  };
4245
- var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4350
+ var Slider = React34.forwardRef(({ className, size = "md", ...props }, ref) => {
4246
4351
  const thumbCount = Math.max(
4247
4352
  1,
4248
4353
  (props.value ?? props.defaultValue ?? [0]).length
4249
4354
  );
4250
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4355
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
4251
4356
  SliderPrimitive.Root,
4252
4357
  {
4253
4358
  ref,
@@ -4259,7 +4364,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4259
4364
  ),
4260
4365
  ...props,
4261
4366
  children: [
4262
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4367
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4263
4368
  SliderPrimitive.Track,
4264
4369
  {
4265
4370
  "data-slot": "slider-track",
@@ -4268,7 +4373,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4268
4373
  TRACK_CLASSES[size],
4269
4374
  "data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
4270
4375
  ),
4271
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4376
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4272
4377
  SliderPrimitive.Range,
4273
4378
  {
4274
4379
  "data-slot": "slider-range",
@@ -4277,7 +4382,7 @@ var Slider = React33.forwardRef(({ className, size = "md", ...props }, ref) => {
4277
4382
  )
4278
4383
  }
4279
4384
  ),
4280
- Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4385
+ Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4281
4386
  SliderPrimitive.Thumb,
4282
4387
  {
4283
4388
  "data-slot": "slider-thumb",
@@ -4304,8 +4409,8 @@ Slider.displayName = SliderPrimitive.Root.displayName;
4304
4409
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"), 1);
4305
4410
  var TogglePrimitive = __toESM(require("@radix-ui/react-toggle"), 1);
4306
4411
  var import_class_variance_authority6 = require("class-variance-authority");
4307
- var React34 = __toESM(require("react"), 1);
4308
- var import_jsx_runtime45 = require("react/jsx-runtime");
4412
+ var React35 = __toESM(require("react"), 1);
4413
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4309
4414
  var toggleVariants = (0, import_class_variance_authority6.cva)(
4310
4415
  "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",
4311
4416
  {
@@ -4326,7 +4431,7 @@ var toggleVariants = (0, import_class_variance_authority6.cva)(
4326
4431
  }
4327
4432
  }
4328
4433
  );
4329
- var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4434
+ var Toggle = React35.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4330
4435
  TogglePrimitive.Root,
4331
4436
  {
4332
4437
  ref,
@@ -4336,21 +4441,21 @@ var Toggle = React34.forwardRef(({ className, variant, size, ...props }, ref) =>
4336
4441
  }
4337
4442
  ));
4338
4443
  Toggle.displayName = TogglePrimitive.Root.displayName;
4339
- var ToggleGroupContext = React34.createContext({ size: "default", variant: "default" });
4340
- var ToggleGroup = React34.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4444
+ var ToggleGroupContext = React35.createContext({ size: "default", variant: "default" });
4445
+ var ToggleGroup = React35.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4341
4446
  ToggleGroupPrimitive.Root,
4342
4447
  {
4343
4448
  ref,
4344
4449
  "data-slot": "toggle-group",
4345
4450
  className: cn("flex items-center justify-center gap-1", className),
4346
4451
  ...props,
4347
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
4452
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ToggleGroupContext.Provider, { value: { variant, size }, children })
4348
4453
  }
4349
4454
  ));
4350
4455
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
4351
- var ToggleGroupItem = React34.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4352
- const context = React34.useContext(ToggleGroupContext);
4353
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4456
+ var ToggleGroupItem = React35.forwardRef(({ className, children, variant, size, ...props }, ref) => {
4457
+ const context = React35.useContext(ToggleGroupContext);
4458
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4354
4459
  ToggleGroupPrimitive.Item,
4355
4460
  {
4356
4461
  ref,
@@ -4371,14 +4476,14 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
4371
4476
 
4372
4477
  // src/tooltip.tsx
4373
4478
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"), 1);
4374
- var React35 = __toESM(require("react"), 1);
4375
- var import_jsx_runtime46 = require("react/jsx-runtime");
4479
+ var React36 = __toESM(require("react"), 1);
4480
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4376
4481
  var TooltipProvider = TooltipPrimitive.Provider;
4377
4482
  var Tooltip = TooltipPrimitive.Root;
4378
4483
  var TooltipTrigger = TooltipPrimitive.Trigger;
4379
- var TooltipContent = React35.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4484
+ var TooltipContent = React36.forwardRef(({ className, sideOffset = 4, container, animated = true, ...props }, ref) => {
4380
4485
  const resolved = usePortalContainer(container);
4381
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4486
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
4382
4487
  TooltipPrimitive.Content,
4383
4488
  {
4384
4489
  ref,