@nextop-os/ui-system 0.0.27 → 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.
@@ -11,8 +11,10 @@ import {
11
11
  FolderFilledIcon,
12
12
  IssueIcon,
13
13
  LoadingIcon,
14
- SuccessFilledIcon
15
- } from "./chunk-UELLN5VR.js";
14
+ SuccessFilledIcon,
15
+ WarningFilledIcon,
16
+ WarningLinedIcon
17
+ } from "./chunk-45BNCYIU.js";
16
18
  import {
17
19
  cn
18
20
  } from "./chunk-DGPY4WP3.js";
@@ -22,11 +24,12 @@ import { cva } from "class-variance-authority";
22
24
  import { Slot } from "radix-ui";
23
25
  import { jsx } from "react/jsx-runtime";
24
26
  var badgeVariants = cva(
25
- "group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-[4px] border border-transparent px-2 py-0.5 text-[0.72rem] font-normal 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 [&>svg]:size-3!",
27
+ "group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-[4px] border border-transparent px-1 py-0.5 text-[0.72rem] font-normal 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 [&>svg]:size-3!",
26
28
  {
27
29
  variants: {
28
30
  variant: {
29
31
  default: "bg-[var(--transparency-block)] text-[var(--text-secondary)] [a]:hover:bg-[var(--transparency-hover)]",
32
+ accent: "bg-[var(--accent-bg)] text-[var(--accent)] [a]:hover:bg-[var(--accent-bg)]",
30
33
  secondary: "bg-[var(--transparency-block)] text-[var(--text-secondary)] [a]:hover:bg-[var(--transparency-hover)]",
31
34
  destructive: "bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/18",
32
35
  outline: "border-border bg-card/90 text-foreground [a]:hover:bg-muted [a]:hover:text-foreground",
@@ -57,11 +60,49 @@ function Badge({
57
60
  );
58
61
  }
59
62
 
60
- // src/components/button/button.tsx
63
+ // src/components/bare-icon-button/bare-icon-button.tsx
61
64
  import { cva as cva2 } from "class-variance-authority";
62
65
  import { Slot as Slot2 } from "radix-ui";
63
66
  import { jsx as jsx2 } from "react/jsx-runtime";
64
- 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(
65
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",
66
107
  {
67
108
  variants: {
@@ -106,8 +147,8 @@ function Button({
106
147
  asChild = false,
107
148
  ...props
108
149
  }) {
109
- const Comp = asChild ? Slot2.Root : "button";
110
- return /* @__PURE__ */ jsx2(
150
+ const Comp = asChild ? Slot3.Root : "button";
151
+ return /* @__PURE__ */ jsx3(
111
152
  Comp,
112
153
  {
113
154
  "data-slot": "button",
@@ -120,13 +161,13 @@ function Button({
120
161
  }
121
162
 
122
163
  // src/components/card/card.tsx
123
- import { jsx as jsx3 } from "react/jsx-runtime";
164
+ import { jsx as jsx4 } from "react/jsx-runtime";
124
165
  function Card({
125
166
  className,
126
167
  size = "default",
127
168
  ...props
128
169
  }) {
129
- return /* @__PURE__ */ jsx3(
170
+ return /* @__PURE__ */ jsx4(
130
171
  "div",
131
172
  {
132
173
  "data-slot": "card",
@@ -140,7 +181,7 @@ function Card({
140
181
  );
141
182
  }
142
183
  function CardHeader({ className, ...props }) {
143
- return /* @__PURE__ */ jsx3(
184
+ return /* @__PURE__ */ jsx4(
144
185
  "div",
145
186
  {
146
187
  "data-slot": "card-header",
@@ -153,7 +194,7 @@ function CardHeader({ className, ...props }) {
153
194
  );
154
195
  }
155
196
  function CardTitle({ className, ...props }) {
156
- return /* @__PURE__ */ jsx3(
197
+ return /* @__PURE__ */ jsx4(
157
198
  "div",
158
199
  {
159
200
  "data-slot": "card-title",
@@ -166,7 +207,7 @@ function CardTitle({ className, ...props }) {
166
207
  );
167
208
  }
168
209
  function CardDescription({ className, ...props }) {
169
- return /* @__PURE__ */ jsx3(
210
+ return /* @__PURE__ */ jsx4(
170
211
  "div",
171
212
  {
172
213
  "data-slot": "card-description",
@@ -176,7 +217,7 @@ function CardDescription({ className, ...props }) {
176
217
  );
177
218
  }
178
219
  function CardAction({ className, ...props }) {
179
- return /* @__PURE__ */ jsx3(
220
+ return /* @__PURE__ */ jsx4(
180
221
  "div",
181
222
  {
182
223
  "data-slot": "card-action",
@@ -189,7 +230,7 @@ function CardAction({ className, ...props }) {
189
230
  );
190
231
  }
191
232
  function CardContent({ className, ...props }) {
192
- return /* @__PURE__ */ jsx3(
233
+ return /* @__PURE__ */ jsx4(
193
234
  "div",
194
235
  {
195
236
  "data-slot": "card-content",
@@ -199,7 +240,7 @@ function CardContent({ className, ...props }) {
199
240
  );
200
241
  }
201
242
  function CardFooter({ className, ...props }) {
202
- return /* @__PURE__ */ jsx3(
243
+ return /* @__PURE__ */ jsx4(
203
244
  "div",
204
245
  {
205
246
  "data-slot": "card-footer",
@@ -214,12 +255,12 @@ function CardFooter({ className, ...props }) {
214
255
 
215
256
  // src/components/checkbox/checkbox.tsx
216
257
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
217
- import { jsx as jsx4 } from "react/jsx-runtime";
258
+ import { jsx as jsx5 } from "react/jsx-runtime";
218
259
  function Checkbox({
219
260
  className,
220
261
  ...props
221
262
  }) {
222
- return /* @__PURE__ */ jsx4(
263
+ return /* @__PURE__ */ jsx5(
223
264
  CheckboxPrimitive.Root,
224
265
  {
225
266
  "data-slot": "checkbox",
@@ -228,12 +269,12 @@ function Checkbox({
228
269
  className
229
270
  ),
230
271
  ...props,
231
- children: /* @__PURE__ */ jsx4(
272
+ children: /* @__PURE__ */ jsx5(
232
273
  CheckboxPrimitive.Indicator,
233
274
  {
234
275
  "data-slot": "checkbox-indicator",
235
276
  className: "grid place-content-center text-current transition-none [&>svg]:size-3",
236
- children: /* @__PURE__ */ jsx4(CheckIcon, { size: 14 })
277
+ children: /* @__PURE__ */ jsx5(CheckIcon, { size: 14 })
237
278
  }
238
279
  )
239
280
  }
@@ -243,7 +284,7 @@ function Checkbox({
243
284
  // src/components/dialog/dialog.tsx
244
285
  import * as React from "react";
245
286
  import { Dialog as DialogPrimitive } from "radix-ui";
246
- import { Fragment, jsx as jsx5, jsxs } from "react/jsx-runtime";
287
+ import { Fragment, jsx as jsx6, jsxs } from "react/jsx-runtime";
247
288
  var dialogCloseDurationMs = 150;
248
289
  var DialogMotionContext = React.createContext({
249
290
  open: false
@@ -267,7 +308,7 @@ function Dialog({
267
308
  },
268
309
  [onOpenChange, open]
269
310
  );
270
- return /* @__PURE__ */ jsx5(DialogMotionContext.Provider, { value: { open: currentOpen }, children: /* @__PURE__ */ jsx5(
311
+ return /* @__PURE__ */ jsx6(DialogMotionContext.Provider, { value: { open: currentOpen }, children: /* @__PURE__ */ jsx6(
271
312
  DialogPrimitive.Root,
272
313
  {
273
314
  "data-slot": "dialog",
@@ -280,24 +321,24 @@ function Dialog({
280
321
  function DialogTrigger({
281
322
  ...props
282
323
  }) {
283
- return /* @__PURE__ */ jsx5(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
324
+ return /* @__PURE__ */ jsx6(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
284
325
  }
285
326
  function DialogPortal({
286
327
  ...props
287
328
  }) {
288
- return /* @__PURE__ */ jsx5(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
329
+ return /* @__PURE__ */ jsx6(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
289
330
  }
290
331
  function DialogClose({
291
332
  ...props
292
333
  }) {
293
- return /* @__PURE__ */ jsx5(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
334
+ return /* @__PURE__ */ jsx6(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
294
335
  }
295
336
  function DialogOverlay({
296
337
  className,
297
338
  style,
298
339
  ...props
299
340
  }) {
300
- return /* @__PURE__ */ jsx5(
341
+ return /* @__PURE__ */ jsx6(
301
342
  DialogPrimitive.Overlay,
302
343
  {
303
344
  "data-slot": "dialog-overlay",
@@ -337,7 +378,7 @@ function DialogContent({
337
378
  return null;
338
379
  }
339
380
  const content = /* @__PURE__ */ jsxs(Fragment, { children: [
340
- /* @__PURE__ */ jsx5(DialogOverlay, { className: overlayClassName, forceMount: true }),
381
+ /* @__PURE__ */ jsx6(DialogOverlay, { className: overlayClassName, forceMount: true }),
341
382
  /* @__PURE__ */ jsxs(
342
383
  DialogPrimitive.Content,
343
384
  {
@@ -345,22 +386,22 @@ function DialogContent({
345
386
  forceMount: true,
346
387
  className: cn(
347
388
  portaled ? "fixed" : "absolute",
348
- "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",
349
390
  className
350
391
  ),
351
392
  style: { zIndex: "var(--z-dialog)", ...style },
352
393
  ...props,
353
394
  children: [
354
395
  children,
355
- 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(
356
397
  Button,
357
398
  {
358
399
  variant: "ghost",
359
400
  className: "absolute top-3 right-3",
360
401
  size: "icon-sm",
361
402
  children: [
362
- /* @__PURE__ */ jsx5(CloseIcon, {}),
363
- /* @__PURE__ */ jsx5("span", { className: "sr-only", children: "Close" })
403
+ /* @__PURE__ */ jsx6(CloseIcon, {}),
404
+ /* @__PURE__ */ jsx6("span", { className: "sr-only", children: "Close" })
364
405
  ]
365
406
  }
366
407
  ) })
@@ -371,10 +412,10 @@ function DialogContent({
371
412
  if (!portaled) {
372
413
  return content;
373
414
  }
374
- return /* @__PURE__ */ jsx5(DialogPortal, { forceMount: true, children: content });
415
+ return /* @__PURE__ */ jsx6(DialogPortal, { forceMount: true, children: content });
375
416
  }
376
417
  function DialogHeader({ className, ...props }) {
377
- return /* @__PURE__ */ jsx5(
418
+ return /* @__PURE__ */ jsx6(
378
419
  "div",
379
420
  {
380
421
  "data-slot": "dialog-header",
@@ -400,7 +441,7 @@ function DialogFooter({
400
441
  ...props,
401
442
  children: [
402
443
  children,
403
- 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" }) })
404
445
  ]
405
446
  }
406
447
  );
@@ -409,7 +450,7 @@ function DialogTitle({
409
450
  className,
410
451
  ...props
411
452
  }) {
412
- return /* @__PURE__ */ jsx5(
453
+ return /* @__PURE__ */ jsx6(
413
454
  DialogPrimitive.Title,
414
455
  {
415
456
  "data-slot": "dialog-title",
@@ -425,7 +466,7 @@ function DialogDescription({
425
466
  className,
426
467
  ...props
427
468
  }) {
428
- return /* @__PURE__ */ jsx5(
469
+ return /* @__PURE__ */ jsx6(
429
470
  DialogPrimitive.Description,
430
471
  {
431
472
  "data-slot": "dialog-description",
@@ -439,7 +480,7 @@ function DialogDescription({
439
480
  }
440
481
 
441
482
  // src/components/confirmation-dialog/confirmation-dialog.tsx
442
- import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
483
+ import { jsx as jsx7, jsxs as jsxs2 } from "react/jsx-runtime";
443
484
  function confirmToneClassName(tone) {
444
485
  if (tone === "destructive") {
445
486
  return "shadow-none";
@@ -467,7 +508,7 @@ function ConfirmationDialog({
467
508
  title
468
509
  }) {
469
510
  const isCloseDisabled = disableCloseWhileBusy && confirmBusy;
470
- return /* @__PURE__ */ jsx6(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(
511
+ return /* @__PURE__ */ jsx7(Dialog, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(
471
512
  DialogContent,
472
513
  {
473
514
  className: cn(
@@ -489,12 +530,12 @@ function ConfirmationDialog({
489
530
  },
490
531
  children: [
491
532
  /* @__PURE__ */ jsxs2(DialogHeader, { children: [
492
- /* @__PURE__ */ jsx6(DialogTitle, { children: title }),
493
- description ? /* @__PURE__ */ jsx6(DialogDescription, { children: description }) : null
533
+ /* @__PURE__ */ jsx7(DialogTitle, { children: title }),
534
+ description ? /* @__PURE__ */ jsx7(DialogDescription, { children: description }) : null
494
535
  ] }),
495
- 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,
496
537
  footer ?? /* @__PURE__ */ jsxs2(DialogFooter, { children: [
497
- /* @__PURE__ */ jsx6(
538
+ /* @__PURE__ */ jsx7(
498
539
  Button,
499
540
  {
500
541
  disabled: confirmBusy,
@@ -508,7 +549,7 @@ function ConfirmationDialog({
508
549
  children: cancelLabel
509
550
  }
510
551
  ),
511
- hideConfirmButton ? null : /* @__PURE__ */ jsx6(
552
+ hideConfirmButton ? null : /* @__PURE__ */ jsx7(
512
553
  Button,
513
554
  {
514
555
  disabled: confirmBusy || confirmDisabled,
@@ -531,7 +572,7 @@ function ConfirmationDialog({
531
572
  // src/components/date-picker/date-picker.tsx
532
573
  import * as React2 from "react";
533
574
  import { createPortal } from "react-dom";
534
- 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";
535
576
  var defaultLabels = {
536
577
  placeholder: "Year / Month / Day",
537
578
  previousMonth: "Previous month",
@@ -735,7 +776,7 @@ var DatePicker = React2.forwardRef(
735
776
  triggerRef.current?.focus();
736
777
  };
737
778
  return /* @__PURE__ */ jsxs3(Fragment2, { children: [
738
- /* @__PURE__ */ jsx7(
779
+ /* @__PURE__ */ jsx8(
739
780
  "button",
740
781
  {
741
782
  ref: (node) => {
@@ -766,7 +807,7 @@ var DatePicker = React2.forwardRef(
766
807
  }
767
808
  },
768
809
  ...props,
769
- children: /* @__PURE__ */ jsx7("span", { className: "min-w-0 truncate", children: displayValue })
810
+ children: /* @__PURE__ */ jsx8("span", { className: "min-w-0 truncate", children: displayValue })
770
811
  }
771
812
  ),
772
813
  isOpen && popoverPosition ? createPortal(
@@ -784,9 +825,9 @@ var DatePicker = React2.forwardRef(
784
825
  },
785
826
  children: [
786
827
  /* @__PURE__ */ jsxs3("div", { className: "mb-3 flex items-center justify-between gap-2", children: [
787
- /* @__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) }),
788
829
  /* @__PURE__ */ jsxs3("div", { className: "flex items-center gap-1", children: [
789
- /* @__PURE__ */ jsx7(
830
+ /* @__PURE__ */ jsx8(
790
831
  "button",
791
832
  {
792
833
  "aria-label": resolvedLabels.previousMonth,
@@ -799,10 +840,10 @@ var DatePicker = React2.forwardRef(
799
840
  1
800
841
  )
801
842
  ),
802
- children: /* @__PURE__ */ jsx7(ArrowLeftIcon, { size: 16 })
843
+ children: /* @__PURE__ */ jsx8(ArrowLeftIcon, { size: 16 })
803
844
  }
804
845
  ),
805
- /* @__PURE__ */ jsx7(
846
+ /* @__PURE__ */ jsx8(
806
847
  "button",
807
848
  {
808
849
  "aria-label": resolvedLabels.nextMonth,
@@ -815,13 +856,13 @@ var DatePicker = React2.forwardRef(
815
856
  1
816
857
  )
817
858
  ),
818
- children: /* @__PURE__ */ jsx7(ArrowRightIcon, { size: 16 })
859
+ children: /* @__PURE__ */ jsx8(ArrowRightIcon, { size: 16 })
819
860
  }
820
861
  )
821
862
  ] })
822
863
  ] }),
823
- /* @__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)) }),
824
- /* @__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(
825
866
  "div",
826
867
  {
827
868
  className: "mt-1 grid grid-cols-7 justify-items-center gap-1",
@@ -830,7 +871,7 @@ var DatePicker = React2.forwardRef(
830
871
  const isSelected = isSameDate(date, selectedDate);
831
872
  const isToday = isSameDate(date, today);
832
873
  const inCurrentMonth = date.getMonth() === visibleMonth.getMonth();
833
- return /* @__PURE__ */ jsx7(
874
+ return /* @__PURE__ */ jsx8(
834
875
  "button",
835
876
  {
836
877
  "aria-pressed": isSelected,
@@ -851,7 +892,7 @@ var DatePicker = React2.forwardRef(
851
892
  }
852
893
  ),
853
894
  /* @__PURE__ */ jsxs3("div", { className: "mt-3 flex items-center justify-between gap-2 border-t border-border/70 pt-3", children: [
854
- /* @__PURE__ */ jsx7(
895
+ /* @__PURE__ */ jsx8(
855
896
  "button",
856
897
  {
857
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",
@@ -864,7 +905,7 @@ var DatePicker = React2.forwardRef(
864
905
  children: resolvedLabels.clear
865
906
  }
866
907
  ),
867
- /* @__PURE__ */ jsx7(
908
+ /* @__PURE__ */ jsx8(
868
909
  "button",
869
910
  {
870
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",
@@ -884,17 +925,143 @@ var DatePicker = React2.forwardRef(
884
925
  );
885
926
  DatePicker.displayName = "DatePicker";
886
927
 
928
+ // src/components/drawer/drawer.tsx
929
+ import { Drawer as DrawerPrimitive } from "vaul";
930
+ import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
931
+ function Drawer({
932
+ ...props
933
+ }) {
934
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Root, { "data-slot": "drawer", ...props });
935
+ }
936
+ function DrawerTrigger({
937
+ ...props
938
+ }) {
939
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Trigger, { "data-slot": "drawer-trigger", ...props });
940
+ }
941
+ function DrawerPortal({
942
+ ...props
943
+ }) {
944
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Portal, { "data-slot": "drawer-portal", ...props });
945
+ }
946
+ function DrawerClose({
947
+ ...props
948
+ }) {
949
+ return /* @__PURE__ */ jsx9(DrawerPrimitive.Close, { "data-slot": "drawer-close", ...props });
950
+ }
951
+ function DrawerOverlay({
952
+ className,
953
+ style,
954
+ ...props
955
+ }) {
956
+ return /* @__PURE__ */ jsx9(
957
+ DrawerPrimitive.Overlay,
958
+ {
959
+ "data-slot": "drawer-overlay",
960
+ className: cn(
961
+ "fixed inset-0 isolate bg-[var(--backdrop)] duration-150 supports-backdrop-filter:backdrop-blur-sm data-closed:animate-out data-closed:fade-out-0 data-open:animate-in data-open:fade-in-0",
962
+ className
963
+ ),
964
+ style: { zIndex: "var(--z-dialog-overlay)", ...style },
965
+ ...props
966
+ }
967
+ );
968
+ }
969
+ function DrawerContent({
970
+ className,
971
+ children,
972
+ portalContainer,
973
+ showOverlay = true,
974
+ style,
975
+ ...props
976
+ }) {
977
+ return /* @__PURE__ */ jsxs4(DrawerPortal, { "data-slot": "drawer-portal", container: portalContainer, children: [
978
+ showOverlay ? /* @__PURE__ */ jsx9(DrawerOverlay, {}) : null,
979
+ /* @__PURE__ */ jsxs4(
980
+ DrawerPrimitive.Content,
981
+ {
982
+ "data-slot": "drawer-content",
983
+ className: cn(
984
+ "group/drawer-content fixed flex h-auto flex-col border-[var(--border-1)] bg-background-fronted text-sm text-foreground shadow-panel outline-none",
985
+ "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t",
986
+ "data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
987
+ "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
988
+ "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b",
989
+ className
990
+ ),
991
+ style: { zIndex: "var(--z-dialog)", ...style },
992
+ ...props,
993
+ children: [
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" }),
995
+ children
996
+ ]
997
+ }
998
+ )
999
+ ] });
1000
+ }
1001
+ function DrawerHeader({ className, ...props }) {
1002
+ return /* @__PURE__ */ jsx9(
1003
+ "div",
1004
+ {
1005
+ "data-slot": "drawer-header",
1006
+ className: cn(
1007
+ "flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left",
1008
+ className
1009
+ ),
1010
+ ...props
1011
+ }
1012
+ );
1013
+ }
1014
+ function DrawerFooter({ className, ...props }) {
1015
+ return /* @__PURE__ */ jsx9(
1016
+ "div",
1017
+ {
1018
+ "data-slot": "drawer-footer",
1019
+ className: cn("mt-auto flex flex-col gap-2 p-4", className),
1020
+ ...props
1021
+ }
1022
+ );
1023
+ }
1024
+ function DrawerTitle({
1025
+ className,
1026
+ ...props
1027
+ }) {
1028
+ return /* @__PURE__ */ jsx9(
1029
+ DrawerPrimitive.Title,
1030
+ {
1031
+ "data-slot": "drawer-title",
1032
+ className: cn(
1033
+ "text-base font-medium leading-[1.35] text-foreground",
1034
+ className
1035
+ ),
1036
+ ...props
1037
+ }
1038
+ );
1039
+ }
1040
+ function DrawerDescription({
1041
+ className,
1042
+ ...props
1043
+ }) {
1044
+ return /* @__PURE__ */ jsx9(
1045
+ DrawerPrimitive.Description,
1046
+ {
1047
+ "data-slot": "drawer-description",
1048
+ className: cn("text-sm text-muted-foreground", className),
1049
+ ...props
1050
+ }
1051
+ );
1052
+ }
1053
+
887
1054
  // src/components/dropdown-menu/dropdown-menu.tsx
888
1055
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
889
1056
 
890
1057
  // src/components/menu-surface/menu-surface.tsx
891
1058
  import * as React3 from "react";
892
- import { Slot as Slot3 } from "radix-ui";
893
- import { jsx as jsx8 } from "react/jsx-runtime";
1059
+ import { Slot as Slot4 } from "radix-ui";
1060
+ import { jsx as jsx10 } from "react/jsx-runtime";
894
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";
895
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";
896
1063
  var menuItemWithIndicatorClassName = `${menuItemClassName} pr-8`;
897
- 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)]";
898
1065
  var MenuSurface = React3.forwardRef(
899
1066
  ({
900
1067
  asChild = false,
@@ -903,8 +1070,8 @@ var MenuSurface = React3.forwardRef(
903
1070
  state = "open",
904
1071
  ...props
905
1072
  }, ref) => {
906
- const Comp = asChild ? Slot3.Root : "div";
907
- return /* @__PURE__ */ jsx8(
1073
+ const Comp = asChild ? Slot4.Root : "div";
1074
+ return /* @__PURE__ */ jsx10(
908
1075
  Comp,
909
1076
  {
910
1077
  ...props,
@@ -918,21 +1085,21 @@ var MenuSurface = React3.forwardRef(
918
1085
  MenuSurface.displayName = "MenuSurface";
919
1086
 
920
1087
  // src/components/dropdown-menu/dropdown-menu.tsx
921
- import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
1088
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
922
1089
  function DropdownMenu({
923
1090
  ...props
924
1091
  }) {
925
- return /* @__PURE__ */ jsx9(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1092
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
926
1093
  }
927
1094
  function DropdownMenuPortal({
928
1095
  ...props
929
1096
  }) {
930
- return /* @__PURE__ */ jsx9(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1097
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
931
1098
  }
932
1099
  function DropdownMenuTrigger({
933
1100
  ...props
934
1101
  }) {
935
- return /* @__PURE__ */ jsx9(
1102
+ return /* @__PURE__ */ jsx11(
936
1103
  DropdownMenuPrimitive.Trigger,
937
1104
  {
938
1105
  "data-slot": "dropdown-menu-trigger",
@@ -948,7 +1115,7 @@ function DropdownMenuContent({
948
1115
  style,
949
1116
  ...props
950
1117
  }) {
951
- return /* @__PURE__ */ jsx9(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx9(
1118
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx11(
952
1119
  DropdownMenuPrimitive.Content,
953
1120
  {
954
1121
  asChild: true,
@@ -956,7 +1123,7 @@ function DropdownMenuContent({
956
1123
  align,
957
1124
  sideOffset,
958
1125
  ...props,
959
- children: /* @__PURE__ */ jsx9(
1126
+ children: /* @__PURE__ */ jsx11(
960
1127
  MenuSurface,
961
1128
  {
962
1129
  "data-slot": "dropdown-menu-content",
@@ -975,7 +1142,7 @@ function DropdownMenuGroup({
975
1142
  className,
976
1143
  ...props
977
1144
  }) {
978
- return /* @__PURE__ */ jsx9(
1145
+ return /* @__PURE__ */ jsx11(
979
1146
  DropdownMenuPrimitive.Group,
980
1147
  {
981
1148
  "data-slot": "dropdown-menu-group",
@@ -990,7 +1157,7 @@ function DropdownMenuItem({
990
1157
  variant = "default",
991
1158
  ...props
992
1159
  }) {
993
- return /* @__PURE__ */ jsx9(
1160
+ return /* @__PURE__ */ jsx11(
994
1161
  DropdownMenuPrimitive.Item,
995
1162
  {
996
1163
  "data-inset": inset,
@@ -1013,7 +1180,7 @@ function DropdownMenuCheckboxItem({
1013
1180
  inset,
1014
1181
  ...props
1015
1182
  }) {
1016
- return /* @__PURE__ */ jsxs4(
1183
+ return /* @__PURE__ */ jsxs5(
1017
1184
  DropdownMenuPrimitive.CheckboxItem,
1018
1185
  {
1019
1186
  checked,
@@ -1026,12 +1193,12 @@ function DropdownMenuCheckboxItem({
1026
1193
  ),
1027
1194
  ...props,
1028
1195
  children: [
1029
- /* @__PURE__ */ jsx9(
1196
+ /* @__PURE__ */ jsx11(
1030
1197
  "span",
1031
1198
  {
1032
1199
  className: menuItemIndicatorClassName,
1033
1200
  "data-slot": "dropdown-menu-checkbox-item-indicator",
1034
- children: /* @__PURE__ */ jsx9(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx9(CheckIcon, {}) })
1201
+ children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(CheckIcon, {}) })
1035
1202
  }
1036
1203
  ),
1037
1204
  children
@@ -1043,7 +1210,7 @@ function DropdownMenuRadioGroup({
1043
1210
  className,
1044
1211
  ...props
1045
1212
  }) {
1046
- return /* @__PURE__ */ jsx9(
1213
+ return /* @__PURE__ */ jsx11(
1047
1214
  DropdownMenuPrimitive.RadioGroup,
1048
1215
  {
1049
1216
  "data-slot": "dropdown-menu-radio-group",
@@ -1058,7 +1225,7 @@ function DropdownMenuRadioItem({
1058
1225
  inset,
1059
1226
  ...props
1060
1227
  }) {
1061
- return /* @__PURE__ */ jsxs4(
1228
+ return /* @__PURE__ */ jsxs5(
1062
1229
  DropdownMenuPrimitive.RadioItem,
1063
1230
  {
1064
1231
  "data-inset": inset,
@@ -1070,12 +1237,12 @@ function DropdownMenuRadioItem({
1070
1237
  ),
1071
1238
  ...props,
1072
1239
  children: [
1073
- /* @__PURE__ */ jsx9(
1240
+ /* @__PURE__ */ jsx11(
1074
1241
  "span",
1075
1242
  {
1076
1243
  className: menuItemIndicatorClassName,
1077
1244
  "data-slot": "dropdown-menu-radio-item-indicator",
1078
- children: /* @__PURE__ */ jsx9(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx9(CheckIcon, {}) })
1245
+ children: /* @__PURE__ */ jsx11(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx11(CheckIcon, {}) })
1079
1246
  }
1080
1247
  ),
1081
1248
  children
@@ -1088,7 +1255,7 @@ function DropdownMenuLabel({
1088
1255
  inset,
1089
1256
  ...props
1090
1257
  }) {
1091
- return /* @__PURE__ */ jsx9(
1258
+ return /* @__PURE__ */ jsx11(
1092
1259
  DropdownMenuPrimitive.Label,
1093
1260
  {
1094
1261
  "data-inset": inset,
@@ -1105,7 +1272,7 @@ function DropdownMenuSeparator({
1105
1272
  className,
1106
1273
  ...props
1107
1274
  }) {
1108
- return /* @__PURE__ */ jsx9(
1275
+ return /* @__PURE__ */ jsx11(
1109
1276
  DropdownMenuPrimitive.Separator,
1110
1277
  {
1111
1278
  "data-slot": "dropdown-menu-separator",
@@ -1118,7 +1285,7 @@ function DropdownMenuShortcut({
1118
1285
  className,
1119
1286
  ...props
1120
1287
  }) {
1121
- return /* @__PURE__ */ jsx9(
1288
+ return /* @__PURE__ */ jsx11(
1122
1289
  "span",
1123
1290
  {
1124
1291
  "data-slot": "dropdown-menu-shortcut",
@@ -1133,7 +1300,7 @@ function DropdownMenuShortcut({
1133
1300
  function DropdownMenuSub({
1134
1301
  ...props
1135
1302
  }) {
1136
- return /* @__PURE__ */ jsx9(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1303
+ return /* @__PURE__ */ jsx11(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1137
1304
  }
1138
1305
  function DropdownMenuSubTrigger({
1139
1306
  className,
@@ -1141,7 +1308,7 @@ function DropdownMenuSubTrigger({
1141
1308
  children,
1142
1309
  ...props
1143
1310
  }) {
1144
- return /* @__PURE__ */ jsxs4(
1311
+ return /* @__PURE__ */ jsxs5(
1145
1312
  DropdownMenuPrimitive.SubTrigger,
1146
1313
  {
1147
1314
  "data-inset": inset,
@@ -1154,7 +1321,7 @@ function DropdownMenuSubTrigger({
1154
1321
  ...props,
1155
1322
  children: [
1156
1323
  children,
1157
- /* @__PURE__ */ jsx9(ArrowRightIcon, { className: "ml-auto" })
1324
+ /* @__PURE__ */ jsx11(ArrowRightIcon, { className: "ml-auto" })
1158
1325
  ]
1159
1326
  }
1160
1327
  );
@@ -1165,13 +1332,13 @@ function DropdownMenuSubContent({
1165
1332
  style,
1166
1333
  ...props
1167
1334
  }) {
1168
- return /* @__PURE__ */ jsx9(
1335
+ return /* @__PURE__ */ jsx11(
1169
1336
  DropdownMenuPrimitive.SubContent,
1170
1337
  {
1171
1338
  asChild: true,
1172
1339
  "data-slot": "dropdown-menu-sub-content",
1173
1340
  ...props,
1174
- children: /* @__PURE__ */ jsx9(
1341
+ children: /* @__PURE__ */ jsx11(
1175
1342
  MenuSurface,
1176
1343
  {
1177
1344
  "data-slot": "dropdown-menu-sub-content",
@@ -1188,7 +1355,7 @@ function DropdownMenuSubContent({
1188
1355
  }
1189
1356
 
1190
1357
  // src/components/input/input.tsx
1191
- import { jsx as jsx10 } from "react/jsx-runtime";
1358
+ import { jsx as jsx12 } from "react/jsx-runtime";
1192
1359
  var inputVariantClassNames = {
1193
1360
  default: "h-8 rounded-[6px] px-3 py-0 text-sm leading-[1.3]",
1194
1361
  lg: "h-12 rounded-[8px] px-4 py-3 text-base leading-[1.3]",
@@ -1204,7 +1371,7 @@ function Input({
1204
1371
  ...props
1205
1372
  }) {
1206
1373
  const resolvedVariant = variant ?? (size === "sm" ? "sm" : "default");
1207
- return /* @__PURE__ */ jsx10(
1374
+ return /* @__PURE__ */ jsx12(
1208
1375
  "input",
1209
1376
  {
1210
1377
  type,
@@ -1223,7 +1390,7 @@ function Input({
1223
1390
  }
1224
1391
 
1225
1392
  // src/components/mention-pill/mention-pill.tsx
1226
- import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
1393
+ import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
1227
1394
  var mentionPillTokenByKind = {
1228
1395
  issue: "var(--rich-text-mention-issue)",
1229
1396
  session: "var(--rich-text-mention-session)",
@@ -1251,7 +1418,7 @@ function MentionPill({
1251
1418
  const dataKind = mentionPillDataKindByKind[kind];
1252
1419
  const iconSizeClassName = isFile ? "size-3.5" : "size-4";
1253
1420
  const iconShellClassName = isFile ? "size-3.5" : "size-[18px]";
1254
- return /* @__PURE__ */ jsxs5(
1421
+ return /* @__PURE__ */ jsxs6(
1255
1422
  "span",
1256
1423
  {
1257
1424
  className: cn(
@@ -1268,7 +1435,7 @@ function MentionPill({
1268
1435
  },
1269
1436
  ...props,
1270
1437
  children: [
1271
- /* @__PURE__ */ jsxs5(
1438
+ /* @__PURE__ */ jsxs6(
1272
1439
  "span",
1273
1440
  {
1274
1441
  "aria-hidden": removable ? void 0 : true,
@@ -1277,7 +1444,7 @@ function MentionPill({
1277
1444
  iconShellClassName
1278
1445
  ),
1279
1446
  children: [
1280
- /* @__PURE__ */ jsx11(
1447
+ /* @__PURE__ */ jsx13(
1281
1448
  Icon,
1282
1449
  {
1283
1450
  className: cn(
@@ -1287,7 +1454,7 @@ function MentionPill({
1287
1454
  )
1288
1455
  }
1289
1456
  ),
1290
- removable ? /* @__PURE__ */ jsx11(
1457
+ removable ? /* @__PURE__ */ jsx13(
1291
1458
  "button",
1292
1459
  {
1293
1460
  "aria-label": removeButtonProps?.["aria-label"],
@@ -1297,15 +1464,15 @@ function MentionPill({
1297
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",
1298
1465
  removeButtonProps?.className
1299
1466
  ),
1300
- children: /* @__PURE__ */ jsx11(CloseIcon, { className: "size-3.5" })
1467
+ children: /* @__PURE__ */ jsx13(CloseIcon, { className: "size-3.5" })
1301
1468
  }
1302
1469
  ) : null
1303
1470
  ]
1304
1471
  }
1305
1472
  ),
1306
- /* @__PURE__ */ jsxs5("span", { className: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap", children: [
1307
- /* @__PURE__ */ jsx11("span", { children: label }),
1308
- summary ? /* @__PURE__ */ jsxs5("span", { className: "text-current", children: [
1473
+ /* @__PURE__ */ jsxs6("span", { className: "min-w-0 overflow-hidden text-ellipsis whitespace-nowrap", children: [
1474
+ /* @__PURE__ */ jsx13("span", { children: label }),
1475
+ summary ? /* @__PURE__ */ jsxs6("span", { className: "text-current", children: [
1309
1476
  " ",
1310
1477
  summary
1311
1478
  ] }) : null
@@ -1317,26 +1484,26 @@ function MentionPill({
1317
1484
 
1318
1485
  // src/components/popover/popover.tsx
1319
1486
  import { Popover as PopoverPrimitive } from "radix-ui";
1320
- import { jsx as jsx12 } from "react/jsx-runtime";
1487
+ import { jsx as jsx14 } from "react/jsx-runtime";
1321
1488
  function Popover({
1322
1489
  ...props
1323
1490
  }) {
1324
- return /* @__PURE__ */ jsx12(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
1491
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
1325
1492
  }
1326
1493
  function PopoverTrigger({
1327
1494
  ...props
1328
1495
  }) {
1329
- return /* @__PURE__ */ jsx12(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
1496
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
1330
1497
  }
1331
1498
  function PopoverPortal({
1332
1499
  ...props
1333
1500
  }) {
1334
- return /* @__PURE__ */ jsx12(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
1501
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Portal, { "data-slot": "popover-portal", ...props });
1335
1502
  }
1336
1503
  function PopoverClose({
1337
1504
  ...props
1338
1505
  }) {
1339
- return /* @__PURE__ */ jsx12(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
1506
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Close, { "data-slot": "popover-close", ...props });
1340
1507
  }
1341
1508
  function PopoverContent({
1342
1509
  className,
@@ -1344,7 +1511,7 @@ function PopoverContent({
1344
1511
  sideOffset = 4,
1345
1512
  ...props
1346
1513
  }) {
1347
- return /* @__PURE__ */ jsx12(PopoverPortal, { children: /* @__PURE__ */ jsx12(
1514
+ return /* @__PURE__ */ jsx14(PopoverPortal, { children: /* @__PURE__ */ jsx14(
1348
1515
  PopoverPrimitive.Content,
1349
1516
  {
1350
1517
  "data-slot": "popover-content",
@@ -1362,18 +1529,18 @@ function PopoverContent({
1362
1529
  function PopoverAnchor({
1363
1530
  ...props
1364
1531
  }) {
1365
- return /* @__PURE__ */ jsx12(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
1532
+ return /* @__PURE__ */ jsx14(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
1366
1533
  }
1367
1534
 
1368
1535
  // src/components/resizable/resizable.tsx
1369
1536
  import * as ResizablePrimitive from "react-resizable-panels";
1370
- import { jsx as jsx13 } from "react/jsx-runtime";
1537
+ import { jsx as jsx15 } from "react/jsx-runtime";
1371
1538
  function ResizablePanelGroup({
1372
1539
  className,
1373
1540
  orientation = "horizontal",
1374
1541
  ...props
1375
1542
  }) {
1376
- return /* @__PURE__ */ jsx13(
1543
+ return /* @__PURE__ */ jsx15(
1377
1544
  ResizablePrimitive.Group,
1378
1545
  {
1379
1546
  "data-orientation": orientation,
@@ -1388,14 +1555,14 @@ function ResizablePanelGroup({
1388
1555
  );
1389
1556
  }
1390
1557
  function ResizablePanel(props) {
1391
- return /* @__PURE__ */ jsx13(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1558
+ return /* @__PURE__ */ jsx15(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
1392
1559
  }
1393
1560
  function ResizableHandle({
1394
1561
  className,
1395
1562
  withHandle,
1396
1563
  ...props
1397
1564
  }) {
1398
- return /* @__PURE__ */ jsx13(
1565
+ return /* @__PURE__ */ jsx15(
1399
1566
  ResizablePrimitive.Separator,
1400
1567
  {
1401
1568
  "data-slot": "resizable-handle",
@@ -1404,57 +1571,113 @@ function ResizableHandle({
1404
1571
  className
1405
1572
  ),
1406
1573
  ...props,
1407
- children: withHandle ? /* @__PURE__ */ jsx13("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
1408
1575
  }
1409
1576
  );
1410
1577
  }
1411
1578
 
1412
1579
  // src/components/scroll-area/scroll-area.tsx
1580
+ import * as React4 from "react";
1413
1581
  import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
1414
- import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
1582
+ import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1415
1583
  function ScrollArea({
1416
1584
  className,
1417
1585
  children,
1586
+ viewportClassName,
1587
+ viewportContentStyle,
1588
+ viewportProps,
1589
+ viewportRef,
1590
+ viewportTestId,
1418
1591
  ...props
1419
1592
  }) {
1420
- return /* @__PURE__ */ jsxs6(
1593
+ return /* @__PURE__ */ jsxs7(
1421
1594
  ScrollAreaPrimitive.Root,
1422
1595
  {
1423
1596
  "data-slot": "scroll-area",
1424
1597
  className: cn("group/scroll-area relative", className),
1425
1598
  ...props,
1426
1599
  children: [
1427
- /* @__PURE__ */ jsx14(
1600
+ /* @__PURE__ */ jsxs7(
1428
1601
  ScrollAreaPrimitive.Viewport,
1429
1602
  {
1603
+ ...viewportProps,
1430
1604
  "data-slot": "scroll-area-viewport",
1431
- className: "size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
1432
- 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
+ ]
1433
1615
  }
1434
1616
  ),
1435
- /* @__PURE__ */ jsx14(ScrollBar, {}),
1436
- /* @__PURE__ */ jsx14(ScrollAreaPrimitive.Corner, {})
1617
+ /* @__PURE__ */ jsx16(ScrollBar, {}),
1618
+ /* @__PURE__ */ jsx16(ScrollAreaPrimitive.Corner, {})
1437
1619
  ]
1438
1620
  }
1439
1621
  );
1440
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
+ }
1441
1664
  function ScrollBar({
1442
1665
  className,
1443
1666
  orientation = "vertical",
1444
1667
  ...props
1445
1668
  }) {
1446
- return /* @__PURE__ */ jsx14(
1669
+ return /* @__PURE__ */ jsx16(
1447
1670
  ScrollAreaPrimitive.ScrollAreaScrollbar,
1448
1671
  {
1449
1672
  "data-slot": "scroll-area-scrollbar",
1450
1673
  "data-orientation": orientation,
1451
1674
  orientation,
1452
1675
  className: cn(
1453
- "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",
1454
1677
  className
1455
1678
  ),
1456
1679
  ...props,
1457
- children: /* @__PURE__ */ jsx14(
1680
+ children: /* @__PURE__ */ jsx16(
1458
1681
  ScrollAreaPrimitive.ScrollAreaThumb,
1459
1682
  {
1460
1683
  "data-slot": "scroll-area-thumb",
@@ -1467,17 +1690,17 @@ function ScrollBar({
1467
1690
 
1468
1691
  // src/components/select/select.tsx
1469
1692
  import { Select as SelectPrimitive } from "radix-ui";
1470
- import { jsx as jsx15, jsxs as jsxs7 } from "react/jsx-runtime";
1693
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1471
1694
  function Select({
1472
1695
  ...props
1473
1696
  }) {
1474
- return /* @__PURE__ */ jsx15(SelectPrimitive.Root, { "data-slot": "select", ...props });
1697
+ return /* @__PURE__ */ jsx17(SelectPrimitive.Root, { "data-slot": "select", ...props });
1475
1698
  }
1476
1699
  function SelectGroup({
1477
1700
  className,
1478
1701
  ...props
1479
1702
  }) {
1480
- return /* @__PURE__ */ jsx15(
1703
+ return /* @__PURE__ */ jsx17(
1481
1704
  SelectPrimitive.Group,
1482
1705
  {
1483
1706
  "data-slot": "select-group",
@@ -1489,27 +1712,38 @@ function SelectGroup({
1489
1712
  function SelectValue({
1490
1713
  ...props
1491
1714
  }) {
1492
- return /* @__PURE__ */ jsx15(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1715
+ return /* @__PURE__ */ jsx17(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1493
1716
  }
1494
1717
  function SelectTrigger({
1495
1718
  className,
1496
1719
  size = "default",
1720
+ variant = "default",
1497
1721
  children,
1498
1722
  ...props
1499
1723
  }) {
1500
- return /* @__PURE__ */ jsxs7(
1724
+ return /* @__PURE__ */ jsxs8(
1501
1725
  SelectPrimitive.Trigger,
1502
1726
  {
1503
1727
  "data-slot": "select-trigger",
1504
1728
  "data-size": size,
1729
+ "data-variant": variant,
1505
1730
  className: cn(
1506
- "flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-transparent bg-[var(--transparency-block)] py-2 pr-2 pl-2.5 text-sm text-[var(--text-primary)] whitespace-nowrap transition-colors outline-none select-none hover:bg-[var(--transparency-hover)] focus:bg-[var(--transparency-hover)] focus-visible:border-transparent focus-visible:bg-[var(--transparency-hover)] focus-visible:ring-0 disabled:cursor-not-allowed disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-disabled)] disabled:opacity-100 aria-invalid:border-[var(--state-danger)] aria-invalid:bg-[var(--transparency-block)] aria-invalid:hover:bg-[var(--transparency-hover)] aria-invalid:focus:bg-[var(--transparency-hover)] aria-invalid:focus-visible:bg-[var(--transparency-hover)] aria-invalid:ring-0 aria-invalid:shadow-none data-placeholder:text-[var(--text-placeholder)] data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&[data-state=open]>svg]:rotate-180 [&>svg]:transition-transform [&>svg]:duration-200 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1731
+ variant === "button" ? buttonVariants({ variant: "default", size }) : "flex w-fit cursor-pointer items-center justify-between gap-1.5 rounded-lg border border-transparent bg-[var(--transparency-block)] py-2 pr-2 pl-2.5 text-sm text-[var(--text-primary)] whitespace-nowrap transition-colors outline-none select-none hover:bg-[var(--transparency-hover)] focus:bg-[var(--transparency-hover)] focus-visible:border-transparent focus-visible:bg-[var(--transparency-hover)] focus-visible:ring-0 disabled:cursor-not-allowed disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-disabled)] disabled:opacity-100 aria-invalid:border-[var(--state-danger)] aria-invalid:bg-[var(--transparency-block)] aria-invalid:hover:bg-[var(--transparency-hover)] aria-invalid:focus:bg-[var(--transparency-hover)] aria-invalid:focus-visible:bg-[var(--transparency-hover)] aria-invalid:ring-0 aria-invalid:shadow-none data-placeholder:text-[var(--text-placeholder)] data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1732
+ "[&[data-state=open]>svg]:rotate-180 [&>svg]:transition-transform [&>svg]:duration-200",
1507
1733
  className
1508
1734
  ),
1509
1735
  ...props,
1510
1736
  children: [
1511
1737
  children,
1512
- /* @__PURE__ */ jsx15(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx15(ChevronDownIcon, { className: "pointer-events-none size-4 text-[var(--text-secondary)]" }) })
1738
+ /* @__PURE__ */ jsx17(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx17(
1739
+ ChevronDownIcon,
1740
+ {
1741
+ className: cn(
1742
+ "pointer-events-none size-4",
1743
+ variant === "button" ? "text-current" : "text-[var(--text-secondary)]"
1744
+ )
1745
+ }
1746
+ ) })
1513
1747
  ]
1514
1748
  }
1515
1749
  );
@@ -1522,7 +1756,7 @@ function SelectContent({
1522
1756
  style,
1523
1757
  ...props
1524
1758
  }) {
1525
- return /* @__PURE__ */ jsx15(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx15(
1759
+ return /* @__PURE__ */ jsx17(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
1526
1760
  SelectPrimitive.Content,
1527
1761
  {
1528
1762
  asChild: true,
@@ -1531,7 +1765,7 @@ function SelectContent({
1531
1765
  position,
1532
1766
  align,
1533
1767
  ...props,
1534
- children: /* @__PURE__ */ jsxs7(
1768
+ children: /* @__PURE__ */ jsxs8(
1535
1769
  MenuSurface,
1536
1770
  {
1537
1771
  "data-slot": "select-content",
@@ -1542,8 +1776,8 @@ function SelectContent({
1542
1776
  ),
1543
1777
  style: { zIndex: "var(--z-popover)", ...style },
1544
1778
  children: [
1545
- /* @__PURE__ */ jsx15(SelectScrollUpButton, {}),
1546
- /* @__PURE__ */ jsx15(
1779
+ /* @__PURE__ */ jsx17(SelectScrollUpButton, {}),
1780
+ /* @__PURE__ */ jsx17(
1547
1781
  SelectPrimitive.Viewport,
1548
1782
  {
1549
1783
  "data-position": position,
@@ -1553,7 +1787,7 @@ function SelectContent({
1553
1787
  children
1554
1788
  }
1555
1789
  ),
1556
- /* @__PURE__ */ jsx15(SelectScrollDownButton, {})
1790
+ /* @__PURE__ */ jsx17(SelectScrollDownButton, {})
1557
1791
  ]
1558
1792
  }
1559
1793
  )
@@ -1564,7 +1798,7 @@ function SelectLabel({
1564
1798
  className,
1565
1799
  ...props
1566
1800
  }) {
1567
- return /* @__PURE__ */ jsx15(
1801
+ return /* @__PURE__ */ jsx17(
1568
1802
  SelectPrimitive.Label,
1569
1803
  {
1570
1804
  "data-slot": "select-label",
@@ -1580,7 +1814,7 @@ function SelectSplitLayout({
1580
1814
  className,
1581
1815
  ...props
1582
1816
  }) {
1583
- return /* @__PURE__ */ jsx15(
1817
+ return /* @__PURE__ */ jsx17(
1584
1818
  "div",
1585
1819
  {
1586
1820
  "data-slot": "select-split-layout",
@@ -1596,7 +1830,7 @@ function SelectSplitColumn({
1596
1830
  className,
1597
1831
  ...props
1598
1832
  }) {
1599
- return /* @__PURE__ */ jsx15(
1833
+ return /* @__PURE__ */ jsx17(
1600
1834
  "div",
1601
1835
  {
1602
1836
  "data-slot": "select-split-column",
@@ -1609,7 +1843,7 @@ function SelectSplitColumnLabel({
1609
1843
  className,
1610
1844
  ...props
1611
1845
  }) {
1612
- return /* @__PURE__ */ jsx15(
1846
+ return /* @__PURE__ */ jsx17(
1613
1847
  "div",
1614
1848
  {
1615
1849
  "data-slot": "select-split-column-label",
@@ -1625,7 +1859,7 @@ function SelectSplitColumnItems({
1625
1859
  className,
1626
1860
  ...props
1627
1861
  }) {
1628
- return /* @__PURE__ */ jsx15(
1862
+ return /* @__PURE__ */ jsx17(
1629
1863
  "div",
1630
1864
  {
1631
1865
  "data-slot": "select-split-column-items",
@@ -1641,7 +1875,7 @@ function SelectSplitDivider({
1641
1875
  className,
1642
1876
  ...props
1643
1877
  }) {
1644
- return /* @__PURE__ */ jsx15(
1878
+ return /* @__PURE__ */ jsx17(
1645
1879
  "div",
1646
1880
  {
1647
1881
  "aria-hidden": "true",
@@ -1657,17 +1891,24 @@ function SelectSplitDivider({
1657
1891
  function SelectItem({
1658
1892
  className,
1659
1893
  children,
1894
+ forceSelectedIndicator = false,
1660
1895
  ...props
1661
1896
  }) {
1662
- return /* @__PURE__ */ jsxs7(
1897
+ return /* @__PURE__ */ jsxs8(
1663
1898
  SelectPrimitive.Item,
1664
1899
  {
1665
1900
  "data-slot": "select-item",
1666
1901
  className: cn("w-full", menuItemWithIndicatorClassName, className),
1667
1902
  ...props,
1668
1903
  children: [
1669
- /* @__PURE__ */ jsx15("span", { className: menuItemIndicatorClassName, children: /* @__PURE__ */ jsx15(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx15(CheckIcon, { className: "pointer-events-none" }) }) }),
1670
- /* @__PURE__ */ jsx15(SelectPrimitive.ItemText, { children })
1904
+ /* @__PURE__ */ jsx17("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx17(
1905
+ CheckIcon,
1906
+ {
1907
+ className: "pointer-events-none",
1908
+ "data-slot": "select-item-forced-indicator"
1909
+ }
1910
+ ) : /* @__PURE__ */ jsx17(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx17(CheckIcon, { className: "pointer-events-none" }) }) }),
1911
+ /* @__PURE__ */ jsx17(SelectPrimitive.ItemText, { children })
1671
1912
  ]
1672
1913
  }
1673
1914
  );
@@ -1676,7 +1917,7 @@ function SelectSeparator({
1676
1917
  className,
1677
1918
  ...props
1678
1919
  }) {
1679
- return /* @__PURE__ */ jsx15(
1920
+ return /* @__PURE__ */ jsx17(
1680
1921
  SelectPrimitive.Separator,
1681
1922
  {
1682
1923
  "data-slot": "select-separator",
@@ -1692,7 +1933,7 @@ function SelectScrollUpButton({
1692
1933
  className,
1693
1934
  ...props
1694
1935
  }) {
1695
- return /* @__PURE__ */ jsx15(
1936
+ return /* @__PURE__ */ jsx17(
1696
1937
  SelectPrimitive.ScrollUpButton,
1697
1938
  {
1698
1939
  "data-slot": "select-scroll-up-button",
@@ -1701,7 +1942,7 @@ function SelectScrollUpButton({
1701
1942
  className
1702
1943
  ),
1703
1944
  ...props,
1704
- children: /* @__PURE__ */ jsx15(ChevronUpIcon, {})
1945
+ children: /* @__PURE__ */ jsx17(ChevronUpIcon, {})
1705
1946
  }
1706
1947
  );
1707
1948
  }
@@ -1709,7 +1950,7 @@ function SelectScrollDownButton({
1709
1950
  className,
1710
1951
  ...props
1711
1952
  }) {
1712
- return /* @__PURE__ */ jsx15(
1953
+ return /* @__PURE__ */ jsx17(
1713
1954
  SelectPrimitive.ScrollDownButton,
1714
1955
  {
1715
1956
  "data-slot": "select-scroll-down-button",
@@ -1718,21 +1959,21 @@ function SelectScrollDownButton({
1718
1959
  className
1719
1960
  ),
1720
1961
  ...props,
1721
- children: /* @__PURE__ */ jsx15(ChevronDownIcon, {})
1962
+ children: /* @__PURE__ */ jsx17(ChevronDownIcon, {})
1722
1963
  }
1723
1964
  );
1724
1965
  }
1725
1966
 
1726
1967
  // src/components/separator/separator.tsx
1727
1968
  import { Separator as SeparatorPrimitive } from "radix-ui";
1728
- import { jsx as jsx16 } from "react/jsx-runtime";
1969
+ import { jsx as jsx18 } from "react/jsx-runtime";
1729
1970
  function Separator2({
1730
1971
  className,
1731
1972
  orientation = "horizontal",
1732
1973
  decorative = true,
1733
1974
  ...props
1734
1975
  }) {
1735
- return /* @__PURE__ */ jsx16(
1976
+ return /* @__PURE__ */ jsx18(
1736
1977
  SeparatorPrimitive.Root,
1737
1978
  {
1738
1979
  "data-slot": "separator",
@@ -1747,17 +1988,127 @@ function Separator2({
1747
1988
  );
1748
1989
  }
1749
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
+
2053
+ // src/components/sonner/sonner.tsx
2054
+ import {
2055
+ Toaster as SonnerToaster,
2056
+ toast
2057
+ } from "sonner";
2058
+ import { jsx as jsx21 } from "react/jsx-runtime";
2059
+ function Toaster({ toastOptions, style, ...props }) {
2060
+ return /* @__PURE__ */ jsx21(
2061
+ SonnerToaster,
2062
+ {
2063
+ closeButton: true,
2064
+ expand: false,
2065
+ gap: 8,
2066
+ position: "top-right",
2067
+ visibleToasts: 4,
2068
+ icons: {
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" })
2074
+ },
2075
+ style: {
2076
+ "--normal-bg": "var(--background-fronted)",
2077
+ "--normal-border": "var(--line-2)",
2078
+ "--normal-text": "var(--text-primary)",
2079
+ "--border-radius": "8px",
2080
+ zIndex: "var(--z-toast)",
2081
+ ...style
2082
+ },
2083
+ toastOptions: {
2084
+ ...toastOptions,
2085
+ classNames: {
2086
+ toast: "group pointer-events-auto min-h-14 rounded-[8px] border border-[var(--line-2)] bg-[var(--background-fronted)] px-3.5 py-3 text-[var(--text-primary)] shadow-[0_14px_40px_var(--shadow-elevated)]",
2087
+ title: "text-sm font-semibold leading-5 text-[var(--text-primary)]",
2088
+ description: "mt-0.5 text-xs leading-5 text-[var(--text-secondary)]",
2089
+ actionButton: "h-7 rounded-[6px] bg-[var(--text-primary)] px-2.5 text-xs font-normal text-[var(--text-inverted)] transition-colors hover:bg-[var(--text-primary-hover)]",
2090
+ cancelButton: "h-7 rounded-[6px] bg-[var(--transparency-block)] px-2.5 text-xs font-normal text-[var(--text-primary)] transition-colors hover:bg-[var(--transparency-hover)]",
2091
+ closeButton: "border-[var(--line-2)] bg-[var(--background-fronted)] text-[var(--text-secondary)] hover:bg-[var(--transparency-hover)] hover:text-[var(--text-primary)]",
2092
+ icon: "text-[var(--accent)]",
2093
+ ...toastOptions?.classNames
2094
+ }
2095
+ },
2096
+ ...props
2097
+ }
2098
+ );
2099
+ }
2100
+
1750
2101
  // src/components/spinner/spinner.tsx
1751
- import { jsx as jsx17 } from "react/jsx-runtime";
2102
+ import { jsx as jsx22 } from "react/jsx-runtime";
1752
2103
  function Spinner({
1753
2104
  className,
1754
2105
  size = 16,
1755
- strokeWidth = 3,
2106
+ strokeWidth = 2,
1756
2107
  style,
1757
2108
  testId,
1758
2109
  trackColor
1759
2110
  }) {
1760
- return /* @__PURE__ */ jsx17(
2111
+ return /* @__PURE__ */ jsx22(
1761
2112
  LoadingIcon,
1762
2113
  {
1763
2114
  "data-slot": "spinner",
@@ -1776,9 +2127,9 @@ function Spinner({
1776
2127
  }
1777
2128
 
1778
2129
  // src/components/status-dot/status-dot.tsx
1779
- import { cva as cva3 } from "class-variance-authority";
1780
- import { jsx as jsx18 } from "react/jsx-runtime";
1781
- 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", {
1782
2133
  variants: {
1783
2134
  tone: {
1784
2135
  neutral: "bg-muted-foreground/70",
@@ -1811,7 +2162,7 @@ function StatusDot({
1811
2162
  title,
1812
2163
  className
1813
2164
  }) {
1814
- return /* @__PURE__ */ jsx18(
2165
+ return /* @__PURE__ */ jsx23(
1815
2166
  "span",
1816
2167
  {
1817
2168
  "aria-hidden": ariaLabel ? void 0 : true,
@@ -1829,13 +2180,13 @@ function StatusDot({
1829
2180
 
1830
2181
  // src/components/switch/switch.tsx
1831
2182
  import { Switch as SwitchPrimitive } from "radix-ui";
1832
- import { jsx as jsx19 } from "react/jsx-runtime";
2183
+ import { jsx as jsx24 } from "react/jsx-runtime";
1833
2184
  function Switch({
1834
2185
  className,
1835
2186
  size = "default",
1836
2187
  ...props
1837
2188
  }) {
1838
- return /* @__PURE__ */ jsx19(
2189
+ return /* @__PURE__ */ jsx24(
1839
2190
  SwitchPrimitive.Root,
1840
2191
  {
1841
2192
  "data-slot": "switch",
@@ -1845,7 +2196,7 @@ function Switch({
1845
2196
  className
1846
2197
  ),
1847
2198
  ...props,
1848
- children: /* @__PURE__ */ jsx19(
2199
+ children: /* @__PURE__ */ jsx24(
1849
2200
  SwitchPrimitive.Thumb,
1850
2201
  {
1851
2202
  "data-slot": "switch-thumb",
@@ -1857,9 +2208,9 @@ function Switch({
1857
2208
  }
1858
2209
 
1859
2210
  // src/components/textarea/textarea.tsx
1860
- import { jsx as jsx20 } from "react/jsx-runtime";
2211
+ import { jsx as jsx25 } from "react/jsx-runtime";
1861
2212
  function Textarea({ className, ...props }) {
1862
- return /* @__PURE__ */ jsx20(
2213
+ return /* @__PURE__ */ jsx25(
1863
2214
  "textarea",
1864
2215
  {
1865
2216
  "data-slot": "textarea",
@@ -1873,12 +2224,18 @@ function Textarea({ className, ...props }) {
1873
2224
  }
1874
2225
 
1875
2226
  // src/components/toast/toast.tsx
1876
- import * as React4 from "react";
2227
+ import * as React5 from "react";
1877
2228
  import { Toast as ToastPrimitive } from "radix-ui";
1878
- import { cva as cva4 } from "class-variance-authority";
1879
- import { jsx as jsx21, jsxs as jsxs8 } from "react/jsx-runtime";
1880
- var ToastProvider = ToastPrimitive.Provider;
1881
- var ToastVisualContext = React4.createContext(null);
2229
+ import { cva as cva5 } from "class-variance-authority";
2230
+ import { jsx as jsx26, jsxs as jsxs10 } from "react/jsx-runtime";
2231
+ var toastDefaultDurationMs = 3e3;
2232
+ function ToastProvider({
2233
+ duration = toastDefaultDurationMs,
2234
+ ...props
2235
+ }) {
2236
+ return /* @__PURE__ */ jsx26(ToastPrimitive.Provider, { duration, ...props });
2237
+ }
2238
+ var ToastVisualContext = React5.createContext(null);
1882
2239
  var toastStatusIconByVariant = {
1883
2240
  destructive: FailedFilledIcon,
1884
2241
  success: SuccessFilledIcon
@@ -1902,13 +2259,13 @@ function formatToastText(children) {
1902
2259
  if (typeof children === "string") {
1903
2260
  return stripToastTrailingSentencePunctuation(children);
1904
2261
  }
1905
- const flatChildren = React4.Children.toArray(children);
2262
+ const flatChildren = React5.Children.toArray(children);
1906
2263
  if (flatChildren.length === 1 && typeof flatChildren[0] === "string") {
1907
2264
  return stripToastTrailingSentencePunctuation(flatChildren[0]);
1908
2265
  }
1909
2266
  return children;
1910
2267
  }
1911
- var toastVariants = cva4(
2268
+ var toastVariants = cva5(
1912
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",
1913
2270
  {
1914
2271
  variants: {
@@ -1934,7 +2291,7 @@ function ToastRoot({
1934
2291
  ...props
1935
2292
  }) {
1936
2293
  const isDestructive = variant === "destructive";
1937
- return /* @__PURE__ */ jsx21(
2294
+ return /* @__PURE__ */ jsx26(
1938
2295
  ToastPrimitive.Root,
1939
2296
  {
1940
2297
  "aria-busy": busy,
@@ -1951,7 +2308,7 @@ function ToastRoot({
1951
2308
  ...style
1952
2309
  },
1953
2310
  ...props,
1954
- children: /* @__PURE__ */ jsx21(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx21("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 }) })
1955
2312
  }
1956
2313
  );
1957
2314
  }
@@ -1960,9 +2317,9 @@ function ToastTitle({
1960
2317
  children,
1961
2318
  ...props
1962
2319
  }) {
1963
- const toastVisual = React4.useContext(ToastVisualContext);
2320
+ const toastVisual = React5.useContext(ToastVisualContext);
1964
2321
  const StatusIcon = toastVisual?.variant && hasToastStatusIcon(toastVisual.variant) ? toastStatusIconByVariant[toastVisual.variant] : null;
1965
- return /* @__PURE__ */ jsxs8(
2322
+ return /* @__PURE__ */ jsxs10(
1966
2323
  ToastPrimitive.Title,
1967
2324
  {
1968
2325
  "data-slot": "toast-title",
@@ -1972,16 +2329,16 @@ function ToastTitle({
1972
2329
  ),
1973
2330
  ...props,
1974
2331
  children: [
1975
- toastVisual?.busy ? /* @__PURE__ */ jsx21(
2332
+ toastVisual?.busy ? /* @__PURE__ */ jsx26(
1976
2333
  Spinner,
1977
2334
  {
1978
2335
  className: "shrink-0 text-current",
1979
2336
  size: 16,
1980
- strokeWidth: 3,
2337
+ strokeWidth: 2,
1981
2338
  trackColor: "color-mix(in srgb, currentColor 28%, transparent)"
1982
2339
  }
1983
- ) : StatusIcon ? /* @__PURE__ */ jsx21(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
1984
- /* @__PURE__ */ jsx21("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) })
1985
2342
  ]
1986
2343
  }
1987
2344
  );
@@ -1990,7 +2347,7 @@ function ToastDescription({
1990
2347
  className,
1991
2348
  ...props
1992
2349
  }) {
1993
- return /* @__PURE__ */ jsx21(
2350
+ return /* @__PURE__ */ jsx26(
1994
2351
  ToastPrimitive.Description,
1995
2352
  {
1996
2353
  "data-slot": "toast-description",
@@ -2006,7 +2363,7 @@ function ToastClose({
2006
2363
  className,
2007
2364
  ...props
2008
2365
  }) {
2009
- return /* @__PURE__ */ jsx21(
2366
+ return /* @__PURE__ */ jsx26(
2010
2367
  ToastPrimitive.Close,
2011
2368
  {
2012
2369
  "data-slot": "toast-close",
@@ -2015,7 +2372,7 @@ function ToastClose({
2015
2372
  className
2016
2373
  ),
2017
2374
  ...props,
2018
- children: /* @__PURE__ */ jsx21(CloseIcon, { className: "size-4" })
2375
+ children: /* @__PURE__ */ jsx26(CloseIcon, { className: "size-4" })
2019
2376
  }
2020
2377
  );
2021
2378
  }
@@ -2024,7 +2381,7 @@ function ToastViewport({
2024
2381
  style,
2025
2382
  ...props
2026
2383
  }) {
2027
- return /* @__PURE__ */ jsx21(
2384
+ return /* @__PURE__ */ jsx26(
2028
2385
  ToastPrimitive.Viewport,
2029
2386
  {
2030
2387
  "data-slot": "toast-viewport",
@@ -2040,12 +2397,12 @@ function ToastViewport({
2040
2397
 
2041
2398
  // src/components/tooltip/tooltip.tsx
2042
2399
  import { Tooltip as TooltipPrimitive } from "radix-ui";
2043
- import { jsx as jsx22 } from "react/jsx-runtime";
2400
+ import { jsx as jsx27 } from "react/jsx-runtime";
2044
2401
  function TooltipProvider({
2045
2402
  delayDuration = 0,
2046
2403
  ...props
2047
2404
  }) {
2048
- return /* @__PURE__ */ jsx22(
2405
+ return /* @__PURE__ */ jsx27(
2049
2406
  TooltipPrimitive.Provider,
2050
2407
  {
2051
2408
  "data-slot": "tooltip-provider",
@@ -2057,25 +2414,26 @@ function TooltipProvider({
2057
2414
  function Tooltip({
2058
2415
  ...props
2059
2416
  }) {
2060
- return /* @__PURE__ */ jsx22(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2417
+ return /* @__PURE__ */ jsx27(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2061
2418
  }
2062
2419
  function TooltipTrigger({
2063
2420
  ...props
2064
2421
  }) {
2065
- return /* @__PURE__ */ jsx22(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2422
+ return /* @__PURE__ */ jsx27(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2066
2423
  }
2067
2424
  function TooltipPortal({
2068
2425
  ...props
2069
2426
  }) {
2070
- return /* @__PURE__ */ jsx22(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
2427
+ return /* @__PURE__ */ jsx27(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
2071
2428
  }
2072
2429
  function TooltipContent({
2073
2430
  className,
2074
2431
  sideOffset = 8,
2075
2432
  children,
2433
+ style,
2076
2434
  ...props
2077
2435
  }) {
2078
- return /* @__PURE__ */ jsx22(TooltipPortal, { children: /* @__PURE__ */ jsx22(
2436
+ return /* @__PURE__ */ jsx27(TooltipPortal, { children: /* @__PURE__ */ jsx27(
2079
2437
  TooltipPrimitive.Content,
2080
2438
  {
2081
2439
  "data-slot": "tooltip-content",
@@ -2084,7 +2442,7 @@ function TooltipContent({
2084
2442
  "z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-2 rounded-md border border-[var(--border-1)] bg-[var(--background-fronted)] px-2 py-1 text-sm leading-[1.3] text-popover-foreground shadow-soft outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
2085
2443
  className
2086
2444
  ),
2087
- style: { zIndex: "var(--z-popover)" },
2445
+ style: { zIndex: "var(--z-tooltip)", ...style },
2088
2446
  ...props,
2089
2447
  children
2090
2448
  }
@@ -2092,8 +2450,8 @@ function TooltipContent({
2092
2450
  }
2093
2451
 
2094
2452
  // src/components/underline-tabs/underline-tabs.tsx
2095
- import { useEffect as useEffect3, useLayoutEffect as useLayoutEffect2, useRef as useRef2, useState as useState3 } from "react";
2096
- import { jsx as jsx23, jsxs as jsxs9 } 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";
2097
2455
  function UnderlineTabs({
2098
2456
  tabs,
2099
2457
  value,
@@ -2108,15 +2466,15 @@ function UnderlineTabs({
2108
2466
  scrollRightTestId,
2109
2467
  preventMouseDownDefault = false
2110
2468
  }) {
2111
- const viewportRef = useRef2(null);
2112
- const rowRef = useRef2(null);
2113
- const buttonRefs = useRef2({});
2469
+ const viewportRef = useRef3(null);
2470
+ const rowRef = useRef3(null);
2471
+ const buttonRefs = useRef3({});
2114
2472
  const [indicatorStyle, setIndicatorStyle] = useState3({ left: 0, width: 0 });
2115
2473
  const [overflow, setOverflow] = useState3({
2116
2474
  canScrollLeft: false,
2117
2475
  canScrollRight: false
2118
2476
  });
2119
- useLayoutEffect2(() => {
2477
+ useLayoutEffect3(() => {
2120
2478
  const row = rowRef.current;
2121
2479
  const button = buttonRefs.current[value];
2122
2480
  if (!row || !button) {
@@ -2176,7 +2534,7 @@ function UnderlineTabs({
2176
2534
  behavior: "smooth"
2177
2535
  });
2178
2536
  };
2179
- return /* @__PURE__ */ jsxs9(
2537
+ return /* @__PURE__ */ jsxs11(
2180
2538
  "div",
2181
2539
  {
2182
2540
  "aria-label": ariaLabel,
@@ -2188,7 +2546,7 @@ function UnderlineTabs({
2188
2546
  "data-testid": testId,
2189
2547
  role: "tablist",
2190
2548
  children: [
2191
- /* @__PURE__ */ jsx23(
2549
+ /* @__PURE__ */ jsx28(
2192
2550
  "div",
2193
2551
  {
2194
2552
  ref: viewportRef,
@@ -2202,7 +2560,7 @@ function UnderlineTabs({
2202
2560
  "data-can-scroll-right": overflow.canScrollRight ? "true" : "false",
2203
2561
  "data-slot": "underline-tabs-viewport",
2204
2562
  "data-testid": viewportTestId,
2205
- children: /* @__PURE__ */ jsxs9(
2563
+ children: /* @__PURE__ */ jsxs11(
2206
2564
  "div",
2207
2565
  {
2208
2566
  ref: rowRef,
@@ -2210,7 +2568,7 @@ function UnderlineTabs({
2210
2568
  children: [
2211
2569
  tabs.map((tab) => {
2212
2570
  const isActive = value === tab.value;
2213
- return /* @__PURE__ */ jsxs9(
2571
+ return /* @__PURE__ */ jsxs11(
2214
2572
  "button",
2215
2573
  {
2216
2574
  ref: (element) => {
@@ -2223,7 +2581,7 @@ function UnderlineTabs({
2223
2581
  "aria-selected": isActive,
2224
2582
  className: cn(
2225
2583
  "relative inline-flex h-6 shrink-0 items-center gap-1.5 whitespace-nowrap border-0 bg-transparent p-0 text-[13px] font-semibold leading-6 text-[var(--text-secondary)] transition-colors hover:text-[var(--text-primary)] focus-visible:outline-none",
2226
- isActive && "text-primary"
2584
+ isActive && "text-[var(--accent)]"
2227
2585
  ),
2228
2586
  "data-active": isActive ? "true" : "false",
2229
2587
  "data-slot": "underline-tabs-tab",
@@ -2233,18 +2591,18 @@ function UnderlineTabs({
2233
2591
  onClick: () => onValueChange(tab.value),
2234
2592
  onMouseDown: preventMouseDownDefault ? (event) => event.preventDefault() : void 0,
2235
2593
  children: [
2236
- /* @__PURE__ */ jsx23("span", { children: tab.label }),
2237
- tab.count !== void 0 ? /* @__PURE__ */ jsx23("span", { className: "text-xs font-semibold leading-6 text-[inherit] opacity-[0.58]", 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
2238
2596
  ]
2239
2597
  },
2240
2598
  tab.value
2241
2599
  );
2242
2600
  }),
2243
- /* @__PURE__ */ jsx23(
2601
+ /* @__PURE__ */ jsx28(
2244
2602
  "div",
2245
2603
  {
2246
2604
  "aria-hidden": true,
2247
- className: "absolute bottom-0 left-0 z-[1] h-0.5 rounded-[1px] bg-primary transition-[transform,width] duration-[220ms] ease-[cubic-bezier(0.4,0,0.2,1)] motion-reduce:transition-none",
2605
+ className: "absolute bottom-0 left-0 z-[1] h-0.5 rounded-[1px] bg-[var(--accent)] transition-[transform,width] duration-[220ms] ease-[cubic-bezier(0.4,0,0.2,1)] motion-reduce:transition-none",
2248
2606
  "data-slot": "underline-tabs-indicator",
2249
2607
  style: {
2250
2608
  transform: `translateX(${indicatorStyle.left}px)`,
@@ -2257,7 +2615,7 @@ function UnderlineTabs({
2257
2615
  )
2258
2616
  }
2259
2617
  ),
2260
- /* @__PURE__ */ jsx23(
2618
+ /* @__PURE__ */ jsx28(
2261
2619
  "button",
2262
2620
  {
2263
2621
  "aria-label": scrollLeftLabel,
@@ -2268,10 +2626,10 @@ function UnderlineTabs({
2268
2626
  disabled: !overflow.canScrollLeft,
2269
2627
  type: "button",
2270
2628
  onClick: () => scrollTabs("left"),
2271
- children: /* @__PURE__ */ jsx23(ArrowLeftIcon, { size: 16 })
2629
+ children: /* @__PURE__ */ jsx28(ArrowLeftIcon, { size: 16 })
2272
2630
  }
2273
2631
  ),
2274
- /* @__PURE__ */ jsx23(
2632
+ /* @__PURE__ */ jsx28(
2275
2633
  "button",
2276
2634
  {
2277
2635
  "aria-label": scrollRightLabel,
@@ -2282,7 +2640,7 @@ function UnderlineTabs({
2282
2640
  disabled: !overflow.canScrollRight,
2283
2641
  type: "button",
2284
2642
  onClick: () => scrollTabs("right"),
2285
- children: /* @__PURE__ */ jsx23(ArrowRightIcon, { size: 16 })
2643
+ children: /* @__PURE__ */ jsx28(ArrowRightIcon, { size: 16 })
2286
2644
  }
2287
2645
  )
2288
2646
  ]
@@ -2291,9 +2649,9 @@ function UnderlineTabs({
2291
2649
  }
2292
2650
 
2293
2651
  // src/components/viewport-menu-surface/viewport-menu-surface.tsx
2294
- import * as React5 from "react";
2652
+ import * as React6 from "react";
2295
2653
  import { createPortal as createPortal2 } from "react-dom";
2296
- import { jsx as jsx24 } from "react/jsx-runtime";
2654
+ import { jsx as jsx29 } from "react/jsx-runtime";
2297
2655
  var VIEWPORT_MENU_PADDING = 12;
2298
2656
  var MENU_BOUNDARY_PADDING = 8;
2299
2657
  function clampMenuCoordinate(origin, size, viewportExtent, padding) {
@@ -2396,7 +2754,7 @@ function assignRef(ref, value) {
2396
2754
  function callHandler(handler, event) {
2397
2755
  handler?.(event);
2398
2756
  }
2399
- var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2757
+ var ViewportMenuSurface = React6.forwardRef(function ViewportMenuSurface2({
2400
2758
  open,
2401
2759
  placement,
2402
2760
  children,
@@ -2412,16 +2770,16 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2412
2770
  className,
2413
2771
  ...rest
2414
2772
  }, forwardedRef) {
2415
- const surfaceRef = React5.useRef(null);
2416
- const [measuredSize, setMeasuredSize] = React5.useState(null);
2417
- const setRefs = React5.useCallback(
2773
+ const surfaceRef = React6.useRef(null);
2774
+ const [measuredSize, setMeasuredSize] = React6.useState(null);
2775
+ const setRefs = React6.useCallback(
2418
2776
  (node) => {
2419
2777
  surfaceRef.current = node;
2420
2778
  assignRef(forwardedRef, node);
2421
2779
  },
2422
2780
  [forwardedRef]
2423
2781
  );
2424
- React5.useLayoutEffect(() => {
2782
+ React6.useLayoutEffect(() => {
2425
2783
  if (!open) {
2426
2784
  setMeasuredSize(null);
2427
2785
  return;
@@ -2445,7 +2803,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2445
2803
  observer.observe(element);
2446
2804
  return () => observer.disconnect();
2447
2805
  }, [open, placement]);
2448
- React5.useEffect(() => {
2806
+ React6.useEffect(() => {
2449
2807
  if (!open) {
2450
2808
  return;
2451
2809
  }
@@ -2502,7 +2860,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2502
2860
  onDismiss,
2503
2861
  open
2504
2862
  ]);
2505
- const resolvedPosition = React5.useMemo(() => {
2863
+ const resolvedPosition = React6.useMemo(() => {
2506
2864
  if (placement.type === "absolute") {
2507
2865
  const boundary2 = resolveMenuBoundaryFromPoint({
2508
2866
  x: placement.left,
@@ -2540,7 +2898,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2540
2898
  return null;
2541
2899
  }
2542
2900
  return createPortal2(
2543
- /* @__PURE__ */ jsx24(
2901
+ /* @__PURE__ */ jsx29(
2544
2902
  MenuSurface,
2545
2903
  {
2546
2904
  ...rest,
@@ -2576,6 +2934,7 @@ var ViewportMenuSurface = React5.forwardRef(function ViewportMenuSurface2({
2576
2934
  export {
2577
2935
  badgeVariants,
2578
2936
  Badge,
2937
+ BareIconButton,
2579
2938
  buttonVariants,
2580
2939
  Button,
2581
2940
  Card,
@@ -2598,6 +2957,16 @@ export {
2598
2957
  DialogDescription,
2599
2958
  ConfirmationDialog,
2600
2959
  DatePicker,
2960
+ Drawer,
2961
+ DrawerTrigger,
2962
+ DrawerPortal,
2963
+ DrawerClose,
2964
+ DrawerOverlay,
2965
+ DrawerContent,
2966
+ DrawerHeader,
2967
+ DrawerFooter,
2968
+ DrawerTitle,
2969
+ DrawerDescription,
2601
2970
  menuSurfaceClassName,
2602
2971
  menuItemClassName,
2603
2972
  menuItemWithIndicatorClassName,
@@ -2647,6 +3016,10 @@ export {
2647
3016
  SelectScrollUpButton,
2648
3017
  SelectScrollDownButton,
2649
3018
  Separator2 as Separator,
3019
+ SectionTabs,
3020
+ ShortcutBadge,
3021
+ toast,
3022
+ Toaster,
2650
3023
  Spinner,
2651
3024
  statusDotVariants,
2652
3025
  StatusDot,
@@ -2667,4 +3040,4 @@ export {
2667
3040
  UnderlineTabs,
2668
3041
  ViewportMenuSurface
2669
3042
  };
2670
- //# sourceMappingURL=chunk-D5Y4OBKX.js.map
3043
+ //# sourceMappingURL=chunk-YSWPZLZ4.js.map