@clickpalm/react 1.3.15 → 1.3.16

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.mjs ADDED
@@ -0,0 +1,4386 @@
1
+ // ../tokens/dist/index.mjs
2
+ var colors = {
3
+ white: "#FFF",
4
+ black: "#000",
5
+ gray_background: "#EFEFEF",
6
+ gray_light: "#D9D9D9",
7
+ gray_mid: "#C2C2C2",
8
+ gray_dark: "#979797",
9
+ clickpalm_light: "#8987E6",
10
+ clickpalm_mid: "#8556E5",
11
+ clickpalm_dark: "#854FE8",
12
+ clickpalm_superDark: "#4A307F",
13
+ ignite_light: "#78CB63",
14
+ ignite_dark: "#518D42",
15
+ success: "#84FF8A",
16
+ success_dark: "#3EBF4A",
17
+ warning: "#FCD842",
18
+ warning_dark: "#C9A600",
19
+ danger: "#FF8173",
20
+ danger_dark: "#C94A3F"
21
+ };
22
+ var space = {
23
+ 1: "0.25rem",
24
+ 2: "0.5rem",
25
+ 3: "0.75rem",
26
+ 4: "1rem",
27
+ 5: "1.25rem",
28
+ 6: "1.5rem",
29
+ 7: "1.75rem",
30
+ 8: "2rem",
31
+ 10: "2.5rem",
32
+ 11: "2.75rem",
33
+ 12: "3rem",
34
+ 14: "3.5rem",
35
+ 16: "4rem",
36
+ 19: "4.75rem",
37
+ 20: "5rem",
38
+ 22: "6rem",
39
+ 40: "10rem",
40
+ 64: "16rem",
41
+ 80: "20rem"
42
+ };
43
+ var radii = {
44
+ px: "1px",
45
+ xs: "4px",
46
+ sm: "6px",
47
+ md: "8px",
48
+ lg: "16px",
49
+ full: "99999px"
50
+ };
51
+ var fonts = {
52
+ default: "Nunito",
53
+ code: "monospace"
54
+ };
55
+ var fontSizes = {
56
+ xxs: "0.625rem",
57
+ xs: "0.75rem",
58
+ sm: "0.875rem",
59
+ md: "1rem",
60
+ lg: "1.125rem",
61
+ xl: "1.25rem",
62
+ "2xl": "1.5rem",
63
+ "4xl": "2rem",
64
+ "5xl": "2.25rem",
65
+ "6xl": "3rem",
66
+ "7xl": "4rem",
67
+ "8xl": "4.5rem",
68
+ "9xl": "6rem"
69
+ };
70
+ var fontWeights = {
71
+ regular: "400",
72
+ medium: "500",
73
+ bold: "700"
74
+ };
75
+ var lineHeights = {
76
+ regular: "100%",
77
+ shorter: "125%",
78
+ short: "140%",
79
+ base: "160%",
80
+ tall: "180%"
81
+ };
82
+
83
+ // src/styles/stitches.config.ts
84
+ import { createStitches, defaultThemeMap } from "@stitches/react";
85
+ var {
86
+ styled,
87
+ css,
88
+ globalCss,
89
+ keyframes,
90
+ getCssText,
91
+ theme,
92
+ createTheme,
93
+ config
94
+ } = createStitches({
95
+ themeMap: {
96
+ ...defaultThemeMap,
97
+ height: "space",
98
+ width: "space"
99
+ },
100
+ theme: {
101
+ colors,
102
+ fontSizes,
103
+ fontWeights,
104
+ fonts,
105
+ lineHeights,
106
+ radii,
107
+ space
108
+ },
109
+ media: {
110
+ sm: "(min-width: 375px)",
111
+ md: "(min-width: 768px)",
112
+ lg: "(min-width: 1024px)"
113
+ }
114
+ });
115
+
116
+ // src/components/Avatar/styles.ts
117
+ import * as Avatar from "@radix-ui/react-avatar";
118
+ var AvatarContainer = styled(Avatar.Root, {
119
+ borderRadius: "$full",
120
+ display: "inline-block",
121
+ overflow: "hidden",
122
+ borderWidth: "3px",
123
+ borderStyle: "solid",
124
+ boxSizing: "border-box",
125
+ variants: {
126
+ size: {
127
+ sm: { width: "$11", height: "$11" },
128
+ md: { width: "$14", height: "$14" },
129
+ lg: { width: "$19", height: "$19" },
130
+ xlg: { width: "$22", height: "$22" }
131
+ },
132
+ status: {
133
+ default: { borderColor: "$white" },
134
+ warning: { borderColor: "$warning" },
135
+ error: { borderColor: "$danger" },
136
+ success: { borderColor: "$success" },
137
+ completed: { borderColor: "$clickpalm_dark" }
138
+ },
139
+ shadow: {
140
+ true: { boxShadow: "0 2px 4px $colors$gray_dark" }
141
+ }
142
+ },
143
+ defaultVariants: {
144
+ size: "md",
145
+ status: "default"
146
+ }
147
+ });
148
+ var AvatarImage = styled(Avatar.Image, {
149
+ width: "100%",
150
+ height: "100%",
151
+ objectFit: "cover",
152
+ borderRadius: "inherit"
153
+ });
154
+ var AvatarFallback = styled(Avatar.Fallback, {
155
+ width: "100%",
156
+ height: "100%",
157
+ display: "flex",
158
+ alignItems: "center",
159
+ justifyContent: "center",
160
+ backgroundColor: "$gray_background",
161
+ color: "$black",
162
+ fontWeight: "$bold",
163
+ fontSize: "$sm"
164
+ });
165
+ var NotificationBadge = styled("div", {
166
+ position: "absolute",
167
+ transform: "translate(50%, 50%)",
168
+ backgroundColor: "$ignite_light",
169
+ color: "$black",
170
+ fontWeight: "$bold",
171
+ display: "flex",
172
+ alignItems: "center",
173
+ justifyContent: "center",
174
+ borderRadius: "$full",
175
+ border: "1px solid $white",
176
+ boxSizing: "border-box",
177
+ zIndex: 1,
178
+ variants: {
179
+ size: {
180
+ sm: {
181
+ width: "20px",
182
+ height: "20px",
183
+ fontSize: "8px",
184
+ bottom: 18,
185
+ right: 4
186
+ },
187
+ md: {
188
+ width: "20px",
189
+ height: "20px",
190
+ fontSize: "10px",
191
+ bottom: 20,
192
+ right: 5
193
+ },
194
+ lg: {
195
+ width: "30px",
196
+ height: "30px",
197
+ fontSize: "11px",
198
+ bottom: 25,
199
+ right: 8
200
+ },
201
+ xlg: {
202
+ width: "30px",
203
+ height: "30px",
204
+ fontSize: "12px",
205
+ bottom: 25,
206
+ right: 8
207
+ }
208
+ }
209
+ },
210
+ defaultVariants: {
211
+ size: "md"
212
+ }
213
+ });
214
+
215
+ // src/components/Avatar/index.tsx
216
+ import { jsx, jsxs } from "react/jsx-runtime";
217
+ function Avatar2({
218
+ fallback,
219
+ className,
220
+ style,
221
+ size = "md",
222
+ status = "default",
223
+ notifications = 0,
224
+ shadow = false,
225
+ ...props
226
+ }) {
227
+ return /* @__PURE__ */ jsxs("div", { style: { position: "relative", display: "inline-block" }, children: [
228
+ /* @__PURE__ */ jsxs(AvatarContainer, { className, style, size, status, shadow, children: [
229
+ /* @__PURE__ */ jsx(AvatarImage, { ...props }),
230
+ /* @__PURE__ */ jsx(AvatarFallback, { children: fallback })
231
+ ] }),
232
+ notifications > 0 && /* @__PURE__ */ jsx(NotificationBadge, { size, children: notifications > 99 ? "99+" : notifications })
233
+ ] });
234
+ }
235
+ Avatar2.displayName = "Avatar";
236
+
237
+ // src/components/Calendar/index.tsx
238
+ import { format } from "date-fns";
239
+ import { ptBR } from "date-fns/locale";
240
+ import { useEffect, useState } from "react";
241
+ import { DayPicker } from "react-day-picker";
242
+ import "react-day-picker/dist/style.css";
243
+
244
+ // src/components/Button.tsx
245
+ import { forwardRef } from "react";
246
+ import { jsx as jsx2 } from "react/jsx-runtime";
247
+ var StyledButton = styled("button", {
248
+ all: "unset",
249
+ borderRadius: "$md",
250
+ fontWeight: "$bold",
251
+ fontFamily: "$default",
252
+ textAlign: "center",
253
+ boxSizing: "border-box",
254
+ display: "flex",
255
+ alignItems: "center",
256
+ justifyContent: "center",
257
+ gap: "$2",
258
+ cursor: "pointer",
259
+ svg: {
260
+ width: "$4",
261
+ height: "$4"
262
+ },
263
+ "&:disabled": {
264
+ cursor: "not-allowed"
265
+ },
266
+ "&:focus": {
267
+ outline: "none"
268
+ },
269
+ variants: {
270
+ variant: {
271
+ primary: {
272
+ color: "$white",
273
+ backgroundImage: "linear-gradient(to bottom, $ignite_light, $ignite_dark)",
274
+ "&:not(:disabled):is(:hover, :focus)": {
275
+ background: "$ignite_dark"
276
+ },
277
+ "&:disabled": {
278
+ opacity: "0.6"
279
+ }
280
+ },
281
+ secondary: {
282
+ color: "$clickpalm_mid",
283
+ border: "2px solid $ignite_light",
284
+ "&:not(:disabled):is(:hover, :focus)": {
285
+ border: "2px solid $ignite_dark"
286
+ },
287
+ "&:disabled": {
288
+ opacity: "0.6"
289
+ }
290
+ },
291
+ tertiary: {
292
+ color: "$ignite_light",
293
+ border: "3px solid $clickpalm_mid",
294
+ "&:not(:disabled):is(:hover, :focus)": {
295
+ color: "$ignite_dark"
296
+ },
297
+ "&:disabled": {
298
+ opacity: "0.6"
299
+ },
300
+ svg: {
301
+ fill: "$ignite_light"
302
+ }
303
+ }
304
+ },
305
+ size: {
306
+ xs: {},
307
+ sm: {
308
+ height: 33,
309
+ padding: "0 $2",
310
+ fontSize: "$md"
311
+ },
312
+ md: {
313
+ height: 53,
314
+ padding: "0 $4",
315
+ fontSize: "$md"
316
+ },
317
+ lg: {
318
+ height: 70,
319
+ padding: "0 $6",
320
+ fontSize: "$2xl"
321
+ }
322
+ },
323
+ full: {
324
+ true: {
325
+ width: "100%"
326
+ }
327
+ },
328
+ round: {
329
+ md: {
330
+ height: 53,
331
+ width: 53,
332
+ padding: "0 $4",
333
+ borderRadius: "50%"
334
+ },
335
+ lg: {
336
+ height: 70,
337
+ width: 70,
338
+ padding: "0 $6",
339
+ borderRadius: "50%"
340
+ },
341
+ xlg: {
342
+ height: 160,
343
+ width: 160,
344
+ padding: "0 $8",
345
+ borderRadius: "50%"
346
+ }
347
+ }
348
+ },
349
+ defaultVariants: {
350
+ variant: "primary",
351
+ size: "md"
352
+ }
353
+ });
354
+ var Button = forwardRef(function Button2({ children, ...props }, ref) {
355
+ return /* @__PURE__ */ jsx2(StyledButton, { ref, ...props, children });
356
+ });
357
+ Button.displayName = "Button";
358
+
359
+ // src/components/Icon/index.tsx
360
+ import { forwardRef as forwardRef2 } from "react";
361
+
362
+ // src/components/Icon/icons.ts
363
+ import {
364
+ TriangleDownIcon as TriangleDown,
365
+ TriangleUpIcon as TriangleUp,
366
+ TriangleLeftIcon as TriangleLeft,
367
+ TriangleRightIcon as TriangleRight,
368
+ EyeClosedIcon as EyeClosed,
369
+ EyeOpenIcon as EyeOpen,
370
+ QuestionMarkIcon as QuestionMark,
371
+ ReloadIcon as Reload
372
+ } from "@radix-ui/react-icons";
373
+
374
+ // src/components/Icon/Svgs/Calendar.tsx
375
+ import { jsx as jsx3 } from "react/jsx-runtime";
376
+ var Calendar = (props) => /* @__PURE__ */ jsx3(
377
+ "svg",
378
+ {
379
+ width: "18",
380
+ height: "21",
381
+ viewBox: "0 0 18 21",
382
+ fill: "none",
383
+ xmlns: "http://www.w3.org/2000/svg",
384
+ ...props,
385
+ children: /* @__PURE__ */ jsx3(
386
+ "path",
387
+ {
388
+ d: "M6 14.6113C5.3 14.6113 4.70833 14.3697 4.225 13.8863C3.74167 13.403 3.5 12.8113 3.5 12.1113C3.5 11.4113 3.74167 10.8197 4.225 10.3363C4.70833 9.85299 5.3 9.61133 6 9.61133C6.7 9.61133 7.29167 9.85299 7.775 10.3363C8.25833 10.8197 8.5 11.4113 8.5 12.1113C8.5 12.8113 8.25833 13.403 7.775 13.8863C7.29167 14.3697 6.7 14.6113 6 14.6113ZM2 20.1113C1.45 20.1113 0.979167 19.9155 0.5875 19.5238C0.195833 19.1322 0 18.6613 0 18.1113V4.11133C0 3.56133 0.195833 3.09049 0.5875 2.69883C0.979167 2.30716 1.45 2.11133 2 2.11133H3V0.111328H5V2.11133H13V0.111328H15V2.11133H16C16.55 2.11133 17.0208 2.30716 17.4125 2.69883C17.8042 3.09049 18 3.56133 18 4.11133V18.1113C18 18.6613 17.8042 19.1322 17.4125 19.5238C17.0208 19.9155 16.55 20.1113 16 20.1113H2ZM2 18.1113H16V8.11133H2V18.1113Z",
389
+ fill: "currentColor"
390
+ }
391
+ )
392
+ }
393
+ );
394
+
395
+ // src/components/Icon/Svgs/Closed.tsx
396
+ import { jsx as jsx4 } from "react/jsx-runtime";
397
+ var Closed = (props) => {
398
+ return /* @__PURE__ */ jsx4(
399
+ "svg",
400
+ {
401
+ width: "14",
402
+ height: "15",
403
+ viewBox: "0 0 14 15",
404
+ fill: "none",
405
+ xmlns: "http://www.w3.org/2000/svg",
406
+ ...props,
407
+ children: /* @__PURE__ */ jsx4(
408
+ "path",
409
+ {
410
+ d: "M1.4 14.5L0 13.1L5.6 7.5L0 1.9L1.4 0.5L7 6.1L12.6 0.5L14 1.9L8.4 7.5L14 13.1L12.6 14.5L7 8.9L1.4 14.5Z",
411
+ fill: "currentColor"
412
+ }
413
+ )
414
+ }
415
+ );
416
+ };
417
+
418
+ // src/components/Icon/Svgs/Dots.tsx
419
+ import { jsx as jsx5 } from "react/jsx-runtime";
420
+ var Dots = (props) => {
421
+ return /* @__PURE__ */ jsx5(
422
+ "svg",
423
+ {
424
+ width: "16",
425
+ height: "5",
426
+ viewBox: "0 0 16 5",
427
+ fill: "none",
428
+ xmlns: "http://www.w3.org/2000/svg",
429
+ ...props,
430
+ children: /* @__PURE__ */ jsx5(
431
+ "path",
432
+ {
433
+ d: "M2 4.36865C1.45 4.36865 0.979167 4.17282 0.5875 3.78115C0.195833 3.38949 0 2.91865 0 2.36865C0 1.81865 0.195833 1.34782 0.5875 0.956152C0.979167 0.564486 1.45 0.368652 2 0.368652C2.55 0.368652 3.02083 0.564486 3.4125 0.956152C3.80417 1.34782 4 1.81865 4 2.36865C4 2.91865 3.80417 3.38949 3.4125 3.78115C3.02083 4.17282 2.55 4.36865 2 4.36865ZM8 4.36865C7.45 4.36865 6.97917 4.17282 6.5875 3.78115C6.19583 3.38949 6 2.91865 6 2.36865C6 1.81865 6.19583 1.34782 6.5875 0.956152C6.97917 0.564486 7.45 0.368652 8 0.368652C8.55 0.368652 9.02083 0.564486 9.4125 0.956152C9.80417 1.34782 10 1.81865 10 2.36865C10 2.91865 9.80417 3.38949 9.4125 3.78115C9.02083 4.17282 8.55 4.36865 8 4.36865ZM14 4.36865C13.45 4.36865 12.9792 4.17282 12.5875 3.78115C12.1958 3.38949 12 2.91865 12 2.36865C12 1.81865 12.1958 1.34782 12.5875 0.956152C12.9792 0.564486 13.45 0.368652 14 0.368652C14.55 0.368652 15.0208 0.564486 15.4125 0.956152C15.8042 1.34782 16 1.81865 16 2.36865C16 2.91865 15.8042 3.38949 15.4125 3.78115C15.0208 4.17282 14.55 4.36865 14 4.36865Z",
434
+ fill: "currentColor"
435
+ }
436
+ )
437
+ }
438
+ );
439
+ };
440
+
441
+ // src/components/Icon/Svgs/Filter.tsx
442
+ import { jsx as jsx6 } from "react/jsx-runtime";
443
+ var Filter = (props) => {
444
+ return /* @__PURE__ */ jsx6(
445
+ "svg",
446
+ {
447
+ xmlns: "http://www.w3.org/2000/svg",
448
+ width: "32",
449
+ height: "32",
450
+ fill: "currentColor",
451
+ viewBox: "0 0 256 256",
452
+ ...props,
453
+ children: /* @__PURE__ */ jsx6("path", { d: "M234.29,47.91A20,20,0,0,0,216,36H40A20,20,0,0,0,25.2,69.45l.12.14L92,140.75V216a20,20,0,0,0,31.1,16.64l32-21.33A20,20,0,0,0,164,194.66V140.75l66.67-71.16.12-.14A20,20,0,0,0,234.29,47.91Zm-91,79.89A12,12,0,0,0,140,136v56.52l-24,16V136a12,12,0,0,0-3.25-8.2L49.23,60H206.77Z" })
454
+ }
455
+ );
456
+ };
457
+
458
+ // src/components/Icon/Svgs/Hamburger.tsx
459
+ import { jsx as jsx7 } from "react/jsx-runtime";
460
+ var Hamburger = (props) => {
461
+ return /* @__PURE__ */ jsx7(
462
+ "svg",
463
+ {
464
+ xmlns: "http://www.w3.org/2000/svg",
465
+ width: "32",
466
+ height: "32",
467
+ fill: "currentColor",
468
+ viewBox: "0 0 256 256",
469
+ ...props,
470
+ children: /* @__PURE__ */ jsx7("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM40,76H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24ZM216,180H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z" })
471
+ }
472
+ );
473
+ };
474
+
475
+ // src/components/Icon/Svgs/Pencil.tsx
476
+ import { jsx as jsx8 } from "react/jsx-runtime";
477
+ var Pencil = (props) => {
478
+ return /* @__PURE__ */ jsx8(
479
+ "svg",
480
+ {
481
+ width: "18",
482
+ height: "19",
483
+ viewBox: "0 0 18 19",
484
+ fill: "none",
485
+ xmlns: "http://www.w3.org/2000/svg",
486
+ ...props,
487
+ children: /* @__PURE__ */ jsx8(
488
+ "path",
489
+ {
490
+ d: "M2 16.9287H3.425L13.2 7.15371L11.775 5.72871L2 15.5037V16.9287ZM0 18.9287V14.6787L13.2 1.50371C13.4 1.32038 13.6208 1.17871 13.8625 1.07871C14.1042 0.978711 14.3583 0.928711 14.625 0.928711C14.8917 0.928711 15.15 0.978711 15.4 1.07871C15.65 1.17871 15.8667 1.32871 16.05 1.52871L17.425 2.92871C17.625 3.11204 17.7708 3.32871 17.8625 3.57871C17.9542 3.82871 18 4.07871 18 4.32871C18 4.59538 17.9542 4.84954 17.8625 5.09121C17.7708 5.33288 17.625 5.55371 17.425 5.75371L4.25 18.9287H0ZM12.475 6.45371L11.775 5.72871L13.2 7.15371L12.475 6.45371Z",
491
+ fill: "currentColor"
492
+ }
493
+ )
494
+ }
495
+ );
496
+ };
497
+
498
+ // src/components/Icon/Svgs/Photo.tsx
499
+ import { jsx as jsx9 } from "react/jsx-runtime";
500
+ var Photo = (props) => {
501
+ return /* @__PURE__ */ jsx9(
502
+ "svg",
503
+ {
504
+ width: "18",
505
+ height: "18",
506
+ viewBox: "0 0 18 18",
507
+ fill: "none",
508
+ xmlns: "http://www.w3.org/2000/svg",
509
+ ...props,
510
+ children: /* @__PURE__ */ jsx9(
511
+ "path",
512
+ {
513
+ d: "M2 18C1.45 18 0.975 17.8083 0.575 17.425C0.191667 17.025 0 16.55 0 16V2C0 1.45 0.191667 0.983334 0.575 0.600001C0.975 0.2 1.45 0 2 0H16C16.55 0 17.0167 0.2 17.4 0.600001C17.8 0.983334 18 1.45 18 2V16C18 16.55 17.8 17.025 17.4 17.425C17.0167 17.8083 16.55 18 16 18H2ZM2 16H16V2H2V16ZM3 14H15L11.25 9L8.25 13L6 10L3 14ZM2 16V2V16Z",
514
+ fill: "currentColor"
515
+ }
516
+ )
517
+ }
518
+ );
519
+ };
520
+
521
+ // src/components/Icon/Svgs/Plus.tsx
522
+ import { jsx as jsx10 } from "react/jsx-runtime";
523
+ var Plus = (props) => {
524
+ return /* @__PURE__ */ jsx10(
525
+ "svg",
526
+ {
527
+ width: "20",
528
+ height: "20",
529
+ viewBox: "0 0 20 20",
530
+ fill: "none",
531
+ xmlns: "http://www.w3.org/2000/svg",
532
+ ...props,
533
+ children: /* @__PURE__ */ jsx10(
534
+ "path",
535
+ {
536
+ d: "M8.58301 11.4167H0.0830078V8.58334H8.58301V0.0833435H11.4163V8.58334H19.9163V11.4167H11.4163V19.9167H8.58301V11.4167Z",
537
+ fill: "currentColor"
538
+ }
539
+ )
540
+ }
541
+ );
542
+ };
543
+
544
+ // src/components/Icon/Svgs/Search.tsx
545
+ import { jsx as jsx11 } from "react/jsx-runtime";
546
+ var Search = (props) => {
547
+ return /* @__PURE__ */ jsx11(
548
+ "svg",
549
+ {
550
+ width: "18",
551
+ height: "18",
552
+ viewBox: "0 0 18 18",
553
+ fill: "none",
554
+ xmlns: "http://www.w3.org/2000/svg",
555
+ ...props,
556
+ children: /* @__PURE__ */ jsx11(
557
+ "path",
558
+ {
559
+ d: "M16.6 18L10.3 11.7C9.8 12.1 9.225 12.4167 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13C4.68333 13 3.14583 12.3708 1.8875 11.1125C0.629167 9.85417 0 8.31667 0 6.5C0 4.68333 0.629167 3.14583 1.8875 1.8875C3.14583 0.629167 4.68333 0 6.5 0C8.31667 0 9.85417 0.629167 11.1125 1.8875C12.3708 3.14583 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.4167 9.225 12.1 9.8 11.7 10.3L18 16.6L16.6 18ZM6.5 11C7.75 11 8.8125 10.5625 9.6875 9.6875C10.5625 8.8125 11 7.75 11 6.5C11 5.25 10.5625 4.1875 9.6875 3.3125C8.8125 2.4375 7.75 2 6.5 2C5.25 2 4.1875 2.4375 3.3125 3.3125C2.4375 4.1875 2 5.25 2 6.5C2 7.75 2.4375 8.8125 3.3125 9.6875C4.1875 10.5625 5.25 11 6.5 11Z",
560
+ fill: "currentColor"
561
+ }
562
+ )
563
+ }
564
+ );
565
+ };
566
+
567
+ // src/components/Icon/Svgs/ChevronLeft.tsx
568
+ import { jsx as jsx12 } from "react/jsx-runtime";
569
+ var ChevronLeft = (props) => {
570
+ return /* @__PURE__ */ jsx12(
571
+ "svg",
572
+ {
573
+ width: "8",
574
+ height: "12",
575
+ viewBox: "0 0 8 12",
576
+ fill: "none",
577
+ xmlns: "http://www.w3.org/2000/svg",
578
+ ...props,
579
+ children: /* @__PURE__ */ jsx12(
580
+ "path",
581
+ {
582
+ d: "M6 12L0 6L6 0L7.4 1.4L2.8 6L7.4 10.6L6 12Z",
583
+ fill: "currentColor"
584
+ }
585
+ )
586
+ }
587
+ );
588
+ };
589
+
590
+ // src/components/Icon/Svgs/ChevronRight.tsx
591
+ import { jsx as jsx13 } from "react/jsx-runtime";
592
+ var ChevronRight = (props) => {
593
+ return /* @__PURE__ */ jsx13(
594
+ "svg",
595
+ {
596
+ width: "8",
597
+ height: "12",
598
+ viewBox: "0 0 8 12",
599
+ fill: "none",
600
+ xmlns: "http://www.w3.org/2000/svg",
601
+ ...props,
602
+ children: /* @__PURE__ */ jsx13(
603
+ "path",
604
+ {
605
+ d: "M4.6 6L0 1.4L1.4 0L7.4 6L1.4 12L0 10.6L4.6 6Z",
606
+ fill: "currentColor"
607
+ }
608
+ )
609
+ }
610
+ );
611
+ };
612
+
613
+ // src/components/Icon/Svgs/Check.tsx
614
+ import { jsx as jsx14 } from "react/jsx-runtime";
615
+ var Check = (props) => {
616
+ return /* @__PURE__ */ jsx14(
617
+ "svg",
618
+ {
619
+ xmlns: "http://www.w3.org/2000/svg",
620
+ width: "18",
621
+ height: "13",
622
+ viewBox: "0 0 18 13",
623
+ fill: "none",
624
+ ...props,
625
+ children: /* @__PURE__ */ jsx14(
626
+ "path",
627
+ {
628
+ d: "M6.55001 13L0.850006 7.3L2.27501 5.875L6.55001 10.15L15.725 0.975L17.15 2.4L6.55001 13Z",
629
+ fill: "currentColor"
630
+ }
631
+ )
632
+ }
633
+ );
634
+ };
635
+
636
+ // src/components/Icon/Svgs/Copy.tsx
637
+ import { jsx as jsx15 } from "react/jsx-runtime";
638
+ var Copy = (props) => {
639
+ return /* @__PURE__ */ jsx15(
640
+ "svg",
641
+ {
642
+ width: "18",
643
+ height: "19",
644
+ viewBox: "0 0 18 19",
645
+ fill: "none",
646
+ xmlns: "http://www.w3.org/2000/svg",
647
+ ...props,
648
+ children: /* @__PURE__ */ jsx15(
649
+ "path",
650
+ {
651
+ d: "M3.4 11.9547H2.6C2.17565 11.9547 1.76869 11.7861 1.46863 11.4861C1.16857 11.186 1 10.779 1 10.3547V3.15469C1 2.73034 1.16857 2.32337 1.46863 2.02332C1.76869 1.72326 2.17565 1.55469 2.6 1.55469H9.8C10.2243 1.55469 10.6313 1.72326 10.9314 2.02332C11.2314 2.32337 11.4 2.73034 11.4 3.15469V3.95469M8.2 7.15469H15.4C16.2837 7.15469 17 7.87103 17 8.75469V15.9547C17 16.8383 16.2837 17.5547 15.4 17.5547H8.2C7.31634 17.5547 6.6 16.8383 6.6 15.9547V8.75469C6.6 7.87103 7.31634 7.15469 8.2 7.15469Z",
652
+ stroke: "currentColor",
653
+ "stroke-width": "2",
654
+ "stroke-linecap": "round",
655
+ "stroke-linejoin": "round"
656
+ }
657
+ )
658
+ }
659
+ );
660
+ };
661
+
662
+ // src/components/Icon/Svgs/Download.tsx
663
+ import { jsx as jsx16 } from "react/jsx-runtime";
664
+ var Download = (props) => /* @__PURE__ */ jsx16(
665
+ "svg",
666
+ {
667
+ width: "15",
668
+ height: "15",
669
+ viewBox: "0 0 15 15",
670
+ fill: "none",
671
+ xmlns: "http://www.w3.org/2000/svg",
672
+ ...props,
673
+ children: /* @__PURE__ */ jsx16(
674
+ "path",
675
+ {
676
+ d: "M7.50005 1.04999C7.74858 1.04999 7.95005 1.25146 7.95005 1.49999V8.41359L10.1819 6.18179C10.3576 6.00605 10.6425 6.00605 10.8182 6.18179C10.994 6.35753 10.994 6.64245 10.8182 6.81819L7.81825 9.81819C7.64251 9.99392 7.35759 9.99392 7.18185 9.81819L4.18185 6.81819C4.00611 6.64245 4.00611 6.35753 4.18185 6.18179C4.35759 6.00605 4.64251 6.00605 4.81825 6.18179L7.05005 8.41359V1.49999C7.05005 1.25146 7.25152 1.04999 7.50005 1.04999ZM2.5 10C2.77614 10 3 10.2239 3 10.5V12C3 12.5539 3.44565 13 3.99635 13H11.0012C11.5529 13 12 12.5528 12 12V10.5C12 10.2239 12.2239 10 12.5 10C12.7761 10 13 10.2239 13 10.5V12C13 13.1041 12.1062 14 11.0012 14H3.99635C2.89019 14 2 13.103 2 12V10.5C2 10.2239 2.22386 10 2.5 10Z",
677
+ fill: "currentColor",
678
+ fillRule: "evenodd",
679
+ clipRule: "evenodd"
680
+ }
681
+ )
682
+ }
683
+ );
684
+
685
+ // src/components/Icon/icons.ts
686
+ var iconMap = {
687
+ TriangleDown,
688
+ TriangleUp,
689
+ TriangleLeft,
690
+ TriangleRight,
691
+ EyeClosed,
692
+ EyeOpen,
693
+ QuestionMark,
694
+ Reload,
695
+ Calendar,
696
+ Closed,
697
+ Dots,
698
+ Download,
699
+ Filter,
700
+ Hamburger,
701
+ Pencil,
702
+ Photo,
703
+ Plus,
704
+ Search,
705
+ ChevronLeft,
706
+ ChevronRight,
707
+ Check,
708
+ Copy
709
+ };
710
+
711
+ // src/components/Icon/index.tsx
712
+ import { jsx as jsx17 } from "react/jsx-runtime";
713
+ var colorMap = {
714
+ black: "#000000",
715
+ green: "#78CB63",
716
+ white: "#ffffff"
717
+ };
718
+ var Icon = forwardRef2(
719
+ ({ name, size = 24, color = "black", ...rest }, ref) => {
720
+ const IconComponent = iconMap[name];
721
+ if (!IconComponent) {
722
+ console.warn(`Icon "${name}" not found in iconMap`);
723
+ return null;
724
+ }
725
+ const fillColor = colorMap[color];
726
+ return /* @__PURE__ */ jsx17(
727
+ IconComponent,
728
+ {
729
+ ref,
730
+ width: size,
731
+ height: size,
732
+ style: { color: fillColor },
733
+ "aria-hidden": true,
734
+ ...rest
735
+ }
736
+ );
737
+ }
738
+ );
739
+ Icon.displayName = "Icon";
740
+
741
+ // src/components/Calendar/styles.ts
742
+ var calendarStyles = globalCss({
743
+ ".calendar-root": {
744
+ "--rdp-accent-color": theme.colors.clickpalm_light,
745
+ "--rdp-accent-background-color": theme.colors.clickpalm_light,
746
+ "--rdp-day-height": "45px",
747
+ "--rdp-day-width": "45px",
748
+ "--rdp-day_button-border-radius": theme.radii.md.value,
749
+ "--rdp-day_button-border": "2px solid transparent",
750
+ "--rdp-day_button-height": "40px",
751
+ "--rdp-day_button-width": "40px",
752
+ "--rdp-selected-border": "2px solid var(--rdp-accent-color)",
753
+ "--rdp-disabled-opacity": "0.5",
754
+ "--rdp-outside-opacity": "1",
755
+ "--rdp-today-color": theme.colors.clickpalm_light,
756
+ "--rdp-dropdown-gap": "0.5rem",
757
+ "--rdp-months-gap": "2rem",
758
+ "--rdp-nav_button-disabled-opacity": "0.5",
759
+ "--rdp-nav_button-height": "36px",
760
+ "--rdp-nav_button-width": "36px",
761
+ "--rdp-nav-height": "44px",
762
+ "--rdp-range_middle-background-color": "var(--rdp-accent-background-color)",
763
+ "--rdp-range_middle-color": "inherit",
764
+ "--rdp-range_start-color": "white",
765
+ "--rdp-range_start-background": "linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%)",
766
+ "--rdp-range_start-date-background-color": "var(--rdp-accent-color)",
767
+ "--rdp-range_end-background": "linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%)",
768
+ "--rdp-range_end-color": "white",
769
+ "--rdp-range_end-date-background-color": "var(--rdp-accent-color)",
770
+ "--rdp-weekday-opacity": "1",
771
+ "--rdp-weekday-padding": "0.5rem 0",
772
+ "--rdp-weekday-text-align": "center",
773
+ "--rdp-gradient-direction": "90deg",
774
+ "--rdp-animation_duration": "0.3s",
775
+ "--rdp-animation_timing": "cubic-bezier(0.4, 0, 0.2, 1)",
776
+ padding: theme.space[3],
777
+ border: `1px solid ${theme.colors.gray_light}`,
778
+ borderRadius: theme.radii.md.value,
779
+ maxWidth: "329px",
780
+ paddingLeft: "15px"
781
+ },
782
+ '.calendar-root[dir="rtl"]': {
783
+ "--rdp-gradient-direction": "-90deg"
784
+ },
785
+ '.calendar-root[data-broadcast-calendar="true"]': {
786
+ "--rdp-outside-opacity": "unset"
787
+ },
788
+ '.calendar-root[dir="rtl"] .rdp-nav .rdp-chevron': {
789
+ transform: "rotate(180deg)",
790
+ transformOrigin: "50%"
791
+ },
792
+ '.calendar-root[data-nav-layout="around"] .rdp-month': {
793
+ position: "relative"
794
+ },
795
+ '.calendar-root[data-nav-layout="after"] .rdp-month': {
796
+ position: "relative"
797
+ },
798
+ '.calendar-root[data-nav-layout="around"] .calendar-month_caption': {
799
+ justifyContent: "center",
800
+ marginInlineStart: "var(--rdp-nav_button-width)",
801
+ marginInlineEnd: "var(--rdp-nav_button-width)",
802
+ position: "relative"
803
+ },
804
+ '.calendar-root[data-nav-layout="around"] .rdp-button_previous': {
805
+ position: "absolute",
806
+ insetInlineStart: 0,
807
+ top: 0,
808
+ height: "var(--rdp-nav-height)",
809
+ display: "inline-flex"
810
+ },
811
+ '.calendar-root[data-nav-layout="around"] .rdp-button_next': {
812
+ position: "absolute",
813
+ insetInlineEnd: 0,
814
+ top: 0,
815
+ height: "var(--rdp-nav-height)",
816
+ display: "inline-flex",
817
+ justifyContent: "center"
818
+ },
819
+ '.calendar-root[dir="rtl"] .rdp-weeks_after_enter': {
820
+ animation: "rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
821
+ },
822
+ '.calendar-root[dir="rtl"] .rdp-weeks_before_exit': {
823
+ animation: "rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
824
+ },
825
+ '.calendar-root[dir="rtl"] .rdp-weeks_before_enter': {
826
+ animation: "rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
827
+ },
828
+ '.calendar-root[dir="rtl"] .rdp-weeks_after_exit': {
829
+ animation: "rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
830
+ },
831
+ ".calendar-month_caption": {
832
+ paddingLeft: "2px",
833
+ display: "flex",
834
+ alignItems: "center",
835
+ height: "var(--rdp-nav-height)",
836
+ fontWeight: "$bold",
837
+ fontSize: "$lg"
838
+ },
839
+ ".calendar-caption_label": {
840
+ paddingLeft: "$3",
841
+ zIndex: 1,
842
+ position: "relative",
843
+ display: "flex",
844
+ alignItems: "center",
845
+ whiteSpace: "nowrap"
846
+ },
847
+ ".calendar-root-collapsed": {
848
+ minWidth: "329px",
849
+ position: "relative"
850
+ },
851
+ ".calendar-root-collapsed .rdp-weekdays": {
852
+ display: "none"
853
+ },
854
+ ".calendar-root-collapsed .rdp-day": {
855
+ display: "none"
856
+ },
857
+ ".calendar-root-collapsed .rdp-months": {
858
+ minHeight: "var(--rdp-nav-height)",
859
+ position: "relative",
860
+ display: "flex",
861
+ flexWrap: "wrap",
862
+ gap: "var(--rdp-months-gap)",
863
+ maxWidth: "100%"
864
+ },
865
+ ".calendar-root-collapsed .rdp-nav": {
866
+ position: "absolute",
867
+ top: 0,
868
+ right: 0,
869
+ display: "flex",
870
+ alignItems: "center",
871
+ height: "var(--rdp-nav-height)"
872
+ },
873
+ ".rdp-dropdown:focus-visible ~ .calendar-caption_label": {
874
+ outline: "5px auto Highlight",
875
+ WebkitOutline: "5px auto -webkit-focus-ring-color"
876
+ },
877
+ ".rdp-nav": {
878
+ gap: "$1",
879
+ paddingRight: "6px"
880
+ },
881
+ ".rdp-weekday": {
882
+ fontFamily: theme.fonts.default,
883
+ fontWeight: theme.fontWeights.bold,
884
+ paddingRight: "6px"
885
+ },
886
+ ".rdp-day_button": {
887
+ background: theme.colors.gray_background,
888
+ color: theme.colors.black,
889
+ fontFamily: theme.fonts.default,
890
+ fontWeight: theme.fontWeights.bold,
891
+ fontSize: theme.fontSizes.md,
892
+ "&:hover": {
893
+ border: `2px solid ${theme.colors.clickpalm_light}`
894
+ },
895
+ "&:focus": {
896
+ border: `2px solid ${theme.colors.clickpalm_light}`,
897
+ outline: "none"
898
+ }
899
+ },
900
+ ".rdp-outside .rdp-day_button": {
901
+ fontFamily: theme.fonts.default,
902
+ background: theme.colors.gray_mid,
903
+ color: theme.colors.black
904
+ },
905
+ ".rdp-selected .rdp-day_button": {
906
+ background: theme.colors.clickpalm_light,
907
+ color: theme.colors.white
908
+ }
909
+ });
910
+ var StyledButton2 = styled("div", {
911
+ display: "flex",
912
+ alignItems: "center",
913
+ transition: "transform 0.4s ease",
914
+ variants: {
915
+ isOpen: {
916
+ true: {
917
+ transform: "rotate(180deg)"
918
+ },
919
+ false: {
920
+ transform: "rotate(0deg)"
921
+ }
922
+ }
923
+ }
924
+ });
925
+ var StyledLabel = styled("label", {
926
+ color: "$black",
927
+ fontFamily: "$default",
928
+ fontSize: "$md",
929
+ fontWeight: "$bold",
930
+ display: "flex",
931
+ marginBottom: "$6"
932
+ });
933
+
934
+ // src/components/Calendar/index.tsx
935
+ import { jsx as jsx18, jsxs as jsxs2 } from "react/jsx-runtime";
936
+ calendarStyles();
937
+ var Calendar2 = ({ label, onChange, onMonthChange, defaultValue }) => {
938
+ const [selected, setSelected] = useState(defaultValue);
939
+ const [month, setMonth] = useState(/* @__PURE__ */ new Date());
940
+ const [open, setOpen] = useState(true);
941
+ const handleDaySelect = (date) => {
942
+ setSelected(date);
943
+ if (date) {
944
+ const formatted = format(date, "dd/MM/yyyy");
945
+ onChange(formatted);
946
+ }
947
+ };
948
+ const handleMonthChange = (month2) => {
949
+ setMonth(month2);
950
+ onMonthChange && onMonthChange(month2);
951
+ };
952
+ useEffect(() => {
953
+ if (selected) {
954
+ setMonth(selected);
955
+ }
956
+ }, [selected]);
957
+ return /* @__PURE__ */ jsxs2("div", { children: [
958
+ /* @__PURE__ */ jsx18(StyledLabel, { children: label }),
959
+ /* @__PURE__ */ jsx18(
960
+ DayPicker,
961
+ {
962
+ className: !open ? "calendar-root-collapsed" : "",
963
+ mode: "single",
964
+ selected,
965
+ onSelect: handleDaySelect,
966
+ month,
967
+ onMonthChange: handleMonthChange,
968
+ locale: ptBR,
969
+ showOutsideDays: true,
970
+ classNames: {
971
+ root: "calendar-root",
972
+ month_caption: "calendar-month_caption",
973
+ caption_label: "calendar-caption_label"
974
+ },
975
+ formatters: {
976
+ formatCaption: (month2, options) => {
977
+ const mes = format(month2, "MMMM", options).replace(/^./, (c) => c.toUpperCase());
978
+ const ano = format(month2, "yyyy", options);
979
+ return `${mes} de ${ano}`;
980
+ },
981
+ formatWeekdayName: (date, options) => {
982
+ const dia = format(date, "EEEEEE", options);
983
+ return dia.charAt(0).toUpperCase() + dia.slice(1);
984
+ }
985
+ },
986
+ components: {
987
+ MonthCaption: ({ calendarMonth, displayIndex, ...safeprops }) => {
988
+ const displayMonth = calendarMonth.date;
989
+ return /* @__PURE__ */ jsxs2("div", { ...safeprops, children: [
990
+ /* @__PURE__ */ jsx18("div", { children: /* @__PURE__ */ jsx18(
991
+ Button,
992
+ {
993
+ variant: "secondary",
994
+ size: "sm",
995
+ onClick: () => setOpen(!open),
996
+ children: /* @__PURE__ */ jsx18(StyledButton2, { isOpen: open, children: /* @__PURE__ */ jsx18(Icon, { name: "TriangleUp", size: 16 }) })
997
+ }
998
+ ) }),
999
+ /* @__PURE__ */ jsx18("div", { className: "calendar-month_caption", children: /* @__PURE__ */ jsx18("div", { className: "calendar-caption_label", role: "heading", "aria-level": 2, children: format(displayMonth, "MMMM 'de' yyyy", { locale: ptBR }).replace(/^./, (c) => c.toUpperCase()) }) })
1000
+ ] });
1001
+ },
1002
+ PreviousMonthButton: (props) => /* @__PURE__ */ jsx18(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ jsx18(Icon, { name: "TriangleLeft", size: 16 }) }),
1003
+ NextMonthButton: (props) => /* @__PURE__ */ jsx18(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ jsx18(Icon, { name: "TriangleRight", size: 16 }) })
1004
+ }
1005
+ }
1006
+ )
1007
+ ] });
1008
+ };
1009
+
1010
+ // src/components/Checkbox/index.tsx
1011
+ import { forwardRef as forwardRef3 } from "react";
1012
+
1013
+ // src/components/Checkbox/styles.ts
1014
+ import * as Checkbox from "@radix-ui/react-checkbox";
1015
+ var StyledWrapper = styled("div", {
1016
+ display: "flex",
1017
+ alignSelf: "flex-start",
1018
+ alignItems: "center",
1019
+ lineHeight: "150%",
1020
+ variants: {
1021
+ hasError: {
1022
+ true: {
1023
+ marginBottom: "0px",
1024
+ "&:focus": {
1025
+ border: "2px solid $danger_dark"
1026
+ }
1027
+ },
1028
+ false: {
1029
+ marginBottom: "$6"
1030
+ }
1031
+ }
1032
+ }
1033
+ });
1034
+ var CheckboxContainer = styled(Checkbox.Root, {
1035
+ all: "unset",
1036
+ width: "$6",
1037
+ height: "$6",
1038
+ backgroundColor: "$white",
1039
+ borderRadius: "$md",
1040
+ lineHeight: 0,
1041
+ cursor: "pointer",
1042
+ overflow: "hidden",
1043
+ boxSizing: "border-box",
1044
+ display: "flex",
1045
+ justifyContent: "center",
1046
+ alignItems: "center",
1047
+ borderWidth: "3px",
1048
+ borderStyle: "solid",
1049
+ borderColor: "$gray_mid",
1050
+ '&[data-state="checked"]': {
1051
+ outline: "none",
1052
+ backgroundColor: "$clickpalm_dark",
1053
+ borderColor: "$clickpalm_dark"
1054
+ },
1055
+ "&:focus": {
1056
+ outline: "none",
1057
+ border: "2px solid $clickpalm_light"
1058
+ },
1059
+ "&:disabled": {
1060
+ opacity: 0.5,
1061
+ cursor: "not-allowed"
1062
+ },
1063
+ variants: {
1064
+ hasError: {
1065
+ true: {
1066
+ borderColor: "$danger_dark",
1067
+ marginBottom: "0px",
1068
+ "&:focus, &:hover": {
1069
+ outline: "none",
1070
+ border: "4px solid $danger_dark"
1071
+ },
1072
+ '&[data-state="checked"]': {
1073
+ outline: "none",
1074
+ backgroundColor: "$danger_dark",
1075
+ borderColor: "$danger_dark"
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ });
1081
+ var slideIn = keyframes({
1082
+ from: {
1083
+ transform: "translateY(-100%)"
1084
+ },
1085
+ to: {
1086
+ transform: "translateY(0)"
1087
+ }
1088
+ });
1089
+ var slideOut = keyframes({
1090
+ from: {
1091
+ transform: "translateY(0)"
1092
+ },
1093
+ to: {
1094
+ transform: "translateY(-100%)"
1095
+ }
1096
+ });
1097
+ var CheckboxIndicator = styled(Checkbox.Indicator, {
1098
+ color: "$white",
1099
+ width: "$4",
1100
+ height: "$4",
1101
+ '&[data-state="checked"]': {
1102
+ animation: `${slideIn} 200ms ease-out`
1103
+ },
1104
+ '&[data-state="unchecked"]': {
1105
+ animation: `${slideOut} 200ms ease-out`
1106
+ }
1107
+ });
1108
+ var CheckboxLabel = styled("label", {
1109
+ display: "flex",
1110
+ paddingLeft: "$3",
1111
+ fontSize: "$md",
1112
+ lineHeight: "$base",
1113
+ color: "$black"
1114
+ });
1115
+ var Span = styled("span", {
1116
+ fontFamily: "$default",
1117
+ fontWeight: "$regular",
1118
+ fontSize: "$sm",
1119
+ color: "$danger_dark",
1120
+ alignSelf: "flex-start",
1121
+ paddingLeft: "1px",
1122
+ marginTop: "2px",
1123
+ marginBottom: "$6"
1124
+ });
1125
+
1126
+ // src/components/Checkbox/index.tsx
1127
+ import { jsx as jsx19, jsxs as jsxs3 } from "react/jsx-runtime";
1128
+ var Checkbox2 = forwardRef3(
1129
+ ({ label, checked, onCheckedChange, errorMessage, ...rest }, ref) => {
1130
+ return /* @__PURE__ */ jsxs3("div", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start" }, children: [
1131
+ /* @__PURE__ */ jsxs3(StyledWrapper, { hasError: !!errorMessage, children: [
1132
+ /* @__PURE__ */ jsx19(
1133
+ CheckboxContainer,
1134
+ {
1135
+ ref,
1136
+ checked: !!checked,
1137
+ onCheckedChange,
1138
+ hasError: !!errorMessage,
1139
+ ...rest,
1140
+ children: /* @__PURE__ */ jsx19(CheckboxIndicator, { children: /* @__PURE__ */ jsx19(Icon, { name: "Check", size: 16, color: "white" }) })
1141
+ }
1142
+ ),
1143
+ /* @__PURE__ */ jsx19(CheckboxLabel, { children: label })
1144
+ ] }),
1145
+ errorMessage && /* @__PURE__ */ jsx19(Span, { children: errorMessage })
1146
+ ] });
1147
+ }
1148
+ );
1149
+ Checkbox2.displayName = "Checkbox";
1150
+
1151
+ // src/components/Datepicker/index.tsx
1152
+ import { format as format2 } from "date-fns";
1153
+ import { ptBR as ptBR2 } from "date-fns/locale";
1154
+ import { forwardRef as forwardRef5, useEffect as useEffect4, useImperativeHandle, useRef as useRef4, useState as useState4 } from "react";
1155
+ import { DayPicker as DayPicker2 } from "react-day-picker";
1156
+ import "react-day-picker/dist/style.css";
1157
+
1158
+ // src/components/Input/index.tsx
1159
+ import React, { forwardRef as forwardRef4, useRef as useRef2 } from "react";
1160
+
1161
+ // src/components/Input/styles.ts
1162
+ var StyledWrapper2 = styled("div", {
1163
+ display: "flex",
1164
+ flexDirection: "column"
1165
+ });
1166
+ var Label = styled("label", {
1167
+ fontSize: "$md",
1168
+ fontWeight: "$regular",
1169
+ alignSelf: "flex-start",
1170
+ marginBottom: "$2",
1171
+ paddingLeft: "1px",
1172
+ color: "$black"
1173
+ });
1174
+ var TextInputContainer = styled("div", {
1175
+ backgroundColor: "$white",
1176
+ borderRadius: "$md",
1177
+ boxSizing: "border-box",
1178
+ border: "1px solid $gray_mid",
1179
+ display: "flex",
1180
+ alignItems: "center",
1181
+ padding: "$4 $4",
1182
+ marginBottom: "$6",
1183
+ FontSize: "$md",
1184
+ "&:has(input:focus), &:hover": {
1185
+ border: "1px solid $clickpalm_light"
1186
+ },
1187
+ "&:has(input:disabled)": {
1188
+ opacity: 0.5,
1189
+ cursor: "not-allowed"
1190
+ },
1191
+ variants: {
1192
+ hasButtonSuffix: {
1193
+ true: {
1194
+ paddingTop: "10px",
1195
+ paddingBottom: "10px"
1196
+ }
1197
+ },
1198
+ noMargin: {
1199
+ true: { marginBottom: "0px" }
1200
+ },
1201
+ hasError: {
1202
+ true: {
1203
+ border: "1px solid $danger_dark",
1204
+ marginBottom: "0px",
1205
+ "&:has(input:focus), &:hover": {
1206
+ border: "1px solid $danger_dark"
1207
+ }
1208
+ }
1209
+ },
1210
+ hasCounter: {
1211
+ true: {
1212
+ marginBottom: "0px"
1213
+ }
1214
+ },
1215
+ redBorder: {
1216
+ true: {
1217
+ border: "1px solid $danger_dark",
1218
+ marginBottom: "0px",
1219
+ "&:has(input:focus), &:hover": {
1220
+ border: "1px solid $danger_dark"
1221
+ }
1222
+ }
1223
+ }
1224
+ }
1225
+ });
1226
+ var Prefix = styled("span", {
1227
+ fontFamily: "$default",
1228
+ fontSize: "$sm",
1229
+ color: "$gray_light",
1230
+ fontWeight: "regular"
1231
+ });
1232
+ var Input = styled("input", {
1233
+ fontFamily: "$default",
1234
+ fontSize: "$md",
1235
+ color: "$black",
1236
+ fontWeight: "regular",
1237
+ background: "transparent",
1238
+ border: 0,
1239
+ width: "100%",
1240
+ "&:focus": {
1241
+ outline: 0
1242
+ },
1243
+ "&:disabled": {
1244
+ cursor: "not-allowed",
1245
+ opacity: 0.5
1246
+ },
1247
+ "&::placeholder": {
1248
+ color: "$gray_mid"
1249
+ }
1250
+ });
1251
+ var Suffix = styled("div", {
1252
+ display: "flex",
1253
+ alignItems: "center",
1254
+ justifyContent: "center",
1255
+ marginLeft: "$2",
1256
+ color: "$gray_light"
1257
+ });
1258
+ var Span2 = styled("span", {
1259
+ fontFamily: "$default",
1260
+ fontWeight: "$regular",
1261
+ fontSize: "$sm",
1262
+ textAlign: "left",
1263
+ color: "$danger_dark",
1264
+ alignSelf: "flex-start",
1265
+ paddingLeft: "1px",
1266
+ marginTop: "2px",
1267
+ marginBottom: "$6",
1268
+ flexShrink: 1,
1269
+ wordBreak: "break-word"
1270
+ });
1271
+ var Footer = styled("div", {
1272
+ display: "flex",
1273
+ justifyContent: "space-between",
1274
+ width: "100%",
1275
+ gap: "$2"
1276
+ });
1277
+ var CharCounter = styled(Span2, {
1278
+ fontFamily: "$default",
1279
+ fontWeight: "$regular",
1280
+ fontSize: "$sm",
1281
+ color: "$gray_mid",
1282
+ marginLeft: "auto",
1283
+ whiteSpace: "nowrap",
1284
+ paddingRight: "1px",
1285
+ marginTop: "2px",
1286
+ marginBottom: "0px",
1287
+ variants: {
1288
+ hasReachedMax: {
1289
+ true: {
1290
+ color: "$danger_dark"
1291
+ }
1292
+ }
1293
+ }
1294
+ });
1295
+
1296
+ // src/components/Input/index.tsx
1297
+ import { jsx as jsx20, jsxs as jsxs4 } from "react/jsx-runtime";
1298
+ var Input2 = forwardRef4(
1299
+ ({ prefix, suffix, label, maxLength, showCounter = false, errorMessage, noMargin = false, redBorder, ...props }, forwardedRef) => {
1300
+ const getDisplayValue = (value) => {
1301
+ const stringValue = String(value || "");
1302
+ if (prefix && stringValue.startsWith(prefix)) {
1303
+ return stringValue.substring(prefix.length);
1304
+ }
1305
+ return stringValue;
1306
+ };
1307
+ const localInputRef = useRef2(null);
1308
+ const inputRef = forwardedRef || localInputRef;
1309
+ const displayValue = getDisplayValue(props.value);
1310
+ const charCount = displayValue.length;
1311
+ const handleChange = (e) => {
1312
+ let currentDisplayValue = e.target.value;
1313
+ if (prefix && currentDisplayValue.startsWith(prefix)) {
1314
+ currentDisplayValue = currentDisplayValue.substring(prefix.length);
1315
+ }
1316
+ if (props.type === "number") {
1317
+ currentDisplayValue = currentDisplayValue.replace(/[^0-9]/g, "");
1318
+ }
1319
+ if (props.onChange) {
1320
+ const newEvent = {
1321
+ ...e,
1322
+ target: {
1323
+ ...e.target,
1324
+ value: currentDisplayValue
1325
+ }
1326
+ };
1327
+ props.onChange(newEvent);
1328
+ }
1329
+ };
1330
+ const handleContainerClick = () => {
1331
+ inputRef?.current?.focus();
1332
+ };
1333
+ const isButtonElement = (node) => {
1334
+ if (!React.isValidElement(node))
1335
+ return false;
1336
+ const type = node.type;
1337
+ return type?.displayName === "Button";
1338
+ };
1339
+ return /* @__PURE__ */ jsxs4(StyledWrapper2, { children: [
1340
+ label && /* @__PURE__ */ jsx20(Label, { children: label }),
1341
+ /* @__PURE__ */ jsxs4(
1342
+ TextInputContainer,
1343
+ {
1344
+ hasButtonSuffix: isButtonElement(suffix),
1345
+ noMargin,
1346
+ hasError: !!errorMessage,
1347
+ hasCounter: showCounter,
1348
+ onClick: handleContainerClick,
1349
+ redBorder,
1350
+ children: [
1351
+ !!prefix && /* @__PURE__ */ jsx20(Prefix, { children: prefix }),
1352
+ /* @__PURE__ */ jsx20(
1353
+ Input,
1354
+ {
1355
+ ref: inputRef,
1356
+ ...props,
1357
+ type: props.type === "number" ? "text" : props.type,
1358
+ inputMode: props.type === "number" ? "numeric" : props.inputMode,
1359
+ value: displayValue,
1360
+ maxLength,
1361
+ onChange: handleChange
1362
+ }
1363
+ ),
1364
+ !!suffix && /* @__PURE__ */ jsx20(Suffix, { children: suffix })
1365
+ ]
1366
+ }
1367
+ ),
1368
+ /* @__PURE__ */ jsxs4(Footer, { children: [
1369
+ errorMessage && /* @__PURE__ */ jsx20(Span2, { children: errorMessage }),
1370
+ showCounter && maxLength && /* @__PURE__ */ jsxs4(CharCounter, { hasReachedMax: maxLength ? charCount >= maxLength : false, children: [
1371
+ charCount,
1372
+ "/",
1373
+ maxLength
1374
+ ] })
1375
+ ] })
1376
+ ] });
1377
+ }
1378
+ );
1379
+ Input2.displayName = "Input";
1380
+
1381
+ // src/components/Datepicker/CustomSelect/index.tsx
1382
+ import { useEffect as useEffect3, useRef as useRef3, useState as useState3 } from "react";
1383
+
1384
+ // src/components/Datepicker/CustomSelect/styles.ts
1385
+ var IconWrapper = styled("span", {
1386
+ display: "flex",
1387
+ alignItems: "center",
1388
+ justifyContent: "center",
1389
+ transition: "transform 0.3s ease"
1390
+ });
1391
+ var SelectValueButton = styled("button", {
1392
+ position: "relative",
1393
+ display: "flex",
1394
+ alignItems: "center",
1395
+ width: "100%",
1396
+ backgroundColor: "transparent",
1397
+ borderRadius: "8px",
1398
+ padding: "8px",
1399
+ fontSize: "16px",
1400
+ fontWeight: theme.fontWeights.bold,
1401
+ fontFamily: theme.fonts.default,
1402
+ textAlign: "left",
1403
+ cursor: "pointer",
1404
+ gap: theme.space[2],
1405
+ "&:hover, &:focus": {
1406
+ backgroundColor: "transparent",
1407
+ outline: "none",
1408
+ boxShadow: "none",
1409
+ border: `2px solid ${theme.colors.gray_mid}`
1410
+ }
1411
+ });
1412
+ var SelectOptionsList = styled("ul", {
1413
+ position: "absolute",
1414
+ top: "100%",
1415
+ left: 0,
1416
+ right: 0,
1417
+ backgroundColor: theme.colors.gray_background,
1418
+ border: `2px solid ${theme.colors.white}`,
1419
+ borderRadius: "8px",
1420
+ boxShadow: "0 2px 8px rgba(0,0,0,0.15)",
1421
+ listStyle: "none",
1422
+ margin: "4px 0 0",
1423
+ padding: "0 12px",
1424
+ zIndex: 10,
1425
+ maxHeight: "200px",
1426
+ overflowY: "auto",
1427
+ fontFamily: theme.fonts.default,
1428
+ fontWeight: theme.fontWeights.regular,
1429
+ textAlign: "left",
1430
+ width: "120px",
1431
+ overflowX: "hidden",
1432
+ "&::-webkit-scrollbar": {
1433
+ width: "8px"
1434
+ },
1435
+ "&::-webkit-scrollbar-track": {
1436
+ background: theme.colors.gray_light,
1437
+ borderRadius: "8px"
1438
+ },
1439
+ "&::-webkit-scrollbar-thumb": {
1440
+ backgroundColor: theme.colors.clickpalm_light,
1441
+ borderRadius: "8px"
1442
+ }
1443
+ });
1444
+ var SelectOptionItem = styled("li", {
1445
+ padding: "12px 0",
1446
+ color: theme.colors.black,
1447
+ cursor: "pointer",
1448
+ borderBottom: `1px solid ${theme.colors.gray_mid}`,
1449
+ "&:last-child": {
1450
+ borderBottom: "none"
1451
+ },
1452
+ "&:hover": {
1453
+ backgroundColor: theme.colors.gray_background,
1454
+ color: theme.colors.clickpalm_mid
1455
+ },
1456
+ '&[aria-disabled="true"]': {
1457
+ color: theme.colors.gray_mid,
1458
+ cursor: "not-allowed",
1459
+ "&:hover": {
1460
+ backgroundColor: "transparent",
1461
+ color: theme.colors.gray_mid
1462
+ }
1463
+ },
1464
+ variants: {
1465
+ selected: {
1466
+ true: {
1467
+ backgroundColor: theme.colors.gray_background,
1468
+ color: theme.colors.clickpalm_mid
1469
+ }
1470
+ }
1471
+ }
1472
+ });
1473
+ var SelectContainer = styled("div", {
1474
+ position: "relative",
1475
+ width: "100%",
1476
+ maxWidth: "130px",
1477
+ variants: {
1478
+ isOpen: {
1479
+ true: {
1480
+ [`& ${IconWrapper}`]: {
1481
+ transform: "rotate(180deg)"
1482
+ }
1483
+ }
1484
+ },
1485
+ color: {
1486
+ white: {
1487
+ [`& ${SelectValueButton}`]: {
1488
+ color: theme.colors.white,
1489
+ border: `2px solid ${theme.colors.white}`
1490
+ },
1491
+ [`& ${IconWrapper}`]: {
1492
+ color: theme.colors.white
1493
+ }
1494
+ },
1495
+ black: {
1496
+ marginBottom: 0,
1497
+ [`& ${SelectValueButton}`]: {
1498
+ color: theme.colors.black,
1499
+ border: "1px solid transparent"
1500
+ },
1501
+ [`& ${IconWrapper}`]: {
1502
+ color: theme.colors.black
1503
+ }
1504
+ }
1505
+ }
1506
+ }
1507
+ });
1508
+
1509
+ // src/components/Datepicker/CustomSelect/index.tsx
1510
+ import { jsx as jsx21, jsxs as jsxs5 } from "react/jsx-runtime";
1511
+ var CustomSelect = ({
1512
+ options = [],
1513
+ value,
1514
+ onChange,
1515
+ color = "white"
1516
+ }) => {
1517
+ const [isOpen, setIsOpen] = useState3(false);
1518
+ const selectRef = useRef3(null);
1519
+ const handleToggle = () => setIsOpen(!isOpen);
1520
+ const handleOptionClick = (optionValue) => {
1521
+ if (onChange) {
1522
+ onChange(optionValue);
1523
+ }
1524
+ setIsOpen(false);
1525
+ };
1526
+ useEffect3(() => {
1527
+ const handleClickOutside = (event) => {
1528
+ if (selectRef.current && !selectRef.current.contains(event.target)) {
1529
+ setIsOpen(false);
1530
+ }
1531
+ };
1532
+ document.addEventListener("mousedown", handleClickOutside);
1533
+ return () => {
1534
+ document.removeEventListener("mousedown", handleClickOutside);
1535
+ };
1536
+ }, []);
1537
+ const safeValue = value ?? "";
1538
+ const selectedLabel = options.find((opt) => opt.value === safeValue)?.label || safeValue;
1539
+ return /* @__PURE__ */ jsxs5(SelectContainer, { color, isOpen, ref: selectRef, children: [
1540
+ /* @__PURE__ */ jsxs5(SelectValueButton, { onClick: handleToggle, children: [
1541
+ selectedLabel,
1542
+ /* @__PURE__ */ jsx21(IconWrapper, { children: /* @__PURE__ */ jsx21(Icon, { name: "TriangleDown", size: 16 }) })
1543
+ ] }),
1544
+ isOpen && /* @__PURE__ */ jsx21(SelectOptionsList, { onMouseDown: (e) => e.preventDefault(), children: options.map((option) => /* @__PURE__ */ jsx21(
1545
+ SelectOptionItem,
1546
+ {
1547
+ selected: option.value === value,
1548
+ onClick: () => !option.disabled && handleOptionClick(option.value),
1549
+ "aria-disabled": option.disabled,
1550
+ children: option.label
1551
+ },
1552
+ option.value
1553
+ )) })
1554
+ ] });
1555
+ };
1556
+
1557
+ // src/components/Datepicker/DatePickerSelectAdapter.tsx
1558
+ import { jsx as jsx22 } from "react/jsx-runtime";
1559
+ function DatePickerSelectAdapter(props) {
1560
+ const { options, value, onChange } = props;
1561
+ const handleValueChange = (newValue) => {
1562
+ if (onChange) {
1563
+ const syntheticEvent = {
1564
+ target: { value: newValue }
1565
+ };
1566
+ onChange(syntheticEvent);
1567
+ }
1568
+ };
1569
+ const selectOptions = options?.map((option) => {
1570
+ const label = typeof option.label === "string" ? option.label.charAt(0).toUpperCase() + option.label.slice(1) : option.label;
1571
+ return {
1572
+ label,
1573
+ value: option.value?.toString() ?? "",
1574
+ disabled: option.disabled
1575
+ };
1576
+ }) || [];
1577
+ const isYearDropdown = options && options.length > 0 && typeof options[0].value === "number" && options[0].value > 31;
1578
+ if (isYearDropdown) {
1579
+ selectOptions.reverse();
1580
+ }
1581
+ return /* @__PURE__ */ jsx22(
1582
+ CustomSelect,
1583
+ {
1584
+ color: "black",
1585
+ options: selectOptions,
1586
+ value: value?.toString() || "",
1587
+ onChange: handleValueChange
1588
+ }
1589
+ );
1590
+ }
1591
+
1592
+ // src/components/Datepicker/styles.ts
1593
+ var datePickerStyles = globalCss({
1594
+ ".rdp-root": {
1595
+ "--rdp-accent-color": theme.colors.clickpalm_light,
1596
+ "--rdp-accent-background-color": theme.colors.clickpalm_light,
1597
+ "--rdp-day-height": "45px",
1598
+ "--rdp-day-width": "45px",
1599
+ "--rdp-day_button-border-radius": theme.radii.md.value,
1600
+ "--rdp-day_button-height": "40px",
1601
+ "--rdp-day_button-width": "40px",
1602
+ "--rdp-selected-border": "2px solid var(--rdp-accent-color)",
1603
+ "--rdp-disabled-opacity": "0.5",
1604
+ "--rdp-outside-opacity": "1",
1605
+ "--rdp-today-color": theme.colors.clickpalm_light,
1606
+ "--rdp-nav_button-disabled-opacity": "0.5",
1607
+ "--rdp-nav_button-height": "36px",
1608
+ "--rdp-nav_button-width": "36px",
1609
+ "--rdp-nav-height": "44px",
1610
+ "--rdp-weekday-opacity": "1",
1611
+ "--rdp-weekday-padding": "0.5rem 0",
1612
+ "--rdp-weekday-text-align": "center",
1613
+ "--rdp-animation_duration": "0.3s",
1614
+ "--rdp-animation_timing": "cubic-bezier(0.4, 0, 0.2, 1)",
1615
+ padding: theme.space[3],
1616
+ paddingLeft: "15px"
1617
+ },
1618
+ ".rdp-caption_label": {
1619
+ paddingLeft: theme.space[1],
1620
+ textTransform: "capitalize"
1621
+ },
1622
+ ".rdp-nav": {
1623
+ gap: theme.space[1]
1624
+ },
1625
+ ".rdp-weekday": {
1626
+ fontFamily: theme.fonts.default,
1627
+ fontWeight: theme.fontWeights.bold
1628
+ },
1629
+ ".rdp-day_button": {
1630
+ background: theme.colors.gray_background,
1631
+ color: theme.colors.black,
1632
+ fontFamily: theme.fonts.default,
1633
+ fontWeight: theme.fontWeights.bold,
1634
+ fontSize: theme.fontSizes.md,
1635
+ "&:hover": {
1636
+ border: `2px solid ${theme.colors.clickpalm_light}`
1637
+ },
1638
+ "&:focus": {
1639
+ border: `2px solid ${theme.colors.clickpalm_light}`,
1640
+ outline: "none"
1641
+ }
1642
+ },
1643
+ ".rdp-outside .rdp-day_button": {
1644
+ fontFamily: theme.fonts.default,
1645
+ background: theme.colors.gray_mid,
1646
+ color: theme.colors.black
1647
+ },
1648
+ ".rdp-selected .rdp-day_button": {
1649
+ background: theme.colors.clickpalm_light,
1650
+ color: theme.colors.white
1651
+ }
1652
+ // '.rdp-caption_dropdowns': {
1653
+ // display: 'flex',
1654
+ // gap: theme.space[2],
1655
+ // },
1656
+ // '.rdp-dropdown': {
1657
+ // padding: '6px 8px',
1658
+ // fontFamily: theme.fonts.default,
1659
+ // fontSize: theme.fontSizes.sm,
1660
+ // color: theme.colors.black,
1661
+ // border: `1px solid ${theme.colors.gray_light}`,
1662
+ // borderRadius: theme.radii.md,
1663
+ // backgroundColor: theme.colors.white,
1664
+ // appearance: 'none',
1665
+ // backgroundRepeat: 'no-repeat',
1666
+ // backgroundPosition: `right ${theme.space[2]} center`,
1667
+ // backgroundSize: '1em',
1668
+ // '&:focus, &:hover': {
1669
+ // outline: 'none',
1670
+ // borderColor: theme.colors.clickpalm_light,
1671
+ // },
1672
+ // '& option:checked': {
1673
+ // backgroundColor: theme.colors.clickpalm_light,
1674
+ // color: theme.colors.white,
1675
+ // },
1676
+ // '& option:hover': {
1677
+ // backgroundColor: theme.colors.gray_background,
1678
+ // color: theme.colors.black,
1679
+ // },
1680
+ // },
1681
+ });
1682
+
1683
+ // src/components/Datepicker/index.tsx
1684
+ import { jsx as jsx23, jsxs as jsxs6 } from "react/jsx-runtime";
1685
+ datePickerStyles();
1686
+ var oneYearMore = new Date((/* @__PURE__ */ new Date()).getFullYear() + 1, 11);
1687
+ var Datepicker = forwardRef5(({ label, placeholder, value, onChange, onMonthChange, errorMessage, endDate = oneYearMore }, ref) => {
1688
+ const [selected, setSelected] = useState4(void 0);
1689
+ const [month, setMonth] = useState4(/* @__PURE__ */ new Date());
1690
+ const [open, setOpen] = useState4(false);
1691
+ const inputRef = useRef4(null);
1692
+ const calendarRef = useRef4(null);
1693
+ useImperativeHandle(ref, () => inputRef.current);
1694
+ const handleDaySelect = (date) => {
1695
+ setSelected(date);
1696
+ if (date) {
1697
+ const formatted = format2(date, "dd/MM/yyyy");
1698
+ onChange(formatted);
1699
+ }
1700
+ setOpen(false);
1701
+ };
1702
+ const handleMonthChange = (month2) => {
1703
+ setMonth(month2);
1704
+ onMonthChange && onMonthChange(month2);
1705
+ };
1706
+ useEffect4(() => {
1707
+ const handleClickOutside = (event) => {
1708
+ if (calendarRef.current && !calendarRef.current.contains(event.target) && inputRef.current && !inputRef.current.contains(event.target)) {
1709
+ setOpen(false);
1710
+ }
1711
+ };
1712
+ document.addEventListener("mousedown", handleClickOutside);
1713
+ return () => document.removeEventListener("mousedown", handleClickOutside);
1714
+ }, []);
1715
+ useEffect4(() => {
1716
+ if (!open && selected) {
1717
+ setMonth(selected);
1718
+ }
1719
+ }, [open, selected]);
1720
+ const isOpenWithError = open && errorMessage ? true : false;
1721
+ return /* @__PURE__ */ jsxs6("div", { children: [
1722
+ /* @__PURE__ */ jsx23(
1723
+ Input2,
1724
+ {
1725
+ ref: inputRef,
1726
+ label,
1727
+ placeholder,
1728
+ onFocus: () => setOpen(true),
1729
+ value: value || "",
1730
+ readOnly: true,
1731
+ suffix: /* @__PURE__ */ jsx23(Icon, { name: "Calendar", size: 16 }),
1732
+ noMargin: true,
1733
+ errorMessage: open ? "" : errorMessage,
1734
+ redBorder: isOpenWithError
1735
+ }
1736
+ ),
1737
+ open && /* @__PURE__ */ jsx23(
1738
+ "div",
1739
+ {
1740
+ ref: calendarRef,
1741
+ style: {
1742
+ position: "absolute",
1743
+ marginTop: "4px",
1744
+ zIndex: 100,
1745
+ backgroundColor: "#fff",
1746
+ boxShadow: "0 2px 8px rgba(0,0,0,0.15)",
1747
+ borderRadius: "8px"
1748
+ },
1749
+ children: /* @__PURE__ */ jsx23(
1750
+ DayPicker2,
1751
+ {
1752
+ mode: "single",
1753
+ selected,
1754
+ onSelect: handleDaySelect,
1755
+ month,
1756
+ onMonthChange: handleMonthChange,
1757
+ locale: ptBR2,
1758
+ showOutsideDays: true,
1759
+ captionLayout: "dropdown",
1760
+ startMonth: new Date(1915, 0),
1761
+ endMonth: endDate,
1762
+ components: {
1763
+ PreviousMonthButton: (props) => /* @__PURE__ */ jsx23(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ jsx23(Icon, { name: "TriangleLeft", size: 16 }) }),
1764
+ NextMonthButton: (props) => /* @__PURE__ */ jsx23(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ jsx23(Icon, { name: "TriangleRight", size: 16 }) }),
1765
+ Dropdown: DatePickerSelectAdapter
1766
+ }
1767
+ }
1768
+ )
1769
+ }
1770
+ )
1771
+ ] });
1772
+ });
1773
+ Datepicker.displayName = "Datepicker";
1774
+
1775
+ // src/components/Hr.tsx
1776
+ import { forwardRef as forwardRef6 } from "react";
1777
+ import { jsx as jsx24 } from "react/jsx-runtime";
1778
+ var StyledHr = styled("hr", {
1779
+ border: "none",
1780
+ height: "1px",
1781
+ width: "100%",
1782
+ variants: {
1783
+ variant: {
1784
+ gray: {
1785
+ backgroundColor: "$gray_mid"
1786
+ },
1787
+ purple: {
1788
+ backgroundColor: "$clickpalm_light"
1789
+ }
1790
+ }
1791
+ }
1792
+ });
1793
+ var Hr = forwardRef6(function Hr2({ children, ...props }, ref) {
1794
+ return /* @__PURE__ */ jsx24(StyledHr, { ref, ...props, children });
1795
+ });
1796
+ Hr.displayName = "Hr";
1797
+
1798
+ // src/components/Modal/index.tsx
1799
+ import * as Dialog2 from "@radix-ui/react-dialog";
1800
+
1801
+ // src/components/Modal/styles.ts
1802
+ import * as Dialog from "@radix-ui/react-dialog";
1803
+ var StyledOverlay = styled(Dialog.Overlay, {
1804
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
1805
+ position: "fixed",
1806
+ inset: 0,
1807
+ zIndex: 101
1808
+ });
1809
+ var StyledContent = styled(Dialog.Content, {
1810
+ position: "fixed",
1811
+ top: "50%",
1812
+ left: "50%",
1813
+ display: "flex",
1814
+ flexDirection: "column",
1815
+ padding: "0 $4",
1816
+ width: "90%",
1817
+ maxWidth: "600px",
1818
+ backgroundColor: "$white",
1819
+ borderRadius: "$md",
1820
+ boxShadow: "0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2)",
1821
+ transform: "translate(-50%, -50%)",
1822
+ zIndex: 102,
1823
+ fontFamily: "$default",
1824
+ fontWeight: "$regular"
1825
+ });
1826
+ var Wrapper = styled("div", {
1827
+ display: "flex",
1828
+ justifyContent: "space-between",
1829
+ alignItems: "center"
1830
+ });
1831
+ var StyledTitle = styled(Dialog.Title, {
1832
+ fontSize: "$lg",
1833
+ fontWeight: "bold",
1834
+ color: "$black"
1835
+ });
1836
+ var StyledClose = styled(Dialog.Close, {
1837
+ // position: 'absolute',
1838
+ // top: '24px',
1839
+ // right: '16px',
1840
+ cursor: "pointer",
1841
+ fontSize: "18px",
1842
+ color: "#999",
1843
+ "&:hover": {
1844
+ color: "#333"
1845
+ }
1846
+ });
1847
+ var StyledDivider = styled("hr", {
1848
+ width: "100%",
1849
+ border: "none",
1850
+ borderTop: "1px solid $gray_mid",
1851
+ margin: "0px"
1852
+ });
1853
+ var StyledDescription = styled(Dialog.Description, {
1854
+ display: "flex",
1855
+ fontFamily: "$default",
1856
+ fontWeight: "$regular",
1857
+ fontSize: "$md",
1858
+ color: "$black",
1859
+ marginTop: "$4",
1860
+ marginBottom: 0
1861
+ });
1862
+ var StyledChildren = styled("div", {
1863
+ fontFamily: "$default",
1864
+ fontWeight: "$regular",
1865
+ fontSize: "$md",
1866
+ color: "$black",
1867
+ margin: "$4 0"
1868
+ });
1869
+
1870
+ // src/components/Modal/index.tsx
1871
+ import { jsx as jsx25, jsxs as jsxs7 } from "react/jsx-runtime";
1872
+ var Modal = ({ open, onOpenChange, title, description, children }) => {
1873
+ return /* @__PURE__ */ jsx25(Dialog2.Root, { open, onOpenChange, modal: true, children: /* @__PURE__ */ jsxs7(Dialog2.Portal, { children: [
1874
+ /* @__PURE__ */ jsx25(StyledOverlay, {}),
1875
+ /* @__PURE__ */ jsxs7(StyledContent, { children: [
1876
+ /* @__PURE__ */ jsxs7(Wrapper, { children: [
1877
+ /* @__PURE__ */ jsx25(StyledTitle, { children: title }),
1878
+ /* @__PURE__ */ jsx25(StyledClose, { asChild: true, "aria-label": "Close", children: /* @__PURE__ */ jsx25(Button, { variant: "secondary", size: "sm", children: /* @__PURE__ */ jsx25(Icon, { name: "Closed", size: 8 }) }) })
1879
+ ] }),
1880
+ /* @__PURE__ */ jsx25(StyledDivider, {}),
1881
+ /* @__PURE__ */ jsxs7("div", { children: [
1882
+ description && /* @__PURE__ */ jsx25(StyledDescription, { children: description }),
1883
+ /* @__PURE__ */ jsx25(StyledChildren, { children })
1884
+ ] })
1885
+ ] })
1886
+ ] }) });
1887
+ };
1888
+
1889
+ // src/components/ProgressBar/index.tsx
1890
+ import { useEffect as useEffect5, useState as useState5 } from "react";
1891
+
1892
+ // src/components/ProgressBar/styles.ts
1893
+ import * as Progress from "@radix-ui/react-progress";
1894
+ var StyledWrapper3 = styled("div", {
1895
+ display: "flex",
1896
+ flexDirection: "column",
1897
+ gap: "$2",
1898
+ marginBottom: "$6"
1899
+ });
1900
+ var StyledRoot = styled(Progress.Root, {
1901
+ position: "relative",
1902
+ overflow: "hidden",
1903
+ background: "$gray_background",
1904
+ borderRadius: "$md",
1905
+ border: "1px solid $gray_dark",
1906
+ boxSizing: "border-box",
1907
+ transform: "translateZ(0)",
1908
+ width: "100%",
1909
+ height: "10px"
1910
+ });
1911
+ var StyledIndicator = styled(Progress.Indicator, {
1912
+ backgroundColor: "$ignite_light",
1913
+ borderRadius: "$md",
1914
+ height: "100%",
1915
+ transition: "transform 660ms cubic-bezier(0.65, 0, 0.35, 1)",
1916
+ transformOrigin: "left"
1917
+ });
1918
+
1919
+ // src/components/ProgressBar/index.tsx
1920
+ import { jsx as jsx26, jsxs as jsxs8 } from "react/jsx-runtime";
1921
+ var ProgressBar = ({ label, value = 0, max = 100, ...rest }) => {
1922
+ const [progress2, setProgress] = useState5(0);
1923
+ useEffect5(() => {
1924
+ const timer = setTimeout(() => setProgress(value), 500);
1925
+ return () => clearTimeout(timer);
1926
+ }, [value]);
1927
+ const valueLabel = `${Math.round(progress2 / max * 100)}%`;
1928
+ return /* @__PURE__ */ jsxs8(StyledWrapper3, { children: [
1929
+ /* @__PURE__ */ jsx26("label", { style: { fontSize: 16, alignSelf: "flex-start", color: "black" }, children: label }),
1930
+ /* @__PURE__ */ jsx26(
1931
+ StyledRoot,
1932
+ {
1933
+ value: progress2,
1934
+ "aria-valuetext": valueLabel,
1935
+ ...rest,
1936
+ children: /* @__PURE__ */ jsx26(
1937
+ StyledIndicator,
1938
+ {
1939
+ style: { transform: `translateX(-${100 - progress2}%)` }
1940
+ }
1941
+ )
1942
+ }
1943
+ )
1944
+ ] });
1945
+ };
1946
+ ProgressBar.displayName = "ProgressBar";
1947
+
1948
+ // src/components/Radio/index.tsx
1949
+ import { forwardRef as forwardRef7 } from "react";
1950
+
1951
+ // src/components/Radio/styles.ts
1952
+ import * as RadioGroup from "@radix-ui/react-radio-group";
1953
+ var StyledRoot2 = styled(RadioGroup.Root, {
1954
+ display: "flex",
1955
+ flexDirection: "column",
1956
+ gap: "$2",
1957
+ cursor: "pointer",
1958
+ variants: {
1959
+ hasError: {
1960
+ true: {
1961
+ marginBottom: "0px",
1962
+ "&:focus": {
1963
+ border: "2px solid $danger_dark"
1964
+ }
1965
+ },
1966
+ false: {
1967
+ marginBottom: "$6"
1968
+ }
1969
+ }
1970
+ }
1971
+ });
1972
+ var Wrapper2 = styled("div", {
1973
+ display: "flex",
1974
+ alignItems: "center"
1975
+ });
1976
+ var StyledItem = styled(RadioGroup.Item, {
1977
+ all: "unset",
1978
+ display: "flex",
1979
+ justifyContent: "center",
1980
+ alignItems: "center",
1981
+ width: "$5",
1982
+ height: "$5",
1983
+ borderRadius: "50%",
1984
+ boxSizing: "border-box",
1985
+ backgroundColor: "$clickpalm_dark",
1986
+ '&[data-state="checked"]': {
1987
+ backgroundColor: "$clickpalm_dark"
1988
+ },
1989
+ '&[data-state="unchecked"]': {
1990
+ backgroundColor: "$white",
1991
+ border: "2px solid $gray_dark"
1992
+ },
1993
+ "&:disabled": {
1994
+ opacity: 0.5,
1995
+ cursor: "not-allowed"
1996
+ },
1997
+ "&:focus": {
1998
+ outline: "1px solid $clickpalm_light"
1999
+ },
2000
+ variants: {
2001
+ hasError: {
2002
+ true: {
2003
+ borderColor: "$danger_dark",
2004
+ marginBottom: "0px",
2005
+ "&:focus": {
2006
+ outline: "none",
2007
+ border: "4px solid $danger_dark"
2008
+ },
2009
+ '&[data-state="unchecked"]': {
2010
+ outline: "none",
2011
+ border: "2px solid $danger_dark"
2012
+ },
2013
+ '&[data-state="checked"]': {
2014
+ backgroundColor: "$danger_dark"
2015
+ }
2016
+ }
2017
+ }
2018
+ }
2019
+ });
2020
+ var StyledIndicator2 = styled(RadioGroup.Indicator, {
2021
+ width: "$3",
2022
+ height: "$3",
2023
+ borderRadius: "50%",
2024
+ backgroundColor: "$white"
2025
+ });
2026
+ var ItemLabel = styled("label", {
2027
+ paddingLeft: "$3",
2028
+ color: "$black",
2029
+ cursor: "pointer"
2030
+ });
2031
+ var Span3 = styled("span", {
2032
+ fontFamily: "$default",
2033
+ fontWeight: "$regular",
2034
+ fontSize: "$sm",
2035
+ color: "$danger_dark",
2036
+ alignSelf: "flex-start",
2037
+ paddingLeft: "1px",
2038
+ marginTop: "2px",
2039
+ marginBottom: "$6"
2040
+ });
2041
+
2042
+ // src/components/Radio/index.tsx
2043
+ import { jsx as jsx27, jsxs as jsxs9 } from "react/jsx-runtime";
2044
+ var Radio = forwardRef7(({
2045
+ labels,
2046
+ value,
2047
+ onChange,
2048
+ disabled = false,
2049
+ required = false,
2050
+ errorMessage
2051
+ }, ref) => {
2052
+ return /* @__PURE__ */ jsxs9("form", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start" }, children: [
2053
+ /* @__PURE__ */ jsx27(
2054
+ StyledRoot2,
2055
+ {
2056
+ ref,
2057
+ value,
2058
+ onValueChange: onChange,
2059
+ hasError: !!errorMessage,
2060
+ disabled,
2061
+ required,
2062
+ loop: true,
2063
+ children: labels.map((label, index) => /* @__PURE__ */ jsxs9(Wrapper2, { children: [
2064
+ /* @__PURE__ */ jsx27(
2065
+ StyledItem,
2066
+ {
2067
+ value: label,
2068
+ id: `radio-${index}`,
2069
+ "aria-label": label,
2070
+ hasError: !!errorMessage,
2071
+ children: /* @__PURE__ */ jsx27(StyledIndicator2, {})
2072
+ }
2073
+ ),
2074
+ /* @__PURE__ */ jsx27(ItemLabel, { htmlFor: `radio-${index}`, children: label })
2075
+ ] }, label))
2076
+ }
2077
+ ),
2078
+ errorMessage && /* @__PURE__ */ jsx27(Span3, { children: errorMessage })
2079
+ ] });
2080
+ });
2081
+ Radio.displayName = "Radio";
2082
+
2083
+ // src/components/Spacing.tsx
2084
+ import { jsx as jsx28 } from "react/jsx-runtime";
2085
+ var spacingMap = {
2086
+ xs: 8,
2087
+ sm: 12,
2088
+ md: 16,
2089
+ lg: 24,
2090
+ xlg: 32,
2091
+ xxlg: 40,
2092
+ xxxlg: 64
2093
+ };
2094
+ var Spacing = ({ size, axis = "vertical" }) => {
2095
+ const style = axis === "vertical" ? { height: spacingMap[size], width: "100%" } : { width: spacingMap[size], height: "100%" };
2096
+ return /* @__PURE__ */ jsx28("div", { style, "data-testid": `spacing-${size}-${axis}` });
2097
+ };
2098
+
2099
+ // src/components/Switch/index.tsx
2100
+ import { forwardRef as forwardRef8 } from "react";
2101
+
2102
+ // src/components/Switch/styles.ts
2103
+ import * as Switch from "@radix-ui/react-switch";
2104
+ var Wrapper3 = styled("div", {
2105
+ all: "unset",
2106
+ display: "flex",
2107
+ alignItems: "center",
2108
+ variants: {
2109
+ hasError: {
2110
+ true: {
2111
+ marginBottom: "0px"
2112
+ },
2113
+ false: {
2114
+ marginBottom: "$6"
2115
+ }
2116
+ }
2117
+ }
2118
+ });
2119
+ var Label2 = styled("label", {
2120
+ paddingLeft: "$3",
2121
+ color: "$black",
2122
+ cursor: "pointer"
2123
+ });
2124
+ var StyledRoot3 = styled(Switch.Root, {
2125
+ border: "none",
2126
+ outline: "none",
2127
+ boxShadow: "none",
2128
+ position: "relative",
2129
+ width: "$10",
2130
+ height: "$5",
2131
+ padding: "0 2px",
2132
+ borderRadius: "30px",
2133
+ boxSizing: "border-box",
2134
+ WebkitTapHighlightColor: "rgba(0, 0, 0, 0)",
2135
+ cursor: "pointer",
2136
+ '&[data-state="checked"]': {
2137
+ backgroundColor: "$clickpalm_dark"
2138
+ },
2139
+ '&[data-state="unchecked"]': {
2140
+ backgroundColor: "$white",
2141
+ border: "1px solid $gray_dark"
2142
+ },
2143
+ "&:disabled": {
2144
+ opacity: 0.5,
2145
+ cursor: "not-allowed"
2146
+ },
2147
+ "&:focus": {
2148
+ outline: "1px solid $clickpalm_light"
2149
+ },
2150
+ variants: {
2151
+ hasError: {
2152
+ true: {
2153
+ border: "1px solid $danger_dark",
2154
+ marginBottom: "0px",
2155
+ "&:focus": {
2156
+ outline: "1px solid $danger_dark"
2157
+ },
2158
+ '&[data-state="unchecked"]': {
2159
+ border: "1px solid $danger_dark"
2160
+ }
2161
+ }
2162
+ }
2163
+ }
2164
+ });
2165
+ var StyledThumb = styled(Switch.Thumb, {
2166
+ position: "absolute",
2167
+ top: "50%",
2168
+ left: "2px",
2169
+ borderRadius: "$full",
2170
+ transition: "transform 100ms",
2171
+ transform: "translateY(-50%)",
2172
+ willChange: "transform",
2173
+ '[data-state="checked"] &': {
2174
+ width: "14px",
2175
+ height: "14px",
2176
+ backgroundColor: "$white",
2177
+ transform: "translate(20px, -50%)"
2178
+ },
2179
+ '&[data-state="unchecked"]': {
2180
+ width: "12px",
2181
+ height: "12px",
2182
+ backgroundColor: "$gray_light"
2183
+ }
2184
+ });
2185
+ var Span4 = styled("span", {
2186
+ fontFamily: "$default",
2187
+ fontWeight: "$regular",
2188
+ fontSize: "$sm",
2189
+ color: "$danger_dark",
2190
+ alignSelf: "flex-start",
2191
+ paddingLeft: "1px",
2192
+ marginTop: "2px",
2193
+ marginBottom: "$6"
2194
+ });
2195
+
2196
+ // src/components/Switch/index.tsx
2197
+ import { jsx as jsx29, jsxs as jsxs10 } from "react/jsx-runtime";
2198
+ var Switch2 = forwardRef8(({
2199
+ label,
2200
+ checked,
2201
+ defaultChecked,
2202
+ onCheckedChange,
2203
+ disabled = false,
2204
+ required = false,
2205
+ id,
2206
+ errorMessage
2207
+ }, ref) => {
2208
+ return /* @__PURE__ */ jsxs10("div", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start" }, children: [
2209
+ /* @__PURE__ */ jsxs10(Wrapper3, { hasError: !!errorMessage, children: [
2210
+ /* @__PURE__ */ jsx29(
2211
+ StyledRoot3,
2212
+ {
2213
+ ref,
2214
+ id,
2215
+ checked,
2216
+ defaultChecked,
2217
+ onCheckedChange,
2218
+ hasError: !!errorMessage,
2219
+ disabled,
2220
+ required,
2221
+ children: /* @__PURE__ */ jsx29(StyledThumb, {})
2222
+ }
2223
+ ),
2224
+ label && /* @__PURE__ */ jsx29(Label2, { htmlFor: id, children: label })
2225
+ ] }),
2226
+ errorMessage && /* @__PURE__ */ jsx29(Span4, { children: errorMessage })
2227
+ ] });
2228
+ });
2229
+ Switch2.displayName = "Switch";
2230
+
2231
+ // src/components/Tabs/index.tsx
2232
+ import { Children, isValidElement, useLayoutEffect, useRef as useRef5, useState as useState6 } from "react";
2233
+
2234
+ // src/components/Tabs/styles.ts
2235
+ import * as Tabs from "@radix-ui/react-tabs";
2236
+ var TabsRoot = styled(Tabs.Root, {
2237
+ all: "unset",
2238
+ display: "flex",
2239
+ flexDirection: "column",
2240
+ width: "100%",
2241
+ backgroundColor: "$white"
2242
+ });
2243
+ var TabsList = styled(Tabs.List, {
2244
+ all: "unset",
2245
+ border: "none",
2246
+ outline: "none",
2247
+ boxShadow: "none",
2248
+ display: "flex",
2249
+ gap: "$2",
2250
+ overflowX: "auto",
2251
+ overflowY: "hidden",
2252
+ whiteSpace: "nowrap",
2253
+ "::-webkit-scrollbar": { display: "none" },
2254
+ "-ms-overflow-style": "none",
2255
+ "scrollbar-width": "none",
2256
+ variants: {
2257
+ scrollable: {
2258
+ true: {
2259
+ flex: 1
2260
+ },
2261
+ false: {
2262
+ width: "100%",
2263
+ flexShrink: 0,
2264
+ flex: "0 0 auto",
2265
+ justifyContent: "space-around"
2266
+ }
2267
+ }
2268
+ }
2269
+ });
2270
+ var TabsTrigger = styled(Tabs.Trigger, {
2271
+ all: "unset",
2272
+ border: "none",
2273
+ outline: "none",
2274
+ boxShadow: "none",
2275
+ display: "flex",
2276
+ flex: "0 0 auto",
2277
+ alignItems: "center",
2278
+ justifyContent: "center",
2279
+ padding: "0 $2",
2280
+ height: "$11",
2281
+ fontSize: "$md",
2282
+ lineHeight: "$base",
2283
+ whiteSpace: "nowrap",
2284
+ textOverflow: "ellipsis",
2285
+ overflow: "hidden",
2286
+ background: "$gray100",
2287
+ backgroundImage: "linear-gradient(to bottom, $clickpalm_mid, $clickpalm_superDark)",
2288
+ WebkitBackgroundClip: "text",
2289
+ WebkitTextFillColor: "transparent",
2290
+ '&[data-state="active"]': {
2291
+ color: "$ignite_light",
2292
+ borderBottom: "3px solid $ignite_light",
2293
+ outline: "none"
2294
+ }
2295
+ });
2296
+ var TabsContent = styled(Tabs.Content, {
2297
+ padding: "$3",
2298
+ backgroundColor: "$white",
2299
+ outline: "none",
2300
+ variants: {
2301
+ colorContent: {
2302
+ gray: { backgroundColor: "$gray_background" },
2303
+ white: { backgroundColor: "$white" }
2304
+ }
2305
+ },
2306
+ defaultVariants: {
2307
+ colorContent: "white"
2308
+ }
2309
+ });
2310
+
2311
+ // src/components/Tabs/index.tsx
2312
+ import { Fragment, jsx as jsx30, jsxs as jsxs11 } from "react/jsx-runtime";
2313
+ var TabsItem = ({ children }) => {
2314
+ return /* @__PURE__ */ jsx30(Fragment, { children });
2315
+ };
2316
+ var Tabs2 = ({ defaultValue, colorContent, children, value, onValueChange }) => {
2317
+ const items = [];
2318
+ const childrenArray = Children.toArray(children);
2319
+ childrenArray.forEach((child) => {
2320
+ if (isValidElement(child) && child.type === TabsItem) {
2321
+ const { value: value2, label, forceMount, children: content } = child.props;
2322
+ items.push({ value: value2, label, forceMount, children: content });
2323
+ }
2324
+ });
2325
+ const listRef = useRef5(null);
2326
+ const rootRef = useRef5(null);
2327
+ const hasOverflowRef = useRef5(false);
2328
+ const [hasOverflow, setHasOverflow] = useState6(false);
2329
+ const checkOverflow = () => {
2330
+ const listEl = listRef.current;
2331
+ const rootEl = rootRef.current;
2332
+ if (listEl && rootEl) {
2333
+ const availableWidth = rootEl.clientWidth;
2334
+ const contentWidth = listEl.scrollWidth;
2335
+ const overflow = contentWidth > availableWidth;
2336
+ if (overflow !== hasOverflow) {
2337
+ hasOverflowRef.current = overflow;
2338
+ setHasOverflow(overflow);
2339
+ }
2340
+ setHasOverflow(overflow);
2341
+ }
2342
+ };
2343
+ useLayoutEffect(() => {
2344
+ checkOverflow();
2345
+ const resizeObserver = new ResizeObserver(checkOverflow);
2346
+ if (listRef.current) {
2347
+ resizeObserver.observe(listRef.current);
2348
+ }
2349
+ return () => {
2350
+ if (listRef.current) {
2351
+ resizeObserver.unobserve(listRef.current);
2352
+ }
2353
+ };
2354
+ }, []);
2355
+ const scroll = (direction) => {
2356
+ if (listRef.current) {
2357
+ const scrollAmount = 120;
2358
+ listRef.current.scrollBy({
2359
+ left: direction === "left" ? -scrollAmount : scrollAmount,
2360
+ behavior: "smooth"
2361
+ });
2362
+ }
2363
+ };
2364
+ return /* @__PURE__ */ jsxs11(
2365
+ TabsRoot,
2366
+ {
2367
+ defaultValue: defaultValue || items[0]?.value,
2368
+ ref: rootRef,
2369
+ value,
2370
+ onValueChange,
2371
+ children: [
2372
+ /* @__PURE__ */ jsxs11("div", { style: { display: "flex", alignItems: "center", gap: "8px", padding: `${hasOverflow ? "0 1rem" : ""}` }, children: [
2373
+ hasOverflow && /* @__PURE__ */ jsx30(
2374
+ Button,
2375
+ {
2376
+ variant: "secondary",
2377
+ size: "sm",
2378
+ onClick: () => scroll("left"),
2379
+ children: /* @__PURE__ */ jsx30(Icon, { name: "TriangleLeft", size: 64 })
2380
+ }
2381
+ ),
2382
+ /* @__PURE__ */ jsx30(
2383
+ TabsList,
2384
+ {
2385
+ ref: listRef,
2386
+ scrollable: hasOverflow,
2387
+ children: items.map((item) => /* @__PURE__ */ jsx30(
2388
+ TabsTrigger,
2389
+ {
2390
+ value: item.value,
2391
+ style: !hasOverflow ? { flexGrow: 1 } : { flexGrow: "0 0 auto" },
2392
+ children: item.label
2393
+ },
2394
+ `trigger-${item.value}`
2395
+ ))
2396
+ }
2397
+ ),
2398
+ hasOverflow && /* @__PURE__ */ jsx30(
2399
+ Button,
2400
+ {
2401
+ variant: "secondary",
2402
+ size: "sm",
2403
+ onClick: () => scroll("right"),
2404
+ children: /* @__PURE__ */ jsx30(Icon, { name: "TriangleRight", size: 64 })
2405
+ }
2406
+ )
2407
+ ] }),
2408
+ items.map((item) => /* @__PURE__ */ jsx30(
2409
+ TabsContent,
2410
+ {
2411
+ colorContent,
2412
+ value: item.value,
2413
+ forceMount: item.forceMount || void 0,
2414
+ children: item.children
2415
+ },
2416
+ `content-${item.value}`
2417
+ ))
2418
+ ]
2419
+ }
2420
+ );
2421
+ };
2422
+ Tabs2.Item = TabsItem;
2423
+
2424
+ // src/components/TextArea.tsx
2425
+ import { forwardRef as forwardRef9, useEffect as useEffect6, useState as useState7 } from "react";
2426
+ import { jsx as jsx31, jsxs as jsxs12 } from "react/jsx-runtime";
2427
+ var Wrapper4 = styled("div", {
2428
+ display: "flex",
2429
+ flexDirection: "column"
2430
+ });
2431
+ var StyledLabel2 = styled("label", {
2432
+ fontSize: "$md",
2433
+ fontWeight: "$regular",
2434
+ color: "$black",
2435
+ marginBottom: "$2",
2436
+ paddingLeft: "1px",
2437
+ alignSelf: "flex-start"
2438
+ });
2439
+ var TextAreaElement = styled("textarea", {
2440
+ backgroundColor: "$white",
2441
+ padding: "$3 $4",
2442
+ marginBottom: "$6",
2443
+ borderRadius: "$md",
2444
+ boxSizing: "border-box",
2445
+ border: "1px solid $gray_mid",
2446
+ fontFamily: "$default",
2447
+ fontSize: "$sm",
2448
+ color: "$black",
2449
+ fontWeight: "$regular",
2450
+ resize: "vertical",
2451
+ minHeight: "100px",
2452
+ overflowY: "auto",
2453
+ width: "100%",
2454
+ "&:focus": {
2455
+ outline: 0,
2456
+ border: "1px solid $clickpalm_light"
2457
+ },
2458
+ "&:disabled": {
2459
+ opacity: 0.5,
2460
+ cursor: "not-allowed"
2461
+ },
2462
+ "&::placeholder": {
2463
+ color: "$gray_mid"
2464
+ },
2465
+ "&::-webkit-scrollbar": {
2466
+ width: "6px"
2467
+ },
2468
+ "&::-webkit-scrollbar-track": {
2469
+ background: "transparent",
2470
+ borderRadius: "$md",
2471
+ margin: "$2"
2472
+ },
2473
+ "&::-webkit-scrollbar-thumb": {
2474
+ backgroundColor: "$gray_mid",
2475
+ borderRadius: "$md",
2476
+ border: "2px solid $white"
2477
+ },
2478
+ variants: {
2479
+ hasError: {
2480
+ true: {
2481
+ border: "1px solid $danger",
2482
+ marginBottom: "0px",
2483
+ "&:focus": {
2484
+ border: "1px solid $danger_dark"
2485
+ }
2486
+ }
2487
+ },
2488
+ hasCounter: {
2489
+ true: {
2490
+ marginBottom: "0px"
2491
+ }
2492
+ }
2493
+ }
2494
+ });
2495
+ var Span5 = styled("span", {
2496
+ fontFamily: "$default",
2497
+ fontWeight: "$regular",
2498
+ fontSize: "$sm",
2499
+ textAlign: "left",
2500
+ color: "$danger_dark",
2501
+ alignSelf: "flex-start",
2502
+ paddingLeft: "1px",
2503
+ marginTop: "2px",
2504
+ marginBottom: "$6",
2505
+ flexShrink: 1,
2506
+ wordBreak: "break-word"
2507
+ });
2508
+ var Footer2 = styled("div", {
2509
+ display: "flex",
2510
+ justifyContent: "space-between",
2511
+ width: "100%",
2512
+ gap: "$2"
2513
+ });
2514
+ var CharCounter2 = styled(Span5, {
2515
+ fontFamily: "$default",
2516
+ fontWeight: "$regular",
2517
+ fontSize: "$sm",
2518
+ color: "$gray_mid",
2519
+ marginLeft: "auto",
2520
+ whiteSpace: "nowrap",
2521
+ paddingRight: "1px",
2522
+ marginTop: "2px",
2523
+ marginBottom: "0px",
2524
+ variants: {
2525
+ hasReachedMax: {
2526
+ true: {
2527
+ color: "$danger_dark"
2528
+ }
2529
+ }
2530
+ }
2531
+ });
2532
+ var TextArea = forwardRef9(
2533
+ ({ label, id, htmlFor, errorMessage, maxLength, showCounter = false, ...props }, ref) => {
2534
+ const textAreaId = id || htmlFor || `textarea-${crypto.randomUUID()}`;
2535
+ const [charCount, setCharCount] = useState7(props.value?.toString().length || 0);
2536
+ useEffect6(() => {
2537
+ setCharCount(props.value?.toString().length || 0);
2538
+ }, [props.value]);
2539
+ return /* @__PURE__ */ jsxs12(Wrapper4, { children: [
2540
+ label && /* @__PURE__ */ jsx31(StyledLabel2, { htmlFor: textAreaId, children: label }),
2541
+ /* @__PURE__ */ jsx31(
2542
+ TextAreaElement,
2543
+ {
2544
+ id: textAreaId,
2545
+ ...props,
2546
+ hasError: !!errorMessage,
2547
+ hasCounter: showCounter,
2548
+ ref,
2549
+ maxLength,
2550
+ onChange: (e) => {
2551
+ if (props.onChange) {
2552
+ props.onChange(e);
2553
+ }
2554
+ setCharCount(e.target.value.length);
2555
+ }
2556
+ }
2557
+ ),
2558
+ /* @__PURE__ */ jsxs12(Footer2, { children: [
2559
+ errorMessage && /* @__PURE__ */ jsx31(Span5, { children: errorMessage }),
2560
+ showCounter && maxLength && /* @__PURE__ */ jsxs12(CharCounter2, { hasReachedMax: maxLength ? charCount >= maxLength : false, children: [
2561
+ charCount,
2562
+ "/",
2563
+ maxLength
2564
+ ] })
2565
+ ] })
2566
+ ] });
2567
+ }
2568
+ );
2569
+ TextArea.displayName = "TextArea";
2570
+
2571
+ // src/components/Tooltip/index.tsx
2572
+ import * as RadixTooltip2 from "@radix-ui/react-tooltip";
2573
+
2574
+ // src/components/Tooltip/styles.ts
2575
+ import * as RadixTooltip from "@radix-ui/react-tooltip";
2576
+ var slideUpAndFade = keyframes({
2577
+ "0%": { opacity: 0, transform: "translateY(2px)" },
2578
+ "100%": { opacity: 1, transform: "translateY(0)" }
2579
+ });
2580
+ var slideDownAndFade = keyframes({
2581
+ "0%": { opacity: 0, transform: "translateY(-2px)" },
2582
+ "100%": { opacity: 1, transform: "translateY(0)" }
2583
+ });
2584
+ var slideLeftAndFade = keyframes({
2585
+ "0%": { opacity: 0, transform: "translateX(2px)" },
2586
+ "100%": { opacity: 1, transform: "translateX(0)" }
2587
+ });
2588
+ var slideRightAndFade = keyframes({
2589
+ "0%": { opacity: 0, transform: "translateX(-2px)" },
2590
+ "100%": { opacity: 1, transform: "translateX(0)" }
2591
+ });
2592
+ var TooltipTrigger = RadixTooltip.Trigger;
2593
+ var TooltipContent = styled(RadixTooltip.Content, {
2594
+ borderRadius: "$sm",
2595
+ border: "2px solid $gray_background",
2596
+ padding: "$2 $4",
2597
+ fontSize: "$sm",
2598
+ lineHeight: "1",
2599
+ color: "$black",
2600
+ backgroundColor: "$white",
2601
+ boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.2)",
2602
+ zIndex: 50,
2603
+ maxWidth: "200px",
2604
+ whiteSpace: "normal",
2605
+ wordBreak: "break-word",
2606
+ textAlign: "left",
2607
+ "@media (prefers-reduced-motion: no-preference)": {
2608
+ animationDuration: "200ms",
2609
+ animationTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)",
2610
+ willChange: "transform, opacity",
2611
+ '&[data-state="delayed-open"][data-side="top"]': { animationName: slideDownAndFade },
2612
+ '&[data-state="delayed-open"][data-side="right"]': { animationName: slideLeftAndFade },
2613
+ '&[data-state="delayed-open"][data-side="bottom"]': { animationName: slideUpAndFade },
2614
+ '&[data-state="delayed-open"][data-side="left"]': { animationName: slideRightAndFade }
2615
+ }
2616
+ });
2617
+ var TooltipArrow = styled(RadixTooltip.Arrow, {
2618
+ fill: "$gray_background"
2619
+ });
2620
+
2621
+ // src/components/Tooltip/index.tsx
2622
+ import { useState as useState8, useEffect as useEffect7 } from "react";
2623
+ import { jsx as jsx32, jsxs as jsxs13 } from "react/jsx-runtime";
2624
+ var Tooltip = ({
2625
+ content,
2626
+ children,
2627
+ side = "top",
2628
+ sideOffset = 5,
2629
+ open: controlledOpen,
2630
+ onOpenChange,
2631
+ delayDuration = 100
2632
+ }) => {
2633
+ const [uncontrolledOpen, setUncontrolledOpen] = useState8(false);
2634
+ const [isTouchDevice, setIsTouchDevice] = useState8(false);
2635
+ useEffect7(() => {
2636
+ setIsTouchDevice("ontouchstart" in window || navigator.maxTouchPoints > 0);
2637
+ }, []);
2638
+ const open = controlledOpen ?? uncontrolledOpen;
2639
+ const setOpen = onOpenChange ?? setUncontrolledOpen;
2640
+ const handleClick = (event) => {
2641
+ if (isTouchDevice) {
2642
+ event.preventDefault();
2643
+ setOpen(!open);
2644
+ }
2645
+ };
2646
+ return /* @__PURE__ */ jsx32(RadixTooltip2.Provider, { children: /* @__PURE__ */ jsxs13(RadixTooltip2.Root, { open, onOpenChange: setOpen, delayDuration, children: [
2647
+ /* @__PURE__ */ jsx32(TooltipTrigger, { asChild: true, onClick: handleClick, children }),
2648
+ /* @__PURE__ */ jsxs13(TooltipContent, { side, sideOffset, children: [
2649
+ content,
2650
+ /* @__PURE__ */ jsx32(TooltipArrow, {})
2651
+ ] })
2652
+ ] }) });
2653
+ };
2654
+ Tooltip.displayName = "Tooltip";
2655
+
2656
+ // src/components/Loader/style.ts
2657
+ var Content4 = styled("div", {
2658
+ position: "relative",
2659
+ height: "100%",
2660
+ width: "100%",
2661
+ minHeight: "inherit",
2662
+ top: 0,
2663
+ left: 0,
2664
+ backgroundColor: "YellowGreen"
2665
+ });
2666
+ var Overlay2 = styled("div", {
2667
+ display: "flex",
2668
+ justifyContent: "center",
2669
+ alignItems: "center",
2670
+ backgroundColor: "rgba(255, 255, 255, 0.6)",
2671
+ zIndex: 999,
2672
+ transition: "opacity 0.3s ease-in-out",
2673
+ variants: {
2674
+ show: {
2675
+ true: {
2676
+ opacity: 1,
2677
+ pointerEvents: "auto"
2678
+ },
2679
+ false: {
2680
+ opacity: 0,
2681
+ pointerEvents: "none"
2682
+ }
2683
+ },
2684
+ fullscreen: {
2685
+ true: {
2686
+ position: "fixed",
2687
+ top: 0,
2688
+ left: 0,
2689
+ right: 0,
2690
+ bottom: 0
2691
+ },
2692
+ false: {
2693
+ position: "absolute",
2694
+ top: 0,
2695
+ left: 0,
2696
+ width: "100%",
2697
+ height: "100%"
2698
+ }
2699
+ }
2700
+ }
2701
+ });
2702
+ var SpinnerContainer = styled("div", {
2703
+ position: "relative"
2704
+ });
2705
+ var rotation = keyframes({
2706
+ "0%": { transform: "rotate(0deg)" },
2707
+ "100%": { transform: "rotate(360deg)" }
2708
+ });
2709
+ var Spinner = styled("span", {
2710
+ width: "$19",
2711
+ height: "$19",
2712
+ borderRadius: "50%",
2713
+ display: "inline-block",
2714
+ borderTop: "6px solid $ignite_light",
2715
+ borderRight: "6px solid transparent",
2716
+ boxSizing: "border-box",
2717
+ animation: `${rotation} 1s linear infinite`,
2718
+ "&::after": {
2719
+ content: '""',
2720
+ boxSizing: "border-box",
2721
+ position: "absolute",
2722
+ left: 0,
2723
+ top: 0,
2724
+ width: "$19",
2725
+ height: "$19",
2726
+ borderRadius: "50%",
2727
+ borderLeft: "6px solid $clickpalm_light",
2728
+ borderBottom: "6px solid transparent",
2729
+ animation: `${rotation} 0.5s linear infinite reverse`
2730
+ }
2731
+ });
2732
+
2733
+ // src/components/Loader/index.tsx
2734
+ import { jsx as jsx33 } from "react/jsx-runtime";
2735
+ var Loader = ({ show, fullscreen = false }) => {
2736
+ return /* @__PURE__ */ jsx33(Overlay2, { show, fullscreen, children: /* @__PURE__ */ jsx33(SpinnerContainer, { children: /* @__PURE__ */ jsx33(Spinner, {}) }) });
2737
+ };
2738
+ Loader.displayName = "Loader";
2739
+
2740
+ // src/components/MaskedInput/index.tsx
2741
+ import { forwardRef as forwardRef10, useState as useState9, useRef as useRef6 } from "react";
2742
+
2743
+ // src/components/MaskedInput/utils.ts
2744
+ var MAX_LENGTHS = {
2745
+ cellPhone: 15,
2746
+ homePhone: 14,
2747
+ cep: 9,
2748
+ cpf: 14,
2749
+ cnpj: 18,
2750
+ date: 10
2751
+ };
2752
+ var applyMask = (value, maskType) => {
2753
+ const digits = value.replace(/\D/g, "");
2754
+ const maxLength = MAX_LENGTHS[maskType];
2755
+ if (digits.length > maxLength) {
2756
+ return value.slice(0, -1);
2757
+ }
2758
+ switch (maskType) {
2759
+ case "cellPhone":
2760
+ if (digits.length <= 2)
2761
+ return digits;
2762
+ if (digits.length <= 7)
2763
+ return `(${digits.slice(0, 2)}) ${digits.slice(2)}`;
2764
+ return `(${digits.slice(0, 2)}) ${digits.slice(2, 7)}-${digits.slice(7, 11)}`;
2765
+ case "homePhone":
2766
+ if (digits.length <= 2)
2767
+ return digits;
2768
+ if (digits.length <= 6)
2769
+ return `(${digits.slice(0, 2)}) ${digits.slice(2)}`;
2770
+ return `(${digits.slice(0, 2)}) ${digits.slice(2, 6)}-${digits.slice(6, 10)}`;
2771
+ case "cep":
2772
+ if (digits.length <= 5)
2773
+ return digits;
2774
+ return `${digits.slice(0, 5)}-${digits.slice(5, 8)}`;
2775
+ case "cpf":
2776
+ if (digits.length <= 3)
2777
+ return digits;
2778
+ if (digits.length <= 6)
2779
+ return `${digits.slice(0, 3)}.${digits.slice(3)}`;
2780
+ if (digits.length <= 9)
2781
+ return `${digits.slice(0, 3)}.${digits.slice(3, 6)}.${digits.slice(6)}`;
2782
+ return `${digits.slice(0, 3)}.${digits.slice(3, 6)}.${digits.slice(6, 9)}-${digits.slice(9, 11)}`;
2783
+ case "cnpj":
2784
+ if (digits.length <= 2)
2785
+ return digits;
2786
+ if (digits.length <= 5)
2787
+ return `${digits.slice(0, 2)}.${digits.slice(2)}`;
2788
+ if (digits.length <= 8)
2789
+ return `${digits.slice(0, 2)}.${digits.slice(2, 5)}.${digits.slice(5)}`;
2790
+ if (digits.length <= 12)
2791
+ return `${digits.slice(0, 2)}.${digits.slice(2, 5)}.${digits.slice(5, 8)}/${digits.slice(8)}`;
2792
+ return `${digits.slice(0, 2)}.${digits.slice(2, 5)}.${digits.slice(5, 8)}/${digits.slice(8, 12)}-${digits.slice(12, 14)}`;
2793
+ case "date":
2794
+ if (digits.length <= 2)
2795
+ return digits;
2796
+ if (digits.length <= 4)
2797
+ return `${digits.slice(0, 2)}/${digits.slice(2)}`;
2798
+ return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4, 8)}`;
2799
+ default:
2800
+ return value;
2801
+ }
2802
+ };
2803
+
2804
+ // src/components/MaskedInput/index.tsx
2805
+ import { jsx as jsx34 } from "react/jsx-runtime";
2806
+ var MaskedInput = forwardRef10(
2807
+ ({ maskType, onChange, ...props }, ref) => {
2808
+ const [value, setValue] = useState9("");
2809
+ const inputRef = useRef6(null);
2810
+ const handleChange = (e) => {
2811
+ const { value: inputValue, selectionStart } = e.target;
2812
+ const isBackspace = value.length > inputValue.length;
2813
+ const rawValue = inputValue.replace(/\D/g, "");
2814
+ const maskedValue = applyMask(rawValue, maskType);
2815
+ setValue(maskedValue);
2816
+ if (inputRef.current && selectionStart !== null) {
2817
+ let newCursorPos = selectionStart;
2818
+ if (isBackspace && value.length > 0) {
2819
+ const prevChar = value[selectionStart || 0];
2820
+ if (prevChar && !/\d/.test(prevChar)) {
2821
+ newCursorPos = Math.max(0, (selectionStart || 0) - 1);
2822
+ }
2823
+ }
2824
+ setTimeout(() => {
2825
+ if (inputRef.current) {
2826
+ inputRef.current.setSelectionRange(newCursorPos, newCursorPos);
2827
+ }
2828
+ }, 0);
2829
+ }
2830
+ if (onChange) {
2831
+ const syntheticEvent = {
2832
+ ...e,
2833
+ target: {
2834
+ ...e.target,
2835
+ value: maskedValue,
2836
+ rawValue
2837
+ }
2838
+ };
2839
+ onChange(syntheticEvent);
2840
+ }
2841
+ };
2842
+ return /* @__PURE__ */ jsx34(
2843
+ Input2,
2844
+ {
2845
+ ...props,
2846
+ ref,
2847
+ value,
2848
+ onChange: handleChange,
2849
+ maxLength: MAX_LENGTHS[maskType]
2850
+ }
2851
+ );
2852
+ }
2853
+ );
2854
+ MaskedInput.displayName = "MaskedInput";
2855
+
2856
+ // src/components/Dropdown/index.tsx
2857
+ import React3, { Children as Children2, Fragment as Fragment2 } from "react";
2858
+ import * as DropdownMenu2 from "@radix-ui/react-dropdown-menu";
2859
+
2860
+ // src/components/Dropdown/styles.ts
2861
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
2862
+ var slideUpAndFade2 = keyframes({
2863
+ "0%": { opacity: 0, transform: "translateY(2px)" },
2864
+ "100%": { opacity: 1, transform: "translateY(0)" }
2865
+ });
2866
+ var slideRightAndFade2 = keyframes({
2867
+ "0%": { opacity: 0, transform: "translateX(-2px)" },
2868
+ "100%": { opacity: 1, transform: "translateX(0)" }
2869
+ });
2870
+ var slideDownAndFade2 = keyframes({
2871
+ "0%": { opacity: 0, transform: "translateY(-2px)" },
2872
+ "100%": { opacity: 1, transform: "translateY(0)" }
2873
+ });
2874
+ var slideLeftAndFade2 = keyframes({
2875
+ "0%": { opacity: 0, transform: "translateX(2px)" },
2876
+ "100%": { opacity: 1, transform: "translateX(0)" }
2877
+ });
2878
+ var StyledContent2 = styled(DropdownMenu.Content, {
2879
+ minWidth: 100,
2880
+ backgroundColor: "$white",
2881
+ borderRadius: "$md",
2882
+ padding: "$2",
2883
+ boxShadow: "0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2)",
2884
+ animationDuration: "400ms",
2885
+ animationTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)",
2886
+ willChange: "transform, opacity",
2887
+ '&[data-state="open"]': {
2888
+ '&[data-side="top"]': { animationName: slideDownAndFade2 },
2889
+ '&[data-side="right"]': { animationName: slideLeftAndFade2 },
2890
+ '&[data-side="bottom"]': { animationName: slideUpAndFade2 },
2891
+ '&[data-side="left"]': { animationName: slideRightAndFade2 }
2892
+ }
2893
+ });
2894
+ var itemStyles = {
2895
+ all: "unset",
2896
+ fontFamily: "$default",
2897
+ fontSize: "$sm",
2898
+ fontWeights: "$regular",
2899
+ lineHeight: 1,
2900
+ color: "$black",
2901
+ borderRadius: "$sm",
2902
+ display: "flex",
2903
+ alignItems: "center",
2904
+ height: 25,
2905
+ padding: "0 $2",
2906
+ position: "relative",
2907
+ paddingLeft: "$5",
2908
+ userSelect: "none",
2909
+ "&[data-disabled]": {
2910
+ color: "$gray_mid",
2911
+ pointerEvents: "none"
2912
+ },
2913
+ "&[data-highlighted]": {
2914
+ color: "$clickpalm_light",
2915
+ cursor: "pointer"
2916
+ },
2917
+ button: {
2918
+ all: "unset",
2919
+ width: "100%",
2920
+ textAlign: "left"
2921
+ }
2922
+ };
2923
+ var StyledItem2 = styled(DropdownMenu.Item, { ...itemStyles });
2924
+ var StyledSeparator = styled(DropdownMenu.Separator, {
2925
+ height: "1px",
2926
+ backgroundColor: "$gray_light",
2927
+ margin: "$2"
2928
+ });
2929
+ var IconButton = styled("button", {
2930
+ all: "unset",
2931
+ fontFamily: "inherit",
2932
+ borderRadius: "100%",
2933
+ height: 35,
2934
+ width: 35,
2935
+ display: "inline-flex",
2936
+ alignItems: "center",
2937
+ justifyContent: "center",
2938
+ color: "$clickpalm_light",
2939
+ backgroundColor: "transparent"
2940
+ });
2941
+
2942
+ // src/components/Dropdown/index.tsx
2943
+ import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
2944
+ var Dropdown = ({ children }) => {
2945
+ const childrenArray = Children2.toArray(children);
2946
+ return /* @__PURE__ */ jsxs14(DropdownMenu2.Root, { modal: false, children: [
2947
+ /* @__PURE__ */ jsx35(DropdownMenu2.Trigger, { asChild: true, children: /* @__PURE__ */ jsx35(Button, { variant: "secondary", size: "sm", children: /* @__PURE__ */ jsx35(Icon, { name: "Dots", size: 16 }) }) }),
2948
+ /* @__PURE__ */ jsx35(DropdownMenu2.Portal, { children: /* @__PURE__ */ jsx35(StyledContent2, { sideOffset: 5, align: "end", children: childrenArray.map((child, index) => /* @__PURE__ */ jsxs14(Fragment2, { children: [
2949
+ child,
2950
+ index < childrenArray.length - 1 && /* @__PURE__ */ jsx35(DropdownSeparator, {})
2951
+ ] }, index)) }) })
2952
+ ] });
2953
+ };
2954
+ var DropdownSeparator = StyledSeparator;
2955
+ var DropdownItem = React3.forwardRef(({ children, ...props }, forwardedRef) => {
2956
+ return /* @__PURE__ */ jsx35(StyledItem2, { ...props, ref: forwardedRef, children });
2957
+ });
2958
+ Dropdown.displayName = "Dropdown";
2959
+ DropdownItem.displayName = "DropdownItem";
2960
+ DropdownSeparator.displayName = "DropdownSeparator";
2961
+
2962
+ // src/components/Box.tsx
2963
+ import { jsx as jsx36 } from "react/jsx-runtime";
2964
+ var StyledBox = styled("div", {
2965
+ padding: "$5",
2966
+ borderRadius: "$md",
2967
+ textAlign: "center",
2968
+ marginBottom: "$6",
2969
+ variants: {
2970
+ variant: {
2971
+ gray: {
2972
+ backgroundColor: "$gray_background",
2973
+ boxShadow: "0 1px 2px $colors$gray_dark"
2974
+ },
2975
+ white: {
2976
+ backgroundColor: "$white"
2977
+ }
2978
+ }
2979
+ },
2980
+ defaultVariants: {
2981
+ variant: "gray"
2982
+ }
2983
+ });
2984
+ var Box = (props) => {
2985
+ return /* @__PURE__ */ jsx36(StyledBox, { ...props });
2986
+ };
2987
+ Box.displayName = "Box";
2988
+
2989
+ // src/components/Paragraph.tsx
2990
+ import { jsx as jsx37 } from "react/jsx-runtime";
2991
+ var StyledParagraph = styled("p", {
2992
+ fontFamily: "$default",
2993
+ lineHeight: "$short",
2994
+ color: "$black",
2995
+ margin: 0,
2996
+ variants: {
2997
+ size: {
2998
+ xxs: { fontSize: "$xxs" },
2999
+ xs: { fontSize: "$xs" },
3000
+ sm: { fontSize: "$sm" },
3001
+ md: { fontSize: "$md" },
3002
+ lg: { fontSize: "$lg" },
3003
+ xl: { fontSize: "$xl" },
3004
+ "2xl": { fontSize: "$2xl" },
3005
+ "4xl": { fontSize: "$4xl" },
3006
+ "5xl": { fontSize: "$5xl" },
3007
+ "6xl": { fontSize: "$6xl" },
3008
+ "7xl": { fontSize: "$7xl" },
3009
+ "8xl": { fontSize: "$8xl" },
3010
+ "9xl": { fontSize: "$9xl" }
3011
+ },
3012
+ weight: {
3013
+ regular: { fontWeight: "$regular" },
3014
+ medium: { fontWeight: "$medium" },
3015
+ bold: { fontWeight: "$bold" }
3016
+ },
3017
+ lineHeight: {
3018
+ regular: { lineHeight: "$regular" },
3019
+ shorter: { lineHeight: "$shorter" },
3020
+ short: { lineHeight: "$short" },
3021
+ base: { lineHeight: "$base" },
3022
+ tall: { lineHeight: "$tall" }
3023
+ }
3024
+ },
3025
+ defaultVariants: {
3026
+ size: "md",
3027
+ weight: "regular",
3028
+ lineHeight: "short"
3029
+ }
3030
+ });
3031
+ var Paragraph = (props) => {
3032
+ return /* @__PURE__ */ jsx37(StyledParagraph, { ...props });
3033
+ };
3034
+ Paragraph.displayName = "Paragraph";
3035
+
3036
+ // src/components/Heading.tsx
3037
+ import { forwardRef as forwardRef11 } from "react";
3038
+ import { jsx as jsx38 } from "react/jsx-runtime";
3039
+ var StyledHeading = styled("h2", {
3040
+ fontFamily: "$default",
3041
+ lineHeight: "$shorter",
3042
+ margin: "1px",
3043
+ color: "$black",
3044
+ fontWeight: "$regular",
3045
+ variants: {
3046
+ size: {
3047
+ sm: { fontSize: "$xl" },
3048
+ md: { fontSize: "$2xl" },
3049
+ lg: { fontSize: "$4xl" },
3050
+ "2xl": { fontSize: "$5xl" },
3051
+ "3xl": { fontSize: "$6xl" },
3052
+ "4xl": { fontSize: "$7xl" },
3053
+ "5xl": { fontSize: "$8xl" },
3054
+ "6xl": { fontSize: "$9xl" }
3055
+ },
3056
+ bold: {
3057
+ true: {
3058
+ fontWeight: "$bold"
3059
+ },
3060
+ false: {
3061
+ fontWeight: "$regular"
3062
+ }
3063
+ }
3064
+ },
3065
+ defaultVariants: {
3066
+ size: "md"
3067
+ }
3068
+ });
3069
+ var Heading = forwardRef11(
3070
+ function Heading2({ children, bold = false, ...props }, ref) {
3071
+ return /* @__PURE__ */ jsx38(StyledHeading, { ref, bold, ...props, children });
3072
+ }
3073
+ );
3074
+ Heading.displayName = "Heading";
3075
+
3076
+ // src/components/Select/index.tsx
3077
+ import { TriangleDownIcon, TriangleUpIcon } from "@radix-ui/react-icons";
3078
+ import * as CustomSelect2 from "@radix-ui/react-select";
3079
+ import { forwardRef as forwardRef12, useState as useState10 } from "react";
3080
+
3081
+ // src/components/Select/styles.ts
3082
+ import * as Select from "@radix-ui/react-select";
3083
+ var StyledWrapper4 = styled("div", {
3084
+ display: "flex",
3085
+ flexDirection: "column",
3086
+ fontFamily: "$default"
3087
+ });
3088
+ var Label3 = styled("label", {
3089
+ fontSize: "$md",
3090
+ fontWeight: "$regular",
3091
+ alignSelf: "flex-start",
3092
+ marginBottom: "$2",
3093
+ paddingLeft: "1px",
3094
+ color: "$black"
3095
+ });
3096
+ var StyledTrigger = styled(Select.Trigger, {
3097
+ all: "unset",
3098
+ display: "flex",
3099
+ alignItems: "center",
3100
+ justifyContent: "space-between",
3101
+ marginBottom: "$6",
3102
+ padding: "0.92rem $4",
3103
+ boxSizing: "border-box",
3104
+ borderRadius: "$md",
3105
+ border: "1px solid $gray_mid",
3106
+ fontSize: "$md",
3107
+ backgroundColor: "white",
3108
+ cursor: "pointer",
3109
+ color: "$black",
3110
+ "&[data-placeholder]": {
3111
+ color: "$gray_mid"
3112
+ },
3113
+ "&[data-highlighted], &:focus, &:hover": {
3114
+ outline: "none",
3115
+ border: "1px solid $clickpalm_light"
3116
+ },
3117
+ "&:disabled": {
3118
+ opacity: 0.5,
3119
+ cursor: "not-allowed"
3120
+ },
3121
+ variants: {
3122
+ hasError: {
3123
+ true: {
3124
+ border: "1px solid $danger_dark",
3125
+ marginBottom: "0px",
3126
+ "&[data-highlighted], &:focus, &:hover": {
3127
+ outline: "none",
3128
+ border: "1px solid $danger_dark"
3129
+ }
3130
+ }
3131
+ }
3132
+ }
3133
+ });
3134
+ var StyledContent3 = styled(Select.Content, {
3135
+ overflow: "hidden",
3136
+ backgroundColor: "$gray_background",
3137
+ borderRadius: "$md",
3138
+ boxShadow: "0px 4px 6px rgba(0, 0, 0, 0.1)",
3139
+ zIndex: 103,
3140
+ width: "var(--radix-select-trigger-width)",
3141
+ maxHeight: "var(--radix-select-content-available-height)",
3142
+ fontFamily: "$default",
3143
+ fontSize: "$md",
3144
+ fontWeight: "$regular"
3145
+ });
3146
+ var StyledViewport = styled(Select.Viewport, {
3147
+ padding: "4px",
3148
+ fontFamily: "$default",
3149
+ fontSize: "$md",
3150
+ fontWeight: "$regular"
3151
+ });
3152
+ var StyledItem3 = styled(Select.Item, {
3153
+ position: "relative",
3154
+ fontFamily: "$default",
3155
+ fontSize: "$md",
3156
+ fontWeight: "$regular",
3157
+ padding: "14px 12px",
3158
+ color: "$black",
3159
+ cursor: "pointer",
3160
+ "&[data-highlighted], &:focus, &:hover": {
3161
+ outline: "none",
3162
+ color: "$clickpalm_light"
3163
+ },
3164
+ "&:not(:last-child)::after": {
3165
+ content: '""',
3166
+ position: "absolute",
3167
+ bottom: 0,
3168
+ left: "$3",
3169
+ right: "$3",
3170
+ height: "1px",
3171
+ backgroundColor: "$gray_light"
3172
+ }
3173
+ });
3174
+ var StyledItemText = styled(Select.ItemText, {
3175
+ fontFamily: "$default",
3176
+ fontSize: "$md",
3177
+ fontWeight: "$regular"
3178
+ });
3179
+ var StyledIcon = styled(Select.Icon, {
3180
+ display: "flex",
3181
+ alignItems: "center",
3182
+ color: "$black",
3183
+ transition: "transform 0.4s ease",
3184
+ variants: {
3185
+ open: {
3186
+ true: {
3187
+ transform: "rotate(180deg)"
3188
+ },
3189
+ false: {
3190
+ transform: "rotate(0deg)"
3191
+ }
3192
+ }
3193
+ },
3194
+ svg: {
3195
+ width: 26,
3196
+ height: 26
3197
+ }
3198
+ });
3199
+ var Span6 = styled("span", {
3200
+ fontFamily: "$default",
3201
+ fontWeight: "$regular",
3202
+ fontSize: "$sm",
3203
+ color: "$danger_dark",
3204
+ alignSelf: "flex-start",
3205
+ paddingLeft: "1px",
3206
+ marginTop: "2px",
3207
+ marginBottom: "$6"
3208
+ });
3209
+
3210
+ // src/components/Select/index.tsx
3211
+ import { jsx as jsx39, jsxs as jsxs15 } from "react/jsx-runtime";
3212
+ var Select2 = forwardRef12(
3213
+ ({
3214
+ value,
3215
+ onValueChange,
3216
+ items,
3217
+ placeholder = "Selecione",
3218
+ label,
3219
+ errorMessage,
3220
+ css: css2,
3221
+ className,
3222
+ style,
3223
+ ...rest
3224
+ }, ref) => {
3225
+ const [open, setOpen] = useState10(false);
3226
+ return /* @__PURE__ */ jsxs15(StyledWrapper4, { css: css2, className, style, children: [
3227
+ label && /* @__PURE__ */ jsx39(Label3, { children: label }),
3228
+ /* @__PURE__ */ jsxs15(
3229
+ CustomSelect2.Root,
3230
+ {
3231
+ value,
3232
+ onValueChange,
3233
+ onOpenChange: setOpen,
3234
+ ...rest,
3235
+ children: [
3236
+ /* @__PURE__ */ jsxs15(StyledTrigger, { "aria-label": label, hasError: !!errorMessage, ref, children: [
3237
+ /* @__PURE__ */ jsx39(CustomSelect2.Value, { placeholder }),
3238
+ /* @__PURE__ */ jsx39(StyledIcon, { open, children: /* @__PURE__ */ jsx39(TriangleDownIcon, {}) })
3239
+ ] }),
3240
+ errorMessage && /* @__PURE__ */ jsx39(Span6, { children: errorMessage }),
3241
+ /* @__PURE__ */ jsx39(CustomSelect2.Portal, { children: /* @__PURE__ */ jsxs15(StyledContent3, { side: "bottom", align: "start", position: "popper", children: [
3242
+ /* @__PURE__ */ jsx39(CustomSelect2.ScrollUpButton, { children: /* @__PURE__ */ jsx39(TriangleUpIcon, {}) }),
3243
+ /* @__PURE__ */ jsx39(StyledViewport, { children: items.map((item) => /* @__PURE__ */ jsx39(StyledItem3, { value: item.value, children: /* @__PURE__ */ jsx39(StyledItemText, { children: item.label }) }, item.value)) }),
3244
+ /* @__PURE__ */ jsx39(CustomSelect2.ScrollDownButton, { children: /* @__PURE__ */ jsx39(TriangleDownIcon, {}) })
3245
+ ] }) })
3246
+ ]
3247
+ }
3248
+ )
3249
+ ] });
3250
+ }
3251
+ );
3252
+ Select2.displayName = "Select";
3253
+
3254
+ // src/components/LabelledValue/index.tsx
3255
+ import {
3256
+ Children as Children3,
3257
+ cloneElement,
3258
+ isValidElement as isValidElement2
3259
+ } from "react";
3260
+
3261
+ // src/components/LabelledValue/styles.ts
3262
+ var Container = styled("div", {
3263
+ display: "flex",
3264
+ fontWeight: "$regular",
3265
+ fontSize: "$md",
3266
+ fontFamily: "$default",
3267
+ variants: {
3268
+ position: {
3269
+ vertical: {
3270
+ flexDirection: "column",
3271
+ gap: "$5"
3272
+ },
3273
+ horizontal: {
3274
+ flexDirection: "column",
3275
+ flexWrap: "wrap",
3276
+ gap: "$3"
3277
+ }
3278
+ }
3279
+ }
3280
+ });
3281
+ var ItemWrapper = styled("div", {
3282
+ display: "flex",
3283
+ alignItems: "center",
3284
+ fontWeight: "$regular",
3285
+ fontSize: "$md",
3286
+ fontFamily: "$default",
3287
+ variants: {
3288
+ position: {
3289
+ vertical: {
3290
+ flexDirection: "column",
3291
+ alignItems: "flex-start"
3292
+ },
3293
+ horizontal: {
3294
+ paddingBottom: "$2",
3295
+ flexDirection: "row",
3296
+ alignItems: "center",
3297
+ justifyContent: "space-between",
3298
+ borderBottom: "1px solid $gray_mid"
3299
+ }
3300
+ },
3301
+ withRow: {
3302
+ true: {
3303
+ paddingBottom: "$2",
3304
+ borderBottom: "1px solid $gray_mid"
3305
+ }
3306
+ }
3307
+ }
3308
+ });
3309
+ var Label4 = styled("div", {
3310
+ fontWeight: "$regular",
3311
+ fontSize: "$md",
3312
+ fontFamily: "$default",
3313
+ color: "$black",
3314
+ whiteSpace: "nowrap"
3315
+ });
3316
+ var Value2 = styled("div", {
3317
+ fontWeight: "$bold",
3318
+ fontSize: "$md",
3319
+ fontFamily: "$default",
3320
+ color: "$black",
3321
+ textAlign: "right",
3322
+ wordBreak: "break-word",
3323
+ maxWidth: "100%",
3324
+ flex: 1
3325
+ });
3326
+
3327
+ // src/components/LabelledValue/index.tsx
3328
+ import { jsx as jsx40, jsxs as jsxs16 } from "react/jsx-runtime";
3329
+ function LabelledValue({ position = "vertical", withRow = false, children }) {
3330
+ return /* @__PURE__ */ jsx40(Container, { position, children: Children3.map(children, (child) => {
3331
+ if (isValidElement2(child)) {
3332
+ return cloneElement(child, { position, withRow });
3333
+ }
3334
+ return child;
3335
+ }) });
3336
+ }
3337
+ function Item4({ label, value, position = "vertical", withRow = false }) {
3338
+ return /* @__PURE__ */ jsxs16(ItemWrapper, { position, withRow, children: [
3339
+ /* @__PURE__ */ jsx40(Label4, { children: label }),
3340
+ /* @__PURE__ */ jsx40(Value2, { children: value })
3341
+ ] });
3342
+ }
3343
+ LabelledValue.Item = Item4;
3344
+
3345
+ // src/components/OneTimePassword/index.tsx
3346
+ import * as OneTimePasswordField2 from "@radix-ui/react-one-time-password-field";
3347
+
3348
+ // src/components/OneTimePassword/styles.ts
3349
+ import * as OneTimePasswordField from "@radix-ui/react-one-time-password-field";
3350
+ var Container2 = styled("div", {
3351
+ display: "flex",
3352
+ flexDirection: "column",
3353
+ justifyContent: "center",
3354
+ alignItems: "center",
3355
+ marginBottom: "$6",
3356
+ width: "100%"
3357
+ });
3358
+ var StyledWrapper5 = styled("div", {
3359
+ display: "flex",
3360
+ flexDirection: "column"
3361
+ });
3362
+ var StyledRoot4 = styled(OneTimePasswordField.Root, {
3363
+ display: "grid",
3364
+ gap: "$2",
3365
+ gridTemplateColumns: "repeat(var(--otp-length), 1fr)",
3366
+ width: "100%"
3367
+ });
3368
+ var StyledLabel3 = styled(OneTimePasswordField.Root, {
3369
+ display: "flex",
3370
+ justifyContent: "center",
3371
+ alignItems: "center",
3372
+ marginBottom: "$5",
3373
+ color: "$black"
3374
+ });
3375
+ var StyledInput = styled(OneTimePasswordField.Input, {
3376
+ all: "unset",
3377
+ gap: "1rem",
3378
+ display: "inline-flex",
3379
+ alignItems: "center",
3380
+ justifyContent: "center",
3381
+ textAlign: "center",
3382
+ boxSizing: "border-box",
3383
+ borderRadius: "$md",
3384
+ borderStyle: "solid",
3385
+ borderColor: "$gray_mid",
3386
+ borderWidth: "3px",
3387
+ fontSize: "$md",
3388
+ color: "$black",
3389
+ padding: "0",
3390
+ width: "100%",
3391
+ aspectRatio: "1 / 1",
3392
+ maxWidth: "53px",
3393
+ "&:hover": {
3394
+ borderColor: "$gray_dark"
3395
+ },
3396
+ "&:focus": {
3397
+ borderColor: "$clickpalm_mid"
3398
+ }
3399
+ });
3400
+ var Span7 = styled("span", {
3401
+ fontFamily: "$default",
3402
+ fontWeight: "$regular",
3403
+ fontSize: "$sm",
3404
+ color: "$danger_dark",
3405
+ alignSelf: "flex-start",
3406
+ paddingLeft: "1px",
3407
+ marginTop: "2px",
3408
+ marginBottom: "$6"
3409
+ });
3410
+
3411
+ // src/components/OneTimePassword/index.tsx
3412
+ import { jsx as jsx41, jsxs as jsxs17 } from "react/jsx-runtime";
3413
+ var OneTimePassword = ({ label, length, value, errorMessage, onValueChange, ...rootProps }) => {
3414
+ return /* @__PURE__ */ jsx41(Container2, { children: /* @__PURE__ */ jsxs17(StyledWrapper5, { children: [
3415
+ /* @__PURE__ */ jsx41(StyledLabel3, { children: label }),
3416
+ /* @__PURE__ */ jsxs17(
3417
+ StyledRoot4,
3418
+ {
3419
+ value,
3420
+ onValueChange,
3421
+ ...rootProps,
3422
+ style: { "--otp-length": length },
3423
+ children: [
3424
+ Array.from({ length }).map((_, index) => /* @__PURE__ */ jsx41(StyledInput, {}, index)),
3425
+ /* @__PURE__ */ jsx41(OneTimePasswordField2.HiddenInput, {})
3426
+ ]
3427
+ }
3428
+ ),
3429
+ errorMessage && /* @__PURE__ */ jsx41(Span7, { children: errorMessage })
3430
+ ] }) });
3431
+ };
3432
+ OneTimePassword.displayName = "OneTimePasswordInput";
3433
+
3434
+ // src/components/Toast/index.tsx
3435
+ import * as ToastPrimitive2 from "@radix-ui/react-toast";
3436
+ import * as React4 from "react";
3437
+
3438
+ // src/components/Toast/styles.ts
3439
+ import * as ToastPrimitive from "@radix-ui/react-toast";
3440
+ var hide = keyframes({
3441
+ from: { opacity: 1 },
3442
+ to: { opacity: 0 }
3443
+ });
3444
+ var slideIn2 = keyframes({
3445
+ from: { transform: "translateX(calc(100% + 25px))" },
3446
+ to: { transform: "translateX(0)" }
3447
+ });
3448
+ var swipeOut = keyframes({
3449
+ from: { transform: "translateX(var(--radix-toast-swipe-end-x))" },
3450
+ to: { transform: "translateX(calc(100% + 25px))" }
3451
+ });
3452
+ var ToastRoot = styled(ToastPrimitive.Root, {
3453
+ position: "relative",
3454
+ display: "flex",
3455
+ justifyContent: "space-between",
3456
+ alignItems: "center",
3457
+ flexWrap: "nowrap",
3458
+ gap: "$2",
3459
+ width: "100%",
3460
+ boxSizing: "border-box",
3461
+ borderRadius: "$md",
3462
+ padding: "$4 $6",
3463
+ color: "$black",
3464
+ fontSize: "$md",
3465
+ boxShadow: "0 2px 10px rgba(0,0,0,0.1)",
3466
+ '&[data-state="open"]': {
3467
+ animation: `${slideIn2} 150ms cubic-bezier(0.16, 1, 0.3, 1)`
3468
+ },
3469
+ '&[data-state="closed"]': {
3470
+ animation: `${hide} 100ms ease-in`
3471
+ },
3472
+ '&[data-swipe="move"]': {
3473
+ transform: "translateX(var(--radix-toast-swipe-move-x))"
3474
+ },
3475
+ '&[data-swipe="cancel"]': {
3476
+ transform: "translateX(0)",
3477
+ transition: "transform 200ms ease-out"
3478
+ },
3479
+ '&[data-swipe="end"]': {
3480
+ animation: `${swipeOut} 100ms ease-out`
3481
+ },
3482
+ variants: {
3483
+ variant: {
3484
+ success: { backgroundColor: "$success" },
3485
+ warning: { backgroundColor: "$warning" },
3486
+ error: { backgroundColor: "$danger" }
3487
+ }
3488
+ }
3489
+ });
3490
+ var ToastAction = styled(ToastPrimitive.Action, {
3491
+ marginLeft: "auto",
3492
+ background: "transparent",
3493
+ border: "none",
3494
+ cursor: "pointer"
3495
+ });
3496
+ var ToastContent = styled("div", {
3497
+ display: "flex",
3498
+ flexDirection: "column",
3499
+ gap: "$1",
3500
+ width: "100%",
3501
+ alignItems: "flex-start",
3502
+ "@lg": {
3503
+ justifyContent: "space-between",
3504
+ alignItems: "center",
3505
+ flexDirection: "row"
3506
+ }
3507
+ });
3508
+ var ToastTitle = styled("strong", {
3509
+ fontWeight: "$bold",
3510
+ display: "block"
3511
+ });
3512
+ var ToastDescription = styled("span", {
3513
+ marginRight: "$6",
3514
+ display: "block"
3515
+ });
3516
+ var ToastViewport = styled(ToastPrimitive.Viewport, {
3517
+ position: "fixed",
3518
+ top: "110px",
3519
+ left: "50%",
3520
+ transform: "translateX(-50%)",
3521
+ display: "flex",
3522
+ flexDirection: "column",
3523
+ justifyContent: "flex-start",
3524
+ alignItems: "center",
3525
+ padding: 0,
3526
+ margin: "0 auto",
3527
+ gap: "$2",
3528
+ width: "79%",
3529
+ listStyle: "none",
3530
+ outline: "none",
3531
+ zIndex: 9999,
3532
+ "@lg": {
3533
+ maxWidth: "700px"
3534
+ }
3535
+ });
3536
+ var progress = keyframes({
3537
+ from: { width: "100%" },
3538
+ to: { width: "0%" }
3539
+ });
3540
+ var ToastProgress = styled("div", {
3541
+ position: "absolute",
3542
+ bottom: 0,
3543
+ left: 0,
3544
+ height: "6px",
3545
+ width: "90%",
3546
+ justifyContent: "center",
3547
+ borderBottomLeftRadius: "$full",
3548
+ borderBottomRightRadius: "$full",
3549
+ backgroundColor: "$clickpalm_light",
3550
+ animationTimingFunction: "linear",
3551
+ animation: `${progress} 6s linear`,
3552
+ animationFillMode: "forwards",
3553
+ variants: {
3554
+ paused: {
3555
+ true: {
3556
+ animationPlayState: "paused"
3557
+ },
3558
+ false: {
3559
+ animationPlayState: "running"
3560
+ }
3561
+ },
3562
+ variant: {
3563
+ success: { backgroundColor: "$success_dark" },
3564
+ warning: { backgroundColor: "$warning_dark" },
3565
+ error: { backgroundColor: "$danger_dark" }
3566
+ }
3567
+ }
3568
+ });
3569
+
3570
+ // src/components/Toast/toast.ts
3571
+ var subscribers = [];
3572
+ var toastImpl = {
3573
+ success(title, description) {
3574
+ publish({ id: crypto.randomUUID(), variant: "success", title, description });
3575
+ },
3576
+ warning(title, description) {
3577
+ publish({ id: crypto.randomUUID(), variant: "warning", title, description });
3578
+ },
3579
+ error(title, description) {
3580
+ publish({ id: crypto.randomUUID(), variant: "error", title, description });
3581
+ },
3582
+ _subscribe(fn) {
3583
+ subscribers.push(fn);
3584
+ },
3585
+ _unsubscribe(fn) {
3586
+ subscribers = subscribers.filter((sub) => sub !== fn);
3587
+ }
3588
+ };
3589
+ function publish(msg) {
3590
+ subscribers.forEach((fn) => fn(msg));
3591
+ }
3592
+ var toast = {
3593
+ success: toastImpl.success,
3594
+ warning: toastImpl.warning,
3595
+ error: toastImpl.error
3596
+ };
3597
+
3598
+ // src/components/Toast/index.tsx
3599
+ import { jsx as jsx42, jsxs as jsxs18 } from "react/jsx-runtime";
3600
+ var Toast = () => {
3601
+ const [messages, setMessages] = React4.useState([]);
3602
+ const [paused, setPaused] = React4.useState(false);
3603
+ React4.useEffect(() => {
3604
+ const handleNewToast = (msg) => {
3605
+ setMessages((prev) => [...prev, msg]);
3606
+ };
3607
+ toastImpl._subscribe(handleNewToast);
3608
+ return () => {
3609
+ toastImpl._unsubscribe(handleNewToast);
3610
+ };
3611
+ }, []);
3612
+ const removeToast = (id) => {
3613
+ setMessages((prev) => prev.filter((msg) => msg.id !== id));
3614
+ };
3615
+ return /* @__PURE__ */ jsxs18(ToastPrimitive2.Provider, { swipeDirection: "right", children: [
3616
+ messages.map((message) => /* @__PURE__ */ jsxs18(
3617
+ ToastRoot,
3618
+ {
3619
+ open: true,
3620
+ onOpenChange: (open) => {
3621
+ if (!open)
3622
+ removeToast(message.id);
3623
+ },
3624
+ variant: message.variant,
3625
+ duration: 6e3,
3626
+ onPause: () => setPaused(true),
3627
+ onResume: () => setPaused(false),
3628
+ children: [
3629
+ /* @__PURE__ */ jsxs18(ToastContent, { children: [
3630
+ /* @__PURE__ */ jsx42(ToastTitle, { children: message.title }),
3631
+ message.description && /* @__PURE__ */ jsx42(ToastDescription, { children: message.description })
3632
+ ] }),
3633
+ /* @__PURE__ */ jsx42(ToastAction, { altText: "Fechar", asChild: true, children: /* @__PURE__ */ jsx42(
3634
+ "button",
3635
+ {
3636
+ style: {
3637
+ all: "unset",
3638
+ display: "flex",
3639
+ justifyContent: "space-between",
3640
+ alignItems: "center"
3641
+ },
3642
+ onClick: () => removeToast(message.id),
3643
+ children: /* @__PURE__ */ jsx42(Icon, { name: "Closed", size: 16, height: 14, width: 14 })
3644
+ }
3645
+ ) }),
3646
+ /* @__PURE__ */ jsx42(ToastProgress, { paused, variant: message.variant })
3647
+ ]
3648
+ },
3649
+ message.id
3650
+ )),
3651
+ /* @__PURE__ */ jsx42(ToastViewport, {})
3652
+ ] });
3653
+ };
3654
+
3655
+ // src/components/MultiStep/styles.ts
3656
+ var Wrapper5 = styled("div", {
3657
+ display: "flex",
3658
+ "--circle-size": "48px",
3659
+ "--gap": "16px",
3660
+ variants: {
3661
+ orientation: {
3662
+ horizontal: {
3663
+ display: "grid",
3664
+ gridTemplateColumns: "repeat(auto-fit, minmax(100px, 1fr))",
3665
+ alignItems: "center",
3666
+ gap: "var(--gap)"
3667
+ },
3668
+ vertical: {
3669
+ flexDirection: "column",
3670
+ alignItems: "flex-start"
3671
+ }
3672
+ }
3673
+ }
3674
+ });
3675
+ var StepItem = styled("div", {
3676
+ display: "flex",
3677
+ alignItems: "center",
3678
+ position: "relative",
3679
+ variants: {
3680
+ orientation: {
3681
+ horizontal: {
3682
+ flexDirection: "column",
3683
+ textAlign: "center"
3684
+ },
3685
+ vertical: {
3686
+ margin: "$2 0",
3687
+ flexDirection: "row"
3688
+ }
3689
+ }
3690
+ }
3691
+ });
3692
+ var StepCircle = styled("div", {
3693
+ position: "relative",
3694
+ width: "var(--circle-size)",
3695
+ height: "var(--circle-size)",
3696
+ borderRadius: "50%",
3697
+ border: "2px solid",
3698
+ display: "flex",
3699
+ alignItems: "center",
3700
+ justifyContent: "center",
3701
+ fontWeight: "$regular",
3702
+ color: "$black",
3703
+ variants: {
3704
+ isActive: {
3705
+ true: {},
3706
+ false: {}
3707
+ },
3708
+ hasLeftLine: {
3709
+ true: {}
3710
+ },
3711
+ hasRightLine: {
3712
+ true: {}
3713
+ },
3714
+ orientation: {
3715
+ horizontal: {},
3716
+ vertical: {
3717
+ "&::before": {
3718
+ content: "",
3719
+ position: "absolute",
3720
+ top: 0,
3721
+ left: "50%",
3722
+ transform: "translate(-50%, -100%)",
3723
+ width: "3px",
3724
+ height: "$4",
3725
+ backgroundColor: "$clickpalm_dark"
3726
+ },
3727
+ "&::after": {
3728
+ content: "",
3729
+ position: "absolute",
3730
+ bottom: 0,
3731
+ left: "50%",
3732
+ transform: "translate(-50%, 100%)",
3733
+ width: "3px",
3734
+ height: "$4",
3735
+ backgroundColor: "$clickpalm_dark"
3736
+ }
3737
+ }
3738
+ },
3739
+ variant: {
3740
+ primary: {
3741
+ borderColor: "$clickpalm_dark"
3742
+ },
3743
+ secondary: {}
3744
+ }
3745
+ },
3746
+ compoundVariants: [
3747
+ {
3748
+ hasLeftLine: false,
3749
+ orientation: "horizontal",
3750
+ css: {
3751
+ "&::before": { display: "none" }
3752
+ }
3753
+ },
3754
+ {
3755
+ hasRightLine: false,
3756
+ orientation: "horizontal",
3757
+ css: {
3758
+ "&::after": { display: "none" }
3759
+ }
3760
+ },
3761
+ {
3762
+ hasLeftLine: false,
3763
+ orientation: "vertical",
3764
+ css: {
3765
+ "&::before": { display: "none" }
3766
+ }
3767
+ },
3768
+ {
3769
+ hasRightLine: false,
3770
+ orientation: "vertical",
3771
+ css: {
3772
+ "&::after": { display: "none" }
3773
+ }
3774
+ },
3775
+ {
3776
+ isActive: true,
3777
+ variant: "primary",
3778
+ css: {
3779
+ backgroundColor: "$clickpalm_dark",
3780
+ color: "$white"
3781
+ }
3782
+ },
3783
+ {
3784
+ isActive: false,
3785
+ variant: "primary",
3786
+ css: {
3787
+ borderColor: "$clickpalm_dark"
3788
+ }
3789
+ },
3790
+ {
3791
+ isActive: true,
3792
+ variant: "secondary",
3793
+ css: {
3794
+ borderColor: "$ignite_light",
3795
+ backgroundColor: "$ignite_light"
3796
+ }
3797
+ },
3798
+ {
3799
+ isActive: false,
3800
+ variant: "secondary",
3801
+ css: {
3802
+ borderColor: "$white",
3803
+ color: "$white"
3804
+ }
3805
+ },
3806
+ {
3807
+ isActive: true,
3808
+ variant: "primary",
3809
+ orientation: "vertical",
3810
+ css: {
3811
+ "&::before": {
3812
+ backgroundColor: "$clickpalm_dark"
3813
+ },
3814
+ "&::after": {
3815
+ backgroundColor: "$clickpalm_dark"
3816
+ }
3817
+ }
3818
+ },
3819
+ {
3820
+ isActive: false,
3821
+ variant: "primary",
3822
+ orientation: "vertical",
3823
+ css: {
3824
+ "&::before": {
3825
+ backgroundColor: "$clickpalm_dark"
3826
+ },
3827
+ "&::after": {
3828
+ backgroundColor: "$clickpalm_dark"
3829
+ }
3830
+ }
3831
+ },
3832
+ {
3833
+ isActive: true,
3834
+ variant: "secondary",
3835
+ orientation: "vertical",
3836
+ css: {
3837
+ "&::before": {
3838
+ backgroundColor: "$ignite_light"
3839
+ },
3840
+ "&::after": {
3841
+ backgroundColor: "$ignite_light"
3842
+ }
3843
+ }
3844
+ },
3845
+ {
3846
+ isActive: false,
3847
+ variant: "secondary",
3848
+ orientation: "vertical",
3849
+ css: {
3850
+ "&::before": {
3851
+ backgroundColor: "$white"
3852
+ },
3853
+ "&::after": {
3854
+ backgroundColor: "$white"
3855
+ }
3856
+ }
3857
+ }
3858
+ ]
3859
+ });
3860
+ var StepLabel = styled("span", {
3861
+ fontSize: "$md",
3862
+ whiteSpace: "nowrap",
3863
+ overflow: "hidden",
3864
+ textOverflow: "ellipsis",
3865
+ variants: {
3866
+ orientation: {
3867
+ horizontal: {
3868
+ marginTop: "$2"
3869
+ },
3870
+ vertical: {
3871
+ marginLeft: "$3"
3872
+ }
3873
+ },
3874
+ variant: {
3875
+ primary: {
3876
+ color: "$black"
3877
+ },
3878
+ secondary: {
3879
+ color: "$white"
3880
+ }
3881
+ }
3882
+ }
3883
+ });
3884
+
3885
+ // src/components/MultiStep/index.tsx
3886
+ import { jsx as jsx43, jsxs as jsxs19 } from "react/jsx-runtime";
3887
+ var MultiStep = ({
3888
+ steps,
3889
+ currentStep,
3890
+ orientation = "horizontal",
3891
+ variant
3892
+ }) => {
3893
+ return /* @__PURE__ */ jsx43(
3894
+ Wrapper5,
3895
+ {
3896
+ orientation,
3897
+ children: steps.map((step, index) => {
3898
+ const isFirst = index === 0;
3899
+ const isLast = index === steps.length - 1;
3900
+ return /* @__PURE__ */ jsxs19(StepItem, { orientation, children: [
3901
+ /* @__PURE__ */ jsx43(
3902
+ StepCircle,
3903
+ {
3904
+ orientation,
3905
+ variant,
3906
+ isActive: currentStep >= index,
3907
+ hasLeftLine: !isFirst,
3908
+ hasRightLine: !isLast,
3909
+ children: index + 1
3910
+ }
3911
+ ),
3912
+ /* @__PURE__ */ jsx43(
3913
+ StepLabel,
3914
+ {
3915
+ orientation,
3916
+ variant,
3917
+ children: step.label
3918
+ }
3919
+ )
3920
+ ] }, index);
3921
+ })
3922
+ }
3923
+ );
3924
+ };
3925
+ MultiStep.displayName = "MultiStep";
3926
+
3927
+ // src/components/Carousel/index.tsx
3928
+ import { useState as useState12, Children as Children4, cloneElement as cloneElement2 } from "react";
3929
+
3930
+ // src/components/Carousel/styles.ts
3931
+ var CarouselContainer = styled("div", {
3932
+ display: "flex",
3933
+ flexDirection: "column",
3934
+ alignItems: "center",
3935
+ width: "100%",
3936
+ maxWidth: "720px"
3937
+ });
3938
+ var Wrapper6 = styled("div", {
3939
+ display: "flex",
3940
+ flexDirection: "column",
3941
+ alignItems: "center",
3942
+ borderRadius: "$md",
3943
+ width: "stretch",
3944
+ padding: "$4",
3945
+ variants: {
3946
+ variant: {
3947
+ gray: {
3948
+ backgroundColor: "$gray_background",
3949
+ boxShadow: "0 1px 2px $colors$gray_dark"
3950
+ },
3951
+ purple: {
3952
+ backgroundColor: "$clickpalm_mid",
3953
+ color: "$white"
3954
+ }
3955
+ }
3956
+ }
3957
+ });
3958
+ var CarouselHeader = styled("div", {
3959
+ display: "flex",
3960
+ justifyContent: "space-between",
3961
+ alignItems: "center",
3962
+ width: "100%",
3963
+ color: "$black"
3964
+ });
3965
+ var Title2 = styled("h3", {
3966
+ fontFamily: "$default",
3967
+ fontWeight: "$bold",
3968
+ fontSize: "$md",
3969
+ color: "$black",
3970
+ margin: "0px",
3971
+ variants: {
3972
+ variant: {
3973
+ gray: {
3974
+ color: "$black"
3975
+ },
3976
+ purple: {
3977
+ color: "$white"
3978
+ }
3979
+ }
3980
+ }
3981
+ });
3982
+ var Navigation = styled("h3", {
3983
+ display: "flex",
3984
+ justifyContent: "center",
3985
+ alignItems: "center",
3986
+ gap: "$1",
3987
+ margin: "0px"
3988
+ });
3989
+ var CarouselContent = styled("div", {
3990
+ width: "100%",
3991
+ overflow: "hidden",
3992
+ position: "relative",
3993
+ variants: {
3994
+ variant: {
3995
+ gray: {
3996
+ color: "$black"
3997
+ },
3998
+ purple: {
3999
+ color: "$white",
4000
+ "& *": {
4001
+ color: "$white"
4002
+ }
4003
+ }
4004
+ }
4005
+ }
4006
+ });
4007
+ var DotsContainer = styled("div", {
4008
+ display: "flex",
4009
+ alignItems: "center",
4010
+ justifyContent: "center",
4011
+ width: "100%"
4012
+ });
4013
+ var Dots2 = styled("div", {
4014
+ display: "flex",
4015
+ gap: "$2",
4016
+ justifyContent: "center",
4017
+ flexWrap: "nowrap"
4018
+ });
4019
+ var DotButton = styled("button", {
4020
+ border: "2px solid $ignite_light",
4021
+ background: "transparent",
4022
+ height: "9px",
4023
+ width: "9px",
4024
+ borderRadius: "$full",
4025
+ padding: 0,
4026
+ cursor: "pointer",
4027
+ transition: "background-color 0.3s ease, border-color 0.3s ease",
4028
+ flexShrink: 0,
4029
+ variants: {
4030
+ active: {
4031
+ true: {
4032
+ backgroundColor: "$ignite_light",
4033
+ borderColor: "$ignite_light"
4034
+ },
4035
+ false: {}
4036
+ }
4037
+ },
4038
+ "&:focus": {
4039
+ outline: "none",
4040
+ borderColor: "$ignite_dark"
4041
+ }
4042
+ });
4043
+ var Ellipsis = styled("span", {
4044
+ color: "$ignite_light",
4045
+ textDecoration: "none",
4046
+ height: "9px",
4047
+ display: "flex",
4048
+ alignItems: "center"
4049
+ });
4050
+ var CarouselItemContainer = styled("div", {
4051
+ width: "100%",
4052
+ color: "inherit"
4053
+ });
4054
+
4055
+ // src/components/Carousel/index.tsx
4056
+ import { jsx as jsx44, jsxs as jsxs20 } from "react/jsx-runtime";
4057
+ var SWIPE_THRESHOLD = 50;
4058
+ var Carousel = ({ title, variant, children }) => {
4059
+ const items = Children4.toArray(children);
4060
+ const [activeIndex, setActiveIndex] = useState12(0);
4061
+ const [touchStartX, setTouchStartX] = useState12(null);
4062
+ const [touchEndX, setTouchEndX] = useState12(null);
4063
+ const prev = () => {
4064
+ setActiveIndex((prevIndex) => prevIndex === 0 ? items.length - 1 : prevIndex - 1);
4065
+ };
4066
+ const next = () => {
4067
+ setActiveIndex((prevIndex) => prevIndex === items.length - 1 ? 0 : prevIndex + 1);
4068
+ };
4069
+ const onTouchStart = (e) => {
4070
+ setTouchEndX(null);
4071
+ setTouchStartX(e.targetTouches[0].clientX);
4072
+ };
4073
+ const onTouchMove = (e) => {
4074
+ setTouchEndX(e.targetTouches[0].clientX);
4075
+ };
4076
+ const onTouchEnd = () => {
4077
+ if (touchStartX !== null && touchEndX !== null) {
4078
+ const distance = touchStartX - touchEndX;
4079
+ if (Math.abs(distance) > SWIPE_THRESHOLD) {
4080
+ if (distance > 0) {
4081
+ next();
4082
+ } else {
4083
+ prev();
4084
+ }
4085
+ }
4086
+ }
4087
+ setTouchStartX(null);
4088
+ setTouchEndX(null);
4089
+ };
4090
+ const activeItem = items[activeIndex];
4091
+ const itemTitle = activeItem?.props?.title;
4092
+ return /* @__PURE__ */ jsxs20(
4093
+ CarouselContainer,
4094
+ {
4095
+ role: "region",
4096
+ "aria-roledescription": "carousel",
4097
+ "aria-label": "Carousel Component",
4098
+ children: [
4099
+ /* @__PURE__ */ jsxs20(Wrapper6, { variant, children: [
4100
+ /* @__PURE__ */ jsxs20(CarouselHeader, { children: [
4101
+ /* @__PURE__ */ jsx44(Title2, { variant, children: itemTitle ?? title }),
4102
+ items.length > 0 && /* @__PURE__ */ jsxs20(Navigation, { children: [
4103
+ /* @__PURE__ */ jsx44(
4104
+ Button,
4105
+ {
4106
+ size: "sm",
4107
+ variant: "secondary",
4108
+ "aria-label": "Previous Slide",
4109
+ onClick: prev,
4110
+ tabIndex: 0,
4111
+ children: /* @__PURE__ */ jsx44(Icon, { name: "TriangleLeft", size: 16, color: variant === "purple" ? "white" : "black" })
4112
+ }
4113
+ ),
4114
+ /* @__PURE__ */ jsx44(
4115
+ Button,
4116
+ {
4117
+ size: "sm",
4118
+ variant: "secondary",
4119
+ "aria-label": "Next Slide",
4120
+ onClick: next,
4121
+ tabIndex: 0,
4122
+ children: /* @__PURE__ */ jsx44(Icon, { name: "TriangleRight", size: 16, color: variant === "purple" ? "white" : "black" })
4123
+ }
4124
+ )
4125
+ ] })
4126
+ ] }),
4127
+ /* @__PURE__ */ jsx44(Spacing, { size: "xs" }),
4128
+ /* @__PURE__ */ jsx44(Hr, { variant }),
4129
+ /* @__PURE__ */ jsx44(Spacing, { size: "xs" }),
4130
+ /* @__PURE__ */ jsx44(
4131
+ CarouselContent,
4132
+ {
4133
+ onTouchStart,
4134
+ onTouchMove,
4135
+ onTouchEnd,
4136
+ variant,
4137
+ children: items.map(
4138
+ (child, index) => cloneElement2(child, {
4139
+ "aria-hidden": index !== activeIndex,
4140
+ style: {
4141
+ display: index === activeIndex ? "block" : "none"
4142
+ }
4143
+ })
4144
+ )
4145
+ }
4146
+ )
4147
+ ] }),
4148
+ /* @__PURE__ */ jsx44(Spacing, { size: "md" }),
4149
+ items.length > 0 && /* @__PURE__ */ jsx44(DotsContainer, { children: /* @__PURE__ */ jsx44(Dots2, { role: "tablist", "aria-label": "Carousel Pagination", children: getPaginationItems(items.length, activeIndex).map(
4150
+ (page, index) => typeof page === "number" ? /* @__PURE__ */ jsx44(
4151
+ DotButton,
4152
+ {
4153
+ active: page === activeIndex,
4154
+ "aria-label": `Go to slide ${page + 1}`,
4155
+ "aria-selected": page === activeIndex,
4156
+ role: "tab",
4157
+ onClick: () => setActiveIndex(page),
4158
+ type: "button"
4159
+ },
4160
+ page
4161
+ ) : /* @__PURE__ */ jsx44(Ellipsis, { children: "..." }, `ellipsis-${index}`)
4162
+ ) }) })
4163
+ ]
4164
+ }
4165
+ );
4166
+ };
4167
+ var getPaginationItems = (totalItems, activeIndex) => {
4168
+ if (totalItems <= 10) {
4169
+ return Array.from({ length: totalItems }, (_, i) => i);
4170
+ }
4171
+ if (activeIndex < 7) {
4172
+ return [0, 1, 2, 3, 4, 5, 6, "...", totalItems - 1];
4173
+ }
4174
+ if (activeIndex >= totalItems - 5) {
4175
+ return [0, "...", totalItems - 5, totalItems - 4, totalItems - 3, totalItems - 2, totalItems - 1];
4176
+ }
4177
+ return [0, "...", activeIndex - 2, activeIndex - 1, activeIndex, activeIndex + 1, activeIndex + 2, "...", totalItems - 1];
4178
+ };
4179
+ var CarouselItem = ({ children, style, title, ...props }) => /* @__PURE__ */ jsx44(CarouselItemContainer, { ...props, style: { ...style }, children });
4180
+ Carousel.Item = CarouselItem;
4181
+
4182
+ // src/components/PasswordInput.tsx
4183
+ import { forwardRef as forwardRef13, useImperativeHandle as useImperativeHandle2, useRef as useRef7, useState as useState13 } from "react";
4184
+ import { jsx as jsx45 } from "react/jsx-runtime";
4185
+ var ToggleButton = styled("button", {
4186
+ all: "unset",
4187
+ cursor: "pointer",
4188
+ display: "flex",
4189
+ alignItems: "center",
4190
+ justifyContent: "center",
4191
+ borderRadius: "$sm",
4192
+ padding: "2px",
4193
+ "&:focus-visible": {
4194
+ outline: "none",
4195
+ boxShadow: "0 0 0 2px $colors$ignite_light",
4196
+ borderRadius: "$sm"
4197
+ }
4198
+ });
4199
+ var PasswordInput = forwardRef13(
4200
+ ({ value, onChange, ...props }, ref) => {
4201
+ const [visible, setVisible] = useState13(false);
4202
+ const innerRef = useRef7(null);
4203
+ useImperativeHandle2(ref, () => innerRef.current);
4204
+ const handleToggleVisibility = () => {
4205
+ setVisible((v) => !v);
4206
+ setTimeout(() => {
4207
+ if (innerRef.current) {
4208
+ const length = innerRef.current.value.length;
4209
+ innerRef.current.setSelectionRange(length, length);
4210
+ }
4211
+ }, 0);
4212
+ };
4213
+ return /* @__PURE__ */ jsx45(
4214
+ Input2,
4215
+ {
4216
+ ...props,
4217
+ ref: innerRef,
4218
+ type: visible ? "text" : "password",
4219
+ value,
4220
+ onChange,
4221
+ suffix: /* @__PURE__ */ jsx45(
4222
+ ToggleButton,
4223
+ {
4224
+ type: "button",
4225
+ onClick: handleToggleVisibility,
4226
+ onMouseDown: (e) => e.preventDefault(),
4227
+ "aria-label": visible ? "Ocultar senha" : "Mostrar senha",
4228
+ children: visible ? /* @__PURE__ */ jsx45(Icon, { name: "EyeClosed", size: 16, color: "black" }) : /* @__PURE__ */ jsx45(Icon, { name: "EyeOpen", size: 16, color: "black" })
4229
+ }
4230
+ )
4231
+ }
4232
+ );
4233
+ }
4234
+ );
4235
+ PasswordInput.displayName = "PasswordInput";
4236
+
4237
+ // src/components/Accordion/index.tsx
4238
+ import * as RadixAccordion from "@radix-ui/react-accordion";
4239
+ import React6 from "react";
4240
+
4241
+ // src/components/Accordion/styles.ts
4242
+ import * as Accordion from "@radix-ui/react-accordion";
4243
+ var AccordionContainer = styled(Accordion.Root, {
4244
+ borderRadius: "$md",
4245
+ width: "100%",
4246
+ backgroundColor: "$white",
4247
+ boxShadow: "0 1px 2px $colors$gray_mid",
4248
+ border: "2px solid $colors$gray_mid"
4249
+ });
4250
+ var AccordionItem = styled(Accordion.Item, {
4251
+ overflow: "hidden",
4252
+ marginTop: "1px",
4253
+ "&:first-child": {
4254
+ marginTop: 0,
4255
+ borderTopLeftRadius: "$md",
4256
+ borderTopRightRadius: "$md"
4257
+ },
4258
+ "&:last-child": {
4259
+ borderBottomLeftRadius: "$md",
4260
+ borderBottomRightRadius: "$md"
4261
+ }
4262
+ });
4263
+ var AccordionHeader = styled(Accordion.Header, {
4264
+ display: "flex",
4265
+ alignItems: "center",
4266
+ justifyContent: "space-between",
4267
+ padding: "0 $5",
4268
+ gap: "$2"
4269
+ });
4270
+ var AccordionTrigger = styled(Accordion.Trigger, {
4271
+ all: "unset",
4272
+ backgroundColor: "transparent",
4273
+ display: "flex",
4274
+ alignItems: "center",
4275
+ fontFamily: "$default",
4276
+ fontWeight: "$bold",
4277
+ fontSize: "$md",
4278
+ lineHeight: "$regular",
4279
+ textAlign: "left",
4280
+ color: "$black",
4281
+ width: "100%",
4282
+ flexWrap: "wrap",
4283
+ wordBreak: "break-word",
4284
+ whiteSpace: "normal",
4285
+ "&:hover": {
4286
+ cursor: "pointer"
4287
+ },
4288
+ "&:focus": {
4289
+ cursor: "pointer",
4290
+ outline: "none"
4291
+ }
4292
+ });
4293
+ var AccordionChevron = styled(Icon, {
4294
+ color: "$ignite_light",
4295
+ transition: "transform 300ms cubic-bezier(0.87, 0, 0.13, 1)",
4296
+ "[data-state=open] &": {
4297
+ transform: "rotate(180deg)"
4298
+ }
4299
+ });
4300
+ var AccordionContent = styled(Accordion.Content, {
4301
+ overflow: "hidden",
4302
+ fontSize: "$md",
4303
+ color: "$black",
4304
+ borderTop: "1px solid $colors$gray_mid",
4305
+ '&[data-state="open"]': {
4306
+ animation: "slideDown 300ms cubic-bezier(0.87, 0, 0.13, 1)"
4307
+ },
4308
+ '&[data-state="closed"]': {
4309
+ animation: "slideUp 300ms cubic-bezier(0.87, 0, 0.13, 1)"
4310
+ },
4311
+ "> div": {
4312
+ padding: "$5"
4313
+ }
4314
+ });
4315
+ var TriggerContent = styled("div", {
4316
+ display: "flex",
4317
+ alignItems: "center",
4318
+ gap: "$2"
4319
+ });
4320
+ var OptionsButton = styled(Button, {
4321
+ marginRight: "$1"
4322
+ });
4323
+
4324
+ // src/components/Accordion/index.tsx
4325
+ import { jsx as jsx46, jsxs as jsxs21 } from "react/jsx-runtime";
4326
+ var Accordion2 = React6.forwardRef(
4327
+ ({ title, children, dropdownItems }, ref) => {
4328
+ return /* @__PURE__ */ jsx46(AccordionContainer, { type: "single", collapsible: true, ref, children: /* @__PURE__ */ jsxs21(AccordionItem, { value: "item-1", children: [
4329
+ /* @__PURE__ */ jsxs21(AccordionHeader, { children: [
4330
+ /* @__PURE__ */ jsx46(AccordionTrigger, { children: /* @__PURE__ */ jsx46("span", { children: title }) }),
4331
+ /* @__PURE__ */ jsxs21(TriggerContent, { children: [
4332
+ dropdownItems && dropdownItems,
4333
+ /* @__PURE__ */ jsx46(RadixAccordion.Trigger, { asChild: true, children: /* @__PURE__ */ jsx46(StyledButton, { as: "div", variant: "secondary", size: "sm", children: /* @__PURE__ */ jsx46(AccordionChevron, { name: "TriangleDown", size: 16, "aria-hidden": true }) }) })
4334
+ ] })
4335
+ ] }),
4336
+ /* @__PURE__ */ jsx46(RadixAccordion.Content, { asChild: true, children: /* @__PURE__ */ jsx46(AccordionContent, { children }) })
4337
+ ] }) });
4338
+ }
4339
+ );
4340
+ Accordion2.displayName = "Accordion";
4341
+ export {
4342
+ Accordion2 as Accordion,
4343
+ Avatar2 as Avatar,
4344
+ Box,
4345
+ Button,
4346
+ Calendar2 as Calendar,
4347
+ Carousel,
4348
+ Checkbox2 as Checkbox,
4349
+ Datepicker,
4350
+ Dropdown,
4351
+ DropdownItem,
4352
+ DropdownSeparator,
4353
+ Heading,
4354
+ Hr,
4355
+ Icon,
4356
+ Input2 as Input,
4357
+ LabelledValue,
4358
+ Loader,
4359
+ MaskedInput,
4360
+ Modal,
4361
+ MultiStep,
4362
+ OneTimePassword,
4363
+ Paragraph,
4364
+ PasswordInput,
4365
+ ProgressBar,
4366
+ Radio,
4367
+ Select2 as Select,
4368
+ Spacing,
4369
+ Span5 as Span,
4370
+ StyledHr,
4371
+ Switch2 as Switch,
4372
+ Tabs2 as Tabs,
4373
+ TextArea,
4374
+ TextAreaElement,
4375
+ Toast,
4376
+ Tooltip,
4377
+ config,
4378
+ createTheme,
4379
+ css,
4380
+ getCssText,
4381
+ globalCss,
4382
+ keyframes,
4383
+ styled,
4384
+ theme,
4385
+ toast
4386
+ };