@clickpalm/react 1.0.0

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,3404 @@
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
+ Avatar: () => Avatar2,
34
+ Box: () => Box,
35
+ Button: () => Button,
36
+ Calendar: () => Calendar2,
37
+ Carousel: () => Carousel,
38
+ Checkbox: () => Checkbox2,
39
+ Datepicker: () => Datepicker,
40
+ Heading: () => Heading,
41
+ Hr: () => Hr,
42
+ Icon: () => Icon,
43
+ Input: () => Input2,
44
+ LabelledValue: () => LabelledValue,
45
+ Modal: () => Modal,
46
+ MultiStep: () => MultiStep,
47
+ OneTimePassword: () => OneTimePassword,
48
+ PasswordInput: () => PasswordInput,
49
+ ProgressBar: () => ProgressBar,
50
+ Radio: () => Radio,
51
+ Select: () => Select2,
52
+ Spacing: () => Spacing,
53
+ Span: () => Span5,
54
+ Switch: () => Switch2,
55
+ Tabs: () => Tabs2,
56
+ Text: () => Text,
57
+ TextArea: () => TextArea,
58
+ TextAreaElement: () => TextAreaElement,
59
+ Toast: () => Toast,
60
+ Tooltip: () => Tooltip,
61
+ config: () => config,
62
+ createTheme: () => createTheme,
63
+ css: () => css,
64
+ getCssText: () => getCssText,
65
+ globalCss: () => globalCss,
66
+ keyframes: () => keyframes,
67
+ styled: () => styled,
68
+ theme: () => theme,
69
+ toast: () => toast
70
+ });
71
+ module.exports = __toCommonJS(src_exports);
72
+
73
+ // ../tokens/dist/index.mjs
74
+ var colors = {
75
+ white: "#FFF",
76
+ black: "#000",
77
+ gray_background: "#EFEFEF",
78
+ gray_light: "#D9D9D9",
79
+ gray_mid: "#C2C2C2",
80
+ gray_dark: "#979797",
81
+ clickpalm_light: "#8987E6",
82
+ clickpalm_mid: "#8556E5",
83
+ clickpalm_dark: "#854FE8",
84
+ clickpalm_superDark: "#4A307F",
85
+ ignite_light: "#78CB63",
86
+ ignite_dark: "#518D42",
87
+ success: "#84FF8A",
88
+ success_dark: "#3EBF4A",
89
+ warning: "#FCD842",
90
+ warning_dark: "#C9A600",
91
+ danger: "#FF8173",
92
+ danger_dark: "#C94A3F"
93
+ };
94
+ var space = {
95
+ 1: "0.25rem",
96
+ 2: "0.5rem",
97
+ 3: "0.75rem",
98
+ 4: "1rem",
99
+ 5: "1.25rem",
100
+ 6: "1.5rem",
101
+ 7: "1.75rem",
102
+ 8: "2rem",
103
+ 10: "2.5rem",
104
+ 11: "2.75rem",
105
+ 12: "3rem",
106
+ 14: "3.5rem",
107
+ 16: "4rem",
108
+ 19: "4.75rem",
109
+ 20: "5rem",
110
+ 22: "6rem",
111
+ 40: "10rem",
112
+ 64: "16rem",
113
+ 80: "20rem"
114
+ };
115
+ var radii = {
116
+ px: "1px",
117
+ xs: "4px",
118
+ sm: "6px",
119
+ md: "8px",
120
+ lg: "16px",
121
+ full: "99999px"
122
+ };
123
+ var fonts = {
124
+ default: "Nunito, sans-serif",
125
+ code: "monospace"
126
+ };
127
+ var fontSizes = {
128
+ xxs: "0.625rem",
129
+ xs: "0.75rem",
130
+ sm: "0.875rem",
131
+ md: "1rem",
132
+ lg: "1.125rem",
133
+ xl: "1.25rem",
134
+ "2xl": "1.5rem",
135
+ "4xl": "2rem",
136
+ "5xl": "2.25rem",
137
+ "6xl": "3rem",
138
+ "7xl": "4rem",
139
+ "8xl": "4.5rem",
140
+ "9xl": "6rem"
141
+ };
142
+ var fontWeights = {
143
+ regular: "400",
144
+ medium: "500",
145
+ bold: "700"
146
+ };
147
+ var lineHeights = {
148
+ regular: "100%",
149
+ shorter: "125%",
150
+ short: "140%",
151
+ base: "160%",
152
+ tall: "180%"
153
+ };
154
+
155
+ // src/styles/stitches.config.ts
156
+ var import_react = require("@stitches/react");
157
+ var {
158
+ styled,
159
+ css,
160
+ globalCss,
161
+ keyframes,
162
+ getCssText,
163
+ theme,
164
+ createTheme,
165
+ config
166
+ } = (0, import_react.createStitches)({
167
+ themeMap: {
168
+ ...import_react.defaultThemeMap,
169
+ height: "space",
170
+ width: "space"
171
+ },
172
+ theme: {
173
+ colors,
174
+ fontSizes,
175
+ fontWeights,
176
+ fonts,
177
+ lineHeights,
178
+ radii,
179
+ space
180
+ },
181
+ media: {
182
+ sm: "(min-width: 375px)",
183
+ md: "(min-width: 768px)",
184
+ lg: "(min-width: 1024px)"
185
+ }
186
+ });
187
+
188
+ // src/components/Avatar/styles.ts
189
+ var Avatar = __toESM(require("@radix-ui/react-avatar"));
190
+ var AvatarContainer = styled(Avatar.Root, {
191
+ borderRadius: "$full",
192
+ display: "inline-block",
193
+ overflow: "hidden",
194
+ borderWidth: "3px",
195
+ borderStyle: "solid",
196
+ boxSizing: "border-box",
197
+ variants: {
198
+ size: {
199
+ sm: { width: "$11", height: "$11" },
200
+ md: { width: "$14", height: "$14" },
201
+ lg: { width: "$19", height: "$19" },
202
+ xlg: { width: "$22", height: "$22" }
203
+ },
204
+ status: {
205
+ default: { borderColor: "$white" },
206
+ warning: { borderColor: "$warning" },
207
+ error: { borderColor: "$danger" },
208
+ success: { borderColor: "$success" },
209
+ completed: { borderColor: "$clickpalm_dark" }
210
+ },
211
+ shadow: {
212
+ true: { boxShadow: "0 2px 4px $colors$gray_dark" }
213
+ }
214
+ },
215
+ defaultVariants: {
216
+ size: "md",
217
+ status: "default"
218
+ }
219
+ });
220
+ var AvatarImage = styled(Avatar.Image, {
221
+ width: "100%",
222
+ height: "100%",
223
+ objectFit: "cover",
224
+ borderRadius: "inherit"
225
+ });
226
+ var AvatarFallback = styled(Avatar.Fallback, {
227
+ width: "100%",
228
+ height: "100%",
229
+ display: "flex",
230
+ alignItems: "center",
231
+ justifyContent: "center",
232
+ backgroundColor: "$gray_background",
233
+ color: "$black",
234
+ fontWeight: "$bold",
235
+ fontSize: "$sm"
236
+ });
237
+ var NotificationBadge = styled("div", {
238
+ position: "absolute",
239
+ transform: "translate(50%, 50%)",
240
+ backgroundColor: "$ignite_light",
241
+ color: "$black",
242
+ fontWeight: "$bold",
243
+ display: "flex",
244
+ alignItems: "center",
245
+ justifyContent: "center",
246
+ borderRadius: "$full",
247
+ border: "1px solid $white",
248
+ boxSizing: "border-box",
249
+ zIndex: 1,
250
+ variants: {
251
+ size: {
252
+ sm: {
253
+ width: "20px",
254
+ height: "20px",
255
+ fontSize: "8px",
256
+ bottom: 18,
257
+ right: 4
258
+ },
259
+ md: {
260
+ width: "20px",
261
+ height: "20px",
262
+ fontSize: "10px",
263
+ bottom: 20,
264
+ right: 5
265
+ },
266
+ lg: {
267
+ width: "30px",
268
+ height: "30px",
269
+ fontSize: "11px",
270
+ bottom: 25,
271
+ right: 8
272
+ },
273
+ xlg: {
274
+ width: "30px",
275
+ height: "30px",
276
+ fontSize: "12px",
277
+ bottom: 25,
278
+ right: 8
279
+ }
280
+ }
281
+ },
282
+ defaultVariants: {
283
+ size: "md"
284
+ }
285
+ });
286
+
287
+ // src/components/Avatar/index.tsx
288
+ var import_jsx_runtime = require("react/jsx-runtime");
289
+ function Avatar2({
290
+ fallback,
291
+ className,
292
+ style,
293
+ size = "md",
294
+ status = "default",
295
+ notifications = 0,
296
+ shadow = false,
297
+ ...props
298
+ }) {
299
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { position: "relative", display: "inline-block" }, children: [
300
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AvatarContainer, { className, style, size, status, shadow, children: [
301
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarImage, { ...props }),
302
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AvatarFallback, { children: fallback })
303
+ ] }),
304
+ notifications > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NotificationBadge, { size, children: notifications > 99 ? "99+" : notifications })
305
+ ] });
306
+ }
307
+ Avatar2.displayName = "Avatar";
308
+
309
+ // src/components/Calendar/index.tsx
310
+ var import_date_fns = require("date-fns");
311
+ var import_locale = require("date-fns/locale");
312
+ var import_react4 = require("react");
313
+ var import_react_day_picker = require("react-day-picker");
314
+ var import_style = require("react-day-picker/dist/style.css");
315
+
316
+ // src/components/Button.tsx
317
+ var import_react2 = require("react");
318
+ var import_jsx_runtime2 = require("react/jsx-runtime");
319
+ var StyledButton = styled("button", {
320
+ all: "unset",
321
+ borderRadius: "$md",
322
+ fontWeight: "$bold",
323
+ fontFamily: "$default",
324
+ textAlign: "center",
325
+ boxSizing: "border-box",
326
+ display: "flex",
327
+ alignItems: "center",
328
+ justifyContent: "center",
329
+ gap: "$2",
330
+ cursor: "pointer",
331
+ svg: {
332
+ width: "$4",
333
+ height: "$4"
334
+ },
335
+ "&:disabled": {
336
+ cursor: "not-allowed"
337
+ },
338
+ "&:focus": {
339
+ outline: "none"
340
+ },
341
+ variants: {
342
+ variant: {
343
+ primary: {
344
+ color: "$white",
345
+ backgroundImage: "linear-gradient(to bottom, $ignite_light, $ignite_dark)",
346
+ "&:not(:disabled):hover": {
347
+ background: "$ignite_dark"
348
+ },
349
+ "&:disabled": {
350
+ opacity: "0.6"
351
+ }
352
+ },
353
+ secondary: {
354
+ color: "$clickpalm_mid",
355
+ border: "2px solid $ignite_light",
356
+ "&:not(:disabled):hover": {
357
+ border: "2px solid $ignite_dark"
358
+ },
359
+ "&:disabled": {
360
+ opacity: "0.6"
361
+ }
362
+ },
363
+ tertiary: {
364
+ color: "$ignite_light",
365
+ border: "3px solid $clickpalm_mid",
366
+ "&:not(:disabled):hover": {
367
+ color: "$ignite_dark"
368
+ },
369
+ "&:disabled": {
370
+ opacity: "0.6"
371
+ }
372
+ }
373
+ },
374
+ size: {
375
+ xs: {},
376
+ sm: {
377
+ height: 33,
378
+ padding: "0 $2",
379
+ fontSize: "$md"
380
+ },
381
+ md: {
382
+ height: 53,
383
+ padding: "0 $4",
384
+ fontSize: "$md"
385
+ },
386
+ lg: {
387
+ height: 70,
388
+ padding: "0 $6",
389
+ fontSize: "$2xl"
390
+ }
391
+ },
392
+ full: {
393
+ true: {
394
+ width: "100%"
395
+ }
396
+ },
397
+ round: {
398
+ md: {
399
+ height: 53,
400
+ width: 53,
401
+ padding: "0 $4",
402
+ borderRadius: "50%"
403
+ },
404
+ lg: {
405
+ height: 70,
406
+ width: 70,
407
+ padding: "0 $6",
408
+ borderRadius: "50%"
409
+ },
410
+ xlg: {
411
+ height: 160,
412
+ width: 160,
413
+ padding: "0 $8",
414
+ borderRadius: "50%"
415
+ }
416
+ }
417
+ },
418
+ defaultVariants: {
419
+ variant: "primary",
420
+ size: "md"
421
+ }
422
+ });
423
+ var Button = (0, import_react2.forwardRef)(function Button2({ children, ...props }, ref) {
424
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StyledButton, { ref, ...props, children });
425
+ });
426
+ Button.displayName = "Button";
427
+
428
+ // src/components/Icon/icons.ts
429
+ var import_react_icons = require("@radix-ui/react-icons");
430
+
431
+ // src/components/Icon/Svgs/Calendar.tsx
432
+ var import_jsx_runtime3 = require("react/jsx-runtime");
433
+ var Calendar = (props) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
434
+ "svg",
435
+ {
436
+ width: "18",
437
+ height: "21",
438
+ viewBox: "0 0 18 21",
439
+ fill: "none",
440
+ xmlns: "http://www.w3.org/2000/svg",
441
+ ...props,
442
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
443
+ "path",
444
+ {
445
+ 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",
446
+ fill: "currentColor"
447
+ }
448
+ )
449
+ }
450
+ );
451
+
452
+ // src/components/Icon/Svgs/Closed.tsx
453
+ var import_jsx_runtime4 = require("react/jsx-runtime");
454
+ var Closed = (props) => {
455
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
456
+ "svg",
457
+ {
458
+ width: "14",
459
+ height: "15",
460
+ viewBox: "0 0 14 15",
461
+ fill: "none",
462
+ xmlns: "http://www.w3.org/2000/svg",
463
+ ...props,
464
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
465
+ "path",
466
+ {
467
+ 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",
468
+ fill: "currentColor"
469
+ }
470
+ )
471
+ }
472
+ );
473
+ };
474
+
475
+ // src/components/Icon/Svgs/Dots.tsx
476
+ var import_jsx_runtime5 = require("react/jsx-runtime");
477
+ var Dots = (props) => {
478
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
479
+ "svg",
480
+ {
481
+ width: "16",
482
+ height: "5",
483
+ viewBox: "0 0 16 5",
484
+ fill: "none",
485
+ xmlns: "http://www.w3.org/2000/svg",
486
+ ...props,
487
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
488
+ "path",
489
+ {
490
+ 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",
491
+ fill: "currentColor"
492
+ }
493
+ )
494
+ }
495
+ );
496
+ };
497
+
498
+ // src/components/Icon/Svgs/Filter.tsx
499
+ var import_jsx_runtime6 = require("react/jsx-runtime");
500
+ var Filter = (props) => {
501
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
502
+ "svg",
503
+ {
504
+ xmlns: "http://www.w3.org/2000/svg",
505
+ width: "32",
506
+ height: "32",
507
+ fill: "currentColor",
508
+ viewBox: "0 0 256 256",
509
+ ...props,
510
+ 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" })
511
+ }
512
+ );
513
+ };
514
+
515
+ // src/components/Icon/Svgs/Hamburger.tsx
516
+ var import_jsx_runtime7 = require("react/jsx-runtime");
517
+ var Hamburger = (props) => {
518
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
519
+ "svg",
520
+ {
521
+ xmlns: "http://www.w3.org/2000/svg",
522
+ width: "32",
523
+ height: "32",
524
+ fill: "currentColor",
525
+ viewBox: "0 0 256 256",
526
+ ...props,
527
+ 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" })
528
+ }
529
+ );
530
+ };
531
+
532
+ // src/components/Icon/Svgs/Pencil.tsx
533
+ var import_jsx_runtime8 = require("react/jsx-runtime");
534
+ var Pencil = (props) => {
535
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
536
+ "svg",
537
+ {
538
+ width: "18",
539
+ height: "19",
540
+ viewBox: "0 0 18 19",
541
+ fill: "none",
542
+ xmlns: "http://www.w3.org/2000/svg",
543
+ ...props,
544
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
545
+ "path",
546
+ {
547
+ 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",
548
+ fill: "currentColor"
549
+ }
550
+ )
551
+ }
552
+ );
553
+ };
554
+
555
+ // src/components/Icon/Svgs/Photo.tsx
556
+ var import_jsx_runtime9 = require("react/jsx-runtime");
557
+ var Photo = (props) => {
558
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
559
+ "svg",
560
+ {
561
+ width: "18",
562
+ height: "18",
563
+ viewBox: "0 0 18 18",
564
+ fill: "none",
565
+ xmlns: "http://www.w3.org/2000/svg",
566
+ ...props,
567
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
568
+ "path",
569
+ {
570
+ 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",
571
+ fill: "currentColor"
572
+ }
573
+ )
574
+ }
575
+ );
576
+ };
577
+
578
+ // src/components/Icon/Svgs/Plus.tsx
579
+ var import_jsx_runtime10 = require("react/jsx-runtime");
580
+ var Plus = (props) => {
581
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
582
+ "svg",
583
+ {
584
+ width: "20",
585
+ height: "20",
586
+ viewBox: "0 0 20 20",
587
+ fill: "none",
588
+ xmlns: "http://www.w3.org/2000/svg",
589
+ ...props,
590
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
591
+ "path",
592
+ {
593
+ d: "M8.58301 11.4167H0.0830078V8.58334H8.58301V0.0833435H11.4163V8.58334H19.9163V11.4167H11.4163V19.9167H8.58301V11.4167Z",
594
+ fill: "currentColor"
595
+ }
596
+ )
597
+ }
598
+ );
599
+ };
600
+
601
+ // src/components/Icon/Svgs/Search.tsx
602
+ var import_jsx_runtime11 = require("react/jsx-runtime");
603
+ var Search = (props) => {
604
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
605
+ "svg",
606
+ {
607
+ width: "18",
608
+ height: "18",
609
+ viewBox: "0 0 18 18",
610
+ fill: "none",
611
+ xmlns: "http://www.w3.org/2000/svg",
612
+ ...props,
613
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
614
+ "path",
615
+ {
616
+ 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",
617
+ fill: "currentColor"
618
+ }
619
+ )
620
+ }
621
+ );
622
+ };
623
+
624
+ // src/components/Icon/Svgs/ChevronLeft.tsx
625
+ var import_jsx_runtime12 = require("react/jsx-runtime");
626
+ var ChevronLeft = (props) => {
627
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
628
+ "svg",
629
+ {
630
+ width: "8",
631
+ height: "12",
632
+ viewBox: "0 0 8 12",
633
+ fill: "none",
634
+ xmlns: "http://www.w3.org/2000/svg",
635
+ ...props,
636
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
637
+ "path",
638
+ {
639
+ d: "M6 12L0 6L6 0L7.4 1.4L2.8 6L7.4 10.6L6 12Z",
640
+ fill: "currentColor"
641
+ }
642
+ )
643
+ }
644
+ );
645
+ };
646
+
647
+ // src/components/Icon/Svgs/ChevronRight.tsx
648
+ var import_jsx_runtime13 = require("react/jsx-runtime");
649
+ var ChevronRight = (props) => {
650
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
651
+ "svg",
652
+ {
653
+ width: "8",
654
+ height: "12",
655
+ viewBox: "0 0 8 12",
656
+ fill: "none",
657
+ xmlns: "http://www.w3.org/2000/svg",
658
+ ...props,
659
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
660
+ "path",
661
+ {
662
+ d: "M4.6 6L0 1.4L1.4 0L7.4 6L1.4 12L0 10.6L4.6 6Z",
663
+ fill: "currentColor"
664
+ }
665
+ )
666
+ }
667
+ );
668
+ };
669
+
670
+ // src/components/Icon/Svgs/Check.tsx
671
+ var import_jsx_runtime14 = require("react/jsx-runtime");
672
+ var Check = (props) => {
673
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
674
+ "svg",
675
+ {
676
+ xmlns: "http://www.w3.org/2000/svg",
677
+ width: "18",
678
+ height: "13",
679
+ viewBox: "0 0 18 13",
680
+ fill: "none",
681
+ ...props,
682
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
683
+ "path",
684
+ {
685
+ d: "M6.55001 13L0.850006 7.3L2.27501 5.875L6.55001 10.15L15.725 0.975L17.15 2.4L6.55001 13Z",
686
+ fill: "currentColor"
687
+ }
688
+ )
689
+ }
690
+ );
691
+ };
692
+
693
+ // src/components/Icon/icons.ts
694
+ var iconMap = {
695
+ TriangleDown: import_react_icons.TriangleDownIcon,
696
+ TriangleUp: import_react_icons.TriangleUpIcon,
697
+ TriangleLeft: import_react_icons.TriangleLeftIcon,
698
+ TriangleRight: import_react_icons.TriangleRightIcon,
699
+ EyeClosed: import_react_icons.EyeClosedIcon,
700
+ EyeOpen: import_react_icons.EyeOpenIcon,
701
+ Calendar,
702
+ Closed,
703
+ Dots,
704
+ Filter,
705
+ Hamburger,
706
+ Pencil,
707
+ Photo,
708
+ Plus,
709
+ Search,
710
+ ChevronLeft,
711
+ ChevronRight,
712
+ Check
713
+ };
714
+
715
+ // src/components/Icon/index.tsx
716
+ var import_react3 = require("react");
717
+ var import_jsx_runtime15 = require("react/jsx-runtime");
718
+ var colorMap = {
719
+ black: "#000000",
720
+ green: "#78CB63",
721
+ white: "#ffffff"
722
+ };
723
+ function Icon({ name, size = 24, color = "black", ...rest }) {
724
+ const IconComponent = iconMap[name];
725
+ if (!IconComponent) {
726
+ console.warn(`Icon "${name}" not found in iconMap`);
727
+ return null;
728
+ }
729
+ const fillColor = (0, import_react3.useMemo)(() => colorMap[color], [color]);
730
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
731
+ IconComponent,
732
+ {
733
+ width: size,
734
+ height: size,
735
+ color: fillColor,
736
+ "aria-hidden": true,
737
+ ...rest
738
+ }
739
+ );
740
+ }
741
+ Icon.displayName = "Icon";
742
+
743
+ // src/components/Calendar/styles.ts
744
+ var calendarStyles = globalCss({
745
+ ".calendar-root": {
746
+ "--rdp-accent-color": theme.colors.clickpalm_light,
747
+ "--rdp-accent-background-color": theme.colors.clickpalm_light,
748
+ "--rdp-day-height": "45px",
749
+ "--rdp-day-width": "45px",
750
+ "--rdp-day_button-border-radius": theme.radii.md.value,
751
+ "--rdp-day_button-border": "2px solid transparent",
752
+ "--rdp-day_button-height": "40px",
753
+ "--rdp-day_button-width": "40px",
754
+ "--rdp-selected-border": "2px solid var(--rdp-accent-color)",
755
+ "--rdp-disabled-opacity": "0.5",
756
+ "--rdp-outside-opacity": "1",
757
+ "--rdp-today-color": theme.colors.clickpalm_light,
758
+ "--rdp-dropdown-gap": "0.5rem",
759
+ "--rdp-months-gap": "2rem",
760
+ "--rdp-nav_button-disabled-opacity": "0.5",
761
+ "--rdp-nav_button-height": "36px",
762
+ "--rdp-nav_button-width": "36px",
763
+ "--rdp-nav-height": "44px",
764
+ "--rdp-range_middle-background-color": "var(--rdp-accent-background-color)",
765
+ "--rdp-range_middle-color": "inherit",
766
+ "--rdp-range_start-color": "white",
767
+ "--rdp-range_start-background": "linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%)",
768
+ "--rdp-range_start-date-background-color": "var(--rdp-accent-color)",
769
+ "--rdp-range_end-background": "linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%)",
770
+ "--rdp-range_end-color": "white",
771
+ "--rdp-range_end-date-background-color": "var(--rdp-accent-color)",
772
+ "--rdp-weekday-opacity": "1",
773
+ "--rdp-weekday-padding": "0.5rem 0",
774
+ "--rdp-weekday-text-align": "center",
775
+ "--rdp-gradient-direction": "90deg",
776
+ "--rdp-animation_duration": "0.3s",
777
+ "--rdp-animation_timing": "cubic-bezier(0.4, 0, 0.2, 1)",
778
+ padding: theme.space[3],
779
+ border: `1px solid ${theme.colors.gray_light}`,
780
+ borderRadius: theme.radii.md.value,
781
+ maxWidth: "329px",
782
+ paddingLeft: "15px"
783
+ },
784
+ '.calendar-root[dir="rtl"]': {
785
+ "--rdp-gradient-direction": "-90deg"
786
+ },
787
+ '.calendar-root[data-broadcast-calendar="true"]': {
788
+ "--rdp-outside-opacity": "unset"
789
+ },
790
+ '.calendar-root[dir="rtl"] .rdp-nav .rdp-chevron': {
791
+ transform: "rotate(180deg)",
792
+ transformOrigin: "50%"
793
+ },
794
+ '.calendar-root[data-nav-layout="around"] .rdp-month': {
795
+ position: "relative"
796
+ },
797
+ '.calendar-root[data-nav-layout="after"] .rdp-month': {
798
+ position: "relative"
799
+ },
800
+ '.calendar-root[data-nav-layout="around"] .calendar-month_caption': {
801
+ justifyContent: "center",
802
+ marginInlineStart: "var(--rdp-nav_button-width)",
803
+ marginInlineEnd: "var(--rdp-nav_button-width)",
804
+ position: "relative"
805
+ },
806
+ '.calendar-root[data-nav-layout="around"] .rdp-button_previous': {
807
+ position: "absolute",
808
+ insetInlineStart: 0,
809
+ top: 0,
810
+ height: "var(--rdp-nav-height)",
811
+ display: "inline-flex"
812
+ },
813
+ '.calendar-root[data-nav-layout="around"] .rdp-button_next': {
814
+ position: "absolute",
815
+ insetInlineEnd: 0,
816
+ top: 0,
817
+ height: "var(--rdp-nav-height)",
818
+ display: "inline-flex",
819
+ justifyContent: "center"
820
+ },
821
+ '.calendar-root[dir="rtl"] .rdp-weeks_after_enter': {
822
+ animation: "rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
823
+ },
824
+ '.calendar-root[dir="rtl"] .rdp-weeks_before_exit': {
825
+ animation: "rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
826
+ },
827
+ '.calendar-root[dir="rtl"] .rdp-weeks_before_enter': {
828
+ animation: "rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
829
+ },
830
+ '.calendar-root[dir="rtl"] .rdp-weeks_after_exit': {
831
+ animation: "rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards"
832
+ },
833
+ ".calendar-month_caption": {
834
+ paddingLeft: "2px",
835
+ display: "flex",
836
+ alignItems: "center",
837
+ height: "var(--rdp-nav-height)",
838
+ fontWeight: "$bold",
839
+ fontSize: "$lg"
840
+ },
841
+ ".calendar-caption_label": {
842
+ paddingLeft: "$3",
843
+ zIndex: 1,
844
+ position: "relative",
845
+ display: "flex",
846
+ alignItems: "center",
847
+ whiteSpace: "nowrap"
848
+ },
849
+ ".calendar-root-collapsed": {
850
+ minWidth: "329px",
851
+ position: "relative"
852
+ },
853
+ ".calendar-root-collapsed .rdp-weekdays": {
854
+ display: "none"
855
+ },
856
+ ".calendar-root-collapsed .rdp-day": {
857
+ display: "none"
858
+ },
859
+ ".calendar-root-collapsed .rdp-months": {
860
+ minHeight: "var(--rdp-nav-height)",
861
+ position: "relative",
862
+ display: "flex",
863
+ flexWrap: "wrap",
864
+ gap: "var(--rdp-months-gap)",
865
+ maxWidth: "100%"
866
+ },
867
+ ".calendar-root-collapsed .rdp-nav": {
868
+ position: "absolute",
869
+ top: 0,
870
+ right: 0,
871
+ display: "flex",
872
+ alignItems: "center",
873
+ height: "var(--rdp-nav-height)"
874
+ },
875
+ ".rdp-dropdown:focus-visible ~ .calendar-caption_label": {
876
+ outline: "5px auto Highlight",
877
+ WebkitOutline: "5px auto -webkit-focus-ring-color"
878
+ },
879
+ ".rdp-nav": {
880
+ gap: "$1",
881
+ paddingRight: "6px"
882
+ },
883
+ ".rdp-weekday": {
884
+ fontFamily: theme.fonts.default,
885
+ fontWeight: theme.fontWeights.bold,
886
+ paddingRight: "6px"
887
+ },
888
+ ".rdp-day_button": {
889
+ background: theme.colors.gray_background,
890
+ color: theme.colors.black,
891
+ fontFamily: theme.fonts.default,
892
+ fontWeight: theme.fontWeights.bold,
893
+ fontSize: theme.fontSizes.md,
894
+ "&:hover": {
895
+ border: `2px solid ${theme.colors.clickpalm_light}`
896
+ },
897
+ "&:focus": {
898
+ border: `2px solid ${theme.colors.clickpalm_light}`,
899
+ outline: "none"
900
+ }
901
+ },
902
+ ".rdp-outside .rdp-day_button": {
903
+ fontFamily: theme.fonts.default,
904
+ background: theme.colors.gray_mid,
905
+ color: theme.colors.black
906
+ },
907
+ ".rdp-selected .rdp-day_button": {
908
+ background: theme.colors.clickpalm_light,
909
+ color: theme.colors.white
910
+ }
911
+ });
912
+ var StyledButton2 = styled("div", {
913
+ display: "flex",
914
+ alignItems: "center",
915
+ transition: "transform 0.4s ease",
916
+ variants: {
917
+ isOpen: {
918
+ true: {
919
+ transform: "rotate(180deg)"
920
+ },
921
+ false: {
922
+ transform: "rotate(0deg)"
923
+ }
924
+ }
925
+ }
926
+ });
927
+ var StyledLabel = styled("label", {
928
+ color: "$black",
929
+ fontFamily: "$default",
930
+ fontSize: "$md",
931
+ fontWeight: "$bold",
932
+ display: "flex",
933
+ marginBottom: "$6"
934
+ });
935
+
936
+ // src/components/Calendar/index.tsx
937
+ var import_jsx_runtime16 = require("react/jsx-runtime");
938
+ calendarStyles();
939
+ var Calendar2 = ({ label, onChange }) => {
940
+ const [selected, setSelected] = (0, import_react4.useState)(void 0);
941
+ const [month, setMonth] = (0, import_react4.useState)(/* @__PURE__ */ new Date());
942
+ const [open, setOpen] = (0, import_react4.useState)(true);
943
+ const handleDaySelect = (date) => {
944
+ setSelected(date);
945
+ if (date) {
946
+ const formatted = (0, import_date_fns.format)(date, "dd/MM/yyyy");
947
+ onChange(formatted);
948
+ }
949
+ };
950
+ (0, import_react4.useEffect)(() => {
951
+ if (selected) {
952
+ setMonth(selected);
953
+ }
954
+ }, [selected]);
955
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { children: [
956
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(StyledLabel, { children: label }),
957
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
958
+ import_react_day_picker.DayPicker,
959
+ {
960
+ className: !open ? "calendar-root-collapsed" : "",
961
+ mode: "single",
962
+ selected,
963
+ onSelect: handleDaySelect,
964
+ month,
965
+ onMonthChange: setMonth,
966
+ locale: import_locale.ptBR,
967
+ showOutsideDays: true,
968
+ classNames: {
969
+ root: "calendar-root",
970
+ month_caption: "calendar-month_caption",
971
+ caption_label: "calendar-caption_label"
972
+ },
973
+ formatters: {
974
+ formatCaption: (month2, options) => {
975
+ const mes = (0, import_date_fns.format)(month2, "MMMM", options).replace(/^./, (c) => c.toUpperCase());
976
+ const ano = (0, import_date_fns.format)(month2, "yyyy", options);
977
+ return `${mes} de ${ano}`;
978
+ },
979
+ formatWeekdayName: (date, options) => {
980
+ const dia = (0, import_date_fns.format)(date, "EEEEEE", options);
981
+ return dia.charAt(0).toUpperCase() + dia.slice(1);
982
+ }
983
+ },
984
+ components: {
985
+ MonthCaption: ({ calendarMonth, displayIndex, ...safeprops }) => {
986
+ const displayMonth = calendarMonth.date;
987
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { ...safeprops, children: [
988
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
989
+ Button,
990
+ {
991
+ variant: "secondary",
992
+ size: "sm",
993
+ onClick: () => setOpen(!open),
994
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(StyledButton2, { isOpen: open, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon, { name: "TriangleUp", size: 16 }) })
995
+ }
996
+ ) }),
997
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "calendar-month_caption", children: /* @__PURE__ */ (0, import_jsx_runtime16.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()) }) })
998
+ ] });
999
+ },
1000
+ PreviousMonthButton: (props) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon, { name: "TriangleLeft", size: 16 }) }),
1001
+ NextMonthButton: (props) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon, { name: "TriangleRight", size: 16 }) })
1002
+ }
1003
+ }
1004
+ )
1005
+ ] });
1006
+ };
1007
+
1008
+ // src/components/Checkbox/styles.ts
1009
+ var Checkbox = __toESM(require("@radix-ui/react-checkbox"));
1010
+ var StyledWrapper = styled("div", {
1011
+ display: "flex",
1012
+ alignSelf: "flex-start",
1013
+ alignItems: "center",
1014
+ lineHeight: "150%",
1015
+ variants: {
1016
+ hasError: {
1017
+ true: {
1018
+ marginBottom: "0px",
1019
+ "&:focus": {
1020
+ border: "2px solid $danger_dark"
1021
+ }
1022
+ },
1023
+ false: {
1024
+ marginBottom: "$6"
1025
+ }
1026
+ }
1027
+ }
1028
+ });
1029
+ var CheckboxContainer = styled(Checkbox.Root, {
1030
+ all: "unset",
1031
+ width: "$6",
1032
+ height: "$6",
1033
+ backgroundColor: "$white",
1034
+ borderRadius: "$md",
1035
+ lineHeight: 0,
1036
+ cursor: "pointer",
1037
+ overflow: "hidden",
1038
+ boxSizing: "border-box",
1039
+ display: "flex",
1040
+ justifyContent: "center",
1041
+ alignItems: "center",
1042
+ borderWidth: "3px",
1043
+ borderStyle: "solid",
1044
+ borderColor: "$gray_mid",
1045
+ '&[data-state="checked"]': {
1046
+ outline: "none",
1047
+ backgroundColor: "$clickpalm_dark",
1048
+ borderColor: "$clickpalm_dark"
1049
+ },
1050
+ "&:focus": {
1051
+ outline: "none",
1052
+ border: "2px solid $clickpalm_light"
1053
+ },
1054
+ "&:disabled": {
1055
+ opacity: 0.5,
1056
+ cursor: "not-allowed"
1057
+ },
1058
+ variants: {
1059
+ hasError: {
1060
+ true: {
1061
+ borderColor: "$danger_dark",
1062
+ marginBottom: "0px",
1063
+ "&:focus, &:hover": {
1064
+ outline: "none",
1065
+ border: "4px solid $danger_dark"
1066
+ },
1067
+ '&[data-state="checked"]': {
1068
+ outline: "none",
1069
+ backgroundColor: "$danger_dark",
1070
+ borderColor: "$danger_dark"
1071
+ }
1072
+ }
1073
+ }
1074
+ }
1075
+ });
1076
+ var slideIn = keyframes({
1077
+ from: {
1078
+ transform: "translateY(-100%)"
1079
+ },
1080
+ to: {
1081
+ transform: "translateY(0)"
1082
+ }
1083
+ });
1084
+ var slideOut = keyframes({
1085
+ from: {
1086
+ transform: "translateY(0)"
1087
+ },
1088
+ to: {
1089
+ transform: "translateY(-100%)"
1090
+ }
1091
+ });
1092
+ var CheckboxIndicator = styled(Checkbox.Indicator, {
1093
+ color: "$white",
1094
+ width: "$4",
1095
+ height: "$4",
1096
+ '&[data-state="checked"]': {
1097
+ animation: `${slideIn} 200ms ease-out`
1098
+ },
1099
+ '&[data-state="unchecked"]': {
1100
+ animation: `${slideOut} 200ms ease-out`
1101
+ }
1102
+ });
1103
+ var CheckboxLabel = styled("label", {
1104
+ display: "flex",
1105
+ paddingLeft: "$3",
1106
+ fontSize: "$md",
1107
+ lineHeight: "$base"
1108
+ });
1109
+ var Span = styled("span", {
1110
+ fontFamily: "$default",
1111
+ fontWeight: "$regular",
1112
+ fontSize: "$sm",
1113
+ color: "$danger_dark",
1114
+ alignSelf: "flex-start",
1115
+ paddingLeft: "1px",
1116
+ marginTop: "2px",
1117
+ marginBottom: "$6"
1118
+ });
1119
+
1120
+ // src/components/Checkbox/index.tsx
1121
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1122
+ function Checkbox2({ label, checked, onCheckedChange, errorMessage, ...rest }) {
1123
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start" }, children: [
1124
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(StyledWrapper, { hasError: !!errorMessage, children: [
1125
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1126
+ CheckboxContainer,
1127
+ {
1128
+ checked,
1129
+ onCheckedChange,
1130
+ hasError: !!errorMessage,
1131
+ ...rest,
1132
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckboxIndicator, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon, { name: "Check", size: 16 }) })
1133
+ }
1134
+ ),
1135
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CheckboxLabel, { children: label })
1136
+ ] }),
1137
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Span, { children: errorMessage })
1138
+ ] });
1139
+ }
1140
+ Checkbox2.displayName = "Checkbox";
1141
+
1142
+ // src/components/Datepicker/index.tsx
1143
+ var import_date_fns2 = require("date-fns");
1144
+ var import_locale2 = require("date-fns/locale");
1145
+ var import_react6 = require("react");
1146
+ var import_react_day_picker2 = require("react-day-picker");
1147
+ var import_style2 = require("react-day-picker/dist/style.css");
1148
+
1149
+ // src/components/Input/index.tsx
1150
+ var import_react5 = __toESM(require("react"));
1151
+
1152
+ // src/components/Input/styles.ts
1153
+ var StyledWrapper2 = styled("div", {
1154
+ display: "flex",
1155
+ flexDirection: "column"
1156
+ });
1157
+ var Label = styled("label", {
1158
+ fontSize: "$md",
1159
+ fontWeight: "$regular",
1160
+ alignSelf: "flex-start",
1161
+ marginBottom: "$2",
1162
+ paddingLeft: "1px",
1163
+ color: "$black"
1164
+ });
1165
+ var TextInputContainer = styled("div", {
1166
+ backgroundColor: "$white",
1167
+ borderRadius: "$md",
1168
+ boxSizing: "border-box",
1169
+ border: "1px solid $gray_mid",
1170
+ display: "flex",
1171
+ alignItems: "center",
1172
+ padding: "$4 $4",
1173
+ marginBottom: "$6",
1174
+ FontSize: "$md",
1175
+ "&:has(input:focus)": {
1176
+ border: "2px solid $clickpalm_light"
1177
+ },
1178
+ "&:has(input:disabled)": {
1179
+ opacity: 0.5,
1180
+ cursor: "not-allowed"
1181
+ },
1182
+ variants: {
1183
+ hasButtonSuffix: {
1184
+ true: {
1185
+ paddingTop: "10px",
1186
+ paddingBottom: "10px"
1187
+ }
1188
+ },
1189
+ noMargin: {
1190
+ true: { marginBottom: "0px" }
1191
+ },
1192
+ hasError: {
1193
+ true: {
1194
+ border: "1px solid $danger_dark",
1195
+ marginBottom: "0px",
1196
+ "&:has(input:focus)": {
1197
+ border: "2px solid $danger_dark"
1198
+ }
1199
+ }
1200
+ }
1201
+ }
1202
+ });
1203
+ var Prefix = styled("span", {
1204
+ fontFamily: "$default",
1205
+ fontSize: "$sm",
1206
+ color: "$gray_light",
1207
+ fontWeight: "regular"
1208
+ });
1209
+ var Input = styled("input", {
1210
+ fontFamily: "$default",
1211
+ fontSize: "$md",
1212
+ color: "$black",
1213
+ fontWeight: "regular",
1214
+ background: "transparent",
1215
+ border: 0,
1216
+ width: "100%",
1217
+ "&:focus": {
1218
+ outline: 0
1219
+ },
1220
+ "&:disabled": {
1221
+ cursor: "not-allowed",
1222
+ opacity: 0.5
1223
+ },
1224
+ "&::placeholder": {
1225
+ color: "$gray_mid"
1226
+ }
1227
+ });
1228
+ var Suffix = styled("div", {
1229
+ display: "flex",
1230
+ alignItems: "center",
1231
+ justifyContent: "center",
1232
+ marginLeft: "$2",
1233
+ color: "$gray_light"
1234
+ });
1235
+ var Span2 = styled("span", {
1236
+ fontFamily: "$default",
1237
+ fontWeight: "$regular",
1238
+ fontSize: "$sm",
1239
+ color: "$danger_dark",
1240
+ alignSelf: "flex-start",
1241
+ paddingLeft: "1px",
1242
+ marginTop: "2px",
1243
+ marginBottom: "$6"
1244
+ });
1245
+
1246
+ // src/components/Input/index.tsx
1247
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1248
+ var Input2 = (0, import_react5.forwardRef)(
1249
+ ({ prefix, suffix, label, errorMessage, noMargin = false, ...props }, forwardedRef) => {
1250
+ const localInputRef = (0, import_react5.useRef)(null);
1251
+ const inputRef = forwardedRef || localInputRef;
1252
+ const handleContainerClick = () => {
1253
+ inputRef?.current?.focus();
1254
+ };
1255
+ const isButtonElement = (node) => {
1256
+ if (!import_react5.default.isValidElement(node))
1257
+ return false;
1258
+ const type = node.type;
1259
+ return type?.displayName === "Button";
1260
+ };
1261
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(StyledWrapper2, { children: [
1262
+ label && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Label, { children: label }),
1263
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1264
+ TextInputContainer,
1265
+ {
1266
+ hasButtonSuffix: isButtonElement(suffix),
1267
+ noMargin,
1268
+ hasError: !!errorMessage,
1269
+ onClick: handleContainerClick,
1270
+ children: [
1271
+ !!prefix && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Prefix, { children: prefix }),
1272
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Input, { ref: inputRef, ...props }),
1273
+ !!suffix && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Suffix, { children: suffix })
1274
+ ]
1275
+ }
1276
+ ),
1277
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Span2, { children: errorMessage })
1278
+ ] });
1279
+ }
1280
+ );
1281
+ Input2.displayName = "Input";
1282
+
1283
+ // src/components/Datepicker/styles.ts
1284
+ var datePickerStyles = globalCss({
1285
+ ".rdp-root": {
1286
+ "--rdp-accent-color": theme.colors.clickpalm_light,
1287
+ "--rdp-accent-background-color": theme.colors.clickpalm_light,
1288
+ "--rdp-day-height": "45px",
1289
+ "--rdp-day-width": "45px",
1290
+ "--rdp-day_button-border-radius": theme.radii.md.value,
1291
+ "--rdp-day_button-height": "40px",
1292
+ "--rdp-day_button-width": "40px",
1293
+ "--rdp-selected-border": "2px solid var(--rdp-accent-color)",
1294
+ "--rdp-disabled-opacity": "0.5",
1295
+ "--rdp-outside-opacity": "1",
1296
+ "--rdp-today-color": theme.colors.clickpalm_light,
1297
+ "--rdp-nav_button-disabled-opacity": "0.5",
1298
+ "--rdp-nav_button-height": "36px",
1299
+ "--rdp-nav_button-width": "36px",
1300
+ "--rdp-nav-height": "44px",
1301
+ "--rdp-weekday-opacity": "1",
1302
+ "--rdp-weekday-padding": "0.5rem 0",
1303
+ "--rdp-weekday-text-align": "center",
1304
+ "--rdp-animation_duration": "0.3s",
1305
+ "--rdp-animation_timing": "cubic-bezier(0.4, 0, 0.2, 1)",
1306
+ padding: theme.space[3],
1307
+ paddingLeft: "15px"
1308
+ },
1309
+ ".rdp-caption_label": {
1310
+ paddingLeft: theme.space[1]
1311
+ },
1312
+ ".rdp-nav": {
1313
+ gap: theme.space[1]
1314
+ },
1315
+ ".rdp-weekday": {
1316
+ fontFamily: theme.fonts.default,
1317
+ fontWeight: theme.fontWeights.bold
1318
+ },
1319
+ ".rdp-day_button": {
1320
+ background: theme.colors.gray_background,
1321
+ color: theme.colors.black,
1322
+ fontFamily: theme.fonts.default,
1323
+ fontWeight: theme.fontWeights.bold,
1324
+ fontSize: theme.fontSizes.md,
1325
+ "&:hover": {
1326
+ border: `2px solid ${theme.colors.clickpalm_light}`
1327
+ },
1328
+ "&:focus": {
1329
+ border: `2px solid ${theme.colors.clickpalm_light}`,
1330
+ outline: "none"
1331
+ }
1332
+ },
1333
+ ".rdp-outside .rdp-day_button": {
1334
+ fontFamily: theme.fonts.default,
1335
+ background: theme.colors.gray_mid,
1336
+ color: theme.colors.black
1337
+ },
1338
+ ".rdp-selected .rdp-day_button": {
1339
+ background: theme.colors.clickpalm_light,
1340
+ color: theme.colors.white
1341
+ }
1342
+ });
1343
+
1344
+ // src/components/Datepicker/index.tsx
1345
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1346
+ datePickerStyles();
1347
+ var Datepicker = ({ label, value, onChange }) => {
1348
+ const [selected, setSelected] = (0, import_react6.useState)(void 0);
1349
+ const [month, setMonth] = (0, import_react6.useState)(/* @__PURE__ */ new Date());
1350
+ const [open, setOpen] = (0, import_react6.useState)(false);
1351
+ const inputRef = (0, import_react6.useRef)(null);
1352
+ const calendarRef = (0, import_react6.useRef)(null);
1353
+ const handleDaySelect = (date) => {
1354
+ setSelected(date);
1355
+ if (date) {
1356
+ const formatted = (0, import_date_fns2.format)(date, "dd/MM/yyyy");
1357
+ onChange(formatted);
1358
+ }
1359
+ setOpen(false);
1360
+ };
1361
+ (0, import_react6.useEffect)(() => {
1362
+ const handleClickOutside = (event) => {
1363
+ if (calendarRef.current && !calendarRef.current.contains(event.target) && inputRef.current && !inputRef.current.contains(event.target)) {
1364
+ setOpen(false);
1365
+ }
1366
+ };
1367
+ document.addEventListener("mousedown", handleClickOutside);
1368
+ return () => document.removeEventListener("mousedown", handleClickOutside);
1369
+ }, []);
1370
+ (0, import_react6.useEffect)(() => {
1371
+ if (!open && selected) {
1372
+ setMonth(selected);
1373
+ }
1374
+ }, [open, selected]);
1375
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
1376
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1377
+ Input2,
1378
+ {
1379
+ ref: inputRef,
1380
+ label,
1381
+ placeholder: "dd/mm/aaaa",
1382
+ onFocus: () => setOpen(true),
1383
+ value: value || "",
1384
+ noMargin: true,
1385
+ readOnly: true,
1386
+ suffix: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "Calendar", size: 16 })
1387
+ }
1388
+ ),
1389
+ open && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1390
+ "div",
1391
+ {
1392
+ ref: calendarRef,
1393
+ style: {
1394
+ position: "absolute",
1395
+ marginTop: "4px",
1396
+ zIndex: 100,
1397
+ backgroundColor: "#fff",
1398
+ boxShadow: "0 2px 8px rgba(0,0,0,0.15)",
1399
+ borderRadius: "8px"
1400
+ },
1401
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1402
+ import_react_day_picker2.DayPicker,
1403
+ {
1404
+ mode: "single",
1405
+ selected,
1406
+ onSelect: handleDaySelect,
1407
+ month,
1408
+ onMonthChange: setMonth,
1409
+ locale: import_locale2.ptBR,
1410
+ showOutsideDays: true,
1411
+ formatters: {
1412
+ formatCaption: (month2, options) => {
1413
+ const mes = (0, import_date_fns2.format)(month2, "MMMM", options).replace(/^./, (c) => c.toUpperCase());
1414
+ const ano = (0, import_date_fns2.format)(month2, "yyyy", options);
1415
+ return `${mes} de ${ano}`;
1416
+ },
1417
+ formatWeekdayName: (date, options) => {
1418
+ const dia = (0, import_date_fns2.format)(date, "EEEEEE", options);
1419
+ return dia.charAt(0).toUpperCase() + dia.slice(1);
1420
+ }
1421
+ },
1422
+ components: {
1423
+ PreviousMonthButton: (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "TriangleLeft", size: 16 }) }),
1424
+ NextMonthButton: (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { size: "sm", variant: "secondary", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon, { name: "TriangleRight", size: 16 }) })
1425
+ }
1426
+ }
1427
+ )
1428
+ }
1429
+ )
1430
+ ] });
1431
+ };
1432
+
1433
+ // src/components/Hr.tsx
1434
+ var Hr = styled("hr", {
1435
+ border: "none",
1436
+ height: "1px",
1437
+ width: "100%",
1438
+ variants: {
1439
+ variant: {
1440
+ gray: {
1441
+ backgroundColor: "$gray_mid"
1442
+ },
1443
+ purple: {
1444
+ backgroundColor: "$clickpalm_light"
1445
+ }
1446
+ }
1447
+ }
1448
+ });
1449
+
1450
+ // src/components/Modal/index.tsx
1451
+ var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
1452
+
1453
+ // src/components/Modal/styles.ts
1454
+ var Dialog = __toESM(require("@radix-ui/react-dialog"));
1455
+ var import_react7 = require("@stitches/react");
1456
+ var StyledOverlay = (0, import_react7.styled)(Dialog.Overlay, {
1457
+ backgroundColor: "rgba(0, 0, 0, 0.5)",
1458
+ position: "fixed",
1459
+ inset: 0,
1460
+ zIndex: 999999999
1461
+ });
1462
+ var StyledContent = (0, import_react7.styled)(Dialog.Content, {
1463
+ position: "fixed",
1464
+ top: "50%",
1465
+ left: "50%",
1466
+ display: "flex",
1467
+ flexDirection: "column",
1468
+ padding: "$4",
1469
+ width: "90%",
1470
+ maxWidth: "500px",
1471
+ backgroundColor: "$white",
1472
+ borderRadius: "$md",
1473
+ boxShadow: "0px 10px 38px -10px rgba(22, 23, 24, 0.35), 0px 10px 20px -15px rgba(22, 23, 24, 0.2)",
1474
+ transform: "translate(-50%, -50%)",
1475
+ zIndex: 1e9,
1476
+ fontFamily: "$default"
1477
+ });
1478
+ var Wrapper = (0, import_react7.styled)("div", {
1479
+ display: "flex",
1480
+ justifyContent: "space-between",
1481
+ alignItems: "center"
1482
+ });
1483
+ var StyledTitle = (0, import_react7.styled)(Dialog.Title, {
1484
+ fontSize: "$lg",
1485
+ fontWeight: "bold"
1486
+ });
1487
+ var StyledClose = (0, import_react7.styled)(Dialog.Close, {
1488
+ all: "unset",
1489
+ position: "absolute",
1490
+ top: "16px",
1491
+ right: "16px",
1492
+ cursor: "pointer",
1493
+ fontSize: "18px",
1494
+ color: "#999",
1495
+ "&:hover": {
1496
+ color: "#333"
1497
+ }
1498
+ });
1499
+ var StyledDivider = (0, import_react7.styled)("hr", {
1500
+ width: "100%",
1501
+ border: "none",
1502
+ borderTop: "1px solid $gray_mid"
1503
+ });
1504
+
1505
+ // src/components/Modal/index.tsx
1506
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1507
+ var Modal = ({ open, onOpenChange, title, children }) => {
1508
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Dialog2.Root, { open, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Dialog2.Portal, { children: [
1509
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledOverlay, {}),
1510
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(StyledContent, { children: [
1511
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Wrapper, { children: [
1512
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledTitle, { children: title }),
1513
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledClose, { asChild: true, "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { variant: "secondary", size: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Icon, { name: "Closed", size: 8 }) }) })
1514
+ ] }),
1515
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledDivider, {}),
1516
+ children
1517
+ ] })
1518
+ ] }) });
1519
+ };
1520
+
1521
+ // src/components/ProgressBar/index.tsx
1522
+ var import_react8 = require("react");
1523
+
1524
+ // src/components/ProgressBar/styles.ts
1525
+ var Progress = __toESM(require("@radix-ui/react-progress"));
1526
+ var StyledWrapper3 = styled("div", {
1527
+ display: "flex",
1528
+ flexDirection: "column",
1529
+ gap: "$2",
1530
+ marginBottom: "$6"
1531
+ });
1532
+ var StyledRoot = styled(Progress.Root, {
1533
+ position: "relative",
1534
+ overflow: "hidden",
1535
+ background: "$gray_background",
1536
+ borderRadius: "$md",
1537
+ border: "1px solid $gray_dark",
1538
+ boxSizing: "border-box",
1539
+ transform: "translateZ(0)",
1540
+ width: "100%",
1541
+ height: "10px"
1542
+ });
1543
+ var StyledIndicator = styled(Progress.Indicator, {
1544
+ backgroundColor: "$ignite_light",
1545
+ borderRadius: "$md",
1546
+ height: "100%",
1547
+ transition: "transform 660ms cubic-bezier(0.65, 0, 0.35, 1)",
1548
+ transformOrigin: "left"
1549
+ });
1550
+
1551
+ // src/components/ProgressBar/index.tsx
1552
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1553
+ var ProgressBar = ({ label, value = 0, max = 100, ...rest }) => {
1554
+ const [progress2, setProgress] = (0, import_react8.useState)(0);
1555
+ (0, import_react8.useEffect)(() => {
1556
+ const timer = setTimeout(() => setProgress(value), 500);
1557
+ return () => clearTimeout(timer);
1558
+ }, [value]);
1559
+ const valueLabel = `${Math.round(progress2 / max * 100)}%`;
1560
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(StyledWrapper3, { children: [
1561
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("label", { style: { fontSize: 16, alignSelf: "flex-start" }, children: label }),
1562
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1563
+ StyledRoot,
1564
+ {
1565
+ value: progress2,
1566
+ "aria-valuetext": valueLabel,
1567
+ ...rest,
1568
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1569
+ StyledIndicator,
1570
+ {
1571
+ style: { transform: `translateX(-${100 - progress2}%)` }
1572
+ }
1573
+ )
1574
+ }
1575
+ )
1576
+ ] });
1577
+ };
1578
+ ProgressBar.displayName = "ProgressBar";
1579
+
1580
+ // src/components/Radio/styles.ts
1581
+ var RadioGroup = __toESM(require("@radix-ui/react-radio-group"));
1582
+ var StyledRoot2 = styled(RadioGroup.Root, {
1583
+ display: "flex",
1584
+ flexDirection: "column",
1585
+ gap: "$2",
1586
+ cursor: "pointer",
1587
+ variants: {
1588
+ hasError: {
1589
+ true: {
1590
+ marginBottom: "0px",
1591
+ "&:focus": {
1592
+ border: "2px solid $danger_dark"
1593
+ }
1594
+ },
1595
+ false: {
1596
+ marginBottom: "$6"
1597
+ }
1598
+ }
1599
+ }
1600
+ });
1601
+ var Wrapper2 = styled("div", {
1602
+ display: "flex",
1603
+ alignItems: "center"
1604
+ });
1605
+ var StyledItem = styled(RadioGroup.Item, {
1606
+ all: "unset",
1607
+ display: "flex",
1608
+ justifyContent: "center",
1609
+ alignItems: "center",
1610
+ width: "$5",
1611
+ height: "$5",
1612
+ borderRadius: "50%",
1613
+ boxSizing: "border-box",
1614
+ backgroundColor: "$clickpalm_dark",
1615
+ '&[data-state="checked"]': {
1616
+ backgroundColor: "$clickpalm_dark"
1617
+ },
1618
+ '&[data-state="unchecked"]': {
1619
+ backgroundColor: "$white",
1620
+ border: "2px solid $gray_dark"
1621
+ },
1622
+ "&:disabled": {
1623
+ opacity: 0.5,
1624
+ cursor: "not-allowed"
1625
+ },
1626
+ "&:focus": {
1627
+ outline: "1px solid $clickpalm_light"
1628
+ },
1629
+ variants: {
1630
+ hasError: {
1631
+ true: {
1632
+ borderColor: "$danger_dark",
1633
+ marginBottom: "0px",
1634
+ "&:focus": {
1635
+ outline: "none",
1636
+ border: "4px solid $danger_dark"
1637
+ },
1638
+ '&[data-state="unchecked"]': {
1639
+ outline: "none",
1640
+ border: "2px solid $danger_dark"
1641
+ },
1642
+ '&[data-state="checked"]': {
1643
+ backgroundColor: "$danger_dark"
1644
+ }
1645
+ }
1646
+ }
1647
+ }
1648
+ });
1649
+ var StyledIndicator2 = styled(RadioGroup.Indicator, {
1650
+ width: "$3",
1651
+ height: "$3",
1652
+ borderRadius: "50%",
1653
+ backgroundColor: "$white"
1654
+ });
1655
+ var ItemLabel = styled("label", {
1656
+ paddingLeft: "$3",
1657
+ color: "$black",
1658
+ cursor: "pointer"
1659
+ });
1660
+ var Span3 = styled("span", {
1661
+ fontFamily: "$default",
1662
+ fontWeight: "$regular",
1663
+ fontSize: "$sm",
1664
+ color: "$danger_dark",
1665
+ alignSelf: "flex-start",
1666
+ paddingLeft: "1px",
1667
+ marginTop: "2px",
1668
+ marginBottom: "$6"
1669
+ });
1670
+
1671
+ // src/components/Radio/index.tsx
1672
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1673
+ var Radio = ({
1674
+ labels,
1675
+ value,
1676
+ onChange,
1677
+ disabled = false,
1678
+ required = false,
1679
+ errorMessage
1680
+ }) => {
1681
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("form", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start" }, children: [
1682
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1683
+ StyledRoot2,
1684
+ {
1685
+ value,
1686
+ onValueChange: onChange,
1687
+ hasError: !!errorMessage,
1688
+ disabled,
1689
+ required,
1690
+ loop: true,
1691
+ children: labels.map((label, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Wrapper2, { children: [
1692
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1693
+ StyledItem,
1694
+ {
1695
+ value: label,
1696
+ id: `radio-${index}`,
1697
+ "aria-label": label,
1698
+ hasError: !!errorMessage,
1699
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StyledIndicator2, {})
1700
+ }
1701
+ ),
1702
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ItemLabel, { htmlFor: `radio-${index}`, children: label })
1703
+ ] }, label))
1704
+ }
1705
+ ),
1706
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Span3, { children: errorMessage })
1707
+ ] });
1708
+ };
1709
+
1710
+ // src/components/Spacing.tsx
1711
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1712
+ var spacingMap = {
1713
+ xs: 8,
1714
+ sm: 12,
1715
+ md: 16,
1716
+ lg: 24,
1717
+ xlg: 32,
1718
+ xxlg: 40,
1719
+ xxxlg: 64
1720
+ };
1721
+ var Spacing = ({ size, axis = "vertical" }) => {
1722
+ const style = axis === "vertical" ? { height: spacingMap[size], width: "100%" } : { width: spacingMap[size], height: "100%" };
1723
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { style, "data-testid": `spacing-${size}-${axis}` });
1724
+ };
1725
+
1726
+ // src/components/Switch/styles.ts
1727
+ var Switch = __toESM(require("@radix-ui/react-switch"));
1728
+ var Wrapper3 = styled("div", {
1729
+ all: "unset",
1730
+ display: "flex",
1731
+ alignItems: "center",
1732
+ variants: {
1733
+ hasError: {
1734
+ true: {
1735
+ marginBottom: "0px"
1736
+ },
1737
+ false: {
1738
+ marginBottom: "$6"
1739
+ }
1740
+ }
1741
+ }
1742
+ });
1743
+ var Label2 = styled("label", {
1744
+ paddingLeft: "$3",
1745
+ color: "$black",
1746
+ cursor: "pointer"
1747
+ });
1748
+ var StyledRoot3 = styled(Switch.Root, {
1749
+ border: "none",
1750
+ outline: "none",
1751
+ boxShadow: "none",
1752
+ position: "relative",
1753
+ width: "$10",
1754
+ height: "$5",
1755
+ padding: "0 2px",
1756
+ borderRadius: "30px",
1757
+ boxSizing: "border-box",
1758
+ WebkitTapHighlightColor: "rgba(0, 0, 0, 0)",
1759
+ cursor: "pointer",
1760
+ '&[data-state="checked"]': {
1761
+ backgroundColor: "$clickpalm_dark"
1762
+ },
1763
+ '&[data-state="unchecked"]': {
1764
+ backgroundColor: "$white",
1765
+ border: "2px solid $gray_dark"
1766
+ },
1767
+ "&:disabled": {
1768
+ opacity: 0.5,
1769
+ cursor: "not-allowed"
1770
+ },
1771
+ "&:focus": {
1772
+ outline: "1px solid $clickpalm_light"
1773
+ },
1774
+ variants: {
1775
+ hasError: {
1776
+ true: {
1777
+ border: "2px solid $danger_dark",
1778
+ marginBottom: "0px",
1779
+ "&:focus": {
1780
+ outline: "1px solid $danger_dark"
1781
+ },
1782
+ '&[data-state="unchecked"]': {
1783
+ border: "2px solid $danger_dark"
1784
+ }
1785
+ }
1786
+ }
1787
+ }
1788
+ });
1789
+ var StyledThumb = styled(Switch.Thumb, {
1790
+ position: "absolute",
1791
+ top: "50%",
1792
+ left: "2px",
1793
+ borderRadius: "$full",
1794
+ transition: "transform 100ms",
1795
+ transform: "translateY(-50%)",
1796
+ willChange: "transform",
1797
+ '[data-state="checked"] &': {
1798
+ width: "14px",
1799
+ height: "14px",
1800
+ backgroundColor: "$white",
1801
+ transform: "translate(20px, -50%)"
1802
+ },
1803
+ '&[data-state="unchecked"]': {
1804
+ width: "12px",
1805
+ height: "12px",
1806
+ backgroundColor: "$gray_light"
1807
+ }
1808
+ });
1809
+ var Span4 = styled("span", {
1810
+ fontFamily: "$default",
1811
+ fontWeight: "$regular",
1812
+ fontSize: "$sm",
1813
+ color: "$danger_dark",
1814
+ alignSelf: "flex-start",
1815
+ paddingLeft: "1px",
1816
+ marginTop: "2px",
1817
+ marginBottom: "$6"
1818
+ });
1819
+
1820
+ // src/components/Switch/index.tsx
1821
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1822
+ var Switch2 = ({
1823
+ label,
1824
+ checked,
1825
+ defaultChecked,
1826
+ onCheckedChange,
1827
+ disabled = false,
1828
+ required = false,
1829
+ id,
1830
+ errorMessage
1831
+ }) => {
1832
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start" }, children: [
1833
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Wrapper3, { hasError: !!errorMessage, children: [
1834
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1835
+ StyledRoot3,
1836
+ {
1837
+ id,
1838
+ checked,
1839
+ defaultChecked,
1840
+ onCheckedChange,
1841
+ hasError: !!errorMessage,
1842
+ disabled,
1843
+ required,
1844
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledThumb, {})
1845
+ }
1846
+ ),
1847
+ label && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Label2, { htmlFor: id, children: label })
1848
+ ] }),
1849
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Span4, { children: errorMessage })
1850
+ ] });
1851
+ };
1852
+
1853
+ // src/components/Tabs/index.tsx
1854
+ var import_react9 = require("react");
1855
+
1856
+ // src/components/Tabs/styles.ts
1857
+ var Tabs = __toESM(require("@radix-ui/react-tabs"));
1858
+ var TabsRoot = styled(Tabs.Root, {
1859
+ all: "unset",
1860
+ display: "flex",
1861
+ flexDirection: "column",
1862
+ width: "100%",
1863
+ backgroundColor: "$white"
1864
+ });
1865
+ var TabsList = styled(Tabs.List, {
1866
+ all: "unset",
1867
+ border: "none",
1868
+ outline: "none",
1869
+ boxShadow: "none",
1870
+ display: "flex",
1871
+ gap: "$2",
1872
+ overflowX: "auto",
1873
+ overflowY: "hidden",
1874
+ whiteSpace: "nowrap",
1875
+ "::-webkit-scrollbar": { display: "none" },
1876
+ "-ms-overflow-style": "none",
1877
+ "scrollbar-width": "none",
1878
+ variants: {
1879
+ scrollable: {
1880
+ true: {
1881
+ flex: 1
1882
+ },
1883
+ false: {
1884
+ width: "100%",
1885
+ flexShrink: 0,
1886
+ flex: "0 0 auto",
1887
+ justifyContent: "space-around"
1888
+ }
1889
+ }
1890
+ }
1891
+ });
1892
+ var TabsTrigger = styled(Tabs.Trigger, {
1893
+ all: "unset",
1894
+ border: "none",
1895
+ outline: "none",
1896
+ boxShadow: "none",
1897
+ display: "flex",
1898
+ flex: "0 0 auto",
1899
+ alignItems: "center",
1900
+ justifyContent: "center",
1901
+ padding: "0 $2",
1902
+ height: "$11",
1903
+ fontSize: "$md",
1904
+ lineHeight: "$base",
1905
+ whiteSpace: "nowrap",
1906
+ textOverflow: "ellipsis",
1907
+ overflow: "hidden",
1908
+ userSelect: "none",
1909
+ background: "$gray100",
1910
+ backgroundImage: "linear-gradient(to bottom, $clickpalm_mid, $clickpalm_superDark)",
1911
+ WebkitBackgroundClip: "text",
1912
+ WebkitTextFillColor: "transparent",
1913
+ '&[data-state="active"]': {
1914
+ color: "$ignite_light",
1915
+ borderBottom: "3px solid $ignite_light",
1916
+ outline: "none"
1917
+ }
1918
+ });
1919
+ var TabsContent = styled(Tabs.Content, {
1920
+ padding: "$3",
1921
+ backgroundColor: "$white",
1922
+ outline: "none",
1923
+ variants: {
1924
+ colorContent: {
1925
+ gray: { backgroundColor: "$gray_background" },
1926
+ white: { backgroundColor: "$white" }
1927
+ }
1928
+ },
1929
+ defaultVariants: {
1930
+ colorContent: "white"
1931
+ }
1932
+ });
1933
+
1934
+ // src/components/Tabs/index.tsx
1935
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1936
+ var TabsItem = ({ children }) => {
1937
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_jsx_runtime25.Fragment, { children });
1938
+ };
1939
+ var Tabs2 = ({ defaultValue, colorContent, children }) => {
1940
+ const items = [];
1941
+ const childrenArray = import_react9.Children.toArray(children);
1942
+ childrenArray.forEach((child) => {
1943
+ if ((0, import_react9.isValidElement)(child) && child.type === TabsItem) {
1944
+ const { value, label, children: content } = child.props;
1945
+ items.push({ value, label, children: content });
1946
+ }
1947
+ });
1948
+ const listRef = (0, import_react9.useRef)(null);
1949
+ const rootRef = (0, import_react9.useRef)(null);
1950
+ const hasOverflowRef = (0, import_react9.useRef)(false);
1951
+ const [hasOverflow, setHasOverflow] = (0, import_react9.useState)(false);
1952
+ const checkOverflow = () => {
1953
+ const listEl = listRef.current;
1954
+ const rootEl = rootRef.current;
1955
+ if (listEl && rootEl) {
1956
+ const availableWidth = rootEl.clientWidth;
1957
+ const contentWidth = listEl.scrollWidth;
1958
+ const overflow = contentWidth > availableWidth;
1959
+ if (overflow !== hasOverflow) {
1960
+ hasOverflowRef.current = overflow;
1961
+ setHasOverflow(overflow);
1962
+ }
1963
+ setHasOverflow(overflow);
1964
+ }
1965
+ };
1966
+ (0, import_react9.useLayoutEffect)(() => {
1967
+ checkOverflow();
1968
+ const resizeObserver = new ResizeObserver(checkOverflow);
1969
+ if (listRef.current) {
1970
+ resizeObserver.observe(listRef.current);
1971
+ }
1972
+ return () => {
1973
+ if (listRef.current) {
1974
+ resizeObserver.unobserve(listRef.current);
1975
+ }
1976
+ };
1977
+ }, []);
1978
+ const scroll = (direction) => {
1979
+ if (listRef.current) {
1980
+ const scrollAmount = 120;
1981
+ listRef.current.scrollBy({
1982
+ left: direction === "left" ? -scrollAmount : scrollAmount,
1983
+ behavior: "smooth"
1984
+ });
1985
+ }
1986
+ };
1987
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
1988
+ TabsRoot,
1989
+ {
1990
+ defaultValue: defaultValue || items[0]?.value,
1991
+ ref: rootRef,
1992
+ children: [
1993
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
1994
+ hasOverflow && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1995
+ Button,
1996
+ {
1997
+ variant: "secondary",
1998
+ size: "sm",
1999
+ onClick: () => scroll("left"),
2000
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "TriangleLeft", size: 64 })
2001
+ }
2002
+ ),
2003
+ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2004
+ TabsList,
2005
+ {
2006
+ ref: listRef,
2007
+ scrollable: hasOverflow,
2008
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2009
+ TabsTrigger,
2010
+ {
2011
+ value: item.value,
2012
+ style: !hasOverflow ? { flexGrow: 1 } : { flexGrow: "0 0 auto" },
2013
+ children: item.label
2014
+ },
2015
+ `trigger-${item.value}`
2016
+ ))
2017
+ }
2018
+ ),
2019
+ hasOverflow && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2020
+ Button,
2021
+ {
2022
+ variant: "secondary",
2023
+ size: "sm",
2024
+ onClick: () => scroll("right"),
2025
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { name: "TriangleRight", size: 64 })
2026
+ }
2027
+ )
2028
+ ] }),
2029
+ items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2030
+ TabsContent,
2031
+ {
2032
+ colorContent,
2033
+ value: item.value,
2034
+ children: item.children
2035
+ },
2036
+ `content-${item.value}`
2037
+ ))
2038
+ ]
2039
+ }
2040
+ );
2041
+ };
2042
+ Tabs2.Item = TabsItem;
2043
+
2044
+ // src/components/TextArea.tsx
2045
+ var import_jsx_runtime26 = require("react/jsx-runtime");
2046
+ var Wrapper4 = styled("div", {
2047
+ display: "flex",
2048
+ flexDirection: "column"
2049
+ });
2050
+ var StyledLabel2 = styled("label", {
2051
+ fontSize: "$md",
2052
+ fontWeight: "$regular",
2053
+ color: "$black",
2054
+ marginBottom: "$2",
2055
+ paddingLeft: "1px",
2056
+ alignSelf: "flex-start"
2057
+ });
2058
+ var TextAreaElement = styled("textarea", {
2059
+ backgroundColor: "$white",
2060
+ padding: "$3 $4",
2061
+ marginBottom: "$6",
2062
+ borderRadius: "$md",
2063
+ boxSizing: "border-box",
2064
+ border: "1px solid $gray_mid",
2065
+ fontFamily: "$default",
2066
+ fontSize: "$sm",
2067
+ color: "$black",
2068
+ fontWeight: "$regular",
2069
+ resize: "none",
2070
+ minHeight: 100,
2071
+ maxHeight: "170px",
2072
+ overflowY: "auto",
2073
+ width: "100%",
2074
+ "&:focus": {
2075
+ outline: 0,
2076
+ border: "2px solid $clickpalm_light"
2077
+ },
2078
+ "&:disabled": {
2079
+ opacity: 0.5,
2080
+ cursor: "not-allowed"
2081
+ },
2082
+ "&::placeholder": {
2083
+ color: "$gray_mid"
2084
+ },
2085
+ "&::-webkit-scrollbar": {
2086
+ width: "6px"
2087
+ },
2088
+ "&::-webkit-scrollbar-track": {
2089
+ background: "transparent",
2090
+ borderRadius: "$md",
2091
+ margin: "$2"
2092
+ },
2093
+ "&::-webkit-scrollbar-thumb": {
2094
+ backgroundColor: "$gray_mid",
2095
+ borderRadius: "$md",
2096
+ border: "2px solid $white"
2097
+ },
2098
+ variants: {
2099
+ hasError: {
2100
+ true: {
2101
+ border: "1px solid $danger_dark",
2102
+ marginBottom: "0px",
2103
+ "&:focus": {
2104
+ border: "2px solid $danger_dark"
2105
+ }
2106
+ }
2107
+ }
2108
+ }
2109
+ });
2110
+ var Span5 = styled("span", {
2111
+ fontFamily: "$default",
2112
+ fontWeight: "$regular",
2113
+ fontSize: "$sm",
2114
+ color: "$danger_dark",
2115
+ alignSelf: "flex-start",
2116
+ paddingLeft: "1px",
2117
+ marginTop: "2px",
2118
+ marginBottom: "$6"
2119
+ });
2120
+ var TextArea = ({ label, id, htmlFor, errorMessage, ...props }) => {
2121
+ const textAreaId = id || htmlFor || `textarea-${crypto.randomUUID()}`;
2122
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Wrapper4, { children: [
2123
+ label && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(StyledLabel2, { htmlFor: textAreaId, children: label }),
2124
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TextAreaElement, { id: textAreaId, ...props, hasError: !!errorMessage }),
2125
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Span5, { children: errorMessage })
2126
+ ] });
2127
+ };
2128
+ TextArea.displayName = "TextArea";
2129
+
2130
+ // src/components/Tooltip/index.tsx
2131
+ var RadixTooltip2 = __toESM(require("@radix-ui/react-tooltip"));
2132
+
2133
+ // src/components/Tooltip/styles.ts
2134
+ var RadixTooltip = __toESM(require("@radix-ui/react-tooltip"));
2135
+ var slideUpAndFade = keyframes({
2136
+ "0%": { opacity: 0, transform: "translateY(2px)" },
2137
+ "100%": { opacity: 1, transform: "translateY(0)" }
2138
+ });
2139
+ var slideDownAndFade = keyframes({
2140
+ "0%": { opacity: 0, transform: "translateY(-2px)" },
2141
+ "100%": { opacity: 1, transform: "translateY(0)" }
2142
+ });
2143
+ var slideLeftAndFade = keyframes({
2144
+ "0%": { opacity: 0, transform: "translateX(2px)" },
2145
+ "100%": { opacity: 1, transform: "translateX(0)" }
2146
+ });
2147
+ var slideRightAndFade = keyframes({
2148
+ "0%": { opacity: 0, transform: "translateX(-2px)" },
2149
+ "100%": { opacity: 1, transform: "translateX(0)" }
2150
+ });
2151
+ var TooltipTrigger = RadixTooltip.Trigger;
2152
+ var TooltipContent = styled(RadixTooltip.Content, {
2153
+ borderRadius: "$sm",
2154
+ border: "2px solid $gray_background",
2155
+ padding: "$2 $4",
2156
+ fontSize: "$sm",
2157
+ lineHeight: "1",
2158
+ color: "$black",
2159
+ backgroundColor: "$white",
2160
+ boxShadow: "0px 4px 10px rgba(0, 0, 0, 0.2)",
2161
+ zIndex: 50,
2162
+ maxWidth: "200px",
2163
+ whiteSpace: "normal",
2164
+ wordBreak: "break-word",
2165
+ textAlign: "left",
2166
+ "@media (prefers-reduced-motion: no-preference)": {
2167
+ animationDuration: "200ms",
2168
+ animationTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)",
2169
+ willChange: "transform, opacity",
2170
+ '&[data-state="delayed-open"][data-side="top"]': { animationName: slideDownAndFade },
2171
+ '&[data-state="delayed-open"][data-side="right"]': { animationName: slideLeftAndFade },
2172
+ '&[data-state="delayed-open"][data-side="bottom"]': { animationName: slideUpAndFade },
2173
+ '&[data-state="delayed-open"][data-side="left"]': { animationName: slideRightAndFade }
2174
+ }
2175
+ });
2176
+ var TooltipArrow = styled(RadixTooltip.Arrow, {
2177
+ fill: "$gray_background"
2178
+ });
2179
+
2180
+ // src/components/Tooltip/index.tsx
2181
+ var import_jsx_runtime27 = require("react/jsx-runtime");
2182
+ var Tooltip = ({
2183
+ content,
2184
+ children,
2185
+ side = "top",
2186
+ sideOffset = 5,
2187
+ open,
2188
+ onOpenChange,
2189
+ delayDuration = 100
2190
+ }) => {
2191
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(RadixTooltip2.Provider, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(RadixTooltip2.Root, { open, onOpenChange, delayDuration, children: [
2192
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TooltipTrigger, { asChild: true, children }),
2193
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(TooltipContent, { side, sideOffset, children: [
2194
+ content,
2195
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TooltipArrow, {})
2196
+ ] })
2197
+ ] }) });
2198
+ };
2199
+ Tooltip.displayName = "Tooltip";
2200
+
2201
+ // src/components/Box.tsx
2202
+ var import_jsx_runtime28 = require("react/jsx-runtime");
2203
+ var StyledBox = styled("div", {
2204
+ padding: "$5",
2205
+ borderRadius: "$md",
2206
+ textAlign: "center",
2207
+ marginBottom: "$6",
2208
+ variants: {
2209
+ variant: {
2210
+ gray: {
2211
+ backgroundColor: "$gray_background",
2212
+ boxShadow: "0 1px 2px $colors$gray_dark"
2213
+ },
2214
+ white: {
2215
+ backgroundColor: "$white"
2216
+ }
2217
+ }
2218
+ },
2219
+ defaultVariants: {
2220
+ variant: "gray"
2221
+ }
2222
+ });
2223
+ var Box = (props) => {
2224
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StyledBox, { ...props });
2225
+ };
2226
+ Box.displayName = "Box";
2227
+
2228
+ // src/components/Text.tsx
2229
+ var import_jsx_runtime29 = require("react/jsx-runtime");
2230
+ var StyledText = styled("p", {
2231
+ fontFamily: "$default",
2232
+ lineHeight: "$short",
2233
+ margin: 0,
2234
+ variants: {
2235
+ size: {
2236
+ xxs: { fontSize: "$xxs" },
2237
+ xs: { fontSize: "$xs" },
2238
+ sm: { fontSize: "$sm" },
2239
+ md: { fontSize: "$md" },
2240
+ lg: { fontSize: "$lg" },
2241
+ xl: { fontSize: "$xl" },
2242
+ "2xl": { fontSize: "$2xl" },
2243
+ "4xl": { fontSize: "$4xl" },
2244
+ "5xl": { fontSize: "$5xl" },
2245
+ "6xl": { fontSize: "$6xl" },
2246
+ "7xl": { fontSize: "$7xl" },
2247
+ "8xl": { fontSize: "$8xl" },
2248
+ "9xl": { fontSize: "$9xl" }
2249
+ },
2250
+ wheight: {
2251
+ regular: { fontWeight: "$regular" },
2252
+ medium: { fontWeight: "$medium" },
2253
+ bold: { fontWeight: "$bold" }
2254
+ },
2255
+ lineHeight: {
2256
+ regular: { lineHeight: "$regular" },
2257
+ shorter: { lineHeight: "$shorter" },
2258
+ short: { lineHeight: "$short" },
2259
+ base: { lineHeight: "$base" },
2260
+ tall: { lineHeight: "$tall" }
2261
+ }
2262
+ },
2263
+ defaultVariants: {
2264
+ size: "md",
2265
+ wheight: "regular",
2266
+ lineHeight: "short"
2267
+ }
2268
+ });
2269
+ var Text = (props) => {
2270
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(StyledText, { ...props });
2271
+ };
2272
+ Text.displayName = "Text";
2273
+
2274
+ // src/components/Heading.tsx
2275
+ var Heading = styled("h2", {
2276
+ fontFamily: "$default",
2277
+ lineHeight: "$shorter",
2278
+ margin: 0,
2279
+ color: "$black",
2280
+ variants: {
2281
+ size: {
2282
+ sm: { fontSize: "$xl" },
2283
+ md: { fontSize: "$2xl" },
2284
+ lg: { fontSize: "$4xl" },
2285
+ "2xl": { fontSize: "$5xl" },
2286
+ "3xl": { fontSize: "$6xl" },
2287
+ "4xl": { fontSize: "$7xl" },
2288
+ "5xl": { fontSize: "$8xl" },
2289
+ "6xl": { fontSize: "$9xl" }
2290
+ }
2291
+ },
2292
+ defaultVariants: {
2293
+ size: "md"
2294
+ }
2295
+ });
2296
+ Heading.displayName = "Heading";
2297
+
2298
+ // src/components/Select/index.tsx
2299
+ var import_react_icons2 = require("@radix-ui/react-icons");
2300
+ var CustomSelect = __toESM(require("@radix-ui/react-select"));
2301
+ var import_react10 = require("react");
2302
+
2303
+ // src/components/Select/styles.ts
2304
+ var Select = __toESM(require("@radix-ui/react-select"));
2305
+ var StyledWrapper4 = styled("div", {
2306
+ display: "flex",
2307
+ flexDirection: "column"
2308
+ });
2309
+ var Label3 = styled("label", {
2310
+ fontSize: "$md",
2311
+ fontWeight: "$regular",
2312
+ alignSelf: "flex-start",
2313
+ marginBottom: "$2",
2314
+ paddingLeft: "1px",
2315
+ color: "$black"
2316
+ });
2317
+ var StyledTrigger = styled(Select.Trigger, {
2318
+ all: "unset",
2319
+ display: "flex",
2320
+ alignItems: "center",
2321
+ justifyContent: "space-between",
2322
+ marginBottom: "$6",
2323
+ padding: "$3 $4",
2324
+ boxSizing: "border-box",
2325
+ borderRadius: "$md",
2326
+ border: "1px solid $gray_mid",
2327
+ fontSize: "$md",
2328
+ backgroundColor: "white",
2329
+ cursor: "pointer",
2330
+ "&[data-placeholder]": {
2331
+ color: "$gray_mid"
2332
+ },
2333
+ "&[data-highlighted], &:focus, &:hover": {
2334
+ outline: "none",
2335
+ border: "2px solid $clickpalm_light"
2336
+ },
2337
+ "&:disabled": {
2338
+ opacity: 0.5,
2339
+ cursor: "not-allowed"
2340
+ },
2341
+ variants: {
2342
+ hasError: {
2343
+ true: {
2344
+ border: "1px solid $danger_dark",
2345
+ marginBottom: "0px",
2346
+ "&[data-highlighted], &:focus, &:hover": {
2347
+ outline: "none",
2348
+ border: "2px solid $danger_dark"
2349
+ }
2350
+ }
2351
+ }
2352
+ }
2353
+ });
2354
+ var StyledContent2 = styled(Select.Content, {
2355
+ overflow: "hidden",
2356
+ backgroundColor: "$gray_background",
2357
+ borderRadius: "$md",
2358
+ boxShadow: "0px 4px 6px rgba(0, 0, 0, 0.1)",
2359
+ zIndex: 10,
2360
+ width: "var(--radix-select-trigger-width)",
2361
+ maxHeight: "var(--radix-select-content-available-height)"
2362
+ });
2363
+ var StyledViewport = styled(Select.Viewport, {
2364
+ padding: "4px"
2365
+ });
2366
+ var StyledItem2 = styled(Select.Item, {
2367
+ position: "relative",
2368
+ fontSize: "$md",
2369
+ padding: "14px 12px",
2370
+ color: "$black",
2371
+ cursor: "pointer",
2372
+ "&[data-highlighted]": {
2373
+ outline: "none",
2374
+ color: "$clickpalm_light"
2375
+ },
2376
+ "&:not(:last-child)::after": {
2377
+ content: '""',
2378
+ position: "absolute",
2379
+ bottom: 0,
2380
+ left: "$3",
2381
+ right: "$3",
2382
+ height: "1px",
2383
+ backgroundColor: "$gray_light"
2384
+ }
2385
+ });
2386
+ var StyledIcon = styled(Select.Icon, {
2387
+ display: "flex",
2388
+ alignItems: "center",
2389
+ color: "$black",
2390
+ transition: "transform 0.4s ease",
2391
+ variants: {
2392
+ open: {
2393
+ true: {
2394
+ transform: "rotate(180deg)"
2395
+ },
2396
+ false: {
2397
+ transform: "rotate(0deg)"
2398
+ }
2399
+ }
2400
+ },
2401
+ svg: {
2402
+ width: 26,
2403
+ height: 26
2404
+ }
2405
+ });
2406
+ var Span6 = styled("span", {
2407
+ fontFamily: "$default",
2408
+ fontWeight: "$regular",
2409
+ fontSize: "$sm",
2410
+ color: "$danger_dark",
2411
+ alignSelf: "flex-start",
2412
+ paddingLeft: "1px",
2413
+ marginTop: "2px",
2414
+ marginBottom: "$6"
2415
+ });
2416
+
2417
+ // src/components/Select/index.tsx
2418
+ var import_jsx_runtime30 = require("react/jsx-runtime");
2419
+ function Select2({
2420
+ value,
2421
+ onValueChange,
2422
+ items,
2423
+ placeholder = "Selecione",
2424
+ label,
2425
+ errorMessage,
2426
+ ...rest
2427
+ }) {
2428
+ const [open, setOpen] = (0, import_react10.useState)(false);
2429
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(StyledWrapper4, { children: [
2430
+ label && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Label3, { children: label }),
2431
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2432
+ CustomSelect.Root,
2433
+ {
2434
+ value,
2435
+ onValueChange,
2436
+ onOpenChange: setOpen,
2437
+ ...rest,
2438
+ children: [
2439
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(StyledTrigger, { "aria-label": label, hasError: !!errorMessage, children: [
2440
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CustomSelect.Value, { placeholder }),
2441
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(StyledIcon, { open, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_icons2.TriangleDownIcon, {}) })
2442
+ ] }),
2443
+ errorMessage && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Span6, { children: errorMessage }),
2444
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CustomSelect.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2445
+ StyledContent2,
2446
+ {
2447
+ side: "bottom",
2448
+ align: "start",
2449
+ position: "popper",
2450
+ children: [
2451
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CustomSelect.ScrollUpButton, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_icons2.TriangleUpIcon, {}) }),
2452
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(StyledViewport, { children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(StyledItem2, { value: item.value, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CustomSelect.ItemText, { children: item.label }) }, item.value)) }),
2453
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CustomSelect.ScrollDownButton, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_icons2.TriangleDownIcon, {}) })
2454
+ ]
2455
+ }
2456
+ ) })
2457
+ ]
2458
+ }
2459
+ )
2460
+ ] });
2461
+ }
2462
+ Select2.displayName = "Select";
2463
+
2464
+ // src/components/LabelledValue/index.tsx
2465
+ var import_react11 = require("react");
2466
+
2467
+ // src/components/LabelledValue/styles.ts
2468
+ var Container = styled("div", {
2469
+ display: "flex",
2470
+ variants: {
2471
+ position: {
2472
+ vertical: {
2473
+ flexDirection: "column",
2474
+ gap: "$5"
2475
+ },
2476
+ horizontal: {
2477
+ flexDirection: "column",
2478
+ flexWrap: "wrap",
2479
+ gap: "$3"
2480
+ }
2481
+ }
2482
+ }
2483
+ });
2484
+ var ItemWrapper = styled("div", {
2485
+ display: "flex",
2486
+ alignItems: "center",
2487
+ variants: {
2488
+ position: {
2489
+ vertical: {
2490
+ flexDirection: "column",
2491
+ alignItems: "flex-start"
2492
+ },
2493
+ horizontal: {
2494
+ paddingBottom: "$2",
2495
+ flexDirection: "row",
2496
+ alignItems: "center",
2497
+ justifyContent: "space-between",
2498
+ borderBottom: "1px solid $gray_mid"
2499
+ }
2500
+ },
2501
+ withRow: {
2502
+ true: {
2503
+ paddingBottom: "$2",
2504
+ borderBottom: "1px solid $gray_mid"
2505
+ }
2506
+ }
2507
+ }
2508
+ });
2509
+ var Label4 = styled("div", {
2510
+ fontWeight: "$regular",
2511
+ fontSize: "$md",
2512
+ color: "$black",
2513
+ whiteSpace: "nowrap"
2514
+ });
2515
+ var Value2 = styled("div", {
2516
+ fontWeight: "$bold",
2517
+ fontSize: "$md",
2518
+ color: "$black",
2519
+ textAlign: "right",
2520
+ wordBreak: "break-word",
2521
+ maxWidth: "100%",
2522
+ flex: 1
2523
+ });
2524
+
2525
+ // src/components/LabelledValue/index.tsx
2526
+ var import_jsx_runtime31 = require("react/jsx-runtime");
2527
+ function LabelledValue({ position = "vertical", withRow = false, children }) {
2528
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Container, { position, children: import_react11.Children.map(children, (child) => {
2529
+ if ((0, import_react11.isValidElement)(child)) {
2530
+ return (0, import_react11.cloneElement)(child, { position, withRow });
2531
+ }
2532
+ return child;
2533
+ }) });
2534
+ }
2535
+ function Item3({ label, value, position = "vertical", withRow = false }) {
2536
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(ItemWrapper, { position, withRow, children: [
2537
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Label4, { children: label }),
2538
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Value2, { children: value })
2539
+ ] });
2540
+ }
2541
+ LabelledValue.Item = Item3;
2542
+
2543
+ // src/components/OneTimePassword/index.tsx
2544
+ var OneTimePasswordField2 = __toESM(require("@radix-ui/react-one-time-password-field"));
2545
+
2546
+ // src/components/OneTimePassword/styles.ts
2547
+ var OneTimePasswordField = __toESM(require("@radix-ui/react-one-time-password-field"));
2548
+ var StyledWrapper5 = styled("div", {
2549
+ display: "flex",
2550
+ flexDirection: "column",
2551
+ justifyContent: "center",
2552
+ alignItems: "center",
2553
+ gap: "$5",
2554
+ marginBottom: "$6"
2555
+ });
2556
+ var StyledRoot4 = styled(OneTimePasswordField.Root, {
2557
+ display: "flex",
2558
+ gap: "$2",
2559
+ flexWrap: "nowrap"
2560
+ });
2561
+ var StyledInput = styled(OneTimePasswordField.Input, {
2562
+ all: "unset",
2563
+ gap: "1rem",
2564
+ display: "inline-flex",
2565
+ alignItems: "center",
2566
+ justifyContent: "center",
2567
+ textAlign: "center",
2568
+ boxSizing: "border-box",
2569
+ borderRadius: "$md",
2570
+ borderStyle: "solid",
2571
+ borderColor: "#C2C2C2",
2572
+ borderWidth: "3px",
2573
+ fontSize: "$md",
2574
+ color: "$black",
2575
+ padding: "0",
2576
+ height: "50px",
2577
+ width: "53px",
2578
+ "&:hover": {
2579
+ borderColor: "$gray_dark"
2580
+ },
2581
+ "&:focus": {
2582
+ borderColor: "$clickpalm_mid"
2583
+ }
2584
+ });
2585
+
2586
+ // src/components/OneTimePassword/index.tsx
2587
+ var import_jsx_runtime32 = require("react/jsx-runtime");
2588
+ var OneTimePassword = ({ label, length, value, onValueChange, ...rootProps }) => {
2589
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(StyledWrapper5, { children: [
2590
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("label", { children: label }),
2591
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
2592
+ StyledRoot4,
2593
+ {
2594
+ value,
2595
+ onValueChange,
2596
+ ...rootProps,
2597
+ children: [
2598
+ Array.from({ length }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(StyledInput, {}, index)),
2599
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(OneTimePasswordField2.HiddenInput, {})
2600
+ ]
2601
+ }
2602
+ )
2603
+ ] });
2604
+ };
2605
+ OneTimePassword.displayName = "OneTimePasswordInput";
2606
+
2607
+ // src/components/Toast/index.tsx
2608
+ var ToastPrimitive2 = __toESM(require("@radix-ui/react-toast"));
2609
+ var React2 = __toESM(require("react"));
2610
+
2611
+ // src/components/Toast/styles.ts
2612
+ var ToastPrimitive = __toESM(require("@radix-ui/react-toast"));
2613
+ var hide = keyframes({
2614
+ from: { opacity: 1 },
2615
+ to: { opacity: 0 }
2616
+ });
2617
+ var slideIn2 = keyframes({
2618
+ from: { transform: "translateX(calc(100% + 25px))" },
2619
+ to: { transform: "translateX(0)" }
2620
+ });
2621
+ var swipeOut = keyframes({
2622
+ from: { transform: "translateX(var(--radix-toast-swipe-end-x))" },
2623
+ to: { transform: "translateX(calc(100% + 25px))" }
2624
+ });
2625
+ var ToastRoot = styled(ToastPrimitive.Root, {
2626
+ position: "relative",
2627
+ display: "flex",
2628
+ justifyContent: "space-between",
2629
+ alignItems: "center",
2630
+ flexWrap: "nowrap",
2631
+ gap: "$2",
2632
+ width: "100%",
2633
+ boxSizing: "border-box",
2634
+ borderRadius: "$md",
2635
+ padding: "$4 $6",
2636
+ color: "$black",
2637
+ fontSize: "$md",
2638
+ boxShadow: "0 2px 10px rgba(0,0,0,0.1)",
2639
+ '&[data-state="open"]': {
2640
+ animation: `${slideIn2} 150ms cubic-bezier(0.16, 1, 0.3, 1)`
2641
+ },
2642
+ '&[data-state="closed"]': {
2643
+ animation: `${hide} 100ms ease-in`
2644
+ },
2645
+ '&[data-swipe="move"]': {
2646
+ transform: "translateX(var(--radix-toast-swipe-move-x))"
2647
+ },
2648
+ '&[data-swipe="cancel"]': {
2649
+ transform: "translateX(0)",
2650
+ transition: "transform 200ms ease-out"
2651
+ },
2652
+ '&[data-swipe="end"]': {
2653
+ animation: `${swipeOut} 100ms ease-out`
2654
+ },
2655
+ variants: {
2656
+ variant: {
2657
+ success: { backgroundColor: "$success" },
2658
+ warning: { backgroundColor: "$warning" },
2659
+ error: { backgroundColor: "$danger" }
2660
+ }
2661
+ }
2662
+ });
2663
+ var ToastAction = styled(ToastPrimitive.Action, {
2664
+ marginLeft: "auto",
2665
+ background: "transparent",
2666
+ border: "none",
2667
+ cursor: "pointer"
2668
+ });
2669
+ var ToastContent = styled("div", {
2670
+ display: "flex",
2671
+ flexDirection: "column",
2672
+ gap: "$1",
2673
+ width: "100%",
2674
+ alignItems: "flex-start",
2675
+ "@lg": {
2676
+ justifyContent: "space-between",
2677
+ alignItems: "center",
2678
+ flexDirection: "row"
2679
+ }
2680
+ });
2681
+ var ToastTitle = styled("strong", {
2682
+ fontWeight: "$bold",
2683
+ display: "block"
2684
+ });
2685
+ var ToastDescription = styled("span", {
2686
+ marginRight: "$6",
2687
+ display: "block"
2688
+ });
2689
+ var ToastViewport = styled(ToastPrimitive.Viewport, {
2690
+ position: "fixed",
2691
+ top: "110px",
2692
+ left: "50%",
2693
+ transform: "translateX(-50%)",
2694
+ display: "flex",
2695
+ flexDirection: "column",
2696
+ justifyContent: "flex-start",
2697
+ alignItems: "center",
2698
+ padding: 0,
2699
+ margin: "0 auto",
2700
+ gap: "$2",
2701
+ width: "79%",
2702
+ listStyle: "none",
2703
+ outline: "none",
2704
+ zIndex: 9999,
2705
+ "@lg": {
2706
+ maxWidth: "900px"
2707
+ }
2708
+ });
2709
+ var progress = keyframes({
2710
+ from: { width: "100%" },
2711
+ to: { width: "0%" }
2712
+ });
2713
+ var ToastProgress = styled("div", {
2714
+ position: "absolute",
2715
+ bottom: 0,
2716
+ left: 0,
2717
+ height: "6px",
2718
+ width: "90%",
2719
+ justifyContent: "center",
2720
+ borderBottomLeftRadius: "$full",
2721
+ borderBottomRightRadius: "$full",
2722
+ backgroundColor: "$clickpalm_light",
2723
+ animationTimingFunction: "linear",
2724
+ animation: `${progress} 3s linear`,
2725
+ animationFillMode: "forwards",
2726
+ variants: {
2727
+ paused: {
2728
+ true: {
2729
+ animationPlayState: "paused"
2730
+ },
2731
+ false: {
2732
+ animationPlayState: "running"
2733
+ }
2734
+ },
2735
+ variant: {
2736
+ success: { backgroundColor: "$success_dark" },
2737
+ warning: { backgroundColor: "$warning_dark" },
2738
+ error: { backgroundColor: "$danger_dark" }
2739
+ }
2740
+ }
2741
+ });
2742
+
2743
+ // src/components/Toast/toast.ts
2744
+ var subscribers = [];
2745
+ var toastImpl = {
2746
+ success(title, description) {
2747
+ publish({ id: crypto.randomUUID(), variant: "success", title, description });
2748
+ },
2749
+ warning(title, description) {
2750
+ publish({ id: crypto.randomUUID(), variant: "warning", title, description });
2751
+ },
2752
+ error(title, description) {
2753
+ publish({ id: crypto.randomUUID(), variant: "error", title, description });
2754
+ },
2755
+ _subscribe(fn) {
2756
+ subscribers.push(fn);
2757
+ },
2758
+ _unsubscribe(fn) {
2759
+ subscribers = subscribers.filter((sub) => sub !== fn);
2760
+ }
2761
+ };
2762
+ function publish(msg) {
2763
+ subscribers.forEach((fn) => fn(msg));
2764
+ }
2765
+ var toast = {
2766
+ success: toastImpl.success,
2767
+ warning: toastImpl.warning,
2768
+ error: toastImpl.error
2769
+ };
2770
+
2771
+ // src/components/Toast/index.tsx
2772
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2773
+ var Toast = () => {
2774
+ const [messages, setMessages] = React2.useState([]);
2775
+ const [paused, setPaused] = React2.useState(false);
2776
+ React2.useEffect(() => {
2777
+ const handleNewToast = (msg) => {
2778
+ setMessages((prev) => [...prev, msg]);
2779
+ };
2780
+ toastImpl._subscribe(handleNewToast);
2781
+ return () => {
2782
+ toastImpl._unsubscribe(handleNewToast);
2783
+ };
2784
+ }, []);
2785
+ const removeToast = (id) => {
2786
+ setMessages((prev) => prev.filter((msg) => msg.id !== id));
2787
+ };
2788
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(ToastPrimitive2.Provider, { swipeDirection: "right", children: [
2789
+ messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
2790
+ ToastRoot,
2791
+ {
2792
+ open: true,
2793
+ onOpenChange: (open) => {
2794
+ if (!open)
2795
+ removeToast(message.id);
2796
+ },
2797
+ variant: message.variant,
2798
+ duration: 3e3,
2799
+ onPause: () => setPaused(true),
2800
+ onResume: () => setPaused(false),
2801
+ children: [
2802
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(ToastContent, { children: [
2803
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ToastTitle, { children: message.title }),
2804
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ToastDescription, { children: message.description })
2805
+ ] }),
2806
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ToastAction, { altText: "Fechar", asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2807
+ "button",
2808
+ {
2809
+ style: {
2810
+ all: "unset",
2811
+ display: "flex",
2812
+ justifyContent: "space-between",
2813
+ alignItems: "center"
2814
+ },
2815
+ onClick: () => removeToast(message.id),
2816
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Icon, { name: "Closed", size: 16, height: 14, width: 14 })
2817
+ }
2818
+ ) }),
2819
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ToastProgress, { paused, variant: message.variant })
2820
+ ]
2821
+ },
2822
+ message.id
2823
+ )),
2824
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ToastViewport, {})
2825
+ ] });
2826
+ };
2827
+
2828
+ // src/components/MultiStep/styles.ts
2829
+ var Wrapper5 = styled("div", {
2830
+ display: "flex",
2831
+ "--circle-size": "48px",
2832
+ "--gap": "16px",
2833
+ variants: {
2834
+ orientation: {
2835
+ horizontal: {
2836
+ flexDirection: "row",
2837
+ alignItems: "center",
2838
+ gap: "var(--gap)"
2839
+ },
2840
+ vertical: {
2841
+ flexDirection: "column",
2842
+ alignItems: "flex-start"
2843
+ }
2844
+ }
2845
+ }
2846
+ });
2847
+ var StepItem = styled("div", {
2848
+ display: "flex",
2849
+ alignItems: "center",
2850
+ position: "relative",
2851
+ variants: {
2852
+ orientation: {
2853
+ horizontal: {
2854
+ flex: 1,
2855
+ flexDirection: "column",
2856
+ textAlign: "center"
2857
+ },
2858
+ vertical: {
2859
+ margin: "$4 0",
2860
+ flexDirection: "row"
2861
+ }
2862
+ }
2863
+ }
2864
+ });
2865
+ var StepCircle = styled("div", {
2866
+ position: "relative",
2867
+ zIndex: 999,
2868
+ width: "var(--circle-size)",
2869
+ height: "var(--circle-size)",
2870
+ borderRadius: "50%",
2871
+ border: "2px solid",
2872
+ display: "flex",
2873
+ alignItems: "center",
2874
+ justifyContent: "center",
2875
+ fontWeight: "$regular",
2876
+ color: "$black",
2877
+ variants: {
2878
+ isActive: {
2879
+ true: {},
2880
+ false: {}
2881
+ },
2882
+ hasLeftLine: {
2883
+ true: {}
2884
+ },
2885
+ hasRightLine: {
2886
+ true: {}
2887
+ },
2888
+ orientation: {
2889
+ horizontal: {},
2890
+ vertical: {
2891
+ "&::before": {
2892
+ content: "",
2893
+ position: "absolute",
2894
+ top: 0,
2895
+ left: "50%",
2896
+ transform: "translate(-50%, -100%)",
2897
+ width: "3px",
2898
+ height: "$6",
2899
+ backgroundColor: "$clickpalm_dark"
2900
+ },
2901
+ "&::after": {
2902
+ content: "",
2903
+ position: "absolute",
2904
+ bottom: 0,
2905
+ left: "50%",
2906
+ transform: "translate(-50%, 100%)",
2907
+ width: "3px",
2908
+ height: "$6",
2909
+ backgroundColor: "$clickpalm_dark"
2910
+ }
2911
+ }
2912
+ },
2913
+ variant: {
2914
+ primary: {
2915
+ borderColor: "$clickpalm_dark"
2916
+ },
2917
+ secondary: {}
2918
+ }
2919
+ },
2920
+ compoundVariants: [
2921
+ {
2922
+ hasLeftLine: false,
2923
+ orientation: "horizontal",
2924
+ css: {
2925
+ "&::before": { display: "none" }
2926
+ }
2927
+ },
2928
+ {
2929
+ hasRightLine: false,
2930
+ orientation: "horizontal",
2931
+ css: {
2932
+ "&::after": { display: "none" }
2933
+ }
2934
+ },
2935
+ {
2936
+ hasLeftLine: false,
2937
+ orientation: "vertical",
2938
+ css: {
2939
+ "&::before": { display: "none" }
2940
+ }
2941
+ },
2942
+ {
2943
+ hasRightLine: false,
2944
+ orientation: "vertical",
2945
+ css: {
2946
+ "&::after": { display: "none" }
2947
+ }
2948
+ },
2949
+ {
2950
+ isActive: true,
2951
+ variant: "primary",
2952
+ css: {
2953
+ backgroundColor: "$clickpalm_dark",
2954
+ color: "$white"
2955
+ }
2956
+ },
2957
+ {
2958
+ isActive: false,
2959
+ variant: "primary",
2960
+ css: {
2961
+ borderColor: "$clickpalm_dark"
2962
+ }
2963
+ },
2964
+ {
2965
+ isActive: true,
2966
+ variant: "secondary",
2967
+ css: {
2968
+ borderColor: "$ignite_light",
2969
+ backgroundColor: "$ignite_light"
2970
+ }
2971
+ },
2972
+ {
2973
+ isActive: false,
2974
+ variant: "secondary",
2975
+ css: {
2976
+ borderColor: "$white",
2977
+ color: "$white"
2978
+ }
2979
+ },
2980
+ {
2981
+ isActive: true,
2982
+ variant: "primary",
2983
+ orientation: "vertical",
2984
+ css: {
2985
+ "&::before": {
2986
+ backgroundColor: "$clickpalm_dark"
2987
+ },
2988
+ "&::after": {
2989
+ backgroundColor: "$clickpalm_dark"
2990
+ }
2991
+ }
2992
+ },
2993
+ {
2994
+ isActive: false,
2995
+ variant: "primary",
2996
+ orientation: "vertical",
2997
+ css: {
2998
+ "&::before": {
2999
+ backgroundColor: "$clickpalm_dark"
3000
+ },
3001
+ "&::after": {
3002
+ backgroundColor: "$clickpalm_dark"
3003
+ }
3004
+ }
3005
+ },
3006
+ {
3007
+ isActive: true,
3008
+ variant: "secondary",
3009
+ orientation: "vertical",
3010
+ css: {
3011
+ "&::before": {
3012
+ backgroundColor: "$ignite_light"
3013
+ },
3014
+ "&::after": {
3015
+ backgroundColor: "$ignite_light"
3016
+ }
3017
+ }
3018
+ },
3019
+ {
3020
+ isActive: false,
3021
+ variant: "secondary",
3022
+ orientation: "vertical",
3023
+ css: {
3024
+ "&::before": {
3025
+ backgroundColor: "$white"
3026
+ },
3027
+ "&::after": {
3028
+ backgroundColor: "$white"
3029
+ }
3030
+ }
3031
+ }
3032
+ ]
3033
+ });
3034
+ var StepLabel = styled("span", {
3035
+ fontSize: "$md",
3036
+ whiteSpace: "nowrap",
3037
+ overflow: "hidden",
3038
+ textOverflow: "ellipsis",
3039
+ variants: {
3040
+ orientation: {
3041
+ horizontal: {
3042
+ marginTop: "$2"
3043
+ },
3044
+ vertical: {
3045
+ marginLeft: "$3"
3046
+ }
3047
+ },
3048
+ variant: {
3049
+ primary: {
3050
+ color: "$black"
3051
+ },
3052
+ secondary: {
3053
+ color: "$white"
3054
+ }
3055
+ }
3056
+ }
3057
+ });
3058
+
3059
+ // src/components/MultiStep/index.tsx
3060
+ var import_jsx_runtime34 = require("react/jsx-runtime");
3061
+ var MultiStep = ({
3062
+ steps,
3063
+ currentStep,
3064
+ orientation = "horizontal",
3065
+ variant
3066
+ }) => {
3067
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3068
+ Wrapper5,
3069
+ {
3070
+ orientation,
3071
+ children: steps.map((step, index) => {
3072
+ const isFirst = index === 0;
3073
+ const isLast = index === steps.length - 1;
3074
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(StepItem, { orientation, children: [
3075
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3076
+ StepCircle,
3077
+ {
3078
+ orientation,
3079
+ variant,
3080
+ isActive: currentStep >= index,
3081
+ hasLeftLine: !isFirst,
3082
+ hasRightLine: !isLast,
3083
+ children: index + 1
3084
+ }
3085
+ ),
3086
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
3087
+ StepLabel,
3088
+ {
3089
+ orientation,
3090
+ variant,
3091
+ children: step.label
3092
+ }
3093
+ )
3094
+ ] }, index);
3095
+ })
3096
+ }
3097
+ );
3098
+ };
3099
+ MultiStep.displayName = "MultiStep";
3100
+
3101
+ // src/components/Carousel/index.tsx
3102
+ var import_react12 = require("react");
3103
+
3104
+ // src/components/Carousel/styles.ts
3105
+ var CarouselContainer = styled("div", {
3106
+ display: "flex",
3107
+ flexDirection: "column",
3108
+ alignItems: "center",
3109
+ width: "100%",
3110
+ maxWidth: "720px",
3111
+ userSelect: "none"
3112
+ });
3113
+ var Wrapper6 = styled("div", {
3114
+ display: "flex",
3115
+ flexDirection: "column",
3116
+ alignItems: "center",
3117
+ borderRadius: "$md",
3118
+ width: "stretch",
3119
+ padding: "$4",
3120
+ variants: {
3121
+ variant: {
3122
+ gray: {
3123
+ backgroundColor: "$gray_background",
3124
+ boxShadow: "0 1px 2px $colors$gray_dark"
3125
+ },
3126
+ purple: {
3127
+ backgroundColor: "$clickpalm_mid",
3128
+ color: "$white"
3129
+ }
3130
+ }
3131
+ }
3132
+ });
3133
+ var CarouselHeader = styled("div", {
3134
+ display: "flex",
3135
+ justifyContent: "space-between",
3136
+ alignItems: "center",
3137
+ width: "100%"
3138
+ });
3139
+ var Title2 = styled("h3", {
3140
+ fontFamily: "$default",
3141
+ fontWeight: "$bold",
3142
+ fontSize: "$md",
3143
+ margin: "0px",
3144
+ variants: {
3145
+ variant: {
3146
+ gray: {
3147
+ color: "$black"
3148
+ },
3149
+ purple: {
3150
+ color: "$white"
3151
+ }
3152
+ }
3153
+ }
3154
+ });
3155
+ var Navigation = styled("h3", {
3156
+ display: "flex",
3157
+ justifyContent: "center",
3158
+ alignItems: "center",
3159
+ gap: "$1",
3160
+ margin: "0px"
3161
+ });
3162
+ var CarouselContent = styled("div", {
3163
+ width: "100%",
3164
+ overflow: "hidden",
3165
+ position: "relative"
3166
+ });
3167
+ var DotsContainer = styled("div", {
3168
+ display: "flex",
3169
+ alignItems: "center",
3170
+ justifyContent: "center",
3171
+ width: "100%"
3172
+ });
3173
+ var Dots2 = styled("div", {
3174
+ display: "flex",
3175
+ gap: "$2",
3176
+ justifyContent: "center",
3177
+ flexWrap: "nowrap"
3178
+ });
3179
+ var DotButton = styled("button", {
3180
+ border: "2px solid $ignite_light",
3181
+ background: "transparent",
3182
+ height: "9px",
3183
+ width: "9px",
3184
+ borderRadius: "$full",
3185
+ padding: 0,
3186
+ cursor: "pointer",
3187
+ transition: "background-color 0.3s ease, border-color 0.3s ease",
3188
+ flexShrink: 0,
3189
+ variants: {
3190
+ active: {
3191
+ true: {
3192
+ backgroundColor: "$ignite_light",
3193
+ borderColor: "$ignite_light"
3194
+ },
3195
+ false: {}
3196
+ }
3197
+ },
3198
+ "&:focus": {
3199
+ outline: "none",
3200
+ borderColor: "$ignite_dark"
3201
+ }
3202
+ });
3203
+ var CarouselItemContainer = styled("div", {
3204
+ width: "100%"
3205
+ });
3206
+
3207
+ // src/components/Carousel/index.tsx
3208
+ var import_jsx_runtime35 = require("react/jsx-runtime");
3209
+ var SWIPE_THRESHOLD = 50;
3210
+ var Carousel = ({ title, variant, children }) => {
3211
+ const items = import_react12.Children.toArray(children);
3212
+ const [activeIndex, setActiveIndex] = (0, import_react12.useState)(0);
3213
+ const [touchStartX, setTouchStartX] = (0, import_react12.useState)(null);
3214
+ const [touchEndX, setTouchEndX] = (0, import_react12.useState)(null);
3215
+ const prev = () => {
3216
+ setActiveIndex((prevIndex) => prevIndex === 0 ? items.length - 1 : prevIndex - 1);
3217
+ };
3218
+ const next = () => {
3219
+ setActiveIndex((prevIndex) => prevIndex === items.length - 1 ? 0 : prevIndex + 1);
3220
+ };
3221
+ const onTouchStart = (e) => {
3222
+ setTouchEndX(null);
3223
+ setTouchStartX(e.targetTouches[0].clientX);
3224
+ };
3225
+ const onTouchMove = (e) => {
3226
+ setTouchEndX(e.targetTouches[0].clientX);
3227
+ };
3228
+ const onTouchEnd = () => {
3229
+ if (touchStartX !== null && touchEndX !== null) {
3230
+ const distance = touchStartX - touchEndX;
3231
+ if (Math.abs(distance) > SWIPE_THRESHOLD) {
3232
+ if (distance > 0) {
3233
+ next();
3234
+ } else {
3235
+ prev();
3236
+ }
3237
+ }
3238
+ }
3239
+ setTouchStartX(null);
3240
+ setTouchEndX(null);
3241
+ };
3242
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
3243
+ CarouselContainer,
3244
+ {
3245
+ role: "region",
3246
+ "aria-roledescription": "carousel",
3247
+ "aria-label": "Carousel Component",
3248
+ children: [
3249
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Wrapper6, { variant, children: [
3250
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(CarouselHeader, { children: [
3251
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Title2, { children: title }),
3252
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Navigation, { children: [
3253
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3254
+ Button,
3255
+ {
3256
+ size: "sm",
3257
+ variant: "secondary",
3258
+ "aria-label": "Previous Slide",
3259
+ onClick: prev,
3260
+ tabIndex: 0,
3261
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { name: "TriangleLeft", size: 16, color: variant === "purple" ? "white" : "black" })
3262
+ }
3263
+ ),
3264
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3265
+ Button,
3266
+ {
3267
+ size: "sm",
3268
+ variant: "secondary",
3269
+ "aria-label": "Previous Slide",
3270
+ onClick: next,
3271
+ tabIndex: 0,
3272
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Icon, { name: "TriangleRight", size: 16, color: variant === "purple" ? "white" : "black" })
3273
+ }
3274
+ )
3275
+ ] })
3276
+ ] }),
3277
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Spacing, { size: "xs" }),
3278
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Hr, { variant }),
3279
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Spacing, { size: "xs" }),
3280
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3281
+ CarouselContent,
3282
+ {
3283
+ onTouchStart,
3284
+ onTouchMove,
3285
+ onTouchEnd,
3286
+ children: items.map(
3287
+ (child, index) => (0, import_react12.cloneElement)(child, {
3288
+ "aria-hidden": index !== activeIndex,
3289
+ style: {
3290
+ display: index === activeIndex ? "block" : "none"
3291
+ }
3292
+ })
3293
+ )
3294
+ }
3295
+ )
3296
+ ] }),
3297
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Spacing, { size: "md" }),
3298
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DotsContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Dots2, { role: "tablist", "aria-label": "Carousel Pagination", children: items.map((_, idx) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
3299
+ DotButton,
3300
+ {
3301
+ active: idx === activeIndex,
3302
+ "aria-label": `Go to slide ${idx + 1}`,
3303
+ "aria-selected": idx === activeIndex,
3304
+ role: "tab",
3305
+ onClick: () => setActiveIndex(idx),
3306
+ type: "button"
3307
+ },
3308
+ idx
3309
+ )) }) })
3310
+ ]
3311
+ }
3312
+ );
3313
+ };
3314
+ var CarouselItem = ({ children, style, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CarouselItemContainer, { ...props, style: { ...style }, children });
3315
+ Carousel.Item = CarouselItem;
3316
+
3317
+ // src/components/PasswordInput.tsx
3318
+ var import_react13 = require("react");
3319
+ var import_jsx_runtime36 = require("react/jsx-runtime");
3320
+ var PasswordInput = (0, import_react13.forwardRef)(
3321
+ ({ value, onChange, ...props }, ref) => {
3322
+ console.log("\u{1F680} ~ value:", value);
3323
+ const [visible, setVisible] = (0, import_react13.useState)(false);
3324
+ const innerRef = (0, import_react13.useRef)(null);
3325
+ (0, import_react13.useImperativeHandle)(ref, () => innerRef.current);
3326
+ const handleToggleVisibility = () => {
3327
+ setVisible((v) => !v);
3328
+ setTimeout(() => {
3329
+ if (innerRef.current) {
3330
+ const length = innerRef.current.value.length;
3331
+ innerRef.current.setSelectionRange(length, length);
3332
+ }
3333
+ }, 0);
3334
+ };
3335
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3336
+ Input2,
3337
+ {
3338
+ ...props,
3339
+ ref: innerRef,
3340
+ type: visible ? "text" : "password",
3341
+ value,
3342
+ onChange,
3343
+ suffix: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
3344
+ "button",
3345
+ {
3346
+ type: "button",
3347
+ onClick: handleToggleVisibility,
3348
+ onMouseDown: (e) => e.preventDefault(),
3349
+ style: {
3350
+ all: "unset",
3351
+ cursor: "pointer",
3352
+ display: "flex",
3353
+ alignItems: "center",
3354
+ justifyContent: "center"
3355
+ },
3356
+ "aria-label": visible ? "Ocultar senha" : "Mostrar senha",
3357
+ children: visible ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: "EyeClosed", size: 16, color: "black" }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { name: "EyeOpen", size: 16, color: "black" })
3358
+ }
3359
+ )
3360
+ }
3361
+ );
3362
+ }
3363
+ );
3364
+ PasswordInput.displayName = "PasswordInput";
3365
+ // Annotate the CommonJS export names for ESM import in node:
3366
+ 0 && (module.exports = {
3367
+ Avatar,
3368
+ Box,
3369
+ Button,
3370
+ Calendar,
3371
+ Carousel,
3372
+ Checkbox,
3373
+ Datepicker,
3374
+ Heading,
3375
+ Hr,
3376
+ Icon,
3377
+ Input,
3378
+ LabelledValue,
3379
+ Modal,
3380
+ MultiStep,
3381
+ OneTimePassword,
3382
+ PasswordInput,
3383
+ ProgressBar,
3384
+ Radio,
3385
+ Select,
3386
+ Spacing,
3387
+ Span,
3388
+ Switch,
3389
+ Tabs,
3390
+ Text,
3391
+ TextArea,
3392
+ TextAreaElement,
3393
+ Toast,
3394
+ Tooltip,
3395
+ config,
3396
+ createTheme,
3397
+ css,
3398
+ getCssText,
3399
+ globalCss,
3400
+ keyframes,
3401
+ styled,
3402
+ theme,
3403
+ toast
3404
+ });