@tutti-os/ui-system 0.0.196 → 0.0.198

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.
@@ -20,10 +20,106 @@ import {
20
20
  cn
21
21
  } from "./chunk-DGPY4WP3.js";
22
22
 
23
+ // src/components/avatar/avatar.tsx
24
+ import { Avatar as AvatarPrimitive } from "radix-ui";
25
+ import {
26
+ useState
27
+ } from "react";
28
+ import { jsx, jsxs } from "react/jsx-runtime";
29
+ var sizeClassNames = {
30
+ xs: "size-4",
31
+ sm: "size-6",
32
+ md: "size-8",
33
+ lg: "size-10"
34
+ };
35
+ function avatarInitial(label, initial) {
36
+ const value = initial?.trim() || label.trim();
37
+ return Array.from(value)[0]?.toLocaleUpperCase() || "?";
38
+ }
39
+ function Avatar({
40
+ children,
41
+ className,
42
+ fallback = "initial",
43
+ fallbackColor,
44
+ imageClassName,
45
+ imageProps,
46
+ initial,
47
+ label,
48
+ loading = false,
49
+ size = "md",
50
+ src,
51
+ style,
52
+ surfaceClassName,
53
+ ...rootProps
54
+ }) {
55
+ const normalizedSrc = src?.trim() ?? "";
56
+ const effectiveImageSrc = loading ? "" : normalizedSrc;
57
+ const [imageState, setImageState] = useState({ src: "", status: "idle" });
58
+ const imageStatus = imageState.src === effectiveImageSrc ? imageState.status : effectiveImageSrc ? "loading" : "error";
59
+ const showImage = imageStatus === "loaded" && effectiveImageSrc.length > 0;
60
+ const imagePending = effectiveImageSrc.length > 0 && (imageStatus === "loading" || imageStatus === "idle");
61
+ const imageSrcForPrimitive = imageStatus === "error" ? void 0 : effectiveImageSrc || void 0;
62
+ const avatarState = loading ? "loading" : effectiveImageSrc.length === 0 ? fallback : imageStatus === "loading" || imageStatus === "idle" ? "loading" : showImage ? "image" : fallback;
63
+ const numericSizeStyle = typeof size === "number" ? { height: `${size}px`, width: `${size}px`, ...style } : style;
64
+ return /* @__PURE__ */ jsxs(
65
+ AvatarPrimitive.Root,
66
+ {
67
+ ...rootProps,
68
+ className: cn(
69
+ "relative inline-grid shrink-0 place-items-center rounded-full align-middle",
70
+ typeof size === "number" ? void 0 : sizeClassNames[size],
71
+ className
72
+ ),
73
+ "data-avatar-state": avatarState,
74
+ "data-slot": "avatar",
75
+ style: numericSizeStyle,
76
+ children: [
77
+ /* @__PURE__ */ jsxs(
78
+ "span",
79
+ {
80
+ "aria-hidden": "true",
81
+ className: cn(
82
+ "grid size-full place-items-center overflow-hidden rounded-[inherit]",
83
+ loading ? "animate-pulse bg-[var(--transparency-block)] motion-reduce:animate-none" : fallback === "empty" || imagePending ? "bg-transparent" : "bg-[var(--text-primary)] font-semibold leading-none text-[var(--text-inverted)]",
84
+ surfaceClassName
85
+ ),
86
+ "data-slot": "avatar-surface",
87
+ style: fallback === "initial" && fallbackColor && !showImage && !loading && !imagePending ? { backgroundColor: fallbackColor } : void 0,
88
+ children: [
89
+ /* @__PURE__ */ jsx(
90
+ AvatarPrimitive.Image,
91
+ {
92
+ ...imageProps,
93
+ alt: "",
94
+ className: cn(
95
+ "block size-full max-w-none object-cover",
96
+ imageClassName
97
+ ),
98
+ src: imageSrcForPrimitive,
99
+ onError: (event) => {
100
+ setImageState({ src: effectiveImageSrc, status: "error" });
101
+ imageProps?.onError?.(event);
102
+ },
103
+ onLoadingStatusChange: (status) => {
104
+ setImageState({ src: effectiveImageSrc, status });
105
+ imageProps?.onLoadingStatusChange?.(status);
106
+ }
107
+ }
108
+ ),
109
+ /* @__PURE__ */ jsx(AvatarPrimitive.Fallback, { children: loading || fallback === "empty" || imagePending ? null : avatarInitial(label, initial) })
110
+ ]
111
+ }
112
+ ),
113
+ children
114
+ ]
115
+ }
116
+ );
117
+ }
118
+
23
119
  // src/components/badge/badge.tsx
24
120
  import { cva } from "class-variance-authority";
25
121
  import { Slot } from "radix-ui";
26
- import { jsx } from "react/jsx-runtime";
122
+ import { jsx as jsx2 } from "react/jsx-runtime";
27
123
  var badgeVariants = cva(
28
124
  "group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-[4px] border border-transparent whitespace-nowrap transition-[background-color,border-color,color,box-shadow] focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/35 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none",
29
125
  {
@@ -60,7 +156,7 @@ function Badge({
60
156
  ...props
61
157
  }) {
62
158
  const Comp = asChild ? Slot.Root : "span";
63
- return /* @__PURE__ */ jsx(
159
+ return /* @__PURE__ */ jsx2(
64
160
  Comp,
65
161
  {
66
162
  "data-slot": "badge",
@@ -76,7 +172,7 @@ function Badge({
76
172
  import * as React from "react";
77
173
  import { cva as cva2 } from "class-variance-authority";
78
174
  import { Slot as Slot2 } from "radix-ui";
79
- import { jsx as jsx2 } from "react/jsx-runtime";
175
+ import { jsx as jsx3 } from "react/jsx-runtime";
80
176
  var bareIconButtonVariants = cva2(
81
177
  "inline-flex shrink-0 cursor-pointer items-center justify-center border border-transparent bg-transparent p-0 text-[var(--text-tertiary)] transition-[color,opacity,box-shadow] duration-150 outline-none select-none hover:border-transparent hover:bg-transparent hover:text-[var(--text-primary)] active:bg-transparent active:text-[var(--text-primary)] aria-expanded:bg-transparent aria-expanded:text-[var(--text-primary)] focus-visible:border-transparent focus-visible:bg-transparent focus-visible:text-[var(--text-primary)] focus-visible:ring-2 focus-visible:ring-[var(--border-focus)] disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-transparent disabled:text-[var(--text-disabled)] disabled:opacity-100 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
82
178
  {
@@ -102,7 +198,7 @@ var BareIconButton = React.forwardRef(
102
198
  ...props
103
199
  }, ref) => {
104
200
  const Comp = asChild ? Slot2.Root : "button";
105
- return /* @__PURE__ */ jsx2(
201
+ return /* @__PURE__ */ jsx3(
106
202
  Comp,
107
203
  {
108
204
  ref,
@@ -123,7 +219,7 @@ BareIconButton.displayName = "BareIconButton";
123
219
  import * as React2 from "react";
124
220
  import { cva as cva3 } from "class-variance-authority";
125
221
  import { Slot as Slot3 } from "radix-ui";
126
- import { jsx as jsx3 } from "react/jsx-runtime";
222
+ import { jsx as jsx4 } from "react/jsx-runtime";
127
223
  var buttonVariants = cva3(
128
224
  "group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent text-[13px] font-normal whitespace-nowrap transition-[background-color,border-color,color,box-shadow,transform] outline-none select-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/35 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
129
225
  {
@@ -172,7 +268,7 @@ var Button = React2.forwardRef(
172
268
  ...props
173
269
  }, ref) => {
174
270
  const Comp = asChild ? Slot3.Root : "button";
175
- return /* @__PURE__ */ jsx3(
271
+ return /* @__PURE__ */ jsx4(
176
272
  Comp,
177
273
  {
178
274
  ref,
@@ -188,13 +284,13 @@ var Button = React2.forwardRef(
188
284
  Button.displayName = "Button";
189
285
 
190
286
  // src/components/card/card.tsx
191
- import { jsx as jsx4 } from "react/jsx-runtime";
287
+ import { jsx as jsx5 } from "react/jsx-runtime";
192
288
  function Card({
193
289
  className,
194
290
  size = "default",
195
291
  ...props
196
292
  }) {
197
- return /* @__PURE__ */ jsx4(
293
+ return /* @__PURE__ */ jsx5(
198
294
  "div",
199
295
  {
200
296
  "data-slot": "card",
@@ -208,7 +304,7 @@ function Card({
208
304
  );
209
305
  }
210
306
  function CardHeader({ className, ...props }) {
211
- return /* @__PURE__ */ jsx4(
307
+ return /* @__PURE__ */ jsx5(
212
308
  "div",
213
309
  {
214
310
  "data-slot": "card-header",
@@ -221,7 +317,7 @@ function CardHeader({ className, ...props }) {
221
317
  );
222
318
  }
223
319
  function CardTitle({ className, ...props }) {
224
- return /* @__PURE__ */ jsx4(
320
+ return /* @__PURE__ */ jsx5(
225
321
  "div",
226
322
  {
227
323
  "data-slot": "card-title",
@@ -234,7 +330,7 @@ function CardTitle({ className, ...props }) {
234
330
  );
235
331
  }
236
332
  function CardDescription({ className, ...props }) {
237
- return /* @__PURE__ */ jsx4(
333
+ return /* @__PURE__ */ jsx5(
238
334
  "div",
239
335
  {
240
336
  "data-slot": "card-description",
@@ -247,7 +343,7 @@ function CardDescription({ className, ...props }) {
247
343
  );
248
344
  }
249
345
  function CardAction({ className, ...props }) {
250
- return /* @__PURE__ */ jsx4(
346
+ return /* @__PURE__ */ jsx5(
251
347
  "div",
252
348
  {
253
349
  "data-slot": "card-action",
@@ -260,7 +356,7 @@ function CardAction({ className, ...props }) {
260
356
  );
261
357
  }
262
358
  function CardContent({ className, ...props }) {
263
- return /* @__PURE__ */ jsx4(
359
+ return /* @__PURE__ */ jsx5(
264
360
  "div",
265
361
  {
266
362
  "data-slot": "card-content",
@@ -270,7 +366,7 @@ function CardContent({ className, ...props }) {
270
366
  );
271
367
  }
272
368
  function CardFooter({ className, ...props }) {
273
- return /* @__PURE__ */ jsx4(
369
+ return /* @__PURE__ */ jsx5(
274
370
  "div",
275
371
  {
276
372
  "data-slot": "card-footer",
@@ -285,12 +381,12 @@ function CardFooter({ className, ...props }) {
285
381
 
286
382
  // src/components/checkbox/checkbox.tsx
287
383
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
288
- import { jsx as jsx5, jsxs } from "react/jsx-runtime";
384
+ import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
289
385
  function Checkbox({
290
386
  className,
291
387
  ...props
292
388
  }) {
293
- return /* @__PURE__ */ jsx5(
389
+ return /* @__PURE__ */ jsx6(
294
390
  CheckboxPrimitive.Root,
295
391
  {
296
392
  "data-slot": "checkbox",
@@ -299,14 +395,14 @@ function Checkbox({
299
395
  className
300
396
  ),
301
397
  ...props,
302
- children: /* @__PURE__ */ jsxs(
398
+ children: /* @__PURE__ */ jsxs2(
303
399
  CheckboxPrimitive.Indicator,
304
400
  {
305
401
  "data-slot": "checkbox-indicator",
306
402
  className: "grid place-content-center text-current transition-none data-[state=checked]:[&>span]:hidden data-[state=indeterminate]:[&>svg]:hidden [&>svg]:size-3",
307
403
  children: [
308
- /* @__PURE__ */ jsx5(CheckIcon, { size: 14 }),
309
- /* @__PURE__ */ jsx5("span", { className: "h-0.5 w-2.5 rounded-full bg-current" })
404
+ /* @__PURE__ */ jsx6(CheckIcon, { size: 14 }),
405
+ /* @__PURE__ */ jsx6("span", { className: "h-0.5 w-2.5 rounded-full bg-current" })
310
406
  ]
311
407
  }
312
408
  )
@@ -318,7 +414,7 @@ function Checkbox({
318
414
  import * as React4 from "react";
319
415
 
320
416
  // src/components/input/input.tsx
321
- import { jsx as jsx6 } from "react/jsx-runtime";
417
+ import { jsx as jsx7 } from "react/jsx-runtime";
322
418
  var inputVariantClassNames = {
323
419
  default: "h-8 rounded-md px-3 py-0 text-[13px] leading-[1.3]",
324
420
  lg: "h-12 rounded-[8px] px-4 py-3 text-[15px] leading-[1.3]",
@@ -334,7 +430,7 @@ function Input({
334
430
  ...props
335
431
  }) {
336
432
  const resolvedVariant = variant ?? (size === "sm" ? "sm" : "default");
337
- return /* @__PURE__ */ jsx6(
433
+ return /* @__PURE__ */ jsx7(
338
434
  "input",
339
435
  {
340
436
  type,
@@ -355,7 +451,7 @@ function Input({
355
451
  // src/components/menu-surface/menu-surface.tsx
356
452
  import * as React3 from "react";
357
453
  import { Slot as Slot4 } from "radix-ui";
358
- import { jsx as jsx7 } from "react/jsx-runtime";
454
+ import { jsx as jsx8 } from "react/jsx-runtime";
359
455
  var menuSurfaceClassName = "t-dropdown flex flex-col gap-0.5 rounded-[8px] border border-[var(--border-1)] bg-[var(--background-fronted)] p-1 text-[13px] text-[var(--text-primary)] shadow-panel outline-none";
360
456
  var menuItemClassName = "relative flex cursor-pointer items-center gap-1.5 rounded-sm px-2 py-1 text-[13px] text-[var(--text-primary)] outline-hidden transition-colors duration-200 select-none hover:bg-[var(--transparency-hover)] hover:text-[var(--text-primary)] focus:bg-[var(--transparency-hover)] focus:text-[var(--text-primary)] data-[highlighted]:bg-[var(--transparency-hover)] data-[highlighted]:text-[var(--text-primary)] data-disabled:pointer-events-none data-disabled:text-[var(--text-disabled)] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:min-w-0 *:[span]:last:flex-1 *:[span]:last:items-center *:[span]:last:gap-2";
361
457
  var menuItemWithIndicatorClassName = `${menuItemClassName} pr-8`;
@@ -369,7 +465,7 @@ var MenuSurface = React3.forwardRef(
369
465
  ...props
370
466
  }, ref) => {
371
467
  const Comp = asChild ? Slot4.Root : "div";
372
- return /* @__PURE__ */ jsx7(
468
+ return /* @__PURE__ */ jsx8(
373
469
  Comp,
374
470
  {
375
471
  ...props,
@@ -384,26 +480,26 @@ MenuSurface.displayName = "MenuSurface";
384
480
 
385
481
  // src/components/popover/popover.tsx
386
482
  import { Popover as PopoverPrimitive } from "radix-ui";
387
- import { jsx as jsx8 } from "react/jsx-runtime";
483
+ import { jsx as jsx9 } from "react/jsx-runtime";
388
484
  function Popover({
389
485
  ...props
390
486
  }) {
391
- return /* @__PURE__ */ jsx8(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
487
+ return /* @__PURE__ */ jsx9(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
392
488
  }
393
489
  function PopoverTrigger({
394
490
  ...props
395
491
  }) {
396
- return /* @__PURE__ */ jsx8(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
492
+ return /* @__PURE__ */ jsx9(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
397
493
  }
398
494
  function PopoverPortal({
399
495
  ...props
400
496
  }) {
401
- return /* @__PURE__ */ jsx8(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
497
+ return /* @__PURE__ */ jsx9(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
402
498
  }
403
499
  function PopoverClose({
404
500
  ...props
405
501
  }) {
406
- return /* @__PURE__ */ jsx8(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
502
+ return /* @__PURE__ */ jsx9(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
407
503
  }
408
504
  function PopoverContent({
409
505
  className,
@@ -411,7 +507,7 @@ function PopoverContent({
411
507
  sideOffset = 4,
412
508
  ...props
413
509
  }) {
414
- return /* @__PURE__ */ jsx8(PopoverPortal, { children: /* @__PURE__ */ jsx8(
510
+ return /* @__PURE__ */ jsx9(PopoverPortal, { children: /* @__PURE__ */ jsx9(
415
511
  PopoverPrimitive.Content,
416
512
  {
417
513
  "data-slot": "popover-content",
@@ -429,11 +525,11 @@ function PopoverContent({
429
525
  function PopoverAnchor({
430
526
  ...props
431
527
  }) {
432
- return /* @__PURE__ */ jsx8(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
528
+ return /* @__PURE__ */ jsx9(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
433
529
  }
434
530
 
435
531
  // src/components/combobox/combobox.tsx
436
- import { jsx as jsx9, jsxs as jsxs2 } from "react/jsx-runtime";
532
+ import { jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
437
533
  var comboboxItemClassName = "relative flex w-full cursor-pointer scroll-my-1 flex-col items-start gap-0.5 rounded-sm px-2 py-1 pr-8 text-left text-[13px] text-[var(--text-primary)] outline-hidden transition-colors duration-200 select-none data-[active=true]:bg-[var(--transparency-hover)] data-disabled:pointer-events-none data-disabled:text-[var(--text-disabled)]";
438
534
  function comboboxOptionMatches(option, query) {
439
535
  if (!query) {
@@ -510,8 +606,8 @@ function Combobox({
510
606
  }
511
607
  }
512
608
  };
513
- return /* @__PURE__ */ jsxs2(Popover, { open, onOpenChange, children: [
514
- /* @__PURE__ */ jsx9(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs2(
609
+ return /* @__PURE__ */ jsxs3(Popover, { open, onOpenChange, children: [
610
+ /* @__PURE__ */ jsx10(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs3(
515
611
  "button",
516
612
  {
517
613
  "aria-label": ariaLabel,
@@ -524,7 +620,7 @@ function Combobox({
524
620
  disabled,
525
621
  type: "button",
526
622
  children: [
527
- /* @__PURE__ */ jsx9(
623
+ /* @__PURE__ */ jsx10(
528
624
  "span",
529
625
  {
530
626
  className: cn(
@@ -534,11 +630,11 @@ function Combobox({
534
630
  children: triggerLabel || placeholder
535
631
  }
536
632
  ),
537
- /* @__PURE__ */ jsx9(ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-current" })
633
+ /* @__PURE__ */ jsx10(ChevronDownIcon, { className: "pointer-events-none size-4 shrink-0 text-current" })
538
634
  ]
539
635
  }
540
636
  ) }),
541
- /* @__PURE__ */ jsxs2(
637
+ /* @__PURE__ */ jsxs3(
542
638
  PopoverContent,
543
639
  {
544
640
  align,
@@ -552,7 +648,7 @@ function Combobox({
552
648
  event.preventDefault();
553
649
  },
554
650
  children: [
555
- /* @__PURE__ */ jsx9(
651
+ /* @__PURE__ */ jsx10(
556
652
  Input,
557
653
  {
558
654
  "aria-activedescendant": rows[clampedActiveIndex] ? `${listboxID}-${clampedActiveIndex}` : void 0,
@@ -572,16 +668,16 @@ function Combobox({
572
668
  onKeyDown: onSearchKeyDown
573
669
  }
574
670
  ),
575
- /* @__PURE__ */ jsx9(
671
+ /* @__PURE__ */ jsx10(
576
672
  "div",
577
673
  {
578
674
  className: "mt-1 flex max-h-56 flex-col gap-0.5 overflow-y-auto overscroll-contain",
579
675
  "data-slot": "combobox-listbox",
580
676
  id: listboxID,
581
677
  role: "listbox",
582
- children: rows.length === 0 ? /* @__PURE__ */ jsx9("span", { className: "px-2 py-1.5 text-[12px] text-[var(--text-tertiary)]", children: emptyMessage }) : rows.map((row, index) => {
678
+ children: rows.length === 0 ? /* @__PURE__ */ jsx10("span", { className: "px-2 py-1.5 text-[12px] text-[var(--text-tertiary)]", children: emptyMessage }) : rows.map((row, index) => {
583
679
  const isCustomRow = customValue !== null && index === rows.length - 1;
584
- return /* @__PURE__ */ jsxs2(
680
+ return /* @__PURE__ */ jsxs3(
585
681
  "button",
586
682
  {
587
683
  "aria-selected": row.value === value,
@@ -596,9 +692,9 @@ function Combobox({
596
692
  onClick: () => commit(row),
597
693
  onPointerMove: () => setActiveIndex(index),
598
694
  children: [
599
- /* @__PURE__ */ jsx9("span", { className: "w-full truncate pr-2", children: isCustomRow ? customValueLabel?.(row.value) ?? row.label : row.label }),
600
- row.description ? /* @__PURE__ */ jsx9("span", { className: "w-full truncate pr-2 text-[11px] text-[var(--text-tertiary)]", children: row.description }) : null,
601
- row.value === value ? /* @__PURE__ */ jsx9("span", { className: menuItemIndicatorClassName, children: /* @__PURE__ */ jsx9(CheckIcon, { className: "pointer-events-none" }) }) : null
695
+ /* @__PURE__ */ jsx10("span", { className: "w-full truncate pr-2", children: isCustomRow ? customValueLabel?.(row.value) ?? row.label : row.label }),
696
+ row.description ? /* @__PURE__ */ jsx10("span", { className: "w-full truncate pr-2 text-[11px] text-[var(--text-tertiary)]", children: row.description }) : null,
697
+ row.value === value ? /* @__PURE__ */ jsx10("span", { className: menuItemIndicatorClassName, children: /* @__PURE__ */ jsx10(CheckIcon, { className: "pointer-events-none" }) }) : null
602
698
  ]
603
699
  },
604
700
  `${row.value}:${isCustomRow ? "custom" : "option"}`
@@ -615,7 +711,7 @@ function Combobox({
615
711
  // src/components/dialog/dialog.tsx
616
712
  import * as React5 from "react";
617
713
  import { Dialog as DialogPrimitive } from "radix-ui";
618
- import { Fragment, jsx as jsx10, jsxs as jsxs3 } from "react/jsx-runtime";
714
+ import { Fragment, jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
619
715
  var dialogCloseDurationMs = 150;
620
716
  var DialogMotionContext = React5.createContext({
621
717
  open: false
@@ -639,7 +735,7 @@ function Dialog({
639
735
  },
640
736
  [onOpenChange, open]
641
737
  );
642
- return /* @__PURE__ */ jsx10(DialogMotionContext.Provider, { value: { open: currentOpen }, children: /* @__PURE__ */ jsx10(
738
+ return /* @__PURE__ */ jsx11(DialogMotionContext.Provider, { value: { open: currentOpen }, children: /* @__PURE__ */ jsx11(
643
739
  DialogPrimitive.Root,
644
740
  {
645
741
  "data-slot": "dialog",
@@ -652,24 +748,24 @@ function Dialog({
652
748
  function DialogTrigger({
653
749
  ...props
654
750
  }) {
655
- return /* @__PURE__ */ jsx10(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
751
+ return /* @__PURE__ */ jsx11(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
656
752
  }
657
753
  function DialogPortal({
658
754
  ...props
659
755
  }) {
660
- return /* @__PURE__ */ jsx10(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
756
+ return /* @__PURE__ */ jsx11(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
661
757
  }
662
758
  function DialogClose({
663
759
  ...props
664
760
  }) {
665
- return /* @__PURE__ */ jsx10(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
761
+ return /* @__PURE__ */ jsx11(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
666
762
  }
667
763
  function DialogOverlay({
668
764
  className,
669
765
  style,
670
766
  ...props
671
767
  }) {
672
- return /* @__PURE__ */ jsx10(
768
+ return /* @__PURE__ */ jsx11(
673
769
  DialogPrimitive.Overlay,
674
770
  {
675
771
  "data-slot": "dialog-overlay",
@@ -708,9 +804,9 @@ function DialogContent({
708
804
  if (!mounted) {
709
805
  return null;
710
806
  }
711
- const content = /* @__PURE__ */ jsxs3(Fragment, { children: [
712
- /* @__PURE__ */ jsx10(DialogOverlay, { className: overlayClassName, forceMount: true }),
713
- /* @__PURE__ */ jsxs3(
807
+ const content = /* @__PURE__ */ jsxs4(Fragment, { children: [
808
+ /* @__PURE__ */ jsx11(DialogOverlay, { className: overlayClassName, forceMount: true }),
809
+ /* @__PURE__ */ jsxs4(
714
810
  DialogPrimitive.Content,
715
811
  {
716
812
  "data-slot": "dialog-content",
@@ -724,15 +820,15 @@ function DialogContent({
724
820
  ...props,
725
821
  children: [
726
822
  children,
727
- showCloseButton && /* @__PURE__ */ jsx10(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs3(
823
+ showCloseButton && /* @__PURE__ */ jsx11(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs4(
728
824
  Button,
729
825
  {
730
826
  variant: "ghost",
731
827
  className: "absolute top-3 right-3",
732
828
  size: "icon-sm",
733
829
  children: [
734
- /* @__PURE__ */ jsx10(CloseIcon, {}),
735
- /* @__PURE__ */ jsx10("span", { className: "sr-only", children: "Close" })
830
+ /* @__PURE__ */ jsx11(CloseIcon, {}),
831
+ /* @__PURE__ */ jsx11("span", { className: "sr-only", children: "Close" })
736
832
  ]
737
833
  }
738
834
  ) })
@@ -743,10 +839,10 @@ function DialogContent({
743
839
  if (!portaled) {
744
840
  return content;
745
841
  }
746
- return /* @__PURE__ */ jsx10(DialogPortal, { forceMount: true, children: content });
842
+ return /* @__PURE__ */ jsx11(DialogPortal, { forceMount: true, children: content });
747
843
  }
748
844
  function DialogHeader({ className, ...props }) {
749
- return /* @__PURE__ */ jsx10(
845
+ return /* @__PURE__ */ jsx11(
750
846
  "div",
751
847
  {
752
848
  "data-slot": "dialog-header",
@@ -761,7 +857,7 @@ function DialogFooter({
761
857
  children,
762
858
  ...props
763
859
  }) {
764
- return /* @__PURE__ */ jsxs3(
860
+ return /* @__PURE__ */ jsxs4(
765
861
  "div",
766
862
  {
767
863
  "data-slot": "dialog-footer",
@@ -772,7 +868,7 @@ function DialogFooter({
772
868
  ...props,
773
869
  children: [
774
870
  children,
775
- showCloseButton && /* @__PURE__ */ jsx10(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx10(Button, { variant: "ghost", size: "dialog", children: "Close" }) })
871
+ showCloseButton && /* @__PURE__ */ jsx11(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx11(Button, { variant: "ghost", size: "dialog", children: "Close" }) })
776
872
  ]
777
873
  }
778
874
  );
@@ -781,7 +877,7 @@ function DialogTitle({
781
877
  className,
782
878
  ...props
783
879
  }) {
784
- return /* @__PURE__ */ jsx10(
880
+ return /* @__PURE__ */ jsx11(
785
881
  DialogPrimitive.Title,
786
882
  {
787
883
  "data-slot": "dialog-title",
@@ -797,7 +893,7 @@ function DialogDescription({
797
893
  className,
798
894
  ...props
799
895
  }) {
800
- return /* @__PURE__ */ jsx10(
896
+ return /* @__PURE__ */ jsx11(
801
897
  DialogPrimitive.Description,
802
898
  {
803
899
  "data-slot": "dialog-description",
@@ -811,7 +907,7 @@ function DialogDescription({
811
907
  }
812
908
 
813
909
  // src/components/confirmation-dialog/confirmation-dialog.tsx
814
- import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
910
+ import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
815
911
  function confirmToneClassName(tone) {
816
912
  if (tone === "destructive") {
817
913
  return "shadow-none";
@@ -839,7 +935,7 @@ function ConfirmationDialog({
839
935
  title
840
936
  }) {
841
937
  const isCloseDisabled = disableCloseWhileBusy && confirmBusy;
842
- return /* @__PURE__ */ jsx11(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs4(
938
+ return /* @__PURE__ */ jsx12(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs5(
843
939
  DialogContent,
844
940
  {
845
941
  className: cn(
@@ -860,13 +956,13 @@ function ConfirmationDialog({
860
956
  }
861
957
  },
862
958
  children: [
863
- /* @__PURE__ */ jsxs4(DialogHeader, { children: [
864
- /* @__PURE__ */ jsx11(DialogTitle, { children: title }),
865
- description ? /* @__PURE__ */ jsx11(DialogDescription, { children: description }) : null
959
+ /* @__PURE__ */ jsxs5(DialogHeader, { children: [
960
+ /* @__PURE__ */ jsx12(DialogTitle, { children: title }),
961
+ description ? /* @__PURE__ */ jsx12(DialogDescription, { children: description }) : null
866
962
  ] }),
867
- children ? /* @__PURE__ */ jsx11("div", { className: "text-[13px] leading-[1.3] text-text-secondary", children }) : null,
868
- footer ?? /* @__PURE__ */ jsxs4(DialogFooter, { children: [
869
- /* @__PURE__ */ jsx11(
963
+ children ? /* @__PURE__ */ jsx12("div", { className: "text-[13px] leading-[1.3] text-text-secondary", children }) : null,
964
+ footer ?? /* @__PURE__ */ jsxs5(DialogFooter, { children: [
965
+ /* @__PURE__ */ jsx12(
870
966
  Button,
871
967
  {
872
968
  disabled: confirmBusy,
@@ -880,7 +976,7 @@ function ConfirmationDialog({
880
976
  children: cancelLabel
881
977
  }
882
978
  ),
883
- hideConfirmButton ? null : /* @__PURE__ */ jsx11(
979
+ hideConfirmButton ? null : /* @__PURE__ */ jsx12(
884
980
  Button,
885
981
  {
886
982
  disabled: confirmBusy || confirmDisabled,
@@ -902,16 +998,16 @@ function ConfirmationDialog({
902
998
 
903
999
  // src/components/context-menu/context-menu.tsx
904
1000
  import { ContextMenu as ContextMenuPrimitive } from "radix-ui";
905
- import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
1001
+ import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
906
1002
  function ContextMenu({
907
1003
  ...props
908
1004
  }) {
909
- return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
1005
+ return /* @__PURE__ */ jsx13(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
910
1006
  }
911
1007
  function ContextMenuTrigger({
912
1008
  ...props
913
1009
  }) {
914
- return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
1010
+ return /* @__PURE__ */ jsx13(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
915
1011
  }
916
1012
  function ContextMenuContent({
917
1013
  className,
@@ -919,13 +1015,13 @@ function ContextMenuContent({
919
1015
  style,
920
1016
  ...props
921
1017
  }) {
922
- return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx12(
1018
+ return /* @__PURE__ */ jsx13(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx13(
923
1019
  ContextMenuPrimitive.Content,
924
1020
  {
925
1021
  asChild: true,
926
1022
  "data-slot": "context-menu-content",
927
1023
  ...props,
928
- children: /* @__PURE__ */ jsx12(
1024
+ children: /* @__PURE__ */ jsx13(
929
1025
  MenuSurface,
930
1026
  {
931
1027
  "data-slot": "context-menu-content",
@@ -946,7 +1042,7 @@ function ContextMenuItem({
946
1042
  variant = "default",
947
1043
  ...props
948
1044
  }) {
949
- return /* @__PURE__ */ jsx12(
1045
+ return /* @__PURE__ */ jsx13(
950
1046
  ContextMenuPrimitive.Item,
951
1047
  {
952
1048
  "data-inset": inset,
@@ -966,7 +1062,7 @@ function ContextMenuSeparator({
966
1062
  className,
967
1063
  ...props
968
1064
  }) {
969
- return /* @__PURE__ */ jsx12(
1065
+ return /* @__PURE__ */ jsx13(
970
1066
  ContextMenuPrimitive.Separator,
971
1067
  {
972
1068
  "data-slot": "context-menu-separator",
@@ -978,14 +1074,14 @@ function ContextMenuSeparator({
978
1074
  function ContextMenuSub({
979
1075
  ...props
980
1076
  }) {
981
- return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
1077
+ return /* @__PURE__ */ jsx13(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
982
1078
  }
983
1079
  function ContextMenuSubTrigger({
984
1080
  className,
985
1081
  children,
986
1082
  ...props
987
1083
  }) {
988
- return /* @__PURE__ */ jsxs5(
1084
+ return /* @__PURE__ */ jsxs6(
989
1085
  ContextMenuPrimitive.SubTrigger,
990
1086
  {
991
1087
  "data-slot": "context-menu-sub-trigger",
@@ -997,7 +1093,7 @@ function ContextMenuSubTrigger({
997
1093
  ...props,
998
1094
  children: [
999
1095
  children,
1000
- /* @__PURE__ */ jsx12(ArrowRightIcon, { className: "ml-auto text-[var(--text-tertiary)]" })
1096
+ /* @__PURE__ */ jsx13(ArrowRightIcon, { className: "ml-auto text-[var(--text-tertiary)]" })
1001
1097
  ]
1002
1098
  }
1003
1099
  );
@@ -1008,13 +1104,13 @@ function ContextMenuSubContent({
1008
1104
  style,
1009
1105
  ...props
1010
1106
  }) {
1011
- return /* @__PURE__ */ jsx12(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx12(
1107
+ return /* @__PURE__ */ jsx13(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx13(
1012
1108
  ContextMenuPrimitive.SubContent,
1013
1109
  {
1014
1110
  asChild: true,
1015
1111
  "data-slot": "context-menu-sub-content",
1016
1112
  ...props,
1017
- children: /* @__PURE__ */ jsx12(
1113
+ children: /* @__PURE__ */ jsx13(
1018
1114
  MenuSurface,
1019
1115
  {
1020
1116
  "data-slot": "context-menu-sub-content",
@@ -1030,7 +1126,7 @@ function ContextMenuSubContent({
1030
1126
  // src/components/date-picker/date-picker.tsx
1031
1127
  import * as React6 from "react";
1032
1128
  import { createPortal } from "react-dom";
1033
- import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
1129
+ import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
1034
1130
  var defaultLabels = {
1035
1131
  placeholder: "Year / Month / Day",
1036
1132
  previousMonth: "Previous month",
@@ -1233,8 +1329,8 @@ var DatePicker = React6.forwardRef(
1233
1329
  setIsOpen(false);
1234
1330
  triggerRef.current?.focus();
1235
1331
  };
1236
- return /* @__PURE__ */ jsxs6(Fragment2, { children: [
1237
- /* @__PURE__ */ jsx13(
1332
+ return /* @__PURE__ */ jsxs7(Fragment2, { children: [
1333
+ /* @__PURE__ */ jsx14(
1238
1334
  "button",
1239
1335
  {
1240
1336
  ref: (node) => {
@@ -1265,11 +1361,11 @@ var DatePicker = React6.forwardRef(
1265
1361
  }
1266
1362
  },
1267
1363
  ...props,
1268
- children: /* @__PURE__ */ jsx13("span", { className: "min-w-0 truncate", children: displayValue })
1364
+ children: /* @__PURE__ */ jsx14("span", { className: "min-w-0 truncate", children: displayValue })
1269
1365
  }
1270
1366
  ),
1271
1367
  isOpen && popoverPosition ? createPortal(
1272
- /* @__PURE__ */ jsxs6(
1368
+ /* @__PURE__ */ jsxs7(
1273
1369
  "div",
1274
1370
  {
1275
1371
  ref: popoverRef,
@@ -1282,10 +1378,10 @@ var DatePicker = React6.forwardRef(
1282
1378
  zIndex: "var(--z-popover)"
1283
1379
  },
1284
1380
  children: [
1285
- /* @__PURE__ */ jsxs6("div", { className: "mb-3 flex items-center justify-between gap-2", children: [
1286
- /* @__PURE__ */ jsx13("div", { className: "text-[13px] font-semibold text-foreground", children: formatMonthLabel(visibleMonth) }),
1287
- /* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-1", children: [
1288
- /* @__PURE__ */ jsx13(
1381
+ /* @__PURE__ */ jsxs7("div", { className: "mb-3 flex items-center justify-between gap-2", children: [
1382
+ /* @__PURE__ */ jsx14("div", { className: "text-[13px] font-semibold text-foreground", children: formatMonthLabel(visibleMonth) }),
1383
+ /* @__PURE__ */ jsxs7("div", { className: "flex items-center gap-1", children: [
1384
+ /* @__PURE__ */ jsx14(
1289
1385
  "button",
1290
1386
  {
1291
1387
  "aria-label": resolvedLabels.previousMonth,
@@ -1298,10 +1394,10 @@ var DatePicker = React6.forwardRef(
1298
1394
  1
1299
1395
  )
1300
1396
  ),
1301
- children: /* @__PURE__ */ jsx13(ArrowLeftIcon, { size: 16 })
1397
+ children: /* @__PURE__ */ jsx14(ArrowLeftIcon, { size: 16 })
1302
1398
  }
1303
1399
  ),
1304
- /* @__PURE__ */ jsx13(
1400
+ /* @__PURE__ */ jsx14(
1305
1401
  "button",
1306
1402
  {
1307
1403
  "aria-label": resolvedLabels.nextMonth,
@@ -1314,13 +1410,13 @@ var DatePicker = React6.forwardRef(
1314
1410
  1
1315
1411
  )
1316
1412
  ),
1317
- children: /* @__PURE__ */ jsx13(ArrowRightIcon, { size: 16 })
1413
+ children: /* @__PURE__ */ jsx14(ArrowRightIcon, { size: 16 })
1318
1414
  }
1319
1415
  )
1320
1416
  ] })
1321
1417
  ] }),
1322
- /* @__PURE__ */ jsx13("div", { className: "grid grid-cols-7 gap-1 text-center text-[11px] font-semibold text-muted-foreground", children: resolvedLabels.weekdayLabels.map((day) => /* @__PURE__ */ jsx13("div", { className: "py-1", children: day }, day)) }),
1323
- /* @__PURE__ */ jsx13(
1418
+ /* @__PURE__ */ jsx14("div", { className: "grid grid-cols-7 gap-1 text-center text-[11px] font-semibold text-muted-foreground", children: resolvedLabels.weekdayLabels.map((day) => /* @__PURE__ */ jsx14("div", { className: "py-1", children: day }, day)) }),
1419
+ /* @__PURE__ */ jsx14(
1324
1420
  "div",
1325
1421
  {
1326
1422
  className: "mt-1 grid grid-cols-7 justify-items-center gap-1",
@@ -1329,7 +1425,7 @@ var DatePicker = React6.forwardRef(
1329
1425
  const isSelected = isSameDate(date, selectedDate);
1330
1426
  const isToday = isSameDate(date, today);
1331
1427
  const inCurrentMonth = date.getMonth() === visibleMonth.getMonth();
1332
- return /* @__PURE__ */ jsx13(
1428
+ return /* @__PURE__ */ jsx14(
1333
1429
  "button",
1334
1430
  {
1335
1431
  "aria-pressed": isSelected,
@@ -1349,8 +1445,8 @@ var DatePicker = React6.forwardRef(
1349
1445
  })
1350
1446
  }
1351
1447
  ),
1352
- /* @__PURE__ */ jsxs6("div", { className: "mt-3 flex items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
1353
- /* @__PURE__ */ jsx13(
1448
+ /* @__PURE__ */ jsxs7("div", { className: "mt-3 flex items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
1449
+ /* @__PURE__ */ jsx14(
1354
1450
  "button",
1355
1451
  {
1356
1452
  className: "inline-flex min-h-8 items-center justify-center rounded-sm px-3 text-[13px] font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
@@ -1363,7 +1459,7 @@ var DatePicker = React6.forwardRef(
1363
1459
  children: resolvedLabels.clear
1364
1460
  }
1365
1461
  ),
1366
- /* @__PURE__ */ jsx13(
1462
+ /* @__PURE__ */ jsx14(
1367
1463
  "button",
1368
1464
  {
1369
1465
  className: "inline-flex min-h-8 items-center justify-center rounded-sm bg-primary px-3 text-[13px] font-medium text-primary-foreground transition-opacity hover:opacity-90",
@@ -1385,33 +1481,33 @@ DatePicker.displayName = "DatePicker";
1385
1481
 
1386
1482
  // src/components/drawer/drawer.tsx
1387
1483
  import { Drawer as DrawerPrimitive } from "vaul";
1388
- import { jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
1484
+ import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
1389
1485
  function Drawer({
1390
1486
  ...props
1391
1487
  }) {
1392
- return /* @__PURE__ */ jsx14(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
1488
+ return /* @__PURE__ */ jsx15(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
1393
1489
  }
1394
1490
  function DrawerTrigger({
1395
1491
  ...props
1396
1492
  }) {
1397
- return /* @__PURE__ */ jsx14(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
1493
+ return /* @__PURE__ */ jsx15(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
1398
1494
  }
1399
1495
  function DrawerPortal({
1400
1496
  ...props
1401
1497
  }) {
1402
- return /* @__PURE__ */ jsx14(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
1498
+ return /* @__PURE__ */ jsx15(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
1403
1499
  }
1404
1500
  function DrawerClose({
1405
1501
  ...props
1406
1502
  }) {
1407
- return /* @__PURE__ */ jsx14(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
1503
+ return /* @__PURE__ */ jsx15(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
1408
1504
  }
1409
1505
  function DrawerOverlay({
1410
1506
  className,
1411
1507
  style,
1412
1508
  ...props
1413
1509
  }) {
1414
- return /* @__PURE__ */ jsx14(
1510
+ return /* @__PURE__ */ jsx15(
1415
1511
  DrawerPrimitive.Overlay,
1416
1512
  {
1417
1513
  "data-slot": "drawer-overlay",
@@ -1432,9 +1528,9 @@ function DrawerContent({
1432
1528
  style,
1433
1529
  ...props
1434
1530
  }) {
1435
- return /* @__PURE__ */ jsxs7(DrawerPortal, { "data-slot": "drawer-portal", container: portalContainer, children: [
1436
- showOverlay ? /* @__PURE__ */ jsx14(DrawerOverlay, {}) : null,
1437
- /* @__PURE__ */ jsxs7(
1531
+ return /* @__PURE__ */ jsxs8(DrawerPortal, { "data-slot": "drawer-portal", container: portalContainer, children: [
1532
+ showOverlay ? /* @__PURE__ */ jsx15(DrawerOverlay, {}) : null,
1533
+ /* @__PURE__ */ jsxs8(
1438
1534
  DrawerPrimitive.Content,
1439
1535
  {
1440
1536
  "data-slot": "drawer-content",
@@ -1449,7 +1545,7 @@ function DrawerContent({
1449
1545
  style: { zIndex: "var(--z-dialog)", ...style },
1450
1546
  ...props,
1451
1547
  children: [
1452
- /* @__PURE__ */ jsx14("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
1548
+ /* @__PURE__ */ jsx15("div", { className: "mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
1453
1549
  children
1454
1550
  ]
1455
1551
  }
@@ -1457,7 +1553,7 @@ function DrawerContent({
1457
1553
  ] });
1458
1554
  }
1459
1555
  function DrawerHeader({ className, ...props }) {
1460
- return /* @__PURE__ */ jsx14(
1556
+ return /* @__PURE__ */ jsx15(
1461
1557
  "div",
1462
1558
  {
1463
1559
  "data-slot": "drawer-header",
@@ -1470,7 +1566,7 @@ function DrawerHeader({ className, ...props }) {
1470
1566
  );
1471
1567
  }
1472
1568
  function DrawerFooter({ className, ...props }) {
1473
- return /* @__PURE__ */ jsx14(
1569
+ return /* @__PURE__ */ jsx15(
1474
1570
  "div",
1475
1571
  {
1476
1572
  "data-slot": "drawer-footer",
@@ -1483,7 +1579,7 @@ function DrawerTitle({
1483
1579
  className,
1484
1580
  ...props
1485
1581
  }) {
1486
- return /* @__PURE__ */ jsx14(
1582
+ return /* @__PURE__ */ jsx15(
1487
1583
  DrawerPrimitive.Title,
1488
1584
  {
1489
1585
  "data-slot": "drawer-title",
@@ -1499,7 +1595,7 @@ function DrawerDescription({
1499
1595
  className,
1500
1596
  ...props
1501
1597
  }) {
1502
- return /* @__PURE__ */ jsx14(
1598
+ return /* @__PURE__ */ jsx15(
1503
1599
  DrawerPrimitive.Description,
1504
1600
  {
1505
1601
  "data-slot": "drawer-description",
@@ -1511,21 +1607,21 @@ function DrawerDescription({
1511
1607
 
1512
1608
  // src/components/dropdown-menu/dropdown-menu.tsx
1513
1609
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
1514
- import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
1610
+ import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
1515
1611
  function DropdownMenu({
1516
1612
  ...props
1517
1613
  }) {
1518
- return /* @__PURE__ */ jsx15(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1614
+ return /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1519
1615
  }
1520
1616
  function DropdownMenuPortal({
1521
1617
  ...props
1522
1618
  }) {
1523
- return /* @__PURE__ */ jsx15(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1619
+ return /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1524
1620
  }
1525
1621
  function DropdownMenuTrigger({
1526
1622
  ...props
1527
1623
  }) {
1528
- return /* @__PURE__ */ jsx15(
1624
+ return /* @__PURE__ */ jsx16(
1529
1625
  DropdownMenuPrimitive.Trigger,
1530
1626
  {
1531
1627
  "data-slot": "dropdown-menu-trigger",
@@ -1541,7 +1637,7 @@ function DropdownMenuContent({
1541
1637
  style,
1542
1638
  ...props
1543
1639
  }) {
1544
- return /* @__PURE__ */ jsx15(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx15(
1640
+ return /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
1545
1641
  DropdownMenuPrimitive.Content,
1546
1642
  {
1547
1643
  asChild: true,
@@ -1549,7 +1645,7 @@ function DropdownMenuContent({
1549
1645
  align,
1550
1646
  sideOffset,
1551
1647
  ...props,
1552
- children: /* @__PURE__ */ jsx15(
1648
+ children: /* @__PURE__ */ jsx16(
1553
1649
  MenuSurface,
1554
1650
  {
1555
1651
  "data-slot": "dropdown-menu-content",
@@ -1568,7 +1664,7 @@ function DropdownMenuGroup({
1568
1664
  className,
1569
1665
  ...props
1570
1666
  }) {
1571
- return /* @__PURE__ */ jsx15(
1667
+ return /* @__PURE__ */ jsx16(
1572
1668
  DropdownMenuPrimitive.Group,
1573
1669
  {
1574
1670
  "data-slot": "dropdown-menu-group",
@@ -1583,7 +1679,7 @@ function DropdownMenuItem({
1583
1679
  variant = "default",
1584
1680
  ...props
1585
1681
  }) {
1586
- return /* @__PURE__ */ jsx15(
1682
+ return /* @__PURE__ */ jsx16(
1587
1683
  DropdownMenuPrimitive.Item,
1588
1684
  {
1589
1685
  "data-inset": inset,
@@ -1606,7 +1702,7 @@ function DropdownMenuCheckboxItem({
1606
1702
  inset,
1607
1703
  ...props
1608
1704
  }) {
1609
- return /* @__PURE__ */ jsxs8(
1705
+ return /* @__PURE__ */ jsxs9(
1610
1706
  DropdownMenuPrimitive.CheckboxItem,
1611
1707
  {
1612
1708
  checked,
@@ -1619,14 +1715,14 @@ function DropdownMenuCheckboxItem({
1619
1715
  ),
1620
1716
  ...props,
1621
1717
  children: [
1622
- /* @__PURE__ */ jsx15(
1718
+ /* @__PURE__ */ jsx16(
1623
1719
  "span",
1624
1720
  {
1625
1721
  className: menuItemIndicatorClassName,
1626
1722
  "data-slot": "dropdown-menu-checkbox-item-indicator",
1627
- children: /* @__PURE__ */ jsxs8(DropdownMenuPrimitive.ItemIndicator, { className: "grid place-content-center text-[var(--tutti-purple)]", children: [
1628
- /* @__PURE__ */ jsx15(CheckIcon, { "data-slot": "dropdown-menu-checkbox-item-check" }),
1629
- /* @__PURE__ */ jsx15(
1723
+ children: /* @__PURE__ */ jsxs9(DropdownMenuPrimitive.ItemIndicator, { className: "grid place-content-center text-[var(--tutti-purple)]", children: [
1724
+ /* @__PURE__ */ jsx16(CheckIcon, { "data-slot": "dropdown-menu-checkbox-item-check" }),
1725
+ /* @__PURE__ */ jsx16(
1630
1726
  "span",
1631
1727
  {
1632
1728
  "aria-hidden": "true",
@@ -1646,7 +1742,7 @@ function DropdownMenuRadioGroup({
1646
1742
  className,
1647
1743
  ...props
1648
1744
  }) {
1649
- return /* @__PURE__ */ jsx15(
1745
+ return /* @__PURE__ */ jsx16(
1650
1746
  DropdownMenuPrimitive.RadioGroup,
1651
1747
  {
1652
1748
  "data-slot": "dropdown-menu-radio-group",
@@ -1661,7 +1757,7 @@ function DropdownMenuRadioItem({
1661
1757
  inset,
1662
1758
  ...props
1663
1759
  }) {
1664
- return /* @__PURE__ */ jsxs8(
1760
+ return /* @__PURE__ */ jsxs9(
1665
1761
  DropdownMenuPrimitive.RadioItem,
1666
1762
  {
1667
1763
  "data-inset": inset,
@@ -1673,12 +1769,12 @@ function DropdownMenuRadioItem({
1673
1769
  ),
1674
1770
  ...props,
1675
1771
  children: [
1676
- /* @__PURE__ */ jsx15(
1772
+ /* @__PURE__ */ jsx16(
1677
1773
  "span",
1678
1774
  {
1679
1775
  className: menuItemIndicatorClassName,
1680
1776
  "data-slot": "dropdown-menu-radio-item-indicator",
1681
- children: /* @__PURE__ */ jsx15(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx15(CheckIcon, { className: "text-[var(--tutti-purple)]" }) })
1777
+ children: /* @__PURE__ */ jsx16(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(CheckIcon, { className: "text-[var(--tutti-purple)]" }) })
1682
1778
  }
1683
1779
  ),
1684
1780
  children
@@ -1691,7 +1787,7 @@ function DropdownMenuLabel({
1691
1787
  inset,
1692
1788
  ...props
1693
1789
  }) {
1694
- return /* @__PURE__ */ jsx15(
1790
+ return /* @__PURE__ */ jsx16(
1695
1791
  DropdownMenuPrimitive.Label,
1696
1792
  {
1697
1793
  "data-inset": inset,
@@ -1708,7 +1804,7 @@ function DropdownMenuSeparator({
1708
1804
  className,
1709
1805
  ...props
1710
1806
  }) {
1711
- return /* @__PURE__ */ jsx15(
1807
+ return /* @__PURE__ */ jsx16(
1712
1808
  DropdownMenuPrimitive.Separator,
1713
1809
  {
1714
1810
  "data-slot": "dropdown-menu-separator",
@@ -1721,7 +1817,7 @@ function DropdownMenuShortcut({
1721
1817
  className,
1722
1818
  ...props
1723
1819
  }) {
1724
- return /* @__PURE__ */ jsx15(
1820
+ return /* @__PURE__ */ jsx16(
1725
1821
  "span",
1726
1822
  {
1727
1823
  "data-slot": "dropdown-menu-shortcut",
@@ -1736,7 +1832,7 @@ function DropdownMenuShortcut({
1736
1832
  function DropdownMenuSub({
1737
1833
  ...props
1738
1834
  }) {
1739
- return /* @__PURE__ */ jsx15(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1835
+ return /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1740
1836
  }
1741
1837
  function DropdownMenuSubTrigger({
1742
1838
  className,
@@ -1744,7 +1840,7 @@ function DropdownMenuSubTrigger({
1744
1840
  children,
1745
1841
  ...props
1746
1842
  }) {
1747
- return /* @__PURE__ */ jsxs8(
1843
+ return /* @__PURE__ */ jsxs9(
1748
1844
  DropdownMenuPrimitive.SubTrigger,
1749
1845
  {
1750
1846
  "data-inset": inset,
@@ -1757,7 +1853,7 @@ function DropdownMenuSubTrigger({
1757
1853
  ...props,
1758
1854
  children: [
1759
1855
  children,
1760
- /* @__PURE__ */ jsx15(ArrowRightIcon, { className: "ml-auto text-[var(--text-tertiary)]" })
1856
+ /* @__PURE__ */ jsx16(ArrowRightIcon, { className: "ml-auto text-[var(--text-tertiary)]" })
1761
1857
  ]
1762
1858
  }
1763
1859
  );
@@ -1768,13 +1864,13 @@ function DropdownMenuSubContent({
1768
1864
  style,
1769
1865
  ...props
1770
1866
  }) {
1771
- return /* @__PURE__ */ jsx15(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx15(
1867
+ return /* @__PURE__ */ jsx16(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
1772
1868
  DropdownMenuPrimitive.SubContent,
1773
1869
  {
1774
1870
  asChild: true,
1775
1871
  "data-slot": "dropdown-menu-sub-content",
1776
1872
  ...props,
1777
- children: /* @__PURE__ */ jsx15(
1873
+ children: /* @__PURE__ */ jsx16(
1778
1874
  MenuSurface,
1779
1875
  {
1780
1876
  "data-slot": "dropdown-menu-sub-content",
@@ -1798,12 +1894,12 @@ import * as React7 from "react";
1798
1894
 
1799
1895
  // src/components/tooltip/tooltip.tsx
1800
1896
  import { Tooltip as TooltipPrimitive } from "radix-ui";
1801
- import { jsx as jsx16 } from "react/jsx-runtime";
1897
+ import { jsx as jsx17 } from "react/jsx-runtime";
1802
1898
  function TooltipProvider({
1803
1899
  delayDuration = 0,
1804
1900
  ...props
1805
1901
  }) {
1806
- return /* @__PURE__ */ jsx16(
1902
+ return /* @__PURE__ */ jsx17(
1807
1903
  TooltipPrimitive.Provider,
1808
1904
  {
1809
1905
  "data-slot": "tooltip-provider",
@@ -1815,17 +1911,17 @@ function TooltipProvider({
1815
1911
  function Tooltip({
1816
1912
  ...props
1817
1913
  }) {
1818
- return /* @__PURE__ */ jsx16(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
1914
+ return /* @__PURE__ */ jsx17(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
1819
1915
  }
1820
1916
  function TooltipTrigger({
1821
1917
  ...props
1822
1918
  }) {
1823
- return /* @__PURE__ */ jsx16(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
1919
+ return /* @__PURE__ */ jsx17(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
1824
1920
  }
1825
1921
  function TooltipPortal({
1826
1922
  ...props
1827
1923
  }) {
1828
- return /* @__PURE__ */ jsx16(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
1924
+ return /* @__PURE__ */ jsx17(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
1829
1925
  }
1830
1926
  function TooltipContent({
1831
1927
  className,
@@ -1834,7 +1930,7 @@ function TooltipContent({
1834
1930
  style,
1835
1931
  ...props
1836
1932
  }) {
1837
- return /* @__PURE__ */ jsx16(TooltipPortal, { children: /* @__PURE__ */ jsx16(
1933
+ return /* @__PURE__ */ jsx17(TooltipPortal, { children: /* @__PURE__ */ jsx17(
1838
1934
  TooltipPrimitive.Content,
1839
1935
  {
1840
1936
  "data-slot": "tooltip-content",
@@ -1851,7 +1947,7 @@ function TooltipContent({
1851
1947
  }
1852
1948
 
1853
1949
  // src/components/mention-pill/truncating-pill-label.tsx
1854
- import { jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
1950
+ import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
1855
1951
  function useTextOverflow(watch, descendantSelector) {
1856
1952
  const ref = React7.useRef(null);
1857
1953
  const [overflowing, setOverflowing] = React7.useState(false);
@@ -1888,7 +1984,7 @@ function TruncatingPillLabel({
1888
1984
  withTooltipProvider = true
1889
1985
  }) {
1890
1986
  const { ref: labelRef, overflowing } = useTextOverflow(tooltip);
1891
- const label = /* @__PURE__ */ jsx17(
1987
+ const label = /* @__PURE__ */ jsx18(
1892
1988
  "span",
1893
1989
  {
1894
1990
  ref: labelRef,
@@ -1902,15 +1998,15 @@ function TruncatingPillLabel({
1902
1998
  if (!tooltip) {
1903
1999
  return label;
1904
2000
  }
1905
- const tooltipElement = /* @__PURE__ */ jsxs9(Tooltip, { children: [
1906
- /* @__PURE__ */ jsx17(TooltipTrigger, { asChild: true, children: label }),
1907
- overflowing ? /* @__PURE__ */ jsx17(TooltipContent, { className: "max-w-[min(420px,calc(100vw-32px))] whitespace-normal text-left [overflow-wrap:anywhere]", children: tooltip }) : null
2001
+ const tooltipElement = /* @__PURE__ */ jsxs10(Tooltip, { children: [
2002
+ /* @__PURE__ */ jsx18(TooltipTrigger, { asChild: true, children: label }),
2003
+ overflowing ? /* @__PURE__ */ jsx18(TooltipContent, { className: "max-w-[min(420px,calc(100vw-32px))] whitespace-normal text-left [overflow-wrap:anywhere]", children: tooltip }) : null
1908
2004
  ] });
1909
- return withTooltipProvider ? /* @__PURE__ */ jsx17(TooltipProvider, { delayDuration: 200, children: tooltipElement }) : tooltipElement;
2005
+ return withTooltipProvider ? /* @__PURE__ */ jsx18(TooltipProvider, { delayDuration: 200, children: tooltipElement }) : tooltipElement;
1910
2006
  }
1911
2007
 
1912
2008
  // src/components/mention-pill/mention-pill.tsx
1913
- import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
2009
+ import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
1914
2010
  var mentionPillTokenByKind = {
1915
2011
  app: "var(--rich-text-folder)",
1916
2012
  issue: "var(--rich-text-mention-issue)",
@@ -1950,7 +2046,7 @@ function MentionPill({
1950
2046
  const tooltipText = [label, summary].filter(
1951
2047
  (part) => typeof part === "string" && part.trim() !== ""
1952
2048
  ).join(" ");
1953
- return /* @__PURE__ */ jsxs10(
2049
+ return /* @__PURE__ */ jsxs11(
1954
2050
  "span",
1955
2051
  {
1956
2052
  className: cn(
@@ -1967,7 +2063,7 @@ function MentionPill({
1967
2063
  },
1968
2064
  ...props,
1969
2065
  children: [
1970
- /* @__PURE__ */ jsxs10(
2066
+ /* @__PURE__ */ jsxs11(
1971
2067
  "span",
1972
2068
  {
1973
2069
  ...iconContainerProps,
@@ -1978,7 +2074,7 @@ function MentionPill({
1978
2074
  iconContainerProps?.className
1979
2075
  ),
1980
2076
  children: [
1981
- normalizedIconUrl && failedIconUrl !== normalizedIconUrl ? /* @__PURE__ */ jsx18(
2077
+ normalizedIconUrl && failedIconUrl !== normalizedIconUrl ? /* @__PURE__ */ jsx19(
1982
2078
  "img",
1983
2079
  {
1984
2080
  src: normalizedIconUrl,
@@ -1994,7 +2090,7 @@ function MentionPill({
1994
2090
  setFailedIconUrl(normalizedIconUrl);
1995
2091
  }
1996
2092
  }
1997
- ) : /* @__PURE__ */ jsx18(
2093
+ ) : /* @__PURE__ */ jsx19(
1998
2094
  Icon,
1999
2095
  {
2000
2096
  ...fallbackIconProps,
@@ -2007,7 +2103,7 @@ function MentionPill({
2007
2103
  "data-mention-pill-fallback-icon": "true"
2008
2104
  }
2009
2105
  ),
2010
- removable ? /* @__PURE__ */ jsx18(
2106
+ removable ? /* @__PURE__ */ jsx19(
2011
2107
  "button",
2012
2108
  {
2013
2109
  "aria-label": removeButtonProps?.["aria-label"],
@@ -2017,20 +2113,20 @@ function MentionPill({
2017
2113
  "absolute top-1/2 left-1/2 inline-flex size-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center text-[var(--text-secondary)] opacity-0 transition-opacity group-hover:opacity-100 hover:text-[var(--text-primary)] focus-visible:opacity-100",
2018
2114
  removeButtonProps?.className
2019
2115
  ),
2020
- children: /* @__PURE__ */ jsx18(CloseIcon, { className: "size-3.5" })
2116
+ children: /* @__PURE__ */ jsx19(CloseIcon, { className: "size-3.5" })
2021
2117
  }
2022
2118
  ) : null
2023
2119
  ]
2024
2120
  }
2025
2121
  ),
2026
- /* @__PURE__ */ jsxs10(
2122
+ /* @__PURE__ */ jsxs11(
2027
2123
  TruncatingPillLabel,
2028
2124
  {
2029
2125
  tooltip: tooltipEnabled ? tooltipText : "",
2030
2126
  withTooltipProvider,
2031
2127
  children: [
2032
- /* @__PURE__ */ jsx18("span", { children: label }),
2033
- summary ? /* @__PURE__ */ jsxs10("span", { className: "text-current", children: [
2128
+ /* @__PURE__ */ jsx19("span", { children: label }),
2129
+ summary ? /* @__PURE__ */ jsxs11("span", { className: "text-current", children: [
2034
2130
  " ",
2035
2131
  summary
2036
2132
  ] }) : null
@@ -2043,14 +2139,14 @@ function MentionPill({
2043
2139
  }
2044
2140
 
2045
2141
  // src/components/radio-indicator/radio-indicator.tsx
2046
- import { jsx as jsx19 } from "react/jsx-runtime";
2142
+ import { jsx as jsx20 } from "react/jsx-runtime";
2047
2143
  function RadioIndicator({
2048
2144
  checked = false,
2049
2145
  disabled = false,
2050
2146
  className,
2051
2147
  ...props
2052
2148
  }) {
2053
- return /* @__PURE__ */ jsx19(
2149
+ return /* @__PURE__ */ jsx20(
2054
2150
  "span",
2055
2151
  {
2056
2152
  ...props,
@@ -2063,7 +2159,7 @@ function RadioIndicator({
2063
2159
  "inline-flex size-4 shrink-0 items-center justify-center rounded-full border-2 border-[var(--border-1)] bg-transparent transition-[border-color,background-color,box-shadow] data-[state=checked]:border-[var(--tutti-purple)] data-[state=unchecked]:hover:border-[color-mix(in_srgb,var(--text-primary)_40%,transparent)] data-disabled:cursor-not-allowed data-disabled:opacity-60",
2064
2160
  className
2065
2161
  ),
2066
- children: checked ? /* @__PURE__ */ jsx19(
2162
+ children: checked ? /* @__PURE__ */ jsx20(
2067
2163
  "span",
2068
2164
  {
2069
2165
  "aria-hidden": "true",
@@ -2076,13 +2172,13 @@ function RadioIndicator({
2076
2172
 
2077
2173
  // src/components/resizable/resizable.tsx
2078
2174
  import * as ResizablePrimitive from "react-resizable-panels";
2079
- import { jsx as jsx20 } from "react/jsx-runtime";
2175
+ import { jsx as jsx21 } from "react/jsx-runtime";
2080
2176
  function ResizablePanelGroup({
2081
2177
  className,
2082
2178
  orientation = "horizontal",
2083
2179
  ...props
2084
2180
  }) {
2085
- return /* @__PURE__ */ jsx20(
2181
+ return /* @__PURE__ */ jsx21(
2086
2182
  ResizablePrimitive.Group,
2087
2183
  {
2088
2184
  "data-orientation": orientation,
@@ -2097,14 +2193,14 @@ function ResizablePanelGroup({
2097
2193
  );
2098
2194
  }
2099
2195
  function ResizablePanel(props) {
2100
- return /* @__PURE__ */ jsx20(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
2196
+ return /* @__PURE__ */ jsx21(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
2101
2197
  }
2102
2198
  function ResizableHandle({
2103
2199
  className,
2104
2200
  withHandle,
2105
2201
  ...props
2106
2202
  }) {
2107
- return /* @__PURE__ */ jsx20(
2203
+ return /* @__PURE__ */ jsx21(
2108
2204
  ResizablePrimitive.Separator,
2109
2205
  {
2110
2206
  "data-slot": "resizable-handle",
@@ -2113,14 +2209,14 @@ function ResizableHandle({
2113
2209
  className
2114
2210
  ),
2115
2211
  ...props,
2116
- children: withHandle ? /* @__PURE__ */ jsx20("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 opacity-0 transition-[background-color,opacity] group-hover:bg-border group-hover:opacity-100 group-focus-visible:bg-border group-focus-visible:opacity-100 group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
2212
+ children: withHandle ? /* @__PURE__ */ jsx21("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 opacity-0 transition-[background-color,opacity] group-hover:bg-border group-hover:opacity-100 group-focus-visible:bg-border group-focus-visible:opacity-100 group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
2117
2213
  }
2118
2214
  );
2119
2215
  }
2120
2216
 
2121
2217
  // src/components/scroll-area/scroll-area.tsx
2122
2218
  import * as React9 from "react";
2123
- import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
2219
+ import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2124
2220
  var MIN_THUMB_SIZE_PX = 24;
2125
2221
  function ScrollArea({
2126
2222
  className,
@@ -2157,9 +2253,9 @@ function ScrollArea({
2157
2253
  ...props
2158
2254
  };
2159
2255
  if (scrollbarMode === "native") {
2160
- return /* @__PURE__ */ jsx21(NativeScrollArea, { ...implementationProps, children });
2256
+ return /* @__PURE__ */ jsx22(NativeScrollArea, { ...implementationProps, children });
2161
2257
  }
2162
- return /* @__PURE__ */ jsx21(CustomScrollArea, { ...implementationProps, children });
2258
+ return /* @__PURE__ */ jsx22(CustomScrollArea, { ...implementationProps, children });
2163
2259
  }
2164
2260
  function NativeScrollArea({
2165
2261
  className,
@@ -2179,7 +2275,7 @@ function NativeScrollArea({
2179
2275
  ...props
2180
2276
  }) {
2181
2277
  const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
2182
- return /* @__PURE__ */ jsx21(
2278
+ return /* @__PURE__ */ jsx22(
2183
2279
  ScrollAreaFrame,
2184
2280
  {
2185
2281
  ...props,
@@ -2224,7 +2320,7 @@ function CustomScrollArea({
2224
2320
  const contentRef = React9.useRef(null);
2225
2321
  const [active, setActive] = React9.useState(false);
2226
2322
  const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
2227
- return /* @__PURE__ */ jsxs11(
2323
+ return /* @__PURE__ */ jsxs12(
2228
2324
  ScrollAreaFrame,
2229
2325
  {
2230
2326
  ...props,
@@ -2260,7 +2356,7 @@ function CustomScrollArea({
2260
2356
  viewportTestId,
2261
2357
  children: [
2262
2358
  children,
2263
- /* @__PURE__ */ jsx21(
2359
+ /* @__PURE__ */ jsx22(
2264
2360
  ScrollAreaScrollbar,
2265
2361
  {
2266
2362
  active: active || alwaysVisible,
@@ -2285,7 +2381,7 @@ function ScrollAreaFrame({
2285
2381
  viewportTestId,
2286
2382
  ...props
2287
2383
  }) {
2288
- return /* @__PURE__ */ jsx21(
2384
+ return /* @__PURE__ */ jsx22(
2289
2385
  "div",
2290
2386
  {
2291
2387
  "data-slot": "scroll-area",
@@ -2295,7 +2391,7 @@ function ScrollAreaFrame({
2295
2391
  className
2296
2392
  ),
2297
2393
  ...props,
2298
- children: /* @__PURE__ */ jsx21(
2394
+ children: /* @__PURE__ */ jsx22(
2299
2395
  "div",
2300
2396
  {
2301
2397
  ...viewportProps,
@@ -2306,7 +2402,7 @@ function ScrollAreaFrame({
2306
2402
  "size-full overflow-auto rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
2307
2403
  viewportClassName
2308
2404
  ),
2309
- children: /* @__PURE__ */ jsx21(
2405
+ children: /* @__PURE__ */ jsx22(
2310
2406
  "div",
2311
2407
  {
2312
2408
  ref: contentRef,
@@ -2521,7 +2617,7 @@ function ScrollAreaScrollbar({
2521
2617
  React9.useEffect(() => {
2522
2618
  scheduleSync();
2523
2619
  });
2524
- return /* @__PURE__ */ jsx21(
2620
+ return /* @__PURE__ */ jsx22(
2525
2621
  "div",
2526
2622
  {
2527
2623
  ref: trackRef,
@@ -2539,7 +2635,7 @@ function ScrollAreaScrollbar({
2539
2635
  onPointerEnter: () => setTrackActive(true),
2540
2636
  onPointerLeave: () => setTrackActive(false),
2541
2637
  onPointerDown: handleTrackPointerDown,
2542
- children: /* @__PURE__ */ jsx21(
2638
+ children: /* @__PURE__ */ jsx22(
2543
2639
  "div",
2544
2640
  {
2545
2641
  ref: thumbRef,
@@ -2558,7 +2654,7 @@ function ScrollBar({
2558
2654
  orientation = "vertical",
2559
2655
  ...props
2560
2656
  }) {
2561
- return /* @__PURE__ */ jsx21(
2657
+ return /* @__PURE__ */ jsx22(
2562
2658
  "div",
2563
2659
  {
2564
2660
  "data-slot": "scroll-area-scrollbar",
@@ -2566,7 +2662,7 @@ function ScrollBar({
2566
2662
  className: cn(scrollbarClassName(orientation), className),
2567
2663
  style: scrollbarStyle({ active: false, orientation, scrollable: true }),
2568
2664
  ...props,
2569
- children: /* @__PURE__ */ jsx21(
2665
+ children: /* @__PURE__ */ jsx22(
2570
2666
  "div",
2571
2667
  {
2572
2668
  "data-slot": "scroll-area-thumb",
@@ -2687,17 +2783,17 @@ function clamp(value, min, max) {
2687
2783
 
2688
2784
  // src/components/select/select.tsx
2689
2785
  import { Select as SelectPrimitive } from "radix-ui";
2690
- import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
2786
+ import { jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
2691
2787
  function Select({
2692
2788
  ...props
2693
2789
  }) {
2694
- return /* @__PURE__ */ jsx22(SelectPrimitive.Root, { "data-slot": "select", ...props });
2790
+ return /* @__PURE__ */ jsx23(SelectPrimitive.Root, { "data-slot": "select", ...props });
2695
2791
  }
2696
2792
  function SelectGroup({
2697
2793
  className,
2698
2794
  ...props
2699
2795
  }) {
2700
- return /* @__PURE__ */ jsx22(
2796
+ return /* @__PURE__ */ jsx23(
2701
2797
  SelectPrimitive.Group,
2702
2798
  {
2703
2799
  "data-slot": "select-group",
@@ -2709,7 +2805,7 @@ function SelectGroup({
2709
2805
  function SelectValue({
2710
2806
  ...props
2711
2807
  }) {
2712
- return /* @__PURE__ */ jsx22(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
2808
+ return /* @__PURE__ */ jsx23(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
2713
2809
  }
2714
2810
  function SelectTrigger({
2715
2811
  className,
@@ -2718,7 +2814,7 @@ function SelectTrigger({
2718
2814
  children,
2719
2815
  ...props
2720
2816
  }) {
2721
- return /* @__PURE__ */ jsxs12(
2817
+ return /* @__PURE__ */ jsxs13(
2722
2818
  SelectPrimitive.Trigger,
2723
2819
  {
2724
2820
  "data-slot": "select-trigger",
@@ -2732,7 +2828,7 @@ function SelectTrigger({
2732
2828
  ...props,
2733
2829
  children: [
2734
2830
  children,
2735
- /* @__PURE__ */ jsx22(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx22(
2831
+ /* @__PURE__ */ jsx23(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx23(
2736
2832
  ChevronDownIcon,
2737
2833
  {
2738
2834
  className: cn("pointer-events-none size-4", "text-current")
@@ -2750,7 +2846,7 @@ function SelectContent({
2750
2846
  style,
2751
2847
  ...props
2752
2848
  }) {
2753
- return /* @__PURE__ */ jsx22(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx22(
2849
+ return /* @__PURE__ */ jsx23(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
2754
2850
  SelectPrimitive.Content,
2755
2851
  {
2756
2852
  asChild: true,
@@ -2759,7 +2855,7 @@ function SelectContent({
2759
2855
  position,
2760
2856
  align,
2761
2857
  ...props,
2762
- children: /* @__PURE__ */ jsxs12(
2858
+ children: /* @__PURE__ */ jsxs13(
2763
2859
  MenuSurface,
2764
2860
  {
2765
2861
  "data-slot": "select-content",
@@ -2770,8 +2866,8 @@ function SelectContent({
2770
2866
  ),
2771
2867
  style: { zIndex: "var(--z-popover)", ...style },
2772
2868
  children: [
2773
- /* @__PURE__ */ jsx22(SelectScrollUpButton, {}),
2774
- /* @__PURE__ */ jsx22(
2869
+ /* @__PURE__ */ jsx23(SelectScrollUpButton, {}),
2870
+ /* @__PURE__ */ jsx23(
2775
2871
  SelectPrimitive.Viewport,
2776
2872
  {
2777
2873
  "data-position": position,
@@ -2781,7 +2877,7 @@ function SelectContent({
2781
2877
  children
2782
2878
  }
2783
2879
  ),
2784
- /* @__PURE__ */ jsx22(SelectScrollDownButton, {})
2880
+ /* @__PURE__ */ jsx23(SelectScrollDownButton, {})
2785
2881
  ]
2786
2882
  }
2787
2883
  )
@@ -2792,7 +2888,7 @@ function SelectLabel({
2792
2888
  className,
2793
2889
  ...props
2794
2890
  }) {
2795
- return /* @__PURE__ */ jsx22(
2891
+ return /* @__PURE__ */ jsx23(
2796
2892
  SelectPrimitive.Label,
2797
2893
  {
2798
2894
  "data-slot": "select-label",
@@ -2808,7 +2904,7 @@ function SelectSplitLayout({
2808
2904
  className,
2809
2905
  ...props
2810
2906
  }) {
2811
- return /* @__PURE__ */ jsx22(
2907
+ return /* @__PURE__ */ jsx23(
2812
2908
  "div",
2813
2909
  {
2814
2910
  "data-slot": "select-split-layout",
@@ -2824,7 +2920,7 @@ function SelectSplitColumn({
2824
2920
  className,
2825
2921
  ...props
2826
2922
  }) {
2827
- return /* @__PURE__ */ jsx22(
2923
+ return /* @__PURE__ */ jsx23(
2828
2924
  "div",
2829
2925
  {
2830
2926
  "data-slot": "select-split-column",
@@ -2837,7 +2933,7 @@ function SelectSplitColumnLabel({
2837
2933
  className,
2838
2934
  ...props
2839
2935
  }) {
2840
- return /* @__PURE__ */ jsx22(
2936
+ return /* @__PURE__ */ jsx23(
2841
2937
  "div",
2842
2938
  {
2843
2939
  "data-slot": "select-split-column-label",
@@ -2853,7 +2949,7 @@ function SelectSplitColumnItems({
2853
2949
  className,
2854
2950
  ...props
2855
2951
  }) {
2856
- return /* @__PURE__ */ jsx22(
2952
+ return /* @__PURE__ */ jsx23(
2857
2953
  "div",
2858
2954
  {
2859
2955
  "data-slot": "select-split-column-items",
@@ -2869,7 +2965,7 @@ function SelectSplitDivider({
2869
2965
  className,
2870
2966
  ...props
2871
2967
  }) {
2872
- return /* @__PURE__ */ jsx22(
2968
+ return /* @__PURE__ */ jsx23(
2873
2969
  "div",
2874
2970
  {
2875
2971
  "aria-hidden": "true",
@@ -2888,21 +2984,21 @@ function SelectItem({
2888
2984
  forceSelectedIndicator = false,
2889
2985
  ...props
2890
2986
  }) {
2891
- return /* @__PURE__ */ jsxs12(
2987
+ return /* @__PURE__ */ jsxs13(
2892
2988
  SelectPrimitive.Item,
2893
2989
  {
2894
2990
  "data-slot": "select-item",
2895
2991
  className: cn("w-full", menuItemWithIndicatorClassName, className),
2896
2992
  ...props,
2897
2993
  children: [
2898
- /* @__PURE__ */ jsx22("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx22(
2994
+ /* @__PURE__ */ jsx23("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx23(
2899
2995
  CheckIcon,
2900
2996
  {
2901
2997
  className: "pointer-events-none text-[var(--tutti-purple)]",
2902
2998
  "data-slot": "select-item-forced-indicator"
2903
2999
  }
2904
- ) : /* @__PURE__ */ jsx22(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx22(CheckIcon, { className: "pointer-events-none text-[var(--tutti-purple)]" }) }) }),
2905
- /* @__PURE__ */ jsx22(SelectPrimitive.ItemText, { children })
3000
+ ) : /* @__PURE__ */ jsx23(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(CheckIcon, { className: "pointer-events-none text-[var(--tutti-purple)]" }) }) }),
3001
+ /* @__PURE__ */ jsx23(SelectPrimitive.ItemText, { children })
2906
3002
  ]
2907
3003
  }
2908
3004
  );
@@ -2911,7 +3007,7 @@ function SelectSeparator({
2911
3007
  className,
2912
3008
  ...props
2913
3009
  }) {
2914
- return /* @__PURE__ */ jsx22(
3010
+ return /* @__PURE__ */ jsx23(
2915
3011
  SelectPrimitive.Separator,
2916
3012
  {
2917
3013
  "data-slot": "select-separator",
@@ -2927,7 +3023,7 @@ function SelectScrollUpButton({
2927
3023
  className,
2928
3024
  ...props
2929
3025
  }) {
2930
- return /* @__PURE__ */ jsx22(
3026
+ return /* @__PURE__ */ jsx23(
2931
3027
  SelectPrimitive.ScrollUpButton,
2932
3028
  {
2933
3029
  "data-slot": "select-scroll-up-button",
@@ -2936,7 +3032,7 @@ function SelectScrollUpButton({
2936
3032
  className
2937
3033
  ),
2938
3034
  ...props,
2939
- children: /* @__PURE__ */ jsx22(ChevronUpIcon, {})
3035
+ children: /* @__PURE__ */ jsx23(ChevronUpIcon, {})
2940
3036
  }
2941
3037
  );
2942
3038
  }
@@ -2944,7 +3040,7 @@ function SelectScrollDownButton({
2944
3040
  className,
2945
3041
  ...props
2946
3042
  }) {
2947
- return /* @__PURE__ */ jsx22(
3043
+ return /* @__PURE__ */ jsx23(
2948
3044
  SelectPrimitive.ScrollDownButton,
2949
3045
  {
2950
3046
  "data-slot": "select-scroll-down-button",
@@ -2953,21 +3049,21 @@ function SelectScrollDownButton({
2953
3049
  className
2954
3050
  ),
2955
3051
  ...props,
2956
- children: /* @__PURE__ */ jsx22(ChevronDownIcon, {})
3052
+ children: /* @__PURE__ */ jsx23(ChevronDownIcon, {})
2957
3053
  }
2958
3054
  );
2959
3055
  }
2960
3056
 
2961
3057
  // src/components/separator/separator.tsx
2962
3058
  import { Separator as SeparatorPrimitive } from "radix-ui";
2963
- import { jsx as jsx23 } from "react/jsx-runtime";
3059
+ import { jsx as jsx24 } from "react/jsx-runtime";
2964
3060
  function Separator2({
2965
3061
  className,
2966
3062
  orientation = "horizontal",
2967
3063
  decorative = true,
2968
3064
  ...props
2969
3065
  }) {
2970
- return /* @__PURE__ */ jsx23(
3066
+ return /* @__PURE__ */ jsx24(
2971
3067
  SeparatorPrimitive.Root,
2972
3068
  {
2973
3069
  "data-slot": "separator",
@@ -2983,7 +3079,7 @@ function Separator2({
2983
3079
  }
2984
3080
 
2985
3081
  // src/components/section-tabs/section-tabs.tsx
2986
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
3082
+ import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
2987
3083
  function SectionTabs({
2988
3084
  tabs,
2989
3085
  value,
@@ -2992,7 +3088,7 @@ function SectionTabs({
2992
3088
  className,
2993
3089
  testId
2994
3090
  }) {
2995
- return /* @__PURE__ */ jsx24(
3091
+ return /* @__PURE__ */ jsx25(
2996
3092
  "div",
2997
3093
  {
2998
3094
  "aria-label": ariaLabel,
@@ -3002,7 +3098,7 @@ function SectionTabs({
3002
3098
  role: "tablist",
3003
3099
  children: tabs.map((tab) => {
3004
3100
  const isActive = value === tab.value;
3005
- return /* @__PURE__ */ jsxs13(
3101
+ return /* @__PURE__ */ jsxs14(
3006
3102
  "button",
3007
3103
  {
3008
3104
  "aria-selected": isActive,
@@ -3017,8 +3113,8 @@ function SectionTabs({
3017
3113
  type: "button",
3018
3114
  onClick: () => onValueChange(tab.value),
3019
3115
  children: [
3020
- /* @__PURE__ */ jsx24("span", { className: "min-w-0 truncate", children: tab.label }),
3021
- tab.count !== void 0 ? /* @__PURE__ */ jsx24("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
3116
+ /* @__PURE__ */ jsx25("span", { className: "min-w-0 truncate", children: tab.label }),
3117
+ tab.count !== void 0 ? /* @__PURE__ */ jsx25("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
3022
3118
  ]
3023
3119
  },
3024
3120
  tab.value
@@ -3029,9 +3125,9 @@ function SectionTabs({
3029
3125
  }
3030
3126
 
3031
3127
  // src/components/shortcut-badge/shortcut-badge.tsx
3032
- import { jsx as jsx25 } from "react/jsx-runtime";
3128
+ import { jsx as jsx26 } from "react/jsx-runtime";
3033
3129
  function ShortcutBadge({ className, ...props }) {
3034
- return /* @__PURE__ */ jsx25(
3130
+ return /* @__PURE__ */ jsx26(
3035
3131
  "kbd",
3036
3132
  {
3037
3133
  "data-slot": "shortcut-badge",
@@ -3047,7 +3143,7 @@ function ShortcutBadge({ className, ...props }) {
3047
3143
  // src/components/slider/slider.tsx
3048
3144
  import * as React10 from "react";
3049
3145
  import { Slider as SliderPrimitive } from "radix-ui";
3050
- import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
3146
+ import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
3051
3147
  function Slider({
3052
3148
  "aria-label": ariaLabel,
3053
3149
  "aria-labelledby": ariaLabelledBy,
@@ -3063,7 +3159,7 @@ function Slider({
3063
3159
  () => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min],
3064
3160
  [defaultValue, min, value]
3065
3161
  );
3066
- return /* @__PURE__ */ jsxs14(
3162
+ return /* @__PURE__ */ jsxs15(
3067
3163
  SliderPrimitive.Root,
3068
3164
  {
3069
3165
  "data-slot": "slider",
@@ -3077,12 +3173,12 @@ function Slider({
3077
3173
  ),
3078
3174
  ...props,
3079
3175
  children: [
3080
- /* @__PURE__ */ jsx26(
3176
+ /* @__PURE__ */ jsx27(
3081
3177
  SliderPrimitive.Track,
3082
3178
  {
3083
3179
  "data-slot": "slider-track",
3084
3180
  className: "relative grow overflow-hidden rounded-full bg-[var(--transparency-block)] data-[orientation=horizontal]:h-1 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1",
3085
- children: /* @__PURE__ */ jsx26(
3181
+ children: /* @__PURE__ */ jsx27(
3086
3182
  SliderPrimitive.Range,
3087
3183
  {
3088
3184
  "data-slot": "slider-range",
@@ -3091,7 +3187,7 @@ function Slider({
3091
3187
  )
3092
3188
  }
3093
3189
  ),
3094
- Array.from({ length: values.length }, (_, index) => /* @__PURE__ */ jsx26(
3190
+ Array.from({ length: values.length }, (_, index) => /* @__PURE__ */ jsx27(
3095
3191
  SliderPrimitive.Thumb,
3096
3192
  {
3097
3193
  "aria-disabled": props.disabled || void 0,
@@ -3112,9 +3208,9 @@ import {
3112
3208
  Toaster as SonnerToaster,
3113
3209
  toast
3114
3210
  } from "sonner";
3115
- import { jsx as jsx27 } from "react/jsx-runtime";
3211
+ import { jsx as jsx28 } from "react/jsx-runtime";
3116
3212
  function Toaster({ toastOptions, style, ...props }) {
3117
- return /* @__PURE__ */ jsx27(
3213
+ return /* @__PURE__ */ jsx28(
3118
3214
  SonnerToaster,
3119
3215
  {
3120
3216
  closeButton: true,
@@ -3123,11 +3219,11 @@ function Toaster({ toastOptions, style, ...props }) {
3123
3219
  position: "top-right",
3124
3220
  visibleToasts: 4,
3125
3221
  icons: {
3126
- error: /* @__PURE__ */ jsx27(FailedFilledIcon, { className: "size-4" }),
3127
- info: /* @__PURE__ */ jsx27(WarningLinedIcon, { className: "size-4" }),
3128
- loading: /* @__PURE__ */ jsx27(LoadingIcon, { className: "size-4 animate-spin" }),
3129
- success: /* @__PURE__ */ jsx27(SuccessFilledIcon, { className: "size-4" }),
3130
- warning: /* @__PURE__ */ jsx27(WarningFilledIcon, { className: "size-4" })
3222
+ error: /* @__PURE__ */ jsx28(FailedFilledIcon, { className: "size-4" }),
3223
+ info: /* @__PURE__ */ jsx28(WarningLinedIcon, { className: "size-4" }),
3224
+ loading: /* @__PURE__ */ jsx28(LoadingIcon, { className: "size-4 animate-spin" }),
3225
+ success: /* @__PURE__ */ jsx28(SuccessFilledIcon, { className: "size-4" }),
3226
+ warning: /* @__PURE__ */ jsx28(WarningFilledIcon, { className: "size-4" })
3131
3227
  },
3132
3228
  style: {
3133
3229
  "--normal-bg": "var(--background-fronted)",
@@ -3156,7 +3252,7 @@ function Toaster({ toastOptions, style, ...props }) {
3156
3252
  }
3157
3253
 
3158
3254
  // src/components/spinner/spinner.tsx
3159
- import { jsx as jsx28 } from "react/jsx-runtime";
3255
+ import { jsx as jsx29 } from "react/jsx-runtime";
3160
3256
  function Spinner({
3161
3257
  className,
3162
3258
  size = 16,
@@ -3165,7 +3261,7 @@ function Spinner({
3165
3261
  testId,
3166
3262
  trackColor
3167
3263
  }) {
3168
- return /* @__PURE__ */ jsx28(
3264
+ return /* @__PURE__ */ jsx29(
3169
3265
  LoadingIcon,
3170
3266
  {
3171
3267
  "data-slot": "spinner",
@@ -3253,7 +3349,7 @@ function useComposedRefs(...refs) {
3253
3349
  }
3254
3350
 
3255
3351
  // src/components/sortable/sortable.tsx
3256
- import { jsx as jsx29 } from "react/jsx-runtime";
3352
+ import { jsx as jsx30 } from "react/jsx-runtime";
3257
3353
  var orientationConfig = {
3258
3354
  vertical: {
3259
3355
  modifiers: [restrictToVerticalAxis, restrictToParentElement],
@@ -3391,11 +3487,11 @@ function Sortable(props) {
3391
3487
  flatCursor
3392
3488
  ]
3393
3489
  );
3394
- return /* @__PURE__ */ jsx29(
3490
+ return /* @__PURE__ */ jsx30(
3395
3491
  SortableRootContext.Provider,
3396
3492
  {
3397
3493
  value: contextValue,
3398
- children: /* @__PURE__ */ jsx29(
3494
+ children: /* @__PURE__ */ jsx30(
3399
3495
  DndContext,
3400
3496
  {
3401
3497
  collisionDetection: collisionDetection ?? config.collisionDetection,
@@ -3424,12 +3520,12 @@ function SortableContent(props) {
3424
3520
  } = props;
3425
3521
  const context = useSortableContext(CONTENT_NAME);
3426
3522
  const ContentPrimitive = asChild ? SlotPrimitive.Slot : "div";
3427
- return /* @__PURE__ */ jsx29(SortableContentContext.Provider, { value: true, children: /* @__PURE__ */ jsx29(
3523
+ return /* @__PURE__ */ jsx30(SortableContentContext.Provider, { value: true, children: /* @__PURE__ */ jsx30(
3428
3524
  SortableContext,
3429
3525
  {
3430
3526
  items: context.items,
3431
3527
  strategy: strategyProp ?? context.strategy,
3432
- children: withoutSlot ? children : /* @__PURE__ */ jsx29(
3528
+ children: withoutSlot ? children : /* @__PURE__ */ jsx30(
3433
3529
  ContentPrimitive,
3434
3530
  {
3435
3531
  "data-slot": "sortable-content",
@@ -3506,7 +3602,7 @@ function SortableItem(props) {
3506
3602
  [id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]
3507
3603
  );
3508
3604
  const ItemPrimitive = asChild ? SlotPrimitive.Slot : "div";
3509
- return /* @__PURE__ */ jsx29(SortableItemContext.Provider, { value: itemContext, children: /* @__PURE__ */ jsx29(
3605
+ return /* @__PURE__ */ jsx30(SortableItemContext.Provider, { value: itemContext, children: /* @__PURE__ */ jsx30(
3510
3606
  ItemPrimitive,
3511
3607
  {
3512
3608
  id,
@@ -3543,7 +3639,7 @@ function SortableItemHandle(props) {
3543
3639
  itemContext.setActivatorNodeRef(node);
3544
3640
  });
3545
3641
  const HandlePrimitive = asChild ? SlotPrimitive.Slot : "button";
3546
- return /* @__PURE__ */ jsx29(
3642
+ return /* @__PURE__ */ jsx30(
3547
3643
  HandlePrimitive,
3548
3644
  {
3549
3645
  type: "button",
@@ -3602,14 +3698,14 @@ function SortableOverlay(props) {
3602
3698
  const container = containerProp ?? (mounted ? globalThis.document?.body : null);
3603
3699
  if (!container) return null;
3604
3700
  return ReactDOM.createPortal(
3605
- /* @__PURE__ */ jsx29(
3701
+ /* @__PURE__ */ jsx30(
3606
3702
  DragOverlay,
3607
3703
  {
3608
3704
  modifiers: context.modifiers,
3609
3705
  className: cn(!context.flatCursor && "cursor-grabbing"),
3610
3706
  ...overlayProps,
3611
3707
  dropAnimation: prefersReducedMotion ? null : callerDropAnimation === void 0 ? defaultDropAnimation : callerDropAnimation,
3612
- children: /* @__PURE__ */ jsx29(SortableOverlayContext.Provider, { value: true, children: context.activeId ? typeof children === "function" ? children({ value: context.activeId }) : children : null })
3708
+ children: /* @__PURE__ */ jsx30(SortableOverlayContext.Provider, { value: true, children: context.activeId ? typeof children === "function" ? children({ value: context.activeId }) : children : null })
3613
3709
  }
3614
3710
  ),
3615
3711
  container
@@ -3618,7 +3714,7 @@ function SortableOverlay(props) {
3618
3714
 
3619
3715
  // src/components/status-dot/status-dot.tsx
3620
3716
  import { cva as cva4 } from "class-variance-authority";
3621
- import { jsx as jsx30 } from "react/jsx-runtime";
3717
+ import { jsx as jsx31 } from "react/jsx-runtime";
3622
3718
  var statusDotVariants = cva4("inline-flex shrink-0 rounded-full", {
3623
3719
  variants: {
3624
3720
  tone: {
@@ -3652,7 +3748,7 @@ function StatusDot({
3652
3748
  title,
3653
3749
  className
3654
3750
  }) {
3655
- return /* @__PURE__ */ jsx30(
3751
+ return /* @__PURE__ */ jsx31(
3656
3752
  "span",
3657
3753
  {
3658
3754
  "aria-hidden": ariaLabel ? void 0 : true,
@@ -3670,7 +3766,7 @@ function StatusDot({
3670
3766
 
3671
3767
  // src/components/switch/switch.tsx
3672
3768
  import { Switch as SwitchPrimitive } from "radix-ui";
3673
- import { jsx as jsx31 } from "react/jsx-runtime";
3769
+ import { jsx as jsx32 } from "react/jsx-runtime";
3674
3770
  function Switch({
3675
3771
  className,
3676
3772
  disabled,
@@ -3678,7 +3774,7 @@ function Switch({
3678
3774
  size = "default",
3679
3775
  ...props
3680
3776
  }) {
3681
- return /* @__PURE__ */ jsx31(
3777
+ return /* @__PURE__ */ jsx32(
3682
3778
  SwitchPrimitive.Root,
3683
3779
  {
3684
3780
  "data-slot": "switch",
@@ -3691,12 +3787,12 @@ function Switch({
3691
3787
  className
3692
3788
  ),
3693
3789
  ...props,
3694
- children: /* @__PURE__ */ jsx31(
3790
+ children: /* @__PURE__ */ jsx32(
3695
3791
  SwitchPrimitive.Thumb,
3696
3792
  {
3697
3793
  "data-slot": "switch-thumb",
3698
3794
  className: "pointer-events-none inline-flex items-center justify-center rounded-full bg-[var(--white-stationary)] ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[14px] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[10px] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0",
3699
- children: loading ? /* @__PURE__ */ jsx31(
3795
+ children: loading ? /* @__PURE__ */ jsx32(
3700
3796
  LoadingIcon,
3701
3797
  {
3702
3798
  "aria-hidden": "true",
@@ -3710,9 +3806,9 @@ function Switch({
3710
3806
  }
3711
3807
 
3712
3808
  // src/components/textarea/textarea.tsx
3713
- import { jsx as jsx32 } from "react/jsx-runtime";
3809
+ import { jsx as jsx33 } from "react/jsx-runtime";
3714
3810
  function Textarea({ className, ...props }) {
3715
- return /* @__PURE__ */ jsx32(
3811
+ return /* @__PURE__ */ jsx33(
3716
3812
  "textarea",
3717
3813
  {
3718
3814
  "data-slot": "textarea",
@@ -3729,13 +3825,13 @@ function Textarea({ className, ...props }) {
3729
3825
  import * as React13 from "react";
3730
3826
  import { Toast as ToastPrimitive } from "radix-ui";
3731
3827
  import { cva as cva5 } from "class-variance-authority";
3732
- import { jsx as jsx33, jsxs as jsxs15 } from "react/jsx-runtime";
3828
+ import { jsx as jsx34, jsxs as jsxs16 } from "react/jsx-runtime";
3733
3829
  var toastDefaultDurationMs = 3e3;
3734
3830
  function ToastProvider({
3735
3831
  duration = toastDefaultDurationMs,
3736
3832
  ...props
3737
3833
  }) {
3738
- return /* @__PURE__ */ jsx33(ToastPrimitive.Provider, { duration, ...props });
3834
+ return /* @__PURE__ */ jsx34(ToastPrimitive.Provider, { duration, ...props });
3739
3835
  }
3740
3836
  var ToastVisualContext = React13.createContext(null);
3741
3837
  var toastStatusIconByVariant = {
@@ -3793,7 +3889,7 @@ function ToastRoot({
3793
3889
  ...props
3794
3890
  }) {
3795
3891
  const isDestructive = variant === "destructive";
3796
- return /* @__PURE__ */ jsx33(
3892
+ return /* @__PURE__ */ jsx34(
3797
3893
  ToastPrimitive.Root,
3798
3894
  {
3799
3895
  "aria-busy": busy,
@@ -3810,7 +3906,7 @@ function ToastRoot({
3810
3906
  ...style
3811
3907
  },
3812
3908
  ...props,
3813
- children: /* @__PURE__ */ jsx33(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx33("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
3909
+ children: /* @__PURE__ */ jsx34(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx34("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
3814
3910
  }
3815
3911
  );
3816
3912
  }
@@ -3821,7 +3917,7 @@ function ToastTitle({
3821
3917
  }) {
3822
3918
  const toastVisual = React13.useContext(ToastVisualContext);
3823
3919
  const StatusIcon = toastVisual?.variant && hasToastStatusIcon(toastVisual.variant) ? toastStatusIconByVariant[toastVisual.variant] : null;
3824
- return /* @__PURE__ */ jsxs15(
3920
+ return /* @__PURE__ */ jsxs16(
3825
3921
  ToastPrimitive.Title,
3826
3922
  {
3827
3923
  "data-slot": "toast-title",
@@ -3831,7 +3927,7 @@ function ToastTitle({
3831
3927
  ),
3832
3928
  ...props,
3833
3929
  children: [
3834
- toastVisual?.busy ? /* @__PURE__ */ jsx33(
3930
+ toastVisual?.busy ? /* @__PURE__ */ jsx34(
3835
3931
  Spinner,
3836
3932
  {
3837
3933
  className: "shrink-0 text-current",
@@ -3839,8 +3935,8 @@ function ToastTitle({
3839
3935
  strokeWidth: 2,
3840
3936
  trackColor: "color-mix(in srgb, currentColor 28%, transparent)"
3841
3937
  }
3842
- ) : StatusIcon ? /* @__PURE__ */ jsx33(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
3843
- /* @__PURE__ */ jsx33("span", { className: "min-w-0 break-words", children: formatToastText(children) })
3938
+ ) : StatusIcon ? /* @__PURE__ */ jsx34(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
3939
+ /* @__PURE__ */ jsx34("span", { className: "min-w-0 break-words", children: formatToastText(children) })
3844
3940
  ]
3845
3941
  }
3846
3942
  );
@@ -3849,7 +3945,7 @@ function ToastDescription({
3849
3945
  className,
3850
3946
  ...props
3851
3947
  }) {
3852
- return /* @__PURE__ */ jsx33(
3948
+ return /* @__PURE__ */ jsx34(
3853
3949
  ToastPrimitive.Description,
3854
3950
  {
3855
3951
  "data-slot": "toast-description",
@@ -3865,7 +3961,7 @@ function ToastClose({
3865
3961
  className,
3866
3962
  ...props
3867
3963
  }) {
3868
- return /* @__PURE__ */ jsx33(
3964
+ return /* @__PURE__ */ jsx34(
3869
3965
  ToastPrimitive.Close,
3870
3966
  {
3871
3967
  "data-slot": "toast-close",
@@ -3874,7 +3970,7 @@ function ToastClose({
3874
3970
  className
3875
3971
  ),
3876
3972
  ...props,
3877
- children: /* @__PURE__ */ jsx33(CloseIcon, { className: "size-4" })
3973
+ children: /* @__PURE__ */ jsx34(CloseIcon, { className: "size-4" })
3878
3974
  }
3879
3975
  );
3880
3976
  }
@@ -3883,7 +3979,7 @@ function ToastViewport({
3883
3979
  style,
3884
3980
  ...props
3885
3981
  }) {
3886
- return /* @__PURE__ */ jsx33(
3982
+ return /* @__PURE__ */ jsx34(
3887
3983
  ToastPrimitive.Viewport,
3888
3984
  {
3889
3985
  "data-slot": "toast-viewport",
@@ -3898,8 +3994,8 @@ function ToastViewport({
3898
3994
  }
3899
3995
 
3900
3996
  // src/components/underline-tabs/underline-tabs.tsx
3901
- import { useEffect as useEffect6, useLayoutEffect as useLayoutEffect3, useRef as useRef4, useState as useState8 } from "react";
3902
- import { jsx as jsx34, jsxs as jsxs16 } from "react/jsx-runtime";
3997
+ import { useEffect as useEffect6, useLayoutEffect as useLayoutEffect3, useRef as useRef4, useState as useState9 } from "react";
3998
+ import { jsx as jsx35, jsxs as jsxs17 } from "react/jsx-runtime";
3903
3999
  function UnderlineTabs({
3904
4000
  tabs,
3905
4001
  value,
@@ -3917,8 +4013,8 @@ function UnderlineTabs({
3917
4013
  const viewportRef = useRef4(null);
3918
4014
  const rowRef = useRef4(null);
3919
4015
  const buttonRefs = useRef4({});
3920
- const [indicatorStyle, setIndicatorStyle] = useState8({ left: 0, width: 0 });
3921
- const [overflow, setOverflow] = useState8({
4016
+ const [indicatorStyle, setIndicatorStyle] = useState9({ left: 0, width: 0 });
4017
+ const [overflow, setOverflow] = useState9({
3922
4018
  canScrollLeft: false,
3923
4019
  canScrollRight: false
3924
4020
  });
@@ -3982,7 +4078,7 @@ function UnderlineTabs({
3982
4078
  behavior: "smooth"
3983
4079
  });
3984
4080
  };
3985
- return /* @__PURE__ */ jsxs16(
4081
+ return /* @__PURE__ */ jsxs17(
3986
4082
  "div",
3987
4083
  {
3988
4084
  "aria-label": ariaLabel,
@@ -3994,7 +4090,7 @@ function UnderlineTabs({
3994
4090
  "data-testid": testId,
3995
4091
  role: "tablist",
3996
4092
  children: [
3997
- /* @__PURE__ */ jsx34(
4093
+ /* @__PURE__ */ jsx35(
3998
4094
  "div",
3999
4095
  {
4000
4096
  ref: viewportRef,
@@ -4008,7 +4104,7 @@ function UnderlineTabs({
4008
4104
  "data-can-scroll-right": overflow.canScrollRight ? "true" : "false",
4009
4105
  "data-slot": "underline-tabs-viewport",
4010
4106
  "data-testid": viewportTestId,
4011
- children: /* @__PURE__ */ jsxs16(
4107
+ children: /* @__PURE__ */ jsxs17(
4012
4108
  "div",
4013
4109
  {
4014
4110
  ref: rowRef,
@@ -4016,7 +4112,7 @@ function UnderlineTabs({
4016
4112
  children: [
4017
4113
  tabs.map((tab) => {
4018
4114
  const isActive = value === tab.value;
4019
- return /* @__PURE__ */ jsxs16(
4115
+ return /* @__PURE__ */ jsxs17(
4020
4116
  "button",
4021
4117
  {
4022
4118
  ref: (element) => {
@@ -4039,14 +4135,14 @@ function UnderlineTabs({
4039
4135
  onClick: () => onValueChange(tab.value),
4040
4136
  onMouseDown: preventMouseDownDefault ? (event) => event.preventDefault() : void 0,
4041
4137
  children: [
4042
- /* @__PURE__ */ jsx34("span", { children: tab.label }),
4043
- tab.count !== void 0 ? /* @__PURE__ */ jsx34("span", { className: "text-[11px] font-medium leading-6 text-[inherit]", children: tab.count }) : null
4138
+ /* @__PURE__ */ jsx35("span", { children: tab.label }),
4139
+ tab.count !== void 0 ? /* @__PURE__ */ jsx35("span", { className: "text-[11px] font-medium leading-6 text-[inherit]", children: tab.count }) : null
4044
4140
  ]
4045
4141
  },
4046
4142
  tab.value
4047
4143
  );
4048
4144
  }),
4049
- /* @__PURE__ */ jsx34(
4145
+ /* @__PURE__ */ jsx35(
4050
4146
  "div",
4051
4147
  {
4052
4148
  "aria-hidden": true,
@@ -4063,7 +4159,7 @@ function UnderlineTabs({
4063
4159
  )
4064
4160
  }
4065
4161
  ),
4066
- /* @__PURE__ */ jsx34(
4162
+ /* @__PURE__ */ jsx35(
4067
4163
  "button",
4068
4164
  {
4069
4165
  "aria-label": scrollLeftLabel,
@@ -4074,10 +4170,10 @@ function UnderlineTabs({
4074
4170
  disabled: !overflow.canScrollLeft,
4075
4171
  type: "button",
4076
4172
  onClick: () => scrollTabs("left"),
4077
- children: /* @__PURE__ */ jsx34(ArrowLeftIcon, { size: 16 })
4173
+ children: /* @__PURE__ */ jsx35(ArrowLeftIcon, { size: 16 })
4078
4174
  }
4079
4175
  ),
4080
- /* @__PURE__ */ jsx34(
4176
+ /* @__PURE__ */ jsx35(
4081
4177
  "button",
4082
4178
  {
4083
4179
  "aria-label": scrollRightLabel,
@@ -4088,7 +4184,7 @@ function UnderlineTabs({
4088
4184
  disabled: !overflow.canScrollRight,
4089
4185
  type: "button",
4090
4186
  onClick: () => scrollTabs("right"),
4091
- children: /* @__PURE__ */ jsx34(ArrowRightIcon, { size: 16 })
4187
+ children: /* @__PURE__ */ jsx35(ArrowRightIcon, { size: 16 })
4092
4188
  }
4093
4189
  )
4094
4190
  ]
@@ -4099,7 +4195,7 @@ function UnderlineTabs({
4099
4195
  // src/components/viewport-menu-surface/viewport-menu-surface.tsx
4100
4196
  import * as React14 from "react";
4101
4197
  import { createPortal as createPortal3 } from "react-dom";
4102
- import { jsx as jsx35 } from "react/jsx-runtime";
4198
+ import { jsx as jsx36 } from "react/jsx-runtime";
4103
4199
  var VIEWPORT_MENU_PADDING = 12;
4104
4200
  var MENU_BOUNDARY_PADDING = 8;
4105
4201
  function clampMenuCoordinate(origin, size, viewportExtent, padding) {
@@ -4369,7 +4465,7 @@ var ViewportMenuSurface = React14.forwardRef(function ViewportMenuSurface2({
4369
4465
  }
4370
4466
  const portalTarget = resolvedPlacement.portalTarget ?? document.body;
4371
4467
  return createPortal3(
4372
- /* @__PURE__ */ jsx35(
4468
+ /* @__PURE__ */ jsx36(
4373
4469
  MenuSurface,
4374
4470
  {
4375
4471
  ...rest,
@@ -4403,6 +4499,7 @@ var ViewportMenuSurface = React14.forwardRef(function ViewportMenuSurface2({
4403
4499
  });
4404
4500
 
4405
4501
  export {
4502
+ Avatar,
4406
4503
  badgeVariants,
4407
4504
  Badge,
4408
4505
  BareIconButton,
@@ -4529,4 +4626,4 @@ export {
4529
4626
  UnderlineTabs,
4530
4627
  ViewportMenuSurface
4531
4628
  };
4532
- //# sourceMappingURL=chunk-OW6744SQ.js.map
4629
+ //# sourceMappingURL=chunk-QSVO3ZI2.js.map