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