@mlw-packages/react-components 1.0.0 → 1.3.1
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.css +504 -0
- package/dist/index.d.mts +539 -520
- package/dist/index.d.ts +539 -520
- package/dist/index.js +193 -66
- package/dist/index.mjs +190 -66
- package/package.json +6 -5
package/dist/index.js
CHANGED
|
@@ -106,6 +106,9 @@ __export(index_exports, {
|
|
|
106
106
|
PopoverContentBase: () => PopoverContentBase,
|
|
107
107
|
PopoverTriggerBase: () => PopoverTriggerBase,
|
|
108
108
|
ProgressBase: () => ProgressBase,
|
|
109
|
+
ProgressCirclesBase: () => ProgressCirclesBase,
|
|
110
|
+
ProgressPanelsBase: () => ProgressPanelsBase,
|
|
111
|
+
ProgressSegmentsBase: () => ProgressSegmentsBase,
|
|
109
112
|
ScrollAreaBase: () => ScrollAreaBase,
|
|
110
113
|
ScrollBarBase: () => ScrollBarBase,
|
|
111
114
|
Select: () => Select,
|
|
@@ -207,7 +210,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
207
210
|
var buttonVariantsBase = (0, import_class_variance_authority.cva)(
|
|
208
211
|
`
|
|
209
212
|
inline-flex items-center justify-center gap-2
|
|
210
|
-
whitespace-nowrap rounded-md text-sm
|
|
213
|
+
whitespace-nowrap rounded-md text-sm
|
|
211
214
|
transition-all duration-200
|
|
212
215
|
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
213
216
|
disabled:pointer-events-none disabled:opacity-50
|
|
@@ -231,7 +234,11 @@ var buttonVariantsBase = (0, import_class_variance_authority.cva)(
|
|
|
231
234
|
hover:bg-accent hover:text-accent-foreground hover:shadow-md
|
|
232
235
|
`,
|
|
233
236
|
secondary: `
|
|
234
|
-
|
|
237
|
+
<<<<<<< HEAD
|
|
238
|
+
bg-secondary border border-transparent text-secondary-foreground shadow-sm
|
|
239
|
+
=======
|
|
240
|
+
bg-secondary text-secondary-foreground shadow-sm border border-transparent
|
|
241
|
+
>>>>>>> origin/improvements/Home
|
|
235
242
|
hover:opacity-80 hover:shadow-md
|
|
236
243
|
`,
|
|
237
244
|
ghost: `
|
|
@@ -573,7 +580,7 @@ var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
|
573
580
|
var LabelBase = React5.forwardRef(
|
|
574
581
|
({ className, asChild = false, ...props }, ref) => {
|
|
575
582
|
const Comp = asChild ? import_react_slot2.Slot : "label";
|
|
576
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_label.Label, {
|
|
583
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_label.Label, { children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
577
584
|
Comp,
|
|
578
585
|
{
|
|
579
586
|
ref,
|
|
@@ -597,25 +604,42 @@ var React8 = __toESM(require("react"));
|
|
|
597
604
|
var React6 = __toESM(require("react"));
|
|
598
605
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
599
606
|
var InputBase = React6.forwardRef(
|
|
600
|
-
({
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
607
|
+
({
|
|
608
|
+
className,
|
|
609
|
+
type = "text",
|
|
610
|
+
label,
|
|
611
|
+
labelClassname,
|
|
612
|
+
leftIcon,
|
|
613
|
+
rightIcon,
|
|
614
|
+
...props
|
|
615
|
+
}, ref) => {
|
|
616
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col w-full min-w-[150px]", children: [
|
|
617
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(LabelBase_default, { className: labelClassname, children: label }),
|
|
618
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
619
|
+
"div",
|
|
620
|
+
{
|
|
621
|
+
className: cn(
|
|
622
|
+
"flex items-center border border-input rounded-md transition focus-within:ring-1 focus-within:ring-ring focus-within:border-ring bg-white dark:bg-[hsl(231,15%,19%)] overflow-hidden",
|
|
623
|
+
type === "file" && "border-none p-0"
|
|
624
|
+
),
|
|
625
|
+
children: [
|
|
626
|
+
leftIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex items-center justify-center px-2", children: leftIcon }),
|
|
627
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
628
|
+
"input",
|
|
629
|
+
{
|
|
630
|
+
type,
|
|
631
|
+
className: cn(
|
|
632
|
+
"w-full flex-1 text-sm leading-tight py-2 px-3 focus:outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 bg-white dark:bg-[hsl(231,15%,19%)]",
|
|
633
|
+
className
|
|
634
|
+
),
|
|
635
|
+
ref,
|
|
636
|
+
...props
|
|
637
|
+
}
|
|
612
638
|
),
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
rightIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex items-center justify-center px-2", children: rightIcon })
|
|
618
|
-
] })
|
|
639
|
+
rightIcon && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex items-center justify-center px-2", children: rightIcon })
|
|
640
|
+
]
|
|
641
|
+
}
|
|
642
|
+
)
|
|
619
643
|
] });
|
|
620
644
|
}
|
|
621
645
|
);
|
|
@@ -1073,16 +1097,23 @@ var DropDownMenuContentBase = React10.forwardRef(({ className, sideOffset = 4, .
|
|
|
1073
1097
|
}
|
|
1074
1098
|
) }) }));
|
|
1075
1099
|
DropDownMenuContentBase.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1076
|
-
var DropDownMenuItemBase = React10.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.
|
|
1100
|
+
var DropDownMenuItemBase = React10.forwardRef(({ className, inset, leftIcon, rightIcon, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1077
1101
|
DropdownMenuPrimitive.Item,
|
|
1078
1102
|
{
|
|
1079
1103
|
ref,
|
|
1080
1104
|
className: cn(
|
|
1081
|
-
"relative flex cursor-default select-none items-center
|
|
1105
|
+
"relative flex cursor-default select-none items-center justify-between rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1082
1106
|
inset && "pl-8",
|
|
1083
1107
|
className
|
|
1084
1108
|
),
|
|
1085
|
-
...props
|
|
1109
|
+
...props,
|
|
1110
|
+
children: [
|
|
1111
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
1112
|
+
leftIcon && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "[&>svg]:size-4", children: leftIcon }),
|
|
1113
|
+
children
|
|
1114
|
+
] }),
|
|
1115
|
+
rightIcon && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "[&>svg]:size-4", children: rightIcon })
|
|
1116
|
+
]
|
|
1086
1117
|
}
|
|
1087
1118
|
));
|
|
1088
1119
|
DropDownMenuItemBase.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
@@ -1401,7 +1432,7 @@ function ComboboxBase({
|
|
|
1401
1432
|
]
|
|
1402
1433
|
}
|
|
1403
1434
|
) }),
|
|
1404
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(PopoverContentBase, { className: "max-h-[--radix-popover-content-available-height] w-[--radix-popover-trigger-width] p-0", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(CommandBase, { className: "dark:text-white", children: [
|
|
1435
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(PopoverContentBase, { className: "max-h-[--radix-popover-content-available-height] w-[--radix-popover-trigger-width] p-0 border-none", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(CommandBase, { className: "dark:text-white", children: [
|
|
1405
1436
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1406
1437
|
CommandInputBase,
|
|
1407
1438
|
{
|
|
@@ -1989,51 +2020,144 @@ FormMessageBase.displayName = "FormMessageBase";
|
|
|
1989
2020
|
var React18 = __toESM(require("react"));
|
|
1990
2021
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
|
|
1991
2022
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1992
|
-
var ProgressBase = React18.forwardRef(
|
|
1993
|
-
({
|
|
1994
|
-
className,
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2008
|
-
ProgressPrimitive.
|
|
2023
|
+
var ProgressBase = React18.forwardRef(({ className, value, label, leftIcon, rightIcon, ...props }, ref) => {
|
|
2024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
|
|
2025
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(LabelBase_default, { className: "py-2", children: label }),
|
|
2026
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
2027
|
+
leftIcon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex items-center justify-center", children: leftIcon }),
|
|
2028
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2029
|
+
ProgressPrimitive.Root,
|
|
2030
|
+
{
|
|
2031
|
+
ref,
|
|
2032
|
+
className: cn(
|
|
2033
|
+
"relative h-3 w-full overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-800 shadow-inner transition-all",
|
|
2034
|
+
className
|
|
2035
|
+
),
|
|
2036
|
+
value,
|
|
2037
|
+
...props,
|
|
2038
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2039
|
+
ProgressPrimitive.Indicator,
|
|
2009
2040
|
{
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
"relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
|
|
2013
|
-
className
|
|
2014
|
-
),
|
|
2015
|
-
value,
|
|
2016
|
-
...props,
|
|
2017
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2018
|
-
ProgressPrimitive.Indicator,
|
|
2019
|
-
{
|
|
2020
|
-
className: "h-full w-full flex-1 bg-primary transition-all ",
|
|
2021
|
-
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
2022
|
-
}
|
|
2023
|
-
)
|
|
2041
|
+
className: "h-full w-full flex-1 bg-primary transition-all duration-500 ease-in-out",
|
|
2042
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
2024
2043
|
}
|
|
2025
|
-
)
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2044
|
+
)
|
|
2045
|
+
}
|
|
2046
|
+
),
|
|
2047
|
+
rightIcon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex items-center justify-center", children: rightIcon })
|
|
2048
|
+
] })
|
|
2049
|
+
] });
|
|
2050
|
+
});
|
|
2051
|
+
ProgressBase.displayName = "ProgressBase";
|
|
2052
|
+
var ProgressSegmentsBase = ({
|
|
2053
|
+
label,
|
|
2054
|
+
segments,
|
|
2055
|
+
value
|
|
2056
|
+
}) => {
|
|
2057
|
+
const filled = Math.round(value / 100 * segments);
|
|
2058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
|
|
2059
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(LabelBase_default, { className: "py-2", children: label }),
|
|
2060
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex gap-1 w-full", children: Array.from({ length: segments }).map((_, idx) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2061
|
+
"div",
|
|
2062
|
+
{
|
|
2063
|
+
className: cn(
|
|
2064
|
+
"h-2 flex-1 rounded-full transition-all duration-300",
|
|
2065
|
+
idx < filled ? "bg-primary" : "bg-zinc-300 hover:bg-zinc-400"
|
|
2066
|
+
)
|
|
2067
|
+
},
|
|
2068
|
+
idx
|
|
2069
|
+
)) })
|
|
2070
|
+
] });
|
|
2071
|
+
};
|
|
2072
|
+
var ArrowRightIcon = () => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2073
|
+
"svg",
|
|
2074
|
+
{
|
|
2075
|
+
className: "w-6 h-6 text-zinc-400 transition-transform duration-300 group-hover:translate-x-1",
|
|
2076
|
+
fill: "none",
|
|
2077
|
+
stroke: "currentColor",
|
|
2078
|
+
strokeWidth: 2,
|
|
2079
|
+
viewBox: "0 0 24 24",
|
|
2080
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2081
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" })
|
|
2034
2082
|
}
|
|
2035
2083
|
);
|
|
2036
|
-
|
|
2084
|
+
var ProgressPanelsBase = ({
|
|
2085
|
+
label,
|
|
2086
|
+
steps,
|
|
2087
|
+
currentStep
|
|
2088
|
+
}) => {
|
|
2089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-1 w-full", children: [
|
|
2090
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(LabelBase_default, { className: "py-2", children: label }),
|
|
2091
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex w-full gap-1 rounded-lg overflow-hidden", children: steps.map((step, idx) => {
|
|
2092
|
+
const isActive = idx === currentStep;
|
|
2093
|
+
const isLast = idx === steps.length - 1;
|
|
2094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(React18.Fragment, { children: [
|
|
2095
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2096
|
+
"div",
|
|
2097
|
+
{
|
|
2098
|
+
className: cn(
|
|
2099
|
+
"relative flex items-center justify-center cursor-pointer select-none rounded-lg border transition-shadow duration-300 ease-in-out",
|
|
2100
|
+
"hover:shadow-md hover:z-10",
|
|
2101
|
+
"aspect-[5/1] min-w-[90px] px-4",
|
|
2102
|
+
isActive ? "bg-primary/20 border-2 border-primary shadow-lg font-semibold" : "border-zinc-300"
|
|
2103
|
+
),
|
|
2104
|
+
style: { flex: "1 1 0" },
|
|
2105
|
+
children: [
|
|
2106
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "truncate", children: step }),
|
|
2107
|
+
isActive && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "absolute bottom-0 left-0 h-1 w-full animate-pulse rounded-b-lg" })
|
|
2108
|
+
]
|
|
2109
|
+
}
|
|
2110
|
+
),
|
|
2111
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex items-center px-2 group", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ArrowRightIcon, {}) })
|
|
2112
|
+
] }, idx);
|
|
2113
|
+
}) })
|
|
2114
|
+
] });
|
|
2115
|
+
};
|
|
2116
|
+
var ProgressCirclesBase = ({
|
|
2117
|
+
label,
|
|
2118
|
+
steps,
|
|
2119
|
+
currentStep
|
|
2120
|
+
}) => {
|
|
2121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-col gap-2 w-full", children: [
|
|
2122
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("label", { className: "py-2 text-base font-semibold text-gray-700 dark:text-gray-300", children: label }),
|
|
2123
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "relative flex items-center justify-between w-full", children: [
|
|
2124
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "absolute top-5 left-0 w-full h-1 bg-zinc-200 dark:bg-zinc-700" }),
|
|
2125
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2126
|
+
"div",
|
|
2127
|
+
{
|
|
2128
|
+
className: "absolute top-5 left-0 h-1 bg-primary transition-all duration-300",
|
|
2129
|
+
style: {
|
|
2130
|
+
width: `${currentStep / (steps.length - 1) * 100}%`
|
|
2131
|
+
}
|
|
2132
|
+
}
|
|
2133
|
+
),
|
|
2134
|
+
steps.map((step, idx) => {
|
|
2135
|
+
const isActive = idx <= currentStep;
|
|
2136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2137
|
+
"div",
|
|
2138
|
+
{
|
|
2139
|
+
className: "relative flex flex-col items-center w-10",
|
|
2140
|
+
style: { zIndex: isActive ? 10 : 1 },
|
|
2141
|
+
children: [
|
|
2142
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2143
|
+
"div",
|
|
2144
|
+
{
|
|
2145
|
+
className: cn(
|
|
2146
|
+
"w-10 h-10 rounded-full flex items-center justify-center font-bold text-sm transition-all duration-300 cursor-pointer select-none",
|
|
2147
|
+
isActive ? "bg-primary text-white dark:text-black shadow-md" : "bg-zinc-200 text-zinc-500 hover:bg-zinc-300 dark:bg-zinc-500 dark:text-black"
|
|
2148
|
+
),
|
|
2149
|
+
children: idx + 1
|
|
2150
|
+
}
|
|
2151
|
+
),
|
|
2152
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-xs text-center font-medium mt-1 max-w-[80px] break-words", children: step })
|
|
2153
|
+
]
|
|
2154
|
+
},
|
|
2155
|
+
idx
|
|
2156
|
+
);
|
|
2157
|
+
})
|
|
2158
|
+
] })
|
|
2159
|
+
] });
|
|
2160
|
+
};
|
|
2037
2161
|
|
|
2038
2162
|
// src/components/ui/SeparatorBase.tsx
|
|
2039
2163
|
var React19 = __toESM(require("react"));
|
|
@@ -3268,6 +3392,9 @@ function buildFilterSummary(filter, availableFilters) {
|
|
|
3268
3392
|
PopoverContentBase,
|
|
3269
3393
|
PopoverTriggerBase,
|
|
3270
3394
|
ProgressBase,
|
|
3395
|
+
ProgressCirclesBase,
|
|
3396
|
+
ProgressPanelsBase,
|
|
3397
|
+
ProgressSegmentsBase,
|
|
3271
3398
|
ScrollAreaBase,
|
|
3272
3399
|
ScrollBarBase,
|
|
3273
3400
|
Select,
|
package/dist/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
19
19
|
var buttonVariantsBase = cva(
|
|
20
20
|
`
|
|
21
21
|
inline-flex items-center justify-center gap-2
|
|
22
|
-
whitespace-nowrap rounded-md text-sm
|
|
22
|
+
whitespace-nowrap rounded-md text-sm
|
|
23
23
|
transition-all duration-200
|
|
24
24
|
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2
|
|
25
25
|
disabled:pointer-events-none disabled:opacity-50
|
|
@@ -43,7 +43,11 @@ var buttonVariantsBase = cva(
|
|
|
43
43
|
hover:bg-accent hover:text-accent-foreground hover:shadow-md
|
|
44
44
|
`,
|
|
45
45
|
secondary: `
|
|
46
|
-
|
|
46
|
+
<<<<<<< HEAD
|
|
47
|
+
bg-secondary border border-transparent text-secondary-foreground shadow-sm
|
|
48
|
+
=======
|
|
49
|
+
bg-secondary text-secondary-foreground shadow-sm border border-transparent
|
|
50
|
+
>>>>>>> origin/improvements/Home
|
|
47
51
|
hover:opacity-80 hover:shadow-md
|
|
48
52
|
`,
|
|
49
53
|
ghost: `
|
|
@@ -385,7 +389,7 @@ import { jsx as jsx6 } from "react/jsx-runtime";
|
|
|
385
389
|
var LabelBase = React5.forwardRef(
|
|
386
390
|
({ className, asChild = false, ...props }, ref) => {
|
|
387
391
|
const Comp = asChild ? Slot2 : "label";
|
|
388
|
-
return /* @__PURE__ */ jsx6(RadixLabel, {
|
|
392
|
+
return /* @__PURE__ */ jsx6(RadixLabel, { children: /* @__PURE__ */ jsx6(
|
|
389
393
|
Comp,
|
|
390
394
|
{
|
|
391
395
|
ref,
|
|
@@ -409,25 +413,42 @@ import * as React8 from "react";
|
|
|
409
413
|
import * as React6 from "react";
|
|
410
414
|
import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
411
415
|
var InputBase = React6.forwardRef(
|
|
412
|
-
({
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
416
|
+
({
|
|
417
|
+
className,
|
|
418
|
+
type = "text",
|
|
419
|
+
label,
|
|
420
|
+
labelClassname,
|
|
421
|
+
leftIcon,
|
|
422
|
+
rightIcon,
|
|
423
|
+
...props
|
|
424
|
+
}, ref) => {
|
|
425
|
+
return /* @__PURE__ */ jsxs3("div", { className: "flex flex-col w-full min-w-[150px]", children: [
|
|
426
|
+
label && /* @__PURE__ */ jsx7(LabelBase_default, { className: labelClassname, children: label }),
|
|
427
|
+
/* @__PURE__ */ jsxs3(
|
|
428
|
+
"div",
|
|
429
|
+
{
|
|
430
|
+
className: cn(
|
|
431
|
+
"flex items-center border border-input rounded-md transition focus-within:ring-1 focus-within:ring-ring focus-within:border-ring bg-white dark:bg-[hsl(231,15%,19%)] overflow-hidden",
|
|
432
|
+
type === "file" && "border-none p-0"
|
|
433
|
+
),
|
|
434
|
+
children: [
|
|
435
|
+
leftIcon && /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-center px-2", children: leftIcon }),
|
|
436
|
+
/* @__PURE__ */ jsx7(
|
|
437
|
+
"input",
|
|
438
|
+
{
|
|
439
|
+
type,
|
|
440
|
+
className: cn(
|
|
441
|
+
"w-full flex-1 text-sm leading-tight py-2 px-3 focus:outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 bg-white dark:bg-[hsl(231,15%,19%)]",
|
|
442
|
+
className
|
|
443
|
+
),
|
|
444
|
+
ref,
|
|
445
|
+
...props
|
|
446
|
+
}
|
|
424
447
|
),
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
rightIcon && /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-center px-2", children: rightIcon })
|
|
430
|
-
] })
|
|
448
|
+
rightIcon && /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-center px-2", children: rightIcon })
|
|
449
|
+
]
|
|
450
|
+
}
|
|
451
|
+
)
|
|
431
452
|
] });
|
|
432
453
|
}
|
|
433
454
|
);
|
|
@@ -885,16 +906,23 @@ var DropDownMenuContentBase = React10.forwardRef(({ className, sideOffset = 4, .
|
|
|
885
906
|
}
|
|
886
907
|
) }) }));
|
|
887
908
|
DropDownMenuContentBase.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
888
|
-
var DropDownMenuItemBase = React10.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */
|
|
909
|
+
var DropDownMenuItemBase = React10.forwardRef(({ className, inset, leftIcon, rightIcon, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
889
910
|
DropdownMenuPrimitive.Item,
|
|
890
911
|
{
|
|
891
912
|
ref,
|
|
892
913
|
className: cn(
|
|
893
|
-
"relative flex cursor-default select-none items-center
|
|
914
|
+
"relative flex cursor-default select-none items-center justify-between rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
894
915
|
inset && "pl-8",
|
|
895
916
|
className
|
|
896
917
|
),
|
|
897
|
-
...props
|
|
918
|
+
...props,
|
|
919
|
+
children: [
|
|
920
|
+
/* @__PURE__ */ jsxs6("div", { className: "flex items-center gap-2", children: [
|
|
921
|
+
leftIcon && /* @__PURE__ */ jsx11("span", { className: "[&>svg]:size-4", children: leftIcon }),
|
|
922
|
+
children
|
|
923
|
+
] }),
|
|
924
|
+
rightIcon && /* @__PURE__ */ jsx11("span", { className: "[&>svg]:size-4", children: rightIcon })
|
|
925
|
+
]
|
|
898
926
|
}
|
|
899
927
|
));
|
|
900
928
|
DropDownMenuItemBase.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
@@ -1213,7 +1241,7 @@ function ComboboxBase({
|
|
|
1213
1241
|
]
|
|
1214
1242
|
}
|
|
1215
1243
|
) }),
|
|
1216
|
-
/* @__PURE__ */ jsx16(PopoverContentBase, { className: "max-h-[--radix-popover-content-available-height] w-[--radix-popover-trigger-width] p-0", children: /* @__PURE__ */ jsxs9(CommandBase, { className: "dark:text-white", children: [
|
|
1244
|
+
/* @__PURE__ */ jsx16(PopoverContentBase, { className: "max-h-[--radix-popover-content-available-height] w-[--radix-popover-trigger-width] p-0 border-none", children: /* @__PURE__ */ jsxs9(CommandBase, { className: "dark:text-white", children: [
|
|
1217
1245
|
/* @__PURE__ */ jsx16(
|
|
1218
1246
|
CommandInputBase,
|
|
1219
1247
|
{
|
|
@@ -1805,51 +1833,144 @@ FormMessageBase.displayName = "FormMessageBase";
|
|
|
1805
1833
|
import * as React18 from "react";
|
|
1806
1834
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
1807
1835
|
import { jsx as jsx26, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1808
|
-
var ProgressBase = React18.forwardRef(
|
|
1809
|
-
({
|
|
1810
|
-
className,
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
/* @__PURE__ */ jsx26(
|
|
1824
|
-
ProgressPrimitive.
|
|
1836
|
+
var ProgressBase = React18.forwardRef(({ className, value, label, leftIcon, rightIcon, ...props }, ref) => {
|
|
1837
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
|
|
1838
|
+
label && /* @__PURE__ */ jsx26(LabelBase_default, { className: "py-2", children: label }),
|
|
1839
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
|
|
1840
|
+
leftIcon && /* @__PURE__ */ jsx26("div", { className: "flex items-center justify-center", children: leftIcon }),
|
|
1841
|
+
/* @__PURE__ */ jsx26(
|
|
1842
|
+
ProgressPrimitive.Root,
|
|
1843
|
+
{
|
|
1844
|
+
ref,
|
|
1845
|
+
className: cn(
|
|
1846
|
+
"relative h-3 w-full overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-800 shadow-inner transition-all",
|
|
1847
|
+
className
|
|
1848
|
+
),
|
|
1849
|
+
value,
|
|
1850
|
+
...props,
|
|
1851
|
+
children: /* @__PURE__ */ jsx26(
|
|
1852
|
+
ProgressPrimitive.Indicator,
|
|
1825
1853
|
{
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
"relative h-2 w-full overflow-hidden rounded-full bg-primary/20",
|
|
1829
|
-
className
|
|
1830
|
-
),
|
|
1831
|
-
value,
|
|
1832
|
-
...props,
|
|
1833
|
-
children: /* @__PURE__ */ jsx26(
|
|
1834
|
-
ProgressPrimitive.Indicator,
|
|
1835
|
-
{
|
|
1836
|
-
className: "h-full w-full flex-1 bg-primary transition-all ",
|
|
1837
|
-
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
1838
|
-
}
|
|
1839
|
-
)
|
|
1854
|
+
className: "h-full w-full flex-1 bg-primary transition-all duration-500 ease-in-out",
|
|
1855
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
1840
1856
|
}
|
|
1841
|
-
)
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1857
|
+
)
|
|
1858
|
+
}
|
|
1859
|
+
),
|
|
1860
|
+
rightIcon && /* @__PURE__ */ jsx26("div", { className: "flex items-center justify-center", children: rightIcon })
|
|
1861
|
+
] })
|
|
1862
|
+
] });
|
|
1863
|
+
});
|
|
1864
|
+
ProgressBase.displayName = "ProgressBase";
|
|
1865
|
+
var ProgressSegmentsBase = ({
|
|
1866
|
+
label,
|
|
1867
|
+
segments,
|
|
1868
|
+
value
|
|
1869
|
+
}) => {
|
|
1870
|
+
const filled = Math.round(value / 100 * segments);
|
|
1871
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1 w-full min-w-[150px]", children: [
|
|
1872
|
+
label && /* @__PURE__ */ jsx26(LabelBase_default, { className: "py-2", children: label }),
|
|
1873
|
+
/* @__PURE__ */ jsx26("div", { className: "flex gap-1 w-full", children: Array.from({ length: segments }).map((_, idx) => /* @__PURE__ */ jsx26(
|
|
1874
|
+
"div",
|
|
1875
|
+
{
|
|
1876
|
+
className: cn(
|
|
1877
|
+
"h-2 flex-1 rounded-full transition-all duration-300",
|
|
1878
|
+
idx < filled ? "bg-primary" : "bg-zinc-300 hover:bg-zinc-400"
|
|
1879
|
+
)
|
|
1880
|
+
},
|
|
1881
|
+
idx
|
|
1882
|
+
)) })
|
|
1883
|
+
] });
|
|
1884
|
+
};
|
|
1885
|
+
var ArrowRightIcon = () => /* @__PURE__ */ jsx26(
|
|
1886
|
+
"svg",
|
|
1887
|
+
{
|
|
1888
|
+
className: "w-6 h-6 text-zinc-400 transition-transform duration-300 group-hover:translate-x-1",
|
|
1889
|
+
fill: "none",
|
|
1890
|
+
stroke: "currentColor",
|
|
1891
|
+
strokeWidth: 2,
|
|
1892
|
+
viewBox: "0 0 24 24",
|
|
1893
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1894
|
+
children: /* @__PURE__ */ jsx26("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M9 5l7 7-7 7" })
|
|
1850
1895
|
}
|
|
1851
1896
|
);
|
|
1852
|
-
|
|
1897
|
+
var ProgressPanelsBase = ({
|
|
1898
|
+
label,
|
|
1899
|
+
steps,
|
|
1900
|
+
currentStep
|
|
1901
|
+
}) => {
|
|
1902
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-1 w-full", children: [
|
|
1903
|
+
label && /* @__PURE__ */ jsx26(LabelBase_default, { className: "py-2", children: label }),
|
|
1904
|
+
/* @__PURE__ */ jsx26("div", { className: "flex w-full gap-1 rounded-lg overflow-hidden", children: steps.map((step, idx) => {
|
|
1905
|
+
const isActive = idx === currentStep;
|
|
1906
|
+
const isLast = idx === steps.length - 1;
|
|
1907
|
+
return /* @__PURE__ */ jsxs15(React18.Fragment, { children: [
|
|
1908
|
+
/* @__PURE__ */ jsxs15(
|
|
1909
|
+
"div",
|
|
1910
|
+
{
|
|
1911
|
+
className: cn(
|
|
1912
|
+
"relative flex items-center justify-center cursor-pointer select-none rounded-lg border transition-shadow duration-300 ease-in-out",
|
|
1913
|
+
"hover:shadow-md hover:z-10",
|
|
1914
|
+
"aspect-[5/1] min-w-[90px] px-4",
|
|
1915
|
+
isActive ? "bg-primary/20 border-2 border-primary shadow-lg font-semibold" : "border-zinc-300"
|
|
1916
|
+
),
|
|
1917
|
+
style: { flex: "1 1 0" },
|
|
1918
|
+
children: [
|
|
1919
|
+
/* @__PURE__ */ jsx26("span", { className: "truncate", children: step }),
|
|
1920
|
+
isActive && /* @__PURE__ */ jsx26("div", { className: "absolute bottom-0 left-0 h-1 w-full animate-pulse rounded-b-lg" })
|
|
1921
|
+
]
|
|
1922
|
+
}
|
|
1923
|
+
),
|
|
1924
|
+
!isLast && /* @__PURE__ */ jsx26("div", { className: "flex items-center px-2 group", children: /* @__PURE__ */ jsx26(ArrowRightIcon, {}) })
|
|
1925
|
+
] }, idx);
|
|
1926
|
+
}) })
|
|
1927
|
+
] });
|
|
1928
|
+
};
|
|
1929
|
+
var ProgressCirclesBase = ({
|
|
1930
|
+
label,
|
|
1931
|
+
steps,
|
|
1932
|
+
currentStep
|
|
1933
|
+
}) => {
|
|
1934
|
+
return /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-2 w-full", children: [
|
|
1935
|
+
label && /* @__PURE__ */ jsx26("label", { className: "py-2 text-base font-semibold text-gray-700 dark:text-gray-300", children: label }),
|
|
1936
|
+
/* @__PURE__ */ jsxs15("div", { className: "relative flex items-center justify-between w-full", children: [
|
|
1937
|
+
/* @__PURE__ */ jsx26("div", { className: "absolute top-5 left-0 w-full h-1 bg-zinc-200 dark:bg-zinc-700" }),
|
|
1938
|
+
/* @__PURE__ */ jsx26(
|
|
1939
|
+
"div",
|
|
1940
|
+
{
|
|
1941
|
+
className: "absolute top-5 left-0 h-1 bg-primary transition-all duration-300",
|
|
1942
|
+
style: {
|
|
1943
|
+
width: `${currentStep / (steps.length - 1) * 100}%`
|
|
1944
|
+
}
|
|
1945
|
+
}
|
|
1946
|
+
),
|
|
1947
|
+
steps.map((step, idx) => {
|
|
1948
|
+
const isActive = idx <= currentStep;
|
|
1949
|
+
return /* @__PURE__ */ jsxs15(
|
|
1950
|
+
"div",
|
|
1951
|
+
{
|
|
1952
|
+
className: "relative flex flex-col items-center w-10",
|
|
1953
|
+
style: { zIndex: isActive ? 10 : 1 },
|
|
1954
|
+
children: [
|
|
1955
|
+
/* @__PURE__ */ jsx26(
|
|
1956
|
+
"div",
|
|
1957
|
+
{
|
|
1958
|
+
className: cn(
|
|
1959
|
+
"w-10 h-10 rounded-full flex items-center justify-center font-bold text-sm transition-all duration-300 cursor-pointer select-none",
|
|
1960
|
+
isActive ? "bg-primary text-white dark:text-black shadow-md" : "bg-zinc-200 text-zinc-500 hover:bg-zinc-300 dark:bg-zinc-500 dark:text-black"
|
|
1961
|
+
),
|
|
1962
|
+
children: idx + 1
|
|
1963
|
+
}
|
|
1964
|
+
),
|
|
1965
|
+
/* @__PURE__ */ jsx26("span", { className: "text-xs text-center font-medium mt-1 max-w-[80px] break-words", children: step })
|
|
1966
|
+
]
|
|
1967
|
+
},
|
|
1968
|
+
idx
|
|
1969
|
+
);
|
|
1970
|
+
})
|
|
1971
|
+
] })
|
|
1972
|
+
] });
|
|
1973
|
+
};
|
|
1853
1974
|
|
|
1854
1975
|
// src/components/ui/SeparatorBase.tsx
|
|
1855
1976
|
import * as React19 from "react";
|
|
@@ -3083,6 +3204,9 @@ export {
|
|
|
3083
3204
|
PopoverContentBase,
|
|
3084
3205
|
PopoverTriggerBase,
|
|
3085
3206
|
ProgressBase,
|
|
3207
|
+
ProgressCirclesBase,
|
|
3208
|
+
ProgressPanelsBase,
|
|
3209
|
+
ProgressSegmentsBase,
|
|
3086
3210
|
ScrollAreaBase,
|
|
3087
3211
|
ScrollBarBase,
|
|
3088
3212
|
Select,
|