@sigep/react 1.1.0 → 1.1.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/dist/index.d.mts +294 -2
- package/dist/index.d.ts +294 -2
- package/dist/index.js +483 -125
- package/dist/index.mjs +482 -125
- package/package.json +4 -3
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,51 @@
|
|
|
1
|
-
// src/components/
|
|
1
|
+
// src/components/Avatar/index.tsx
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
3
|
import { tv } from "tailwind-variants";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
var
|
|
5
|
+
var avatar = tv({
|
|
6
|
+
base: "inline-flex items-center justify-center rounded-full font-medium select-none overflow-hidden",
|
|
7
|
+
variants: {
|
|
8
|
+
size: {
|
|
9
|
+
sm: "h-8 w-8 text-xs",
|
|
10
|
+
md: "h-10 w-10 text-sm",
|
|
11
|
+
lg: "h-12 w-12 text-base",
|
|
12
|
+
xl: "h-16 w-16 text-lg"
|
|
13
|
+
},
|
|
14
|
+
variant: {
|
|
15
|
+
primary: "bg-blue-600 text-white",
|
|
16
|
+
secondary: "bg-gray-200 text-gray-700",
|
|
17
|
+
outline: "bg-white text-blue-600 ring-2 ring-blue-600 ring-offset-2"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
defaultVariants: {
|
|
21
|
+
size: "md",
|
|
22
|
+
variant: "primary"
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
function getInitials(name) {
|
|
26
|
+
const parts = name.trim().split(/\s+/);
|
|
27
|
+
if (parts.length === 1) return parts[0].charAt(0).toUpperCase();
|
|
28
|
+
return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase();
|
|
29
|
+
}
|
|
30
|
+
var Avatar = forwardRef(
|
|
31
|
+
({ name, src, alt, size, variant, className, ...props }, ref) => {
|
|
32
|
+
return /* @__PURE__ */ jsx("div", { ref, className: avatar({ size, variant, className }), ...props, children: src ? /* @__PURE__ */ jsx(
|
|
33
|
+
"img",
|
|
34
|
+
{
|
|
35
|
+
src,
|
|
36
|
+
alt: alt || name || "avatar",
|
|
37
|
+
className: "h-full w-full object-cover"
|
|
38
|
+
}
|
|
39
|
+
) : /* @__PURE__ */ jsx("span", { children: name ? getInitials(name) : "?" }) });
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
Avatar.displayName = "Avatar";
|
|
43
|
+
|
|
44
|
+
// src/components/Button/index.tsx
|
|
45
|
+
import { forwardRef as forwardRef2 } from "react";
|
|
46
|
+
import { tv as tv2 } from "tailwind-variants";
|
|
47
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
48
|
+
var button = tv2({
|
|
6
49
|
base: "inline-flex items-center justify-center gap-2 rounded-md font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
7
50
|
variants: {
|
|
8
51
|
variant: {
|
|
@@ -22,9 +65,9 @@ var button = tv({
|
|
|
22
65
|
size: "md"
|
|
23
66
|
}
|
|
24
67
|
});
|
|
25
|
-
var Button =
|
|
68
|
+
var Button = forwardRef2(
|
|
26
69
|
({ variant, size, className, ...props }, ref) => {
|
|
27
|
-
return /* @__PURE__ */
|
|
70
|
+
return /* @__PURE__ */ jsx2(
|
|
28
71
|
"button",
|
|
29
72
|
{
|
|
30
73
|
ref,
|
|
@@ -36,20 +79,326 @@ var Button = forwardRef(
|
|
|
36
79
|
);
|
|
37
80
|
Button.displayName = "Button";
|
|
38
81
|
|
|
82
|
+
// src/components/Card/index.tsx
|
|
83
|
+
import { forwardRef as forwardRef3 } from "react";
|
|
84
|
+
import { tv as tv3 } from "tailwind-variants";
|
|
85
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
86
|
+
var card = tv3({
|
|
87
|
+
base: "rounded-lg bg-white text-gray-900 overflow-hidden",
|
|
88
|
+
variants: {
|
|
89
|
+
variant: {
|
|
90
|
+
elevated: "shadow-md",
|
|
91
|
+
outlined: "border border-gray-200",
|
|
92
|
+
filled: "bg-gray-50"
|
|
93
|
+
},
|
|
94
|
+
padding: {
|
|
95
|
+
none: "",
|
|
96
|
+
sm: "p-3",
|
|
97
|
+
md: "p-5",
|
|
98
|
+
lg: "p-8"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
defaultVariants: {
|
|
102
|
+
variant: "elevated",
|
|
103
|
+
padding: "md"
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
var Card = forwardRef3(
|
|
107
|
+
({ variant, padding, header, footer, className, children, ...props }, ref) => {
|
|
108
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: card({ variant, padding: header || footer ? "none" : padding, className }), ...props, children: [
|
|
109
|
+
header && /* @__PURE__ */ jsx3("div", { className: "border-b border-gray-200 px-5 py-3 font-semibold text-sm", children: header }),
|
|
110
|
+
header || footer ? /* @__PURE__ */ jsx3("div", { className: card({ padding, className: "rounded-none shadow-none border-none bg-transparent" }), children }) : children,
|
|
111
|
+
footer && /* @__PURE__ */ jsx3("div", { className: "border-t border-gray-200 px-5 py-3 text-sm", children: footer })
|
|
112
|
+
] });
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
Card.displayName = "Card";
|
|
116
|
+
|
|
117
|
+
// src/components/Modal/index.tsx
|
|
118
|
+
import { forwardRef as forwardRef4, useEffect, useCallback } from "react";
|
|
119
|
+
import { tv as tv4 } from "tailwind-variants";
|
|
120
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
121
|
+
var overlay = tv4({
|
|
122
|
+
base: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 transition-opacity"
|
|
123
|
+
});
|
|
124
|
+
var modal = tv4({
|
|
125
|
+
base: "relative flex flex-col rounded-lg bg-white text-gray-900 shadow-xl overflow-hidden",
|
|
126
|
+
variants: {
|
|
127
|
+
size: {
|
|
128
|
+
sm: "w-[30vw] max-h-[40vh]",
|
|
129
|
+
md: "w-[50vw] max-h-[60vh]",
|
|
130
|
+
lg: "w-[70vw] max-h-[80vh]",
|
|
131
|
+
full: "w-[95vw] max-h-[90vh]"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
defaultVariants: {
|
|
135
|
+
size: "md"
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
var Modal = forwardRef4(
|
|
139
|
+
({ isOpen, onClose, title, footer, size, className, children, ...props }, ref) => {
|
|
140
|
+
const handleKeyDown = useCallback(
|
|
141
|
+
(e) => {
|
|
142
|
+
if (e.key === "Escape") onClose();
|
|
143
|
+
},
|
|
144
|
+
[onClose]
|
|
145
|
+
);
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
if (!isOpen) return;
|
|
148
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
149
|
+
document.body.style.overflow = "hidden";
|
|
150
|
+
return () => {
|
|
151
|
+
document.removeEventListener("keydown", handleKeyDown);
|
|
152
|
+
document.body.style.overflow = "";
|
|
153
|
+
};
|
|
154
|
+
}, [isOpen, handleKeyDown]);
|
|
155
|
+
if (!isOpen) return null;
|
|
156
|
+
return /* @__PURE__ */ jsx4("div", { className: overlay(), onClick: onClose, children: /* @__PURE__ */ jsxs2(
|
|
157
|
+
"div",
|
|
158
|
+
{
|
|
159
|
+
ref,
|
|
160
|
+
className: modal({ size, className }),
|
|
161
|
+
onClick: (e) => e.stopPropagation(),
|
|
162
|
+
role: "dialog",
|
|
163
|
+
"aria-modal": "true",
|
|
164
|
+
...props,
|
|
165
|
+
children: [
|
|
166
|
+
title && /* @__PURE__ */ jsxs2("div", { className: "flex items-center justify-between border-b border-gray-200 bg-gray-50 px-5 py-3", children: [
|
|
167
|
+
/* @__PURE__ */ jsx4("span", { className: "text-sm font-semibold text-gray-900", children: title }),
|
|
168
|
+
/* @__PURE__ */ jsx4(
|
|
169
|
+
"button",
|
|
170
|
+
{
|
|
171
|
+
type: "button",
|
|
172
|
+
className: "inline-flex h-7 w-7 items-center justify-center rounded-md text-gray-500 hover:bg-gray-200 hover:text-gray-700 transition-colors",
|
|
173
|
+
onClick: onClose,
|
|
174
|
+
"aria-label": "Fechar",
|
|
175
|
+
children: "\u2715"
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
] }),
|
|
179
|
+
/* @__PURE__ */ jsx4("div", { className: "flex-1 overflow-y-auto p-5", children }),
|
|
180
|
+
footer && /* @__PURE__ */ jsx4("div", { className: "flex items-center justify-end gap-2 border-t border-gray-200 px-5 py-3", children: footer })
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
) });
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
Modal.displayName = "Modal";
|
|
187
|
+
|
|
188
|
+
// src/components/Tooltip/index.tsx
|
|
189
|
+
import {
|
|
190
|
+
forwardRef as forwardRef5,
|
|
191
|
+
useCallback as useCallback2,
|
|
192
|
+
useEffect as useEffect2,
|
|
193
|
+
useLayoutEffect,
|
|
194
|
+
useRef,
|
|
195
|
+
useState
|
|
196
|
+
} from "react";
|
|
197
|
+
import { createPortal } from "react-dom";
|
|
198
|
+
import { tv as tv5 } from "tailwind-variants";
|
|
199
|
+
import { Fragment, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
200
|
+
var tooltip = tv5({
|
|
201
|
+
base: "fixed z-[999999] pointer-events-none",
|
|
202
|
+
variants: {
|
|
203
|
+
variant: {
|
|
204
|
+
dark: "",
|
|
205
|
+
light: ""
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
defaultVariants: {
|
|
209
|
+
variant: "dark"
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
var tooltipContent = tv5({
|
|
213
|
+
base: "inline-flex items-center justify-center rounded px-2.5 py-1 text-xs font-medium whitespace-nowrap",
|
|
214
|
+
variants: {
|
|
215
|
+
variant: {
|
|
216
|
+
dark: "bg-gray-900 text-white",
|
|
217
|
+
light: "bg-white text-gray-900 shadow-md border border-gray-200"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
defaultVariants: {
|
|
221
|
+
variant: "dark"
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
var tooltipArrow = tv5({
|
|
225
|
+
base: "absolute h-1.5 w-1.5 rotate-45",
|
|
226
|
+
variants: {
|
|
227
|
+
variant: {
|
|
228
|
+
dark: "bg-gray-900",
|
|
229
|
+
light: "bg-white border border-gray-200"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
defaultVariants: {
|
|
233
|
+
variant: "dark"
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
var arrowPlacementStyles = {
|
|
237
|
+
top: "bottom-[-3px] left-1/2 -translate-x-1/2",
|
|
238
|
+
bottom: "top-[-3px] left-1/2 -translate-x-1/2",
|
|
239
|
+
left: "right-[-3px] top-1/2 -translate-y-1/2",
|
|
240
|
+
right: "left-[-3px] top-1/2 -translate-y-1/2"
|
|
241
|
+
};
|
|
242
|
+
var Tooltip = forwardRef5(
|
|
243
|
+
({
|
|
244
|
+
content,
|
|
245
|
+
placement = "top",
|
|
246
|
+
offset: offsetPx = 8,
|
|
247
|
+
variant,
|
|
248
|
+
disabled,
|
|
249
|
+
delayShow = 100,
|
|
250
|
+
delayHide = 100,
|
|
251
|
+
children,
|
|
252
|
+
className,
|
|
253
|
+
...props
|
|
254
|
+
}, ref) => {
|
|
255
|
+
const wrapperRef = useRef(null);
|
|
256
|
+
const tipRef = useRef(null);
|
|
257
|
+
const [visible, setVisible] = useState(false);
|
|
258
|
+
const [coords, setCoords] = useState(null);
|
|
259
|
+
const [activePlacement, setActivePlacement] = useState(placement);
|
|
260
|
+
const showTimer = useRef(null);
|
|
261
|
+
const hideTimer = useRef(null);
|
|
262
|
+
function clearTimers() {
|
|
263
|
+
if (showTimer.current !== null) window.clearTimeout(showTimer.current);
|
|
264
|
+
if (hideTimer.current !== null) window.clearTimeout(hideTimer.current);
|
|
265
|
+
showTimer.current = null;
|
|
266
|
+
hideTimer.current = null;
|
|
267
|
+
}
|
|
268
|
+
function scheduleShow() {
|
|
269
|
+
if (disabled) return;
|
|
270
|
+
clearTimers();
|
|
271
|
+
showTimer.current = window.setTimeout(() => setVisible(true), delayShow);
|
|
272
|
+
}
|
|
273
|
+
function scheduleHide() {
|
|
274
|
+
clearTimers();
|
|
275
|
+
hideTimer.current = window.setTimeout(() => setVisible(false), delayHide);
|
|
276
|
+
}
|
|
277
|
+
const computePosition = useCallback2(() => {
|
|
278
|
+
const anchor = wrapperRef.current;
|
|
279
|
+
const tip = tipRef.current;
|
|
280
|
+
if (!anchor || !tip) return;
|
|
281
|
+
const rect = anchor.getBoundingClientRect();
|
|
282
|
+
const tipW = tip.offsetWidth;
|
|
283
|
+
const tipH = tip.offsetHeight;
|
|
284
|
+
const vw = window.innerWidth;
|
|
285
|
+
const vh = window.innerHeight;
|
|
286
|
+
const calc = (p2) => {
|
|
287
|
+
switch (p2) {
|
|
288
|
+
case "top":
|
|
289
|
+
return { top: rect.top - tipH - offsetPx, left: rect.left + rect.width / 2 - tipW / 2 };
|
|
290
|
+
case "bottom":
|
|
291
|
+
return { top: rect.bottom + offsetPx, left: rect.left + rect.width / 2 - tipW / 2 };
|
|
292
|
+
case "left":
|
|
293
|
+
return { top: rect.top + rect.height / 2 - tipH / 2, left: rect.left - tipW - offsetPx };
|
|
294
|
+
case "right":
|
|
295
|
+
return { top: rect.top + rect.height / 2 - tipH / 2, left: rect.right + offsetPx };
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
let pos = calc(placement);
|
|
299
|
+
let p = placement;
|
|
300
|
+
const fits = (c) => c.top >= 0 && c.left >= 0 && c.top + tipH <= vh && c.left + tipW <= vw;
|
|
301
|
+
if (!fits(pos)) {
|
|
302
|
+
const fallbacks = {
|
|
303
|
+
top: ["bottom", "right", "left"],
|
|
304
|
+
bottom: ["top", "right", "left"],
|
|
305
|
+
left: ["right", "top", "bottom"],
|
|
306
|
+
right: ["left", "top", "bottom"]
|
|
307
|
+
};
|
|
308
|
+
for (const candidate of fallbacks[placement]) {
|
|
309
|
+
const c = calc(candidate);
|
|
310
|
+
if (fits(c)) {
|
|
311
|
+
pos = c;
|
|
312
|
+
p = candidate;
|
|
313
|
+
break;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
pos.top = Math.max(4, Math.min(vh - tipH - 4, pos.top));
|
|
318
|
+
pos.left = Math.max(4, Math.min(vw - tipW - 4, pos.left));
|
|
319
|
+
setActivePlacement(p);
|
|
320
|
+
setCoords(pos);
|
|
321
|
+
}, [placement, offsetPx]);
|
|
322
|
+
useLayoutEffect(() => {
|
|
323
|
+
if (!visible) return;
|
|
324
|
+
let raf1 = 0;
|
|
325
|
+
let raf2 = 0;
|
|
326
|
+
raf1 = requestAnimationFrame(() => {
|
|
327
|
+
raf2 = requestAnimationFrame(computePosition);
|
|
328
|
+
});
|
|
329
|
+
return () => {
|
|
330
|
+
cancelAnimationFrame(raf1);
|
|
331
|
+
cancelAnimationFrame(raf2);
|
|
332
|
+
};
|
|
333
|
+
}, [visible, computePosition]);
|
|
334
|
+
useEffect2(() => {
|
|
335
|
+
if (!visible) return;
|
|
336
|
+
const handler = () => computePosition();
|
|
337
|
+
window.addEventListener("scroll", handler, true);
|
|
338
|
+
window.addEventListener("resize", handler);
|
|
339
|
+
return () => {
|
|
340
|
+
window.removeEventListener("scroll", handler, true);
|
|
341
|
+
window.removeEventListener("resize", handler);
|
|
342
|
+
};
|
|
343
|
+
}, [visible, computePosition]);
|
|
344
|
+
return /* @__PURE__ */ jsxs3(Fragment, { children: [
|
|
345
|
+
/* @__PURE__ */ jsx5(
|
|
346
|
+
"span",
|
|
347
|
+
{
|
|
348
|
+
ref: (el) => {
|
|
349
|
+
wrapperRef.current = el;
|
|
350
|
+
if (typeof ref === "function") ref(el);
|
|
351
|
+
else if (ref) ref.current = el;
|
|
352
|
+
},
|
|
353
|
+
onMouseEnter: scheduleShow,
|
|
354
|
+
onMouseLeave: scheduleHide,
|
|
355
|
+
onFocus: scheduleShow,
|
|
356
|
+
onBlur: scheduleHide,
|
|
357
|
+
style: { display: "contents" },
|
|
358
|
+
className,
|
|
359
|
+
...props,
|
|
360
|
+
children
|
|
361
|
+
}
|
|
362
|
+
),
|
|
363
|
+
visible && createPortal(
|
|
364
|
+
/* @__PURE__ */ jsxs3(
|
|
365
|
+
"div",
|
|
366
|
+
{
|
|
367
|
+
ref: tipRef,
|
|
368
|
+
role: "tooltip",
|
|
369
|
+
className: tooltip({ variant }),
|
|
370
|
+
style: {
|
|
371
|
+
top: coords?.top ?? -99999,
|
|
372
|
+
left: coords?.left ?? -99999,
|
|
373
|
+
visibility: coords ? "visible" : "hidden"
|
|
374
|
+
},
|
|
375
|
+
children: [
|
|
376
|
+
/* @__PURE__ */ jsx5("div", { className: tooltipContent({ variant }), children: content }),
|
|
377
|
+
/* @__PURE__ */ jsx5("div", { className: `${tooltipArrow({ variant })} ${arrowPlacementStyles[activePlacement]}` })
|
|
378
|
+
]
|
|
379
|
+
}
|
|
380
|
+
),
|
|
381
|
+
document.body
|
|
382
|
+
)
|
|
383
|
+
] });
|
|
384
|
+
}
|
|
385
|
+
);
|
|
386
|
+
Tooltip.displayName = "Tooltip";
|
|
387
|
+
|
|
39
388
|
// src/components/Input/InputString.tsx
|
|
40
|
-
import { forwardRef as
|
|
389
|
+
import { forwardRef as forwardRef7, useState as useState2 } from "react";
|
|
41
390
|
|
|
42
391
|
// src/components/Input/InputWrapper.tsx
|
|
43
|
-
import { forwardRef as
|
|
44
|
-
import { tv as
|
|
45
|
-
import { jsx as
|
|
46
|
-
var wrapper =
|
|
392
|
+
import { forwardRef as forwardRef6 } from "react";
|
|
393
|
+
import { tv as tv6 } from "tailwind-variants";
|
|
394
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
395
|
+
var wrapper = tv6({
|
|
47
396
|
base: "flex w-full flex-col gap-1"
|
|
48
397
|
});
|
|
49
|
-
var labelStyle =
|
|
398
|
+
var labelStyle = tv6({
|
|
50
399
|
base: "text-xs text-gray-700 flex items-start gap-0.5"
|
|
51
400
|
});
|
|
52
|
-
var containerStyle =
|
|
401
|
+
var containerStyle = tv6({
|
|
53
402
|
base: "flex items-center w-full rounded-md border bg-white transition-colors",
|
|
54
403
|
variants: {
|
|
55
404
|
size: {
|
|
@@ -70,26 +419,26 @@ var containerStyle = tv2({
|
|
|
70
419
|
error: false
|
|
71
420
|
}
|
|
72
421
|
});
|
|
73
|
-
var errorStyle =
|
|
422
|
+
var errorStyle = tv6({
|
|
74
423
|
base: "text-xs text-red-500 mt-0.5"
|
|
75
424
|
});
|
|
76
|
-
var InputWrapper =
|
|
425
|
+
var InputWrapper = forwardRef6(
|
|
77
426
|
({ label, error, errorMessage, required, disabled, size, children, className, classContainer, htmlFor }, ref) => {
|
|
78
|
-
return /* @__PURE__ */
|
|
79
|
-
label && /* @__PURE__ */
|
|
80
|
-
/* @__PURE__ */
|
|
81
|
-
required && /* @__PURE__ */
|
|
427
|
+
return /* @__PURE__ */ jsxs4("div", { ref, className: wrapper({ className }), children: [
|
|
428
|
+
label && /* @__PURE__ */ jsxs4("label", { htmlFor, className: labelStyle(), children: [
|
|
429
|
+
/* @__PURE__ */ jsx6("span", { children: label }),
|
|
430
|
+
required && /* @__PURE__ */ jsx6("span", { className: "text-red-500 text-[10px] leading-none mt-0.5", children: "*" })
|
|
82
431
|
] }),
|
|
83
|
-
/* @__PURE__ */
|
|
84
|
-
error && errorMessage && /* @__PURE__ */
|
|
432
|
+
/* @__PURE__ */ jsx6("div", { className: containerStyle({ size, error: !!error, disabled: !!disabled, className: classContainer }), children }),
|
|
433
|
+
error && errorMessage && /* @__PURE__ */ jsx6("span", { className: errorStyle(), children: errorMessage })
|
|
85
434
|
] });
|
|
86
435
|
}
|
|
87
436
|
);
|
|
88
437
|
InputWrapper.displayName = "InputWrapper";
|
|
89
438
|
|
|
90
439
|
// src/components/Input/InputString.tsx
|
|
91
|
-
import { jsx as
|
|
92
|
-
var InputString =
|
|
440
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
441
|
+
var InputString = forwardRef7(
|
|
93
442
|
({
|
|
94
443
|
label,
|
|
95
444
|
error,
|
|
@@ -107,14 +456,14 @@ var InputString = forwardRef3(
|
|
|
107
456
|
name,
|
|
108
457
|
...props
|
|
109
458
|
}, ref) => {
|
|
110
|
-
const [hovered, setHovered] =
|
|
111
|
-
return /* @__PURE__ */
|
|
459
|
+
const [hovered, setHovered] = useState2(false);
|
|
460
|
+
return /* @__PURE__ */ jsx7(
|
|
112
461
|
"div",
|
|
113
462
|
{
|
|
114
463
|
onMouseEnter: () => setHovered(true),
|
|
115
464
|
onMouseLeave: () => setHovered(false),
|
|
116
465
|
className: "w-full",
|
|
117
|
-
children: /* @__PURE__ */
|
|
466
|
+
children: /* @__PURE__ */ jsxs5(
|
|
118
467
|
InputWrapper,
|
|
119
468
|
{
|
|
120
469
|
label,
|
|
@@ -126,8 +475,8 @@ var InputString = forwardRef3(
|
|
|
126
475
|
classContainer,
|
|
127
476
|
htmlFor: name,
|
|
128
477
|
children: [
|
|
129
|
-
leftIcon && /* @__PURE__ */
|
|
130
|
-
/* @__PURE__ */
|
|
478
|
+
leftIcon && /* @__PURE__ */ jsx7("span", { className: "pl-2.5 text-gray-400", children: leftIcon }),
|
|
479
|
+
/* @__PURE__ */ jsx7(
|
|
131
480
|
"input",
|
|
132
481
|
{
|
|
133
482
|
ref,
|
|
@@ -142,7 +491,7 @@ var InputString = forwardRef3(
|
|
|
142
491
|
...props
|
|
143
492
|
}
|
|
144
493
|
),
|
|
145
|
-
showClearButton && hovered && value && !disabled && !required && /* @__PURE__ */
|
|
494
|
+
showClearButton && hovered && value && !disabled && !required && /* @__PURE__ */ jsx7(
|
|
146
495
|
"button",
|
|
147
496
|
{
|
|
148
497
|
type: "button",
|
|
@@ -151,7 +500,7 @@ var InputString = forwardRef3(
|
|
|
151
500
|
className: "px-2 text-gray-400 hover:text-gray-600",
|
|
152
501
|
onMouseDown: (e) => e.preventDefault(),
|
|
153
502
|
onClick: () => onChange?.(""),
|
|
154
|
-
children: /* @__PURE__ */
|
|
503
|
+
children: /* @__PURE__ */ jsxs5(
|
|
155
504
|
"svg",
|
|
156
505
|
{
|
|
157
506
|
width: "14",
|
|
@@ -163,14 +512,14 @@ var InputString = forwardRef3(
|
|
|
163
512
|
strokeLinecap: "round",
|
|
164
513
|
strokeLinejoin: "round",
|
|
165
514
|
children: [
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
/* @__PURE__ */
|
|
515
|
+
/* @__PURE__ */ jsx7("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
516
|
+
/* @__PURE__ */ jsx7("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
168
517
|
]
|
|
169
518
|
}
|
|
170
519
|
)
|
|
171
520
|
}
|
|
172
521
|
),
|
|
173
|
-
rightIcon && /* @__PURE__ */
|
|
522
|
+
rightIcon && /* @__PURE__ */ jsx7("span", { className: "pr-2.5 text-gray-400", children: rightIcon })
|
|
174
523
|
]
|
|
175
524
|
}
|
|
176
525
|
)
|
|
@@ -181,11 +530,11 @@ var InputString = forwardRef3(
|
|
|
181
530
|
InputString.displayName = "InputString";
|
|
182
531
|
|
|
183
532
|
// src/components/Input/InputEmail.tsx
|
|
184
|
-
import { forwardRef as
|
|
185
|
-
import { jsx as
|
|
186
|
-
var InputEmail =
|
|
533
|
+
import { forwardRef as forwardRef8 } from "react";
|
|
534
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
535
|
+
var InputEmail = forwardRef8(
|
|
187
536
|
({ label, error, errorMessage, required, size, leftIcon, rightIcon, classContainer, classInput, value, onChange, disabled, name, ...props }, ref) => {
|
|
188
|
-
return /* @__PURE__ */
|
|
537
|
+
return /* @__PURE__ */ jsxs6(
|
|
189
538
|
InputWrapper,
|
|
190
539
|
{
|
|
191
540
|
label,
|
|
@@ -197,8 +546,8 @@ var InputEmail = forwardRef4(
|
|
|
197
546
|
classContainer,
|
|
198
547
|
htmlFor: name,
|
|
199
548
|
children: [
|
|
200
|
-
leftIcon && /* @__PURE__ */
|
|
201
|
-
/* @__PURE__ */
|
|
549
|
+
leftIcon && /* @__PURE__ */ jsx8("span", { className: "pl-2.5 text-gray-400", children: leftIcon }),
|
|
550
|
+
/* @__PURE__ */ jsx8(
|
|
202
551
|
"input",
|
|
203
552
|
{
|
|
204
553
|
ref,
|
|
@@ -214,7 +563,7 @@ var InputEmail = forwardRef4(
|
|
|
214
563
|
...props
|
|
215
564
|
}
|
|
216
565
|
),
|
|
217
|
-
rightIcon && /* @__PURE__ */
|
|
566
|
+
rightIcon && /* @__PURE__ */ jsx8("span", { className: "pr-2.5 text-gray-400", children: rightIcon })
|
|
218
567
|
]
|
|
219
568
|
}
|
|
220
569
|
);
|
|
@@ -223,20 +572,20 @@ var InputEmail = forwardRef4(
|
|
|
223
572
|
InputEmail.displayName = "InputEmail";
|
|
224
573
|
|
|
225
574
|
// src/components/Input/InputPassword.tsx
|
|
226
|
-
import { forwardRef as
|
|
227
|
-
import { jsx as
|
|
228
|
-
var EyeIcon = () => /* @__PURE__ */
|
|
229
|
-
/* @__PURE__ */
|
|
230
|
-
/* @__PURE__ */
|
|
575
|
+
import { forwardRef as forwardRef9, useState as useState3 } from "react";
|
|
576
|
+
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
577
|
+
var EyeIcon = () => /* @__PURE__ */ jsxs7("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
578
|
+
/* @__PURE__ */ jsx9("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }),
|
|
579
|
+
/* @__PURE__ */ jsx9("circle", { cx: "12", cy: "12", r: "3" })
|
|
231
580
|
] });
|
|
232
|
-
var EyeOffIcon = () => /* @__PURE__ */
|
|
233
|
-
/* @__PURE__ */
|
|
234
|
-
/* @__PURE__ */
|
|
581
|
+
var EyeOffIcon = () => /* @__PURE__ */ jsxs7("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
582
|
+
/* @__PURE__ */ jsx9("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24" }),
|
|
583
|
+
/* @__PURE__ */ jsx9("line", { x1: "1", y1: "1", x2: "23", y2: "23" })
|
|
235
584
|
] });
|
|
236
|
-
var InputPassword =
|
|
585
|
+
var InputPassword = forwardRef9(
|
|
237
586
|
({ label, error, errorMessage, required, size, classContainer, classInput, value, onChange, disabled, name, ...props }, ref) => {
|
|
238
|
-
const [visible, setVisible] =
|
|
239
|
-
return /* @__PURE__ */
|
|
587
|
+
const [visible, setVisible] = useState3(false);
|
|
588
|
+
return /* @__PURE__ */ jsxs7(
|
|
240
589
|
InputWrapper,
|
|
241
590
|
{
|
|
242
591
|
label,
|
|
@@ -248,7 +597,7 @@ var InputPassword = forwardRef5(
|
|
|
248
597
|
classContainer,
|
|
249
598
|
htmlFor: name,
|
|
250
599
|
children: [
|
|
251
|
-
/* @__PURE__ */
|
|
600
|
+
/* @__PURE__ */ jsx9(
|
|
252
601
|
"input",
|
|
253
602
|
{
|
|
254
603
|
ref,
|
|
@@ -264,7 +613,7 @@ var InputPassword = forwardRef5(
|
|
|
264
613
|
...props
|
|
265
614
|
}
|
|
266
615
|
),
|
|
267
|
-
/* @__PURE__ */
|
|
616
|
+
/* @__PURE__ */ jsx9(
|
|
268
617
|
"button",
|
|
269
618
|
{
|
|
270
619
|
type: "button",
|
|
@@ -272,7 +621,7 @@ var InputPassword = forwardRef5(
|
|
|
272
621
|
"aria-label": visible ? "Ocultar senha" : "Mostrar senha",
|
|
273
622
|
className: "px-2.5 text-gray-400 hover:text-gray-600",
|
|
274
623
|
onClick: () => setVisible(!visible),
|
|
275
|
-
children: visible ? /* @__PURE__ */
|
|
624
|
+
children: visible ? /* @__PURE__ */ jsx9(EyeOffIcon, {}) : /* @__PURE__ */ jsx9(EyeIcon, {})
|
|
276
625
|
}
|
|
277
626
|
)
|
|
278
627
|
]
|
|
@@ -283,10 +632,10 @@ var InputPassword = forwardRef5(
|
|
|
283
632
|
InputPassword.displayName = "InputPassword";
|
|
284
633
|
|
|
285
634
|
// src/components/Input/InputNumber.tsx
|
|
286
|
-
import { forwardRef as
|
|
287
|
-
import { jsx as
|
|
635
|
+
import { forwardRef as forwardRef10 } from "react";
|
|
636
|
+
import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
288
637
|
var allowedKeys = ["Backspace", "Delete", "Tab", "ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"];
|
|
289
|
-
var InputNumber =
|
|
638
|
+
var InputNumber = forwardRef10(
|
|
290
639
|
({ label, error, errorMessage, required, size, leftIcon, rightIcon, classContainer, classInput, value, onChange, disabled, name, min = 0, max, ...props }, ref) => {
|
|
291
640
|
function handleKeyDown(e) {
|
|
292
641
|
if (e.ctrlKey || e.metaKey) return;
|
|
@@ -306,7 +655,7 @@ var InputNumber = forwardRef6(
|
|
|
306
655
|
if (max !== void 0 && num > max) return;
|
|
307
656
|
onChange?.(num);
|
|
308
657
|
}
|
|
309
|
-
return /* @__PURE__ */
|
|
658
|
+
return /* @__PURE__ */ jsxs8(
|
|
310
659
|
InputWrapper,
|
|
311
660
|
{
|
|
312
661
|
label,
|
|
@@ -318,8 +667,8 @@ var InputNumber = forwardRef6(
|
|
|
318
667
|
classContainer,
|
|
319
668
|
htmlFor: name,
|
|
320
669
|
children: [
|
|
321
|
-
leftIcon && /* @__PURE__ */
|
|
322
|
-
/* @__PURE__ */
|
|
670
|
+
leftIcon && /* @__PURE__ */ jsx10("span", { className: "pl-2.5 text-gray-400", children: leftIcon }),
|
|
671
|
+
/* @__PURE__ */ jsx10(
|
|
323
672
|
"input",
|
|
324
673
|
{
|
|
325
674
|
ref,
|
|
@@ -336,7 +685,7 @@ var InputNumber = forwardRef6(
|
|
|
336
685
|
...props
|
|
337
686
|
}
|
|
338
687
|
),
|
|
339
|
-
rightIcon && /* @__PURE__ */
|
|
688
|
+
rightIcon && /* @__PURE__ */ jsx10("span", { className: "pr-2.5 text-gray-400", children: rightIcon })
|
|
340
689
|
]
|
|
341
690
|
}
|
|
342
691
|
);
|
|
@@ -345,7 +694,7 @@ var InputNumber = forwardRef6(
|
|
|
345
694
|
InputNumber.displayName = "InputNumber";
|
|
346
695
|
|
|
347
696
|
// src/components/Input/InputCPF.tsx
|
|
348
|
-
import { forwardRef as
|
|
697
|
+
import { forwardRef as forwardRef11 } from "react";
|
|
349
698
|
|
|
350
699
|
// src/components/Input/masks.ts
|
|
351
700
|
function maskCPF(value) {
|
|
@@ -379,14 +728,14 @@ function unmaskCurrency(value) {
|
|
|
379
728
|
}
|
|
380
729
|
|
|
381
730
|
// src/components/Input/InputCPF.tsx
|
|
382
|
-
import { jsx as
|
|
383
|
-
var InputCPF =
|
|
731
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
732
|
+
var InputCPF = forwardRef11(
|
|
384
733
|
({ label, error, errorMessage, required, size, classContainer, classInput, value, onChange, disabled, name, ...props }, ref) => {
|
|
385
734
|
function handleChange(raw) {
|
|
386
735
|
const digits = unmask(raw);
|
|
387
736
|
onChange?.(digits);
|
|
388
737
|
}
|
|
389
|
-
return /* @__PURE__ */
|
|
738
|
+
return /* @__PURE__ */ jsx11(
|
|
390
739
|
InputWrapper,
|
|
391
740
|
{
|
|
392
741
|
label,
|
|
@@ -397,7 +746,7 @@ var InputCPF = forwardRef7(
|
|
|
397
746
|
size,
|
|
398
747
|
classContainer,
|
|
399
748
|
htmlFor: name,
|
|
400
|
-
children: /* @__PURE__ */
|
|
749
|
+
children: /* @__PURE__ */ jsx11(
|
|
401
750
|
"input",
|
|
402
751
|
{
|
|
403
752
|
ref,
|
|
@@ -422,15 +771,15 @@ var InputCPF = forwardRef7(
|
|
|
422
771
|
InputCPF.displayName = "InputCPF";
|
|
423
772
|
|
|
424
773
|
// src/components/Input/InputCNPJ.tsx
|
|
425
|
-
import { forwardRef as
|
|
426
|
-
import { jsx as
|
|
427
|
-
var InputCNPJ =
|
|
774
|
+
import { forwardRef as forwardRef12 } from "react";
|
|
775
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
776
|
+
var InputCNPJ = forwardRef12(
|
|
428
777
|
({ label, error, errorMessage, required, size, classContainer, classInput, value, onChange, disabled, name, ...props }, ref) => {
|
|
429
778
|
function handleChange(raw) {
|
|
430
779
|
const digits = unmask(raw);
|
|
431
780
|
onChange?.(digits);
|
|
432
781
|
}
|
|
433
|
-
return /* @__PURE__ */
|
|
782
|
+
return /* @__PURE__ */ jsx12(
|
|
434
783
|
InputWrapper,
|
|
435
784
|
{
|
|
436
785
|
label,
|
|
@@ -441,7 +790,7 @@ var InputCNPJ = forwardRef8(
|
|
|
441
790
|
size,
|
|
442
791
|
classContainer,
|
|
443
792
|
htmlFor: name,
|
|
444
|
-
children: /* @__PURE__ */
|
|
793
|
+
children: /* @__PURE__ */ jsx12(
|
|
445
794
|
"input",
|
|
446
795
|
{
|
|
447
796
|
ref,
|
|
@@ -466,15 +815,15 @@ var InputCNPJ = forwardRef8(
|
|
|
466
815
|
InputCNPJ.displayName = "InputCNPJ";
|
|
467
816
|
|
|
468
817
|
// src/components/Input/InputPhone.tsx
|
|
469
|
-
import { forwardRef as
|
|
470
|
-
import { jsx as
|
|
471
|
-
var InputPhone =
|
|
818
|
+
import { forwardRef as forwardRef13 } from "react";
|
|
819
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
820
|
+
var InputPhone = forwardRef13(
|
|
472
821
|
({ label, error, errorMessage, required, size, classContainer, classInput, value, onChange, disabled, name, ...props }, ref) => {
|
|
473
822
|
function handleChange(raw) {
|
|
474
823
|
const digits = unmask(raw);
|
|
475
824
|
onChange?.(digits);
|
|
476
825
|
}
|
|
477
|
-
return /* @__PURE__ */
|
|
826
|
+
return /* @__PURE__ */ jsx13(
|
|
478
827
|
InputWrapper,
|
|
479
828
|
{
|
|
480
829
|
label,
|
|
@@ -485,7 +834,7 @@ var InputPhone = forwardRef9(
|
|
|
485
834
|
size,
|
|
486
835
|
classContainer,
|
|
487
836
|
htmlFor: name,
|
|
488
|
-
children: /* @__PURE__ */
|
|
837
|
+
children: /* @__PURE__ */ jsx13(
|
|
489
838
|
"input",
|
|
490
839
|
{
|
|
491
840
|
ref,
|
|
@@ -510,8 +859,8 @@ var InputPhone = forwardRef9(
|
|
|
510
859
|
InputPhone.displayName = "InputPhone";
|
|
511
860
|
|
|
512
861
|
// src/components/Input/InputCurrency.tsx
|
|
513
|
-
import { forwardRef as
|
|
514
|
-
import { jsx as
|
|
862
|
+
import { forwardRef as forwardRef14 } from "react";
|
|
863
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
515
864
|
function formatCurrency(value, prefix, decimalScale) {
|
|
516
865
|
const fixed = Math.abs(value).toFixed(decimalScale);
|
|
517
866
|
const [intPart, decPart] = fixed.split(".");
|
|
@@ -519,7 +868,7 @@ function formatCurrency(value, prefix, decimalScale) {
|
|
|
519
868
|
const sign = value < 0 ? "-" : "";
|
|
520
869
|
return `${sign}${prefix}${formatted},${decPart}`;
|
|
521
870
|
}
|
|
522
|
-
var InputCurrency =
|
|
871
|
+
var InputCurrency = forwardRef14(
|
|
523
872
|
({ label, error, errorMessage, required, size, classContainer, classInput, value, onChange, disabled, name, prefix = "R$ ", decimalScale = 2, allowNegative = false, ...props }, ref) => {
|
|
524
873
|
function handleChange(e) {
|
|
525
874
|
const raw = e.target.value;
|
|
@@ -528,7 +877,7 @@ var InputCurrency = forwardRef10(
|
|
|
528
877
|
onChange?.(isNaN(num) ? void 0 : num);
|
|
529
878
|
}
|
|
530
879
|
const displayValue = value !== void 0 && value !== null ? formatCurrency(value, prefix, decimalScale) : "";
|
|
531
|
-
return /* @__PURE__ */
|
|
880
|
+
return /* @__PURE__ */ jsx14(
|
|
532
881
|
InputWrapper,
|
|
533
882
|
{
|
|
534
883
|
label,
|
|
@@ -539,7 +888,7 @@ var InputCurrency = forwardRef10(
|
|
|
539
888
|
size,
|
|
540
889
|
classContainer,
|
|
541
890
|
htmlFor: name,
|
|
542
|
-
children: /* @__PURE__ */
|
|
891
|
+
children: /* @__PURE__ */ jsx14(
|
|
543
892
|
"input",
|
|
544
893
|
{
|
|
545
894
|
ref,
|
|
@@ -563,15 +912,15 @@ var InputCurrency = forwardRef10(
|
|
|
563
912
|
InputCurrency.displayName = "InputCurrency";
|
|
564
913
|
|
|
565
914
|
// src/components/Input/InputCep.tsx
|
|
566
|
-
import { forwardRef as
|
|
567
|
-
import { jsx as
|
|
568
|
-
var InputCep =
|
|
915
|
+
import { forwardRef as forwardRef15 } from "react";
|
|
916
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
917
|
+
var InputCep = forwardRef15(
|
|
569
918
|
({ label, error, errorMessage, required, size, classContainer, classInput, value, onChange, disabled, name, ...props }, ref) => {
|
|
570
919
|
function handleChange(raw) {
|
|
571
920
|
const digits = unmask(raw);
|
|
572
921
|
onChange?.(digits);
|
|
573
922
|
}
|
|
574
|
-
return /* @__PURE__ */
|
|
923
|
+
return /* @__PURE__ */ jsx15(
|
|
575
924
|
InputWrapper,
|
|
576
925
|
{
|
|
577
926
|
label,
|
|
@@ -582,7 +931,7 @@ var InputCep = forwardRef11(
|
|
|
582
931
|
size,
|
|
583
932
|
classContainer,
|
|
584
933
|
htmlFor: name,
|
|
585
|
-
children: /* @__PURE__ */
|
|
934
|
+
children: /* @__PURE__ */ jsx15(
|
|
586
935
|
"input",
|
|
587
936
|
{
|
|
588
937
|
ref,
|
|
@@ -608,10 +957,10 @@ var InputCep = forwardRef11(
|
|
|
608
957
|
InputCep.displayName = "InputCep";
|
|
609
958
|
|
|
610
959
|
// src/components/Input/InputCheckbox.tsx
|
|
611
|
-
import { forwardRef as
|
|
612
|
-
import { tv as
|
|
613
|
-
import { jsx as
|
|
614
|
-
var checkboxContainer =
|
|
960
|
+
import { forwardRef as forwardRef16 } from "react";
|
|
961
|
+
import { tv as tv7 } from "tailwind-variants";
|
|
962
|
+
import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
963
|
+
var checkboxContainer = tv7({
|
|
615
964
|
base: "inline-flex items-center justify-center w-[18px] h-[18px] rounded border cursor-pointer transition-colors",
|
|
616
965
|
variants: {
|
|
617
966
|
checked: {
|
|
@@ -629,15 +978,15 @@ var checkboxContainer = tv3({
|
|
|
629
978
|
checked: false
|
|
630
979
|
}
|
|
631
980
|
});
|
|
632
|
-
var CheckIcon = () => /* @__PURE__ */
|
|
633
|
-
var IndeterminateIcon = () => /* @__PURE__ */
|
|
634
|
-
var InputCheckbox =
|
|
981
|
+
var CheckIcon = () => /* @__PURE__ */ jsx16("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "white", strokeWidth: "4", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx16("polyline", { points: "20 6 9 17 4 12" }) });
|
|
982
|
+
var IndeterminateIcon = () => /* @__PURE__ */ jsx16("div", { className: "w-2 h-2 rounded-sm bg-gray-300" });
|
|
983
|
+
var InputCheckbox = forwardRef16(
|
|
635
984
|
({ label, checked = false, indeterminate = false, onChange, disabled, error, labelPosition = "right", className, name, required }, ref) => {
|
|
636
985
|
function handleClick() {
|
|
637
986
|
if (disabled) return;
|
|
638
987
|
onChange?.(!checked);
|
|
639
988
|
}
|
|
640
|
-
const box = /* @__PURE__ */
|
|
989
|
+
const box = /* @__PURE__ */ jsxs9(
|
|
641
990
|
"button",
|
|
642
991
|
{
|
|
643
992
|
ref,
|
|
@@ -650,27 +999,27 @@ var InputCheckbox = forwardRef12(
|
|
|
650
999
|
onClick: handleClick,
|
|
651
1000
|
disabled,
|
|
652
1001
|
children: [
|
|
653
|
-
checked && !indeterminate && /* @__PURE__ */
|
|
654
|
-
indeterminate && /* @__PURE__ */
|
|
1002
|
+
checked && !indeterminate && /* @__PURE__ */ jsx16(CheckIcon, {}),
|
|
1003
|
+
indeterminate && /* @__PURE__ */ jsx16(IndeterminateIcon, {})
|
|
655
1004
|
]
|
|
656
1005
|
}
|
|
657
1006
|
);
|
|
658
|
-
if (!label) return /* @__PURE__ */
|
|
659
|
-
return /* @__PURE__ */
|
|
660
|
-
labelPosition === "left" && /* @__PURE__ */
|
|
1007
|
+
if (!label) return /* @__PURE__ */ jsx16("div", { className, children: box });
|
|
1008
|
+
return /* @__PURE__ */ jsxs9("div", { className: `flex items-center gap-2 ${className ?? ""}`, children: [
|
|
1009
|
+
labelPosition === "left" && /* @__PURE__ */ jsx16("label", { htmlFor: name, className: "text-sm text-gray-700 cursor-pointer select-none", children: label }),
|
|
661
1010
|
box,
|
|
662
|
-
labelPosition === "right" && /* @__PURE__ */
|
|
663
|
-
required && /* @__PURE__ */
|
|
1011
|
+
labelPosition === "right" && /* @__PURE__ */ jsx16("label", { htmlFor: name, className: "text-sm text-gray-700 cursor-pointer select-none", children: label }),
|
|
1012
|
+
required && /* @__PURE__ */ jsx16("span", { className: "text-red-500 text-[10px]", children: "*" })
|
|
664
1013
|
] });
|
|
665
1014
|
}
|
|
666
1015
|
);
|
|
667
1016
|
InputCheckbox.displayName = "InputCheckbox";
|
|
668
1017
|
|
|
669
1018
|
// src/components/Input/InputRadio.tsx
|
|
670
|
-
import { forwardRef as
|
|
671
|
-
import { tv as
|
|
672
|
-
import { jsx as
|
|
673
|
-
var radioButton =
|
|
1019
|
+
import { forwardRef as forwardRef17 } from "react";
|
|
1020
|
+
import { tv as tv8 } from "tailwind-variants";
|
|
1021
|
+
import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1022
|
+
var radioButton = tv8({
|
|
674
1023
|
base: "inline-flex items-center justify-center w-[18px] h-[18px] rounded-full border cursor-pointer transition-colors",
|
|
675
1024
|
variants: {
|
|
676
1025
|
selected: {
|
|
@@ -688,14 +1037,14 @@ var radioButton = tv4({
|
|
|
688
1037
|
selected: false
|
|
689
1038
|
}
|
|
690
1039
|
});
|
|
691
|
-
var InputRadio =
|
|
1040
|
+
var InputRadio = forwardRef17(
|
|
692
1041
|
({ label, options, value, onChange, disabled, error, required, name, className, direction = "horizontal" }, ref) => {
|
|
693
|
-
return /* @__PURE__ */
|
|
694
|
-
label && /* @__PURE__ */
|
|
695
|
-
/* @__PURE__ */
|
|
696
|
-
required && /* @__PURE__ */
|
|
1042
|
+
return /* @__PURE__ */ jsxs10("div", { ref, className: `flex w-full flex-col gap-1 ${className ?? ""}`, children: [
|
|
1043
|
+
label && /* @__PURE__ */ jsxs10("span", { className: "text-xs text-gray-700 flex items-start gap-0.5", children: [
|
|
1044
|
+
/* @__PURE__ */ jsx17("span", { children: label }),
|
|
1045
|
+
required && /* @__PURE__ */ jsx17("span", { className: "text-red-500 text-[10px] leading-none mt-0.5", children: "*" })
|
|
697
1046
|
] }),
|
|
698
|
-
/* @__PURE__ */
|
|
1047
|
+
/* @__PURE__ */ jsx17(
|
|
699
1048
|
"div",
|
|
700
1049
|
{
|
|
701
1050
|
role: "radiogroup",
|
|
@@ -704,12 +1053,12 @@ var InputRadio = forwardRef13(
|
|
|
704
1053
|
children: options.map((option) => {
|
|
705
1054
|
const isSelected = value === option.value;
|
|
706
1055
|
const isDisabled = disabled || option.disabled;
|
|
707
|
-
return /* @__PURE__ */
|
|
1056
|
+
return /* @__PURE__ */ jsxs10(
|
|
708
1057
|
"label",
|
|
709
1058
|
{
|
|
710
1059
|
className: `flex items-center gap-2 cursor-pointer select-none ${isDisabled ? "opacity-50 cursor-not-allowed" : ""}`,
|
|
711
1060
|
children: [
|
|
712
|
-
/* @__PURE__ */
|
|
1061
|
+
/* @__PURE__ */ jsx17(
|
|
713
1062
|
"button",
|
|
714
1063
|
{
|
|
715
1064
|
type: "button",
|
|
@@ -718,10 +1067,10 @@ var InputRadio = forwardRef13(
|
|
|
718
1067
|
className: radioButton({ selected: isSelected, disabled: !!isDisabled, error: !!error }),
|
|
719
1068
|
onClick: () => !isDisabled && onChange?.(option.value),
|
|
720
1069
|
disabled: isDisabled,
|
|
721
|
-
children: isSelected && /* @__PURE__ */
|
|
1070
|
+
children: isSelected && /* @__PURE__ */ jsx17("div", { className: "w-[10px] h-[10px] rounded-full bg-blue-600" })
|
|
722
1071
|
}
|
|
723
1072
|
),
|
|
724
|
-
/* @__PURE__ */
|
|
1073
|
+
/* @__PURE__ */ jsx17("span", { className: "text-sm text-gray-700", children: option.label })
|
|
725
1074
|
]
|
|
726
1075
|
},
|
|
727
1076
|
String(option.value)
|
|
@@ -729,17 +1078,17 @@ var InputRadio = forwardRef13(
|
|
|
729
1078
|
})
|
|
730
1079
|
}
|
|
731
1080
|
),
|
|
732
|
-
error && /* @__PURE__ */
|
|
1081
|
+
error && /* @__PURE__ */ jsx17("span", { className: "text-xs text-red-500 mt-0.5", children: "Selecione uma op\xE7\xE3o" })
|
|
733
1082
|
] });
|
|
734
1083
|
}
|
|
735
1084
|
);
|
|
736
1085
|
InputRadio.displayName = "InputRadio";
|
|
737
1086
|
|
|
738
1087
|
// src/components/Input/Textarea.tsx
|
|
739
|
-
import { forwardRef as
|
|
740
|
-
import { tv as
|
|
741
|
-
import { jsx as
|
|
742
|
-
var textareaStyle =
|
|
1088
|
+
import { forwardRef as forwardRef18 } from "react";
|
|
1089
|
+
import { tv as tv9 } from "tailwind-variants";
|
|
1090
|
+
import { jsx as jsx18, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1091
|
+
var textareaStyle = tv9({
|
|
743
1092
|
base: "w-full rounded-md border bg-white px-2.5 py-2 text-sm text-gray-900 outline-none placeholder:text-gray-400 resize-vertical transition-colors",
|
|
744
1093
|
variants: {
|
|
745
1094
|
error: {
|
|
@@ -754,14 +1103,14 @@ var textareaStyle = tv5({
|
|
|
754
1103
|
error: false
|
|
755
1104
|
}
|
|
756
1105
|
});
|
|
757
|
-
var Textarea =
|
|
1106
|
+
var Textarea = forwardRef18(
|
|
758
1107
|
({ label, error, errorMessage, required, size, classInput, value, onChange, disabled, name, rows = 4, ...props }, ref) => {
|
|
759
|
-
return /* @__PURE__ */
|
|
760
|
-
label && /* @__PURE__ */
|
|
761
|
-
/* @__PURE__ */
|
|
762
|
-
required && /* @__PURE__ */
|
|
1108
|
+
return /* @__PURE__ */ jsxs11("div", { className: "flex w-full flex-col gap-1", children: [
|
|
1109
|
+
label && /* @__PURE__ */ jsxs11("label", { htmlFor: name, className: "text-xs text-gray-700 flex items-start gap-0.5", children: [
|
|
1110
|
+
/* @__PURE__ */ jsx18("span", { children: label }),
|
|
1111
|
+
required && /* @__PURE__ */ jsx18("span", { className: "text-red-500 text-[10px] leading-none mt-0.5", children: "*" })
|
|
763
1112
|
] }),
|
|
764
|
-
/* @__PURE__ */
|
|
1113
|
+
/* @__PURE__ */ jsx18(
|
|
765
1114
|
"textarea",
|
|
766
1115
|
{
|
|
767
1116
|
ref,
|
|
@@ -776,13 +1125,15 @@ var Textarea = forwardRef14(
|
|
|
776
1125
|
...props
|
|
777
1126
|
}
|
|
778
1127
|
),
|
|
779
|
-
error && errorMessage && /* @__PURE__ */
|
|
1128
|
+
error && errorMessage && /* @__PURE__ */ jsx18("span", { className: "text-xs text-red-500 mt-0.5", children: errorMessage })
|
|
780
1129
|
] });
|
|
781
1130
|
}
|
|
782
1131
|
);
|
|
783
1132
|
Textarea.displayName = "Textarea";
|
|
784
1133
|
export {
|
|
1134
|
+
Avatar,
|
|
785
1135
|
Button,
|
|
1136
|
+
Card,
|
|
786
1137
|
InputCNPJ,
|
|
787
1138
|
InputCPF,
|
|
788
1139
|
InputCep,
|
|
@@ -795,13 +1146,19 @@ export {
|
|
|
795
1146
|
InputRadio,
|
|
796
1147
|
InputString,
|
|
797
1148
|
InputWrapper,
|
|
1149
|
+
Modal,
|
|
798
1150
|
Textarea,
|
|
1151
|
+
Tooltip,
|
|
1152
|
+
avatar,
|
|
799
1153
|
button,
|
|
1154
|
+
card,
|
|
800
1155
|
maskCEP,
|
|
801
1156
|
maskCNPJ,
|
|
802
1157
|
maskCPF,
|
|
803
1158
|
maskCurrency,
|
|
804
1159
|
maskPhone,
|
|
1160
|
+
modal,
|
|
1161
|
+
tooltip,
|
|
805
1162
|
unmask,
|
|
806
1163
|
unmaskCurrency
|
|
807
1164
|
};
|