@raydenui/ui 0.8.0 → 0.9.2
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/README.md +4 -4
- package/dist/index.cjs +487 -115
- package/dist/index.js +487 -115
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -5709,11 +5709,7 @@ var Accordion = react.forwardRef(
|
|
|
5709
5709
|
"div",
|
|
5710
5710
|
{
|
|
5711
5711
|
ref,
|
|
5712
|
-
className: cn(
|
|
5713
|
-
"w-full",
|
|
5714
|
-
type === "nested" && "flex flex-col gap-3",
|
|
5715
|
-
className
|
|
5716
|
-
),
|
|
5712
|
+
className: cn("w-full", type === "nested" && "flex flex-col gap-3", className),
|
|
5717
5713
|
...rest,
|
|
5718
5714
|
children
|
|
5719
5715
|
}
|
|
@@ -5734,13 +5730,7 @@ var AccordionItem = react.forwardRef(
|
|
|
5734
5730
|
ref,
|
|
5735
5731
|
className: cn(
|
|
5736
5732
|
"border-solid transition-colors",
|
|
5737
|
-
type === "default" ? cn(
|
|
5738
|
-
"border-b",
|
|
5739
|
-
isOpen ? "border-primary-300" : "border-grey-100"
|
|
5740
|
-
) : cn(
|
|
5741
|
-
"border rounded-[10px]",
|
|
5742
|
-
isOpen ? "border-primary-300" : "border-grey-75"
|
|
5743
|
-
),
|
|
5733
|
+
type === "default" ? cn("border-b", isOpen ? "border-primary-300" : "border-grey-100") : cn("border rounded-[10px]", isOpen ? "border-primary-300" : "border-grey-75"),
|
|
5744
5734
|
className
|
|
5745
5735
|
),
|
|
5746
5736
|
...rest,
|
|
@@ -6001,7 +5991,7 @@ var Input = react.forwardRef(
|
|
|
6001
5991
|
disabled && "cursor-not-allowed"
|
|
6002
5992
|
),
|
|
6003
5993
|
children: [
|
|
6004
|
-
leadingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", children: resolveIcon(leadingIcon, "md") }),
|
|
5994
|
+
leadingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", "aria-hidden": "true", children: resolveIcon(leadingIcon, "md") }),
|
|
6005
5995
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6006
5996
|
"input",
|
|
6007
5997
|
{
|
|
@@ -6021,7 +6011,7 @@ var Input = react.forwardRef(
|
|
|
6021
6011
|
}
|
|
6022
6012
|
),
|
|
6023
6013
|
addonRight && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-grey-500", children: addonRight }),
|
|
6024
|
-
trailingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", children: resolveIcon(trailingIcon, "md") })
|
|
6014
|
+
trailingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", "aria-hidden": "true", children: resolveIcon(trailingIcon, "md") })
|
|
6025
6015
|
]
|
|
6026
6016
|
}
|
|
6027
6017
|
),
|
|
@@ -6061,7 +6051,7 @@ var Input = react.forwardRef(
|
|
|
6061
6051
|
readOnly ? "bg-grey-100 border-grey-300" : disabled ? "bg-grey-50 border-grey-200 cursor-not-allowed" : cn("bg-white dark:bg-grey-50", borderColor)
|
|
6062
6052
|
),
|
|
6063
6053
|
children: [
|
|
6064
|
-
leadingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", children: resolveIcon(leadingIcon, "md") }),
|
|
6054
|
+
leadingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", "aria-hidden": "true", children: resolveIcon(leadingIcon, "md") }),
|
|
6065
6055
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6066
6056
|
"input",
|
|
6067
6057
|
{
|
|
@@ -6081,7 +6071,7 @@ var Input = react.forwardRef(
|
|
|
6081
6071
|
}
|
|
6082
6072
|
),
|
|
6083
6073
|
addonRight && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-sm text-grey-500", children: addonRight }),
|
|
6084
|
-
trailingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", children: resolveIcon(trailingIcon, "md") })
|
|
6074
|
+
trailingIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-6 text-grey-400", "aria-hidden": "true", children: resolveIcon(trailingIcon, "md") })
|
|
6085
6075
|
]
|
|
6086
6076
|
}
|
|
6087
6077
|
),
|
|
@@ -6519,24 +6509,37 @@ var RaydenChart = react.forwardRef(
|
|
|
6519
6509
|
[type, options]
|
|
6520
6510
|
);
|
|
6521
6511
|
const ChartComponent = chartComponentMap[type];
|
|
6522
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6523
|
-
"div",
|
|
6524
|
-
{
|
|
6525
|
-
ref,
|
|
6526
|
-
className: cn("relative", className),
|
|
6527
|
-
style: { height, width },
|
|
6528
|
-
...rest,
|
|
6529
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(ChartComponent, { data, options: mergedOptions })
|
|
6530
|
-
}
|
|
6531
|
-
);
|
|
6512
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("relative", className), style: { height, width }, ...rest, children: /* @__PURE__ */ jsxRuntime.jsx(ChartComponent, { data, options: mergedOptions }) });
|
|
6532
6513
|
}
|
|
6533
6514
|
);
|
|
6534
6515
|
RaydenChart.displayName = "RaydenChart";
|
|
6535
6516
|
function MinusIcon({ className }) {
|
|
6536
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6517
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6518
|
+
"svg",
|
|
6519
|
+
{
|
|
6520
|
+
className,
|
|
6521
|
+
viewBox: "0 0 24 24",
|
|
6522
|
+
fill: "none",
|
|
6523
|
+
stroke: "currentColor",
|
|
6524
|
+
strokeWidth: 2,
|
|
6525
|
+
strokeLinecap: "round",
|
|
6526
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12h14" })
|
|
6527
|
+
}
|
|
6528
|
+
);
|
|
6537
6529
|
}
|
|
6538
6530
|
function PlusIcon({ className }) {
|
|
6539
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6531
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6532
|
+
"svg",
|
|
6533
|
+
{
|
|
6534
|
+
className,
|
|
6535
|
+
viewBox: "0 0 24 24",
|
|
6536
|
+
fill: "none",
|
|
6537
|
+
stroke: "currentColor",
|
|
6538
|
+
strokeWidth: 2,
|
|
6539
|
+
strokeLinecap: "round",
|
|
6540
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14" })
|
|
6541
|
+
}
|
|
6542
|
+
);
|
|
6540
6543
|
}
|
|
6541
6544
|
var buttonSize = {
|
|
6542
6545
|
sm: "size-8 rounded-[10px]",
|
|
@@ -6614,10 +6617,7 @@ var Counter = react.forwardRef(
|
|
|
6614
6617
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6615
6618
|
"span",
|
|
6616
6619
|
{
|
|
6617
|
-
className: cn(
|
|
6618
|
-
"font-medium text-grey-900 text-center leading-[1.45]",
|
|
6619
|
-
valueText[size]
|
|
6620
|
-
),
|
|
6620
|
+
className: cn("font-medium text-grey-900 text-center leading-[1.45]", valueText[size]),
|
|
6621
6621
|
children: val
|
|
6622
6622
|
}
|
|
6623
6623
|
) }),
|
|
@@ -6661,14 +6661,15 @@ var NumberCounter = react.forwardRef(
|
|
|
6661
6661
|
"div",
|
|
6662
6662
|
{
|
|
6663
6663
|
ref,
|
|
6664
|
-
className: cn(
|
|
6665
|
-
"inline-flex items-center justify-center",
|
|
6666
|
-
s.container,
|
|
6667
|
-
c.bg,
|
|
6668
|
-
className
|
|
6669
|
-
),
|
|
6664
|
+
className: cn("inline-flex items-center justify-center", s.container, c.bg, className),
|
|
6670
6665
|
...rest,
|
|
6671
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6666
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6667
|
+
"span",
|
|
6668
|
+
{
|
|
6669
|
+
className: cn("font-semibold text-center leading-[1.45] tracking-tight", s.text, c.text),
|
|
6670
|
+
children: value
|
|
6671
|
+
}
|
|
6672
|
+
)
|
|
6672
6673
|
}
|
|
6673
6674
|
);
|
|
6674
6675
|
}
|
|
@@ -6716,15 +6717,54 @@ function isDateDisabled(date, minDate, maxDate) {
|
|
|
6716
6717
|
return false;
|
|
6717
6718
|
}
|
|
6718
6719
|
function ChevronLeft({ className }) {
|
|
6719
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6720
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6721
|
+
"svg",
|
|
6722
|
+
{
|
|
6723
|
+
className,
|
|
6724
|
+
viewBox: "0 0 14 14",
|
|
6725
|
+
fill: "none",
|
|
6726
|
+
stroke: "currentColor",
|
|
6727
|
+
strokeWidth: 2,
|
|
6728
|
+
strokeLinecap: "round",
|
|
6729
|
+
strokeLinejoin: "round",
|
|
6730
|
+
"aria-hidden": "true",
|
|
6731
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 3L5 7l4 4" })
|
|
6732
|
+
}
|
|
6733
|
+
);
|
|
6720
6734
|
}
|
|
6721
6735
|
function ChevronRight({ className }) {
|
|
6722
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6736
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6737
|
+
"svg",
|
|
6738
|
+
{
|
|
6739
|
+
className,
|
|
6740
|
+
viewBox: "0 0 14 14",
|
|
6741
|
+
fill: "none",
|
|
6742
|
+
stroke: "currentColor",
|
|
6743
|
+
strokeWidth: 2,
|
|
6744
|
+
strokeLinecap: "round",
|
|
6745
|
+
strokeLinejoin: "round",
|
|
6746
|
+
"aria-hidden": "true",
|
|
6747
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 3l4 4-4 4" })
|
|
6748
|
+
}
|
|
6749
|
+
);
|
|
6723
6750
|
}
|
|
6724
6751
|
function ChevronDown2({ className }) {
|
|
6725
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6752
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6753
|
+
"svg",
|
|
6754
|
+
{
|
|
6755
|
+
className,
|
|
6756
|
+
viewBox: "0 0 24 24",
|
|
6757
|
+
fill: "none",
|
|
6758
|
+
stroke: "currentColor",
|
|
6759
|
+
strokeWidth: 2,
|
|
6760
|
+
strokeLinecap: "round",
|
|
6761
|
+
strokeLinejoin: "round",
|
|
6762
|
+
"aria-hidden": "true",
|
|
6763
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 9l6 6 6-6" })
|
|
6764
|
+
}
|
|
6765
|
+
);
|
|
6726
6766
|
}
|
|
6727
|
-
function DayCell({ day, state, onClick }) {
|
|
6767
|
+
function DayCell({ day, state, fullDate, onClick }) {
|
|
6728
6768
|
const isInteractive = state !== "disabled";
|
|
6729
6769
|
const cellClasses = cn(
|
|
6730
6770
|
"flex items-center justify-center w-10 h-10 text-sm font-medium relative select-none",
|
|
@@ -6737,6 +6777,13 @@ function DayCell({ day, state, onClick }) {
|
|
|
6737
6777
|
state === "today" && "text-grey-900 hover:bg-grey-75 rounded-[10px]",
|
|
6738
6778
|
isInteractive && "cursor-pointer"
|
|
6739
6779
|
);
|
|
6780
|
+
const dateLabel = fullDate.toLocaleDateString("en-US", {
|
|
6781
|
+
weekday: "long",
|
|
6782
|
+
year: "numeric",
|
|
6783
|
+
month: "long",
|
|
6784
|
+
day: "numeric"
|
|
6785
|
+
});
|
|
6786
|
+
const stateLabel = state === "today" ? "Today, " : state === "selected" ? "Selected, " : state === "start-range" ? "Start of range, " : state === "end-range" ? "End of range, " : state === "mid-range" ? "In selected range, " : "";
|
|
6740
6787
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6741
6788
|
"button",
|
|
6742
6789
|
{
|
|
@@ -6745,9 +6792,12 @@ function DayCell({ day, state, onClick }) {
|
|
|
6745
6792
|
onClick: isInteractive ? onClick : void 0,
|
|
6746
6793
|
disabled: !isInteractive,
|
|
6747
6794
|
tabIndex: isInteractive ? 0 : -1,
|
|
6795
|
+
"aria-label": `${stateLabel}${dateLabel}`,
|
|
6796
|
+
"aria-current": state === "today" ? "date" : void 0,
|
|
6797
|
+
"aria-pressed": state === "selected" || state === "start-range" || state === "end-range" ? true : void 0,
|
|
6748
6798
|
children: [
|
|
6749
6799
|
day,
|
|
6750
|
-
state === "today" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute bottom-[5px] left-1/2 -translate-x-1/2 size-1 rounded-full bg-primary-400" })
|
|
6800
|
+
state === "today" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute bottom-[5px] left-1/2 -translate-x-1/2 size-1 rounded-full bg-primary-400", "aria-hidden": "true" })
|
|
6751
6801
|
]
|
|
6752
6802
|
}
|
|
6753
6803
|
);
|
|
@@ -6803,20 +6853,24 @@ function MonthGrid({
|
|
|
6803
6853
|
if (rows.length === 6 && rows[5].every((c) => c.state === "disabled")) {
|
|
6804
6854
|
rows.pop();
|
|
6805
6855
|
}
|
|
6806
|
-
|
|
6807
|
-
|
|
6856
|
+
const fullDayNames = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
|
|
6857
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", role: "grid", "aria-label": "Calendar", children: [
|
|
6858
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 items-center", role: "row", children: DAY_LABELS.map((label, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6808
6859
|
"div",
|
|
6809
6860
|
{
|
|
6861
|
+
role: "columnheader",
|
|
6862
|
+
"aria-label": fullDayNames[i],
|
|
6810
6863
|
className: "flex items-center justify-center w-10 h-10 text-sm font-medium text-grey-400",
|
|
6811
6864
|
children: label
|
|
6812
6865
|
},
|
|
6813
6866
|
i
|
|
6814
6867
|
)) }),
|
|
6815
|
-
rows.map((row, ri) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 items-center", children: row.map((cell, ci) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6868
|
+
rows.map((row, ri) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 items-center", role: "row", children: row.map((cell, ci) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6816
6869
|
DayCell,
|
|
6817
6870
|
{
|
|
6818
6871
|
day: cell.day,
|
|
6819
6872
|
state: cell.state,
|
|
6873
|
+
fullDate: cell.date,
|
|
6820
6874
|
onClick: () => onDayClick(cell.date)
|
|
6821
6875
|
},
|
|
6822
6876
|
ci
|
|
@@ -6832,10 +6886,12 @@ function YearGrid({ baseYear, selectedYear, onYearClick }) {
|
|
|
6832
6886
|
for (let i = 0; i < years.length; i += 4) {
|
|
6833
6887
|
rows.push(years.slice(i, i + 4));
|
|
6834
6888
|
}
|
|
6835
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 w-full", children: rows.map((row, ri) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 h-10 items-center w-full", children: row.map((year) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6889
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 w-full", role: "grid", "aria-label": "Year selection", children: rows.map((row, ri) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-4 h-10 items-center w-full", role: "row", children: row.map((year) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6836
6890
|
"button",
|
|
6837
6891
|
{
|
|
6838
6892
|
type: "button",
|
|
6893
|
+
"aria-label": year === selectedYear ? `${year}, selected` : String(year),
|
|
6894
|
+
"aria-pressed": year === selectedYear || void 0,
|
|
6839
6895
|
className: cn(
|
|
6840
6896
|
"flex-1 flex items-center justify-center py-2.5 px-4 rounded-[10px] text-sm font-medium cursor-pointer select-none",
|
|
6841
6897
|
year === selectedYear ? "bg-primary-400 text-white" : "text-grey-900 hover:bg-grey-75"
|
|
@@ -6856,6 +6912,9 @@ function NavButton({
|
|
|
6856
6912
|
{
|
|
6857
6913
|
type: "button",
|
|
6858
6914
|
onClick,
|
|
6915
|
+
"aria-label": direction === "left" ? "Previous month" : "Next month",
|
|
6916
|
+
"aria-hidden": hidden || void 0,
|
|
6917
|
+
tabIndex: hidden ? -1 : void 0,
|
|
6859
6918
|
className: cn(
|
|
6860
6919
|
"flex items-center justify-center p-2 rounded-lg bg-grey-75 hover:bg-grey-200 transition-colors cursor-pointer",
|
|
6861
6920
|
hidden && "opacity-0 pointer-events-none"
|
|
@@ -7350,37 +7409,91 @@ function ProgressCircle({
|
|
|
7350
7409
|
var statusColors = {
|
|
7351
7410
|
information: {
|
|
7352
7411
|
bold: { bg: "bg-[#4a9fed]", divider: "bg-[#f0f7ff]" },
|
|
7353
|
-
subtle: {
|
|
7412
|
+
subtle: {
|
|
7413
|
+
bg: "bg-[#f0f7ff]",
|
|
7414
|
+
text: "text-grey-900",
|
|
7415
|
+
descText: "text-grey-600",
|
|
7416
|
+
divider: "bg-[#0063ad]"
|
|
7417
|
+
}
|
|
7354
7418
|
},
|
|
7355
7419
|
success: {
|
|
7356
7420
|
bold: { bg: "bg-success-400", divider: "bg-success-50" },
|
|
7357
|
-
subtle: {
|
|
7421
|
+
subtle: {
|
|
7422
|
+
bg: "bg-success-50",
|
|
7423
|
+
text: "text-grey-900",
|
|
7424
|
+
descText: "text-grey-600",
|
|
7425
|
+
divider: "bg-success-400"
|
|
7426
|
+
}
|
|
7358
7427
|
},
|
|
7359
7428
|
error: {
|
|
7360
7429
|
bold: { bg: "bg-error-400", divider: "bg-error-50" },
|
|
7361
|
-
subtle: {
|
|
7430
|
+
subtle: {
|
|
7431
|
+
bg: "bg-error-50",
|
|
7432
|
+
text: "text-grey-900",
|
|
7433
|
+
descText: "text-grey-600",
|
|
7434
|
+
divider: "bg-error-400"
|
|
7435
|
+
}
|
|
7362
7436
|
},
|
|
7363
7437
|
warning: {
|
|
7364
7438
|
bold: { bg: "bg-warning-400", divider: "bg-warning-50" },
|
|
7365
|
-
subtle: {
|
|
7439
|
+
subtle: {
|
|
7440
|
+
bg: "bg-warning-50",
|
|
7441
|
+
text: "text-grey-900",
|
|
7442
|
+
descText: "text-grey-600",
|
|
7443
|
+
divider: "bg-warning-700"
|
|
7444
|
+
}
|
|
7366
7445
|
},
|
|
7367
7446
|
feature: {
|
|
7368
7447
|
bold: { bg: "bg-grey-900", divider: "bg-grey-100" },
|
|
7369
|
-
subtle: {
|
|
7448
|
+
subtle: {
|
|
7449
|
+
bg: "bg-grey-50",
|
|
7450
|
+
text: "text-black",
|
|
7451
|
+
descText: "text-black",
|
|
7452
|
+
divider: "bg-grey-300"
|
|
7453
|
+
}
|
|
7370
7454
|
},
|
|
7371
7455
|
opportunity: {
|
|
7372
7456
|
bold: { bg: "bg-[#475ccc]", divider: "bg-[#b1bae9]" },
|
|
7373
|
-
subtle: {
|
|
7457
|
+
subtle: {
|
|
7458
|
+
bg: "bg-[#f7f8fd]",
|
|
7459
|
+
text: "text-grey-900",
|
|
7460
|
+
descText: "text-grey-600",
|
|
7461
|
+
divider: "bg-[#b1bae9]"
|
|
7462
|
+
}
|
|
7374
7463
|
}
|
|
7375
7464
|
};
|
|
7376
7465
|
function InfoIcon({ className }) {
|
|
7377
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7378
|
-
|
|
7379
|
-
|
|
7380
|
-
|
|
7466
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
7467
|
+
"svg",
|
|
7468
|
+
{
|
|
7469
|
+
className,
|
|
7470
|
+
viewBox: "0 0 24 24",
|
|
7471
|
+
fill: "none",
|
|
7472
|
+
stroke: "currentColor",
|
|
7473
|
+
strokeWidth: 2,
|
|
7474
|
+
strokeLinecap: "round",
|
|
7475
|
+
strokeLinejoin: "round",
|
|
7476
|
+
children: [
|
|
7477
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
7478
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 16v-4M12 8h.01" })
|
|
7479
|
+
]
|
|
7480
|
+
}
|
|
7481
|
+
);
|
|
7381
7482
|
}
|
|
7382
7483
|
function CloseIcon({ className }) {
|
|
7383
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7484
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7485
|
+
"svg",
|
|
7486
|
+
{
|
|
7487
|
+
className,
|
|
7488
|
+
viewBox: "0 0 24 24",
|
|
7489
|
+
fill: "none",
|
|
7490
|
+
stroke: "currentColor",
|
|
7491
|
+
strokeWidth: 2,
|
|
7492
|
+
strokeLinecap: "round",
|
|
7493
|
+
strokeLinejoin: "round",
|
|
7494
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 6L6 18M6 6l12 12" })
|
|
7495
|
+
}
|
|
7496
|
+
);
|
|
7384
7497
|
}
|
|
7385
7498
|
var Banner = react.forwardRef(
|
|
7386
7499
|
({
|
|
@@ -7420,7 +7533,13 @@ var Banner = react.forwardRef(
|
|
|
7420
7533
|
children: [
|
|
7421
7534
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-1 items-center", size === "sm" ? "gap-2" : "gap-3"), children: [
|
|
7422
7535
|
icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("shrink-0", iconSize4, textColor), children: resolveIcon(icon, size === "sm" ? "sm" : "md") }) : /* @__PURE__ */ jsxRuntime.jsx(InfoIcon, { className: cn("shrink-0", iconSize4, textColor) }),
|
|
7423
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7536
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7537
|
+
"span",
|
|
7538
|
+
{
|
|
7539
|
+
className: cn("font-semibold leading-[1.45] whitespace-nowrap", textSize2, textColor),
|
|
7540
|
+
children: title
|
|
7541
|
+
}
|
|
7542
|
+
),
|
|
7424
7543
|
description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("leading-[1.45] whitespace-nowrap", textSize2, descColor), children: description }),
|
|
7425
7544
|
buttonLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7426
7545
|
"button",
|
|
@@ -8071,10 +8190,34 @@ var Toggle = react.forwardRef(
|
|
|
8071
8190
|
);
|
|
8072
8191
|
Toggle.displayName = "Toggle";
|
|
8073
8192
|
function ChevronRight3({ className }) {
|
|
8074
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8193
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8194
|
+
"svg",
|
|
8195
|
+
{
|
|
8196
|
+
className,
|
|
8197
|
+
viewBox: "0 0 20 20",
|
|
8198
|
+
fill: "none",
|
|
8199
|
+
stroke: "currentColor",
|
|
8200
|
+
strokeWidth: 2,
|
|
8201
|
+
strokeLinecap: "round",
|
|
8202
|
+
strokeLinejoin: "round",
|
|
8203
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 5l5 5-5 5" })
|
|
8204
|
+
}
|
|
8205
|
+
);
|
|
8075
8206
|
}
|
|
8076
8207
|
function DoubleChevronRight({ className }) {
|
|
8077
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8208
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8209
|
+
"svg",
|
|
8210
|
+
{
|
|
8211
|
+
className,
|
|
8212
|
+
viewBox: "0 0 20 20",
|
|
8213
|
+
fill: "none",
|
|
8214
|
+
stroke: "currentColor",
|
|
8215
|
+
strokeWidth: 2,
|
|
8216
|
+
strokeLinecap: "round",
|
|
8217
|
+
strokeLinejoin: "round",
|
|
8218
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5.5 5l5 5-5 5M10.5 5l5 5-5 5" })
|
|
8219
|
+
}
|
|
8220
|
+
);
|
|
8078
8221
|
}
|
|
8079
8222
|
function SeparatorElement({ type }) {
|
|
8080
8223
|
switch (type) {
|
|
@@ -8097,11 +8240,7 @@ function Breadcrumb({
|
|
|
8097
8240
|
"nav",
|
|
8098
8241
|
{
|
|
8099
8242
|
"aria-label": "Breadcrumb",
|
|
8100
|
-
className: cn(
|
|
8101
|
-
"py-2.5",
|
|
8102
|
-
hasBorders && "border-y border-grey-100",
|
|
8103
|
-
className
|
|
8104
|
-
),
|
|
8243
|
+
className: cn("py-2.5", hasBorders && "border-y border-grey-100", className),
|
|
8105
8244
|
...rest,
|
|
8106
8245
|
children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "flex items-center gap-4 text-sm font-medium", children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center gap-4", children: [
|
|
8107
8246
|
i > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx(SeparatorElement, { type: separator }) }),
|
|
@@ -8274,13 +8413,37 @@ var AvatarGroup = react.forwardRef(
|
|
|
8274
8413
|
);
|
|
8275
8414
|
AvatarGroup.displayName = "AvatarGroup";
|
|
8276
8415
|
function CloseIcon2({ className }) {
|
|
8277
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8416
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8417
|
+
"svg",
|
|
8418
|
+
{
|
|
8419
|
+
className,
|
|
8420
|
+
viewBox: "0 0 12 12",
|
|
8421
|
+
fill: "none",
|
|
8422
|
+
stroke: "currentColor",
|
|
8423
|
+
strokeWidth: 1.5,
|
|
8424
|
+
strokeLinecap: "round",
|
|
8425
|
+
strokeLinejoin: "round",
|
|
8426
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M9 3L3 9M3 3l6 6" })
|
|
8427
|
+
}
|
|
8428
|
+
);
|
|
8278
8429
|
}
|
|
8279
8430
|
function BoxIcon({ className }) {
|
|
8280
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8281
|
-
|
|
8282
|
-
|
|
8283
|
-
|
|
8431
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
8432
|
+
"svg",
|
|
8433
|
+
{
|
|
8434
|
+
className,
|
|
8435
|
+
viewBox: "0 0 16 16",
|
|
8436
|
+
fill: "none",
|
|
8437
|
+
stroke: "currentColor",
|
|
8438
|
+
strokeWidth: 1.2,
|
|
8439
|
+
strokeLinecap: "round",
|
|
8440
|
+
strokeLinejoin: "round",
|
|
8441
|
+
children: [
|
|
8442
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2.67 4.67L8 7.33l5.33-2.66M8 14V7.33" }),
|
|
8443
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.33 10.67V5.33a1.33 1.33 0 00-.66-1.15L8.67 2a1.33 1.33 0 00-1.34 0L3.33 4.18A1.33 1.33 0 002.67 5.33v5.34a1.33 1.33 0 00.66 1.15L7.33 14a1.33 1.33 0 001.34 0l4-2.18a1.33 1.33 0 00.66-1.15z" })
|
|
8444
|
+
]
|
|
8445
|
+
}
|
|
8446
|
+
);
|
|
8284
8447
|
}
|
|
8285
8448
|
var sizeClasses2 = {
|
|
8286
8449
|
sm: "w-[400px]",
|
|
@@ -8871,6 +9034,8 @@ var FileUploadDropZone = react.forwardRef(
|
|
|
8871
9034
|
"div",
|
|
8872
9035
|
{
|
|
8873
9036
|
ref,
|
|
9037
|
+
role: "region",
|
|
9038
|
+
"aria-label": "File upload dropzone",
|
|
8874
9039
|
className: cn(
|
|
8875
9040
|
"flex flex-col items-center justify-center rounded-xl p-8 transition-colors",
|
|
8876
9041
|
state === "dragging" ? "border-2 border-dashed border-primary-400 bg-primary-50/10" : state === "uploading" || state === "success" || state === "error" ? "border border-grey-200 bg-white dark:bg-grey-50" : "border-2 border-dashed border-grey-300 bg-white dark:bg-grey-50",
|
|
@@ -8891,11 +9056,12 @@ var FileUploadDropZone = react.forwardRef(
|
|
|
8891
9056
|
multiple,
|
|
8892
9057
|
onChange: handleFileChange,
|
|
8893
9058
|
className: "sr-only",
|
|
8894
|
-
tabIndex: -1
|
|
9059
|
+
tabIndex: -1,
|
|
9060
|
+
"aria-label": multiple ? "Choose files to upload" : "Choose file to upload"
|
|
8895
9061
|
}
|
|
8896
9062
|
),
|
|
8897
9063
|
(state === "default" || state === "dragging") && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
|
|
8898
|
-
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "default", size: 56 }),
|
|
9064
|
+
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "default", size: 56, "aria-hidden": "true" }),
|
|
8899
9065
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1", children: [
|
|
8900
9066
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-body-sm font-medium text-grey-600", children: [
|
|
8901
9067
|
"Click to upload ",
|
|
@@ -8905,12 +9071,12 @@ var FileUploadDropZone = react.forwardRef(
|
|
|
8905
9071
|
] }),
|
|
8906
9072
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "primary", size: "sm", onClick: handleBrowse, children: "Browse Files" })
|
|
8907
9073
|
] }),
|
|
8908
|
-
state === "uploading" && uploadingFile && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-center gap-4", children: [
|
|
8909
|
-
/* @__PURE__ */ jsxRuntime.jsx(FileTypeIcon, { type: getFileType(uploadingFile.name) }),
|
|
9074
|
+
state === "uploading" && uploadingFile && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-center gap-4", "aria-live": "polite", "aria-atomic": "true", children: [
|
|
9075
|
+
/* @__PURE__ */ jsxRuntime.jsx(FileTypeIcon, { type: getFileType(uploadingFile.name), "aria-hidden": "true" }),
|
|
8910
9076
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-xs flex-col gap-2", children: [
|
|
8911
9077
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
8912
9078
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm font-medium text-grey-700 truncate", children: uploadingFile.name }),
|
|
8913
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-body-xs font-medium text-grey-500 ml-2 shrink-0", children: [
|
|
9079
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-body-xs font-medium text-grey-500 ml-2 shrink-0", "aria-label": `Upload progress: ${Math.round(uploadingFile.progress)} percent`, children: [
|
|
8914
9080
|
Math.round(uploadingFile.progress),
|
|
8915
9081
|
"%"
|
|
8916
9082
|
] })
|
|
@@ -8918,8 +9084,8 @@ var FileUploadDropZone = react.forwardRef(
|
|
|
8918
9084
|
/* @__PURE__ */ jsxRuntime.jsx(ProgressBar, { value: uploadingFile.progress, size: "sm", showPercentage: false })
|
|
8919
9085
|
] })
|
|
8920
9086
|
] }),
|
|
8921
|
-
state === "success" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
|
|
8922
|
-
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "success", size: 56 }),
|
|
9087
|
+
state === "success" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", role: "status", children: [
|
|
9088
|
+
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "success", size: 56, "aria-hidden": "true" }),
|
|
8923
9089
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-body-sm font-semibold text-grey-800", children: "Document Uploaded Successfully" }) }),
|
|
8924
9090
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8925
9091
|
"button",
|
|
@@ -8931,8 +9097,8 @@ var FileUploadDropZone = react.forwardRef(
|
|
|
8931
9097
|
}
|
|
8932
9098
|
)
|
|
8933
9099
|
] }),
|
|
8934
|
-
state === "error" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
|
|
8935
|
-
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "error", size: 56 }),
|
|
9100
|
+
state === "error" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", role: "alert", children: [
|
|
9101
|
+
/* @__PURE__ */ jsxRuntime.jsx(UploadStateIcon, { state: "error", size: 56, "aria-hidden": "true" }),
|
|
8936
9102
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1", children: [
|
|
8937
9103
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-body-sm font-semibold text-grey-800", children: "Failed to Upload" }),
|
|
8938
9104
|
errorMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-body-xs text-grey-400", children: errorMessage })
|
|
@@ -9264,7 +9430,7 @@ var SidebarMenu = react.forwardRef(
|
|
|
9264
9430
|
"nav",
|
|
9265
9431
|
{
|
|
9266
9432
|
ref,
|
|
9267
|
-
|
|
9433
|
+
"aria-label": "Main navigation",
|
|
9268
9434
|
className: cn(
|
|
9269
9435
|
"flex flex-col gap-3 overflow-y-auto rounded-xl py-6",
|
|
9270
9436
|
ts.container,
|
|
@@ -9354,7 +9520,7 @@ var SidebarMenuItem = react.forwardRef(
|
|
|
9354
9520
|
onClick: () => {
|
|
9355
9521
|
if (!disabled && !isExpandable) onSelect(value);
|
|
9356
9522
|
},
|
|
9357
|
-
|
|
9523
|
+
"aria-label": typeof labelContent === "string" ? labelContent : void 0,
|
|
9358
9524
|
className: cn(
|
|
9359
9525
|
"flex size-11 cursor-pointer items-center justify-center rounded transition-colors",
|
|
9360
9526
|
highlighted ? cn(ts.selectedBg, ts.selectedIcon) : cn(ts.defaultIcon, ts.hoverBg),
|
|
@@ -9373,6 +9539,8 @@ var SidebarMenuItem = react.forwardRef(
|
|
|
9373
9539
|
ref,
|
|
9374
9540
|
type: "button",
|
|
9375
9541
|
role: "menuitem",
|
|
9542
|
+
"aria-expanded": isExpandable ? open : void 0,
|
|
9543
|
+
"aria-haspopup": isExpandable ? "menu" : void 0,
|
|
9376
9544
|
disabled,
|
|
9377
9545
|
onClick: handleClick,
|
|
9378
9546
|
className: cn(
|
|
@@ -9400,6 +9568,7 @@ var SidebarMenuItem = react.forwardRef(
|
|
|
9400
9568
|
{
|
|
9401
9569
|
name: open ? "chevron-up" : "chevron-down",
|
|
9402
9570
|
size: "sm",
|
|
9571
|
+
"aria-hidden": "true",
|
|
9403
9572
|
className: cn(
|
|
9404
9573
|
"ml-1 shrink-0 transition-transform",
|
|
9405
9574
|
highlighted ? ts.selectedIcon : ts.defaultIcon
|
|
@@ -12864,6 +13033,7 @@ var TableHead = react.forwardRef(
|
|
|
12864
13033
|
{
|
|
12865
13034
|
name: sortDirection === "asc" ? "chevron-up" : "chevron-down",
|
|
12866
13035
|
size: "sm",
|
|
13036
|
+
"aria-hidden": "true",
|
|
12867
13037
|
className: cn("shrink-0", sortDirection ? "text-grey-700" : "text-grey-400")
|
|
12868
13038
|
}
|
|
12869
13039
|
)
|
|
@@ -13133,8 +13303,33 @@ function ThinSpinner({ size, color }) {
|
|
|
13133
13303
|
const r = size / 2 - 2;
|
|
13134
13304
|
const c = size / 2;
|
|
13135
13305
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, className: "animate-spin", children: [
|
|
13136
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13137
|
-
|
|
13306
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13307
|
+
"circle",
|
|
13308
|
+
{
|
|
13309
|
+
cx: c,
|
|
13310
|
+
cy: c,
|
|
13311
|
+
r,
|
|
13312
|
+
fill: "none",
|
|
13313
|
+
stroke: "currentColor",
|
|
13314
|
+
strokeWidth: 1.5,
|
|
13315
|
+
opacity: 0.2,
|
|
13316
|
+
className: color
|
|
13317
|
+
}
|
|
13318
|
+
),
|
|
13319
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13320
|
+
"circle",
|
|
13321
|
+
{
|
|
13322
|
+
cx: c,
|
|
13323
|
+
cy: c,
|
|
13324
|
+
r,
|
|
13325
|
+
fill: "none",
|
|
13326
|
+
stroke: "currentColor",
|
|
13327
|
+
strokeWidth: 1.5,
|
|
13328
|
+
strokeDasharray: `${r * Math.PI * 0.75} ${r * Math.PI * 1.25}`,
|
|
13329
|
+
strokeLinecap: "round",
|
|
13330
|
+
className: color
|
|
13331
|
+
}
|
|
13332
|
+
)
|
|
13138
13333
|
] });
|
|
13139
13334
|
}
|
|
13140
13335
|
function BoldSpinner({ size, color }) {
|
|
@@ -13142,8 +13337,33 @@ function BoldSpinner({ size, color }) {
|
|
|
13142
13337
|
const r = size / 2 - sw;
|
|
13143
13338
|
const c = size / 2;
|
|
13144
13339
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, className: "animate-spin", children: [
|
|
13145
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13146
|
-
|
|
13340
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13341
|
+
"circle",
|
|
13342
|
+
{
|
|
13343
|
+
cx: c,
|
|
13344
|
+
cy: c,
|
|
13345
|
+
r,
|
|
13346
|
+
fill: "none",
|
|
13347
|
+
stroke: "currentColor",
|
|
13348
|
+
strokeWidth: sw,
|
|
13349
|
+
opacity: 0.2,
|
|
13350
|
+
className: color
|
|
13351
|
+
}
|
|
13352
|
+
),
|
|
13353
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13354
|
+
"circle",
|
|
13355
|
+
{
|
|
13356
|
+
cx: c,
|
|
13357
|
+
cy: c,
|
|
13358
|
+
r,
|
|
13359
|
+
fill: "none",
|
|
13360
|
+
stroke: "currentColor",
|
|
13361
|
+
strokeWidth: sw,
|
|
13362
|
+
strokeDasharray: `${r * Math.PI * 0.75} ${r * Math.PI * 1.25}`,
|
|
13363
|
+
strokeLinecap: "round",
|
|
13364
|
+
className: color
|
|
13365
|
+
}
|
|
13366
|
+
)
|
|
13147
13367
|
] });
|
|
13148
13368
|
}
|
|
13149
13369
|
function DuoToneSpinner({ size, color }) {
|
|
@@ -13151,8 +13371,33 @@ function DuoToneSpinner({ size, color }) {
|
|
|
13151
13371
|
const r = size / 2 - sw;
|
|
13152
13372
|
const c = size / 2;
|
|
13153
13373
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, className: "animate-spin", children: [
|
|
13154
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13155
|
-
|
|
13374
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13375
|
+
"circle",
|
|
13376
|
+
{
|
|
13377
|
+
cx: c,
|
|
13378
|
+
cy: c,
|
|
13379
|
+
r,
|
|
13380
|
+
fill: "none",
|
|
13381
|
+
stroke: "currentColor",
|
|
13382
|
+
strokeWidth: sw,
|
|
13383
|
+
opacity: 0.15,
|
|
13384
|
+
className: color
|
|
13385
|
+
}
|
|
13386
|
+
),
|
|
13387
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13388
|
+
"circle",
|
|
13389
|
+
{
|
|
13390
|
+
cx: c,
|
|
13391
|
+
cy: c,
|
|
13392
|
+
r,
|
|
13393
|
+
fill: "none",
|
|
13394
|
+
stroke: "currentColor",
|
|
13395
|
+
strokeWidth: sw,
|
|
13396
|
+
strokeDasharray: `${r * Math.PI} ${r * Math.PI}`,
|
|
13397
|
+
strokeLinecap: "round",
|
|
13398
|
+
className: color
|
|
13399
|
+
}
|
|
13400
|
+
)
|
|
13156
13401
|
] });
|
|
13157
13402
|
}
|
|
13158
13403
|
function BufferingThinSpinner({ size, color }) {
|
|
@@ -13160,8 +13405,33 @@ function BufferingThinSpinner({ size, color }) {
|
|
|
13160
13405
|
const c = size / 2;
|
|
13161
13406
|
const circumference = 2 * Math.PI * r;
|
|
13162
13407
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, children: [
|
|
13163
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13164
|
-
|
|
13408
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13409
|
+
"circle",
|
|
13410
|
+
{
|
|
13411
|
+
cx: c,
|
|
13412
|
+
cy: c,
|
|
13413
|
+
r,
|
|
13414
|
+
fill: "none",
|
|
13415
|
+
stroke: "currentColor",
|
|
13416
|
+
strokeWidth: 1.5,
|
|
13417
|
+
opacity: 0.2,
|
|
13418
|
+
className: color
|
|
13419
|
+
}
|
|
13420
|
+
),
|
|
13421
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13422
|
+
"circle",
|
|
13423
|
+
{
|
|
13424
|
+
cx: c,
|
|
13425
|
+
cy: c,
|
|
13426
|
+
r,
|
|
13427
|
+
fill: "none",
|
|
13428
|
+
stroke: "currentColor",
|
|
13429
|
+
strokeWidth: 1.5,
|
|
13430
|
+
strokeLinecap: "round",
|
|
13431
|
+
className: cn(color, "animate-[spinner-dash_1.5s_ease-in-out_infinite]"),
|
|
13432
|
+
style: { strokeDasharray: circumference, transformOrigin: "center" }
|
|
13433
|
+
}
|
|
13434
|
+
)
|
|
13165
13435
|
] });
|
|
13166
13436
|
}
|
|
13167
13437
|
function BufferingBoldSpinner({ size, color }) {
|
|
@@ -13170,8 +13440,33 @@ function BufferingBoldSpinner({ size, color }) {
|
|
|
13170
13440
|
const c = size / 2;
|
|
13171
13441
|
const circumference = 2 * Math.PI * r;
|
|
13172
13442
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, children: [
|
|
13173
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13174
|
-
|
|
13443
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13444
|
+
"circle",
|
|
13445
|
+
{
|
|
13446
|
+
cx: c,
|
|
13447
|
+
cy: c,
|
|
13448
|
+
r,
|
|
13449
|
+
fill: "none",
|
|
13450
|
+
stroke: "currentColor",
|
|
13451
|
+
strokeWidth: sw,
|
|
13452
|
+
opacity: 0.2,
|
|
13453
|
+
className: color
|
|
13454
|
+
}
|
|
13455
|
+
),
|
|
13456
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13457
|
+
"circle",
|
|
13458
|
+
{
|
|
13459
|
+
cx: c,
|
|
13460
|
+
cy: c,
|
|
13461
|
+
r,
|
|
13462
|
+
fill: "none",
|
|
13463
|
+
stroke: "currentColor",
|
|
13464
|
+
strokeWidth: sw,
|
|
13465
|
+
strokeLinecap: "round",
|
|
13466
|
+
className: cn(color, "animate-[spinner-dash_1.5s_ease-in-out_infinite]"),
|
|
13467
|
+
style: { strokeDasharray: circumference, transformOrigin: "center" }
|
|
13468
|
+
}
|
|
13469
|
+
)
|
|
13175
13470
|
] });
|
|
13176
13471
|
}
|
|
13177
13472
|
function DotSpinner({ size, color }) {
|
|
@@ -13182,14 +13477,36 @@ function DotSpinner({ size, color }) {
|
|
|
13182
13477
|
const angle = i * 45 * Math.PI / 180;
|
|
13183
13478
|
const x = c + r * Math.cos(angle);
|
|
13184
13479
|
const y = c + r * Math.sin(angle);
|
|
13185
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13480
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13481
|
+
"circle",
|
|
13482
|
+
{
|
|
13483
|
+
cx: x,
|
|
13484
|
+
cy: y,
|
|
13485
|
+
r: dotSize / 2,
|
|
13486
|
+
fill: "currentColor",
|
|
13487
|
+
opacity: 0.15 + i / 8 * 0.85,
|
|
13488
|
+
className: color
|
|
13489
|
+
},
|
|
13490
|
+
i
|
|
13491
|
+
);
|
|
13186
13492
|
}) });
|
|
13187
13493
|
}
|
|
13188
13494
|
function JugglingSpinner({ size, color }) {
|
|
13189
13495
|
const dotSize = Math.max(3, size * 0.18);
|
|
13190
13496
|
return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, children: [0, 1, 2].map((i) => {
|
|
13191
13497
|
const cx = size / 2 + (i - 1) * (size * 0.35);
|
|
13192
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13498
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13499
|
+
"circle",
|
|
13500
|
+
{
|
|
13501
|
+
cx,
|
|
13502
|
+
cy: size / 2,
|
|
13503
|
+
r: dotSize / 2,
|
|
13504
|
+
fill: "currentColor",
|
|
13505
|
+
className: cn(color, "animate-[juggle_1.4s_ease-in-out_infinite]"),
|
|
13506
|
+
style: { animationDelay: `${i * 0.16}s` }
|
|
13507
|
+
},
|
|
13508
|
+
i
|
|
13509
|
+
);
|
|
13193
13510
|
}) });
|
|
13194
13511
|
}
|
|
13195
13512
|
var Spinner = react.forwardRef(
|
|
@@ -13248,7 +13565,19 @@ var Spinner = react.forwardRef(
|
|
|
13248
13565
|
);
|
|
13249
13566
|
Spinner.displayName = "Spinner";
|
|
13250
13567
|
function CheckIcon({ className }) {
|
|
13251
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13568
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
13569
|
+
"svg",
|
|
13570
|
+
{
|
|
13571
|
+
className,
|
|
13572
|
+
viewBox: "0 0 24 24",
|
|
13573
|
+
fill: "none",
|
|
13574
|
+
stroke: "currentColor",
|
|
13575
|
+
strokeWidth: 3,
|
|
13576
|
+
strokeLinecap: "round",
|
|
13577
|
+
strokeLinejoin: "round",
|
|
13578
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12l5 5L20 7" })
|
|
13579
|
+
}
|
|
13580
|
+
);
|
|
13252
13581
|
}
|
|
13253
13582
|
function StepCircle({
|
|
13254
13583
|
status,
|
|
@@ -13277,7 +13606,16 @@ function StepCircle({
|
|
|
13277
13606
|
isActive ? "bg-primary-400 border-primary-400" : isDisabled ? "bg-grey-300 border-grey-300" : "bg-grey-400 border-grey-300"
|
|
13278
13607
|
)
|
|
13279
13608
|
}
|
|
13280
|
-
) : indicator === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13609
|
+
) : indicator === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13610
|
+
"span",
|
|
13611
|
+
{
|
|
13612
|
+
className: cn(
|
|
13613
|
+
"text-xs font-medium",
|
|
13614
|
+
isActive ? "text-primary-400" : isDisabled ? "text-grey-300" : "text-grey-500"
|
|
13615
|
+
),
|
|
13616
|
+
children: stepNumber
|
|
13617
|
+
}
|
|
13618
|
+
) : icon ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13281
13619
|
"div",
|
|
13282
13620
|
{
|
|
13283
13621
|
className: cn(
|
|
@@ -13293,7 +13631,20 @@ function Connector({
|
|
|
13293
13631
|
orientation,
|
|
13294
13632
|
completed
|
|
13295
13633
|
}) {
|
|
13296
|
-
return orientation === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13634
|
+
return orientation === "horizontal" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13635
|
+
"div",
|
|
13636
|
+
{
|
|
13637
|
+
className: cn("flex-1 h-0.5 rounded-full", completed ? "bg-primary-400" : "bg-grey-300")
|
|
13638
|
+
}
|
|
13639
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
13640
|
+
"div",
|
|
13641
|
+
{
|
|
13642
|
+
className: cn(
|
|
13643
|
+
"w-0.5 flex-1 min-h-[20px] ml-[11px] rounded-full",
|
|
13644
|
+
completed ? "bg-primary-400" : "bg-grey-300"
|
|
13645
|
+
)
|
|
13646
|
+
}
|
|
13647
|
+
);
|
|
13297
13648
|
}
|
|
13298
13649
|
function resolveStatuses(steps, activeStep) {
|
|
13299
13650
|
if (activeStep !== void 0) {
|
|
@@ -13307,14 +13658,7 @@ function resolveStatuses(steps, activeStep) {
|
|
|
13307
13658
|
return steps.map((s) => s.status ?? "incomplete");
|
|
13308
13659
|
}
|
|
13309
13660
|
var Stepper = react.forwardRef(
|
|
13310
|
-
({
|
|
13311
|
-
steps,
|
|
13312
|
-
activeStep,
|
|
13313
|
-
orientation = "horizontal",
|
|
13314
|
-
indicator = "dot",
|
|
13315
|
-
className,
|
|
13316
|
-
...rest
|
|
13317
|
-
}, ref) => {
|
|
13661
|
+
({ steps, activeStep, orientation = "horizontal", indicator = "dot", className, ...rest }, ref) => {
|
|
13318
13662
|
const statuses = resolveStatuses(steps, activeStep);
|
|
13319
13663
|
if (orientation === "vertical") {
|
|
13320
13664
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("flex flex-col", className), ...rest, children: steps.map((step, i) => {
|
|
@@ -13322,7 +13666,15 @@ var Stepper = react.forwardRef(
|
|
|
13322
13666
|
const isLast = i === steps.length - 1;
|
|
13323
13667
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
|
|
13324
13668
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
|
|
13325
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13669
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13670
|
+
StepCircle,
|
|
13671
|
+
{
|
|
13672
|
+
status,
|
|
13673
|
+
indicator,
|
|
13674
|
+
stepNumber: i + 1,
|
|
13675
|
+
icon: step.icon
|
|
13676
|
+
}
|
|
13677
|
+
),
|
|
13326
13678
|
!isLast && /* @__PURE__ */ jsxRuntime.jsx(Connector, { orientation: "vertical", completed: status === "completed" })
|
|
13327
13679
|
] }),
|
|
13328
13680
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col pb-6", children: [
|
|
@@ -13346,8 +13698,22 @@ var Stepper = react.forwardRef(
|
|
|
13346
13698
|
const isLast = i === steps.length - 1;
|
|
13347
13699
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col flex-1 items-center gap-2.5", children: [
|
|
13348
13700
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 w-full", children: [
|
|
13349
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13350
|
-
|
|
13701
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13702
|
+
Connector,
|
|
13703
|
+
{
|
|
13704
|
+
orientation: "horizontal",
|
|
13705
|
+
completed: i > 0 && statuses[i - 1] === "completed"
|
|
13706
|
+
}
|
|
13707
|
+
),
|
|
13708
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13709
|
+
StepCircle,
|
|
13710
|
+
{
|
|
13711
|
+
status,
|
|
13712
|
+
indicator,
|
|
13713
|
+
stepNumber: i + 1,
|
|
13714
|
+
icon: step.icon
|
|
13715
|
+
}
|
|
13716
|
+
),
|
|
13351
13717
|
/* @__PURE__ */ jsxRuntime.jsx(Connector, { orientation: "horizontal", completed: !isLast && status === "completed" })
|
|
13352
13718
|
] }),
|
|
13353
13719
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 text-center w-full", children: [
|
|
@@ -13718,6 +14084,8 @@ var Select = react.forwardRef(
|
|
|
13718
14084
|
const [open, setOpen] = react.useState(false);
|
|
13719
14085
|
const value = controlledValue ?? internalValue;
|
|
13720
14086
|
const listboxId = react.useId();
|
|
14087
|
+
const labelId = react.useId();
|
|
14088
|
+
const helperId = react.useId();
|
|
13721
14089
|
const containerRef = react.useRef(null);
|
|
13722
14090
|
const triggerRef = react.useRef(null);
|
|
13723
14091
|
const listRef = react.useRef(null);
|
|
@@ -13814,7 +14182,7 @@ var Select = react.forwardRef(
|
|
|
13814
14182
|
className: cn("relative flex flex-col gap-2 w-full", wrapperClassName),
|
|
13815
14183
|
...rest,
|
|
13816
14184
|
children: [
|
|
13817
|
-
label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-grey-900 leading-[1.45]", children: label }),
|
|
14185
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("label", { id: labelId, className: "text-sm font-medium text-grey-900 leading-[1.45]", children: label }),
|
|
13818
14186
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13819
14187
|
"button",
|
|
13820
14188
|
{
|
|
@@ -13824,6 +14192,8 @@ var Select = react.forwardRef(
|
|
|
13824
14192
|
"aria-expanded": open,
|
|
13825
14193
|
"aria-haspopup": "listbox",
|
|
13826
14194
|
"aria-controls": listboxId,
|
|
14195
|
+
"aria-labelledby": label ? labelId : void 0,
|
|
14196
|
+
"aria-describedby": helperText ? helperId : void 0,
|
|
13827
14197
|
disabled,
|
|
13828
14198
|
onClick: () => !disabled && setOpen(!open),
|
|
13829
14199
|
className: cn(
|
|
@@ -13850,6 +14220,7 @@ var Select = react.forwardRef(
|
|
|
13850
14220
|
{
|
|
13851
14221
|
name: "chevron-down",
|
|
13852
14222
|
size: "md",
|
|
14223
|
+
"aria-hidden": "true",
|
|
13853
14224
|
className: cn(
|
|
13854
14225
|
"shrink-0 transition-transform",
|
|
13855
14226
|
open && "rotate-180",
|
|
@@ -13860,7 +14231,7 @@ var Select = react.forwardRef(
|
|
|
13860
14231
|
]
|
|
13861
14232
|
}
|
|
13862
14233
|
),
|
|
13863
|
-
helperText && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-grey-500 leading-[1.45]", children: helperText }),
|
|
14234
|
+
helperText && /* @__PURE__ */ jsxRuntime.jsx("p", { id: helperId, className: "text-sm text-grey-500 leading-[1.45]", children: helperText }),
|
|
13864
14235
|
open && /* @__PURE__ */ jsxRuntime.jsx(SelectContext.Provider, { value: { value, onSelect, open }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13865
14236
|
"div",
|
|
13866
14237
|
{
|
|
@@ -13964,7 +14335,7 @@ var ActivityItem = react.forwardRef(
|
|
|
13964
14335
|
}, ref) => {
|
|
13965
14336
|
const hasConnectorAbove = connector === "middle" || connector === "last";
|
|
13966
14337
|
const hasConnectorBelow = connector === "top" || connector === "middle";
|
|
13967
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("
|
|
14338
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("article", { ref, className: cn("flex gap-3 items-start", className), ...rest, children: [
|
|
13968
14339
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13969
14340
|
"div",
|
|
13970
14341
|
{
|
|
@@ -13973,9 +14344,9 @@ var ActivityItem = react.forwardRef(
|
|
|
13973
14344
|
(connector === "last" || !connector) && "justify-start"
|
|
13974
14345
|
),
|
|
13975
14346
|
children: [
|
|
13976
|
-
hasConnectorAbove && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-2 w-px bg-grey-100" }),
|
|
14347
|
+
hasConnectorAbove && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-2 w-px bg-grey-100", "aria-hidden": "true" }),
|
|
13977
14348
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 size-8", children: avatar }),
|
|
13978
|
-
hasConnectorBelow && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 w-px bg-grey-100" })
|
|
14349
|
+
hasConnectorBelow && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 w-px bg-grey-100", "aria-hidden": "true" })
|
|
13979
14350
|
]
|
|
13980
14351
|
}
|
|
13981
14352
|
),
|
|
@@ -13992,7 +14363,8 @@ var ActivityItem = react.forwardRef(
|
|
|
13992
14363
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 w-full", children: [
|
|
13993
14364
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full", children: [
|
|
13994
14365
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 items-start gap-1 min-w-0", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm leading-5 text-grey-600", children: text }) }),
|
|
13995
|
-
unread && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-2 rounded-full bg-[#04802E] border-[1.5px] border-white" })
|
|
14366
|
+
unread && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 size-2 rounded-full bg-[#04802E] border-[1.5px] border-white", "aria-hidden": "true" }),
|
|
14367
|
+
unread && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Unread" })
|
|
13996
14368
|
] }),
|
|
13997
14369
|
(date || time || link || badge) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-1 w-full", children: [
|
|
13998
14370
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-start min-w-0", children: [
|