prometeo-design-system 1.6.6 → 1.6.8
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/Input.es.js +88 -84
- package/dist/ProfilePictureUpload.d.ts +2 -0
- package/dist/ProfilePictureUpload.es.js +207 -0
- package/dist/Steps.d.ts +2 -0
- package/dist/Steps.es.js +189 -0
- package/dist/components/Input/Input.d.ts +3 -2
- package/dist/components/InputMultiple/InputMultiple.d.ts +21 -0
- package/dist/exports/ProfilePictureUpload.d.ts +2 -0
- package/dist/exports/Steps.d.ts +2 -0
- package/dist/preview/InputsPreviews.d.ts +2 -0
- package/dist/prometeo-design-system.css +1 -1
- package/dist/prometeo-design-system.es.js +260 -639
- package/package.json +1 -1
package/dist/Input.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { Icons as
|
|
1
|
+
import { j as r } from "./jsx-runtime-ByW6EXIE.js";
|
|
2
|
+
import { Icons as F } from "./Icons.es.js";
|
|
3
3
|
import { c as e } from "./cn-B6yFEsav.js";
|
|
4
|
-
import { memo as
|
|
5
|
-
import { useDebounce as
|
|
6
|
-
import
|
|
7
|
-
const
|
|
4
|
+
import { memo as re, useState as N, useCallback as se, useEffect as H } from "react";
|
|
5
|
+
import { useDebounce as le } from "use-debounce";
|
|
6
|
+
import oe from "./Spinner.es.js";
|
|
7
|
+
const m = {
|
|
8
8
|
default: {
|
|
9
9
|
container: "",
|
|
10
10
|
input: e(
|
|
@@ -53,7 +53,7 @@ const x = {
|
|
|
53
53
|
"peer-focus:text-success-light"
|
|
54
54
|
)
|
|
55
55
|
}
|
|
56
|
-
},
|
|
56
|
+
}, d = {
|
|
57
57
|
small: {
|
|
58
58
|
container: "text-sm",
|
|
59
59
|
input: "h-10 px-3 text-sm",
|
|
@@ -72,129 +72,133 @@ const x = {
|
|
|
72
72
|
label: "text-sm peer-focus:text-sm peer-placeholder-shown:text-lg",
|
|
73
73
|
icon: "w-6 h-6 right-3"
|
|
74
74
|
}
|
|
75
|
-
},
|
|
76
|
-
label:
|
|
77
|
-
icon:
|
|
75
|
+
}, ae = ({
|
|
76
|
+
label: P,
|
|
77
|
+
icon: a,
|
|
78
|
+
iconPosition: g = "left",
|
|
78
79
|
onChange: h,
|
|
79
|
-
value:
|
|
80
|
-
debounceMs:
|
|
80
|
+
value: n = "",
|
|
81
|
+
debounceMs: u = 0,
|
|
81
82
|
name: b,
|
|
82
|
-
width:
|
|
83
|
+
width: p = "100%",
|
|
83
84
|
height: t,
|
|
84
|
-
variant:
|
|
85
|
-
labelVariant:
|
|
86
|
-
size:
|
|
87
|
-
disabled:
|
|
88
|
-
type:
|
|
89
|
-
isFetching:
|
|
90
|
-
errorComponent:
|
|
91
|
-
helperComponent:
|
|
92
|
-
required:
|
|
93
|
-
onFocus:
|
|
94
|
-
onBlur:
|
|
95
|
-
onEmptied:
|
|
96
|
-
onKeyDown:
|
|
97
|
-
onKeyUp:
|
|
85
|
+
variant: c = "default",
|
|
86
|
+
labelVariant: l = "default",
|
|
87
|
+
size: f = "medium",
|
|
88
|
+
disabled: w = !1,
|
|
89
|
+
type: s = "text",
|
|
90
|
+
isFetching: i,
|
|
91
|
+
errorComponent: C,
|
|
92
|
+
helperComponent: E,
|
|
93
|
+
required: S = !1,
|
|
94
|
+
onFocus: L,
|
|
95
|
+
onBlur: O,
|
|
96
|
+
onEmptied: D,
|
|
97
|
+
onKeyDown: $,
|
|
98
|
+
onKeyUp: R
|
|
98
99
|
}) => {
|
|
99
|
-
const [
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}, [
|
|
103
|
-
|
|
104
|
-
}, [
|
|
100
|
+
const [x, V] = N(n), [j] = le(x, u), [T, k] = N(!1), [y, W] = N(!1), z = se(h, [h]);
|
|
101
|
+
H(() => {
|
|
102
|
+
u > 0 && j !== n && z(j);
|
|
103
|
+
}, [j, u, z, n]), H(() => {
|
|
104
|
+
V(n);
|
|
105
|
+
}, [n]);
|
|
105
106
|
const A = () => {
|
|
106
|
-
|
|
107
|
+
k(!0), L?.();
|
|
107
108
|
}, G = () => {
|
|
108
|
-
|
|
109
|
-
}, J = (
|
|
110
|
-
const
|
|
111
|
-
|
|
109
|
+
k(!1), O?.();
|
|
110
|
+
}, J = (o) => {
|
|
111
|
+
const I = o.target.value, ee = o.target.name, te = x;
|
|
112
|
+
V(I), te.length > 0 && I.length === 0 && D?.(), (!u || u === 0) && h(I, ee);
|
|
112
113
|
}, K = () => {
|
|
113
|
-
W(!
|
|
114
|
-
},
|
|
115
|
-
|
|
116
|
-
const Q =
|
|
117
|
-
return /* @__PURE__ */
|
|
118
|
-
/* @__PURE__ */
|
|
114
|
+
W(!y);
|
|
115
|
+
}, v = {};
|
|
116
|
+
p && p !== "100%" && (v.width = p), t && (v.height = t);
|
|
117
|
+
const Q = x.length > 0, B = c === "error" && C, U = !B && E, X = s === "password", Y = () => l === "static" || T || Q ? "-top-2 left-2 scale-90" : "top-1/2 -translate-y-1/2 scale-100", Z = () => l === "static" ? t ? "text-sm" : "text-xs" : t ? "text-sm" : d[f].label, _ = () => t ? { height: t } : {}, q = () => l === "static" ? P : "", M = () => X ? a ? g === "left" ? "pl-10 pr-10" : "pr-16" : "pr-10" : a ? g === "left" ? "pl-10 pr-3" : "pr-10 pl-3" : "";
|
|
118
|
+
return /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
|
|
119
|
+
/* @__PURE__ */ r.jsxs(
|
|
119
120
|
"div",
|
|
120
121
|
{
|
|
121
122
|
className: e(
|
|
122
123
|
"relative",
|
|
123
|
-
f
|
|
124
|
-
!
|
|
124
|
+
d[f].container,
|
|
125
|
+
!p && "w-full",
|
|
125
126
|
"bg-inherit",
|
|
126
|
-
|
|
127
|
+
l === "static" && "mt-2"
|
|
127
128
|
),
|
|
128
|
-
style:
|
|
129
|
+
style: v,
|
|
129
130
|
children: [
|
|
130
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ r.jsx(
|
|
131
132
|
"input",
|
|
132
133
|
{
|
|
133
134
|
id: b,
|
|
134
135
|
name: b,
|
|
135
|
-
type:
|
|
136
|
-
value:
|
|
137
|
-
placeholder:
|
|
136
|
+
type: s === "password" && y ? "text" : s,
|
|
137
|
+
value: x,
|
|
138
|
+
placeholder: q(),
|
|
138
139
|
className: e(
|
|
139
140
|
"peer w-full border-1 rounded-lg bg-transparent appearance-none transition-all duration-200 ease-in-out",
|
|
140
141
|
"focus:outline-none px-3",
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
!t && f
|
|
144
|
-
t && `px-3 ${f
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
l === "default" && "placeholder:text-transparent",
|
|
143
|
+
l === "static" && "placeholder:text-neutral-medium-default placeholder:opacity-50",
|
|
144
|
+
!t && d[f].input,
|
|
145
|
+
t && `px-3 ${d[f].input.split(" ").filter((o) => o.startsWith("text-")).join(" ")}`,
|
|
146
|
+
m[c].input,
|
|
147
|
+
a && "pr-10",
|
|
148
|
+
w && "bg-transparent opacity-60 border-neutral-strong-default text-neutral-medium-disabled",
|
|
149
|
+
m[c].container,
|
|
150
|
+
M()
|
|
149
151
|
),
|
|
150
|
-
style:
|
|
152
|
+
style: _(),
|
|
151
153
|
onChange: J,
|
|
152
154
|
onFocus: A,
|
|
153
155
|
onBlur: G,
|
|
154
|
-
disabled:
|
|
155
|
-
required:
|
|
156
|
-
onEmptied:
|
|
157
|
-
onKeyDown:
|
|
158
|
-
onKeyUp:
|
|
156
|
+
disabled: w,
|
|
157
|
+
required: S,
|
|
158
|
+
onEmptied: D,
|
|
159
|
+
onKeyDown: $,
|
|
160
|
+
onKeyUp: R
|
|
159
161
|
}
|
|
160
162
|
),
|
|
161
|
-
/* @__PURE__ */
|
|
163
|
+
/* @__PURE__ */ r.jsx(
|
|
162
164
|
"label",
|
|
163
165
|
{
|
|
164
166
|
htmlFor: b,
|
|
165
167
|
className: e(
|
|
166
168
|
"absolute left-3 pointer-events-none bg-inherit px-1 z-10",
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
l === "default" && "transition-all duration-200 ease-in-out",
|
|
170
|
+
Z(),
|
|
171
|
+
m[c].label,
|
|
172
|
+
Y(),
|
|
173
|
+
S && "after:content-['*'] after:text-error-default after:ml-1",
|
|
174
|
+
w && "text-neutral-medium-disabled prometeo-fonts-label-large"
|
|
172
175
|
),
|
|
173
|
-
children:
|
|
176
|
+
children: P
|
|
174
177
|
}
|
|
175
178
|
),
|
|
176
|
-
(
|
|
179
|
+
(a || s === "password" || i) && /* @__PURE__ */ r.jsx(
|
|
177
180
|
"div",
|
|
178
181
|
{
|
|
179
182
|
className: e(
|
|
180
183
|
"absolute top-1/2 -translate-y-1/2 flex items-center justify-center z-10",
|
|
181
|
-
!t && f
|
|
184
|
+
!t && d[f].icon,
|
|
182
185
|
t && "w-5 h-5 right-3",
|
|
183
|
-
|
|
184
|
-
|
|
186
|
+
m[c].icon,
|
|
187
|
+
s === "password" && !i ? "cursor-pointer" : "pointer-events-none",
|
|
188
|
+
g === "right" ? "right-3" : "left-3"
|
|
185
189
|
),
|
|
186
|
-
onClick:
|
|
187
|
-
onMouseDown: (
|
|
188
|
-
children: /* @__PURE__ */
|
|
190
|
+
onClick: s === "password" && !i ? K : void 0,
|
|
191
|
+
onMouseDown: (o) => s === "password" && !i && o.preventDefault(),
|
|
192
|
+
children: /* @__PURE__ */ r.jsx("div", { children: i && s !== "password" ? /* @__PURE__ */ r.jsx("div", { children: /* @__PURE__ */ r.jsx(oe, { size: 24, color: "#7c86ff", loading: !0, variant: "clip" }) }) : s === "password" ? y ? /* @__PURE__ */ r.jsx(F.EyeVisibility, { size: 24, className: "" }) : /* @__PURE__ */ r.jsx(F.EyeVisibilityOff, { size: 24, className: "" }) : a })
|
|
189
193
|
}
|
|
190
194
|
)
|
|
191
195
|
]
|
|
192
196
|
}
|
|
193
197
|
),
|
|
194
|
-
|
|
195
|
-
|
|
198
|
+
U && E,
|
|
199
|
+
B && C
|
|
196
200
|
] });
|
|
197
|
-
},
|
|
201
|
+
}, pe = re(ae);
|
|
198
202
|
export {
|
|
199
|
-
|
|
203
|
+
pe as default
|
|
200
204
|
};
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { j as e } from "./jsx-runtime-ByW6EXIE.js";
|
|
2
|
+
import { motion as n, AnimatePresence as L } from "framer-motion";
|
|
3
|
+
import { useRef as B, useState as C } from "react";
|
|
4
|
+
import b from "./Avatar.es.js";
|
|
5
|
+
const I = {
|
|
6
|
+
sm: "w-16 h-16",
|
|
7
|
+
md: "w-24 h-24",
|
|
8
|
+
lg: "w-32 h-32",
|
|
9
|
+
xl: "w-40 h-40"
|
|
10
|
+
}, M = {
|
|
11
|
+
sm: "w-4 h-4",
|
|
12
|
+
md: "w-5 h-5",
|
|
13
|
+
lg: "w-6 h-6",
|
|
14
|
+
xl: "w-8 h-8"
|
|
15
|
+
}, N = {
|
|
16
|
+
sm: "w-6 h-6",
|
|
17
|
+
md: "w-7 h-7",
|
|
18
|
+
lg: "w-8 h-8",
|
|
19
|
+
xl: "w-10 h-10"
|
|
20
|
+
}, P = {
|
|
21
|
+
sm: "-bottom-1 -right-0.5",
|
|
22
|
+
md: "-bottom-0.5 -right-0.5",
|
|
23
|
+
lg: "bottom-1 right-1",
|
|
24
|
+
xl: "bottom-3 right-2"
|
|
25
|
+
}, d = {
|
|
26
|
+
sm: "w-4 h-4",
|
|
27
|
+
md: "w-5 h-5",
|
|
28
|
+
lg: "w-6 h-6",
|
|
29
|
+
xl: "w-7 h-7"
|
|
30
|
+
}, S = {
|
|
31
|
+
sm: "-top-0.5 -right-0.5",
|
|
32
|
+
md: "-top-1 -right-1",
|
|
33
|
+
lg: "-top-1 -right-0",
|
|
34
|
+
xl: "top-1 right-1"
|
|
35
|
+
};
|
|
36
|
+
function A({
|
|
37
|
+
imageUrl: s,
|
|
38
|
+
fallbackText: f = "S L",
|
|
39
|
+
onFileSelect: p,
|
|
40
|
+
onEditClick: l,
|
|
41
|
+
onRemoveClick: g,
|
|
42
|
+
size: o = "lg",
|
|
43
|
+
className: x,
|
|
44
|
+
disabled: t = !1,
|
|
45
|
+
showRemoveButton: w = !0,
|
|
46
|
+
acceptedTypes: v = "image/*",
|
|
47
|
+
maxFileSize: c = 5 * 1024 * 1024,
|
|
48
|
+
onError: u
|
|
49
|
+
}) {
|
|
50
|
+
const h = B(null), [i, m] = C(!1), j = (r) => r.type.startsWith("image/") ? r.size > c ? (u?.(`La imagen debe ser menor a ${Math.round(c / 1024 / 1024)}MB`), !1) : !0 : (u?.("Por favor selecciona un archivo de imagen válido"), !1), y = (r) => {
|
|
51
|
+
const a = r.target.files?.[0];
|
|
52
|
+
a && (j(a) && p?.(a), r.target.value = "");
|
|
53
|
+
}, k = () => {
|
|
54
|
+
t || (l ? l() : h.current?.click());
|
|
55
|
+
}, $ = (r) => {
|
|
56
|
+
r.stopPropagation(), !t && g?.();
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ e.jsxs(
|
|
59
|
+
"div",
|
|
60
|
+
{
|
|
61
|
+
onMouseEnter: () => m(!0),
|
|
62
|
+
onMouseLeave: () => m(!1),
|
|
63
|
+
className: `relative inline-block border-inherit ${x || ""}`,
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ e.jsx(
|
|
66
|
+
"input",
|
|
67
|
+
{
|
|
68
|
+
ref: h,
|
|
69
|
+
type: "file",
|
|
70
|
+
accept: v,
|
|
71
|
+
onChange: y,
|
|
72
|
+
className: "hidden",
|
|
73
|
+
disabled: t
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ e.jsx(
|
|
77
|
+
n.div,
|
|
78
|
+
{
|
|
79
|
+
className: `
|
|
80
|
+
${I[o]}
|
|
81
|
+
rounded-full
|
|
82
|
+
overflow-hidden
|
|
83
|
+
flex items-center justify-center
|
|
84
|
+
relative
|
|
85
|
+
${t ? "opacity-50 cursor-not-allowed" : ""}
|
|
86
|
+
`,
|
|
87
|
+
children: /* @__PURE__ */ e.jsx(
|
|
88
|
+
b,
|
|
89
|
+
{
|
|
90
|
+
urlImage: s,
|
|
91
|
+
fallbackText: f,
|
|
92
|
+
sizeImage: o,
|
|
93
|
+
sizeFallback: o
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
/* @__PURE__ */ e.jsx(
|
|
99
|
+
n.button,
|
|
100
|
+
{
|
|
101
|
+
className: `
|
|
102
|
+
absolute
|
|
103
|
+
${P[o]}
|
|
104
|
+
border-3
|
|
105
|
+
border-inherit
|
|
106
|
+
${N[o]}
|
|
107
|
+
rounded-lg
|
|
108
|
+
bg-primary-default-default
|
|
109
|
+
hover:bg-primary-default-hover
|
|
110
|
+
transition-all duration-300
|
|
111
|
+
flex
|
|
112
|
+
items-center
|
|
113
|
+
justify-center
|
|
114
|
+
cursor-pointer
|
|
115
|
+
${t ? "opacity-50 cursor-not-allowed" : ""}
|
|
116
|
+
`,
|
|
117
|
+
onClick: k,
|
|
118
|
+
disabled: t,
|
|
119
|
+
whileTap: t ? {} : { scale: 0.95, transition: { duration: 0.2, ease: "easeInOut" } },
|
|
120
|
+
initial: { scale: 0, rotate: -180 },
|
|
121
|
+
animate: { scale: 1, rotate: 0 },
|
|
122
|
+
children: /* @__PURE__ */ e.jsx(
|
|
123
|
+
n.svg,
|
|
124
|
+
{
|
|
125
|
+
className: `${M[o]} text-white`,
|
|
126
|
+
fill: "none",
|
|
127
|
+
stroke: "currentColor",
|
|
128
|
+
viewBox: "0 0 24 24",
|
|
129
|
+
animate: i && !t ? {
|
|
130
|
+
x: [0, -1, 0, 1, -1, 0, 1],
|
|
131
|
+
y: [0, 1, 0, 1, 0, 1, 1],
|
|
132
|
+
rotate: [0, 5, -3, 8, -5, 3, 1],
|
|
133
|
+
transition: {
|
|
134
|
+
duration: 2,
|
|
135
|
+
ease: "easeInOut"
|
|
136
|
+
}
|
|
137
|
+
} : { x: 0, y: 0, rotate: 0 },
|
|
138
|
+
transition: {
|
|
139
|
+
duration: 1.2,
|
|
140
|
+
repeat: 0,
|
|
141
|
+
ease: "easeInOut"
|
|
142
|
+
},
|
|
143
|
+
children: /* @__PURE__ */ e.jsx(
|
|
144
|
+
"path",
|
|
145
|
+
{
|
|
146
|
+
strokeLinecap: "round",
|
|
147
|
+
strokeLinejoin: "round",
|
|
148
|
+
strokeWidth: 2,
|
|
149
|
+
d: "M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"
|
|
150
|
+
}
|
|
151
|
+
)
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
}
|
|
155
|
+
),
|
|
156
|
+
/* @__PURE__ */ e.jsx(L, { children: s && w && !t && /* @__PURE__ */ e.jsx(
|
|
157
|
+
n.button,
|
|
158
|
+
{
|
|
159
|
+
className: `
|
|
160
|
+
absolute
|
|
161
|
+
${S[o]}
|
|
162
|
+
${d[o]}
|
|
163
|
+
rounded-full
|
|
164
|
+
shadow-lg
|
|
165
|
+
bg-error-light
|
|
166
|
+
flex
|
|
167
|
+
cursor-pointer
|
|
168
|
+
items-center
|
|
169
|
+
justify-center
|
|
170
|
+
${t ? "opacity-50 cursor-not-allowed" : ""}
|
|
171
|
+
`,
|
|
172
|
+
disabled: t,
|
|
173
|
+
onClick: $,
|
|
174
|
+
initial: { scale: 0, opacity: 0, rotate: -90 },
|
|
175
|
+
animate: {
|
|
176
|
+
scale: i ? 1 : 0.8,
|
|
177
|
+
opacity: i ? 1 : 0,
|
|
178
|
+
rotate: 0
|
|
179
|
+
},
|
|
180
|
+
exit: { scale: 0, opacity: 0, rotate: 90 },
|
|
181
|
+
whileTap: { scale: 0.9 },
|
|
182
|
+
transition: {
|
|
183
|
+
type: "spring",
|
|
184
|
+
stiffness: 300,
|
|
185
|
+
damping: 25
|
|
186
|
+
},
|
|
187
|
+
children: /* @__PURE__ */ e.jsx(
|
|
188
|
+
n.svg,
|
|
189
|
+
{
|
|
190
|
+
className: `${d[o]} text-white p-1`,
|
|
191
|
+
fill: "none",
|
|
192
|
+
stroke: "currentColor",
|
|
193
|
+
viewBox: "0 0 24 24",
|
|
194
|
+
whileHover: { rotate: 90 },
|
|
195
|
+
transition: { duration: 0.2 },
|
|
196
|
+
children: /* @__PURE__ */ e.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" })
|
|
197
|
+
}
|
|
198
|
+
)
|
|
199
|
+
}
|
|
200
|
+
) })
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
export {
|
|
206
|
+
A as ProfilePictureUpload
|
|
207
|
+
};
|
package/dist/Steps.d.ts
ADDED
package/dist/Steps.es.js
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { j as e } from "./jsx-runtime-ByW6EXIE.js";
|
|
2
|
+
import { c as j } from "./cn-B6yFEsav.js";
|
|
3
|
+
import { motion as r } from "framer-motion";
|
|
4
|
+
import { Icons as y } from "./Icons.es.js";
|
|
5
|
+
const b = ({
|
|
6
|
+
index: l,
|
|
7
|
+
isHorizontal: s,
|
|
8
|
+
currentStep: d
|
|
9
|
+
}) => {
|
|
10
|
+
const i = l < d, n = l === d - 1;
|
|
11
|
+
return /* @__PURE__ */ e.jsxs("div", { className: `relative ${s ? "w-20 h-1" : "w-0.5 h-8"}`, children: [
|
|
12
|
+
/* @__PURE__ */ e.jsx(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
className: "absolute inset-0 rounded-full bg-neutral-medium-default"
|
|
16
|
+
}
|
|
17
|
+
),
|
|
18
|
+
/* @__PURE__ */ e.jsx(
|
|
19
|
+
r.div,
|
|
20
|
+
{
|
|
21
|
+
className: "absolute inset-0 rounded-full bg-primary-default-default",
|
|
22
|
+
initial: {
|
|
23
|
+
scaleX: s ? 0 : 1,
|
|
24
|
+
scaleY: s ? 1 : 0,
|
|
25
|
+
opacity: 0
|
|
26
|
+
},
|
|
27
|
+
animate: {
|
|
28
|
+
scaleX: i ? 1 : s ? 0 : 1,
|
|
29
|
+
scaleY: i || s ? 1 : 0,
|
|
30
|
+
opacity: i ? 1 : 0
|
|
31
|
+
},
|
|
32
|
+
transition: {
|
|
33
|
+
duration: 0.2,
|
|
34
|
+
ease: "easeInOut",
|
|
35
|
+
delay: l * 0.1
|
|
36
|
+
},
|
|
37
|
+
style: {
|
|
38
|
+
originX: s ? 0 : 0.5,
|
|
39
|
+
originY: s ? 0.5 : 0
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
),
|
|
43
|
+
n && /* @__PURE__ */ e.jsx(
|
|
44
|
+
r.div,
|
|
45
|
+
{
|
|
46
|
+
className: "absolute inset-0 rounded-full bg-primary-default-default",
|
|
47
|
+
initial: {
|
|
48
|
+
scaleX: s ? 0 : 1,
|
|
49
|
+
scaleY: s ? 1 : 0,
|
|
50
|
+
opacity: 0
|
|
51
|
+
},
|
|
52
|
+
animate: {
|
|
53
|
+
scaleX: 1,
|
|
54
|
+
scaleY: 1,
|
|
55
|
+
opacity: [0, 0.3, 0]
|
|
56
|
+
},
|
|
57
|
+
transition: {
|
|
58
|
+
duration: 1.5,
|
|
59
|
+
repeat: 1 / 0,
|
|
60
|
+
ease: "easeInOut"
|
|
61
|
+
},
|
|
62
|
+
style: {
|
|
63
|
+
originX: s ? 0 : 0.5,
|
|
64
|
+
originY: s ? 0.5 : 0,
|
|
65
|
+
filter: "blur(4px)"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
] });
|
|
70
|
+
}, I = ({
|
|
71
|
+
steps: l,
|
|
72
|
+
currentStep: s,
|
|
73
|
+
orientation: d = "horizontal",
|
|
74
|
+
variant: i = "default",
|
|
75
|
+
size: n = "md",
|
|
76
|
+
className: f = "",
|
|
77
|
+
onStepClick: x,
|
|
78
|
+
allowClickableSteps: p = !1
|
|
79
|
+
}) => {
|
|
80
|
+
const c = d === "horizontal", v = (t) => ({
|
|
81
|
+
sm: { right: "-40px", top: "16px" },
|
|
82
|
+
md: { right: "-40px", top: "20px" },
|
|
83
|
+
lg: { right: "-40px", top: "24px" }
|
|
84
|
+
})[t], m = {
|
|
85
|
+
sm: {
|
|
86
|
+
circle: "w-8 h-8 text-xs",
|
|
87
|
+
title: "text-sm",
|
|
88
|
+
description: "text-xs",
|
|
89
|
+
spacing: c ? "gap-4" : "gap-1"
|
|
90
|
+
},
|
|
91
|
+
md: {
|
|
92
|
+
circle: "w-10 h-10 text-sm",
|
|
93
|
+
title: "text-base",
|
|
94
|
+
description: "text-sm",
|
|
95
|
+
spacing: c ? "gap-3" : "gap-2"
|
|
96
|
+
},
|
|
97
|
+
lg: {
|
|
98
|
+
circle: "w-12 h-12 text-base",
|
|
99
|
+
title: "text-lg",
|
|
100
|
+
description: "text-base",
|
|
101
|
+
spacing: c ? "gap-4" : "gap-3"
|
|
102
|
+
}
|
|
103
|
+
}, N = (t) => t < s ? "completed" : t === s ? "current" : "upcoming", g = (t) => {
|
|
104
|
+
const a = `${m[n].circle} rounded-full flex items-center justify-center font-medium`;
|
|
105
|
+
switch (t) {
|
|
106
|
+
case "completed":
|
|
107
|
+
return `${a} bg-primary-default-default text-neutral-strong-default shadow-lg`;
|
|
108
|
+
case "current":
|
|
109
|
+
return `${a} border-3 border-primary text-neutral-strong-default shadow-lg duration-900`;
|
|
110
|
+
default:
|
|
111
|
+
return `${a} bg-neutral-medium-default text-neutral-medium-default`;
|
|
112
|
+
}
|
|
113
|
+
}, h = (t) => {
|
|
114
|
+
p && x && x(t);
|
|
115
|
+
}, w = c ? `flex items-center ${f}` : `space-y-0 ${f}`;
|
|
116
|
+
return /* @__PURE__ */ e.jsx("div", { className: w, children: l.map((t, a) => {
|
|
117
|
+
const o = N(a), u = p && x;
|
|
118
|
+
return /* @__PURE__ */ e.jsx("div", { className: "flex items-center", children: c ? /* @__PURE__ */ e.jsx("div", { className: "flex", children: /* @__PURE__ */ e.jsxs("div", { className: "w-40 flex flex-col items-center relative", children: [
|
|
119
|
+
/* @__PURE__ */ e.jsx(
|
|
120
|
+
r.div,
|
|
121
|
+
{
|
|
122
|
+
className: `${g(o)} ${u ? "cursor-pointer" : ""} relative z-10`,
|
|
123
|
+
initial: { scale: 0.8, opacity: 0 },
|
|
124
|
+
animate: { scale: 1, opacity: 1 },
|
|
125
|
+
transition: { duration: 0.3, delay: a * 0.1 },
|
|
126
|
+
whileTap: u ? { scale: 0.95 } : {},
|
|
127
|
+
onClick: () => h(a),
|
|
128
|
+
children: i === "numbered" || !t.icon ? o === "completed" ? /* @__PURE__ */ e.jsx(r.div, { initial: { scale: 0 }, animate: { scale: 1 }, transition: { duration: 0.2 }, children: /* @__PURE__ */ e.jsx(y.Check, { size: 24, className: "text-neutral-strong-default" }) }) : /* @__PURE__ */ e.jsx("span", { children: a + 1 }) : t.icon
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
a < l.length - 1 && /* @__PURE__ */ e.jsx(
|
|
132
|
+
"div",
|
|
133
|
+
{
|
|
134
|
+
className: "absolute",
|
|
135
|
+
style: v(n),
|
|
136
|
+
children: /* @__PURE__ */ e.jsx(
|
|
137
|
+
b,
|
|
138
|
+
{
|
|
139
|
+
index: a,
|
|
140
|
+
isHorizontal: c,
|
|
141
|
+
currentStep: s
|
|
142
|
+
}
|
|
143
|
+
)
|
|
144
|
+
}
|
|
145
|
+
),
|
|
146
|
+
i !== "minimal" && t.description && /* @__PURE__ */ e.jsx("p", { className: j(
|
|
147
|
+
m[n].description,
|
|
148
|
+
"text-gray-400 mt-2 text-center max-w-full",
|
|
149
|
+
o === "current" ? "text-neutral-strong-default font-semibold text-sm" : "text-neutral-medium-default"
|
|
150
|
+
), children: t.description })
|
|
151
|
+
] }) }) : /* @__PURE__ */ e.jsxs("div", { className: "relative flex w-36", children: [
|
|
152
|
+
/* @__PURE__ */ e.jsxs("div", { className: "flex flex-col items-center w-full", children: [
|
|
153
|
+
/* @__PURE__ */ e.jsx(
|
|
154
|
+
r.div,
|
|
155
|
+
{
|
|
156
|
+
className: `${g(o)} ${u ? "cursor-pointer" : ""}`,
|
|
157
|
+
initial: { scale: 0.8, opacity: 0 },
|
|
158
|
+
animate: { scale: 1, opacity: 1 },
|
|
159
|
+
transition: { duration: 0.3, delay: a * 0.1 },
|
|
160
|
+
whileTap: u ? { scale: 0.95 } : {},
|
|
161
|
+
onClick: () => h(a),
|
|
162
|
+
children: i === "numbered" || !t.icon ? o === "completed" ? /* @__PURE__ */ e.jsx(r.div, { initial: { scale: 0 }, animate: { scale: 1 }, transition: { duration: 0.2 }, children: /* @__PURE__ */ e.jsx(y.Check, { size: 24, className: "text-neutral-strong-default" }) }) : /* @__PURE__ */ e.jsx("span", { children: a + 1 }) : t.icon
|
|
163
|
+
}
|
|
164
|
+
),
|
|
165
|
+
a < l.length - 1 && /* @__PURE__ */ e.jsx(
|
|
166
|
+
b,
|
|
167
|
+
{
|
|
168
|
+
index: a,
|
|
169
|
+
isHorizontal: c,
|
|
170
|
+
currentStep: s
|
|
171
|
+
}
|
|
172
|
+
)
|
|
173
|
+
] }),
|
|
174
|
+
i !== "minimal" && /* @__PURE__ */ e.jsx(
|
|
175
|
+
r.div,
|
|
176
|
+
{
|
|
177
|
+
className: `absolute -right-30 ml-4 top-3 gap-3 flex flex-col w-full ${m[n].spacing} flex h-full`,
|
|
178
|
+
initial: { opacity: 0, x: -10 },
|
|
179
|
+
animate: { opacity: 1, x: 0 },
|
|
180
|
+
transition: { duration: 0.3, delay: a * 0.1 + 0.1 },
|
|
181
|
+
children: t.description && /* @__PURE__ */ e.jsx("p", { className: j(m[n].description, "text-gray-400", o === "current" ? "text-neutral-strong-default font-semibold text-sm" : "text-neutral-medium-default"), children: t.description })
|
|
182
|
+
}
|
|
183
|
+
)
|
|
184
|
+
] }) }, t.id);
|
|
185
|
+
}) });
|
|
186
|
+
};
|
|
187
|
+
export {
|
|
188
|
+
I as Steps
|
|
189
|
+
};
|
|
@@ -4,9 +4,10 @@ export type LabelVariant = "default" | "static";
|
|
|
4
4
|
export interface InputProps {
|
|
5
5
|
label: string;
|
|
6
6
|
icon?: React.ReactNode;
|
|
7
|
+
iconPosition?: 'left' | 'right';
|
|
7
8
|
isFetching?: boolean;
|
|
8
|
-
onChange: (value: string) => void;
|
|
9
9
|
id?: string;
|
|
10
|
+
onChange: (value: string, name?: string) => void;
|
|
10
11
|
value?: string;
|
|
11
12
|
debounceMs?: number;
|
|
12
13
|
width?: string;
|
|
@@ -26,5 +27,5 @@ export interface InputProps {
|
|
|
26
27
|
onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
27
28
|
onKeyUp?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
28
29
|
}
|
|
29
|
-
declare const _default: import('react').MemoExoticComponent<({ label, icon, onChange, value, debounceMs, name, width, height, variant, labelVariant, size, disabled, type, isFetching, errorComponent, helperComponent, required, onFocus, onBlur, onEmptied, onKeyDown, onKeyUp, }: InputProps) => import("react/jsx-runtime").JSX.Element>;
|
|
30
|
+
declare const _default: import('react').MemoExoticComponent<({ label, icon, iconPosition, onChange, value, debounceMs, name, width, height, variant, labelVariant, size, disabled, type, isFetching, errorComponent, helperComponent, required, onFocus, onBlur, onEmptied, onKeyDown, onKeyUp, }: InputProps) => import("react/jsx-runtime").JSX.Element>;
|
|
30
31
|
export default _default;
|