@sarunyu/system-one 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +426 -290
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +427 -291
- package/dist/index.js.map +1 -1
- package/dist/src/components/chip.d.ts +13 -0
- package/dist/src/components/chip.d.ts.map +1 -0
- package/dist/src/components/date-input.d.ts.map +1 -1
- package/dist/src/components/dropdown-multiple.d.ts.map +1 -1
- package/dist/src/components/dropdown.d.ts.map +1 -1
- package/dist/src/components/input.d.ts.map +1 -1
- package/dist/src/components/option-list.d.ts.map +1 -1
- package/dist/src/components/search-input.d.ts.map +1 -1
- package/dist/src/components/tab.d.ts +5 -0
- package/dist/src/components/tab.d.ts.map +1 -1
- package/dist/src/components/tag.d.ts +21 -0
- package/dist/src/components/tag.d.ts.map +1 -0
- package/dist/src/components/textarea.d.ts.map +1 -1
- package/dist/src/components/time-input.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +6 -4
package/dist/index.js
CHANGED
|
@@ -3,63 +3,77 @@ import * as React from "react";
|
|
|
3
3
|
import React__default, { forwardRef, useState, useCallback, useRef, useEffect, useMemo, useLayoutEffect } from "react";
|
|
4
4
|
import { clsx } from "clsx";
|
|
5
5
|
import { twMerge } from "tailwind-merge";
|
|
6
|
-
import { Lock, CalendarBlank, MapPin, Users, Minus,
|
|
6
|
+
import { Lock, CalendarBlank, MapPin, Users, Minus, CaretLeft, CaretRight, CaretDoubleLeft, CaretDoubleRight, CaretUp, CaretDown, Check, X, MagnifyingGlass, Circle, Clock } from "@phosphor-icons/react";
|
|
7
7
|
import { DayPicker, useNavigation } from "react-day-picker";
|
|
8
8
|
import * as Popover from "@radix-ui/react-popover";
|
|
9
|
-
import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from "lucide-react";
|
|
10
9
|
import { Drawer as Drawer$1 } from "vaul";
|
|
11
10
|
function cn(...inputs) {
|
|
12
11
|
return twMerge(clsx(inputs));
|
|
13
12
|
}
|
|
14
13
|
const labelIconSizeClass = {
|
|
15
|
-
xs: "
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
xs: "h-4 w-4",
|
|
15
|
+
// 16px
|
|
16
|
+
sm: "h-4.5 w-4.5",
|
|
17
|
+
// ~18px
|
|
18
|
+
md: "h-4.5 w-4.5",
|
|
19
|
+
lg: "h-5 w-5",
|
|
20
|
+
// 20px
|
|
21
|
+
xl: "h-5 w-5"
|
|
20
22
|
};
|
|
21
23
|
const gapClass = {
|
|
22
|
-
xs: "gap-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
xs: "gap-0.5",
|
|
25
|
+
// 2px
|
|
26
|
+
sm: "gap-0.5",
|
|
27
|
+
md: "gap-0.5",
|
|
28
|
+
lg: "gap-1",
|
|
29
|
+
// 4px
|
|
30
|
+
xl: "gap-1"
|
|
27
31
|
};
|
|
28
32
|
const textSizeClass = {
|
|
29
|
-
xs: "text-
|
|
30
|
-
sm: "text-
|
|
31
|
-
md: "text-
|
|
32
|
-
lg: "text-
|
|
33
|
-
xl: "text-
|
|
33
|
+
xs: "text-xs leading-4",
|
|
34
|
+
sm: "text-sm leading-5",
|
|
35
|
+
md: "text-sm leading-5",
|
|
36
|
+
lg: "text-sm leading-5",
|
|
37
|
+
xl: "text-sm leading-5"
|
|
34
38
|
};
|
|
35
39
|
const roundedLabelClass = {
|
|
36
|
-
xs: "rounded
|
|
37
|
-
sm: "rounded-
|
|
38
|
-
md: "rounded-
|
|
39
|
-
lg: "rounded-
|
|
40
|
-
xl: "rounded-
|
|
40
|
+
xs: "rounded",
|
|
41
|
+
sm: "rounded-md",
|
|
42
|
+
md: "rounded-md",
|
|
43
|
+
lg: "rounded-lg",
|
|
44
|
+
xl: "rounded-lg"
|
|
41
45
|
};
|
|
42
46
|
function getPaddingClasses(size, hasLeft, hasRight) {
|
|
43
47
|
const pyMap = {
|
|
44
|
-
xs: "py-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
xs: "py-1",
|
|
49
|
+
// 4px
|
|
50
|
+
sm: "py-1",
|
|
51
|
+
// 4px
|
|
52
|
+
md: "py-1.5",
|
|
53
|
+
// 6px
|
|
54
|
+
lg: "py-2",
|
|
55
|
+
// 8px
|
|
56
|
+
xl: "py-2.5"
|
|
57
|
+
// 10px
|
|
49
58
|
};
|
|
50
59
|
const pxMap = {
|
|
51
|
-
xs: { l: "pl-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
xs: { l: "pl-1.5", r: "pr-1.5" },
|
|
61
|
+
// 6px
|
|
62
|
+
sm: { l: "pl-2", r: "pr-2" },
|
|
63
|
+
// 8px
|
|
64
|
+
md: { l: "pl-2.5", r: "pr-2.5" },
|
|
65
|
+
// 10px
|
|
66
|
+
lg: { l: "pl-3.5", r: "pr-3.5" },
|
|
67
|
+
// 14px
|
|
68
|
+
xl: { l: "pl-4", r: "pr-4" }
|
|
69
|
+
// 16px
|
|
56
70
|
};
|
|
57
71
|
const reducedMap = {
|
|
58
|
-
xs: { l: "pl-
|
|
59
|
-
sm: { l: "pl-
|
|
60
|
-
md: { l: "pl-
|
|
61
|
-
lg: { l: "pl-
|
|
62
|
-
xl: { l: "pl-
|
|
72
|
+
xs: { l: "pl-1.5", r: "pr-1.5" },
|
|
73
|
+
sm: { l: "pl-1.5", r: "pr-1.5" },
|
|
74
|
+
md: { l: "pl-2", r: "pr-2" },
|
|
75
|
+
lg: { l: "pl-2.5", r: "pr-2.5" },
|
|
76
|
+
xl: { l: "pl-3", r: "pr-3" }
|
|
63
77
|
};
|
|
64
78
|
return [
|
|
65
79
|
hasLeft ? reducedMap[size].l : pxMap[size].l,
|
|
@@ -68,11 +82,11 @@ function getPaddingClasses(size, hasLeft, hasRight) {
|
|
|
68
82
|
];
|
|
69
83
|
}
|
|
70
84
|
const iconSizeSpec = {
|
|
71
|
-
"icon-xs": { btn: "
|
|
72
|
-
"icon-sm": { btn: "
|
|
73
|
-
"icon-md": { btn: "
|
|
74
|
-
"icon-lg": { btn: "
|
|
75
|
-
"icon-xl": { btn: "
|
|
85
|
+
"icon-xs": { btn: "h-6 w-6", icon: 16, rounded: "rounded" },
|
|
86
|
+
"icon-sm": { btn: "h-7 w-7", icon: 18, rounded: "rounded-md" },
|
|
87
|
+
"icon-md": { btn: "h-8 w-8", icon: 18, rounded: "rounded-md" },
|
|
88
|
+
"icon-lg": { btn: "h-9 w-9", icon: 20, rounded: "rounded-lg" },
|
|
89
|
+
"icon-xl": { btn: "h-10 w-10", icon: 20, rounded: "rounded-lg" }
|
|
76
90
|
};
|
|
77
91
|
function getVariantClasses(variant, isDisabled) {
|
|
78
92
|
if (isDisabled) {
|
|
@@ -81,14 +95,14 @@ function getVariantClasses(variant, isDisabled) {
|
|
|
81
95
|
return "bg-disabled-bg text-disabled cursor-not-allowed";
|
|
82
96
|
}
|
|
83
97
|
if (variant === "outline")
|
|
84
|
-
return "bg-
|
|
98
|
+
return "bg-background text-primary-action border border-border hover:bg-hover-bg active:bg-disabled-bg";
|
|
85
99
|
if (variant === "plain")
|
|
86
100
|
return "bg-transparent text-primary-action hover:bg-hover-bg active:bg-disabled-bg";
|
|
87
101
|
if (variant === "outline-black")
|
|
88
|
-
return "bg-
|
|
102
|
+
return "bg-background text-foreground border border-border hover:bg-hover-bg";
|
|
89
103
|
if (variant === "plain-black")
|
|
90
104
|
return "bg-transparent text-foreground hover:bg-hover-bg";
|
|
91
|
-
return "bg-primary-action text-
|
|
105
|
+
return "bg-primary-action text-on-primary-action hover:bg-primary-action-hover active:bg-primary-action-active";
|
|
92
106
|
}
|
|
93
107
|
const Button = forwardRef(function Button2({
|
|
94
108
|
size = "md",
|
|
@@ -124,7 +138,7 @@ const Button = forwardRef(function Button2({
|
|
|
124
138
|
} : onPointerLeave;
|
|
125
139
|
const variantClasses = getVariantClasses(variant, isDisabled);
|
|
126
140
|
const cursorClass = isDisabled ? "cursor-not-allowed" : "cursor-pointer";
|
|
127
|
-
const baseClasses = "inline-flex items-center justify-center font-
|
|
141
|
+
const baseClasses = "inline-flex items-center justify-center font-medium whitespace-nowrap transition-colors duration-150 select-none";
|
|
128
142
|
if (isIconOnly) {
|
|
129
143
|
const spec = iconSizeSpec[size];
|
|
130
144
|
return /* @__PURE__ */ jsx(
|
|
@@ -258,8 +272,8 @@ const Card = forwardRef(function Card2({
|
|
|
258
272
|
className
|
|
259
273
|
}, ref) {
|
|
260
274
|
const widthClass = variant === "desktop" ? "w-[308px]" : variant === "tablet" ? "w-[224px]" : "w-[163px]";
|
|
261
|
-
const padding = variant === "desktop" ? "p-
|
|
262
|
-
const titleGap = variant === "desktop" ? "gap-
|
|
275
|
+
const padding = variant === "desktop" ? "p-4" : variant === "tablet" ? "p-3" : "p-2.5";
|
|
276
|
+
const titleGap = variant === "desktop" ? "gap-1.5" : "gap-1";
|
|
263
277
|
const bannerClass = variant === "desktop" ? "h-[173px]" : "aspect-video w-full";
|
|
264
278
|
const tag = tagConfig[tagStatus];
|
|
265
279
|
const bannerSrc = image ?? imgBanner;
|
|
@@ -269,7 +283,7 @@ const Card = forwardRef(function Card2({
|
|
|
269
283
|
ref,
|
|
270
284
|
className: cn(
|
|
271
285
|
"flex min-h-[120px] flex-col items-start overflow-clip rounded-[8px]",
|
|
272
|
-
"shadow-
|
|
286
|
+
"shadow-card",
|
|
273
287
|
widthClass,
|
|
274
288
|
className
|
|
275
289
|
),
|
|
@@ -303,49 +317,49 @@ const Card = forwardRef(function Card2({
|
|
|
303
317
|
}
|
|
304
318
|
)
|
|
305
319
|
] }),
|
|
306
|
-
/* @__PURE__ */ jsx("div", { className: cn("w-full shrink-0 bg-
|
|
307
|
-
/* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-
|
|
320
|
+
/* @__PURE__ */ jsx("div", { className: cn("w-full shrink-0 bg-card", padding), children: /* @__PURE__ */ jsxs("div", { className: cn("flex w-full flex-col items-start", titleGap), children: [
|
|
321
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-1", children: [
|
|
308
322
|
/* @__PURE__ */ jsx(
|
|
309
323
|
"p",
|
|
310
324
|
{
|
|
311
325
|
className: cn(
|
|
312
|
-
"line-clamp-2 w-full overflow-hidden text-ellipsis text-
|
|
326
|
+
"line-clamp-2 w-full overflow-hidden text-ellipsis text-sm leading-5 text-foreground"
|
|
313
327
|
),
|
|
314
328
|
children: title
|
|
315
329
|
}
|
|
316
330
|
),
|
|
317
|
-
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-
|
|
318
|
-
/* @__PURE__ */ jsxs("div", { className: "flex h-[22px] shrink-0 items-center gap-
|
|
331
|
+
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-2", children: [
|
|
332
|
+
/* @__PURE__ */ jsxs("div", { className: "flex h-[22px] shrink-0 items-center gap-1", children: [
|
|
319
333
|
/* @__PURE__ */ jsx(CalendarIcon, {}),
|
|
320
|
-
/* @__PURE__ */ jsx("p", { className: "whitespace-nowrap text-
|
|
334
|
+
/* @__PURE__ */ jsx("p", { className: "whitespace-nowrap text-xs leading-4 text-accent-orange", children: date })
|
|
321
335
|
] }),
|
|
322
336
|
/* @__PURE__ */ jsx("div", { className: "h-[14px] w-px shrink-0 bg-border" }),
|
|
323
337
|
/* @__PURE__ */ jsx(
|
|
324
338
|
"p",
|
|
325
339
|
{
|
|
326
340
|
className: cn(
|
|
327
|
-
"min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-
|
|
341
|
+
"min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-xs leading-4 text-subtle-text"
|
|
328
342
|
),
|
|
329
343
|
children: time
|
|
330
344
|
}
|
|
331
345
|
)
|
|
332
346
|
] }),
|
|
333
|
-
showLocation && /* @__PURE__ */ jsxs("div", { className: "flex h-[22px] w-full items-center gap-
|
|
347
|
+
showLocation && /* @__PURE__ */ jsxs("div", { className: "flex h-[22px] w-full items-center gap-1", children: [
|
|
334
348
|
/* @__PURE__ */ jsx(LocationIcon, {}),
|
|
335
349
|
/* @__PURE__ */ jsx(
|
|
336
350
|
"p",
|
|
337
351
|
{
|
|
338
352
|
className: cn(
|
|
339
|
-
"min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-
|
|
353
|
+
"min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-xs leading-4 text-subtle-text"
|
|
340
354
|
),
|
|
341
355
|
children: location
|
|
342
356
|
}
|
|
343
357
|
)
|
|
344
358
|
] }),
|
|
345
|
-
showAudience && /* @__PURE__ */ jsxs("div", { className: "flex h-[22px] w-full items-center gap-
|
|
359
|
+
showAudience && /* @__PURE__ */ jsxs("div", { className: "flex h-[22px] w-full items-center gap-1", children: [
|
|
346
360
|
/* @__PURE__ */ jsx(AudienceIcon, {}),
|
|
347
|
-
/* @__PURE__ */ jsx("p", { className: "shrink-0 whitespace-nowrap text-
|
|
348
|
-
/* @__PURE__ */ jsx("p", { className: "shrink-0 whitespace-nowrap text-
|
|
361
|
+
/* @__PURE__ */ jsx("p", { className: "shrink-0 whitespace-nowrap text-xs leading-4 text-subtle-text", children: "ผู้เข้าร่วม" }),
|
|
362
|
+
/* @__PURE__ */ jsx("p", { className: "shrink-0 whitespace-nowrap text-xs leading-4 text-primary-action", children: count })
|
|
349
363
|
] })
|
|
350
364
|
] }),
|
|
351
365
|
/* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-start", children: /* @__PURE__ */ jsx(
|
|
@@ -562,7 +576,7 @@ function CustomCaption({
|
|
|
562
576
|
type: "button",
|
|
563
577
|
className: NAV_BTN_CLASS,
|
|
564
578
|
onClick: () => setYearRangeStart((s) => s - 12),
|
|
565
|
-
children: /* @__PURE__ */ jsx(
|
|
579
|
+
children: /* @__PURE__ */ jsx(CaretLeft, { size: 16, className: "text-primary-action" })
|
|
566
580
|
}
|
|
567
581
|
);
|
|
568
582
|
rightNav = /* @__PURE__ */ jsx(
|
|
@@ -571,7 +585,7 @@ function CustomCaption({
|
|
|
571
585
|
type: "button",
|
|
572
586
|
className: NAV_BTN_CLASS,
|
|
573
587
|
onClick: () => setYearRangeStart((s) => s + 12),
|
|
574
|
-
children: /* @__PURE__ */ jsx(
|
|
588
|
+
children: /* @__PURE__ */ jsx(CaretRight, { size: 16, className: "text-primary-action" })
|
|
575
589
|
}
|
|
576
590
|
);
|
|
577
591
|
} else if (view === "months") {
|
|
@@ -581,7 +595,7 @@ function CustomCaption({
|
|
|
581
595
|
type: "button",
|
|
582
596
|
className: NAV_BTN_CLASS,
|
|
583
597
|
onClick: () => setPickerYear((y) => y - 1),
|
|
584
|
-
children: /* @__PURE__ */ jsx(
|
|
598
|
+
children: /* @__PURE__ */ jsx(CaretLeft, { size: 16, className: "text-primary-action" })
|
|
585
599
|
}
|
|
586
600
|
);
|
|
587
601
|
rightNav = /* @__PURE__ */ jsx(
|
|
@@ -590,7 +604,7 @@ function CustomCaption({
|
|
|
590
604
|
type: "button",
|
|
591
605
|
className: NAV_BTN_CLASS,
|
|
592
606
|
onClick: () => setPickerYear((y) => y + 1),
|
|
593
|
-
children: /* @__PURE__ */ jsx(
|
|
607
|
+
children: /* @__PURE__ */ jsx(CaretRight, { size: 16, className: "text-primary-action" })
|
|
594
608
|
}
|
|
595
609
|
);
|
|
596
610
|
} else if (isDrawerRange) {
|
|
@@ -601,7 +615,7 @@ function CustomCaption({
|
|
|
601
615
|
type: "button",
|
|
602
616
|
className: NAV_BTN_CLASS,
|
|
603
617
|
onClick: handlePrevYear,
|
|
604
|
-
children: /* @__PURE__ */ jsx(
|
|
618
|
+
children: /* @__PURE__ */ jsx(CaretDoubleLeft, { size: 16, className: "text-primary-action" })
|
|
605
619
|
}
|
|
606
620
|
),
|
|
607
621
|
/* @__PURE__ */ jsx(
|
|
@@ -610,7 +624,7 @@ function CustomCaption({
|
|
|
610
624
|
type: "button",
|
|
611
625
|
className: NAV_BTN_CLASS,
|
|
612
626
|
onClick: () => previousMonth && goToMonth(previousMonth),
|
|
613
|
-
children: /* @__PURE__ */ jsx(
|
|
627
|
+
children: /* @__PURE__ */ jsx(CaretLeft, { size: 16, className: "text-primary-action" })
|
|
614
628
|
}
|
|
615
629
|
)
|
|
616
630
|
] });
|
|
@@ -621,7 +635,7 @@ function CustomCaption({
|
|
|
621
635
|
type: "button",
|
|
622
636
|
className: NAV_BTN_CLASS,
|
|
623
637
|
onClick: () => nextMonth && goToMonth(nextMonth),
|
|
624
|
-
children: /* @__PURE__ */ jsx(
|
|
638
|
+
children: /* @__PURE__ */ jsx(CaretRight, { size: 16, className: "text-primary-action" })
|
|
625
639
|
}
|
|
626
640
|
),
|
|
627
641
|
/* @__PURE__ */ jsx(
|
|
@@ -630,7 +644,7 @@ function CustomCaption({
|
|
|
630
644
|
type: "button",
|
|
631
645
|
className: NAV_BTN_CLASS,
|
|
632
646
|
onClick: handleNextYear,
|
|
633
|
-
children: /* @__PURE__ */ jsx(
|
|
647
|
+
children: /* @__PURE__ */ jsx(CaretDoubleRight, { size: 16, className: "text-primary-action" })
|
|
634
648
|
}
|
|
635
649
|
)
|
|
636
650
|
] });
|
|
@@ -644,7 +658,7 @@ function CustomCaption({
|
|
|
644
658
|
className: NAV_BTN_CLASS,
|
|
645
659
|
onClick: handlePrevYear,
|
|
646
660
|
children: /* @__PURE__ */ jsx(
|
|
647
|
-
|
|
661
|
+
CaretDoubleLeft,
|
|
648
662
|
{
|
|
649
663
|
size: 16,
|
|
650
664
|
className: "text-primary-action"
|
|
@@ -658,7 +672,7 @@ function CustomCaption({
|
|
|
658
672
|
type: "button",
|
|
659
673
|
className: NAV_BTN_CLASS,
|
|
660
674
|
onClick: () => previousMonth && goToMonth(previousMonth),
|
|
661
|
-
children: /* @__PURE__ */ jsx(
|
|
675
|
+
children: /* @__PURE__ */ jsx(CaretLeft, { size: 16, className: "text-primary-action" })
|
|
662
676
|
}
|
|
663
677
|
)
|
|
664
678
|
] });
|
|
@@ -672,7 +686,7 @@ function CustomCaption({
|
|
|
672
686
|
className: NAV_BTN_CLASS,
|
|
673
687
|
onClick: () => nextMonth && goToMonth(nextMonth),
|
|
674
688
|
children: /* @__PURE__ */ jsx(
|
|
675
|
-
|
|
689
|
+
CaretRight,
|
|
676
690
|
{
|
|
677
691
|
size: 16,
|
|
678
692
|
className: "text-primary-action"
|
|
@@ -687,7 +701,7 @@ function CustomCaption({
|
|
|
687
701
|
className: NAV_BTN_CLASS,
|
|
688
702
|
onClick: handleNextYear,
|
|
689
703
|
children: /* @__PURE__ */ jsx(
|
|
690
|
-
|
|
704
|
+
CaretDoubleRight,
|
|
691
705
|
{
|
|
692
706
|
size: 16,
|
|
693
707
|
className: "text-primary-action"
|
|
@@ -701,7 +715,7 @@ function CustomCaption({
|
|
|
701
715
|
const now = /* @__PURE__ */ new Date();
|
|
702
716
|
const gridBtnClass = (active, isToday, isItemDisabled = false) => cn(
|
|
703
717
|
"py-[10px] text-[13px] rounded-[6px] border-0 outline-none transition-colors",
|
|
704
|
-
isItemDisabled ? "bg-disabled-bg text-disabled cursor-not-allowed" : active ? "bg-primary-action text-
|
|
718
|
+
isItemDisabled ? "bg-disabled-bg text-disabled cursor-not-allowed" : active ? "bg-primary-action text-on-primary-action cursor-pointer" : isToday ? "bg-primary-action-muted text-primary-action cursor-pointer" : "bg-transparent text-foreground hover:bg-disabled-bg cursor-pointer"
|
|
705
719
|
);
|
|
706
720
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
707
721
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between pt-1 mb-2", children: [
|
|
@@ -720,7 +734,7 @@ function CustomCaption({
|
|
|
720
734
|
view === "months" && /* @__PURE__ */ jsx(
|
|
721
735
|
"div",
|
|
722
736
|
{
|
|
723
|
-
className: "absolute left-0 right-0 z-10 bg-
|
|
737
|
+
className: "absolute left-0 right-0 z-10 bg-background grid grid-cols-3 gap-1 p-2 content-center",
|
|
724
738
|
style: { top: "42px", bottom: "0" },
|
|
725
739
|
children: THAI_MONTHS_SHORT.map((name, i) => {
|
|
726
740
|
const isCurrent = pickerYear === displayMonth.getFullYear() && i === displayMonth.getMonth();
|
|
@@ -744,7 +758,7 @@ function CustomCaption({
|
|
|
744
758
|
view === "years" && /* @__PURE__ */ jsx(
|
|
745
759
|
"div",
|
|
746
760
|
{
|
|
747
|
-
className: "absolute left-0 right-0 z-10 bg-
|
|
761
|
+
className: "absolute left-0 right-0 z-10 bg-background grid grid-cols-3 gap-1 p-2 content-center",
|
|
748
762
|
style: { top: "42px", bottom: "0" },
|
|
749
763
|
children: Array.from({ length: 12 }, (_, i) => {
|
|
750
764
|
const year = yearRangeStart + i;
|
|
@@ -809,9 +823,9 @@ const DAY_PICKER_CLASSES = {
|
|
|
809
823
|
"hover:bg-disabled-bg transition-colors duration-100",
|
|
810
824
|
"outline-none aria-selected:opacity-100 p-0"
|
|
811
825
|
),
|
|
812
|
-
day_range_start: "day-range-start !bg-primary-action !text-
|
|
813
|
-
day_range_end: "day-range-end !bg-primary-action !text-
|
|
814
|
-
day_selected: "!bg-primary-action text-
|
|
826
|
+
day_range_start: "day-range-start !bg-primary-action !text-on-primary-action !rounded-l-[6px] !rounded-r-none",
|
|
827
|
+
day_range_end: "day-range-end !bg-primary-action !text-on-primary-action !rounded-r-[6px] !rounded-l-none",
|
|
828
|
+
day_selected: "!bg-primary-action text-on-primary-action hover:!bg-primary-action focus:!bg-primary-action rounded-[6px]",
|
|
815
829
|
day_today: "[&:not([aria-selected=true])]:!bg-primary-action-light [&:not([aria-selected=true])]:text-foreground rounded-[6px]",
|
|
816
830
|
day_outside: "day-outside text-disabled opacity-50 aria-selected:bg-transparent aria-selected:opacity-30",
|
|
817
831
|
day_disabled: "text-disabled opacity-50 cursor-not-allowed",
|
|
@@ -1112,7 +1126,7 @@ const DateInput = forwardRef(
|
|
|
1112
1126
|
const isError = state === "error";
|
|
1113
1127
|
const isFocus = state === "focus";
|
|
1114
1128
|
const isFilled = mode === "single" ? Boolean(currentDate) : Boolean(currentRange == null ? void 0 : currentRange.from);
|
|
1115
|
-
const bgClass = isDisabled ? "bg-disabled-bg" : "bg-
|
|
1129
|
+
const bgClass = isDisabled ? "bg-disabled-bg" : "bg-background";
|
|
1116
1130
|
const labelColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
1117
1131
|
const valueColor = isDisabled ? "var(--disabled)" : "var(--foreground)";
|
|
1118
1132
|
const iconColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
@@ -1176,30 +1190,37 @@ const DateInput = forwardRef(
|
|
|
1176
1190
|
const valueRow = mode === "single" && currentDate ? /* @__PURE__ */ jsx(
|
|
1177
1191
|
"p",
|
|
1178
1192
|
{
|
|
1179
|
-
className: "leading-[20px] not-italic relative
|
|
1193
|
+
className: "leading-[20px] not-italic relative text-[16px] w-full min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",
|
|
1180
1194
|
style: { color: valueColor },
|
|
1181
1195
|
children: formatThaiDate(currentDate)
|
|
1182
1196
|
}
|
|
1183
|
-
) : mode === "range" && (currentRange == null ? void 0 : currentRange.from) ? /* @__PURE__ */ jsxs("div", { className: "flex gap-[8px] items-center relative
|
|
1197
|
+
) : mode === "range" && (currentRange == null ? void 0 : currentRange.from) ? /* @__PURE__ */ jsxs("div", { className: "flex gap-[8px] items-center relative w-full min-w-0", children: [
|
|
1184
1198
|
/* @__PURE__ */ jsx(
|
|
1185
1199
|
"p",
|
|
1186
1200
|
{
|
|
1187
|
-
className: "leading-[20px] not-italic relative
|
|
1201
|
+
className: "leading-[20px] not-italic relative text-[16px] min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap",
|
|
1188
1202
|
style: { color: valueColor },
|
|
1189
1203
|
children: formatThaiDate(currentRange.from)
|
|
1190
1204
|
}
|
|
1191
1205
|
),
|
|
1192
|
-
/* @__PURE__ */ jsx(
|
|
1206
|
+
/* @__PURE__ */ jsx(
|
|
1207
|
+
Minus,
|
|
1208
|
+
{
|
|
1209
|
+
size: 20,
|
|
1210
|
+
color: minusColor,
|
|
1211
|
+
className: "shrink-0"
|
|
1212
|
+
}
|
|
1213
|
+
),
|
|
1193
1214
|
/* @__PURE__ */ jsx(
|
|
1194
1215
|
"p",
|
|
1195
1216
|
{
|
|
1196
|
-
className: "leading-[20px] not-italic relative
|
|
1217
|
+
className: "leading-[20px] not-italic relative text-[16px] min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap",
|
|
1197
1218
|
style: { color: valueColor },
|
|
1198
1219
|
children: currentRange.to ? formatThaiDate(currentRange.to) : "..."
|
|
1199
1220
|
}
|
|
1200
1221
|
)
|
|
1201
1222
|
] }) : null;
|
|
1202
|
-
return /* @__PURE__ */ jsxs("div", { className: "content-stretch flex flex-1 flex-col items-center justify-center min-h-px min-w-
|
|
1223
|
+
return /* @__PURE__ */ jsxs("div", { className: "content-stretch flex flex-1 flex-col items-center justify-center min-h-px min-w-0 overflow-hidden relative w-full", children: [
|
|
1203
1224
|
floatingLabel,
|
|
1204
1225
|
valueRow
|
|
1205
1226
|
] });
|
|
@@ -1259,13 +1280,13 @@ const DateInput = forwardRef(
|
|
|
1259
1280
|
)
|
|
1260
1281
|
] });
|
|
1261
1282
|
const triggerBaseClasses = cn(
|
|
1262
|
-
"relative flex gap-
|
|
1283
|
+
"relative flex gap-2 items-center rounded-lg min-w-0",
|
|
1263
1284
|
bgClass,
|
|
1264
|
-
"px-
|
|
1265
|
-
isFilled ? "py-
|
|
1285
|
+
"px-3.5",
|
|
1286
|
+
isFilled ? "py-1.5" : "py-3",
|
|
1266
1287
|
"w-full"
|
|
1267
1288
|
);
|
|
1268
|
-
const belowMessage = showBelow && /* @__PURE__ */ jsx("div", { className: "flex items-start px-
|
|
1289
|
+
const belowMessage = showBelow && /* @__PURE__ */ jsx("div", { className: "flex items-start px-1 text-xs leading-4", children: /* @__PURE__ */ jsx(
|
|
1269
1290
|
"span",
|
|
1270
1291
|
{
|
|
1271
1292
|
className: "flex-1 min-w-0",
|
|
@@ -1350,7 +1371,10 @@ const DateInput = forwardRef(
|
|
|
1350
1371
|
{
|
|
1351
1372
|
type: "button",
|
|
1352
1373
|
disabled: isDisabled,
|
|
1353
|
-
className: cn(
|
|
1374
|
+
className: cn(
|
|
1375
|
+
triggerBaseClasses,
|
|
1376
|
+
"text-left cursor-pointer disabled:cursor-default"
|
|
1377
|
+
),
|
|
1354
1378
|
children: triggerInner
|
|
1355
1379
|
}
|
|
1356
1380
|
);
|
|
@@ -1391,9 +1415,9 @@ const DateInput = forwardRef(
|
|
|
1391
1415
|
{
|
|
1392
1416
|
align: "start",
|
|
1393
1417
|
sideOffset: 4,
|
|
1394
|
-
className: "z-50 rounded-[8px] bg-
|
|
1418
|
+
className: "z-50 rounded-[8px] bg-popover p-3 outline-none text-popover-foreground",
|
|
1395
1419
|
style: {
|
|
1396
|
-
boxShadow: "
|
|
1420
|
+
boxShadow: "var(--elevation-popover)",
|
|
1397
1421
|
border: "1px solid var(--border)"
|
|
1398
1422
|
},
|
|
1399
1423
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
@@ -1413,12 +1437,6 @@ const DateInput = forwardRef(
|
|
|
1413
1437
|
}
|
|
1414
1438
|
);
|
|
1415
1439
|
DateInput.displayName = "DateInput";
|
|
1416
|
-
function ChevronDownIcon$1({ className }) {
|
|
1417
|
-
return /* @__PURE__ */ jsx("svg", { width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", className, children: /* @__PURE__ */ jsx("path", { d: "M7 9L11 13L15 9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
1418
|
-
}
|
|
1419
|
-
function ChevronUpIcon$1({ className }) {
|
|
1420
|
-
return /* @__PURE__ */ jsx("svg", { width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", className, children: /* @__PURE__ */ jsx("path", { d: "M7 13L11 9L15 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
1421
|
-
}
|
|
1422
1440
|
const Dropdown = forwardRef(
|
|
1423
1441
|
({
|
|
1424
1442
|
placeholder = "Text label",
|
|
@@ -1446,7 +1464,7 @@ const Dropdown = forwardRef(
|
|
|
1446
1464
|
const state = forceState ?? (open ? "focus" : "default");
|
|
1447
1465
|
const isError = state === "error";
|
|
1448
1466
|
const isFocus = state === "focus";
|
|
1449
|
-
const bg = isDisabled ? "bg-disabled-bg" : "bg-
|
|
1467
|
+
const bg = isDisabled ? "bg-disabled-bg" : "bg-background";
|
|
1450
1468
|
const labelColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
1451
1469
|
const filledColor = isDisabled ? "var(--disabled)" : "var(--foreground)";
|
|
1452
1470
|
const caretClassName = isDisabled ? "text-disabled" : "text-muted-foreground";
|
|
@@ -1507,17 +1525,17 @@ const Dropdown = forwardRef(
|
|
|
1507
1525
|
if (typeof ref === "function") ref(node);
|
|
1508
1526
|
else if (ref) ref.current = node;
|
|
1509
1527
|
},
|
|
1510
|
-
className: cn("flex flex-col gap-
|
|
1528
|
+
className: cn("flex flex-col gap-1 w-full", className),
|
|
1511
1529
|
children: [
|
|
1512
|
-
label && /* @__PURE__ */ jsx("div", { className: "relative shrink-0 w-full", children: /* @__PURE__ */ jsx("div", { className: "flex items-start px-
|
|
1530
|
+
label && /* @__PURE__ */ jsx("div", { className: "relative shrink-0 w-full", children: /* @__PURE__ */ jsx("div", { className: "flex items-start px-1 w-full", children: /* @__PURE__ */ jsx("p", { className: "leading-5 not-italic relative shrink-0 text-foreground text-sm font-bold whitespace-nowrap", children: label }) }) }),
|
|
1513
1531
|
/* @__PURE__ */ jsxs(
|
|
1514
1532
|
"div",
|
|
1515
1533
|
{
|
|
1516
1534
|
onClick: handleToggle,
|
|
1517
1535
|
className: cn(
|
|
1518
|
-
"relative flex gap-
|
|
1536
|
+
"relative flex gap-2 items-center rounded-lg px-3.5",
|
|
1519
1537
|
bg,
|
|
1520
|
-
hasExternalLabel ? "h-[38px]" : isFilled && !open ? "py-
|
|
1538
|
+
hasExternalLabel ? "h-[38px]" : isFilled && !open ? "py-1.5" : "p-3.5",
|
|
1521
1539
|
!isDisabled && !forceState && "cursor-pointer"
|
|
1522
1540
|
),
|
|
1523
1541
|
children: [
|
|
@@ -1542,7 +1560,7 @@ const Dropdown = forwardRef(
|
|
|
1542
1560
|
onChange: (e) => setSearch(e.target.value),
|
|
1543
1561
|
onKeyDown: handleInputKeyDown,
|
|
1544
1562
|
placeholder: isFilled ? selectedLabel : placeholder + (required ? " *" : ""),
|
|
1545
|
-
className: "flex-1 min-w-0 min-h-[1px] text-
|
|
1563
|
+
className: "flex-1 min-w-0 min-h-[1px] text-sm leading-5 not-italic bg-transparent outline-none border-none p-0 m-0 placeholder:text-disabled",
|
|
1546
1564
|
style: {
|
|
1547
1565
|
color: filledColor,
|
|
1548
1566
|
caretColor: "var(--caret-color)"
|
|
@@ -1593,7 +1611,7 @@ const Dropdown = forwardRef(
|
|
|
1593
1611
|
onChange: (e) => setSearch(e.target.value),
|
|
1594
1612
|
onKeyDown: handleInputKeyDown,
|
|
1595
1613
|
placeholder: placeholder + (required ? " *" : ""),
|
|
1596
|
-
className: "flex-1 min-w-0 min-h-[1px] text-
|
|
1614
|
+
className: "flex-1 min-w-0 min-h-[1px] text-base leading-5 not-italic bg-transparent outline-none border-none p-0 m-0 placeholder:text-muted-foreground",
|
|
1597
1615
|
style: {
|
|
1598
1616
|
color: "var(--foreground)",
|
|
1599
1617
|
caretColor: "var(--caret-color)"
|
|
@@ -1609,7 +1627,7 @@ const Dropdown = forwardRef(
|
|
|
1609
1627
|
/* @__PURE__ */ jsxs(
|
|
1610
1628
|
"p",
|
|
1611
1629
|
{
|
|
1612
|
-
className: "flex-1 min-w-0 min-h-[1px] leading-
|
|
1630
|
+
className: "flex-1 min-w-0 min-h-[1px] leading-5 not-italic text-sm overflow-hidden text-ellipsis whitespace-nowrap",
|
|
1613
1631
|
style: { color: filledColor },
|
|
1614
1632
|
children: [
|
|
1615
1633
|
selectedLabel,
|
|
@@ -1623,7 +1641,7 @@ const Dropdown = forwardRef(
|
|
|
1623
1641
|
/* @__PURE__ */ jsxs(
|
|
1624
1642
|
"p",
|
|
1625
1643
|
{
|
|
1626
|
-
className: "shrink-0 w-full leading-
|
|
1644
|
+
className: "shrink-0 w-full leading-4 not-italic text-xs",
|
|
1627
1645
|
style: { color: labelColor },
|
|
1628
1646
|
children: [
|
|
1629
1647
|
placeholder,
|
|
@@ -1634,7 +1652,7 @@ const Dropdown = forwardRef(
|
|
|
1634
1652
|
/* @__PURE__ */ jsx(
|
|
1635
1653
|
"p",
|
|
1636
1654
|
{
|
|
1637
|
-
className: "w-full leading-
|
|
1655
|
+
className: "w-full leading-5 not-italic text-sm min-w-0 min-h-[1px]",
|
|
1638
1656
|
style: { color: filledColor },
|
|
1639
1657
|
children: selectedLabel
|
|
1640
1658
|
}
|
|
@@ -1647,7 +1665,7 @@ const Dropdown = forwardRef(
|
|
|
1647
1665
|
/* @__PURE__ */ jsx(
|
|
1648
1666
|
"p",
|
|
1649
1667
|
{
|
|
1650
|
-
className: "leading-
|
|
1668
|
+
className: "leading-5 not-italic text-base whitespace-nowrap",
|
|
1651
1669
|
style: { color: labelColor },
|
|
1652
1670
|
children: placeholder
|
|
1653
1671
|
}
|
|
@@ -1655,7 +1673,7 @@ const Dropdown = forwardRef(
|
|
|
1655
1673
|
/* @__PURE__ */ jsx(
|
|
1656
1674
|
"p",
|
|
1657
1675
|
{
|
|
1658
|
-
className: "leading-
|
|
1676
|
+
className: "leading-4 not-italic text-xs w-[7px]",
|
|
1659
1677
|
style: { color: isDisabled ? "var(--disabled)" : "var(--error-dark)" },
|
|
1660
1678
|
children: "*"
|
|
1661
1679
|
}
|
|
@@ -1663,13 +1681,13 @@ const Dropdown = forwardRef(
|
|
|
1663
1681
|
] }) : /* @__PURE__ */ jsx(
|
|
1664
1682
|
"p",
|
|
1665
1683
|
{
|
|
1666
|
-
className: "flex-1 min-w-0 min-h-[1px] text-
|
|
1684
|
+
className: "flex-1 min-w-0 min-h-[1px] text-base leading-5 not-italic overflow-hidden text-ellipsis whitespace-nowrap",
|
|
1667
1685
|
style: { color: labelColor },
|
|
1668
1686
|
children: placeholder
|
|
1669
1687
|
}
|
|
1670
1688
|
)
|
|
1671
1689
|
),
|
|
1672
|
-
isFocus ? /* @__PURE__ */ jsx(
|
|
1690
|
+
isFocus ? /* @__PURE__ */ jsx(CaretUp, { size: 22, className: cn("shrink-0", caretClassName) }) : /* @__PURE__ */ jsx(CaretDown, { size: 22, className: cn("shrink-0", caretClassName) })
|
|
1673
1691
|
]
|
|
1674
1692
|
}
|
|
1675
1693
|
),
|
|
@@ -1677,11 +1695,11 @@ const Dropdown = forwardRef(
|
|
|
1677
1695
|
"div",
|
|
1678
1696
|
{
|
|
1679
1697
|
className: cn(
|
|
1680
|
-
"relative bg-
|
|
1698
|
+
"relative bg-popover rounded-lg overflow-clip p-2 z-20 flex flex-col items-start text-popover-foreground",
|
|
1681
1699
|
filteredOptions.length > 10 && "overflow-y-auto"
|
|
1682
1700
|
),
|
|
1683
1701
|
style: {
|
|
1684
|
-
boxShadow: "
|
|
1702
|
+
boxShadow: "var(--elevation-popover)",
|
|
1685
1703
|
...filteredOptions.length > 10 ? { maxHeight: 10 * 48 + 16 } : {}
|
|
1686
1704
|
},
|
|
1687
1705
|
children: filteredOptions.length > 0 ? filteredOptions.map((opt) => /* @__PURE__ */ jsx(
|
|
@@ -1690,13 +1708,13 @@ const Dropdown = forwardRef(
|
|
|
1690
1708
|
onClick: () => handleSelect(opt.value),
|
|
1691
1709
|
className: cn(
|
|
1692
1710
|
"w-full shrink-0 rounded-[4px] cursor-pointer transition-colors duration-100",
|
|
1693
|
-
opt.value === currentValue ? "bg-primary-action-light" : "bg-
|
|
1711
|
+
opt.value === currentValue ? "bg-primary-action-light" : "bg-popover hover:bg-disabled-bg"
|
|
1694
1712
|
),
|
|
1695
|
-
children: /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsx("div", { className: "flex items-center p-
|
|
1713
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsx("div", { className: "flex items-center p-3.5 relative w-full", children: /* @__PURE__ */ jsx(
|
|
1696
1714
|
"p",
|
|
1697
1715
|
{
|
|
1698
1716
|
className: cn(
|
|
1699
|
-
"flex-1 min-w-0 min-h-[1px] leading-
|
|
1717
|
+
"flex-1 min-w-0 min-h-[1px] leading-5 not-italic overflow-hidden text-sm text-ellipsis whitespace-nowrap",
|
|
1700
1718
|
opt.value === currentValue ? "text-primary-action" : "text-foreground"
|
|
1701
1719
|
),
|
|
1702
1720
|
children: opt.label
|
|
@@ -1704,7 +1722,7 @@ const Dropdown = forwardRef(
|
|
|
1704
1722
|
) }) })
|
|
1705
1723
|
},
|
|
1706
1724
|
opt.value
|
|
1707
|
-
)) : /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 bg-
|
|
1725
|
+
)) : /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 bg-popover", children: /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsx("div", { className: "flex items-center p-[14px] relative w-full", children: /* @__PURE__ */ jsx("p", { className: "flex-1 min-w-0 min-h-[1px] leading-[20px] not-italic text-[14px] text-disabled", children: "No results found" }) }) }) })
|
|
1708
1726
|
}
|
|
1709
1727
|
),
|
|
1710
1728
|
showBelow && /* @__PURE__ */ jsx("div", { className: "flex items-start px-[4px] text-[12px] leading-[16px]", children: /* @__PURE__ */ jsx("span", { className: "flex-1 min-w-0", style: { color: leftColor }, children: leftText }) })
|
|
@@ -1716,34 +1734,6 @@ const Dropdown = forwardRef(
|
|
|
1716
1734
|
Dropdown.displayName = "Dropdown";
|
|
1717
1735
|
const TAG_GAP = 4;
|
|
1718
1736
|
const MAX_COMPONENT_WIDTH = 343;
|
|
1719
|
-
function ChevronDownIcon({ className }) {
|
|
1720
|
-
return /* @__PURE__ */ jsx("svg", { width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", className, children: /* @__PURE__ */ jsx("path", { d: "M7 9L11 13L15 9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
1721
|
-
}
|
|
1722
|
-
function ChevronUpIcon({ className }) {
|
|
1723
|
-
return /* @__PURE__ */ jsx("svg", { width: "22", height: "22", viewBox: "0 0 22 22", fill: "none", className, children: /* @__PURE__ */ jsx("path", { d: "M7 13L11 9L15 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
|
|
1724
|
-
}
|
|
1725
|
-
function XIcon({ color = "var(--muted-foreground)" }) {
|
|
1726
|
-
return /* @__PURE__ */ jsx(
|
|
1727
|
-
"svg",
|
|
1728
|
-
{
|
|
1729
|
-
width: "12",
|
|
1730
|
-
height: "12",
|
|
1731
|
-
viewBox: "0 0 12 12",
|
|
1732
|
-
fill: "none",
|
|
1733
|
-
className: "shrink-0",
|
|
1734
|
-
children: /* @__PURE__ */ jsx(
|
|
1735
|
-
"path",
|
|
1736
|
-
{
|
|
1737
|
-
d: "M9 3L3 9M3 3L9 9",
|
|
1738
|
-
stroke: color,
|
|
1739
|
-
strokeWidth: "1.5",
|
|
1740
|
-
strokeLinecap: "round",
|
|
1741
|
-
strokeLinejoin: "round"
|
|
1742
|
-
}
|
|
1743
|
-
)
|
|
1744
|
-
}
|
|
1745
|
-
);
|
|
1746
|
-
}
|
|
1747
1737
|
function RemovableTag({
|
|
1748
1738
|
label,
|
|
1749
1739
|
disabled,
|
|
@@ -1777,8 +1767,16 @@ function RemovableTag({
|
|
|
1777
1767
|
e.stopPropagation();
|
|
1778
1768
|
onRemove();
|
|
1779
1769
|
},
|
|
1780
|
-
className: "absolute right-[4px] top-1/2 -translate-y-1/2 flex items-center justify-center rounded-[2px] p-[1px] cursor-pointer opacity-0 group-hover:opacity-100 transition-all duration-150 bg-
|
|
1781
|
-
children: /* @__PURE__ */ jsx(
|
|
1770
|
+
className: "absolute right-[4px] top-1/2 -translate-y-1/2 flex items-center justify-center rounded-[2px] p-[1px] cursor-pointer opacity-0 group-hover:opacity-100 transition-all duration-150 bg-surface-clear-hover",
|
|
1771
|
+
children: /* @__PURE__ */ jsx(
|
|
1772
|
+
X,
|
|
1773
|
+
{
|
|
1774
|
+
size: 12,
|
|
1775
|
+
weight: "bold",
|
|
1776
|
+
color: iconColor,
|
|
1777
|
+
className: "shrink-0"
|
|
1778
|
+
}
|
|
1779
|
+
)
|
|
1782
1780
|
}
|
|
1783
1781
|
)
|
|
1784
1782
|
]
|
|
@@ -1811,7 +1809,7 @@ function OverflowBadge({
|
|
|
1811
1809
|
count,
|
|
1812
1810
|
disabled
|
|
1813
1811
|
}) {
|
|
1814
|
-
const bg = disabled ? "bg-
|
|
1812
|
+
const bg = disabled ? "bg-surface-chip-disabled" : "bg-selected-bg";
|
|
1815
1813
|
const textColor = disabled ? "var(--disabled)" : "var(--primary-action)";
|
|
1816
1814
|
return /* @__PURE__ */ jsx(
|
|
1817
1815
|
"div",
|
|
@@ -1834,28 +1832,6 @@ function OverflowBadge({
|
|
|
1834
1832
|
}
|
|
1835
1833
|
);
|
|
1836
1834
|
}
|
|
1837
|
-
function CheckIcon$1(props) {
|
|
1838
|
-
return /* @__PURE__ */ jsx(
|
|
1839
|
-
"svg",
|
|
1840
|
-
{
|
|
1841
|
-
width: "10",
|
|
1842
|
-
height: "8",
|
|
1843
|
-
viewBox: "0 0 10 8",
|
|
1844
|
-
fill: "none",
|
|
1845
|
-
...props,
|
|
1846
|
-
children: /* @__PURE__ */ jsx(
|
|
1847
|
-
"path",
|
|
1848
|
-
{
|
|
1849
|
-
d: "M1 4L3.5 6.5L9 1",
|
|
1850
|
-
stroke: "currentColor",
|
|
1851
|
-
strokeWidth: "1.5",
|
|
1852
|
-
strokeLinecap: "round",
|
|
1853
|
-
strokeLinejoin: "round"
|
|
1854
|
-
}
|
|
1855
|
-
)
|
|
1856
|
-
}
|
|
1857
|
-
);
|
|
1858
|
-
}
|
|
1859
1835
|
function useChipLayout(selectedOptions, measureRef, containerRef) {
|
|
1860
1836
|
const [layout, setLayout] = useState({
|
|
1861
1837
|
visibleCount: selectedOptions.length,
|
|
@@ -1944,7 +1920,7 @@ const DropdownMultiple = forwardRef(
|
|
|
1944
1920
|
const state = forceState ?? (open ? "focus" : "default");
|
|
1945
1921
|
const isError = state === "error";
|
|
1946
1922
|
const isFocus = state === "focus";
|
|
1947
|
-
const bg = isDisabled ? "bg-disabled-bg" : "bg-
|
|
1923
|
+
const bg = isDisabled ? "bg-disabled-bg" : "bg-background";
|
|
1948
1924
|
const labelColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
1949
1925
|
const caretColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
1950
1926
|
const borderInset = isFocus || isError ? "-1px" : "0px";
|
|
@@ -2026,7 +2002,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2026
2002
|
/* @__PURE__ */ jsx(
|
|
2027
2003
|
"p",
|
|
2028
2004
|
{
|
|
2029
|
-
className: "shrink-0 leading-
|
|
2005
|
+
className: "shrink-0 leading-4 not-italic text-xs",
|
|
2030
2006
|
style: { color: labelColor },
|
|
2031
2007
|
children: placeholder
|
|
2032
2008
|
}
|
|
@@ -2044,7 +2020,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2044
2020
|
] }) : /* @__PURE__ */ jsx(
|
|
2045
2021
|
"p",
|
|
2046
2022
|
{
|
|
2047
|
-
className: "shrink-0 w-full leading-
|
|
2023
|
+
className: "shrink-0 w-full leading-4 not-italic text-xs",
|
|
2048
2024
|
style: { color: labelColor },
|
|
2049
2025
|
children: placeholder
|
|
2050
2026
|
}
|
|
@@ -2053,7 +2029,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2053
2029
|
/* @__PURE__ */ jsx(
|
|
2054
2030
|
"p",
|
|
2055
2031
|
{
|
|
2056
|
-
className: "leading-
|
|
2032
|
+
className: "leading-5 not-italic text-base whitespace-nowrap",
|
|
2057
2033
|
style: { color: labelColor },
|
|
2058
2034
|
children: placeholder
|
|
2059
2035
|
}
|
|
@@ -2061,7 +2037,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2061
2037
|
/* @__PURE__ */ jsx(
|
|
2062
2038
|
"p",
|
|
2063
2039
|
{
|
|
2064
|
-
className: "leading-
|
|
2040
|
+
className: "leading-4 not-italic text-xs w-[7px]",
|
|
2065
2041
|
style: { color: isDisabled ? "var(--disabled)" : "var(--error-dark)" },
|
|
2066
2042
|
children: "*"
|
|
2067
2043
|
}
|
|
@@ -2069,7 +2045,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2069
2045
|
] }) : /* @__PURE__ */ jsx(
|
|
2070
2046
|
"p",
|
|
2071
2047
|
{
|
|
2072
|
-
className: "flex-1 min-w-0 min-h-[1px] text-
|
|
2048
|
+
className: "flex-1 min-w-0 min-h-[1px] text-base leading-5 not-italic overflow-hidden text-ellipsis whitespace-nowrap py-[7px]",
|
|
2073
2049
|
style: { color: labelColor },
|
|
2074
2050
|
children: placeholder
|
|
2075
2051
|
}
|
|
@@ -2079,7 +2055,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2079
2055
|
{
|
|
2080
2056
|
ref: measureRef,
|
|
2081
2057
|
"aria-hidden": true,
|
|
2082
|
-
className: "absolute flex gap-
|
|
2058
|
+
className: "absolute flex gap-1 items-center pointer-events-none",
|
|
2083
2059
|
style: {
|
|
2084
2060
|
visibility: "hidden",
|
|
2085
2061
|
top: 0,
|
|
@@ -2222,8 +2198,8 @@ const DropdownMultiple = forwardRef(
|
|
|
2222
2198
|
className: cn(
|
|
2223
2199
|
"relative flex gap-[8px] items-center rounded-[8px]",
|
|
2224
2200
|
bg,
|
|
2225
|
-
"px-
|
|
2226
|
-
hasExternalLabel ? "h-
|
|
2201
|
+
"px-3.5",
|
|
2202
|
+
hasExternalLabel ? "h-10" : "py-1 min-h-12",
|
|
2227
2203
|
!isDisabled && !isStatic && "cursor-pointer"
|
|
2228
2204
|
),
|
|
2229
2205
|
children: [
|
|
@@ -2253,16 +2229,16 @@ const DropdownMultiple = forwardRef(
|
|
|
2253
2229
|
)
|
|
2254
2230
|
}
|
|
2255
2231
|
),
|
|
2256
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0", style: { color: caretColor }, children: isFocus ? /* @__PURE__ */ jsx(
|
|
2232
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0", style: { color: caretColor }, children: isFocus ? /* @__PURE__ */ jsx(CaretUp, { size: 22 }) : /* @__PURE__ */ jsx(CaretDown, { size: 22 }) })
|
|
2257
2233
|
]
|
|
2258
2234
|
}
|
|
2259
2235
|
),
|
|
2260
2236
|
open && !isStatic && options.length > 0 && /* @__PURE__ */ jsx(
|
|
2261
2237
|
"div",
|
|
2262
2238
|
{
|
|
2263
|
-
className: "relative bg-
|
|
2239
|
+
className: "relative bg-popover rounded-[8px] overflow-clip p-[8px] z-20 flex flex-col items-start text-popover-foreground",
|
|
2264
2240
|
style: {
|
|
2265
|
-
boxShadow: "
|
|
2241
|
+
boxShadow: "var(--elevation-popover)"
|
|
2266
2242
|
},
|
|
2267
2243
|
children: /* @__PURE__ */ jsx(
|
|
2268
2244
|
"div",
|
|
@@ -2285,7 +2261,7 @@ const DropdownMultiple = forwardRef(
|
|
|
2285
2261
|
},
|
|
2286
2262
|
className: cn(
|
|
2287
2263
|
"w-full shrink-0 rounded-[4px] cursor-pointer transition-colors duration-100",
|
|
2288
|
-
isSelected ? "bg-primary-action-light" : "bg-
|
|
2264
|
+
isSelected ? "bg-primary-action-light" : "bg-popover hover:bg-disabled-bg"
|
|
2289
2265
|
),
|
|
2290
2266
|
children: /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-[8px] p-[14px] relative w-full", children: [
|
|
2291
2267
|
/* @__PURE__ */ jsx(
|
|
@@ -2305,14 +2281,21 @@ const DropdownMultiple = forwardRef(
|
|
|
2305
2281
|
"shrink-0 w-[16px] h-[16px] rounded-[3px] flex items-center justify-center transition-colors duration-100",
|
|
2306
2282
|
"bg-transparent"
|
|
2307
2283
|
),
|
|
2308
|
-
children: isSelected && /* @__PURE__ */ jsx(
|
|
2284
|
+
children: isSelected && /* @__PURE__ */ jsx(
|
|
2285
|
+
Check,
|
|
2286
|
+
{
|
|
2287
|
+
size: 12,
|
|
2288
|
+
weight: "bold",
|
|
2289
|
+
className: "text-primary-action"
|
|
2290
|
+
}
|
|
2291
|
+
)
|
|
2309
2292
|
}
|
|
2310
2293
|
)
|
|
2311
2294
|
] }) })
|
|
2312
2295
|
},
|
|
2313
2296
|
opt.value
|
|
2314
2297
|
);
|
|
2315
|
-
}) : /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 bg-
|
|
2298
|
+
}) : /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 bg-popover", children: /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center size-full", children: /* @__PURE__ */ jsx("div", { className: "flex items-center p-[14px] relative w-full", children: /* @__PURE__ */ jsx("p", { className: "flex-1 min-w-0 min-h-[1px] leading-[20px] not-italic text-[14px] text-disabled", children: "No results found" }) }) }) })
|
|
2316
2299
|
}
|
|
2317
2300
|
)
|
|
2318
2301
|
}
|
|
@@ -2349,6 +2332,7 @@ const Input = forwardRef(function Input2({
|
|
|
2349
2332
|
onFocus: onFocusProp,
|
|
2350
2333
|
onBlur: onBlurProp,
|
|
2351
2334
|
disabled: _disabledProp,
|
|
2335
|
+
maxLength: maxLengthProp,
|
|
2352
2336
|
...inputRest
|
|
2353
2337
|
}, ref) {
|
|
2354
2338
|
const [focused, setFocused] = useState(false);
|
|
@@ -2360,7 +2344,7 @@ const Input = forwardRef(function Input2({
|
|
|
2360
2344
|
const isError = state === "error";
|
|
2361
2345
|
const isFocus = state === "focus";
|
|
2362
2346
|
const isFilled = currentValue.length > 0;
|
|
2363
|
-
const bg = isDisabled ? "bg-disabled-bg" : "bg-
|
|
2347
|
+
const bg = isDisabled ? "bg-disabled-bg" : "bg-background";
|
|
2364
2348
|
const floatLabel = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
2365
2349
|
const filledValue = isDisabled ? "var(--disabled)" : "var(--foreground)";
|
|
2366
2350
|
const unitColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
@@ -2368,14 +2352,19 @@ const Input = forwardRef(function Input2({
|
|
|
2368
2352
|
const borderRad = isFocus || isError ? "9px" : "8px";
|
|
2369
2353
|
const borderColor = isDisabled ? "var(--border-disabled)" : isError ? "var(--destructive)" : isFocus ? "var(--primary-action)" : "var(--border)";
|
|
2370
2354
|
const hasRight = Boolean(rightIcon) || Boolean(unit);
|
|
2371
|
-
const padding = isFilled ? "px-[14px] py-[6px]" : hasRight ? "px-[14px] py-[
|
|
2355
|
+
const padding = isFilled ? "px-[14px] py-[6px]" : hasRight ? "px-[14px] py-[14px]" : "p-[14px]";
|
|
2372
2356
|
const charCount = currentValue.length;
|
|
2373
2357
|
const showBelow = isError || Boolean(helperText) || showCount;
|
|
2374
2358
|
const leftText = isError ? errorMessage : helperText ?? "";
|
|
2375
2359
|
const leftColor = isError ? "var(--destructive)" : "var(--muted-foreground)";
|
|
2376
2360
|
const handleChange = (e) => {
|
|
2377
|
-
if (
|
|
2378
|
-
|
|
2361
|
+
if (isDisabled) return;
|
|
2362
|
+
let next = e.target.value;
|
|
2363
|
+
if (showCount && maxCount >= 0 && next.length > maxCount) {
|
|
2364
|
+
next = next.slice(0, maxCount);
|
|
2365
|
+
}
|
|
2366
|
+
if (!controlled) setInternalValue(next);
|
|
2367
|
+
onChange == null ? void 0 : onChange(next);
|
|
2379
2368
|
};
|
|
2380
2369
|
const handleFocus = (e) => {
|
|
2381
2370
|
onFocusProp == null ? void 0 : onFocusProp(e);
|
|
@@ -2389,12 +2378,12 @@ const Input = forwardRef(function Input2({
|
|
|
2389
2378
|
const inputCaretStyle = {
|
|
2390
2379
|
caretColor: "var(--caret-color)"
|
|
2391
2380
|
};
|
|
2392
|
-
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-
|
|
2381
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col gap-1 w-full", className), children: [
|
|
2393
2382
|
/* @__PURE__ */ jsxs(
|
|
2394
2383
|
"div",
|
|
2395
2384
|
{
|
|
2396
2385
|
className: cn(
|
|
2397
|
-
"relative rounded-
|
|
2386
|
+
"relative rounded-lg",
|
|
2398
2387
|
padding,
|
|
2399
2388
|
bg,
|
|
2400
2389
|
containerFlex
|
|
@@ -2425,14 +2414,15 @@ const Input = forwardRef(function Input2({
|
|
|
2425
2414
|
{
|
|
2426
2415
|
className: cn(
|
|
2427
2416
|
"shrink-0 w-full not-italic",
|
|
2428
|
-
isFilled ? "leading-
|
|
2417
|
+
isFilled ? "leading-4 text-xs" : "text-base leading-5 pointer-events-none"
|
|
2429
2418
|
),
|
|
2430
2419
|
style: { color: floatLabel },
|
|
2431
2420
|
children: [
|
|
2432
2421
|
placeholder,
|
|
2433
|
-
required &&
|
|
2422
|
+
required && /* @__PURE__ */ jsx(
|
|
2434
2423
|
"span",
|
|
2435
2424
|
{
|
|
2425
|
+
className: "text-xs leading-4",
|
|
2436
2426
|
style: {
|
|
2437
2427
|
color: isDisabled ? "var(--disabled)" : "var(--error-dark)"
|
|
2438
2428
|
},
|
|
@@ -2442,7 +2432,7 @@ const Input = forwardRef(function Input2({
|
|
|
2442
2432
|
]
|
|
2443
2433
|
}
|
|
2444
2434
|
),
|
|
2445
|
-
|
|
2435
|
+
/* @__PURE__ */ jsx(
|
|
2446
2436
|
"input",
|
|
2447
2437
|
{
|
|
2448
2438
|
...inputRest,
|
|
@@ -2452,10 +2442,14 @@ const Input = forwardRef(function Input2({
|
|
|
2452
2442
|
onFocus: handleFocus,
|
|
2453
2443
|
onBlur: handleBlur,
|
|
2454
2444
|
disabled: isDisabled,
|
|
2445
|
+
maxLength: showCount ? maxCount : maxLengthProp,
|
|
2455
2446
|
"aria-label": placeholder,
|
|
2456
2447
|
className: cn(
|
|
2457
2448
|
"w-full bg-transparent outline-none border-none min-w-0",
|
|
2458
|
-
isFilled ? "leading-
|
|
2449
|
+
isFilled ? "leading-5 not-italic text-sm p-0 m-0" : cn(
|
|
2450
|
+
"absolute inset-0 h-full text-base",
|
|
2451
|
+
isDisabled ? "cursor-not-allowed" : "cursor-text"
|
|
2452
|
+
)
|
|
2459
2453
|
),
|
|
2460
2454
|
style: isFilled ? { ...inputStyleProp, color: filledValue, ...inputCaretStyle } : {
|
|
2461
2455
|
...inputStyleProp,
|
|
@@ -2483,7 +2477,7 @@ const Input = forwardRef(function Input2({
|
|
|
2483
2477
|
"p",
|
|
2484
2478
|
{
|
|
2485
2479
|
className: cn(
|
|
2486
|
-
"shrink-0 whitespace-nowrap text-[16px]",
|
|
2480
|
+
"shrink-0 whitespace-nowrap text-[16px] leading-[20px]",
|
|
2487
2481
|
!isFilled && "relative"
|
|
2488
2482
|
),
|
|
2489
2483
|
style: {
|
|
@@ -2497,7 +2491,7 @@ const Input = forwardRef(function Input2({
|
|
|
2497
2491
|
]
|
|
2498
2492
|
}
|
|
2499
2493
|
),
|
|
2500
|
-
showBelow && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-
|
|
2494
|
+
showBelow && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2 px-1 text-xs leading-4", children: [
|
|
2501
2495
|
leftText ? /* @__PURE__ */ jsx("span", { className: "flex-1 min-w-0", style: { color: leftColor }, children: leftText }) : showCount && /* @__PURE__ */ jsx("span", { className: "flex-1" }),
|
|
2502
2496
|
showCount && /* @__PURE__ */ jsxs(
|
|
2503
2497
|
"span",
|
|
@@ -2515,28 +2509,6 @@ const Input = forwardRef(function Input2({
|
|
|
2515
2509
|
] });
|
|
2516
2510
|
});
|
|
2517
2511
|
Input.displayName = "Input";
|
|
2518
|
-
function CheckIcon(props) {
|
|
2519
|
-
return /* @__PURE__ */ jsx(
|
|
2520
|
-
"svg",
|
|
2521
|
-
{
|
|
2522
|
-
width: "16",
|
|
2523
|
-
height: "11",
|
|
2524
|
-
viewBox: "0 0 16 11",
|
|
2525
|
-
fill: "none",
|
|
2526
|
-
...props,
|
|
2527
|
-
children: /* @__PURE__ */ jsx(
|
|
2528
|
-
"path",
|
|
2529
|
-
{
|
|
2530
|
-
d: "M1 5.5L5.5 10L15 1",
|
|
2531
|
-
stroke: "currentColor",
|
|
2532
|
-
strokeWidth: "1.5",
|
|
2533
|
-
strokeLinecap: "round",
|
|
2534
|
-
strokeLinejoin: "round"
|
|
2535
|
-
}
|
|
2536
|
-
)
|
|
2537
|
-
}
|
|
2538
|
-
);
|
|
2539
|
-
}
|
|
2540
2512
|
const OptionList = forwardRef(
|
|
2541
2513
|
function OptionList2({
|
|
2542
2514
|
options,
|
|
@@ -2565,17 +2537,17 @@ const OptionList = forwardRef(
|
|
|
2565
2537
|
{
|
|
2566
2538
|
ref,
|
|
2567
2539
|
className: cn(
|
|
2568
|
-
"flex flex-col items-start overflow-clip rounded-
|
|
2540
|
+
"flex flex-col items-start overflow-clip rounded-lg bg-popover px-2 py-2 text-popover-foreground",
|
|
2569
2541
|
className
|
|
2570
2542
|
),
|
|
2571
2543
|
style: {
|
|
2572
|
-
boxShadow: "
|
|
2544
|
+
boxShadow: "var(--elevation-popover)",
|
|
2573
2545
|
...isScrollable ? { maxHeight, overflowY: "auto" } : {}
|
|
2574
2546
|
},
|
|
2575
2547
|
children: options.length > 0 ? options.map((opt) => {
|
|
2576
2548
|
const selected = isSelected(opt.value);
|
|
2577
2549
|
const disabled = opt.disabled === true;
|
|
2578
|
-
const rowBg = disabled ? "bg-disabled-bg" : selected ? "bg-selected-bg" : "bg-
|
|
2550
|
+
const rowBg = disabled ? "bg-disabled-bg" : selected ? "bg-selected-bg" : "bg-popover hover:bg-selected-bg";
|
|
2579
2551
|
return /* @__PURE__ */ jsx(
|
|
2580
2552
|
"div",
|
|
2581
2553
|
{
|
|
@@ -2585,11 +2557,11 @@ const OptionList = forwardRef(
|
|
|
2585
2557
|
rowBg,
|
|
2586
2558
|
disabled ? "cursor-default" : "cursor-pointer"
|
|
2587
2559
|
),
|
|
2588
|
-
children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-
|
|
2560
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-2 p-3.5", children: [
|
|
2589
2561
|
opt.icon && /* @__PURE__ */ jsx(
|
|
2590
2562
|
"span",
|
|
2591
2563
|
{
|
|
2592
|
-
className: "flex
|
|
2564
|
+
className: "flex h-5 w-5 shrink-0 items-center justify-center overflow-clip",
|
|
2593
2565
|
style: {
|
|
2594
2566
|
color: disabled ? "var(--disabled)" : "var(--muted-foreground)"
|
|
2595
2567
|
},
|
|
@@ -2599,19 +2571,26 @@ const OptionList = forwardRef(
|
|
|
2599
2571
|
/* @__PURE__ */ jsx(
|
|
2600
2572
|
"p",
|
|
2601
2573
|
{
|
|
2602
|
-
className: "min-h-[1px] min-w-0 flex-1 overflow-hidden text-
|
|
2574
|
+
className: "min-h-[1px] min-w-0 flex-1 overflow-hidden text-sm leading-5 text-ellipsis whitespace-nowrap not-italic",
|
|
2603
2575
|
style: {
|
|
2604
2576
|
color: disabled ? "var(--disabled)" : "var(--foreground)"
|
|
2605
2577
|
},
|
|
2606
2578
|
children: opt.label
|
|
2607
2579
|
}
|
|
2608
2580
|
),
|
|
2609
|
-
selected && /* @__PURE__ */ jsx("span", { className: "flex
|
|
2581
|
+
selected && /* @__PURE__ */ jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: /* @__PURE__ */ jsx(
|
|
2582
|
+
Check,
|
|
2583
|
+
{
|
|
2584
|
+
size: 16,
|
|
2585
|
+
weight: "bold",
|
|
2586
|
+
className: "text-primary-action"
|
|
2587
|
+
}
|
|
2588
|
+
) })
|
|
2610
2589
|
] })
|
|
2611
2590
|
},
|
|
2612
2591
|
opt.value
|
|
2613
2592
|
);
|
|
2614
|
-
}) : /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 bg-
|
|
2593
|
+
}) : /* @__PURE__ */ jsx("div", { className: "w-full shrink-0 bg-popover", children: /* @__PURE__ */ jsx("div", { className: "flex w-full items-center p-3.5", children: /* @__PURE__ */ jsx("p", { className: "min-h-[1px] min-w-0 flex-1 text-sm leading-5 not-italic text-disabled", children: emptyText }) }) })
|
|
2615
2594
|
}
|
|
2616
2595
|
);
|
|
2617
2596
|
}
|
|
@@ -2633,8 +2612,8 @@ const SearchInput = forwardRef(
|
|
|
2633
2612
|
const currentValue = controlled ? value : internalValue;
|
|
2634
2613
|
const isFilled = currentValue.length > 0;
|
|
2635
2614
|
const iconSize = size === "lg" ? 24 : 22;
|
|
2636
|
-
const minHeight = size === "sm" ? "
|
|
2637
|
-
const padding = size === "sm" ? "px-
|
|
2615
|
+
const minHeight = size === "sm" ? "h-[38px]" : "";
|
|
2616
|
+
const padding = size === "sm" ? "px-3.5 py-2" : "px-3.5 py-3";
|
|
2638
2617
|
const borderInset = focused ? "-1px" : "0px";
|
|
2639
2618
|
const borderRad = focused ? "9px" : "8px";
|
|
2640
2619
|
const borderColor = focused ? "var(--primary-action)" : "var(--border)";
|
|
@@ -2654,7 +2633,7 @@ const SearchInput = forwardRef(
|
|
|
2654
2633
|
{
|
|
2655
2634
|
ref,
|
|
2656
2635
|
className: cn(
|
|
2657
|
-
"relative flex cursor-text items-center gap-
|
|
2636
|
+
"relative flex cursor-text items-center gap-2 rounded-lg bg-background",
|
|
2658
2637
|
padding,
|
|
2659
2638
|
minHeight,
|
|
2660
2639
|
className
|
|
@@ -2680,7 +2659,7 @@ const SearchInput = forwardRef(
|
|
|
2680
2659
|
MagnifyingGlass,
|
|
2681
2660
|
{
|
|
2682
2661
|
size: iconSize,
|
|
2683
|
-
color: "var(--muted-foreground)",
|
|
2662
|
+
color: focused ? "var(--subtle-text)" : "var(--muted-foreground)",
|
|
2684
2663
|
weight: "regular"
|
|
2685
2664
|
}
|
|
2686
2665
|
) }),
|
|
@@ -2688,7 +2667,7 @@ const SearchInput = forwardRef(
|
|
|
2688
2667
|
!isFilled && /* @__PURE__ */ jsx(
|
|
2689
2668
|
"p",
|
|
2690
2669
|
{
|
|
2691
|
-
className: "pointer-events-none absolute inset-0 flex items-center text-
|
|
2670
|
+
className: "pointer-events-none absolute inset-0 flex items-center text-base leading-5 not-italic",
|
|
2692
2671
|
style: { color: "var(--muted-foreground)" },
|
|
2693
2672
|
children: placeholder
|
|
2694
2673
|
}
|
|
@@ -2703,7 +2682,7 @@ const SearchInput = forwardRef(
|
|
|
2703
2682
|
onChange: (e) => handleChange(e.target.value),
|
|
2704
2683
|
onFocus: () => setFocused(true),
|
|
2705
2684
|
onBlur: () => setFocused(false),
|
|
2706
|
-
className: "m-0 w-full border-none bg-transparent p-0 text-
|
|
2685
|
+
className: "m-0 w-full border-none bg-transparent p-0 text-base leading-5 outline-none",
|
|
2707
2686
|
style: {
|
|
2708
2687
|
color: isFilled ? "var(--foreground)" : "transparent",
|
|
2709
2688
|
caretColor: "var(--caret-color)"
|
|
@@ -2737,33 +2716,50 @@ const SearchInput = forwardRef(
|
|
|
2737
2716
|
SearchInput.displayName = "SearchInput";
|
|
2738
2717
|
const sizeClasses = {
|
|
2739
2718
|
lg: {
|
|
2740
|
-
pad: "px-
|
|
2741
|
-
text: "text-
|
|
2742
|
-
leading: "leading-
|
|
2743
|
-
font: "font-bold"
|
|
2719
|
+
pad: "px-3 py-2.5",
|
|
2720
|
+
text: "text-sm",
|
|
2721
|
+
leading: "leading-5",
|
|
2722
|
+
font: "font-bold",
|
|
2723
|
+
gap: "gap-1.5",
|
|
2724
|
+
iconSize: "h-5 w-5",
|
|
2725
|
+
badgeClass: "min-w-[18px] px-[5.5px] text-[length:var(--text-xs)] leading-[var(--leading-4)]"
|
|
2744
2726
|
},
|
|
2745
2727
|
md: {
|
|
2746
|
-
pad: "px-
|
|
2747
|
-
text: "text-
|
|
2748
|
-
leading: "leading-
|
|
2749
|
-
font: "font-bold"
|
|
2728
|
+
pad: "px-2.5 py-2",
|
|
2729
|
+
text: "text-sm",
|
|
2730
|
+
leading: "leading-5",
|
|
2731
|
+
font: "font-bold",
|
|
2732
|
+
gap: "gap-1.5",
|
|
2733
|
+
iconSize: "h-[18px] w-[18px]",
|
|
2734
|
+
badgeClass: "min-w-[18px] px-[5.5px] text-[length:var(--text-xs)] leading-[var(--leading-4)]"
|
|
2750
2735
|
},
|
|
2751
2736
|
sm: {
|
|
2752
|
-
pad: "px-
|
|
2753
|
-
text: "text-
|
|
2754
|
-
leading: "leading-
|
|
2755
|
-
font: "font-semibold"
|
|
2737
|
+
pad: "px-2 py-1.5",
|
|
2738
|
+
text: "text-xs",
|
|
2739
|
+
leading: "leading-4",
|
|
2740
|
+
font: "font-semibold",
|
|
2741
|
+
gap: "gap-1",
|
|
2742
|
+
iconSize: "h-4 w-4",
|
|
2743
|
+
badgeClass: "min-h-[14px] px-1 text-[length:var(--text-xxs)] leading-[var(--leading-3)]"
|
|
2756
2744
|
}
|
|
2757
2745
|
};
|
|
2746
|
+
function DefaultTabIcon({ className }) {
|
|
2747
|
+
return /* @__PURE__ */ jsx(Circle, { "aria-hidden": "true", weight: "regular", className: cn("shrink-0", className) });
|
|
2748
|
+
}
|
|
2758
2749
|
const Tab = forwardRef(function Tab2({
|
|
2759
2750
|
title = "Tab",
|
|
2760
2751
|
size = "md",
|
|
2761
2752
|
active = false,
|
|
2762
2753
|
disabled = false,
|
|
2763
2754
|
onClick,
|
|
2764
|
-
className
|
|
2755
|
+
className,
|
|
2756
|
+
icon,
|
|
2757
|
+
notification
|
|
2765
2758
|
}, ref) {
|
|
2766
2759
|
const s = sizeClasses[size];
|
|
2760
|
+
const hasIcon = Boolean(icon);
|
|
2761
|
+
const hasNotification = notification !== void 0 && notification !== null;
|
|
2762
|
+
const renderedIcon = icon === true ? /* @__PURE__ */ jsx(DefaultTabIcon, { className: s.iconSize }) : icon;
|
|
2767
2763
|
const textColor = disabled ? "text-disabled" : active ? "text-primary-action" : "text-muted-foreground";
|
|
2768
2764
|
const borderColor = active && !disabled ? "border-primary-action" : "border-border";
|
|
2769
2765
|
const cursor = disabled ? "cursor-not-allowed" : "cursor-pointer";
|
|
@@ -2777,8 +2773,9 @@ const Tab = forwardRef(function Tab2({
|
|
|
2777
2773
|
"aria-disabled": disabled,
|
|
2778
2774
|
onClick: !disabled ? onClick : void 0,
|
|
2779
2775
|
className: cn(
|
|
2780
|
-
"relative flex min-w-[80px] select-none items-center justify-center bg-
|
|
2776
|
+
"relative flex min-w-[80px] select-none items-center justify-center bg-background transition-colors duration-150",
|
|
2781
2777
|
s.pad,
|
|
2778
|
+
(hasIcon || hasNotification) && s.gap,
|
|
2782
2779
|
cursor,
|
|
2783
2780
|
hoverBg,
|
|
2784
2781
|
className
|
|
@@ -2794,11 +2791,24 @@ const Tab = forwardRef(function Tab2({
|
|
|
2794
2791
|
)
|
|
2795
2792
|
}
|
|
2796
2793
|
),
|
|
2794
|
+
hasIcon && /* @__PURE__ */ jsx(
|
|
2795
|
+
"span",
|
|
2796
|
+
{
|
|
2797
|
+
"aria-hidden": "true",
|
|
2798
|
+
className: cn(
|
|
2799
|
+
"relative shrink-0",
|
|
2800
|
+
s.iconSize,
|
|
2801
|
+
disabled ? "text-disabled" : active ? "text-primary-action" : "text-muted-foreground"
|
|
2802
|
+
),
|
|
2803
|
+
children: renderedIcon
|
|
2804
|
+
}
|
|
2805
|
+
),
|
|
2797
2806
|
/* @__PURE__ */ jsx(
|
|
2798
2807
|
"span",
|
|
2799
2808
|
{
|
|
2800
2809
|
className: cn(
|
|
2801
2810
|
"relative overflow-hidden text-ellipsis whitespace-nowrap text-center",
|
|
2811
|
+
hasIcon && hasNotification && "flex-1 min-w-px",
|
|
2802
2812
|
s.text,
|
|
2803
2813
|
s.leading,
|
|
2804
2814
|
s.font,
|
|
@@ -2806,6 +2816,16 @@ const Tab = forwardRef(function Tab2({
|
|
|
2806
2816
|
),
|
|
2807
2817
|
children: title
|
|
2808
2818
|
}
|
|
2819
|
+
),
|
|
2820
|
+
hasNotification && /* @__PURE__ */ jsx(
|
|
2821
|
+
"span",
|
|
2822
|
+
{
|
|
2823
|
+
className: cn(
|
|
2824
|
+
"relative flex shrink-0 items-center justify-center rounded-[60px] bg-visual-red-default text-center font-normal text-on-visual-red",
|
|
2825
|
+
s.badgeClass
|
|
2826
|
+
),
|
|
2827
|
+
children: notification
|
|
2828
|
+
}
|
|
2809
2829
|
)
|
|
2810
2830
|
]
|
|
2811
2831
|
}
|
|
@@ -2821,6 +2841,8 @@ const TabGroup = forwardRef(
|
|
|
2821
2841
|
size,
|
|
2822
2842
|
active: item.id === activeId,
|
|
2823
2843
|
disabled: item.disabled,
|
|
2844
|
+
icon: item.icon,
|
|
2845
|
+
notification: item.notification,
|
|
2824
2846
|
onClick: () => onChange == null ? void 0 : onChange(item.id)
|
|
2825
2847
|
},
|
|
2826
2848
|
item.id
|
|
@@ -2828,6 +2850,112 @@ const TabGroup = forwardRef(
|
|
|
2828
2850
|
}
|
|
2829
2851
|
);
|
|
2830
2852
|
TabGroup.displayName = "TabGroup";
|
|
2853
|
+
const sizeStyles = {
|
|
2854
|
+
large: {
|
|
2855
|
+
container: "px-2 py-1",
|
|
2856
|
+
text: "text-xs leading-4",
|
|
2857
|
+
closeIcon: "h-4 w-4",
|
|
2858
|
+
closeButton: "h-4 w-4"
|
|
2859
|
+
},
|
|
2860
|
+
small: {
|
|
2861
|
+
container: "px-1 py-0.5",
|
|
2862
|
+
text: "text-xxs leading-3",
|
|
2863
|
+
closeIcon: "h-3.5 w-3.5",
|
|
2864
|
+
closeButton: "h-3.5 w-3.5"
|
|
2865
|
+
}
|
|
2866
|
+
};
|
|
2867
|
+
const variantStyles = {
|
|
2868
|
+
blue: {
|
|
2869
|
+
bg: "bg-[var(--fill-blue-50)]",
|
|
2870
|
+
text: "text-[var(--fill-blue-700)]"
|
|
2871
|
+
},
|
|
2872
|
+
green: {
|
|
2873
|
+
bg: "bg-[var(--fill-green-100)]",
|
|
2874
|
+
text: "text-[var(--fill-green-600)]"
|
|
2875
|
+
},
|
|
2876
|
+
yellow: {
|
|
2877
|
+
bg: "bg-[var(--fill-yellow-100)]",
|
|
2878
|
+
text: "text-[var(--fill-yellow-600)]"
|
|
2879
|
+
},
|
|
2880
|
+
red: {
|
|
2881
|
+
bg: "bg-[var(--fill-red-100)]",
|
|
2882
|
+
text: "text-[var(--fill-red-600)]"
|
|
2883
|
+
},
|
|
2884
|
+
gray: {
|
|
2885
|
+
bg: "bg-[var(--fill-gray-100)]",
|
|
2886
|
+
text: "text-subtle-text"
|
|
2887
|
+
},
|
|
2888
|
+
lime: {
|
|
2889
|
+
bg: "bg-[var(--fill-lime-100)]",
|
|
2890
|
+
text: "text-[var(--fill-lime-600)]"
|
|
2891
|
+
}
|
|
2892
|
+
};
|
|
2893
|
+
function CircleIcon({ disabled }) {
|
|
2894
|
+
return /* @__PURE__ */ jsx(
|
|
2895
|
+
Circle,
|
|
2896
|
+
{
|
|
2897
|
+
"aria-hidden": "true",
|
|
2898
|
+
weight: "regular",
|
|
2899
|
+
className: "h-3.5 w-3.5 shrink-0",
|
|
2900
|
+
color: disabled ? "var(--disabled)" : "var(--subtle-text)"
|
|
2901
|
+
}
|
|
2902
|
+
);
|
|
2903
|
+
}
|
|
2904
|
+
function CloseIcon({ disabled, className }) {
|
|
2905
|
+
return /* @__PURE__ */ jsx(
|
|
2906
|
+
X,
|
|
2907
|
+
{
|
|
2908
|
+
"aria-hidden": "true",
|
|
2909
|
+
weight: "regular",
|
|
2910
|
+
className: cn("shrink-0", className),
|
|
2911
|
+
color: disabled ? "var(--disabled)" : "var(--subtle-text)"
|
|
2912
|
+
}
|
|
2913
|
+
);
|
|
2914
|
+
}
|
|
2915
|
+
const Tag = forwardRef(function Tag2({
|
|
2916
|
+
text = "Tag",
|
|
2917
|
+
size = "large",
|
|
2918
|
+
state = "default",
|
|
2919
|
+
variant = "gray",
|
|
2920
|
+
icon = false,
|
|
2921
|
+
close = false,
|
|
2922
|
+
className
|
|
2923
|
+
}, ref) {
|
|
2924
|
+
const isDisabled = state === "disabled";
|
|
2925
|
+
const s = sizeStyles[size];
|
|
2926
|
+
const v = variantStyles[variant];
|
|
2927
|
+
const bgClass = state === "disabled" ? "bg-disabled-bg" : state === "hover" ? "bg-hover-bg" : v.bg;
|
|
2928
|
+
const textClass = isDisabled ? "text-disabled" : v.text;
|
|
2929
|
+
return /* @__PURE__ */ jsxs(
|
|
2930
|
+
"div",
|
|
2931
|
+
{
|
|
2932
|
+
ref,
|
|
2933
|
+
className: cn(
|
|
2934
|
+
"inline-flex items-center justify-center rounded-[4px]",
|
|
2935
|
+
(icon || close) && "gap-[2px]",
|
|
2936
|
+
s.container,
|
|
2937
|
+
bgClass,
|
|
2938
|
+
className
|
|
2939
|
+
),
|
|
2940
|
+
children: [
|
|
2941
|
+
icon && /* @__PURE__ */ jsx(CircleIcon, { disabled: isDisabled }),
|
|
2942
|
+
/* @__PURE__ */ jsx("span", { className: cn("whitespace-nowrap font-normal", s.text, textClass), children: text }),
|
|
2943
|
+
close && /* @__PURE__ */ jsx(
|
|
2944
|
+
"span",
|
|
2945
|
+
{
|
|
2946
|
+
className: cn(
|
|
2947
|
+
"inline-flex items-center justify-center rounded-[2px] transition-colors",
|
|
2948
|
+
s.closeButton,
|
|
2949
|
+
!isDisabled && "cursor-pointer hover:bg-black/10"
|
|
2950
|
+
),
|
|
2951
|
+
children: /* @__PURE__ */ jsx(CloseIcon, { disabled: isDisabled, className: s.closeIcon })
|
|
2952
|
+
}
|
|
2953
|
+
)
|
|
2954
|
+
]
|
|
2955
|
+
}
|
|
2956
|
+
);
|
|
2957
|
+
});
|
|
2958
|
+
Tag.displayName = "Tag";
|
|
2831
2959
|
const TextArea = forwardRef(
|
|
2832
2960
|
function TextArea2({
|
|
2833
2961
|
placeholder = "Text label",
|
|
@@ -2870,13 +2998,13 @@ const TextArea = forwardRef(
|
|
|
2870
2998
|
if (!controlled) setInternalValue(newValue);
|
|
2871
2999
|
onChange == null ? void 0 : onChange(newValue);
|
|
2872
3000
|
};
|
|
2873
|
-
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex w-full flex-col gap-
|
|
3001
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex w-full flex-col gap-1", className), children: [
|
|
2874
3002
|
/* @__PURE__ */ jsxs(
|
|
2875
3003
|
"div",
|
|
2876
3004
|
{
|
|
2877
3005
|
className: cn(
|
|
2878
|
-
"relative h-[116px] rounded-
|
|
2879
|
-
isDisabled ? "bg-disabled-bg" : "bg-
|
|
3006
|
+
"relative h-[116px] rounded-lg",
|
|
3007
|
+
isDisabled ? "bg-disabled-bg" : "bg-background"
|
|
2880
3008
|
),
|
|
2881
3009
|
children: [
|
|
2882
3010
|
/* @__PURE__ */ jsx(
|
|
@@ -2887,13 +3015,27 @@ const TextArea = forwardRef(
|
|
|
2887
3015
|
style: { inset: borderInset, borderRadius: borderRad, borderColor }
|
|
2888
3016
|
}
|
|
2889
3017
|
),
|
|
2890
|
-
isFilled ? /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col
|
|
2891
|
-
/* @__PURE__ */
|
|
3018
|
+
isFilled ? /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col px-3.5 pt-3.5 pb-1.5", children: [
|
|
3019
|
+
/* @__PURE__ */ jsxs(
|
|
2892
3020
|
"p",
|
|
2893
3021
|
{
|
|
2894
|
-
className: "w-full shrink-0 text-
|
|
3022
|
+
className: "w-full shrink-0 text-xs leading-4 not-italic",
|
|
2895
3023
|
style: { color: floatLabel },
|
|
2896
|
-
children:
|
|
3024
|
+
children: [
|
|
3025
|
+
placeholder,
|
|
3026
|
+
required && /* @__PURE__ */ jsxs(
|
|
3027
|
+
"span",
|
|
3028
|
+
{
|
|
3029
|
+
style: {
|
|
3030
|
+
color: isDisabled ? "var(--disabled)" : "var(--error-dark)"
|
|
3031
|
+
},
|
|
3032
|
+
children: [
|
|
3033
|
+
" ",
|
|
3034
|
+
"*"
|
|
3035
|
+
]
|
|
3036
|
+
}
|
|
3037
|
+
)
|
|
3038
|
+
]
|
|
2897
3039
|
}
|
|
2898
3040
|
),
|
|
2899
3041
|
/* @__PURE__ */ jsx(
|
|
@@ -2916,7 +3058,7 @@ const TextArea = forwardRef(
|
|
|
2916
3058
|
rows,
|
|
2917
3059
|
"aria-label": placeholder,
|
|
2918
3060
|
className: cn(
|
|
2919
|
-
"m-0 min-w-0 flex-1 resize-none border-none bg-transparent p-0 text-
|
|
3061
|
+
"m-0 min-h-0 min-w-0 w-full flex-1 resize-none border-none bg-transparent p-0 text-sm leading-5 not-italic outline-none"
|
|
2920
3062
|
),
|
|
2921
3063
|
style: {
|
|
2922
3064
|
...textareaProps.style,
|
|
@@ -2925,11 +3067,11 @@ const TextArea = forwardRef(
|
|
|
2925
3067
|
}
|
|
2926
3068
|
}
|
|
2927
3069
|
)
|
|
2928
|
-
] }) : /* @__PURE__ */ jsxs("div", { className: "relative flex size-full items-start p-
|
|
3070
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "relative flex size-full items-start p-3.5", children: [
|
|
2929
3071
|
/* @__PURE__ */ jsxs(
|
|
2930
3072
|
"p",
|
|
2931
3073
|
{
|
|
2932
|
-
className: "pointer-events-none relative h-full min-h-[1px] min-w-0 flex-1 text-
|
|
3074
|
+
className: "pointer-events-none relative h-full min-h-[1px] min-w-0 flex-1 text-base leading-5 not-italic",
|
|
2933
3075
|
style: { color: floatLabel },
|
|
2934
3076
|
children: [
|
|
2935
3077
|
placeholder,
|
|
@@ -2966,7 +3108,7 @@ const TextArea = forwardRef(
|
|
|
2966
3108
|
},
|
|
2967
3109
|
rows,
|
|
2968
3110
|
className: cn(
|
|
2969
|
-
"absolute inset-0 h-full w-full cursor-text resize-none border-none bg-transparent text-
|
|
3111
|
+
"absolute inset-0 h-full w-full cursor-text resize-none border-none bg-transparent text-base outline-none"
|
|
2970
3112
|
),
|
|
2971
3113
|
style: {
|
|
2972
3114
|
...textareaProps.style,
|
|
@@ -2981,27 +3123,21 @@ const TextArea = forwardRef(
|
|
|
2981
3123
|
]
|
|
2982
3124
|
}
|
|
2983
3125
|
),
|
|
2984
|
-
showBelow && /* @__PURE__ */ jsxs(
|
|
2985
|
-
"
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
]
|
|
3000
|
-
}
|
|
3001
|
-
)
|
|
3002
|
-
]
|
|
3003
|
-
}
|
|
3004
|
-
)
|
|
3126
|
+
showBelow && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2 px-1 text-xs leading-4", children: [
|
|
3127
|
+
leftText ? /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", style: { color: leftColor }, children: leftText }) : showCount && /* @__PURE__ */ jsx("span", { className: "flex-1" }),
|
|
3128
|
+
showCount && /* @__PURE__ */ jsxs(
|
|
3129
|
+
"span",
|
|
3130
|
+
{
|
|
3131
|
+
className: "shrink-0 whitespace-nowrap text-right",
|
|
3132
|
+
style: { color: countColor },
|
|
3133
|
+
children: [
|
|
3134
|
+
charCount,
|
|
3135
|
+
"/",
|
|
3136
|
+
maxCount
|
|
3137
|
+
]
|
|
3138
|
+
}
|
|
3139
|
+
)
|
|
3140
|
+
] })
|
|
3005
3141
|
] });
|
|
3006
3142
|
}
|
|
3007
3143
|
);
|
|
@@ -3181,7 +3317,7 @@ function RangeSlotPicker({
|
|
|
3181
3317
|
className: "leading-[22px] relative shrink-0 text-[14px] text-center whitespace-nowrap",
|
|
3182
3318
|
style: {
|
|
3183
3319
|
fontVariationSettings: "'wdth' 100",
|
|
3184
|
-
color: isSelected ? "
|
|
3320
|
+
color: isSelected ? "var(--on-primary-action)" : "var(--foreground)"
|
|
3185
3321
|
},
|
|
3186
3322
|
children: slot.label
|
|
3187
3323
|
}
|
|
@@ -3325,7 +3461,7 @@ const TimeInput = forwardRef(
|
|
|
3325
3461
|
const isError = state === "error";
|
|
3326
3462
|
const isFocus = state === "focus";
|
|
3327
3463
|
const isFilled = mode === "single" ? Boolean(currentValue) : true;
|
|
3328
|
-
const bgClass = isDisabled ? "bg-disabled-bg" : "bg-
|
|
3464
|
+
const bgClass = isDisabled ? "bg-disabled-bg" : "bg-background";
|
|
3329
3465
|
const labelColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
3330
3466
|
const valueColor = isDisabled ? "var(--disabled)" : "var(--foreground)";
|
|
3331
3467
|
const iconColor = isDisabled ? "var(--disabled)" : "var(--muted-foreground)";
|
|
@@ -3406,8 +3542,7 @@ const TimeInput = forwardRef(
|
|
|
3406
3542
|
Minus,
|
|
3407
3543
|
{
|
|
3408
3544
|
size: 20,
|
|
3409
|
-
color: minusColor
|
|
3410
|
-
weight: "bold"
|
|
3545
|
+
color: minusColor
|
|
3411
3546
|
}
|
|
3412
3547
|
),
|
|
3413
3548
|
/* @__PURE__ */ jsx(
|
|
@@ -3454,9 +3589,9 @@ const TimeInput = forwardRef(
|
|
|
3454
3589
|
);
|
|
3455
3590
|
};
|
|
3456
3591
|
const isTriggerFilled = isFilled && (mode === "range" || currentValue);
|
|
3457
|
-
const triggerPadding = isTriggerFilled ? "py-
|
|
3592
|
+
const triggerPadding = isTriggerFilled ? "py-1.5" : "py-3";
|
|
3458
3593
|
const triggerBase = cn(
|
|
3459
|
-
"relative flex gap-
|
|
3594
|
+
"relative flex gap-2 items-center rounded-lg px-3.5 w-full",
|
|
3460
3595
|
bgClass,
|
|
3461
3596
|
triggerPadding
|
|
3462
3597
|
);
|
|
@@ -3492,7 +3627,7 @@ const TimeInput = forwardRef(
|
|
|
3492
3627
|
}
|
|
3493
3628
|
)
|
|
3494
3629
|
] });
|
|
3495
|
-
const belowMsg = showBelow && /* @__PURE__ */ jsx("div", { className: "flex items-start px-
|
|
3630
|
+
const belowMsg = showBelow && /* @__PURE__ */ jsx("div", { className: "flex items-start px-1 text-xs leading-4", children: /* @__PURE__ */ jsx(
|
|
3496
3631
|
"span",
|
|
3497
3632
|
{
|
|
3498
3633
|
className: "flex-1 min-w-0",
|
|
@@ -3614,10 +3749,10 @@ const TimeInput = forwardRef(
|
|
|
3614
3749
|
{
|
|
3615
3750
|
align: "start",
|
|
3616
3751
|
sideOffset: 4,
|
|
3617
|
-
className: "z-50 rounded-[8px] bg-
|
|
3752
|
+
className: "z-50 rounded-[8px] bg-popover p-3 outline-none max-w-[340px] text-popover-foreground",
|
|
3618
3753
|
style: {
|
|
3619
|
-
boxShadow: "
|
|
3620
|
-
border: "1px solid
|
|
3754
|
+
boxShadow: "var(--elevation-popover)",
|
|
3755
|
+
border: "1px solid var(--border)",
|
|
3621
3756
|
minWidth: mode === "single" ? 327 : void 0
|
|
3622
3757
|
},
|
|
3623
3758
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
@@ -3648,6 +3783,7 @@ export {
|
|
|
3648
3783
|
SearchInput,
|
|
3649
3784
|
Tab,
|
|
3650
3785
|
TabGroup,
|
|
3786
|
+
Tag,
|
|
3651
3787
|
TextArea,
|
|
3652
3788
|
TimeInput,
|
|
3653
3789
|
cn
|