@nextop-os/ui-system 0.0.28 → 0.0.29

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.
@@ -14,7 +14,7 @@ import {
14
14
  SuccessFilledIcon,
15
15
  WarningFilledIcon,
16
16
  WarningLinedIcon
17
- } from "./chunk-3BPTHQCX.js";
17
+ } from "./chunk-45BNCYIU.js";
18
18
  import {
19
19
  cn
20
20
  } from "./chunk-DGPY4WP3.js";
@@ -60,11 +60,49 @@ function Badge({
60
60
  );
61
61
  }
62
62
 
63
- // src/components/button/button.tsx
63
+ // src/components/bare-icon-button/bare-icon-button.tsx
64
64
  import { cva as cva2 } from "class-variance-authority";
65
65
  import { Slot as Slot2 } from "radix-ui";
66
66
  import { jsx as jsx2 } from "react/jsx-runtime";
67
- var buttonVariants = cva2(
67
+ var bareIconButtonVariants = cva2(
68
+ "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",
69
+ {
70
+ variants: {
71
+ size: {
72
+ md: "size-6 rounded-[4px] [&_svg:not([class*='size-'])]:size-4",
73
+ sm: "size-5 rounded-[3px] [&_svg:not([class*='size-'])]:size-3.5"
74
+ }
75
+ },
76
+ defaultVariants: {
77
+ size: "md"
78
+ }
79
+ }
80
+ );
81
+ function BareIconButton({
82
+ className,
83
+ size = "md",
84
+ asChild = false,
85
+ type = "button",
86
+ ...props
87
+ }) {
88
+ const Comp = asChild ? Slot2.Root : "button";
89
+ return /* @__PURE__ */ jsx2(
90
+ Comp,
91
+ {
92
+ "data-slot": "bare-icon-button",
93
+ "data-size": size,
94
+ type,
95
+ className: cn(bareIconButtonVariants({ size, className })),
96
+ ...props
97
+ }
98
+ );
99
+ }
100
+
101
+ // src/components/button/button.tsx
102
+ import { cva as cva3 } from "class-variance-authority";
103
+ import { Slot as Slot3 } from "radix-ui";
104
+ import { jsx as jsx3 } from "react/jsx-runtime";
105
+ var buttonVariants = cva3(
68
106
  "group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md border border-transparent bg-clip-padding text-sm 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",
69
107
  {
70
108
  variants: {
@@ -109,8 +147,8 @@ function Button({
109
147
  asChild = false,
110
148
  ...props
111
149
  }) {
112
- const Comp = asChild ? Slot2.Root : "button";
113
- return /* @__PURE__ */ jsx2(
150
+ const Comp = asChild ? Slot3.Root : "button";
151
+ return /* @__PURE__ */ jsx3(
114
152
  Comp,
115
153
  {
116
154
  "data-slot": "button",
@@ -123,13 +161,13 @@ function Button({
123
161
  }
124
162
 
125
163
  // src/components/card/card.tsx
126
- import { jsx as jsx3 } from "react/jsx-runtime";
164
+ import { jsx as jsx4 } from "react/jsx-runtime";
127
165
  function Card({
128
166
  className,
129
167
  size = "default",
130
168
  ...props
131
169
  }) {
132
- return /* @__PURE__ */ jsx3(
170
+ return /* @__PURE__ */ jsx4(
133
171
  "div",
134
172
  {
135
173
  "data-slot": "card",
@@ -143,7 +181,7 @@ function Card({
143
181
  );
144
182
  }
145
183
  function CardHeader({ className, ...props }) {
146
- return /* @__PURE__ */ jsx3(
184
+ return /* @__PURE__ */ jsx4(
147
185
  "div",
148
186
  {
149
187
  "data-slot": "card-header",
@@ -156,7 +194,7 @@ function CardHeader({ className, ...props }) {
156
194
  );
157
195
  }
158
196
  function CardTitle({ className, ...props }) {
159
- return /* @__PURE__ */ jsx3(
197
+ return /* @__PURE__ */ jsx4(
160
198
  "div",
161
199
  {
162
200
  "data-slot": "card-title",
@@ -169,7 +207,7 @@ function CardTitle({ className, ...props }) {
169
207
  );
170
208
  }
171
209
  function CardDescription({ className, ...props }) {
172
- return /* @__PURE__ */ jsx3(
210
+ return /* @__PURE__ */ jsx4(
173
211
  "div",
174
212
  {
175
213
  "data-slot": "card-description",
@@ -179,7 +217,7 @@ function CardDescription({ className, ...props }) {
179
217
  );
180
218
  }
181
219
  function CardAction({ className, ...props }) {
182
- return /* @__PURE__ */ jsx3(
220
+ return /* @__PURE__ */ jsx4(
183
221
  "div",
184
222
  {
185
223
  "data-slot": "card-action",
@@ -192,7 +230,7 @@ function CardAction({ className, ...props }) {
192
230
  );
193
231
  }
194
232
  function CardContent({ className, ...props }) {
195
- return /* @__PURE__ */ jsx3(
233
+ return /* @__PURE__ */ jsx4(
196
234
  "div",
197
235
  {
198
236
  "data-slot": "card-content",
@@ -202,7 +240,7 @@ function CardContent({ className, ...props }) {
202
240
  );
203
241
  }
204
242
  function CardFooter({ className, ...props }) {
205
- return /* @__PURE__ */ jsx3(
243
+ return /* @__PURE__ */ jsx4(
206
244
  "div",
207
245
  {
208
246
  "data-slot": "card-footer",
@@ -217,12 +255,12 @@ function CardFooter({ className, ...props }) {
217
255
 
218
256
  // src/components/checkbox/checkbox.tsx
219
257
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
220
- import { jsx as jsx4 } from "react/jsx-runtime";
258
+ import { jsx as jsx5 } from "react/jsx-runtime";
221
259
  function Checkbox({
222
260
  className,
223
261
  ...props
224
262
  }) {
225
- return /* @__PURE__ */ jsx4(
263
+ return /* @__PURE__ */ jsx5(
226
264
  CheckboxPrimitive.Root,
227
265
  {
228
266
  "data-slot": "checkbox",
@@ -231,12 +269,12 @@ function Checkbox({
231
269
  className
232
270
  ),
233
271
  ...props,
234
- children: /* @__PURE__ */ jsx4(
272
+ children: /* @__PURE__ */ jsx5(
235
273
  CheckboxPrimitive.Indicator,
236
274
  {
237
275
  "data-slot": "checkbox-indicator",
238
276
  className: "grid place-content-center text-current transition-none [&>svg]:size-3",
239
- children: /* @__PURE__ */ jsx4(CheckIcon, { size: 14 })
277
+ children: /* @__PURE__ */ jsx5(CheckIcon, { size: 14 })
240
278
  }
241
279
  )
242
280
  }
@@ -246,7 +284,7 @@ function Checkbox({
246
284
  // src/components/dialog/dialog.tsx
247
285
  import * as React from "react";
248
286
  import { Dialog as DialogPrimitive } from "radix-ui";
249
- import { Fragment, jsx as jsx5, jsxs } from "react/jsx-runtime";
287
+ import { Fragment, jsx as jsx6, jsxs } from "react/jsx-runtime";
250
288
  var dialogCloseDurationMs = 150;
251
289
  var DialogMotionContext = React.createContext({
252
290
  open: false
@@ -270,7 +308,7 @@ function Dialog({
270
308
  },
271
309
  [onOpenChange, open]
272
310
  );
273
- return /* @__PURE__ */ jsx5(DialogMotionContext.Provider, { value: { open: currentOpen }, children: /* @__PURE__ */ jsx5(
311
+ return /* @__PURE__ */ jsx6(DialogMotionContext.Provider, { value: { open: currentOpen }, children: /* @__PURE__ */ jsx6(
274
312
  DialogPrimitive.Root,
275
313
  {
276
314
  "data-slot": "dialog",
@@ -283,24 +321,24 @@ function Dialog({
283
321
  function DialogTrigger({
284
322
  ...props
285
323
  }) {
286
- return /* @__PURE__ */ jsx5(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
324
+ return /* @__PURE__ */ jsx6(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
287
325
  }
288
326
  function DialogPortal({
289
327
  ...props
290
328
  }) {
291
- return /* @__PURE__ */ jsx5(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
329
+ return /* @__PURE__ */ jsx6(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
292
330
  }
293
331
  function DialogClose({
294
332
  ...props
295
333
  }) {
296
- return /* @__PURE__ */ jsx5(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
334
+ return /* @__PURE__ */ jsx6(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
297
335
  }
298
336
  function DialogOverlay({
299
337
  className,
300
338
  style,
301
339
  ...props
302
340
  }) {
303
- return /* @__PURE__ */ jsx5(
341
+ return /* @__PURE__ */ jsx6(
304
342
  DialogPrimitive.Overlay,
305
343
  {
306
344
  "data-slot": "dialog-overlay",
@@ -340,7 +378,7 @@ function DialogContent({
340
378
  return null;
341
379
  }
342
380
  const content = /* @__PURE__ */ jsxs(Fragment, { children: [
343
- /* @__PURE__ */ jsx5(DialogOverlay, { className: overlayClassName, forceMount: true }),
381
+ /* @__PURE__ */ jsx6(DialogOverlay, { className: overlayClassName, forceMount: true }),
344
382
  /* @__PURE__ */ jsxs(
345
383
  DialogPrimitive.Content,
346
384
  {
@@ -348,22 +386,22 @@ function DialogContent({
348
386
  forceMount: true,
349
387
  className: cn(
350
388
  portaled ? "fixed" : "absolute",
351
- "pointer-events-none top-1/2 left-1/2 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 origin-center gap-3 rounded-[16px] border border-border-1 bg-background-fronted p-[18px] text-sm text-foreground shadow-panel outline-none ease-[cubic-bezier(0.22,1,0.36,1)] will-change-[transform,opacity] sm:max-w-[360px] data-[state=closed]:!pointer-events-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-[0.96] data-[state=closed]:duration-[150ms] data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-[0.96] data-[state=open]:duration-[250ms] motion-reduce:animate-none",
389
+ "pointer-events-none top-1/2 left-1/2 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 origin-center gap-3 rounded-[16px] border border-border-1 bg-[var(--background-panel)] p-[18px] text-sm text-foreground shadow-panel outline-none ease-[cubic-bezier(0.22,1,0.36,1)] will-change-[transform,opacity] sm:max-w-[360px] data-[state=closed]:!pointer-events-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-[0.96] data-[state=closed]:duration-[150ms] data-[state=open]:pointer-events-auto data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-[0.96] data-[state=open]:duration-[250ms] motion-reduce:animate-none",
352
390
  className
353
391
  ),
354
392
  style: { zIndex: "var(--z-dialog)", ...style },
355
393
  ...props,
356
394
  children: [
357
395
  children,
358
- showCloseButton && /* @__PURE__ */ jsx5(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs(
396
+ showCloseButton && /* @__PURE__ */ jsx6(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxs(
359
397
  Button,
360
398
  {
361
399
  variant: "ghost",
362
400
  className: "absolute top-3 right-3",
363
401
  size: "icon-sm",
364
402
  children: [
365
- /* @__PURE__ */ jsx5(CloseIcon, {}),
366
- /* @__PURE__ */ jsx5("span", { className: "sr-only", children: "Close" })
403
+ /* @__PURE__ */ jsx6(CloseIcon, {}),
404
+ /* @__PURE__ */ jsx6("span", { className: "sr-only", children: "Close" })
367
405
  ]
368
406
  }
369
407
  ) })
@@ -374,10 +412,10 @@ function DialogContent({
374
412
  if (!portaled) {
375
413
  return content;
376
414
  }
377
- return /* @__PURE__ */ jsx5(DialogPortal, { forceMount: true, children: content });
415
+ return /* @__PURE__ */ jsx6(DialogPortal, { forceMount: true, children: content });
378
416
  }
379
417
  function DialogHeader({ className, ...props }) {
380
- return /* @__PURE__ */ jsx5(
418
+ return /* @__PURE__ */ jsx6(
381
419
  "div",
382
420
  {
383
421
  "data-slot": "dialog-header",
@@ -403,7 +441,7 @@ function DialogFooter({
403
441
  ...props,
404
442
  children: [
405
443
  children,
406
- showCloseButton && /* @__PURE__ */ jsx5(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx5(Button, { variant: "ghost", size: "dialog", children: "Close" }) })
444
+ showCloseButton && /* @__PURE__ */ jsx6(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx6(Button, { variant: "ghost", size: "dialog", children: "Close" }) })
407
445
  ]
408
446
  }
409
447
  );
@@ -412,7 +450,7 @@ function DialogTitle({
412
450
  className,
413
451
  ...props
414
452
  }) {
415
- return /* @__PURE__ */ jsx5(
453
+ return /* @__PURE__ */ jsx6(
416
454
  DialogPrimitive.Title,
417
455
  {
418
456
  "data-slot": "dialog-title",
@@ -428,7 +466,7 @@ function DialogDescription({
428
466
  className,
429
467
  ...props
430
468
  }) {
431
- return /* @__PURE__ */ jsx5(
469
+ return /* @__PURE__ */ jsx6(
432
470
  DialogPrimitive.Description,
433
471
  {
434
472
  "data-slot": "dialog-description",
@@ -442,7 +480,7 @@ function DialogDescription({
442
480
  }
443
481
 
444
482
  // src/components/confirmation-dialog/confirmation-dialog.tsx
445
- import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
483
+ import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
446
484
  function confirmToneClassName(tone) {
447
485
  if (tone === "destructive") {
448
486
  return "shadow-none";
@@ -470,7 +508,7 @@ function ConfirmationDialog({
470
508
  title
471
509
  }) {
472
510
  const isCloseDisabled = disableCloseWhileBusy && confirmBusy;
473
- return /* @__PURE__ */ jsx6(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(
511
+ return /* @__PURE__ */ jsx7(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(
474
512
  DialogContent,
475
513
  {
476
514
  className: cn(
@@ -492,12 +530,12 @@ function ConfirmationDialog({
492
530
  },
493
531
  children: [
494
532
  /* @__PURE__ */ jsxs2(DialogHeader, { children: [
495
- /* @__PURE__ */ jsx6(DialogTitle, { children: title }),
496
- description ? /* @__PURE__ */ jsx6(DialogDescription, { children: description }) : null
533
+ /* @__PURE__ */ jsx7(DialogTitle, { children: title }),
534
+ description ? /* @__PURE__ */ jsx7(DialogDescription, { children: description }) : null
497
535
  ] }),
498
- children ? /* @__PURE__ */ jsx6("div", { className: "text-sm leading-[1.3] text-text-secondary", children }) : null,
536
+ children ? /* @__PURE__ */ jsx7("div", { className: "text-sm leading-[1.3] text-text-secondary", children }) : null,
499
537
  footer ?? /* @__PURE__ */ jsxs2(DialogFooter, { children: [
500
- /* @__PURE__ */ jsx6(
538
+ /* @__PURE__ */ jsx7(
501
539
  Button,
502
540
  {
503
541
  disabled: confirmBusy,
@@ -511,7 +549,7 @@ function ConfirmationDialog({
511
549
  children: cancelLabel
512
550
  }
513
551
  ),
514
- hideConfirmButton ? null : /* @__PURE__ */ jsx6(
552
+ hideConfirmButton ? null : /* @__PURE__ */ jsx7(
515
553
  Button,
516
554
  {
517
555
  disabled: confirmBusy || confirmDisabled,
@@ -534,7 +572,7 @@ function ConfirmationDialog({
534
572
  // src/components/date-picker/date-picker.tsx
535
573
  import * as React2 from "react";
536
574
  import { createPortal } from "react-dom";
537
- import { Fragment as Fragment2, jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
575
+ import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
538
576
  var defaultLabels = {
539
577
  placeholder: "Year / Month / Day",
540
578
  previousMonth: "Previous month",
@@ -738,7 +776,7 @@ var DatePicker = React2.forwardRef(
738
776
  triggerRef.current?.focus();
739
777
  };
740
778
  return /* @__PURE__ */ jsxs3(Fragment2, { children: [
741
- /* @__PURE__ */ jsx7(
779
+ /* @__PURE__ */ jsx8(
742
780
  "button",
743
781
  {
744
782
  ref: (node) => {
@@ -769,7 +807,7 @@ var DatePicker = React2.forwardRef(
769
807
  }
770
808
  },
771
809
  ...props,
772
- children: /* @__PURE__ */ jsx7("span", { className: "min-w-0 truncate", children: displayValue })
810
+ children: /* @__PURE__ */ jsx8("span", { className: "min-w-0 truncate", children: displayValue })
773
811
  }
774
812
  ),
775
813
  isOpen && popoverPosition ? createPortal(
@@ -787,9 +825,9 @@ var DatePicker = React2.forwardRef(
787
825
  },
788
826
  children: [
789
827
  /* @__PURE__ */ jsxs3("div", { className: "mb-3 flex items-center justify-between gap-2", children: [
790
- /* @__PURE__ */ jsx7("div", { className: "text-sm font-semibold text-foreground", children: formatMonthLabel(visibleMonth) }),
828
+ /* @__PURE__ */ jsx8("div", { className: "text-sm font-semibold text-foreground", children: formatMonthLabel(visibleMonth) }),
791
829
  /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-1", children: [
792
- /* @__PURE__ */ jsx7(
830
+ /* @__PURE__ */ jsx8(
793
831
  "button",
794
832
  {
795
833
  "aria-label": resolvedLabels.previousMonth,
@@ -802,10 +840,10 @@ var DatePicker = React2.forwardRef(
802
840
  1
803
841
  )
804
842
  ),
805
- children: /* @__PURE__ */ jsx7(ArrowLeftIcon, { size: 16 })
843
+ children: /* @__PURE__ */ jsx8(ArrowLeftIcon, { size: 16 })
806
844
  }
807
845
  ),
808
- /* @__PURE__ */ jsx7(
846
+ /* @__PURE__ */ jsx8(
809
847
  "button",
810
848
  {
811
849
  "aria-label": resolvedLabels.nextMonth,
@@ -818,13 +856,13 @@ var DatePicker = React2.forwardRef(
818
856
  1
819
857
  )
820
858
  ),
821
- children: /* @__PURE__ */ jsx7(ArrowRightIcon, { size: 16 })
859
+ children: /* @__PURE__ */ jsx8(ArrowRightIcon, { size: 16 })
822
860
  }
823
861
  )
824
862
  ] })
825
863
  ] }),
826
- /* @__PURE__ */ jsx7("div", { className: "grid grid-cols-7 gap-1 text-center text-xs font-semibold text-muted-foreground", children: resolvedLabels.weekdayLabels.map((day) => /* @__PURE__ */ jsx7("div", { className: "py-1", children: day }, day)) }),
827
- /* @__PURE__ */ jsx7(
864
+ /* @__PURE__ */ jsx8("div", { className: "grid grid-cols-7 gap-1 text-center text-xs font-semibold text-muted-foreground", children: resolvedLabels.weekdayLabels.map((day) => /* @__PURE__ */ jsx8("div", { className: "py-1", children: day }, day)) }),
865
+ /* @__PURE__ */ jsx8(
828
866
  "div",
829
867
  {
830
868
  className: "mt-1 grid grid-cols-7 justify-items-center gap-1",
@@ -833,7 +871,7 @@ var DatePicker = React2.forwardRef(
833
871
  const isSelected = isSameDate(date, selectedDate);
834
872
  const isToday = isSameDate(date, today);
835
873
  const inCurrentMonth = date.getMonth() === visibleMonth.getMonth();
836
- return /* @__PURE__ */ jsx7(
874
+ return /* @__PURE__ */ jsx8(
837
875
  "button",
838
876
  {
839
877
  "aria-pressed": isSelected,
@@ -854,7 +892,7 @@ var DatePicker = React2.forwardRef(
854
892
  }
855
893
  ),
856
894
  /* @__PURE__ */ jsxs3("div", { className: "mt-3 flex items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
857
- /* @__PURE__ */ jsx7(
895
+ /* @__PURE__ */ jsx8(
858
896
  "button",
859
897
  {
860
898
  className: "inline-flex min-h-8 items-center justify-center rounded-sm px-3 text-sm font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
@@ -867,7 +905,7 @@ var DatePicker = React2.forwardRef(
867
905
  children: resolvedLabels.clear
868
906
  }
869
907
  ),
870
- /* @__PURE__ */ jsx7(
908
+ /* @__PURE__ */ jsx8(
871
909
  "button",
872
910
  {
873
911
  className: "inline-flex min-h-8 items-center justify-center rounded-sm bg-primary px-3 text-sm font-medium text-primary-foreground transition-opacity hover:opacity-90",
@@ -889,33 +927,33 @@ DatePicker.displayName = "DatePicker";
889
927
 
890
928
  // src/components/drawer/drawer.tsx
891
929
  import { Drawer as DrawerPrimitive } from "vaul";
892
- import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
930
+ import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
893
931
  function Drawer({
894
932
  ...props
895
933
  }) {
896
- return /* @__PURE__ */ jsx8(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
934
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
897
935
  }
898
936
  function DrawerTrigger({
899
937
  ...props
900
938
  }) {
901
- return /* @__PURE__ */ jsx8(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
939
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
902
940
  }
903
941
  function DrawerPortal({
904
942
  ...props
905
943
  }) {
906
- return /* @__PURE__ */ jsx8(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
944
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
907
945
  }
908
946
  function DrawerClose({
909
947
  ...props
910
948
  }) {
911
- return /* @__PURE__ */ jsx8(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
949
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
912
950
  }
913
951
  function DrawerOverlay({
914
952
  className,
915
953
  style,
916
954
  ...props
917
955
  }) {
918
- return /* @__PURE__ */ jsx8(
956
+ return /* @__PURE__ */ jsx9(
919
957
  DrawerPrimitive.Overlay,
920
958
  {
921
959
  "data-slot": "drawer-overlay",
@@ -937,7 +975,7 @@ function DrawerContent({
937
975
  ...props
938
976
  }) {
939
977
  return /* @__PURE__ */ jsxs4(DrawerPortal, { "data-slot": "drawer-portal", container: portalContainer, children: [
940
- showOverlay ? /* @__PURE__ */ jsx8(DrawerOverlay, {}) : null,
978
+ showOverlay ? /* @__PURE__ */ jsx9(DrawerOverlay, {}) : null,
941
979
  /* @__PURE__ */ jsxs4(
942
980
  DrawerPrimitive.Content,
943
981
  {
@@ -953,7 +991,7 @@ function DrawerContent({
953
991
  style: { zIndex: "var(--z-dialog)", ...style },
954
992
  ...props,
955
993
  children: [
956
- /* @__PURE__ */ jsx8("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" }),
994
+ /* @__PURE__ */ jsx9("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" }),
957
995
  children
958
996
  ]
959
997
  }
@@ -961,7 +999,7 @@ function DrawerContent({
961
999
  ] });
962
1000
  }
963
1001
  function DrawerHeader({ className, ...props }) {
964
- return /* @__PURE__ */ jsx8(
1002
+ return /* @__PURE__ */ jsx9(
965
1003
  "div",
966
1004
  {
967
1005
  "data-slot": "drawer-header",
@@ -974,7 +1012,7 @@ function DrawerHeader({ className, ...props }) {
974
1012
  );
975
1013
  }
976
1014
  function DrawerFooter({ className, ...props }) {
977
- return /* @__PURE__ */ jsx8(
1015
+ return /* @__PURE__ */ jsx9(
978
1016
  "div",
979
1017
  {
980
1018
  "data-slot": "drawer-footer",
@@ -987,7 +1025,7 @@ function DrawerTitle({
987
1025
  className,
988
1026
  ...props
989
1027
  }) {
990
- return /* @__PURE__ */ jsx8(
1028
+ return /* @__PURE__ */ jsx9(
991
1029
  DrawerPrimitive.Title,
992
1030
  {
993
1031
  "data-slot": "drawer-title",
@@ -1003,7 +1041,7 @@ function DrawerDescription({
1003
1041
  className,
1004
1042
  ...props
1005
1043
  }) {
1006
- return /* @__PURE__ */ jsx8(
1044
+ return /* @__PURE__ */ jsx9(
1007
1045
  DrawerPrimitive.Description,
1008
1046
  {
1009
1047
  "data-slot": "drawer-description",
@@ -1018,12 +1056,12 @@ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
1018
1056
 
1019
1057
  // src/components/menu-surface/menu-surface.tsx
1020
1058
  import * as React3 from "react";
1021
- import { Slot as Slot3 } from "radix-ui";
1022
- import { jsx as jsx9 } from "react/jsx-runtime";
1059
+ import { Slot as Slot4 } from "radix-ui";
1060
+ import { jsx as jsx10 } from "react/jsx-runtime";
1023
1061
  var menuSurfaceClassName = "t-dropdown flex flex-col gap-0.5 rounded-[8px] border border-[var(--border-1)] bg-[var(--background-fronted)] p-1 text-sm text-[var(--text-primary)] shadow-panel outline-none";
1024
1062
  var menuItemClassName = "relative flex cursor-pointer items-center gap-1.5 rounded-sm px-2 py-1 text-sm 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:items-center *:[span]:last:gap-2";
1025
1063
  var menuItemWithIndicatorClassName = `${menuItemClassName} pr-8`;
1026
- var menuItemIndicatorClassName = "pointer-events-none absolute right-2 flex size-4 items-center justify-center";
1064
+ var menuItemIndicatorClassName = "pointer-events-none absolute right-2 flex size-4 items-center justify-center text-[var(--accent)]";
1027
1065
  var MenuSurface = React3.forwardRef(
1028
1066
  ({
1029
1067
  asChild = false,
@@ -1032,8 +1070,8 @@ var MenuSurface = React3.forwardRef(
1032
1070
  state = "open",
1033
1071
  ...props
1034
1072
  }, ref) => {
1035
- const Comp = asChild ? Slot3.Root : "div";
1036
- return /* @__PURE__ */ jsx9(
1073
+ const Comp = asChild ? Slot4.Root : "div";
1074
+ return /* @__PURE__ */ jsx10(
1037
1075
  Comp,
1038
1076
  {
1039
1077
  ...props,
@@ -1047,21 +1085,21 @@ var MenuSurface = React3.forwardRef(
1047
1085
  MenuSurface.displayName = "MenuSurface";
1048
1086
 
1049
1087
  // src/components/dropdown-menu/dropdown-menu.tsx
1050
- import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
1088
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
1051
1089
  function DropdownMenu({
1052
1090
  ...props
1053
1091
  }) {
1054
- return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1092
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1055
1093
  }
1056
1094
  function DropdownMenuPortal({
1057
1095
  ...props
1058
1096
  }) {
1059
- return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1097
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1060
1098
  }
1061
1099
  function DropdownMenuTrigger({
1062
1100
  ...props
1063
1101
  }) {
1064
- return /* @__PURE__ */ jsx10(
1102
+ return /* @__PURE__ */ jsx11(
1065
1103
  DropdownMenuPrimitive.Trigger,
1066
1104
  {
1067
1105
  "data-slot": "dropdown-menu-trigger",
@@ -1077,7 +1115,7 @@ function DropdownMenuContent({
1077
1115
  style,
1078
1116
  ...props
1079
1117
  }) {
1080
- return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx10(
1118
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx11(
1081
1119
  DropdownMenuPrimitive.Content,
1082
1120
  {
1083
1121
  asChild: true,
@@ -1085,7 +1123,7 @@ function DropdownMenuContent({
1085
1123
  align,
1086
1124
  sideOffset,
1087
1125
  ...props,
1088
- children: /* @__PURE__ */ jsx10(
1126
+ children: /* @__PURE__ */ jsx11(
1089
1127
  MenuSurface,
1090
1128
  {
1091
1129
  "data-slot": "dropdown-menu-content",
@@ -1104,7 +1142,7 @@ function DropdownMenuGroup({
1104
1142
  className,
1105
1143
  ...props
1106
1144
  }) {
1107
- return /* @__PURE__ */ jsx10(
1145
+ return /* @__PURE__ */ jsx11(
1108
1146
  DropdownMenuPrimitive.Group,
1109
1147
  {
1110
1148
  "data-slot": "dropdown-menu-group",
@@ -1119,7 +1157,7 @@ function DropdownMenuItem({
1119
1157
  variant = "default",
1120
1158
  ...props
1121
1159
  }) {
1122
- return /* @__PURE__ */ jsx10(
1160
+ return /* @__PURE__ */ jsx11(
1123
1161
  DropdownMenuPrimitive.Item,
1124
1162
  {
1125
1163
  "data-inset": inset,
@@ -1155,12 +1193,12 @@ function DropdownMenuCheckboxItem({
1155
1193
  ),
1156
1194
  ...props,
1157
1195
  children: [
1158
- /* @__PURE__ */ jsx10(
1196
+ /* @__PURE__ */ jsx11(
1159
1197
  "span",
1160
1198
  {
1161
1199
  className: menuItemIndicatorClassName,
1162
1200
  "data-slot": "dropdown-menu-checkbox-item-indicator",
1163
- children: /* @__PURE__ */ jsx10(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx10(CheckIcon, {}) })
1201
+ children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(CheckIcon, {}) })
1164
1202
  }
1165
1203
  ),
1166
1204
  children
@@ -1172,7 +1210,7 @@ function DropdownMenuRadioGroup({
1172
1210
  className,
1173
1211
  ...props
1174
1212
  }) {
1175
- return /* @__PURE__ */ jsx10(
1213
+ return /* @__PURE__ */ jsx11(
1176
1214
  DropdownMenuPrimitive.RadioGroup,
1177
1215
  {
1178
1216
  "data-slot": "dropdown-menu-radio-group",
@@ -1199,12 +1237,12 @@ function DropdownMenuRadioItem({
1199
1237
  ),
1200
1238
  ...props,
1201
1239
  children: [
1202
- /* @__PURE__ */ jsx10(
1240
+ /* @__PURE__ */ jsx11(
1203
1241
  "span",
1204
1242
  {
1205
1243
  className: menuItemIndicatorClassName,
1206
1244
  "data-slot": "dropdown-menu-radio-item-indicator",
1207
- children: /* @__PURE__ */ jsx10(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx10(CheckIcon, {}) })
1245
+ children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(CheckIcon, {}) })
1208
1246
  }
1209
1247
  ),
1210
1248
  children
@@ -1217,7 +1255,7 @@ function DropdownMenuLabel({
1217
1255
  inset,
1218
1256
  ...props
1219
1257
  }) {
1220
- return /* @__PURE__ */ jsx10(
1258
+ return /* @__PURE__ */ jsx11(
1221
1259
  DropdownMenuPrimitive.Label,
1222
1260
  {
1223
1261
  "data-inset": inset,
@@ -1234,7 +1272,7 @@ function DropdownMenuSeparator({
1234
1272
  className,
1235
1273
  ...props
1236
1274
  }) {
1237
- return /* @__PURE__ */ jsx10(
1275
+ return /* @__PURE__ */ jsx11(
1238
1276
  DropdownMenuPrimitive.Separator,
1239
1277
  {
1240
1278
  "data-slot": "dropdown-menu-separator",
@@ -1247,7 +1285,7 @@ function DropdownMenuShortcut({
1247
1285
  className,
1248
1286
  ...props
1249
1287
  }) {
1250
- return /* @__PURE__ */ jsx10(
1288
+ return /* @__PURE__ */ jsx11(
1251
1289
  "span",
1252
1290
  {
1253
1291
  "data-slot": "dropdown-menu-shortcut",
@@ -1262,7 +1300,7 @@ function DropdownMenuShortcut({
1262
1300
  function DropdownMenuSub({
1263
1301
  ...props
1264
1302
  }) {
1265
- return /* @__PURE__ */ jsx10(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1303
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1266
1304
  }
1267
1305
  function DropdownMenuSubTrigger({
1268
1306
  className,
@@ -1283,7 +1321,7 @@ function DropdownMenuSubTrigger({
1283
1321
  ...props,
1284
1322
  children: [
1285
1323
  children,
1286
- /* @__PURE__ */ jsx10(ArrowRightIcon, { className: "ml-auto" })
1324
+ /* @__PURE__ */ jsx11(ArrowRightIcon, { className: "ml-auto" })
1287
1325
  ]
1288
1326
  }
1289
1327
  );
@@ -1294,13 +1332,13 @@ function DropdownMenuSubContent({
1294
1332
  style,
1295
1333
  ...props
1296
1334
  }) {
1297
- return /* @__PURE__ */ jsx10(
1335
+ return /* @__PURE__ */ jsx11(
1298
1336
  DropdownMenuPrimitive.SubContent,
1299
1337
  {
1300
1338
  asChild: true,
1301
1339
  "data-slot": "dropdown-menu-sub-content",
1302
1340
  ...props,
1303
- children: /* @__PURE__ */ jsx10(
1341
+ children: /* @__PURE__ */ jsx11(
1304
1342
  MenuSurface,
1305
1343
  {
1306
1344
  "data-slot": "dropdown-menu-sub-content",
@@ -1317,7 +1355,7 @@ function DropdownMenuSubContent({
1317
1355
  }
1318
1356
 
1319
1357
  // src/components/input/input.tsx
1320
- import { jsx as jsx11 } from "react/jsx-runtime";
1358
+ import { jsx as jsx12 } from "react/jsx-runtime";
1321
1359
  var inputVariantClassNames = {
1322
1360
  default: "h-8 rounded-[6px] px-3 py-0 text-sm leading-[1.3]",
1323
1361
  lg: "h-12 rounded-[8px] px-4 py-3 text-base leading-[1.3]",
@@ -1333,7 +1371,7 @@ function Input({
1333
1371
  ...props
1334
1372
  }) {
1335
1373
  const resolvedVariant = variant ?? (size === "sm" ? "sm" : "default");
1336
- return /* @__PURE__ */ jsx11(
1374
+ return /* @__PURE__ */ jsx12(
1337
1375
  "input",
1338
1376
  {
1339
1377
  type,
@@ -1352,7 +1390,7 @@ function Input({
1352
1390
  }
1353
1391
 
1354
1392
  // src/components/mention-pill/mention-pill.tsx
1355
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
1393
+ import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
1356
1394
  var mentionPillTokenByKind = {
1357
1395
  issue: "var(--rich-text-mention-issue)",
1358
1396
  session: "var(--rich-text-mention-session)",
@@ -1406,7 +1444,7 @@ function MentionPill({
1406
1444
  iconShellClassName
1407
1445
  ),
1408
1446
  children: [
1409
- /* @__PURE__ */ jsx12(
1447
+ /* @__PURE__ */ jsx13(
1410
1448
  Icon,
1411
1449
  {
1412
1450
  className: cn(
@@ -1416,7 +1454,7 @@ function MentionPill({
1416
1454
  )
1417
1455
  }
1418
1456
  ),
1419
- removable ? /* @__PURE__ */ jsx12(
1457
+ removable ? /* @__PURE__ */ jsx13(
1420
1458
  "button",
1421
1459
  {
1422
1460
  "aria-label": removeButtonProps?.["aria-label"],
@@ -1426,14 +1464,14 @@ function MentionPill({
1426
1464
  "absolute top-1/2 left-1/2 inline-flex size-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-sm text-[var(--text-secondary)] opacity-0 transition-opacity group-hover:opacity-100 hover:bg-transparency-block hover:text-[var(--text-primary)] focus-visible:opacity-100",
1427
1465
  removeButtonProps?.className
1428
1466
  ),
1429
- children: /* @__PURE__ */ jsx12(CloseIcon, { className: "size-3.5" })
1467
+ children: /* @__PURE__ */ jsx13(CloseIcon, { className: "size-3.5" })
1430
1468
  }
1431
1469
  ) : null
1432
1470
  ]
1433
1471
  }
1434
1472
  ),
1435
1473
  /* @__PURE__ */ jsxs6("span", { className: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap", children: [
1436
- /* @__PURE__ */ jsx12("span", { children: label }),
1474
+ /* @__PURE__ */ jsx13("span", { children: label }),
1437
1475
  summary ? /* @__PURE__ */ jsxs6("span", { className: "text-current", children: [
1438
1476
  " ",
1439
1477
  summary
@@ -1446,26 +1484,26 @@ function MentionPill({
1446
1484
 
1447
1485
  // src/components/popover/popover.tsx
1448
1486
  import { Popover as PopoverPrimitive } from "radix-ui";
1449
- import { jsx as jsx13 } from "react/jsx-runtime";
1487
+ import { jsx as jsx14 } from "react/jsx-runtime";
1450
1488
  function Popover({
1451
1489
  ...props
1452
1490
  }) {
1453
- return /* @__PURE__ */ jsx13(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
1491
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
1454
1492
  }
1455
1493
  function PopoverTrigger({
1456
1494
  ...props
1457
1495
  }) {
1458
- return /* @__PURE__ */ jsx13(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
1496
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
1459
1497
  }
1460
1498
  function PopoverPortal({
1461
1499
  ...props
1462
1500
  }) {
1463
- return /* @__PURE__ */ jsx13(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
1501
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
1464
1502
  }
1465
1503
  function PopoverClose({
1466
1504
  ...props
1467
1505
  }) {
1468
- return /* @__PURE__ */ jsx13(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
1506
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
1469
1507
  }
1470
1508
  function PopoverContent({
1471
1509
  className,
@@ -1473,7 +1511,7 @@ function PopoverContent({
1473
1511
  sideOffset = 4,
1474
1512
  ...props
1475
1513
  }) {
1476
- return /* @__PURE__ */ jsx13(PopoverPortal, { children: /* @__PURE__ */ jsx13(
1514
+ return /* @__PURE__ */ jsx14(PopoverPortal, { children: /* @__PURE__ */ jsx14(
1477
1515
  PopoverPrimitive.Content,
1478
1516
  {
1479
1517
  "data-slot": "popover-content",
@@ -1491,18 +1529,18 @@ function PopoverContent({
1491
1529
  function PopoverAnchor({
1492
1530
  ...props
1493
1531
  }) {
1494
- return /* @__PURE__ */ jsx13(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
1532
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
1495
1533
  }
1496
1534
 
1497
1535
  // src/components/resizable/resizable.tsx
1498
1536
  import * as ResizablePrimitive from "react-resizable-panels";
1499
- import { jsx as jsx14 } from "react/jsx-runtime";
1537
+ import { jsx as jsx15 } from "react/jsx-runtime";
1500
1538
  function ResizablePanelGroup({
1501
1539
  className,
1502
1540
  orientation = "horizontal",
1503
1541
  ...props
1504
1542
  }) {
1505
- return /* @__PURE__ */ jsx14(
1543
+ return /* @__PURE__ */ jsx15(
1506
1544
  ResizablePrimitive.Group,
1507
1545
  {
1508
1546
  "data-orientation": orientation,
@@ -1517,14 +1555,14 @@ function ResizablePanelGroup({
1517
1555
  );
1518
1556
  }
1519
1557
  function ResizablePanel(props) {
1520
- return /* @__PURE__ */ jsx14(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1558
+ return /* @__PURE__ */ jsx15(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1521
1559
  }
1522
1560
  function ResizableHandle({
1523
1561
  className,
1524
1562
  withHandle,
1525
1563
  ...props
1526
1564
  }) {
1527
- return /* @__PURE__ */ jsx14(
1565
+ return /* @__PURE__ */ jsx15(
1528
1566
  ResizablePrimitive.Separator,
1529
1567
  {
1530
1568
  "data-slot": "resizable-handle",
@@ -1533,17 +1571,23 @@ function ResizableHandle({
1533
1571
  className
1534
1572
  ),
1535
1573
  ...props,
1536
- children: withHandle ? /* @__PURE__ */ jsx14("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
1574
+ children: withHandle ? /* @__PURE__ */ jsx15("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
1537
1575
  }
1538
1576
  );
1539
1577
  }
1540
1578
 
1541
1579
  // src/components/scroll-area/scroll-area.tsx
1580
+ import * as React4 from "react";
1542
1581
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
1543
- import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
1582
+ import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1544
1583
  function ScrollArea({
1545
1584
  className,
1546
1585
  children,
1586
+ viewportClassName,
1587
+ viewportContentStyle,
1588
+ viewportProps,
1589
+ viewportRef,
1590
+ viewportTestId,
1547
1591
  ...props
1548
1592
  }) {
1549
1593
  return /* @__PURE__ */ jsxs7(
@@ -1553,37 +1597,87 @@ function ScrollArea({
1553
1597
  className: cn("group/scroll-area relative", className),
1554
1598
  ...props,
1555
1599
  children: [
1556
- /* @__PURE__ */ jsx15(
1600
+ /* @__PURE__ */ jsxs7(
1557
1601
  ScrollAreaPrimitive.Viewport,
1558
1602
  {
1603
+ ...viewportProps,
1559
1604
  "data-slot": "scroll-area-viewport",
1560
- className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
1561
- children
1605
+ "data-testid": viewportTestId,
1606
+ ref: viewportRef,
1607
+ className: cn(
1608
+ "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
1609
+ viewportClassName
1610
+ ),
1611
+ children: [
1612
+ viewportContentStyle ? /* @__PURE__ */ jsx16(ScrollAreaViewportContentStyleBridge, { style: viewportContentStyle }) : null,
1613
+ children
1614
+ ]
1562
1615
  }
1563
1616
  ),
1564
- /* @__PURE__ */ jsx15(ScrollBar, {}),
1565
- /* @__PURE__ */ jsx15(ScrollAreaPrimitive.Corner, {})
1617
+ /* @__PURE__ */ jsx16(ScrollBar, {}),
1618
+ /* @__PURE__ */ jsx16(ScrollAreaPrimitive.Corner, {})
1566
1619
  ]
1567
1620
  }
1568
1621
  );
1569
1622
  }
1623
+ function ScrollAreaViewportContentStyleBridge({
1624
+ style
1625
+ }) {
1626
+ const markerRef = React4.useRef(null);
1627
+ React4.useLayoutEffect(() => {
1628
+ const contentElement = markerRef.current?.parentElement;
1629
+ if (!contentElement) {
1630
+ return;
1631
+ }
1632
+ const previousValues = /* @__PURE__ */ new Map();
1633
+ for (const [property, value] of Object.entries(style)) {
1634
+ const cssProperty = toCssPropertyName(property);
1635
+ previousValues.set(cssProperty, {
1636
+ value: contentElement.style.getPropertyValue(cssProperty),
1637
+ priority: contentElement.style.getPropertyPriority(cssProperty)
1638
+ });
1639
+ if (value === void 0 || value === null) {
1640
+ contentElement.style.removeProperty(cssProperty);
1641
+ } else {
1642
+ contentElement.style.setProperty(cssProperty, String(value));
1643
+ }
1644
+ }
1645
+ return () => {
1646
+ for (const [cssProperty, previous] of previousValues) {
1647
+ if (previous.value) {
1648
+ contentElement.style.setProperty(
1649
+ cssProperty,
1650
+ previous.value,
1651
+ previous.priority
1652
+ );
1653
+ } else {
1654
+ contentElement.style.removeProperty(cssProperty);
1655
+ }
1656
+ }
1657
+ };
1658
+ }, [style]);
1659
+ return /* @__PURE__ */ jsx16("span", { ref: markerRef, "data-slot": "scroll-area-content-style-bridge", hidden: true });
1660
+ }
1661
+ function toCssPropertyName(property) {
1662
+ return property.startsWith("--") ? property : property.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
1663
+ }
1570
1664
  function ScrollBar({
1571
1665
  className,
1572
1666
  orientation = "vertical",
1573
1667
  ...props
1574
1668
  }) {
1575
- return /* @__PURE__ */ jsx15(
1669
+ return /* @__PURE__ */ jsx16(
1576
1670
  ScrollAreaPrimitive.ScrollAreaScrollbar,
1577
1671
  {
1578
1672
  "data-slot": "scroll-area-scrollbar",
1579
1673
  "data-orientation": orientation,
1580
1674
  orientation,
1581
1675
  className: cn(
1582
- "group/scrollbar absolute flex touch-none p-0 opacity-0 transition-opacity duration-150 select-none group-hover/scroll-area:opacity-100 group-focus-within/scroll-area:opacity-100 data-horizontal:right-2 data-horizontal:bottom-2 data-horizontal:left-2 data-horizontal:h-1 data-horizontal:flex-col data-vertical:top-2 data-vertical:right-2 data-vertical:bottom-2 data-vertical:w-1",
1676
+ "group/scrollbar absolute z-10 flex touch-none p-[2px] opacity-0 transition-opacity duration-150 select-none group-hover/scroll-area:opacity-100 group-focus-within/scroll-area:opacity-100 data-[orientation=horizontal]:right-0 data-[orientation=horizontal]:bottom-0 data-[orientation=horizontal]:left-0 data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:flex-col data-[orientation=vertical]:top-0 data-[orientation=vertical]:right-0 data-[orientation=vertical]:bottom-0 data-[orientation=vertical]:w-2",
1583
1677
  className
1584
1678
  ),
1585
1679
  ...props,
1586
- children: /* @__PURE__ */ jsx15(
1680
+ children: /* @__PURE__ */ jsx16(
1587
1681
  ScrollAreaPrimitive.ScrollAreaThumb,
1588
1682
  {
1589
1683
  "data-slot": "scroll-area-thumb",
@@ -1596,17 +1690,17 @@ function ScrollBar({
1596
1690
 
1597
1691
  // src/components/select/select.tsx
1598
1692
  import { Select as SelectPrimitive } from "radix-ui";
1599
- import { jsx as jsx16, jsxs as jsxs8 } from "react/jsx-runtime";
1693
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1600
1694
  function Select({
1601
1695
  ...props
1602
1696
  }) {
1603
- return /* @__PURE__ */ jsx16(SelectPrimitive.Root, { "data-slot": "select", ...props });
1697
+ return /* @__PURE__ */ jsx17(SelectPrimitive.Root, { "data-slot": "select", ...props });
1604
1698
  }
1605
1699
  function SelectGroup({
1606
1700
  className,
1607
1701
  ...props
1608
1702
  }) {
1609
- return /* @__PURE__ */ jsx16(
1703
+ return /* @__PURE__ */ jsx17(
1610
1704
  SelectPrimitive.Group,
1611
1705
  {
1612
1706
  "data-slot": "select-group",
@@ -1618,7 +1712,7 @@ function SelectGroup({
1618
1712
  function SelectValue({
1619
1713
  ...props
1620
1714
  }) {
1621
- return /* @__PURE__ */ jsx16(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1715
+ return /* @__PURE__ */ jsx17(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1622
1716
  }
1623
1717
  function SelectTrigger({
1624
1718
  className,
@@ -1641,7 +1735,7 @@ function SelectTrigger({
1641
1735
  ...props,
1642
1736
  children: [
1643
1737
  children,
1644
- /* @__PURE__ */ jsx16(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx16(
1738
+ /* @__PURE__ */ jsx17(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx17(
1645
1739
  ChevronDownIcon,
1646
1740
  {
1647
1741
  className: cn(
@@ -1662,7 +1756,7 @@ function SelectContent({
1662
1756
  style,
1663
1757
  ...props
1664
1758
  }) {
1665
- return /* @__PURE__ */ jsx16(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx16(
1759
+ return /* @__PURE__ */ jsx17(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
1666
1760
  SelectPrimitive.Content,
1667
1761
  {
1668
1762
  asChild: true,
@@ -1682,8 +1776,8 @@ function SelectContent({
1682
1776
  ),
1683
1777
  style: { zIndex: "var(--z-popover)", ...style },
1684
1778
  children: [
1685
- /* @__PURE__ */ jsx16(SelectScrollUpButton, {}),
1686
- /* @__PURE__ */ jsx16(
1779
+ /* @__PURE__ */ jsx17(SelectScrollUpButton, {}),
1780
+ /* @__PURE__ */ jsx17(
1687
1781
  SelectPrimitive.Viewport,
1688
1782
  {
1689
1783
  "data-position": position,
@@ -1693,7 +1787,7 @@ function SelectContent({
1693
1787
  children
1694
1788
  }
1695
1789
  ),
1696
- /* @__PURE__ */ jsx16(SelectScrollDownButton, {})
1790
+ /* @__PURE__ */ jsx17(SelectScrollDownButton, {})
1697
1791
  ]
1698
1792
  }
1699
1793
  )
@@ -1704,7 +1798,7 @@ function SelectLabel({
1704
1798
  className,
1705
1799
  ...props
1706
1800
  }) {
1707
- return /* @__PURE__ */ jsx16(
1801
+ return /* @__PURE__ */ jsx17(
1708
1802
  SelectPrimitive.Label,
1709
1803
  {
1710
1804
  "data-slot": "select-label",
@@ -1720,7 +1814,7 @@ function SelectSplitLayout({
1720
1814
  className,
1721
1815
  ...props
1722
1816
  }) {
1723
- return /* @__PURE__ */ jsx16(
1817
+ return /* @__PURE__ */ jsx17(
1724
1818
  "div",
1725
1819
  {
1726
1820
  "data-slot": "select-split-layout",
@@ -1736,7 +1830,7 @@ function SelectSplitColumn({
1736
1830
  className,
1737
1831
  ...props
1738
1832
  }) {
1739
- return /* @__PURE__ */ jsx16(
1833
+ return /* @__PURE__ */ jsx17(
1740
1834
  "div",
1741
1835
  {
1742
1836
  "data-slot": "select-split-column",
@@ -1749,7 +1843,7 @@ function SelectSplitColumnLabel({
1749
1843
  className,
1750
1844
  ...props
1751
1845
  }) {
1752
- return /* @__PURE__ */ jsx16(
1846
+ return /* @__PURE__ */ jsx17(
1753
1847
  "div",
1754
1848
  {
1755
1849
  "data-slot": "select-split-column-label",
@@ -1765,7 +1859,7 @@ function SelectSplitColumnItems({
1765
1859
  className,
1766
1860
  ...props
1767
1861
  }) {
1768
- return /* @__PURE__ */ jsx16(
1862
+ return /* @__PURE__ */ jsx17(
1769
1863
  "div",
1770
1864
  {
1771
1865
  "data-slot": "select-split-column-items",
@@ -1781,7 +1875,7 @@ function SelectSplitDivider({
1781
1875
  className,
1782
1876
  ...props
1783
1877
  }) {
1784
- return /* @__PURE__ */ jsx16(
1878
+ return /* @__PURE__ */ jsx17(
1785
1879
  "div",
1786
1880
  {
1787
1881
  "aria-hidden": "true",
@@ -1807,14 +1901,14 @@ function SelectItem({
1807
1901
  className: cn("w-full", menuItemWithIndicatorClassName, className),
1808
1902
  ...props,
1809
1903
  children: [
1810
- /* @__PURE__ */ jsx16("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx16(
1904
+ /* @__PURE__ */ jsx17("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx17(
1811
1905
  CheckIcon,
1812
1906
  {
1813
1907
  className: "pointer-events-none",
1814
1908
  "data-slot": "select-item-forced-indicator"
1815
1909
  }
1816
- ) : /* @__PURE__ */ jsx16(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx16(CheckIcon, { className: "pointer-events-none" }) }) }),
1817
- /* @__PURE__ */ jsx16(SelectPrimitive.ItemText, { children })
1910
+ ) : /* @__PURE__ */ jsx17(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(CheckIcon, { className: "pointer-events-none" }) }) }),
1911
+ /* @__PURE__ */ jsx17(SelectPrimitive.ItemText, { children })
1818
1912
  ]
1819
1913
  }
1820
1914
  );
@@ -1823,7 +1917,7 @@ function SelectSeparator({
1823
1917
  className,
1824
1918
  ...props
1825
1919
  }) {
1826
- return /* @__PURE__ */ jsx16(
1920
+ return /* @__PURE__ */ jsx17(
1827
1921
  SelectPrimitive.Separator,
1828
1922
  {
1829
1923
  "data-slot": "select-separator",
@@ -1839,7 +1933,7 @@ function SelectScrollUpButton({
1839
1933
  className,
1840
1934
  ...props
1841
1935
  }) {
1842
- return /* @__PURE__ */ jsx16(
1936
+ return /* @__PURE__ */ jsx17(
1843
1937
  SelectPrimitive.ScrollUpButton,
1844
1938
  {
1845
1939
  "data-slot": "select-scroll-up-button",
@@ -1848,7 +1942,7 @@ function SelectScrollUpButton({
1848
1942
  className
1849
1943
  ),
1850
1944
  ...props,
1851
- children: /* @__PURE__ */ jsx16(ChevronUpIcon, {})
1945
+ children: /* @__PURE__ */ jsx17(ChevronUpIcon, {})
1852
1946
  }
1853
1947
  );
1854
1948
  }
@@ -1856,7 +1950,7 @@ function SelectScrollDownButton({
1856
1950
  className,
1857
1951
  ...props
1858
1952
  }) {
1859
- return /* @__PURE__ */ jsx16(
1953
+ return /* @__PURE__ */ jsx17(
1860
1954
  SelectPrimitive.ScrollDownButton,
1861
1955
  {
1862
1956
  "data-slot": "select-scroll-down-button",
@@ -1865,21 +1959,21 @@ function SelectScrollDownButton({
1865
1959
  className
1866
1960
  ),
1867
1961
  ...props,
1868
- children: /* @__PURE__ */ jsx16(ChevronDownIcon, {})
1962
+ children: /* @__PURE__ */ jsx17(ChevronDownIcon, {})
1869
1963
  }
1870
1964
  );
1871
1965
  }
1872
1966
 
1873
1967
  // src/components/separator/separator.tsx
1874
1968
  import { Separator as SeparatorPrimitive } from "radix-ui";
1875
- import { jsx as jsx17 } from "react/jsx-runtime";
1969
+ import { jsx as jsx18 } from "react/jsx-runtime";
1876
1970
  function Separator2({
1877
1971
  className,
1878
1972
  orientation = "horizontal",
1879
1973
  decorative = true,
1880
1974
  ...props
1881
1975
  }) {
1882
- return /* @__PURE__ */ jsx17(
1976
+ return /* @__PURE__ */ jsx18(
1883
1977
  SeparatorPrimitive.Root,
1884
1978
  {
1885
1979
  "data-slot": "separator",
@@ -1894,14 +1988,76 @@ function Separator2({
1894
1988
  );
1895
1989
  }
1896
1990
 
1991
+ // src/components/section-tabs/section-tabs.tsx
1992
+ import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1993
+ function SectionTabs({
1994
+ tabs,
1995
+ value,
1996
+ onValueChange,
1997
+ ariaLabel,
1998
+ className,
1999
+ testId
2000
+ }) {
2001
+ return /* @__PURE__ */ jsx19(
2002
+ "div",
2003
+ {
2004
+ "aria-label": ariaLabel,
2005
+ className: cn("flex min-w-0 items-center gap-5", className),
2006
+ "data-slot": "section-tabs",
2007
+ "data-testid": testId,
2008
+ role: "tablist",
2009
+ children: tabs.map((tab) => {
2010
+ const isActive = value === tab.value;
2011
+ return /* @__PURE__ */ jsxs9(
2012
+ "button",
2013
+ {
2014
+ "aria-selected": isActive,
2015
+ className: cn(
2016
+ "relative inline-flex h-5 shrink-0 items-center gap-1.5 whitespace-nowrap border-0 bg-transparent p-0 text-[15px] font-semibold leading-5 tracking-[0] text-[var(--text-secondary)] transition-colors duration-150 hover:text-[var(--text-primary)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--border-focus)]",
2017
+ isActive && "text-[var(--text-primary)]"
2018
+ ),
2019
+ "data-active": isActive ? "true" : "false",
2020
+ "data-slot": "section-tabs-tab",
2021
+ "data-testid": tab.testId,
2022
+ role: "tab",
2023
+ type: "button",
2024
+ onClick: () => onValueChange(tab.value),
2025
+ children: [
2026
+ /* @__PURE__ */ jsx19("span", { className: "min-w-0 truncate", children: tab.label }),
2027
+ tab.count !== void 0 ? /* @__PURE__ */ jsx19("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
2028
+ ]
2029
+ },
2030
+ tab.value
2031
+ );
2032
+ })
2033
+ }
2034
+ );
2035
+ }
2036
+
2037
+ // src/components/shortcut-badge/shortcut-badge.tsx
2038
+ import { jsx as jsx20 } from "react/jsx-runtime";
2039
+ function ShortcutBadge({ className, ...props }) {
2040
+ return /* @__PURE__ */ jsx20(
2041
+ "kbd",
2042
+ {
2043
+ "data-slot": "shortcut-badge",
2044
+ className: cn(
2045
+ "inline-flex h-5 min-w-0 max-w-full shrink-0 items-center justify-center overflow-hidden rounded-[4px] bg-[color-mix(in_srgb,var(--transparency-block)_72%,transparent)] px-1.5 py-1 font-[inherit] text-[11px] leading-none font-semibold whitespace-nowrap text-[var(--text-tertiary)] not-italic [font-variant:normal] [text-overflow:ellipsis]",
2046
+ className
2047
+ ),
2048
+ ...props
2049
+ }
2050
+ );
2051
+ }
2052
+
1897
2053
  // src/components/sonner/sonner.tsx
1898
2054
  import {
1899
2055
  Toaster as SonnerToaster,
1900
2056
  toast
1901
2057
  } from "sonner";
1902
- import { jsx as jsx18 } from "react/jsx-runtime";
2058
+ import { jsx as jsx21 } from "react/jsx-runtime";
1903
2059
  function Toaster({ toastOptions, style, ...props }) {
1904
- return /* @__PURE__ */ jsx18(
2060
+ return /* @__PURE__ */ jsx21(
1905
2061
  SonnerToaster,
1906
2062
  {
1907
2063
  closeButton: true,
@@ -1910,11 +2066,11 @@ function Toaster({ toastOptions, style, ...props }) {
1910
2066
  position: "top-right",
1911
2067
  visibleToasts: 4,
1912
2068
  icons: {
1913
- error: /* @__PURE__ */ jsx18(FailedFilledIcon, { className: "size-4" }),
1914
- info: /* @__PURE__ */ jsx18(WarningLinedIcon, { className: "size-4" }),
1915
- loading: /* @__PURE__ */ jsx18(LoadingIcon, { className: "size-4 animate-spin" }),
1916
- success: /* @__PURE__ */ jsx18(SuccessFilledIcon, { className: "size-4" }),
1917
- warning: /* @__PURE__ */ jsx18(WarningFilledIcon, { className: "size-4" })
2069
+ error: /* @__PURE__ */ jsx21(FailedFilledIcon, { className: "size-4" }),
2070
+ info: /* @__PURE__ */ jsx21(WarningLinedIcon, { className: "size-4" }),
2071
+ loading: /* @__PURE__ */ jsx21(LoadingIcon, { className: "size-4 animate-spin" }),
2072
+ success: /* @__PURE__ */ jsx21(SuccessFilledIcon, { className: "size-4" }),
2073
+ warning: /* @__PURE__ */ jsx21(WarningFilledIcon, { className: "size-4" })
1918
2074
  },
1919
2075
  style: {
1920
2076
  "--normal-bg": "var(--background-fronted)",
@@ -1943,7 +2099,7 @@ function Toaster({ toastOptions, style, ...props }) {
1943
2099
  }
1944
2100
 
1945
2101
  // src/components/spinner/spinner.tsx
1946
- import { jsx as jsx19 } from "react/jsx-runtime";
2102
+ import { jsx as jsx22 } from "react/jsx-runtime";
1947
2103
  function Spinner({
1948
2104
  className,
1949
2105
  size = 16,
@@ -1952,7 +2108,7 @@ function Spinner({
1952
2108
  testId,
1953
2109
  trackColor
1954
2110
  }) {
1955
- return /* @__PURE__ */ jsx19(
2111
+ return /* @__PURE__ */ jsx22(
1956
2112
  LoadingIcon,
1957
2113
  {
1958
2114
  "data-slot": "spinner",
@@ -1971,9 +2127,9 @@ function Spinner({
1971
2127
  }
1972
2128
 
1973
2129
  // src/components/status-dot/status-dot.tsx
1974
- import { cva as cva3 } from "class-variance-authority";
1975
- import { jsx as jsx20 } from "react/jsx-runtime";
1976
- var statusDotVariants = cva3("inline-flex shrink-0 rounded-full", {
2130
+ import { cva as cva4 } from "class-variance-authority";
2131
+ import { jsx as jsx23 } from "react/jsx-runtime";
2132
+ var statusDotVariants = cva4("inline-flex shrink-0 rounded-full", {
1977
2133
  variants: {
1978
2134
  tone: {
1979
2135
  neutral: "bg-muted-foreground/70",
@@ -2006,7 +2162,7 @@ function StatusDot({
2006
2162
  title,
2007
2163
  className
2008
2164
  }) {
2009
- return /* @__PURE__ */ jsx20(
2165
+ return /* @__PURE__ */ jsx23(
2010
2166
  "span",
2011
2167
  {
2012
2168
  "aria-hidden": ariaLabel ? void 0 : true,
@@ -2024,13 +2180,13 @@ function StatusDot({
2024
2180
 
2025
2181
  // src/components/switch/switch.tsx
2026
2182
  import { Switch as SwitchPrimitive } from "radix-ui";
2027
- import { jsx as jsx21 } from "react/jsx-runtime";
2183
+ import { jsx as jsx24 } from "react/jsx-runtime";
2028
2184
  function Switch({
2029
2185
  className,
2030
2186
  size = "default",
2031
2187
  ...props
2032
2188
  }) {
2033
- return /* @__PURE__ */ jsx21(
2189
+ return /* @__PURE__ */ jsx24(
2034
2190
  SwitchPrimitive.Root,
2035
2191
  {
2036
2192
  "data-slot": "switch",
@@ -2040,7 +2196,7 @@ function Switch({
2040
2196
  className
2041
2197
  ),
2042
2198
  ...props,
2043
- children: /* @__PURE__ */ jsx21(
2199
+ children: /* @__PURE__ */ jsx24(
2044
2200
  SwitchPrimitive.Thumb,
2045
2201
  {
2046
2202
  "data-slot": "switch-thumb",
@@ -2052,9 +2208,9 @@ function Switch({
2052
2208
  }
2053
2209
 
2054
2210
  // src/components/textarea/textarea.tsx
2055
- import { jsx as jsx22 } from "react/jsx-runtime";
2211
+ import { jsx as jsx25 } from "react/jsx-runtime";
2056
2212
  function Textarea({ className, ...props }) {
2057
- return /* @__PURE__ */ jsx22(
2213
+ return /* @__PURE__ */ jsx25(
2058
2214
  "textarea",
2059
2215
  {
2060
2216
  "data-slot": "textarea",
@@ -2068,18 +2224,18 @@ function Textarea({ className, ...props }) {
2068
2224
  }
2069
2225
 
2070
2226
  // src/components/toast/toast.tsx
2071
- import * as React4 from "react";
2227
+ import * as React5 from "react";
2072
2228
  import { Toast as ToastPrimitive } from "radix-ui";
2073
- import { cva as cva4 } from "class-variance-authority";
2074
- import { jsx as jsx23, jsxs as jsxs9 } from "react/jsx-runtime";
2229
+ import { cva as cva5 } from "class-variance-authority";
2230
+ import { jsx as jsx26, jsxs as jsxs10 } from "react/jsx-runtime";
2075
2231
  var toastDefaultDurationMs = 3e3;
2076
2232
  function ToastProvider({
2077
2233
  duration = toastDefaultDurationMs,
2078
2234
  ...props
2079
2235
  }) {
2080
- return /* @__PURE__ */ jsx23(ToastPrimitive.Provider, { duration, ...props });
2236
+ return /* @__PURE__ */ jsx26(ToastPrimitive.Provider, { duration, ...props });
2081
2237
  }
2082
- var ToastVisualContext = React4.createContext(null);
2238
+ var ToastVisualContext = React5.createContext(null);
2083
2239
  var toastStatusIconByVariant = {
2084
2240
  destructive: FailedFilledIcon,
2085
2241
  success: SuccessFilledIcon
@@ -2103,13 +2259,13 @@ function formatToastText(children) {
2103
2259
  if (typeof children === "string") {
2104
2260
  return stripToastTrailingSentencePunctuation(children);
2105
2261
  }
2106
- const flatChildren = React4.Children.toArray(children);
2262
+ const flatChildren = React5.Children.toArray(children);
2107
2263
  if (flatChildren.length === 1 && typeof flatChildren[0] === "string") {
2108
2264
  return stripToastTrailingSentencePunctuation(flatChildren[0]);
2109
2265
  }
2110
2266
  return children;
2111
2267
  }
2112
- var toastVariants = cva4(
2268
+ var toastVariants = cva5(
2113
2269
  "group pointer-events-auto relative flex min-h-8 min-w-0 max-w-[min(92vw,420px)] items-center justify-center rounded-[8px] px-3 py-1.5 text-center text-sm font-normal leading-normal shadow-none transition-all data-closed:fade-out-80 data-closed:slide-out-to-top-full data-open:slide-in-from-top-full data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none",
2114
2270
  {
2115
2271
  variants: {
@@ -2135,7 +2291,7 @@ function ToastRoot({
2135
2291
  ...props
2136
2292
  }) {
2137
2293
  const isDestructive = variant === "destructive";
2138
- return /* @__PURE__ */ jsx23(
2294
+ return /* @__PURE__ */ jsx26(
2139
2295
  ToastPrimitive.Root,
2140
2296
  {
2141
2297
  "aria-busy": busy,
@@ -2152,7 +2308,7 @@ function ToastRoot({
2152
2308
  ...style
2153
2309
  },
2154
2310
  ...props,
2155
- children: /* @__PURE__ */ jsx23(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx23("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
2311
+ children: /* @__PURE__ */ jsx26(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx26("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
2156
2312
  }
2157
2313
  );
2158
2314
  }
@@ -2161,9 +2317,9 @@ function ToastTitle({
2161
2317
  children,
2162
2318
  ...props
2163
2319
  }) {
2164
- const toastVisual = React4.useContext(ToastVisualContext);
2320
+ const toastVisual = React5.useContext(ToastVisualContext);
2165
2321
  const StatusIcon = toastVisual?.variant && hasToastStatusIcon(toastVisual.variant) ? toastStatusIconByVariant[toastVisual.variant] : null;
2166
- return /* @__PURE__ */ jsxs9(
2322
+ return /* @__PURE__ */ jsxs10(
2167
2323
  ToastPrimitive.Title,
2168
2324
  {
2169
2325
  "data-slot": "toast-title",
@@ -2173,7 +2329,7 @@ function ToastTitle({
2173
2329
  ),
2174
2330
  ...props,
2175
2331
  children: [
2176
- toastVisual?.busy ? /* @__PURE__ */ jsx23(
2332
+ toastVisual?.busy ? /* @__PURE__ */ jsx26(
2177
2333
  Spinner,
2178
2334
  {
2179
2335
  className: "shrink-0 text-current",
@@ -2181,8 +2337,8 @@ function ToastTitle({
2181
2337
  strokeWidth: 2,
2182
2338
  trackColor: "color-mix(in srgb, currentColor 28%, transparent)"
2183
2339
  }
2184
- ) : StatusIcon ? /* @__PURE__ */ jsx23(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
2185
- /* @__PURE__ */ jsx23("span", { className: "min-w-0 break-words", children: formatToastText(children) })
2340
+ ) : StatusIcon ? /* @__PURE__ */ jsx26(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
2341
+ /* @__PURE__ */ jsx26("span", { className: "min-w-0 break-words", children: formatToastText(children) })
2186
2342
  ]
2187
2343
  }
2188
2344
  );
@@ -2191,7 +2347,7 @@ function ToastDescription({
2191
2347
  className,
2192
2348
  ...props
2193
2349
  }) {
2194
- return /* @__PURE__ */ jsx23(
2350
+ return /* @__PURE__ */ jsx26(
2195
2351
  ToastPrimitive.Description,
2196
2352
  {
2197
2353
  "data-slot": "toast-description",
@@ -2207,7 +2363,7 @@ function ToastClose({
2207
2363
  className,
2208
2364
  ...props
2209
2365
  }) {
2210
- return /* @__PURE__ */ jsx23(
2366
+ return /* @__PURE__ */ jsx26(
2211
2367
  ToastPrimitive.Close,
2212
2368
  {
2213
2369
  "data-slot": "toast-close",
@@ -2216,7 +2372,7 @@ function ToastClose({
2216
2372
  className
2217
2373
  ),
2218
2374
  ...props,
2219
- children: /* @__PURE__ */ jsx23(CloseIcon, { className: "size-4" })
2375
+ children: /* @__PURE__ */ jsx26(CloseIcon, { className: "size-4" })
2220
2376
  }
2221
2377
  );
2222
2378
  }
@@ -2225,7 +2381,7 @@ function ToastViewport({
2225
2381
  style,
2226
2382
  ...props
2227
2383
  }) {
2228
- return /* @__PURE__ */ jsx23(
2384
+ return /* @__PURE__ */ jsx26(
2229
2385
  ToastPrimitive.Viewport,
2230
2386
  {
2231
2387
  "data-slot": "toast-viewport",
@@ -2241,12 +2397,12 @@ function ToastViewport({
2241
2397
 
2242
2398
  // src/components/tooltip/tooltip.tsx
2243
2399
  import { Tooltip as TooltipPrimitive } from "radix-ui";
2244
- import { jsx as jsx24 } from "react/jsx-runtime";
2400
+ import { jsx as jsx27 } from "react/jsx-runtime";
2245
2401
  function TooltipProvider({
2246
2402
  delayDuration = 0,
2247
2403
  ...props
2248
2404
  }) {
2249
- return /* @__PURE__ */ jsx24(
2405
+ return /* @__PURE__ */ jsx27(
2250
2406
  TooltipPrimitive.Provider,
2251
2407
  {
2252
2408
  "data-slot": "tooltip-provider",
@@ -2258,17 +2414,17 @@ function TooltipProvider({
2258
2414
  function Tooltip({
2259
2415
  ...props
2260
2416
  }) {
2261
- return /* @__PURE__ */ jsx24(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2417
+ return /* @__PURE__ */ jsx27(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2262
2418
  }
2263
2419
  function TooltipTrigger({
2264
2420
  ...props
2265
2421
  }) {
2266
- return /* @__PURE__ */ jsx24(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2422
+ return /* @__PURE__ */ jsx27(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2267
2423
  }
2268
2424
  function TooltipPortal({
2269
2425
  ...props
2270
2426
  }) {
2271
- return /* @__PURE__ */ jsx24(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
2427
+ return /* @__PURE__ */ jsx27(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
2272
2428
  }
2273
2429
  function TooltipContent({
2274
2430
  className,
@@ -2277,7 +2433,7 @@ function TooltipContent({
2277
2433
  style,
2278
2434
  ...props
2279
2435
  }) {
2280
- return /* @__PURE__ */ jsx24(TooltipPortal, { children: /* @__PURE__ */ jsx24(
2436
+ return /* @__PURE__ */ jsx27(TooltipPortal, { children: /* @__PURE__ */ jsx27(
2281
2437
  TooltipPrimitive.Content,
2282
2438
  {
2283
2439
  "data-slot": "tooltip-content",
@@ -2294,8 +2450,8 @@ function TooltipContent({
2294
2450
  }
2295
2451
 
2296
2452
  // src/components/underline-tabs/underline-tabs.tsx
2297
- import { useEffect as useEffect3, useLayoutEffect as useLayoutEffect2, useRef as useRef2, useState as useState3 } from "react";
2298
- import { jsx as jsx25, jsxs as jsxs10 } from "react/jsx-runtime";
2453
+ import { useEffect as useEffect3, useLayoutEffect as useLayoutEffect3, useRef as useRef3, useState as useState3 } from "react";
2454
+ import { jsx as jsx28, jsxs as jsxs11 } from "react/jsx-runtime";
2299
2455
  function UnderlineTabs({
2300
2456
  tabs,
2301
2457
  value,
@@ -2310,15 +2466,15 @@ function UnderlineTabs({
2310
2466
  scrollRightTestId,
2311
2467
  preventMouseDownDefault = false
2312
2468
  }) {
2313
- const viewportRef = useRef2(null);
2314
- const rowRef = useRef2(null);
2315
- const buttonRefs = useRef2({});
2469
+ const viewportRef = useRef3(null);
2470
+ const rowRef = useRef3(null);
2471
+ const buttonRefs = useRef3({});
2316
2472
  const [indicatorStyle, setIndicatorStyle] = useState3({ left: 0, width: 0 });
2317
2473
  const [overflow, setOverflow] = useState3({
2318
2474
  canScrollLeft: false,
2319
2475
  canScrollRight: false
2320
2476
  });
2321
- useLayoutEffect2(() => {
2477
+ useLayoutEffect3(() => {
2322
2478
  const row = rowRef.current;
2323
2479
  const button = buttonRefs.current[value];
2324
2480
  if (!row || !button) {
@@ -2378,7 +2534,7 @@ function UnderlineTabs({
2378
2534
  behavior: "smooth"
2379
2535
  });
2380
2536
  };
2381
- return /* @__PURE__ */ jsxs10(
2537
+ return /* @__PURE__ */ jsxs11(
2382
2538
  "div",
2383
2539
  {
2384
2540
  "aria-label": ariaLabel,
@@ -2390,7 +2546,7 @@ function UnderlineTabs({
2390
2546
  "data-testid": testId,
2391
2547
  role: "tablist",
2392
2548
  children: [
2393
- /* @__PURE__ */ jsx25(
2549
+ /* @__PURE__ */ jsx28(
2394
2550
  "div",
2395
2551
  {
2396
2552
  ref: viewportRef,
@@ -2404,7 +2560,7 @@ function UnderlineTabs({
2404
2560
  "data-can-scroll-right": overflow.canScrollRight ? "true" : "false",
2405
2561
  "data-slot": "underline-tabs-viewport",
2406
2562
  "data-testid": viewportTestId,
2407
- children: /* @__PURE__ */ jsxs10(
2563
+ children: /* @__PURE__ */ jsxs11(
2408
2564
  "div",
2409
2565
  {
2410
2566
  ref: rowRef,
@@ -2412,7 +2568,7 @@ function UnderlineTabs({
2412
2568
  children: [
2413
2569
  tabs.map((tab) => {
2414
2570
  const isActive = value === tab.value;
2415
- return /* @__PURE__ */ jsxs10(
2571
+ return /* @__PURE__ */ jsxs11(
2416
2572
  "button",
2417
2573
  {
2418
2574
  ref: (element) => {
@@ -2435,14 +2591,14 @@ function UnderlineTabs({
2435
2591
  onClick: () => onValueChange(tab.value),
2436
2592
  onMouseDown: preventMouseDownDefault ? (event) => event.preventDefault() : void 0,
2437
2593
  children: [
2438
- /* @__PURE__ */ jsx25("span", { children: tab.label }),
2439
- tab.count !== void 0 ? /* @__PURE__ */ jsx25("span", { className: "text-xs font-semibold leading-6 text-[inherit]", children: tab.count }) : null
2594
+ /* @__PURE__ */ jsx28("span", { children: tab.label }),
2595
+ tab.count !== void 0 ? /* @__PURE__ */ jsx28("span", { className: "text-xs font-semibold leading-6 text-[inherit]", children: tab.count }) : null
2440
2596
  ]
2441
2597
  },
2442
2598
  tab.value
2443
2599
  );
2444
2600
  }),
2445
- /* @__PURE__ */ jsx25(
2601
+ /* @__PURE__ */ jsx28(
2446
2602
  "div",
2447
2603
  {
2448
2604
  "aria-hidden": true,
@@ -2459,7 +2615,7 @@ function UnderlineTabs({
2459
2615
  )
2460
2616
  }
2461
2617
  ),
2462
- /* @__PURE__ */ jsx25(
2618
+ /* @__PURE__ */ jsx28(
2463
2619
  "button",
2464
2620
  {
2465
2621
  "aria-label": scrollLeftLabel,
@@ -2470,10 +2626,10 @@ function UnderlineTabs({
2470
2626
  disabled: !overflow.canScrollLeft,
2471
2627
  type: "button",
2472
2628
  onClick: () => scrollTabs("left"),
2473
- children: /* @__PURE__ */ jsx25(ArrowLeftIcon, { size: 16 })
2629
+ children: /* @__PURE__ */ jsx28(ArrowLeftIcon, { size: 16 })
2474
2630
  }
2475
2631
  ),
2476
- /* @__PURE__ */ jsx25(
2632
+ /* @__PURE__ */ jsx28(
2477
2633
  "button",
2478
2634
  {
2479
2635
  "aria-label": scrollRightLabel,
@@ -2484,7 +2640,7 @@ function UnderlineTabs({
2484
2640
  disabled: !overflow.canScrollRight,
2485
2641
  type: "button",
2486
2642
  onClick: () => scrollTabs("right"),
2487
- children: /* @__PURE__ */ jsx25(ArrowRightIcon, { size: 16 })
2643
+ children: /* @__PURE__ */ jsx28(ArrowRightIcon, { size: 16 })
2488
2644
  }
2489
2645
  )
2490
2646
  ]
@@ -2493,9 +2649,9 @@ function UnderlineTabs({
2493
2649
  }
2494
2650
 
2495
2651
  // src/components/viewport-menu-surface/viewport-menu-surface.tsx
2496
- import * as React5 from "react";
2652
+ import * as React6 from "react";
2497
2653
  import { createPortal as createPortal2 } from "react-dom";
2498
- import { jsx as jsx26 } from "react/jsx-runtime";
2654
+ import { jsx as jsx29 } from "react/jsx-runtime";
2499
2655
  var VIEWPORT_MENU_PADDING = 12;
2500
2656
  var MENU_BOUNDARY_PADDING = 8;
2501
2657
  function clampMenuCoordinate(origin, size, viewportExtent, padding) {
@@ -2598,7 +2754,7 @@ function assignRef(ref, value) {
2598
2754
  function callHandler(handler, event) {
2599
2755
  handler?.(event);
2600
2756
  }
2601
- var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2757
+ var ViewportMenuSurface = React6.forwardRef(function ViewportMenuSurface2({
2602
2758
  open,
2603
2759
  placement,
2604
2760
  children,
@@ -2614,16 +2770,16 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2614
2770
  className,
2615
2771
  ...rest
2616
2772
  }, forwardedRef) {
2617
- const surfaceRef = React5.useRef(null);
2618
- const [measuredSize, setMeasuredSize] = React5.useState(null);
2619
- const setRefs = React5.useCallback(
2773
+ const surfaceRef = React6.useRef(null);
2774
+ const [measuredSize, setMeasuredSize] = React6.useState(null);
2775
+ const setRefs = React6.useCallback(
2620
2776
  (node) => {
2621
2777
  surfaceRef.current = node;
2622
2778
  assignRef(forwardedRef, node);
2623
2779
  },
2624
2780
  [forwardedRef]
2625
2781
  );
2626
- React5.useLayoutEffect(() => {
2782
+ React6.useLayoutEffect(() => {
2627
2783
  if (!open) {
2628
2784
  setMeasuredSize(null);
2629
2785
  return;
@@ -2647,7 +2803,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2647
2803
  observer.observe(element);
2648
2804
  return () => observer.disconnect();
2649
2805
  }, [open, placement]);
2650
- React5.useEffect(() => {
2806
+ React6.useEffect(() => {
2651
2807
  if (!open) {
2652
2808
  return;
2653
2809
  }
@@ -2704,7 +2860,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2704
2860
  onDismiss,
2705
2861
  open
2706
2862
  ]);
2707
- const resolvedPosition = React5.useMemo(() => {
2863
+ const resolvedPosition = React6.useMemo(() => {
2708
2864
  if (placement.type === "absolute") {
2709
2865
  const boundary2 = resolveMenuBoundaryFromPoint({
2710
2866
  x: placement.left,
@@ -2742,7 +2898,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2742
2898
  return null;
2743
2899
  }
2744
2900
  return createPortal2(
2745
- /* @__PURE__ */ jsx26(
2901
+ /* @__PURE__ */ jsx29(
2746
2902
  MenuSurface,
2747
2903
  {
2748
2904
  ...rest,
@@ -2778,6 +2934,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2778
2934
  export {
2779
2935
  badgeVariants,
2780
2936
  Badge,
2937
+ BareIconButton,
2781
2938
  buttonVariants,
2782
2939
  Button,
2783
2940
  Card,
@@ -2859,6 +3016,8 @@ export {
2859
3016
  SelectScrollUpButton,
2860
3017
  SelectScrollDownButton,
2861
3018
  Separator2 as Separator,
3019
+ SectionTabs,
3020
+ ShortcutBadge,
2862
3021
  toast,
2863
3022
  Toaster,
2864
3023
  Spinner,
@@ -2881,4 +3040,4 @@ export {
2881
3040
  UnderlineTabs,
2882
3041
  ViewportMenuSurface
2883
3042
  };
2884
- //# sourceMappingURL=chunk-CBMNQQWH.js.map
3043
+ //# sourceMappingURL=chunk-YSWPZLZ4.js.map