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