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 CHANGED
@@ -1,10 +1,10 @@
1
- import { j as s } from "./jsx-runtime-ByW6EXIE.js";
2
- import { Icons as B } from "./Icons.es.js";
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 q, useState as v, useCallback as M, useEffect as F } from "react";
5
- import { useDebounce as ee } from "use-debounce";
6
- import te from "./Spinner.es.js";
7
- const x = {
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
- }, f = {
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
- }, se = ({
76
- label: I,
77
- icon: m,
75
+ }, ae = ({
76
+ label: P,
77
+ icon: a,
78
+ iconPosition: g = "left",
78
79
  onChange: h,
79
- value: l = "",
80
- debounceMs: a = 0,
80
+ value: n = "",
81
+ debounceMs: u = 0,
81
82
  name: b,
82
- width: d = "100%",
83
+ width: p = "100%",
83
84
  height: t,
84
- variant: n = "default",
85
- labelVariant: o = "default",
86
- size: u = "medium",
87
- disabled: N = !1,
88
- type: r = "text",
89
- isFetching: c,
90
- errorComponent: P,
91
- helperComponent: C,
92
- required: E = !1,
93
- onFocus: H,
94
- onBlur: L,
95
- onEmptied: S,
96
- onKeyDown: O,
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 [p, k] = v(l), [g] = ee(p, a), [R, D] = v(!1), [w, W] = v(!1), V = M(h, [h]);
100
- F(() => {
101
- a > 0 && g !== l && V(g);
102
- }, [g, a, V, l]), F(() => {
103
- k(l);
104
- }, [l]);
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
- D(!0), H?.();
107
+ k(!0), L?.();
107
108
  }, G = () => {
108
- D(!1), L?.();
109
- }, J = (i) => {
110
- const y = i.target.value, _ = p;
111
- k(y), _.length > 0 && y.length === 0 && S?.(), (!a || a === 0) && h(y);
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(!w);
114
- }, j = {};
115
- d && d !== "100%" && (j.width = d), t && (j.height = t);
116
- const Q = p.length > 0, z = n === "error" && P, T = !z && C, U = () => o === "static" || R || Q ? "-top-2 left-2 scale-90" : "top-1/2 -translate-y-1/2 scale-100", X = () => o === "static" ? t ? "text-sm" : "text-xs" : t ? "text-sm" : f[u].label, Y = () => t ? { height: t } : {}, Z = () => o === "static" ? I : "";
117
- return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
118
- /* @__PURE__ */ s.jsxs(
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[u].container,
124
- !d && "w-full",
124
+ d[f].container,
125
+ !p && "w-full",
125
126
  "bg-inherit",
126
- o === "static" && "mt-2"
127
+ l === "static" && "mt-2"
127
128
  ),
128
- style: j,
129
+ style: v,
129
130
  children: [
130
- /* @__PURE__ */ s.jsx(
131
+ /* @__PURE__ */ r.jsx(
131
132
  "input",
132
133
  {
133
134
  id: b,
134
135
  name: b,
135
- type: r === "password" && w ? "text" : r,
136
- value: p,
137
- placeholder: Z(),
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
- o === "default" && "placeholder:text-transparent",
142
- o === "static" && "placeholder:text-neutral-medium-default placeholder:opacity-50",
143
- !t && f[u].input,
144
- t && `px-3 ${f[u].input.split(" ").filter((i) => i.startsWith("text-")).join(" ")}`,
145
- x[n].input,
146
- m && "pr-10",
147
- N && "bg-neutral-weak-default cursor-not-allowed opacity-60",
148
- x[n].container
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: Y(),
152
+ style: _(),
151
153
  onChange: J,
152
154
  onFocus: A,
153
155
  onBlur: G,
154
- disabled: N,
155
- required: E,
156
- onEmptied: S,
157
- onKeyDown: O,
158
- onKeyUp: $
156
+ disabled: w,
157
+ required: S,
158
+ onEmptied: D,
159
+ onKeyDown: $,
160
+ onKeyUp: R
159
161
  }
160
162
  ),
161
- /* @__PURE__ */ s.jsx(
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
- o === "default" && "transition-all duration-200 ease-in-out",
168
- X(),
169
- x[n].label,
170
- U(),
171
- E && "after:content-['*'] after:text-error-default after:ml-1"
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: I
176
+ children: P
174
177
  }
175
178
  ),
176
- (m || r === "password" || c) && /* @__PURE__ */ s.jsx(
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[u].icon,
184
+ !t && d[f].icon,
182
185
  t && "w-5 h-5 right-3",
183
- x[n].icon,
184
- r === "password" && !c ? "cursor-pointer" : "pointer-events-none"
186
+ m[c].icon,
187
+ s === "password" && !i ? "cursor-pointer" : "pointer-events-none",
188
+ g === "right" ? "right-3" : "left-3"
185
189
  ),
186
- onClick: r === "password" && !c ? K : void 0,
187
- onMouseDown: (i) => r === "password" && !c && i.preventDefault(),
188
- children: /* @__PURE__ */ s.jsx("div", { children: c && r !== "password" ? /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx(te, { size: 24, color: "#7c86ff", loading: !0, variant: "clip" }) }) : r === "password" ? w ? /* @__PURE__ */ s.jsx(B.EyeVisibility, { size: 24, className: "" }) : /* @__PURE__ */ s.jsx(B.EyeVisibilityOff, { size: 24, className: "" }) : m })
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
- T && C,
195
- z && P
198
+ U && E,
199
+ B && C
196
200
  ] });
197
- }, ce = q(se);
201
+ }, pe = re(ae);
198
202
  export {
199
- ce as default
203
+ pe as default
200
204
  };
@@ -0,0 +1,2 @@
1
+ export * from './exports/ProfilePictureUpload'
2
+ export {}
@@ -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
+ };
@@ -0,0 +1,2 @@
1
+ export * from './exports/Steps'
2
+ export {}
@@ -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;